重要知识点与结论
考点分析:在基本指令流水线的阻塞概念中数据冒险(最常考)、控制冒险(考频中等)、结构冒险(考频中等),累加起来计算在真题中出现的次数属于高频,一定要认真学习掌握,记住以下内容和结论。
-
结构冒险也叫资源冲突,指多条指令在同一时刻争用同一资源;
解决方法:
- 增加资源
- 让后一个指令暂停一个周期等待资源可用
- 单独设置数据存储器和指令存储器。
-
数据冒险指的是下一条指令用到了当前指令的计算结果但是当前指令结果还没有产生。分为三种:写后读、读后写、写后写
在按序流动的流水线中,只可能出现写后读的情况。
解决方法:
- 数据旁路技术
- 编译优化调整指令顺序
-
控制冒险指的是转移或异常改变了指令的流程,顺序执行指令在目标地址产生前已经被取出(主要来自于时间偏差问题)
解决方法:对转移指令进行预测,分为静态和动态预测。
其中动态预测成功率高,静态预测每次预测结构一样且如果预测错误,必须把错误的指令舍弃。
题目
讲解笔记
视频讲解链接:
指令流水线的阻塞概念梳理