在本节中,我们关注流水线加载/存储处理(如加载-使用延迟)的一个重要性能指标。加载-使用延迟的值是加载流水线执行的特征属性。较大的加载-使用值会严重阻碍处理器性能,尤其是在超标量处理器中。加载-使用延迟源于加载-使用依赖关系,这是一种 RAW 依赖关系。如果加载指令的结果无法及时被流水线访问以供后续指令使用,则加载-使用依赖关系会导致加载-使用延迟。加载-使用延迟可以通过静态或动态方式处理。如果静态解析... 阅读更多
FX 流水线可以实现为通用 FX 单元或专用 FX 单元。此外,处理器可以包含单个通用单元或多个通用单元。单个通用 FX 单元所有早期和一些当前设计都采用单个通用 FX 流水线,即单个 FX 单元,如图所示。这里的形容词“通用”指的是执行处理器所有整数和布尔运算的能力。除了 20 世纪 80 年代早期的流水线处理器外,i486、IBM Power1 (RS/6000)、R (4000)、HP 7100、DEC α 21064、PowerPC 601 和 Power603 都有一个单个通用 FX 流水线,因此... 阅读更多
FX 流水线的逻辑布局首先包括指定 FX 流水线有多少个阶段以及在这些阶段中要执行哪些任务。设计空间的另一个关键方面是如何实现 FX 流水线。FX 流水线可以从更广泛和更狭义的角度进行解释。从更广泛的意义上讲,它涵盖了指令获取、解码、执行以及如果需要则回写等完整任务。在这种情况下,它通常也用于执行 L/S 和分支指令,并被称为主流水线。从更狭义的意义上讲,FX... 阅读更多
流水线指令处理涵盖两个关键要素,即指令流水线的规范或逻辑布局和实现。逻辑布局决定了要熟练掌握的任务。它包括要执行的流水线的声明,以及每个流水线的详细规范,包括要实现的子任务及其执行顺序。在当前的处理器中,为每个主要指令类别声明了多个流水线。通常,存在独立的流水线来处理 FX 和逻辑数据(称为 FX 流水线)、FP 数据(FP 流水线)、加载和存储(称为... 阅读更多