处理器处理命令的过程

代码最终被编译器翻译成系统可识别的一条条机器指令,系统对指令操作分为五个过程:
1.取值

从指令存储器中取出指令


2.译码

翻译指令,获取指令中的操作数


3.执行

在处理器的alu(算术逻辑单元)中执行加减乘除


4.访存

读写操作中使用到的存储地址


5.写回

写寄存器


更新PC

更新PC值,让其指向下一条命令地址


例:
假设一条指令的长度为1-6字节,movl的指令码为40
系统中有个寄存器文件,该文件保存着寄存器,而寄存器又是靠寄存器标识来索引,那么这里假设
%esp的寄存器标识符为4,存储的值为128 

%ebx的寄存器标识为3,存储的值为12    


第一列为指令地址 第二列为指令 第三列为汇编格式

0x14     404364000000 movl %esp,100(%ebx)


取值 
0x14-0x15 存储着指令的指令码40,对应着movl
0x15-0x16 寄存器标识43,4为%esp,3为%ebx

0x16-0x1a 存储着立即数,0x00000064,100  


译码

获取两个寄存器中的值%esp为128,%ebx为12


执行

100(%ebx)使用了加法,%ebx+100,即12+100


访存

把值123写入112存储地址


写回

无操作


更新pc
pc=0x1a
上述例子没有对寄存器写,所以写回阶段为空
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值