计算机体系结构中寄存器重命名设计空间是什么?
寄存器重命名的设计空间类似于货架的设计空间。如图所示,它包含以下主要组件,例如寄存器重命名的范围、重命名缓冲区的布局、操作数获取策略以及每个周期重命名的次数。
- 寄存器重命名的范围
大多数第一代超标量处理器,如 PA 7100、Supersparc、α21064、R8000、奔腾等都没有使用重命名。在部分重命名中,它仅限于特定的指令类型或少数类型。例如 Power1(RS6000)、Power2 和 Nx586。
- 重命名缓冲区的布局
重命名缓冲区的布局为重命名创建了真正的框架。有三个基本组件是重命名缓冲区的类型和数量以及用于访问重命名缓冲区的基本机制。
重命名缓冲区的类型
所选的重命名缓冲区类型对重命名影响最大。它决定了实现的基本方法,因此它确定了指令的中间结果将写入或读取的位置。
重命名缓冲区的数量
下表概述了最近的处理器提供了多少个重命名缓冲区。表中的三个部分分别涵盖了不同的实现类型。在第一部分中,我们列出了使用合并寄存器文件作为体系结构寄存器和重命名寄存器的处理器。在这些处理器中,可以找到相当多的可用于重命名的附加寄存器。重命名缓冲区的数量从 Power1 中的 8 个到 R10000 中的 32 个,甚至 64 位 Sparc 处理器 PM1(Sparc64)中的 38 个不等。
提供的重命名缓冲区数量
重命名的实现 | 重命名缓冲区的数量 | |
---|---|---|
处理器类型 | FX | FP |
合并的重命名和体系结构寄存器文件 | ||
Power1 (1990) | 8 (32 个体系结构 + 8 个重命名) | |
Power2 (1993) | 22 (32 个体系结构 + 22 个重命名) | |
ES/9000 (1992p) | 16 (16 个体系结构 + 16 个重命名) | 12 (4 个体系结构 + 12 个重命名) |
PM1 (1995) | 38 (78 个体系结构 + 38 个重命名) | 24 (32 个体系结构 + 24 个重命名) |
R10000 (1996) | 32 (32 个体系结构 + 32 个重命名) | 32 (32 个体系结构 + 32 个重命名) |
单独的重命名寄存器文件 | ||
PowerPC 603 (1993) | n.a. | 4 |
PowerPC 604 (1995) | 12 | 8 |
PowerPC 620 (1996) | 8 | 8 |
ROB 中的重命名 | ||
Am29000 sup (1995) | 10 | |
K5 (1995) | 16 | |
PentiumPro (1995) | 40 |
**操作数获取策略** - 有两种可能的策略,例如在指令发出期间获取操作数并将指令与其操作数一起存储在货架缓冲区中(发出绑定获取)或不带操作数地存放指令并在指令从货架缓冲区调度之前延迟获取操作数(调度绑定获取)。
**重命名速率** - 重命名速率是处理器可以执行的每个周期重命名的最大次数。它可以避免瓶颈,重命名速率通常等于发出速率。最近的处理器最多可以发出四个 FX 或 FP 指令或两者的任意组合。
广告