泡泡网CPU频道 PCPOP首页      /      CPU     /      评测    /    正文

轻松读懂移动处理器 CPU微架构全解析

为了充分利用由于分支以及长时延指令导致的流水线“气泡(停摆)”而浪费的资源,人们引入了乱序执行(OoOE)技术。当出现需要等待某条指令的时候,程序中的指令会被“重排序(Re-Ordered)”,使得其他指令可以被执行。

对于像 x86 这样的 ISA 来说,32 位模式下的寄存器只有 8 个(ARMv7 是 16 个),如果程序里的变量较多,就会导致多个变量使用同一个寄存器的情况发生,这里有可能出现先读后写的伪相关现象。

微架构里解决寄存器先读后写(WAR)伪相关的办法就是寄存器重命名。在微架构的寄存器堆里塞进比 ISA 寄存器更多的物理寄存器,透过索引式寄存器堆或者保留站方式,将 ISA 寄存器映射到物理寄存器,从而实现乱序执行。

ARM Cortex-A8、Intel Pentium、Intel Atom(Bonnell 内核)、IBM Cell PPU 都属于顺序执行,它们选择顺序执行的原因主要是为了省电,因为 OoOE 需要大量的晶体管来实现。随着制程的改进,OoOE 的开销会逐渐淡化变得在某些场合里可行,因此像 ARM 从 Cortex-A9、Intel 从 Pentium Pro/Atom(Silvermont 内核)都开始采用 OoOE。

2人已赞

关注我们

泡泡网

手机扫码关注