嵌入式系統(tǒng)原理與應(yīng)用 課件 第2章 CPU組成與流水線設(shè)計_第1頁
嵌入式系統(tǒng)原理與應(yīng)用 課件 第2章 CPU組成與流水線設(shè)計_第2頁
嵌入式系統(tǒng)原理與應(yīng)用 課件 第2章 CPU組成與流水線設(shè)計_第3頁
嵌入式系統(tǒng)原理與應(yīng)用 課件 第2章 CPU組成與流水線設(shè)計_第4頁
嵌入式系統(tǒng)原理與應(yīng)用 課件 第2章 CPU組成與流水線設(shè)計_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

嵌入式系統(tǒng)原理與設(shè)計第2章CPU組成與流水線設(shè)計第2章01020304CPU組成CPU性能量化流水線技術(shù)流水線相關(guān)及解決方案05ARM流水線舉例/01CPU組成CPU的基本結(jié)構(gòu)CPU包含控制器和運算器控制器是命令發(fā)布的決策機構(gòu)和源頭,協(xié)調(diào)和指揮整個計算機系統(tǒng)的操作運算器是數(shù)據(jù)處理部件,接受控制器的命令而進行算數(shù)運算和邏輯運算CPU的主要寄存器程序計數(shù)器PC:指向要執(zhí)行的下一條指令的地址指令寄存器IR:用來保存當前正在執(zhí)行的指令編碼數(shù)據(jù)緩沖寄存器DR:用來暫時存放數(shù)據(jù)數(shù)據(jù)地址寄存器AR:用來保存當前CPU所訪問的數(shù)據(jù)存儲器單元的地址通用寄存器GR:暫存運算器需要的源操作數(shù)和結(jié)果操作數(shù)狀態(tài)字寄存器PSW:用來保存處理器的運行狀態(tài)CPU的基本功能指令控制:指令控制是指指令執(zhí)行的次序操作控制:指令執(zhí)行時確保執(zhí)行部件按照指令的要求完成指令執(zhí)行。時間控制:指令執(zhí)行時確保指令各個操作及整個執(zhí)行過程在規(guī)定時限內(nèi)完成。數(shù)據(jù)處理:CPU完成數(shù)據(jù)的算術(shù)或邏輯運算,有時也稱為數(shù)據(jù)加工。/02CPU性能量化CPU性能公式時鐘周期時間(ClockCycleTime,CCT)程序執(zhí)行所需要的指令數(shù)(InstructionCount,IC)每條指令執(zhí)行需要的時鐘周期數(shù)(CPI,CyclesPerInstruction)CPU時間=IC×CPI×CCTCPU性能公式【例2-1】比較下面兩種CPU執(zhí)行某程序的性能優(yōu)劣。假設(shè)CPU1執(zhí)行該程序需要5百萬條指令,指令的平均CPI為1.2,時鐘頻率為1GHz;CPU2執(zhí)行該程序需要3百萬條指令,指令的平均CPI為3.0,時鐘頻率為0.5GHz。根據(jù)CPU性能公式2-1,可以知道兩種CPU的程序執(zhí)行時間如下:CPU1的時間T1=5×106×1.2×10-9=6ms;CPU2的時間T2=3×106×3.0×2×10-9=18ms;因為T2>T1,故CPU1的性能更好。CPU性能公式【例2-2】比較下面兩種浮動指令優(yōu)化方案的性能優(yōu)劣。假設(shè)某CPU的浮點指令的使用頻率為0.2,浮點指令的平均CPI為10;其它指令的使用頻率為0.8,其它指令的平均CPI為1.2。方案1:把所有浮點指令的平均CPI降到8;方案2:把浮點指令FSQRT的CPI降到2,其中FSQRT占浮點指令使用頻率的0.2。CPU性能公式在知道每類指令的使用頻率和CPI后,式2-1可以改寫為:根據(jù)題意,兩種方案在改進過程中,指令集未發(fā)生變化,則完成任務(wù)所需要的指令數(shù)IC不會發(fā)生變化;同時,也沒有提到時鐘頻率發(fā)生變化,即CCT也不會變化。因此,根據(jù)CPU性能公式2-2,可以計算兩種改進方案的CPU時間,如下:方案1的時間T1=(0.2×IC×8+0.8×IC×1.2)×CCT=11.2×IC×CCT;方案2的時間T2=(0.2×0.2×IC×2+0.8×0.2×IC×10+0.8×IC×1.2)×CCT

