-
指令流水 编辑
指令流水是指为提高处理器执行指令的效率,把一条指令的操作分成多个细小的步骤,每个步骤由专门的电路完成。
例如一条指令要执行要经过3个阶段:取指令、译码、执行;每个阶段都要花费一个时钟周期,如果没有采用流水线技术,那么这条指令执行需要3个时钟周期;如果采用了指令流水线技术,那么当这条指令完成“取指”后进入“译码”的同时,下一条指令就可以进行“取指”了,这样就提高的指令的执行效率。
然而在实际流水中会出现三种相关:资源相关、数据相关、控制相关,这三个相关使流水线充分流水很难实现。
资源相关
资源相关是指当指令在重叠执行过程中,不同指令争用同一功能部件产生资源冲突时产生的。
通常,大多数机器都是将指令和数据保存在同一存储器中,且只有一个访问口,如果在某个时钟周期内,流水线既要完成某条指令对操作数的存储器访问操作,又要完成另一条指令的取指操作,这就会发生访存冲突。这就是结构相关。
解决访存冲突的一个办法停顿,另一种是设置两个独立的存储器分别存放操作数和指令,以免取指令和取操作数冲突。
数据相关
数据相关是指令在流水线中重叠执行时,当后继指令需要用到前面的指令产生的结果时发生的。
控制相关
控制相关是当流水线遇到转移指令引起的。统计表明,转移指令约占总指令的四分之一左右,比起数据相关,它会使流水线丧失更多的功能。
1、本站所有文本、信息、视频文件等,仅代表本站观点或作者本人观点,请网友谨慎参考使用。
2、本站信息均为作者提供和网友推荐收集整理而来,仅供学习和研究使用。
3、对任何由于使用本站内容而引起的诉讼、纠纷,本站不承担任何责任。
4、如有侵犯你版权的,请来信(邮箱:baike52199@gmail.com)指出,核实后,本站将立即删除。