我希望你能帮我翻译一下,如果 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位宽度?