=11.28×IC×CCT。因為T2>T1,故方案1的性能更好。CPU性能公式的暗示CCT主要取決于芯片加工工藝及CPU硬件結(jié)構(gòu),CPI主要取決于CPU硬件結(jié)構(gòu)及指令集架構(gòu)(ISA),IC則主要取決于ISA和編譯技術(shù)【例2-3】比較表2-1所示的基于RISC和CISC的CPU性能優(yōu)劣。表2-1RISC和CISC的運算速度CPU性能公式的暗示取表2-1數(shù)據(jù)的均值,根據(jù)公式2-1,可以計算得到RISC和CISC的CPU性能如下(設(shè)完成相同任務(wù)需要CISCCPU需要的指令數(shù)為IC):CISC的CPU性能=IC×8.5×19=161.5×ICnsRISC的CPU性能=1.35×IC×1.25*6=10.125×ICnsRISC相對CISC的性能加速比=161.5×IC/(10.125×IC)≈16倍??梢?,RISCCPU的性能遠高于CISCCPU的性能。實際上,由表2-1數(shù)據(jù)可以看出,完成相同的任務(wù),CISC需要的IC少于RISC,這是CISC的優(yōu)勢,但在CPI和CCT上,CISC都處于劣勢。尤其是平均CPI,如果都取均值,CISC的CPI為8.5,RISC的CPI為1.25,RISC領(lǐng)先6.8倍。/03流水線技術(shù)流水線概念【例2-4】假設(shè)某產(chǎn)品的生產(chǎn)需要4道工序,該產(chǎn)品生產(chǎn)車間以前只有1個工人,只有1套生產(chǎn)該產(chǎn)品的機器。該工人工作8小時,可以生產(chǎn)120件產(chǎn)品(即每4分鐘生產(chǎn)1件)?,F(xiàn)車間主任希望將該產(chǎn)品的日產(chǎn)量提高到480件,那么他如何能夠?qū)崿F(xiàn)其目標呢?方案一:再聘請3名工人,同時再購買3套生產(chǎn)該產(chǎn)品的機器。讓4名工人同時工作8小時,可以達到期望的日產(chǎn)量目標??梢钥吹?,這種方案簡單直接,但需要付出購買3套機器和聘請3名工人的成本。流水線概念方案二:產(chǎn)品生產(chǎn)采用流水線生產(chǎn)方式,將原來的機器按照4道工序重新進行改造組合,將4道生產(chǎn)工序分離開來,使得每道工序的生產(chǎn)時間一樣,均為1分鐘。同時車間再聘請3名工人,讓每個工人負責該產(chǎn)品生產(chǎn)的一道工序,每完成一道工序,就將半成品傳給下一道工序的工人,直至生產(chǎn)出完整的產(chǎn)品。采用此種方案后,在不需要購買新設(shè)備,僅聘請3名工人,也能達到將日產(chǎn)量提高到480件的目標。流水線概念【例2-5】假設(shè)指令流水執(zhí)行時需要3個階段,第1個階段是取指令I(lǐng)F,第2個階段是解析指令I(lǐng)D,第3階段是執(zhí)行指令EX,這三個階段分別需要的時間是t1,t2和t3秒;如果不采用流水,則需要的時間是t1+t2+t3秒。求采用流水線技術(shù)和不采用流水線技術(shù)的指令吞吐率。方案1:不采用流水。由于每執(zhí)行一條指令需要t1+t2+t3秒,則指令吞吐率為1/(t1+t2+t3)。流水線概念方案2:流水執(zhí)行。完成快的部件必須等完成慢的部件,因此,時鐘周期應(yīng)該為t1,t2和t3中最大的一個,則指令吞吐率為1/max(t1,t2,t3)??紤]一種理想情況,這三個時間相等,此時的吞吐率為3/(t1+t2+t3),為方案1的3倍。流水線分類1、單功能流水線和多功能流水線流水線分類2、靜態(tài)流水線和動態(tài)流水線流水線性能分析1.吞吐率吞吐率是衡量流水線性能的重要指標,它是指單位時間內(nèi)流水線所完成的任務(wù)數(shù),即流水線單位時間內(nèi)能輸出的結(jié)果。

