CPU 中的控制单元对 IR(指令寄存器)中保存的指令进行解码,但是 CPU 在解码指令后将其存储在哪里(如果有的话)?
答案1
CPU 在解码指令后会将指令存储在哪里(如果有的话)?
无处?
在简单的处理器中,每条要执行的指令都是加载到指令寄存器中,在解码、准备和最终执行期间保存该指令,这可能需要几个步骤。
(重点是我的)
每台计算机的CPU可以根据不同的指令集有不同的周期,但都类似于以下周期:
- 取指令:从程序计数器当前存储的内存地址中取出下一条指令,并将其存储到指令寄存器中。取指令操作结束时,PC 指向下一个周期将读取的下一条指令。
- 解码指令:在此周期内,解码器解释指令寄存器中的编码指令。
- 读取有效地址:对于内存指令(直接或间接),执行阶段将在下一个时钟脉冲期间进行。如果指令具有间接地址,则从主内存读取有效地址,并从主内存中提取任何所需数据进行处理,然后放入数据寄存器(时钟脉冲:T3)。如果指令是直接的,则在此时钟脉冲期间不执行任何操作。如果这是 I/O 指令或寄存器指令,则操作在时钟脉冲期间执行。
- 执行指令:CPU 的控制单元将解码的信息作为控制信号序列传递给 CPU 的相关功能单元,以执行指令所需的操作,例如从寄存器读取值,将其传递给 ALU 以对其执行数学或逻辑函数,并将结果写回寄存器。如果涉及 ALU,它会将条件信号发送回 CU。操作生成的结果存储在主存储器中或发送到输出设备。根据 ALU 的反馈,PC 可能会更新为从中获取下一条指令的不同地址。
然后重复该循环。
来源 指令周期 - 维基百科