操作数获取策略有哪些类型?
操作数获取策略主要分为两种类型:指令发出绑定型和调度绑定型。指令发出绑定型策略定义在指令发出期间获取操作数。在这种方法中,搁置缓冲区会影响其操作数值的指令,需要缓冲区足够长以支持所有源操作数的空间。
另一种基本的操作数获取策略是调度绑定型策略,其中操作数在调度期间获取。在这种情况下,搁置缓冲区包含短寄存器标识符而不是长操作数。
指令发出绑定型策略
在这种情况下,在发出指令时,引用的源寄存器编号被转发到寄存器文件以获取源操作数。它还可以将操作码 (OC)、已发出指令的目标寄存器编号 (Rd) 和获取的操作数值 (Op1 和 Op2) 写入已分配的预留站。
调度绑定型操作数获取策略
在这种方法中,操作数的获取与指令调度相关联,而不是与指令发出相关联。在预留期间,站保留指令,包括源寄存器编号。
在调度期间,已调度指令的操作码和目标寄存器标识符从预留站传递到相关的执行单元 (EU),源寄存器标识符被移动到寄存器文件。然后,获取源操作数并将其门控到等效 EU 的输入端。
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.
假设 FX 和 FP 数据使用分离寄存器文件时的操作数获取
在操作数获取策略中,可以考虑对 FX 和 FP 数据使用公共寄存器文件。但是,包括 x86、R、PA、Alpha 和 PowerPC 架构在内的大多数当前架构都对 FX 和 FP 数据使用不同的寄存器文件。
随后,处理器的相应线路执行不同的 FX 和 FP 寄存器文件。只有少数现代处理器具有单独的 FX 寄存器文件,包括 Am 29000 架构,它只提供 FX 数据。另一个例外是 Nx586,它在主处理器中只执行结构的 FX 部分,而 FP 部分则由 FP 协处理器芯片(称为 Nx587)执行。
使用重命名进行操作数获取
在缺乏寄存器重命名的前提下,所有需要的寄存器操作数都配备了体系结构寄存器文件。当使用寄存器重命名时,仍然会产生多种情况,因为在这种情况下,中间结果保存在额外的寄存器空间中,称为重命名缓冲区文件。