什么是 R10000?
MIPS R10000 是 R 系列处理器中的最新架构。它实现了 MIPS IV 指令集架构 (ISA),它是 MIPS III 的超集,例如 R8000 就支持它。在计划的 200 MHz 时钟频率下,这款四路超标量处理器具有 800 MIPS 的峰值性能。
R10000 的特性
R10000 具有以下主要特性:
它是一个四路超标量处理器,最大调度率为五。
它使用预解码。
它有三个分组预留站。
操作数在指令调度前被提取。
使用合并的架构和重命名寄存器文件实现重命名。
使用 ROB 保持顺序一致性。
R10000 执行核心由以下主要单元组成:解码/发行单元、FX 和 FP 寄存器映射表、三个分组预留站、合并的 FX 和 FP 寄存器文件、七个 EU 以及 ROB。EU 包括:三个 FX 单元和四个 FP 单元。FX 单元是 IU1、IU2(整数单元)和 AU(地址单元)。IU1 和 IU2 都可以执行各种简单的算术和逻辑指令。
此外,IU2 可以执行整数乘法和除法运算。地址单元 (AU) 是一个用于生成地址的地址加法器。可用的 FP 单元专门用于 FP 加法 (FADD)、乘法 (FMUL)、除法 (FDIV) 和平方根计算 (FSQRT)。
R10000 对于 FX 运算有一个简短的五级流水线,包括取指令、解码、调度、执行和写回周期。R10000 使用预解码来缩短关键的解码/发行/重命名路径。在每个周期中,从 I 缓存中提取四个预解码指令(取指令周期)。随后,所有四个指令都在下一个周期(解码周期)中进行解码、发行和重命名。解码和发行都按程序顺序进行。
已发出的指令的解码寄存器编号将被重命名。每个映射表有 32 个条目,以及足够的读写端口,以便在每个周期中重命名多达四个相同类型的指令。
FX 映射表提供 12 个读端口和 4 个写端口,而 FP 表提供 16 个读端口和 4 个写端口。因此,FX 指令最多可以有三个操作数,而 FP 指令最多可以有四个操作数。
目标寄存器和源寄存器的重命名方式大不相同。在重命名期间,每个目标寄存器都将被分配一个新的物理寄存器,该寄存器来自合并的 FX 和 FP 寄存器文件中可用的 64 个物理寄存器中的一个,前提是有空闲寄存器。
此外,每个表都将使用多达四个目标寄存器的最新建立的映射进行更新。源寄存器的重命名只需读取实际的物理寄存器编号即可,这些编号是从相关的映射表中分配给相关的架构寄存器的。