輕松讀懂移動處理器 CPU微架構(gòu)全解析
分享
為了充分利用由于分支以及長時延指令導致的流水線“氣泡(停擺)”而浪費的資源,人們引入了亂序執(zhí)行(OoOE)技術(shù)。當出現(xiàn)需要等待某條指令的時候,程序中的指令會被“重排序(Re-Ordered)”,使得其他指令可以被執(zhí)行。
對于像 x86 這樣的 ISA 來說,32 位模式下的寄存器只有 8 個(ARMv7 是 16 個),如果程序里的變量較多,就會導致多個變量使用同一個寄存器的情況發(fā)生,這里有可能出現(xiàn)先讀后寫的偽相關(guān)現(xiàn)象。
微架構(gòu)里解決寄存器先讀后寫(WAR)偽相關(guān)的辦法就是寄存器重命名。在微架構(gòu)的寄存器堆里塞進比 ISA 寄存器更多的物理寄存器,透過索引式寄存器堆或者保留站方式,將 ISA 寄存器映射到物理寄存器,從而實現(xiàn)亂序執(zhí)行。
ARM Cortex-A8、Intel Pentium、Intel Atom(Bonnell 內(nèi)核)、IBM Cell PPU 都屬于順序執(zhí)行,它們選擇順序執(zhí)行的原因主要是為了省電,因為 OoOE 需要大量的晶體管來實現(xiàn)。隨著制程的改進,OoOE 的開銷會逐漸淡化變得在某些場合里可行,因此像 ARM 從 Cortex-A9、Intel 從 Pentium Pro/Atom(Silvermont 內(nèi)核)都開始采用 OoOE。
2人已贊
第1頁:什么是應用處理器?第2頁:長話短說“微架構(gòu)”——流水線第3頁:長話短說“微架構(gòu)”——超標量第4頁:長話短說“微架構(gòu)”——分支(轉(zhuǎn)移)預測第5頁:長話短說“微架構(gòu)”——動態(tài)調(diào)度第6頁:長話短說“微架構(gòu)”——線程級并行化第7頁:長話短說“微架構(gòu)”——數(shù)據(jù)級并行(SIMD)第8頁:長話短說“微架構(gòu)”——存儲系統(tǒng)分層結(jié)構(gòu)第9頁:ARM 指令集架構(gòu)的由來第10頁:ARM Cortex-A9 內(nèi)核微架構(gòu)特點第11頁:ARM Cortex-A15 內(nèi)核微架構(gòu)特點第12頁:高通 Krait 內(nèi)核微架構(gòu)特點第13頁:蘋果 Swift 內(nèi)核微架構(gòu)特點第14頁:英特爾 Bonnell/Saltwell 內(nèi)核微架構(gòu)特點第15頁:ARM Cortex-A5/Cortex-A7 微架構(gòu)的特點第16頁:移動圖形處理器形勢簡話第17頁:PowerVR SGX 54x MP4 GPU 微架構(gòu)第18頁:全文總結(jié)
關(guān)注我們
