每次计算必定是一个闭环的过程,有取就会有放回
1. 取指(Instruction Fetch)
指令取指:将指令从存储器中读取出来的过程。
2. 译码(Instruction Decode)
指令译码:将取出来的指令翻译的过程,经过译码以后,得到指令需要的操作数寄存器索引。可以通过此索引从通用寄存器组中将操作数读出。
3. 执行(Instruction Execute)
指令译码后,所需要进行的计算类型都已得知,并且已经从通用寄存器组中读取出所需的操作数,接下来就是指令执行,是指对指令进行真正运算的过程。
在执行阶段最常见的部件就是 **算数逻辑部件运算器(Arithmetic Logical Unit,ALU)**作为实施具体运算的硬件功能单元。
4. 访存(Memory Access)
存储器访问指令往往是指令集中最重要的指令类型之一,访存是指存储器访问指令将数据从存储器读出或写入的过程。
5. 写回(Write-Back)
写回是指将指令执行的结果写回通用寄存器组的过程。如果是普通运算指令,该结果是来自“执行”阶段的计算结果;如果是存储器读指令,则该结果是来自于“访存”阶段从存储器读取出来的数据。