课程
河南大学计算机与信息工程学院 2016~2017 学年第 2 学期期末考试
河南大学计算机与信息工程学院 2016~2017 学年第 2 学期期末考试
《计算机组成原理》试卷 A 卷
考试方式: 闭卷 考试时间: 120 分钟 卷面总分: 100 分
一、单项选择题(每小题 2 分,共 40 分)
-
系统总线中地址线的功能是 【 】
- A. 选择主存单元地址
- B. 选择进行信息传输的设备
- C. 选择外存地址
- D. 指定主存和 I/O 设备接口电路的地址
正确答案: D
答案解析: 系统总线中的地址线是单向的,用于传输由 CPU 发出的地址信号,以指定 CPU 想要访问的主存单元或 I/O 设备接口电路的物理地址(对应教材第六章内容,参见 P188)。
-
已知 ,采用 32 位 IEEE 754 标准表示 的机器码是 【 】
- A.
C150 0000H - B.
C120 0000H - C.
C1A0 0000H - D.
4266 C000H
正确答案: B
答案解析: 本题考查 32 位 IEEE 754 单精度浮点数表示法(对应教材第二章内容,参见 P18)。 具体步骤如下:
- 真值转换:将十进制数转换成二进制数:。
- 规格化:,其中阶数 。
- 确定 IEEE 754 字段(格式为:1 位符号位 + 8 位阶码 + 23 位尾数 ):
- 符号位 :负数,所以 。
- 阶码 :移码表示,偏置常数为 127,则 。
- 尾数 :规格化后隐藏最高位 1,即取小数点后面的部分:,后面补零至 23 位,即 。
- 组合机器码:
- 二进制形式:
- 十六进制分组:
1100 0001 0010 0000 0000 0000 0000 0000=C120 0000H。
- A.
-
已知大写英文字母 A 的 ASCII 码值为
41H,现字母 F 存放在某个存储单元中,若采用偶校验(假设最高位作为检验位),则该存储单元中存放的十六进制数据是 【 】- A.
46H - B.
C6H - C.
47H - D.
C7H
正确答案: B
答案解析:
- 计算 ASCII 码:英文字母在 ASCII 编码表中是按顺序排列的。“A”为
41H,由于 “F” 是字母表中第 6 个字母(A, B, C, D, E, F),其 ASCII 码值为:41H + 5 = 46H = 0100 0110B。 - 偶校验规则:偶校验要求编码中“1”的个数(包括最高校验位和信息位)为偶数。
在 7 位 ASCII 码
0100 0110B中,已有 3 个“1”(奇数个)。 为了实现偶校验,最高位(校验位)必须设为 1。 因此,加上校验位后的 8 位二进制代码为1100 0110B,对应十六进制为C6H。
- A.
-
下列表述中的浮点数,数值最小的是 【 】
- A. 尾数取最大正值,阶码取最大正值
- B. 尾数取最小负值,阶码取最大正值
- C. 尾数取最大负值,阶码取最小负值
- D. 尾数取最小正值,阶码取最小负值
正确答案: B
答案解析: 本题考查浮点数表示范围与数值大小的判定(对应教材第二章内容,参见 P23)。
- 浮点数的值由尾数和阶码共同决定,一般形式为 。
- 要使浮点数的“数值最小”(即在数轴上最靠左,最接近负无穷),该数必须是负数且绝对值最大。
- 当尾数取最小负值(即绝对值最大的负数,如 或原码中的 )且阶码取最大正值时,该负数的绝对值最大,其对应的数值在代数意义上最小。
-
内存按字节编址,地址从
90000H到CFFFFH。用存储容量为 位的存储器芯片构成该内存,至少需要 【 】 片。- A. 2
- B. 8
- C. 16
- D. 32
正确答案: C
答案解析:
- 计算内存容量:内存按字节编址,每一个地址对应 1 字节(8 位)。从
90000H到CFFFFH的存储单元个数为: - 计算芯片需求量:每片芯片的容量为 位 = 。
所需芯片数 = 内存总容量 / 单个芯片容量 = 。
(注:原卷中地址写作
CEFFFH且解析中出现了218/16K=24的印刷错误,均已修正为正确的 关系)。
-
存储系统三级层次结构中,主存-Cache 层次满足存储系统的 【 】
- A. 大容量要求
- B. 高速度要求
- C. 低价位要求
- D. 低能耗要求
正确答案: B
答案解析: 主存-Cache 层次主要用于解决 CPU 与主存速度不匹配的问题,通过将 CPU 频繁访问的数据放入高速 Cache 中,使得存储系统的平均访问速度接近 Cache 的高速,满足存储系统的“高速度”要求(对应教材第三章第六节,参见 P90)。
-
某计算机主存容量为 ,其中 ROM 区为 ,其余为 RAM 区,按字节编址。现要用 位的 ROM 芯片和 位的 RAM 芯片来设计该存储器,则需要上述规格的 ROM 芯片数和 RAM 芯片数分别是 【 】
- A. 1、15
- B. 2、15
- C. 1、30
- D. 2、30
正确答案: D
答案解析:
- ROM 芯片计算:ROM 区容量为 ,使用 位 = 的 ROM 芯片。 所需 ROM 芯片数 = 片。
- RAM 芯片计算:RAM 区容量为 。使用 位的 RAM 芯片。
- 位扩展:由于芯片数据位宽只有 4 位,而系统为 8 位数据总线,因此需要 2 片芯片并联构成一组。
- 字扩展:RAM 区总容量为 ,每一组提供 容量,因此需要 组。
- 所需 RAM 芯片总数 = 片。
-
在下列因素中,与 Cache 的命中率无关的是 【 】
- A. Cache 块的大小
- B. Cache 块的容量
- C. 主存的存取时间
- D. 都无关
正确答案: C
答案解析: Cache 的命中率与块大小、容量、映射规则以及替换算法等有关。
- 块大小合理增加可利用空间局部性,提高命中率。
- Cache 容量越大,存储的块越多,命中率越高。
- 主存的存取时间是主存本身的物理寻址特性,它会影响缺失时的访问开销,但不影响 Cache 的命中率。
-
某计算机系统指令字长 16 位,若程序顺序寻址时,程序计数器 ,则该系统存储器的存储字长是 【 】
- A. 1 个字节
- B. 2 个字节
- C. 4 个字节
- D. 6 个字节
正确答案: B
答案解析: 本题考查字长、字节与寻址的关系。
- 计算机采用按字节编址(1 字节 = 8 位),每个存储单元大小为 1 字节。
- 指令字长为 16 位(即 2 字节),这意味着一条指令需要占用 2 个连续的存储单元(字节)。
- 在程序顺序寻址时,由于指令长度为 2 字节,为了指向下一条指令的起始地址,程序计数器 PC 必须增加 2。
- 存储器的存储字长通常设计为与指令字长一致(以便于单次访存取出一条完整指令)。因此该系统的存储字长为 16 位,即 2 个字节。
-
设相对寻址的转移指令占两个字节,第一个字节是操作码,第二个字节是相对位移量(用补码表示)。每当 CPU 从存储器取出第一个字节时,即自动完成 。若当前 PC 的内容为
2008H,要求转移到2000H,则该转移指令第二个字节的内容应该是 【 】- A.
08H - B.
09H - C.
F6H - D.
F7H
正确答案: C
答案解析:
- 分析取指过程中的 PC 变化:
- 该转移指令占 2 个字节。
- CPU 取出第一个字节(操作码)时,PC 自动加 1,变为
2008H + 1 = 2009H。 - CPU 取出第二个字节(相对位移量)时,PC 再次自动加 1,变为
2009H + 1 = 200AH。此时 PC 指向下一条指令的地址。
- 利用相对寻址公式计算位移量:
相对寻址的计算公式为:。
代入数据:
2000H = 200AH + Displacement。 因此:Displacement = 2000H - 200AH = -10(十进制)。 - 计算补码:
将十进制数 转换为 8 位补码:
- 。
- 的原码为 ,反码为 ,补码为 。
所以该转移指令第二个字节的内容应该是
F6H。
- A.
-
兼容性微命令指几个微命令是 【 】
- A. 可以相继出现
- B. 可以同时出现
- C. 可以相互替代
- D. 可以相互容错
正确答案: B
答案解析: 在微程序控制器中,兼容性微命令是指在同一个微周期内可以同时产生、共同控制不同的微操作、可以同时出现的微命令。与之相反,互斥性微命令是指在同一个微周期内不能同时出现的微命令。
-
在微程序控制器中,执行指令微程序的首条微指令地址是通过 【 】 得到的。
- A. 程序计数器(PC)
- B. 前条微指令
- C.
- D. 指令操作码映射
正确答案: D
答案解析: 在微程序控制器中,执行指令微程序的首条微指令地址是由指令寄存器(IR)中的操作码(Opcode)译码并映射,通过专门的硬件产生,从而转入对应的微指令执行周期。
-
某工作站采用的时钟频率 为 ,处理速率为 的处理机来执行一个已知混合程序。假定每次存储器存取为 1 个周期延迟,试问此计算机的有效 CPI 是多少? 【 】
- A. 1
- B. 1.5
- C. 2
- D. 2.5
正确答案: B
答案解析: 指令的平均时钟周期数 。 已知处理机的时钟频率 为 ,即每秒有 个时钟周期。处理速率为 ,即每秒处理 条指令。 因此,此计算机的有效 。
-
某 CPU 主频为 ,采用 5 级指令流水线,每个流水段的执行需要 1 个时钟周期。CPU 执行 96 条指令,若不考虑流水线阻塞,则此时流水线的吞吐率为 【 】
- A. 条指令/秒
- B. 条指令/秒
- C. 条指令/秒
- D. 条指令/秒
正确答案: B
答案解析: 采用 5 级流水线执行 96 条指令,在无阻塞的情况下共需要:
CPU 主频为 ,即每秒有 个时钟周期。 所以,流水线的吞吐率为:
-
假设某系统总线时钟频率为 ,一个总线周期可并行传输 4 字节信息,占用 2 个总线时钟周期,则该总线带宽是 【 】
- A.
- B.
- C.
- D.
正确答案: B
答案解析: 总线时钟周期为 。 一个总线周期占用 2 个总线时钟周期,即总线周期时间为 。 一个总线周期可并行传输 4 字节的数据。 因此,总线带宽为:
- 在集中式总线控制中,响应时间最快的是 【 】
- A. 链式查询
- B. 计数器查询
- C. 独立请求
- D. 分组链式查询
正确答案: C
答案解析: 在集中式总线判优控制的三种常见方式中:
- 链式查询(菊花链):控制线数量最少(3根),优先级由物理连接决定,但信号需要串行传递,响应速度最慢。
- 计数器定时查询:通过计数器寻址,响应速度中等。
- 独立请求:每个部件都有独立的总线请求和允许线,总线控制器直接响应并排队,响应时间最快。
- 磁盘的盘面上有很多半径不同的同心圆,这些同心圆称为 【 】
- A. 扇区
- B. 磁道
- C. 柱面
- D. 磁表面
正确答案: B
答案解析: 磁盘盘面上被划分为许多半径不同的同心圆以用于存储数据,这些同心圆称为磁道(Tracks)。
- CPU 响应中断的时间是 【 】
- A. 外设提出中断
- B. 任一机器周期结束
- C. 一条指令结束
- D. 取指周期结束
正确答案: C
答案解析: 为了保证正在执行的指令的完整性,CPU 仅在一条指令执行周期结束时检测并响应外部发来的中断请求。
- 某计算机有 4 级中断,优先级从高到低为 。若将优先级顺序修改,改后 1 级中断的屏蔽字为
1011,2 级中断的屏蔽字为1111,3 级中断的屏蔽字为0011,4 级中断的屏蔽字为0001,则修改后的优先次序是 【 】
- A.
- B.
- C.
- D.
正确答案: C
答案解析: 中断屏蔽字中,某一位为 1 表示屏蔽对应级别的中断。屏蔽字中 1 的个数越多,说明其屏蔽的中断级别越多,优先级越高。
- 2 级中断的屏蔽字为
1111,屏蔽所有中断,优先级最高。 - 1 级中断的屏蔽字为
1011,屏蔽了 1、3、4 级,优先级次之。 - 3 级中断的屏蔽字为
0011,屏蔽了 3、4 级,优先级排第三。 - 4 级中断的屏蔽字为
0001,只屏蔽了自身,优先级最低。 因此,修改后的优先顺序为:。
- DMA 方式在 【 】 之间建立一条直接数据通路。
- A. I/O 设备和主存
- B. 两个 I/O 设备
- C. I/O 设备和 CPU
- D. CPU 和主存
正确答案: A
答案解析: DMA(Direct Memory Access,直接内存访问)方式是一种无需 CPU 介入、直接在外部设备与主存储器之间进行高速数据传输的控制方式,在两者之间开辟了一条直接数据通路。
二、计算题(每小题 6 分,共 30 分)
-
已知 和 ,用变形补码计算 和 ,并判断结果是否溢出。
解答:
-
求操作数的变形补码表示(双符号位,正数符号为
00,负数符号为11):- 是正数,所以:
- 是负数,求其变形补码(数值部分取反加 1):
- 进一步求 :
-
计算 : 使用变形补码加法公式 :
运算结果的双符号位为
00,表示没有溢出,且结果为正数。 其真值为: -
计算 : 使用变形补码减法公式 :
运算结果的双符号位为
00,表示没有溢出,且结果为正数。 其真值为:
结论:
- 的变形补码为 ,真值为 ,未发生溢出。
- 的变形补码为 ,真值为 ,未发生溢出。
-
-
设 CPU 有 16 根地址线,8 根数据线,用 作访存控制信号(低电平有效)。现有下列芯片:
- 位 RAM
- 位 RAM
- 位 RAM
- 位 ROM
- 位 ROM
- 位 ROM 及 74LS138 译码器等电路。 要求主存地址空间满足:最小 8K 为系统程序区,与其相邻的 16K 地址为用户程序区。 试指出所需芯片的种类及片数,并写出每个芯片的地址范围(使用十六进制数表示)。
解答:
-
芯片选择与片数计算:
- 系统程序区:
- 容量需求: 的只读存储(ROM)。
- 芯片选择:为了使芯片片数最少,选用 1 片 位的 ROM 芯片(容量为 ,与系统数据线 8 位对齐,无须位扩展)。
- 用户程序区:
- 容量需求:相邻的 的随机读写存储(RAM)。
- 芯片选择:为了使芯片片数最少,选用 2 片 位的 RAM 芯片(每片容量 ,共 ,字扩展)。
- 系统程序区:
-
划分地址范围:
- 系统程序区为最小 8K,地址空间应从
0000H开始:- 起始地址:
0000H - 结束地址:
0000H + 8K - 1 = 0000H + 1FFFH = 1FFFH
- 起始地址:
- 用户程序区与其相邻,地址空间紧接系统程序区,即从
2000H开始,共计 16K:- 第一片 RAM 起始地址:
2000H - 第一片 RAM 结束地址:
2000H + 8K - 1 = 2000H + 1FFFH = 3FFFH - 第二片 RAM 起始地址:
4000H - 第二片 RAM 结束地址:
4000H + 8K - 1 = 4000H + 1FFFH = 5FFFH
- 第一片 RAM 起始地址:
- 系统程序区为最小 8K,地址空间应从
-
芯片配置与地址分配汇总:
- 1 片 ROM:地址范围为
0000H ~ 1FFFH。 - 第一片 RAM:地址范围为
2000H ~ 3FFFH。 - 第二片 RAM:地址范围为
4000H ~ 5FFFH。
- 1 片 ROM:地址范围为
-
译码与选通逻辑说明:
- 由于所有芯片的容量均为 (需 13 根地址线 进行片内寻址),故译码器 74LS138 输入端接 CPU 的高位地址线 :
- 当 (对应地址
0000H ~ 1FFFH)时,74LS138 的 输出有效,选通 ROM 芯片。 - 当 (对应地址
2000H ~ 3FFFH)时,74LS138 的 输出有效,选通 第一片 RAM。 - 当 (对应地址
4000H ~ 5FFFH)时,74LS138 的 输出有效,选通 第二片 RAM。
- 当 (对应地址
- 由于所有芯片的容量均为 (需 13 根地址线 进行片内寻址),故译码器 74LS138 输入端接 CPU 的高位地址线 :
-
某机主存容量为 位,且存储字长等于指令字长。若该机指令系统可完成 30 种操作,操作码位数固定,且具有直接、间接、变址、相对和立即 5 种寻址方式。试回答: (1) 画出一地址指令指令格式,并指出各字段的作用。 (2) 若寻址方式为立即数寻址,请写出立即数的范围(用十进制表示,并写出推导过程)。
解答:
-
(1) 一地址指令格式设计:
- 指令总字长:由于存储字长等于指令字长,主存容量为 位,所以存储字长为 16 位,即指令字长为 16 位。
- 操作码字段(OP):系统可完成 30 种操作,采用固定长度操作码,则操作码位数应满足 ,因此 OP 占 5 位(能表示 32 种操作状态)。
- 寻址方式字段(M):具有 5 种寻址方式,则寻址字段位数应满足 ,因此 M 占 3 位(能表示 8 种寻址状态)。
- 形式地址字段(A):剩余的位数分配给形式地址字段:
一地址指令格式图示:
+-------------------+-------------------+-------------------+ | OP (5位) | M (3位) | A (8位) | +-------------------+-------------------+-------------------+- 各字段作用:
- OP (操作码):指明该指令要执行的操作类型(如加、减、传送等)。
- M (寻址方式):指明操作数地址的形成方式,本题中用来区分直接、间接、变址、相对和立即寻址。
- A (形式地址):在非立即数寻址中,给出源操作数的地址信息或地址偏移量;在立即数寻址中,直接存放操作数本身。
-
(2) 立即数寻址时的立即数范围: 在立即数寻址方式下,形式地址字段 A(占 8 位)直接存放立即数。
- 若立即数为无符号整数:
- 范围为 ,即 。
- 若立即数为带符号整数(补码表示):
- 范围为 ,即 。
- 若立即数为无符号整数:
-
-
某总线在一个总线周期中并行传送 4 个字节的数据,假设一个总线周期等于一个时钟周期,总线时钟频率为 33MHz,总线带宽是多少?如果总线周期中并行传送 64 位数据,总线时钟频率升为 66MHz,问总线带宽是多少?
解答: 总线带宽(Bus Bandwidth)是指单位时间内总线上能够传输的最大数据量,计算公式为:
-
第一种情况:
- 并行传送的数据量 = 4 字节 (Byte)。
- 总线时钟频率 = 。由于一个总线周期等于一个时钟周期,总线工作频率也为 。
- 计算总线带宽:
-
第二种情况:
- 并行传送的数据量 = 64 位 = 字节 (Byte)。
- 总线时钟频率升为 ,此时总线工作频率也为 。
- 计算总线带宽:
结论:
- 原总线带宽为 。
- 改进后的总线带宽为 。
-
-
已知某磁盘组共有 8 个盘片,盘片存储区域内径 10cm,外径 30cm,道密度为 40 道/cm,内层位密度 400 位/cm。试计算该磁盘组的总存储容量。请写出具体的计算过程。
解答:
-
计算单面磁道数 (T):
- 盘片存储区域的外半径为 。
- 盘片存储区域的内半径为 。
- 有效记录区域宽度为 。
- 道密度为 。
- 每面磁道数:
-
计算单道信息量 (C_t):
- 磁盘存储中,每个磁道记录的二进制信息量是相同的,其容量由最内圈磁道的长度和位密度决定。
- 最内圈磁道的周长为:
- 内层位密度为 。
- 单个磁道的信息容量:
-
计算磁盘组的总记录容量(按 8 个盘片共有 16 个记录面计算):
转换为字节(Byte)表示:
(注:若不使用磁盘组最外侧的 2 个保护面,只用 14 个记录面,则总容量为:)。
-
三、简答题(本题共 1 小题,共 5 分)
高速缓存 Cache 的常用替换策略有最不经常使用(LFU)算法和近期最少使用(LRU)算法。试说明这两种替换策略的替换方式及特点。
解答:
- 最不经常使用(LFU, Least Frequently Used)算法:
- 替换方式:为每个 Cache 块设置一个计数器。每当某块被访问时,该块的计数器加 1。当需要替换时,选择当前**访问次数最少(计数器值最小)**的块进行替换,并将新调入块的计数器清零重新计数。
- 特点:侧重于反映一段时间内块的访问频度。但如果一个块在前期被频繁访问,计数器值变得非常大,而后期不再使用,该块就会长时间滞留在 Cache 中无法被替换,产生“积累效应”。
- 近期最少使用(LRU, Least Recently Used)算法:
- 替换方式:为每个 Cache 块记录自上次被访问以来所经历的时间。当需要替换时,选择近期最长时间未被访问的块进行替换。
- 特点:基于程序访问的时间局部性(即最近访问过的块在不久的将来极有可能再次被访问)。LRU 算法能很好地保护刚被访问过的块,命中率通常较高,是目前应用最广泛的替换策略,但硬件实现比 LFU 更为复杂。
四、综合分析题(本题共 2 小题,共 25 分)
-
某系统的存储器为 1MB,每字块为 32B,存储字长为 8 位,若 Cache 为 16KB,采用字节编址方式。 (1) 采用直接映射,主存地址格式是什么?请指出该主存地址每一构成部分的位数。(4 分) (2) 采用 16 路组相联映射,主存地址格式是什么?Cache 地址格式是什么?请指出地址每一构成部分的位数。(4 分) (3) 采用直接映射时,若地址为
2A3CFH的主存块要调入 Cache 中,在 Cache 中的地址是什么?请写出具体的计算过程。(4 分)解答:
- 主存容量 = ,由于按字节编址,主存地址线宽度为 20 位。
- 块大小(字块大小)= ,因此块内地址(字地址)占 5 位。
- Cache 容量 = ,Cache 块数 = 。
(1) 直接映射主存地址格式:
- 块内地址(Offset):5 位。
- Cache 块号(Index): 位。
- 主存字块标记(Tag): 位。
- 主存地址格式:
Tag (主存字块标记) Index (Cache字块地址) Offset (块内地址) 6 位 9 位 5 位
(2) 16 路组相联映射地址格式:
- 采用 16 路组相联映射,Cache 被分成组,每组包含 16 块。
- Cache 组数 = 。
- 组号(Set Index): 位。
- 块内地址(Offset):5 位。
- 主存字块标记(Tag): 位。
- 主存地址格式:
Tag (主存字块标记) Set Index (组号地址) Offset (块内地址) 10 位 5 位 5 位 - Cache 地址格式(Cache 容量为 ,Cache 地址共 14 位):
- 组号(Set Index):5 位。
- 组内块号(Block Index in Set): 位。
- 块内地址(Offset):5 位。
- Cache 地址格式:
Set Index (组号) Block Index (组内块号) Offset (块内地址) 5 位 4 位 5 位
(3) 计算主存块调入 Cache 后的地址(直接映射):
- 将主存地址转换为二进制:
主存地址为
2A3CFH,其 20 位二进制形式为:0010 1010 0011 1100 1111B。 - 按直接映射格式划分地址:
- 高 6 位为 Tag:
001010B - 中间 9 位为 Index (Cache字块地址):
100011110B(即十六进制11EH= 十进制 286) - 低 5 位为 Offset (块内地址):
01111B
- 高 6 位为 Tag:
- 确定 Cache 地址:
在直接映射下,主存块被调入 Cache 中对应的块号为 Index =
100011110B。 该主存块中数据调入 Cache 后的地址由 Cache 块号和块内偏移拼接构成: 二进制形式:100011110 01111B=10 0011 1100 1111B。 转换为十六进制:23CFH。 答:调入 Cache 中的地址为23CFH(对应 Cache 中第 286 块的第 15 字节)。
-
设有一运算器通路如图 1 所示(一般单总线结构),假设操作数 a 和 b(均为补码)已分别放在通用寄存器 R1 和 R2 中,ALU 有 +、-、M(传送)三种操作功能,其中“-”操作为 A-B。 (1) 指出互斥性微命令和兼容性微命令。(5 分) (2) 画出计算 的微程序流程图,问执行周期需要几条微指令?(3 分)
解答: (1) 互斥性微命令与兼容性微命令说明:
- 互斥性微命令:指在同一个微周期内不能同时产生、硬件上互斥执行的控制信号。
- 例如:各寄存器的输出控制信号(如 与 、 与 )。在单总线结构中,不能有两个或以上的寄存器同时向总线输出数据,否则会引起总线冲突。
- 例如:ALU 的操作选择信号(如加法控制信号与减法控制信号是互斥的)。
- 兼容性微命令:指在同一个微周期内可以同时产生、共同控制不同的独立微操作的控制信号。
- 例如:一个寄存器输出到总线的同时,多个寄存器可以同时从总线上接收该数据(如 与 (暂存器)、 兼容,可以同时进行)。
- 例如:ALU 进行运算的同时,控制暂存器打入或总线数据传输。
(2) 计算 的微操作与流程设计(按标准单总线结构分析): 为了计算 并写入寄存器 R2:
- 将 R1 中的操作数 送入 ALU 的暂存器 A(第 1 条微指令)。
- 将 R2 中的操作数 送入 ALU 的另一端输入(如暂存器 B,或在单总线中保持送上总线)(第 2 条微指令)。
- 控制 ALU 执行相加运算,所得结果通过移位器右移一位(以实现除以 2 操作),并将移位器输出送回总线,打入寄存器 R2(第 3 条微指令)。
微程序流程图:
+------------------------------------+ | 开始 | +------------------------------------+ | v +------------------------------------+ | 微指令 1: | | R1(out) -> 总线 -> A(in) | +------------------------------------+ | v +------------------------------------+ | 微指令 2: | | R2(out) -> 总线 -> B(in) | +------------------------------------+ | v +------------------------------------+ | 微指令 3: | | ALU执行加法运算 (A + B) | | 移位器执行右移 (SR) | | 移位器输出 -> 总线 -> R2(in) | +------------------------------------+ | v +------------------------------------+ | 进入下条指令 | +------------------------------------+执行周期需要几条微指令: 在单总线结构下,该操作的执行周期一共需要 3 条微指令。 (注:若datapath为双总线结构,则 与 可并行完成,共需 2 条微指令;若为三总线结构,则可在 1 条微指令内完成。本解答以最通用、基础的单总线结构作答)。
- 互斥性微命令:指在同一个微周期内不能同时产生、硬件上互斥执行的控制信号。













