计算机体系结构中的线性和非线性流水线处理器有什么区别?

线性流水线处理器

线性流水线是一种将任何顺序流程分解为有限子流程的方法,这些子流程彼此分离,以便每个子流程都可以在唯一的专用段中实现,并且所有这些段同时工作。因此,整个功能被划分为单独的任务,这些子任务由一个段来实现。

计算机体系结构中流水线的概念对应于技术装配线。由于市场上有制造、包装和交货等多个部门,产品由制造部门制造,而由包装部门包装的新产品则由制造部门制造。

对于具有以下功能的系统,可以有效地执行流水线操作 -

  • 系统持续执行一项基本功能。

  • 一个基本的功能应该可以分成不同的阶段,这样每个阶段都有一个基本的重叠。

  • 各个阶段的难度必须几乎相同。

非线性流水线处理器

控制转移是非线性的。除了简化连接之外,动态管道还支持前馈和反馈连接。动态流水线可以从多个预留表一起启动任务,以启用同一流水线中多个功能的多次启动。

线性流水线非线性管道
Linear pipelines are static pipelines because they can be used to implement fixed functions.
非线性流水线是动态流水线,因为它们可以被重构以多次实现可变函数。
Linear pipeline enables only streamline connections.
除了流线型连接之外,非线性管道还支持前馈和反馈连接。
It is associatively easy to subdivide a given function into a series of linearly ordered sub-functions.
功能分区是关联复杂的,因为除了简化连接之外,流水线阶段还与循环互连。
The output of the pipeline is produced from the previous stage.
管道的输出本质上不是从前一阶段产生的。
The reservation table is trivial in the sense that data flows in a linear streamline.
从数据流没有线性流线的意义上说,保留表是重要的。
Static pipelining is determined by a single Reservation table.
动态流水线由多个 Reservation 表定义。
All initiations to a static pipeline use the same reservation table.
动态管道可以允许多个启动遵循保留表的混合。