輕松讀懂移動(dòng)處理器 CPU微架構(gòu)全解析
分享
既然流水線設(shè)計(jì)可以實(shí)現(xiàn)不間斷取指、解碼、執(zhí)行、寫回,那為何不干脆同時(shí)做幾條流水線一起取指、解碼、執(zhí)行、寫回呢?這就引出了超標(biāo)量設(shè)計(jì)。
上圖就是一個(gè)三路超標(biāo)量四工位流水線的指令/周期執(zhí)行示意圖,可以看到 CPI 從 1 變成 0.33,即每周期執(zhí)行 3.33 條指令,這樣的改進(jìn)幅度是令人著迷的,因此在初期的時(shí)候超標(biāo)量甚至被人們贊美為標(biāo)量程序的向量式處理。
不過(guò)在現(xiàn)實(shí)中不可能都這樣,因?yàn)楝F(xiàn)在的處理器執(zhí)行不同指令時(shí)候的“執(zhí)行”段工位并不完全一樣,例如整數(shù)可能短一些,浮點(diǎn)或者向量和 Load/Store 指令需要長(zhǎng)一些,加上一些別的因素,實(shí)際大部分程序的實(shí)際 CPI 都是 1.x 甚至更高啊。
例如:
a = b * c
d = a + 1
這里的第二條指令需要使用到第一條指令的計(jì)算結(jié)果,因此必須等待第一條指令完成后才能跑第二條指令,更重要的是,在不少處理器上乘法指令并非一個(gè)周期而是需要多個(gè)周期才能完成。在遇到這樣的情況時(shí),就不能實(shí)現(xiàn)多指令發(fā)射而且會(huì)出現(xiàn)流水線停頓。
2人已贊
第1頁(yè):什么是應(yīng)用處理器?第2頁(yè):長(zhǎng)話短說(shuō)“微架構(gòu)”——流水線第3頁(yè):長(zhǎng)話短說(shuō)“微架構(gòu)”——超標(biāo)量第4頁(yè):長(zhǎng)話短說(shuō)“微架構(gòu)”——分支(轉(zhuǎn)移)預(yù)測(cè)第5頁(yè):長(zhǎng)話短說(shuō)“微架構(gòu)”——?jiǎng)討B(tài)調(diào)度第6頁(yè):長(zhǎng)話短說(shuō)“微架構(gòu)”——線程級(jí)并行化第7頁(yè):長(zhǎng)話短說(shuō)“微架構(gòu)”——數(shù)據(jù)級(jí)并行(SIMD)第8頁(yè):長(zhǎng)話短說(shuō)“微架構(gòu)”——存儲(chǔ)系統(tǒng)分層結(jié)構(gòu)第9頁(yè):ARM 指令集架構(gòu)的由來(lái)第10頁(yè):ARM Cortex-A9 內(nèi)核微架構(gòu)特點(diǎn)第11頁(yè):ARM Cortex-A15 內(nèi)核微架構(gòu)特點(diǎn)第12頁(yè):高通 Krait 內(nèi)核微架構(gòu)特點(diǎn)第13頁(yè):蘋果 Swift 內(nèi)核微架構(gòu)特點(diǎn)第14頁(yè):英特爾 Bonnell/Saltwell 內(nèi)核微架構(gòu)特點(diǎn)第15頁(yè):ARM Cortex-A5/Cortex-A7 微架構(gòu)的特點(diǎn)第16頁(yè):移動(dòng)圖形處理器形勢(shì)簡(jiǎn)話第17頁(yè):PowerVR SGX 54x MP4 GPU 微架構(gòu)第18頁(yè):全文總結(jié)
關(guān)注我們
