大家好,欢迎来到IT知识分享网。
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内部寄存器中,以便被后续的指令快速地存取;
或被写入相对较慢、较廉价且容量较大的主存。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/165992.html