轻松读懂移动处理器 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人已赞
第1页:什么是应用处理器?第2页:长话短说“微架构”——流水线第3页:长话短说“微架构”——超标量第4页:长话短说“微架构”——分支(转移)预测第5页:长话短说“微架构”——动态调度第6页:长话短说“微架构”——线程级并行化第7页:长话短说“微架构”——数据级并行(SIMD)第8页:长话短说“微架构”——存储系统分层结构第9页:ARM 指令集架构的由来第10页:ARM Cortex-A9 内核微架构特点第11页:ARM Cortex-A15 内核微架构特点第12页:高通 Krait 内核微架构特点第13页:苹果 Swift 内核微架构特点第14页:英特尔 Bonnell/Saltwell 内核微架构特点第15页:ARM Cortex-A5/Cortex-A7 微架构的特点第16页:移动图形处理器形势简话第17页:PowerVR SGX 54x MP4 GPU 微架构第18页:全文总结