指令流水线
维基百科,自由的 encyclopedia
指令流水线(英语:Instruction pipeline)是为了让计算机和其它数字电子设备能够加速指令的通过速度(单位时间内被执行的指令数量)而设计的技术。
此条目需要精通或熟悉计算机科学的编者参与及协助编辑。 (2010年7月31日) |
此条目没有列出任何参考或来源。 (2022年8月2日) |
流水线在处理器的内部被组织成层级,各个层级的流水线能半独立地单独运作。每一个层级都被管理并且链接到一条“链”,因而每个层级的输出被送到其它层级直至任务完成。 处理器的这种组织方式能使总体的处理时间显著缩短。
未流水线的架构产生的效率低,因为有些CPU的模块在其他模块执行时是闲置的。流水线虽并不会完全消除CPU的闲置时间,但是能够让这些模块并发运作而大幅提升程序执行的效率。差不多有些类似流水线工厂的概念。
但并不是所有的指令都是独立的。在一条简单的流水线中,完成一个指令可能需要5层。如右图所示,要在最佳性能下运算,当第一个指令被执行时,这个流水线需要运行随后4条独立的指令。可是,如果随后4条指令依赖于第一条指令的输出,流水线控制逻辑器,就必须插入延迟主频周期到流水线内,直到依赖被满足。而转发技术能显著减少延时。凭借多个层,虽然流水线在理论上能提高性能,优胜于无流水线的内核(假设主频也因应层的数量按比例增加),但事实上,许多脚本设计中并不会考虑到理想的执行。