考虑以下数据路径图。
考虑一个指令:
R0 ← R1 + R2
以下步骤用于在给定的数据路径上执行它。假设 PC 适当增加。下标 r 和 w 分别表示读和写操作。
- R2 r , TEMP1 r , ALU添加, TEMP2 w
- R1 r , TEMP1 w
- PC r , MAR w , MEM r
- 温度 2 r , R0 w
- MDR R,IR w ^
以下哪一项是上述步骤的正确执行顺序?
(一) 2, 1, 4, 5, 3
(B) 1、2、4、3、5
(C) 3、5、2、1、4
(D) 3, 5, 1, 2, 4答案: (C)
解释:
- 通过 MAR 将地址发送到内存:
PC r , MAR w , MEM r - 通过 MBR 将操作码从内存读入 IR:
MDR R,IR w ^ - 将第一个操作数发送到 Temp1(ALU):
R1 r , TEMP1 w - 直接从 R2 读取第二个操作数并处理 ALU 中的数据并将结果存储到 TEMP2:
R2 r , TEMP1 r , ALU添加, TEMP2 w - 将结果存入 R0:
温度 2 r , R0 w
选项(C)是正确的。
这个问题的测验