什么是分枝预测和推测执行技术?
分枝预测(branch prediction)和推测执行(speculation execution)是cpu动态执行技术中的主要内容,动态执行是目前cpu主要采用的先进技术之一。采用分枝预测和动态执行的主要目的是为了提高cpu的运算速度。推测执行是依托于分枝预测基础上的,在分枝预测程序是否分枝后所进行的处理也就是推测执行。
由于程序中的条件分枝是根据程序指令在流水线处理后结果再执行的,所以当cpu等待指令结果时,流水线的前级电路也处于空闲状态等待分枝指令,这样必然出现时钟周期的浪费。如果cpu能在前条指令结果出来之前就能预测到分枝是否转移,那么就可以提前执行相应的指令,这样就避免了流水线的空闲等待,相应也就提高了cpu的运算速度。但另一方面一旦前指令结果出来后证明分枝预测错误,那么就必须将已经装入流水线执行的指令和结果全部清除,然后再装入正确指令重新处理,这样就比不进行分枝预测等待结果后再执行新指令还慢了(所以idt公司的win c6就没有采用分枝预测技术)。这就好象在外科手术中,一个熟练的护士可以根据手术进展情况来判断医生的需要(象分枝预测)提前将手术器械拿在手上(象推测执行)然后按医生要求递给他,这样可以避免等医生说出要什么,再由护士拿起递给他(医生)的等待时间。当然如果护士判断错误,也必须要放下预先拿的器械再重新拿医生需要的递过去。尽管如此,只要护士经验丰富,判断准确率高,那么当然就可以提高手术进行速度。
因此我们可以看出,在以上推测执行时的分枝预测准确性至关重要!所以通过intel公司技术人员的努力,现在的pentium和pentium ⅱ系列cpu的分枝预测正确率分别达到了80%和90%,这样虽然可能会有20%和10%分枝预测错误但平均以后的结果仍然可以提高cpu的运算速度。
Xline源码解读(二)—Lease的机制与实现
SpringBoot项目中使用缓存的正确方法
htc是什么品牌,什么
人类的AI调校计划:像个淑女,或者硬汉
如何从麦克斯韦方程组推出电磁波?
什么是CPU分枝预测和推测执行技术?
怎样在x86 PC和微控制器之间构建和RS485通信网络
AI智简网络,光联集团即将亮相2018华为全联接大会
打击黄牛!华为P10老用户专属购买渠道曝光!
建材行业工业码垛机器人码垛缠膜打包生产线应用
面向“伙伴+华为”体系,华为产品力的变与不变
iPhone8的外观与过去十年的其他iPhone型号外观对比,你会有惊奇的发现
iphone6plus触屏失灵怎么办,不想花钱维修就看看这些秘诀
矿井下氧浓度对人体的影响,浅谈氧气传感器
固态继电器及其基本工作原理图详解
浅谈工业控制系统的安全挑战
触控小家电国产MCU新选择—LKT6850
一种基于标签比例信息的迁移学习算法
头戴式蓝牙耳机大种草!学生党必看!
热水器安全阀的作用