货架缓冲区的布局是什么?


货架缓冲区主要包含三个方面:使用的缓冲区类型和容量,以及读写端口的数量,如下图所示。

货架缓冲区的类型

货架缓冲区主要分为两种:独立式货架缓冲区和组合式缓冲区,后者用于货架、重命名和重新排序,如下图所示。

在大多数情况下,货架缓冲区实现为独立式货架缓冲区,即专门用于货架的缓冲区。这种类型的货架缓冲区通常被称为预留站。在超标量处理器中,预留站使用三种基本方案执行,如下图所示。

最简单的情况下,在每个执行单元 (EU) 的开头使用**独立预留站**。因此,计划在特定 EU 中执行的指令首先被共享到该 EU 之前的相关预留站中。独立预留站支持足够的空间来仅影响少量指令,例如 2 到 4 条。

另一种方法是将预留站作为**组站**执行。因此,同一个预留站保存一组 EU 的指令,这些 EU 执行类似类型的指令。例如,R10000 有三个组站,其中一个服务于两个 FX-ALU,另一个服务于一个地址单元,而第三个服务于四个浮点单元。

最后一种方法是使用**中央预留站**服务所有 EU。中央站需要比组站更大的容量。此外,它可以比组站每个周期接收和调度更多指令。

货架缓冲区条目的数量

从独立预留站到组预留站再到中央预留站的改进,需要支持越来越多的货架位置。独立预留站可以存放 2-4 条指令,组预留站有 6、12 或 16 个条目,而到目前为止唯一执行的中央预留站(PentiumPro)可以存放 20 条指令。预留站中的条目总数决定了调度窗口的宽度。

读写端口的数量

货架缓冲区布局的最后一个组成部分是读写端口的数量。这个组成部分决定了在单个周期内可以写入或读出特定货架缓冲区的指令数量。首先,让我们讨论一下输出端口(读端口)的预期数量。

独立预留站每个周期只需要转发一条指令。组预留站或中央预留站需要每个周期传送多条指令,理想情况下与连接到它的 EU 数量相同。独立、组和中央预留站需要越来越多的输入端口(写端口)。具有独立预留站的处理器每个周期只允许将一条指令发出到任何人的预留站。

更新于:2021年7月22日

284 次浏览

启动您的职业生涯

完成课程后获得认证

开始
广告
© . All rights reserved.