什么是奔腾Pro?
奔腾Pro是英特尔x86系列处理器的旗舰产品。奔腾Pro处理器采用动态实现微架构,例如特定的一组多分支预测、数据流分析和推测性实现。奔腾Pro处理器采用解耦的12阶段超流水线实现,以牺牲每个流水线阶段的工作量来换取更多的阶段。
奔腾Pro处理器的流水线时间比奔腾处理器减少了33%,这有助于在任何给定进程上获得更高的时钟频率。奔腾Pro处理器使用的方法消除了传统“取指”和“执行”阶段之间线性指令顺序的限制,并利用指令池打开了较大的指令窗口。
这种方法使奔腾Pro处理器的“执行”阶段能够更好地感知程序的指令流,从而可以进行更多的调度。
它需要奔腾Pro处理器的指令“取指/解码”阶段在预测程序流程方面更加智能。优化的调度需要通过解耦的“调度/执行”和“退休”阶段来恢复基本的“执行”阶段。这使得指令可以按任何顺序启动,但始终按初始程序顺序完成。
奔腾Pro的特点
奔腾Pro的主要特点如下:
它是一个具有RISC内核的超标量CISC处理器。
它每周期最多发出三个RISC操作,并每周期最多调度五个RISC操作。
它有一个统一的中央预留站,包含20个条目,同时用于所有类型的指令,例如FX和FP指令等。
使用重排序缓冲区保留严格的顺序一致性。
重命名在重排序缓冲区中实现。
奔腾Pro具有至少14个阶段的极长流水线(用于FX指令)。与其他超标量CISC处理器一样,奔腾Pro首先将取出的CISC指令内部转换为RISC指令(称为uops)。随后,超标量RISC内核执行uops。最后,处理器的后端确保执行的逻辑一致性。
指令以128位块的形式从I缓存取到I缓冲区。由于CISC指令的指令长度可变特性,从I缓冲区取出的指令必须首先对齐。
然后,每个周期最多解码三个CISC指令并将其转换为RISC指令。转换由两个简单的解码器(D1和D2)、一个通用解码器(D3)和一个微指令排序器(MIS)进行。
两个简单的解码器只能接受转换为单个uop的指令。更复杂的指令最多转换为四个uops,由通用解码器(D3)转换,而产生四个以上uops的指令则由MIS转换。