2022-43
某 CPU 中部分数据通路如题 43 图所示,其中,GPRs 为通用寄存器组;FR 为标志寄存器,用于存放 ALU 产生的标志信息;带箭头虚线表示控制信号,如控制信号 Read、Write 分别表示主存读、主存写,MDRin 表示内部总线上数据写入 MDR,MDRout 表示 MDR 的内容送内部总线。

请回答下列问题。
1)设 ALU 的输入端 A、B 及输出端 F 的最高位分别为 A15、B15 及 F15,FR 中的符号标志和溢出标志分别为 SF 和 OF,则 SF 的逻辑表达式是什么?A 加 B、A 减 B 时 OF 的逻辑表达式分别是什么?要求逻辑表达式的输入变量为 A15、B15 及 F15。
2)为什么要设置暂存器 Y 和 Z?
3)若 GPRs 的输入端 rs、rd 分别为所读、写的通用寄存器的编号,则 GPRs 中最多有多少个通用寄存器?rs 和 rd 来自图中的哪个寄存器?已知 GPRs 内部有一个地址译码器和一个多路选择器,rd 应连接地址译码器还是多路选择器?
4)取指令阶段(不考虑 PC 增量操作)的控制信号序列是什么?若从发出主存读命令到主存读出数据并传送到 MDR 共需 5 个时钟周期,则取指令阶段至少需要几个时钟周期?
5)图中控制信号由什么部件产生?图中哪些寄存器的输出信号会连到该部件的输入端?
(1)SF=F15。
- 加法:OF=A15 · B15 · F15 + A15 · B15 · F15
- 减法:OF=A15 · B15 · F15 + A15 · B15 · F15
(2)单总线同一时刻只能传送一个数据。Y 用于暂存 ALU 的一个输入,Z 用于暂存 ALU 的输出,等待总线空闲后再送出。
(3)rs、rd 均为 4 位,因此最多有 16 个通用寄存器;二者来自 IR;rd 应连接地址译码器。
(4)控制信号序列:
PCout, MARinReadMDRout, IRin
三个步骤分别需 1、5、1 个时钟周期,取指阶段至少需 7 个时钟周期。
(5)控制信号由控制部件 CU 产生;IR 和 FR 的输出信号连接到 CU 的输入端。