课本典型例题汇总
本文档整理了《计算机组成与系统结构(微课版)》教材中的典型例题,涵盖了数据的机器表示、指令系统、运算方法、存储器、CPU及I/O系统等核心考点。
第二章 数据的机器层次表示
2-3
设机器数的字长为8位(含1位符号位),分别写出下列各二进制数的原码、补码和反码:
- 0
- -0
- 0.1000
- -0.1000
- 0.1111
- -0.1111
- 1101
- -1101
解析
方法: 正数三码合一;负数反码为原码数值位取反,补码为反码+1。
详细答案:
: : : : : : (整数): (整数):
注意: 整数和小数的表示格式不同,整数用逗号分隔符号位和数值位,小数用小数点。
2-4
写出下列各数的原码、补码和反码:
- 7/16
- 4/16
- 1/16
- ±0
- -1/16
- -4/16
- -7/16
解析
方法: 先转二进制。
详细答案(8位):
: : : : 或 或 : : :
2-9
若将第2-8题中的
注:2-8题背景为
,涉及 或 等条件判断。
解析
补码判断条件: 若
分析: 由于补码负数越小(绝对值越大)值越小,
具体条件:
: ,且 不全为0 : ,且 : ,或 但 且其他条件
注意: 补码比原码在负数方向多表示一个值(
2-10
一个n位字长的二进制定点整数,其中1位为符号位,分别写出在补码和反码两种情况下,下列各情况的表示:
- 模数
- 最大的正数
- 最负的数
- 符号位的权
- -1的表示形式
- 0的表示形式
解析
补码情况:
- 模数:
(整数) - 最大的正数:
(如8位为127) - 最负的数:
(如8位为-128) - 符号位的权:
(符号位为1时表示负数) - -1的表示形式: 全1(如8位为11111111)
- 0的表示形式: 全0(唯一表示)
反码情况:
- 模数:
(整数) - 最大的正数:
- 最负的数:
(如8位为-127) - 符号位的权:
- -1的表示形式:
(除符号位外全1) - 0的表示形式:
(+0)或 (-0),有两种表示
2-11
某计算机字长为16位,简述下列几种情况下所能表示数值的范围:
- 无符号整数
- 用原码表示定点小数
- 用补码表示定点小数
- 用原码表示定点整数
- 用补码表示定点整数
解析
16位字长表示范围:
无符号整数:
用原码表示定点小数:
,即 用补码表示定点小数:
,即 用原码表示定点整数:
,即 用补码表示定点整数:
,即
注意: 补码比原码在负数方向多表示一个值(定点整数多表示-32768,定点小数多表示-1.0)。
2-16
某浮点数字长为12位,其中,阶符1位,阶码部分3位;数符1位,尾数部分7位。阶码以2为底,阶码和尾数均用补码表示。它所能表示的最大正数是多少?最小规格化正数是多少?绝对值最大的负数是多少?
解析
浮点数格式: 12位 = 阶符1位 + 阶码3位 + 数符1位 + 尾数7位
阶码(3位补码): 范围
- 最大正阶码:
- 最小负阶码:
尾数(7位补码): 范围
- 最大正尾数:
- 最小正规格化尾数:
- 绝对值最大的负尾数:
(补码表示)
计算结果:
最大正数: 最大正尾数
最小规格化正数: 最小正规格化尾数
绝对值最大的负数: 绝对值最大的负尾数
2-18
一浮点数,其阶码部分为p位,尾数部分为q位,各包含1位符号位,均用补码表示;尾数基数r=2,该浮点数格式所能表示数的上限、下限及非零的最小正数是多少?写出表达式。
解析
上限(最大正数):
下限(最小负数,绝对值最大):
非零的最小正数:
其中:
- 阶码数值位有
位,补码范围: - 尾数数值位有
位,补码范围:
2-20
试将
解析
IEEE 754短浮点数格式: 32位 = 符号位1位 + 阶码8位 + 尾数23位
步骤:
二进制转换:
(规格化) 符号位:
(负数) 阶码计算:
- 指数 =
- 阶码
- 指数 =
尾数:
(去掉小数点前的1,共23位,后面补0)
最终结果:
- 二进制:
1 01111110 10100000000000000000000 - 十六进制:
(分组:1011 1111 0101 0000 0000 0000 0000 0000)
验证:
2-27
已知下面数据块约定横向校验、纵向校验均为奇校验,指出至少有多少位出错。
注:题目提供了一个8×4的数据矩阵及对应的校验位列表。
解析
原理: 奇校验要求数据中"1"的个数为奇数。若行/列校验同时发现不符,交叉点即为错位。
方法:
- 检查每行的横向校验位,找出不符合奇校验的行
- 检查每列的纵向校验位,找出不符合奇校验的列
- 出错位在不符合的行和列的交叉点
- 至少出错位数 = 不符合的行数(或列数,取较大值)
如果只有1行和1列不符合,则至少1位出错;如果多行多列不符合,需要具体分析交叉点。
第三章 指令系统
3-3
某计算机为定长指令字结构,指令长度为16位,每个操作数的地址码占6位,指令分为无操作数、单操作数和双操作数3类。若双操作数指令已有K种、无操作数指令已有L种,现问单操作数指令最多可能有多少种?
解析
解析: 16位指令,地址码 6位×2 = 12位。剩余4位做操作码,最多16种。若双操作数已用 K 种,则单操作数可选范围需根据"操作码扩展技术"计算:
详细步骤:
- 双操作数指令:操作码4位,地址码12位(6位×2)
- 若双操作数指令有K种,占用K个4位操作码
- 剩余
个4位操作码可用于扩展 - 单操作数指令:操作码需要扩展,用
个状态 + 6位地址码 = 种 - 无操作数指令:在单操作数指令基础上继续扩展,用剩余状态 + 6位 = L种
因此,单操作数指令最多有
3-4
设某计算机为定长指令字结构,指令长度为12位,每个地址码占3位,试提出一种分配方案,使该指令系统包含4条三地址指令、8条二地址指令、180条单地址指令。
解析
关键: 短操作码不能是长操作码的前缀。
方案:
- 3位操作码前 4个状态(000-011)给三地址指令
- 剩下状态
个状态(100-111)扩展用于二地址指令 - 二地址指令需要8条,用4个状态扩展:4×8=32种可能,但只需要8条,用其中8种
- 剩余状态继续扩展用于单地址指令:需要180条,用剩余状态扩展
具体分配:
- 三地址:操作码3位(000-011),地址码9位(3位×3)
- 二地址:操作码6位(100xxx-111xxx,其中前3位为100-111),地址码6位(3位×2)
- 单地址:操作码9位(在二地址基础上继续扩展),地址码3位
3-10
某计算机字长为16位,主存容量为64K字,采用单字长单地址指令,共有64条指令。试说明:
- 若只采用直接寻址方式,指令能访问多少个主存单元?
- 若增加一位直接/间接标志,寻址范围如何?
- 采用页面寻址方式(增加Z/C位)的效果。
解析
16位字长,
分析:
- 单字长指令:16位
- 64条指令:操作码需要6位(
) - 剩余位数:16-6=10位用于地址
(1) 直接寻址: 地址字段10位,可访问
(2) 增加直接/间接标志:
- 直接寻址:10位地址,访问1K单元
- 间接寻址:10位地址指向的单元内容(16位)作为有效地址,可访问全部64K单元
(3) 页面寻址:
- Z/C位用于选择页号或页内地址
- 可以扩大寻址范围,例如用部分地址位作为页号,剩余作为页内地址
3-13
计算下列4条指令的有效地址(指令长度为16位):
- 000000Q
- 100000Q
- 170710Q
- 012305Q
假设:采用八进制,最左边是间址位@,主存容量
,并给出了具体主存单元内容表。
解析
数据背景(主存单元内容,八进制):
- (0) = 100002
- (1) = 046710
- (2) = 054304
- (3) = 100000
- (5) = 100001
规则: 八进制指令最高位为1表示间访(@),最高位为0表示直访。多级间址时,若单元内容最高位为1继续间访,为0则终止。
具体计算:
000000Q:
- 最高位为0,直接寻址
100000Q:
- 最高位为1,间访0号单元
- 查(0)内容为100002,最高位为1,继续间访2号单元
- 查(2)内容为054304,最高位为0,终止
170710Q:
- 最高位为1,间访70710号单元
- 需要查该单元内容,根据最高位判断是否继续间访
- (具体计算需根据题目给出的主存内容表)
012305Q:
- 最高位为0,直接寻址
关键点: 多级间址需要逐级查找,直到找到最高位为0的单元内容作为最终有效地址。
3-14
假定某计算机的指令格式包括间址位、变址寄存器位、页选位及地址码A,计算在给定PC、I1、I2内容下的有效地址。
解析
有效地址计算需要考虑多种寻址方式的组合:
- 直接寻址: EA = A
- 间接寻址: EA = (A)
- 变址寻址: EA = (变址寄存器) + A
- 页面寻址: EA = (页寄存器) || A(页内地址拼接)
组合情况:
- 间址位=0,变址位=0:直接寻址
- 间址位=1,变址位=0:间接寻址
- 间址位=0,变址位=1:变址寻址
- 间址位=1,变址位=1:先变址后间址或先间址后变址(需看题目规定)
- 页选位:决定是否使用页面寻址
需要根据题目给出的PC、I1、I2的具体内容来计算。
3-18
设相对寻址的转移指令占两字节,第一字节是操作码,第二字节是相对位移量(补码)。当前指令地址为2000H,计算执行JMP *+8和JMP *-9时,第二字节内容及目的地址。
解析
相对寻址公式:
指令格式: 双字节指令,第一字节操作码,第二字节相对位移量(补码)
当前指令地址: PC = 2000H
*JMP +8:
- 取出指令后,PC = 2002H(PC + 2)
- 目标地址 = 2002H + 0008H = 200AH
- 位移量 = 08H(正数,补码与原码相同)
*JMP -9:
- 取出指令后,PC = 2002H
- 目标地址 = 2002H - 0009H = 1FF9H
- 位移量
的补码计算: - 补码:取反加1 =
验证:
注意: 相对寻址的位移量是相对于下一条指令地址(PC+指令长度)的偏移,用补码表示。
第四章 运算方法和运算器
4-6
已知X=0.1011, Y=-0.0101,求:
解析
位移运算:
求反运算:
具体计算:
, (-0.0101的补码) (右移1位,符号位扩展) (右移2位) (取反加1) (符号位1扩展) (符号位1扩展) (取反加1)
4-8
分别用原码乘法和补码乘法计算X×Y:
- X=0.11011, Y=-0.11111
- X=-0.11010, Y=-0.01110
解析
题目1: X=0.11011, Y=-0.11111
原码乘法:
- 符号位:
(负数) - 数值位相乘:
- 手算过程:逐位相乘并累加
- 结果:
- 最终结果:
(符号位 + 数值位)
补码乘法(Booth算法):
, (-0.11111的补码) - 在乘数末位补0:
- 部分积初值为0
- 根据
判断: :部分积 - (即 + ),然后右移 :部分积右移 - 继续按规则进行...
- 最终得到补码乘积
题目2: X=-0.11010, Y=-0.01110
- 原码乘法:符号位
(正数),数值位相乘 - 补码乘法:按Booth算法逐步计算
注意: Booth算法可以处理负数乘法,避免符号位单独处理。
4-9 (2)(4)
分别用原码加减交替法和补码加减交替法计算X÷Y:
- (2) X=-0.10101, Y=0.11011
- (4) X=-0.10110, Y=-0.11011
解析
题目(2): X=-0.10101, Y=0.11011
原码加减交替法:
- 符号位:
(负数) - 数值位:
, - 运算过程:
- 第一步:
(需要借位,结果为负) - 余数为负,商0,余数左移后加
- 余数为正,商1,余数左移后减
- 重复n次(n为尾数位数)
- 第一步:
- 最终:商 =
(符号位1),余数符号 = 被除数符号
补码加减交替法:
, - 根据余数与除数符号:
- 同号:商1,余数左移后减除数
- 异号:商0,余数左移后加除数
- 重复n次
- 最后一步:余数不左移,根据符号调整商
题目(4): X=-0.10110, Y=-0.11011
- 原码:符号位
(正数) - 补码:
, ,按补码除法规则计算
注意: 加减交替法避免了恢复余数法的复杂判断,效率更高。
4-11 (1)
按照浮点数的运算规则计算:
- X=
- Y=
求X+Y, X-Y。
解析
题目: X=
X+Y计算:
- 对阶: Y的阶码小(100 < 101),Y的尾数右移1位,阶码+1
- Y →
- Y →
- 尾数相加:
- 结果溢出(绝对值≥1),需要右规
- 规格化: 右规,尾数右移1位,阶码+1
- 结果:
- 结果:
- 舍入: 根据舍入规则处理
- 溢出判断: 检查阶码是否溢出
X-Y计算:
- 对阶: Y →
- 尾数相减:
- 结果需要左规(尾数绝对值 < 0.5)
- 规格化: 左规,尾数左移,阶码减相应值
- 左移3位:
,阶码减3 - 结果:
- 左移3位:
- 舍入和溢出判断
注意: 浮点运算必须经过对阶、尾数运算、规格化、舍入、溢出判断五个步骤。
第五章 主存储器
5-13
现有1024×1位的存储芯片,用它组成容量为16K×8位的存储器。求:
- 所需芯片数量
- 若分装在4K×8位的板上,地址线如何分配(选板、选片、片内地址)
解析
(1) 所需芯片数量:
- 总容量:
位 - 芯片容量:
位 - 芯片数 =
片
(2) 地址线分配(分装在4K×8位的板上):
- 总容量16K需要14根地址线(
) - 每板4K×8位,需要
块板 - 每板内:
组,每组8片(位扩展,1位→8位)
地址分配方案:
(10根): 片内地址(1K = ) (2根): 片选译码(选板内4组中的1组,每组8片并行) (2根): 板选译码(选4块板中的1块)
连接方式:
- 每块板:32片芯片(4组×8片)
- 板内:
经2-4译码器选组 - 板间:
经2-4译码器选板 - 数据线:每组8片并行,形成8位数据总线
5-14
已知某计算机字长8位,地址线16位,使用1K×4位SRAM芯片组成最大主存空间,每块模板4K×8位,求模板数并画出连接逻辑图。
解析
最大主存空间:
每块模板: 4K×8位
模板数: 64K/4K = 16块模板
每块模板内芯片数:
- 需要4K×8位
- 芯片1K×4位
- 位扩展:8/4 = 2片一组(位扩展)
- 字扩展:4K/1K = 4组
- 每块模板需要:2×4 = 8片
地址分配:
:片内地址(1K) :片选(4组) :板选(16块板)
连接逻辑: 需要地址译码器、数据总线、控制信号等。
5-16
利用2K×1位ROM、4K×1位RAM、8K×1位ROM组成16KB存储器(前4KB为ROM,后12KB为RAM),求芯片数量并画出逻辑图。
解析
解析: 前4KB地址 0000H-0FFFH 归 ROM,后12KB归 RAM。需用高位地址线(如
ROM部分(4KB):
- 需要4KB = 4K×8位
- 可用2K×1位ROM:需要8片位扩展,2组字扩展 = 16片
- 或8K×1位ROM:需要8片位扩展,但8K>4K,需要地址限制
RAM部分(12KB):
- 需要12KB = 12K×8位
- 用4K×1位RAM:需要8片位扩展,3组字扩展 = 24片
地址分配:
- ROM:0000H-0FFFH(
片内, 选ROM) - RAM:1000H-3FFFH(
片内, 选RAM组, 选RAM区)
5-17
用16K×1位DRAM构成64KB存储器。
- 画出结构框图
- 若读写周期0.5μs,选合理的刷新方式,计算刷新间隔和总刷新时间
解析
(1) 结构框图:
- 64KB = 64K×8位
- 芯片:16K×1位
- 芯片数 =
片 - 结构:8片一组位扩展(1位→8位),4组字扩展(16K→64K)
(2) 刷新方式选择:
- 集中刷新: 有死时间,不适合实时系统
- 分散刷新: 每个读写周期后刷新一行,无死时间但速度慢
- 异步刷新(推荐): 刷新周期/行数 = 两次刷新的间隔
异步刷新计算:
- DRAM刷新周期:
- 16K DRAM通常为128行矩阵(
) - 刷新间隔:
- 即每
产生一次刷新请求
- 即每
- 总刷新时间:
(假设刷新一行需要0.5μs)
刷新安排:
- 在2ms内分散刷新128行
- 每
刷新一行 - 不影响正常读写操作(异步进行)
注意: 具体行数需要根据DRAM规格确定,常见的有128行、256行等。
5-18
8位机单总线结构,地址16位,设计主存:
- 0-8191为系统ROM
- 8192-32767为用户区
- 最后2K为工作区
从给定芯片规格中选型并画出框图。
解析
地址分配:
- 系统ROM:0000H-1FFFH(8K = 8192字节)
- 用户区:2000H-7FFFH(24K = 24576字节,地址8192-32767)
- 工作区:最后2K,即F800H-FFFFH(2K = 2048字节)
设计要点:
- 需要ROM芯片实现系统区
- 需要RAM芯片实现用户区和工作区
- 地址译码:用高位地址线区分不同区域
- 单总线结构:地址总线、数据总线、控制总线共享
地址译码:
:片内地址(8K需要13位) :区域选择 - 000-001:系统ROM(可能需要多片)
- 010-111:用户RAM
- 1111 1xxx:工作区(
)
需要根据题目给出的芯片规格选择合适的芯片。
第七章 中央处理器
7-7
以一条典型的单地址指令为例,简要说明PC、IR、ALU、MDR、MAR在计算机取指周期和执行周期中的作用。
解析
PC(程序计数器): 存放下一条指令地址。
IR(指令寄存器): 存放当前指令。
MAR(存储器地址寄存器): 内存地址缓冲,存放要访问的内存地址。
MDR(存储器数据寄存器): 内存数据缓冲,存放从内存读出或要写入内存的数据。
ALU(算术逻辑单元): 执行算术和逻辑运算。
取指周期:
- PC → MAR(将指令地址送MAR)
- 内存 → MDR(从内存读出指令)
- MDR → IR(指令送IR)
- PC+1 → PC(PC自增)
执行周期(以ADD指令为例):
- IR地址字段 → MAR(取操作数地址)
- 内存 → MDR(读出操作数)
- MDR → ALU,ACC → ALU(操作数送ALU)
- ALU运算 → ACC(结果送累加器)
7-8
指令和数据都存放在主存,如何识别从主存中取出的是指令还是数据?
解析
结论: 靠时间段和控制信号区分。在取指周期中从内存读出的是指令(送往 IR);在执行周期中从内存读出的是数据(送往 ALU 或寄存器)。这是通过控制单元(CU)在不同时间发出的控制信号来区分的。
具体说明:
取指周期:
- PC提供地址 → MAR
- 从内存取出的内容 → MDR → IR
- 此时取出的是指令,由控制单元识别
执行周期:
- IR的地址字段提供地址 → MAR
- 从内存取出的内容 → MDR → ALU或寄存器
- 此时取出的是数据,用于运算或存储
关键点:
- 指令和数据在内存中无法区分(都是二进制代码)
- 通过时间(取指周期 vs 执行周期)和控制信号(CU发出的不同控制信号)来区分
- 取指周期:地址来自PC,内容送IR,控制信号为"取指"
- 执行周期:地址来自IR的地址字段,内容送运算部件,控制信号为"执行"
本质: 同一内存单元的内容,在不同时间、不同控制信号下,被解释为指令或数据。
7-12
针对某计算机主要部件图:
- 补充连接线
- 写出指令ADD (R1), (R2)+ 的执行过程(含取指及自增型寄存器间址处理)
解析
指令含义: ADD (R1), (R2)+
- (R1):R1的内容作为地址,该地址的内容作为源操作数
- (R2)+:R2的内容作为地址,该地址的内容作为目的操作数,然后R2自增
取指周期:
- PC → MAR
- Read, M(MAR) → MDR
- MDR → IR
- PC+1 → PC
执行周期:
- R1 → MAR(R1内容作为地址)
- Read, M(MAR) → MDR(取源操作数)
- MDR → 暂存器(保存源操作数)
- R2 → MAR(R2内容作为地址)
- Read, M(MAR) → MDR(取目的操作数)
- MDR → ALU, 暂存器 → ALU(两操作数送ALU)
- ALU运算 → MDR(结果送MDR)
- MDR → M(MAR)(写回目的地址)
- R2+1 → R2(R2自增)
连接线: 需要PC→MAR、MAR→地址总线、数据总线→MDR、MDR→IR、R1/R2→MAR、ALU→MDR等。
7-19
某计算机有8条微指令I1-I8,含有10种微命令a-j,已知每条微指令包含的微命令情况表,请安排操作控制字段格式(字段编码法)并代码化。
解析
字段编码法: 将互斥的微命令编在同一小组,经译码后发出。
方法: 将10个微命令
步骤:
- 分析微命令的互斥性: 找出不能同时出现的微命令(互斥组)
- 根据题目给出的微指令包含的微命令情况表,分析哪些微命令互斥
- 分组示例:
- 段1(
):互斥的3个微命令 - 段2(
):互斥的3个微命令 - 段3(
):互斥的4个微命令
- 段1(
- 计算位数: 每组需要的位数 =
(+1表示"不发命令"状态) - 段1:
位(00空, 01a, 10b, 11c) - 段2:
位(00空, 01d, 10e, 11f) - 段3:
位(000空, 001g, 010h, 011i, 100j)
- 段1:
- 代码化: 为每个微命令分配编码,通常全0表示不发命令
总位数:
注意: 必须留出一个状态(通常是全0)表示"不发出任何命令"。如果有7个互斥的微命令,需要3位(
第八章 总线与输入/输出系统
8-2
假定某同步总线在一个时钟周期内传送一个4B的数据,总线时钟频率为33MHz,求总线带宽。若总线宽改为64位,频率改为66MHz且一个周期传两次,带宽提高多少倍?
解析
总线带宽公式:
(1) 初始带宽计算:
- 总线时钟频率:33MHz
- 数据宽度:4B(每个时钟周期传送4B)
(2) 提高后带宽计算:
- 总线宽度:64位 = 8B
- 总线频率:66MHz
- 传输方式:一个时钟周期传两次(双倍传输)
(3) 带宽提高倍数:
- 提高倍数 =
倍
详细分析:
- 宽度提高:
倍 - 频率提高:
倍 - 传输次数提高:
倍(每个周期传2次) - 总提高:
倍
验证:
8-13
程序查询方式、程序中断方式、DMA方式各自适用什么范围?并判断一些关于它们相互替代的结论是否正确。
解析
程序查询: CPU踏步等待,效率低。
- 适用: 低速设备,数据量小,实时性要求不高的场合
- 特点: CPU利用率低,实现简单
中断: CPU与I/O并行。
- 适用: 中低速设备,数据量中等,需要CPU处理的场合
- 特点: CPU可以执行其他程序,响应速度较快
DMA: 直接内存存取,不经过CPU,适合高速大批量数据。
- 适用: 高速设备,大批量数据传输,如磁盘、网络等
- 特点: CPU利用率高,传输速度快,但需要DMA控制器
相互替代:
- 程序查询可以被中断方式替代(提高效率)
- 中断方式可以被DMA方式替代(进一步提高效率)
- 但DMA不能完全替代中断(中断还用于异常处理、实时响应等)
8-21
设某机有5级中断L0-L4,响应优先次序为L0最高。要求将中断处理次序改为L1→L3→L0→L4→L2:
- 设置各级屏蔽码
- 画出5级同时请求时的进入处理过程图
解析
目标处理顺序: L1 > L3 > L0 > L4 > L2(L1优先级最高)
屏蔽码规则: 若1为屏蔽,0为允许(不屏蔽),则:
- 对自己和比自己优先级高的设为0(允许打断)
- 对自己和比自己优先级低的设为1(屏蔽)
注意: 题目中屏蔽码的定义可能不同,需根据题目说明。以下按"1为屏蔽,0为允许"的常见定义:
各级屏蔽码设置:
L1的屏蔽字:
11111(最高优先级,屏蔽所有,包括自己)- L1=1, L3=1, L0=1, L4=1, L2=1
- 或按另一种定义:L1=0(允许自己),L3=1, L0=1, L4=1, L2=1
L3的屏蔽字:
01010(允许L1打断,屏蔽L0、L4、L2)- L1=0, L3=0(允许自己),L0=1, L4=1, L2=1
L0的屏蔽字:
01010(允许L1、L3打断,屏蔽L4、L2)- L1=0, L3=0, L0=0(允许自己),L4=1, L2=1
L4的屏蔽字:
01000(允许L1、L3、L0打断,屏蔽L2)- L1=0, L3=0, L0=0, L4=0(允许自己),L2=1
L2的屏蔽字:
00000(最低优先级,允许所有打断)- L1=0, L3=0, L0=0, L4=0, L2=0(允许自己)
处理过程(5级同时请求):
- 响应L0(响应优先级最高,L0 > L1 > L2 > L3 > L4)
- 进入L0处理,但L0屏蔽码允许L1、L3,所以L1可以打断L0
- L1处理(最高处理优先级)
- L1处理完后,继续L0
- L0处理完后,处理L3
- 依次处理L4、L2
关键点: 响应优先级和处理优先级可以不同,通过屏蔽码实现不同的处理顺序。
说明
本文档整理了教材中的典型例题,供复习参考使用。建议结合教材和课件进行练习,掌握各类题型的解题方法。
📌 重点复习建议
根据历年考试情况,以下题目在考试中出现率极高,需要重点掌握:
核心大题(必考)
3-13(地址变换 - 多级间址)
- 掌握多级间址的计算方法
- 理解间址位的判断规则
- 能够根据主存内容表计算有效地址
5-13(存储器扩展)
- 掌握芯片数量的计算
- 理解地址线的分配方法(片内、片选、板选)
- 能够设计存储器的连接方案
8-21(中断优先级 - 屏蔽码设置)
- 理解响应优先级和处理优先级的区别
- 掌握屏蔽码的设置规则
- 能够根据处理顺序设置各级屏蔽码
重要计算题
- 2-20(IEEE 754转换):浮点数格式转换,步骤必须完整
- 4-8、4-9(乘除法):原码和补码乘除法的计算过程
- 4-11(浮点运算):对阶、尾数运算、规格化的完整步骤
- 5-17(DRAM刷新):刷新方式的选择和计算
复习策略
- 理解原理:先理解基本概念和原理,再做题
- 步骤完整:计算题必须写出完整步骤,特别是IEEE 754转换
- 多练习:重点题目需要反复练习,确保熟练掌握
- 查漏补缺:结合教材和课件,补充题目中未给出的具体数值和表格