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