考虑一个简单的非仿制CPU的以下数据路径。寄存器A,B,A1,A2,MDR,总线和ALU为8位宽。 SP和MAR是16位寄存器。 MUX的大小为8×(2:1),DEMUX的大小为8×(1:2)。每个存储器操作占用2个CPU时钟周期,并使用MAR(存储器地址寄存器)和MDR(存储器日期寄存器)。 SP可以在本地递减。
CPU指令“ push r”(其中= A或B)具有规范
M [SP]
执行“ push r”指令需要多少个CPU时钟周期?
(A) 1
(B) 3
(C) 4
(D) 5答案: (B)
说明:推“ r”包括以下操作:
M [SP]!R
SP!SP-1
“ r”当前存储在地址堆栈指针处的内存中,此过程需要2个时钟周期
SP然后递减以指向堆栈的下一个顶部
所以总周期= 3
所以(B)是正确的选择
这个问题的测验