加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 什么是ARM流水線
    • ARM 流水線特性
    • 基本ARM微架構
  • 相關推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

淺談ARM 架構中的流水線

09/20 11:04
3.4萬
閱讀需 7 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

什么是ARM流水線

流水線(Pipelining)是 RISC(精簡指令集處理器用來執(zhí)行指令的機制,通過獲取指令來加速執(zhí)行,而其他指令同時被解碼和執(zhí)行。這反過來又允許內存系統(tǒng)和處理器連續(xù)工作。每個 ARM 系列的流水線設計都不同。

流水線是一種設計技術或過程,它在提高計算機微控制器處理器中的數(shù)據(jù)處理效率方面發(fā)揮著重要作用。通過將處理器保持在一個連續(xù)的獲取、解碼和執(zhí)行過程中,稱為(FETCH-DECODE-EXECUTE(F&E) 循環(huán))。

由于 RISC 強調編譯器的復雜性,ARM 器件需要流水線。每一級流水相當于1個周期,即n個階段=n個周期。

圖1 三級流水線示意圖

 

如圖1,F(xiàn)etch (取指)從內存中加載一條指令;Decode(譯碼)識別要執(zhí)行的指令;Execute (執(zhí)行)處理指令并將結果write back(寫回)到寄存器;通過重疊執(zhí)行不同指令的上述不同階段,提高了執(zhí)行速度。

圖2 F&E循環(huán)示意圖

ARM 流水線特性

 

ARM 流水線在完全通過execution stage之前不會處理該指令。在執(zhí)行階段,PC總是指向指令地址+8字節(jié);當處理器處于thumb state時,PC 總是指向指令地址 + 4 個字節(jié);在執(zhí)行分支指令或通過直接修改 PC 進行分支時,會導致 ARM 內核刷新它的流水線;即使已引發(fā)中斷,執(zhí)行階段的指令也會完成其執(zhí)行。

ARM7系列

如圖1所示,它有 3 級流水線。它可以在3個周期內完成它的過程。它具有基本的 FETCH-DECODE-EXECUTE(F&E) 循環(huán)。這就是為什么 ARM 7 的吞吐量低于其其他家族成員的原因。它處理 32 位數(shù)據(jù)。

ARM 9系列

圖3 五級流水線示意圖

 

ARM 9 中的流水線與 ARM 7 類似,但ARM 9有 5 個階段,完成該過程需要5個周期。Fetch(取值)-它將從內存中獲取指令。Decode(解碼) - 它解碼在第一個周期中獲取的指令。ALU(arithmetic logic unit,即算術邏輯單元) - 它執(zhí)行(Execute)在前一階段已解碼的指令。LS1(Memory) 加載/存儲由加載或存儲指令指定的數(shù)據(jù)。LS2(Write) 提取(零或符號)擴展由字節(jié)或半字加載指令加載的數(shù)據(jù)。由于階段和效率的增加,吞吐量比 ARM 7 高 10%-13%。ARM 9 的核心頻率略高于 ARM 7。

ARM 10系列

圖4  六級流水線示意圖

 

這是一個六級流水線。這又需要 6 個周期才能完成該過程。與 ARM 9 相同,但有一個issue階段,用于檢查指令是否準備好在以便當前階段解碼。它的吞吐量幾乎是 ARM 7 的兩倍。核心頻率高于ARM 9。流水線的階段數(shù)量可能會根據(jù)每個周期處理的指令集增加或減少(在大多數(shù)情況下,階段傾向于增加以提高效率)。

基本ARM微架構

圖5  某arm微架構示意圖

 

Barrel Shifter:Barrel Shifter(桶形移位器)是一種數(shù)字電路,可以將數(shù)據(jù)字移位指定位數(shù),而無需使用任何時序邏輯,僅使用純組合邏輯,即它固有地提供二進制操作。

ALU:該單元執(zhí)行各種算術和邏輯運算。

Address register and increment:寄存器存儲地址,增量器遞增相同以指向下一條指令。

Data register:數(shù)據(jù)寄存器,當數(shù)據(jù)寫入內存或從內存中讀取時,它用作一個緩沖區(qū)來存儲數(shù)據(jù)。

Instruction Decoder:顧名思義,它對指令進行解碼并相應地發(fā)出控制信號。因此,指令解碼器與發(fā)出控制信號的控制邏輯相關聯(lián)。指令通過數(shù)據(jù)總線(在底部)獲取并提供給指令解碼和控制單元。該單元對指令進行解碼,,然后指令由 ALU、乘法器和桶形移位器使用寄存器組中的寄存器執(zhí)行。

CPI和MIPS

 

CPI( Clock cycle Per Instruction)表示每條計算機指令執(zhí)行所需的時鐘周期,有時簡稱為指令的平均周期數(shù)??梢杂脕肀硎?a class="article-link" target="_blank" href="/baike/1552575.html">CPU的性能。對CPU來說,在一個時鐘周期內,CPU僅完成一個最基本的動作。時鐘脈沖是計算機的基本工作脈沖,控制著計算機的工作節(jié)奏。時鐘頻率越高,時鐘周期就越短,工作速度也就越快。

MIPS是每秒鐘處理了多少百萬條指令,計算公式:MIPS=主頻/CPI * 10的6次方。

從流水線的角度理解建立時間

 

建立時間的含義:一個時鐘周期內,一級流水的指令執(zhí)行必須完成;否則可能會出現(xiàn)數(shù)據(jù)冒險,因為不同指令的流水的不同stage是重疊執(zhí)行的。

圖6 流水線的重疊執(zhí)行示意圖

部分參考文獻

《Pipelining in ARM》,作者:jiganrahul01;

《Explain pipelining in ARM processor》,作者:ques10;

Arm

Arm

ARM公司是一家知識產(chǎn)權(IP)供應商,主要為國際上其他的電子公司提供高性能RISC處理器、外設和系統(tǒng)芯片技術授權。目前,ARM公司的處理器內核已經(jīng)成為便攜通訊、手持計算設備、多媒體數(shù)字消費品等方案的RISC標準。公司1990年11月由Acorn、Apple和VLSI合并而成。

ARM公司是一家知識產(chǎn)權(IP)供應商,主要為國際上其他的電子公司提供高性能RISC處理器、外設和系統(tǒng)芯片技術授權。目前,ARM公司的處理器內核已經(jīng)成為便攜通訊、手持計算設備、多媒體數(shù)字消費品等方案的RISC標準。公司1990年11月由Acorn、Apple和VLSI合并而成。收起

查看更多

相關推薦

電子產(chǎn)業(yè)圖譜

前華為海思工程師;與非網(wǎng)2022年度影響力創(chuàng)作者;IC技術圈成員。

微信公眾號