证明CPU指令是乱序执行的

承接上文CPU缓存一致性原理

双击QQ.exe从磁盘加载到内存里面,内存里面就会有了一个进程,进程产生的时候会产生一个主线程,就是main方法所在的线程,cpu会找到main开始的地方,把它的指令读取过来放到程序计数器,把数据放到寄存器,然后ALU开始做计算,一步一步来执行整个程序,这就是普通程序执行的过程。

cpu速度要比内存的速度快100倍,中间有各种各样的缓存,最常见的是三级缓存,由于它的速度非常快,在执行指令的时候也会有一些优化,比如现在有2条指令,一个是mov指令即从内存中读取一个数据到某一个寄存器中,第二个指令是把寄存器中的指令数值加1,如果严格按照前后写的效率执行,会发现它的效率比较低;第一条指令从内存中读数据出来,cpu等待99个时间周期,如果读完第一个指令之后,才可以执行第二个指令的话,cpu将会有99个空档期,所以现在的cpu设计是流水线式的设计(采用流水线式后,并没有加速单条指令的执行,每条指令的操作步骤一个也不能少,只是多条指令的不同操作步骤同时执行,因而从总体上看加快了指令流速度,缩短了程序执行时间),发送一条指令在等待内存数据返回的过程当中&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值