式中,n表示任務(wù)數(shù),Tp表示流水執(zhí)行n個任務(wù)所用的時間。當流水線在連續(xù)流動達到穩(wěn)定以后所得到的吞吐率稱為最大吞吐率。流水線性能分析假設(shè)流水線各功能段執(zhí)行時間Δt都相等,總共有k個功能段(這里取k=4)流水線性能分析如圖(a)所示的4段流水線中,其時空圖如圖(b)所示。流水線性能分析如圖(a)所示的4段流水線中,其時空圖如圖(b)所示。流水線性能分析(1)將瓶頸功能段繼續(xù)細分 從式中可以看出,最大吞吐率與實際吞吐率是由執(zhí)行時間最長的那個流水決定。因此,最長流水段就成了整個流水線的瓶頸。圖中除了流水線中的瓶頸功能段一直處于忙碌狀態(tài)外,其他功能段有2/3的時間是空閑的,造成資源浪費。流水線性能分析(2)將瓶頸功能段資源重復(fù)

流水線性能分析2.加速比流水線的加速比是指完成一批任務(wù),不使用流水線所用的時間與使用流水線的時間之比。若不使用流水線,即順序執(zhí)行所用的時間為Ts,使用流水線的執(zhí)行時間為Tp,則流水線的加速比為: 流水線性能分析如果流水線各段執(zhí)行時間都相等,則一條k段流水線,連續(xù)完成n個任務(wù)所需的時間為等效的非流水線上所需的時間為當n>>k時,,即當流水線的各功能段時間相等時,其最大加速比等于流水線的段數(shù)。流水線性能分析3.效率流水線效率是指流水線的各功能段部件的利用率。如果各段執(zhí)行時間相等,則

流水線性能分析【例2-6】一個單功能流水線,每段執(zhí)行時間都相等為Δt,輸入任務(wù)不連續(xù)的情況下,計算一條4段浮點加法器求8個浮點數(shù)和的流水線的吞吐率、加速比和效率。解:改寫式子為:流水線性能分析/04流水線相關(guān)及解決方案流水線相關(guān)及解決方案◆結(jié)構(gòu)相關(guān)

當硬件資源滿足不了同時重疊執(zhí)行的指令的要求,而發(fā)生資源沖突時,就發(fā)生了結(jié)構(gòu)相關(guān)?!魯?shù)據(jù)相關(guān)

當一條指令需要用到前面某條指令的結(jié)果,從而不能重疊執(zhí)行時,就發(fā)生了數(shù)據(jù)相關(guān)。◆控制相關(guān)

