地址:新都镇兴乐北路1288号派都广场A座4楼17号
电话:028-82005799/19938477370
地址:宜宾市翠屏区东街与民主路路口名城商城4楼
电话:028-82005799
地址:雅安市雨城区大地影院2楼
电话:028-82005799/18141378923
地址:乐山市中区老公园总工会5楼(老年大学旁)
电话:028-82005799/18188343237
地址:绵阳市涪城区西南科技大学新区青阳中街14号
电话:028-82005799/17740904611/18111651643
地址:南充市师大路一段210号华府丽都
电话:028-82005799/17719811995
发布日期:2021-07-31 22:39:08 来源:四川中公考研
2. 数据冒险分类
一般情况下,在考试当中,常考的有三种数据冒险:
(1)写后写(WAW)
指令j试图在指令i写入寄存器前就写入该寄存器内容,这样,两次写的先后次序被颠倒,就会错误地使由指令i写入的值成为该寄存器的内容。
(2)读后写(WAR)
指令j试图在指令i读出寄存器前就写入该寄存器内容,这样,指令i就会错误的读出该寄存器中的新内容。
(3)写后读(RAW)
指令j试图在指令i写入寄存器前就读出该寄存器内容,这样,指令j就会错误的读出寄存器中的旧内容。
(三)控制冒险
控制冒险是由指令执行顺序遇到改变而引起的流水线阻塞被称为控制冒险。各类转移指令(包括调用、返回指令等)的执行,以及异常和中断的出现都会改变指令执行顺序,因而都可能会引发控制冒险。如下图1所示。
主要有以下解决控制冒险的方法:
1. 简单预测
简单预测与指令执行历史无关,因此它是一种静态预测方式。可以简单预测分支指令的条件总是不满足或总是满足。对于预测不满足的情况,流水线总是按顺序继续指令分支指令的后续指令,如果在数据通路中检测到实际条件确实不满足时,则预测正确,没有任何时间损失;如果检测到实际条件满足时,则预测不正确,此时将分支指令后续不该执行的指令的控制信号清0,就能保证不会改变指令执行结果,相当于执行了空操作。
2. 动态预测
动态预测的准确率可达90%,现在几乎所有处理器都采用动态预测。它利用分支指令发生转移的历史情况来进行预测,并根据实际执行情况动态调整预测位。
3. 延迟分支
延迟分支采用编译优化来调整指令顺序,把分支指令前与分支指令无关的指令调到分支指令后面执行,以填充延迟损失时间片,不够时用NOP操作填充。因为延迟分支技术通过编译器重排指令顺序来实现,所以它属于静态调度技术。

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用,不涉及商业盈利目的。如涉及版权问题,请联系本站管理员予以更改或删除。
四川中公考研微信
四川中公考研微博