请考虑以下数据路径图。
考虑一条指令:
R0 ← R1 + R2
以下步骤用于在给定的数据路径上执行它。假定PC已适当增加。下标r和w分别表示读取和写入操作。
- R2 r ,TEMP1 r ,ALU加,TEMP2 w
- R1 r ,温度1 w
- PC R,MAR W,MEM [R
- 温度2 r ,R0 w
- MDR R,IR w ^
以下哪项是上述步骤的正确执行顺序?
(A) 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 ,温度1 w - 直接从R2中读取第二个操作数,并在ALU中处理数据,并将结果存储到TEMP2中:
R2 r ,TEMP1 r ,ALU加,TEMP2 w - 将结果存储到R0中:
温度2 r ,R0 w
选项(C)是正确的。
这个问题的测验