厂商 :惠州荣大工业设备有限公司
广东 惠州- 主营产品:
- 输送线
- 货架
- 生产线
联系电话 :13226305532
商品详细描述
流水线设计就是将组合逻辑系统地分割,并在各个部分(分级)
惠州飞机拉之间插入寄存器,并暂存中间数据的方法。
目的是提高数据吞吐率(提高处理速度)。
流水线缩短了在一个时钟周期内给的那个信号必须通过的通路长度,从而可以提高时钟频
率。惠州飞机拉例如:一个2级组合逻辑,假定每级延迟相同为Tpd,
在一个流水线系统中,
如果第二条指令需要用到第一条指令的结果,
这种情况叫做相关。
以上面那个5级流水线为例,当第二条指令需要取操作数时,第一条指令的运算还没有完
成,如果这时第二条指令就去取操作数,就会得到错误的结果。所以,这时整条流水线不得
不停顿下来,等待第一条指令的完成。惠州飞机拉这是很讨厌的问题,特别是对于比较长的流水线,比
如20级,这种停顿通常要损失十几个时钟周期。目前解决这个问题的方法是乱序执行。乱
序执行的原理是在两条相关指令中插入不相关的指令,使整条流水线顺畅。
比如上面的例子中,开始执行第一条指令后直接开始执行第三条指令(假设第三条指令不相关)
,然后才开始执行第二条指令,这样当第二条指令需要取操作数时第一条指令刚好完成,
而且第三条指令也快要完成了,惠州飞机拉整条流水线不会停顿。当然,流水线的阻塞现象还是不能完全避免的,尤
其是当相关指令非常多的时候。
另一个大问题是条件转移。
在上面的例子中,如果第一条指令是一个条件转移指令,惠州飞机拉那么系统就会不清楚下面应该执行那一条指令?这时就必须等
第一条指令的判断结果出来才能执行第二条指令。惠州飞机拉条件转移所造成的流水线停顿甚至比相关还要严重的多。
所以,现在采用分支预测技术来处理转移问题。虽然我们的程序中充满着分支,而且哪一条分支都是有可能的,
但大多数情况下总是选择某一分支。比如一个循环的末尾是一个分支,惠州飞机拉除了最后一次我们需要跳出循环外,
其他的时候我们总是选择继续循环这条分支。根据这些原理,分支预测技术可以在没有得到结果之前预测下一条指令是什么,
并执行它。现在的分支预测技术能够达到90%以上的正确率,但是,惠州飞机拉一旦预测错误,CPU仍然不得不清理整条流水线并回到分支点。
这将损失大量的时钟周期。所以,进一步提高分支预测的准确率也是正在研究的一个课题。
1.无流水线的总延迟就是2Tpd,可以在一个时钟周期完成,但是时钟周期受限制在2Tpd;
2.
流水线:每一级加入寄存器(延迟为Tco)后,单级的延迟为Tpd Tco,每级消耗一个时钟周期,
流水线需要2个时钟周期来获得第一个计算结果,称为首次延迟,它要2*(Tpd Tco),
但是执行重复操作时,只要一个时钟周期来获得最后的计算结果,称为吞吐延迟(Tpd Tco);
可见只要Tco小于Tpd,惠州飞机拉流水线就可以提高速度。
推论:增加流水线长度可以节省更多延迟,流水线越长,首次延迟越大,如果
流水线反复启动,则会损失速度。
实现流水线的代价:
1.
消耗寄存器-就是消耗硅片面积(想想20级流水线的某著名CPU吧)
2.
流水线长则消耗更多时钟周期。(如果流水线反复启动,惠州飞机拉则会损失速度,想想某CPU著名的高频率低效能吧)
惠州飞机拉之间插入寄存器,并暂存中间数据的方法。
目的是提高数据吞吐率(提高处理速度)。
流水线缩短了在一个时钟周期内给的那个信号必须通过的通路长度,从而可以提高时钟频
率。惠州飞机拉例如:一个2级组合逻辑,假定每级延迟相同为Tpd,
在一个流水线系统中,
如果第二条指令需要用到第一条指令的结果,
这种情况叫做相关。
以上面那个5级流水线为例,当第二条指令需要取操作数时,第一条指令的运算还没有完
成,如果这时第二条指令就去取操作数,就会得到错误的结果。所以,这时整条流水线不得
不停顿下来,等待第一条指令的完成。惠州飞机拉这是很讨厌的问题,特别是对于比较长的流水线,比
如20级,这种停顿通常要损失十几个时钟周期。目前解决这个问题的方法是乱序执行。乱
序执行的原理是在两条相关指令中插入不相关的指令,使整条流水线顺畅。
比如上面的例子中,开始执行第一条指令后直接开始执行第三条指令(假设第三条指令不相关)
,然后才开始执行第二条指令,这样当第二条指令需要取操作数时第一条指令刚好完成,
而且第三条指令也快要完成了,惠州飞机拉整条流水线不会停顿。当然,流水线的阻塞现象还是不能完全避免的,尤
其是当相关指令非常多的时候。
另一个大问题是条件转移。
在上面的例子中,如果第一条指令是一个条件转移指令,惠州飞机拉那么系统就会不清楚下面应该执行那一条指令?这时就必须等
第一条指令的判断结果出来才能执行第二条指令。惠州飞机拉条件转移所造成的流水线停顿甚至比相关还要严重的多。
所以,现在采用分支预测技术来处理转移问题。虽然我们的程序中充满着分支,而且哪一条分支都是有可能的,
但大多数情况下总是选择某一分支。比如一个循环的末尾是一个分支,惠州飞机拉除了最后一次我们需要跳出循环外,
其他的时候我们总是选择继续循环这条分支。根据这些原理,分支预测技术可以在没有得到结果之前预测下一条指令是什么,
并执行它。现在的分支预测技术能够达到90%以上的正确率,但是,惠州飞机拉一旦预测错误,CPU仍然不得不清理整条流水线并回到分支点。
这将损失大量的时钟周期。所以,进一步提高分支预测的准确率也是正在研究的一个课题。
1.无流水线的总延迟就是2Tpd,可以在一个时钟周期完成,但是时钟周期受限制在2Tpd;
2.
流水线:每一级加入寄存器(延迟为Tco)后,单级的延迟为Tpd Tco,每级消耗一个时钟周期,
流水线需要2个时钟周期来获得第一个计算结果,称为首次延迟,它要2*(Tpd Tco),
但是执行重复操作时,只要一个时钟周期来获得最后的计算结果,称为吞吐延迟(Tpd Tco);
可见只要Tco小于Tpd,惠州飞机拉流水线就可以提高速度。
推论:增加流水线长度可以节省更多延迟,流水线越长,首次延迟越大,如果
流水线反复启动,则会损失速度。
实现流水线的代价:
1.
消耗寄存器-就是消耗硅片面积(想想20级流水线的某著名CPU吧)
2.
流水线长则消耗更多时钟周期。(如果流水线反复启动,惠州飞机拉则会损失速度,想想某CPU著名的高频率低效能吧)
相关产品推荐