前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

CPU执行指令的过程和步骤

qiguaw 2024-11-18 16:06:18 资源文章 25 ℃ 0 评论

CPU 的内部由寄存器、控制器、运算器和时钟等部分组成。

CPU执行指令主要有 5 个阶段:取指令、指令译码、执行指令、访存取数、结果写回

取指令阶段

取指令(Instruction Fetch,IF):将一条指令从主存中读取到指令寄存器(Instruction Register, IR)的过程。

在程序开始执行前,必须将它的起始地址,即程序的第一条指令所在的内存单元地址送入程序计数器,程序计数器 PC 中的数值,保存了下一条要执行的指令的内存地址。

当一条指令被取出后,PC 中的数值将根据指令字长度而自动递增:若为单字长指令,则(PC)+1->PC;若为双字长指令,则(PC)+2->PC,依此类推。

指令译码阶段

指令译码(Instruction Decode,ID):指令译码器按照预定的指令格式,对取回的指令进行拆分和解释,识别区分出不同的指令类别以及各种获取操作数的方法。

指令由操作码和地址码组成。操作码表示要执行的操作性质,即执行什么操作;地址码是操作码执行时的操作对象的内存地址。

执行指令阶段

执行指令(Execute,EX):完成指令所规定的各种操作,具体实现指令的功能。

这些功能可能包括算术运算、逻辑运算、数据传输等。相关运算单元有:算术逻辑单元(ALU)、浮点运算单元(FPU)等

例如,要完成一个加法运算,算术逻辑单元 ALU 将被启用,输入端提供需要相加的数值,输出端将含有最后的运算结果。

访存取数阶段

访存取数阶段(Memory Access):根据指令需要,有可能要访问主存,读取操作数用于运算。

CPU会将内存地址发送到内存控制器,读取数据并存储到指定的寄存器中。

结果写回阶段

结果写回(Writeback,WB):把执行指令阶段的运行结果数据“写回”到某种存储形式:

或写到CPU内部寄存器中,以便被后续的指令快速地存取;

或被写入相对较慢、较廉价且容量较大的主存。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表