超级流水线(SuperPipeline)又叫做深度流水线,它是提高cpu速度通常采取的一种技术。CPU处理指令是通过Clock来驱动的,每个clock完成一级流水线操作。每个周期所做的操作越少,需要的时间就越短,时间越短,频率就可以提得越高。超级流水线就是将cpu处理指令是得操作进一步细分,增加流水线级数来提高频率。频率高了,当流水线开足马力运行时平均每个周期完成一条指令(单发射情况下),这样cpu处理得速度就提高了。当然,这是理想情况下,一般是流水线级数越多,重叠执行的执行就越多,那么发生竞争冲突得可能性就越大,对流水线性能有一定影响现在很多cpu都是将超标量和超级流水线技术一起使用,例如pentiumIV,流水线达到20级,频率最快已经超过3GHZ。教科书上用于教学的经典MIPS只有5级流水。
流水线的分类:
1、按处理级别分:
功能部件级:在实现较为复杂的运算时采用指令级:将一条指令执行过程分为多个阶段
处理器间级:每个处理器完成其专门的任务。
2、按完成的功能分类:
单功能流水线:只完成一种如乘法或浮点运算等,多用于数字信号处理器(DSP),各处理器可并行完成各自的功能,加快整机处理速度。
多功能流水线:在不同情况下可完成不同功能
3、按连接的方式分类:
静态流水线:同一时间内,多功能结构只能按一种功能的连接方式工作。
动态流水线:同一时间内,可以有多种功能的连接方式同时工作。
4、按处理的数据类型分类:
标量流水线:一般数据
向量流水线:矢量数据。X+Y=Z每一个代表一维数据。
5、流水线结构上分类:
线性流水线:指各功能模块顺序串行连接,无反馈回路,如前面介绍的。
非线性流水线:带有反馈回路的流水线。