當流水線遇到分支指令和其他能夠改變PC值的指令時,就會發(fā)生控制相關(guān)。結(jié)構(gòu)相關(guān)采用5級指令流水線,IM、Reg、ALU和DM分別表示流水段中的功能部件取指階段IF(InstructionFetch),此階段訪問IM,讀取存儲在IM中的指令;譯碼階段ID(InstructionDecode),此階段對取得的指令進行譯碼,并根據(jù)譯碼結(jié)果讀取Reg數(shù)據(jù);執(zhí)行階段EX(Execute),此階段利用ALU執(zhí)行指令或計算地址;訪存階段MEM(Memory),此階段訪問DM,讀取存儲在DM中的數(shù)據(jù)或?qū)?shù)據(jù)寫入到DM中;寫回階段WB(WriteBack),此階段將將計算結(jié)果寫回Reg。結(jié)構(gòu)相關(guān)結(jié)構(gòu)相關(guān)插入暫停,解決結(jié)構(gòu)相關(guān)數(shù)據(jù)相關(guān)數(shù)據(jù)相關(guān)①寫后讀相關(guān)(ReadAfterWrite,RAW)。j的執(zhí)行要用到i的計算結(jié)果,j可能在i寫入其計算結(jié)果之前就先行對保存該結(jié)果的寄存器進行讀操作②寫后寫相關(guān)(WriteAfterWrite,WAW)。j和i的目的寄存器一樣,但是當其在流水線中采用亂序執(zhí)行時,j可能在i寫入其計算結(jié)果之前就先行對目的寄存器進行寫操作③讀后寫相關(guān)(WriteAfterRead,WAR)。j可能在i讀取某個寄存器的內(nèi)容之前就對該寄存器進行寫操作數(shù)據(jù)相關(guān)定向技術(shù)(旁路)解決數(shù)據(jù)相關(guān)數(shù)據(jù)相關(guān)暫停解決數(shù)據(jù)相關(guān)控制相關(guān)基于暫停的控制相關(guān)解決方案分支轉(zhuǎn)移成功分支轉(zhuǎn)移失敗控制相關(guān)【例2-9】假設(shè)分支指令在目標代碼中出現(xiàn)的概率是0.3,轉(zhuǎn)移成功概率為0.8,流水線執(zhí)行其它指令的CPI為1,按照上圖給出的分支指令處理規(guī)則,求此時的指令執(zhí)行的平均CPI。指令的平均CPI=分支指令CPI*分支指令比重+其它指令CPI*(1-分支指令比重)分支指令CPI=轉(zhuǎn)移成功指令比重*(1+轉(zhuǎn)移成功的開銷)+(1-轉(zhuǎn)移成功指令比

重)*(1+轉(zhuǎn)移失敗的開銷)根據(jù)圖中所示的規(guī)則,分支指令轉(zhuǎn)移成功后的開銷=2,分支指令轉(zhuǎn)移失敗的開銷=1;根據(jù)題目給出的已知條件,分支指令比重=0.3,其它指令CPI=1。此時指令執(zhí)行的平均CPI應(yīng)為:平均CPI=(1-0.3)*1+0.3*0.8*3+0.3*(1-0.8)*2=1.54控制相關(guān)基于預(yù)測失敗的控制相關(guān)解決方案分支轉(zhuǎn)移失敗分支轉(zhuǎn)移成功控制相關(guān)基于延遲分支的控制相關(guān)解決方案分支轉(zhuǎn)移失敗分支轉(zhuǎn)移成功控制相關(guān)(動態(tài)解決方案)分支目標緩沖區(qū)(Branch-TargetBuffer,BTB)控制相關(guān)分支目標緩沖處理的步驟控制相關(guān)【例2-10】設(shè)一個核心循環(huán)共循環(huán)100次,每次循環(huán)執(zhí)行10條指令,除最后一條用于循環(huán)控制的分支指令外,其它指令的CPI為1。方案1,采用靜態(tài)控制相關(guān)解決方案,始終預(yù)測分支指令不跳轉(zhuǎn),預(yù)測成功開銷為零,預(yù)測不成功開銷為2個時鐘周期;方案2,采用基于BTB的動態(tài)控制相關(guān)解決方案,預(yù)測成功開銷為零,預(yù)測不成功或不命中的真分支的開銷都為4個時鐘周期。求兩種方案下執(zhí)行此核心循環(huán)需要的時鐘周期數(shù)以及方案2相對方案1的性能加速比??刂葡嚓P(guān)方案1執(zhí)行時,由于僅最后1次分支指令能夠預(yù)測成功,因此需要的時鐘周期數(shù)是99*(10+

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論