我试图了解如何在微操作中编写获取周期,以便 CPU 获取 32 位的 CALL 指令。
MAR is 16 bits wide
MDR is 8 bits wide
PC is 16 bits wide
IR is 16 bits wide
Temp registers are 16 bits wide
我的问题源于指令是 32 位的事实,高 16 位代表操作码,低 16 位代表我们要跳转到的目标地址。
获取周期是这样的:
MAR <- PC
MDR <- M(MAR)
IR <- MDR opcode
MAR <- MDR address
PC <- PC + 1
由于 MDR 只有 8 位宽,我们如何调整这个获取周期以考虑整个操作码和每个 16 位宽的地址?