第4講CPU硬件結構及ARM處理器_第1頁
第4講CPU硬件結構及ARM處理器_第2頁
第4講CPU硬件結構及ARM處理器_第3頁
第4講CPU硬件結構及ARM處理器_第4頁
第4講CPU硬件結構及ARM處理器_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

姚英彪杭州電子科技大學嵌入式CPU硬件結構CPU性能公式Tcpu=N*CPI*CCTN,指令條數(shù),由指令集決定CPI,平均每條指令時鐘周期數(shù),由指令集和處理器硬件結構共同決定CCT,處理器時鐘周期,頻率的倒數(shù),主要由硬件結構決定單處理器性能提升技術降低CPI和CCT經(jīng)典的RISC5級流水結構有關流水線性能的若干問題流水線并不能減少(而且一般是增加)單條指令的執(zhí)行時間,但卻能提高吞吐率。增加流水線的深度(段數(shù))可以提高流水線的性能。流水線的深度受限于流水線的延遲和流水線的額外開銷。流水線的額外開銷包括:流水寄存器的延遲(建立時間和傳輸延遲)時鐘扭曲當時鐘周期小到與額外開銷相同時,流水已沒有意義。因為這時在每一個時鐘周期中已沒有時間來做有用的工作。有關流水線性能的若干問題需用高速的鎖存器來作為流水寄存器。相關問題

如果流水線中的指令相互獨立,則可以充分發(fā)揮流水線的性能。但在實際中,指令間可能會是相互依賴,這會降低流水線的性能。流水線中的相關是指相鄰或相近的兩條指令因存在某種關聯(lián),后一條指令不能在原指定的時鐘周期開始執(zhí)行。相關的種類◆結構相關

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

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

當流水線遇到分支指令和其他能夠改變PC值的指令時,就會發(fā)生控制相關。結構相關的解決思路所有功能單元完全流水化如將乘法器/除法器流水設置足夠的硬件資源,硬件代價很大。如采用哈佛結構有些設計方案允許有結構相關降低成本減少部件的延遲數(shù)據(jù)相關解決思路當指令在流水線中重疊執(zhí)行時,流水線有可能改變指令讀/寫操作數(shù)的順序,使之不同于它們在非流水實現(xiàn)時的順序,這將導致數(shù)據(jù)相關。利用定向技術減少數(shù)據(jù)相關引起的暫停定向技術的主要思路:在發(fā)生上述數(shù)據(jù)相關時,如果能夠?qū)⒂嬎憬Y果從其產(chǎn)生的地方直接送到需要它的地方,就可以避免暫停。當定向硬件檢測到前面某條指令的結果寄存器就是當前指令的源寄存器時,控制邏輯會將前面那條指令的結果直接從其產(chǎn)生的地方定向到當前指令所需的位置??刂葡嚓P解決思路“凍結”或“排空”流水線

在流水線中停住或刪除分支后的指令,直到知道轉(zhuǎn)移目標地址。優(yōu)點:簡單。預測

預測分支指令是否跳轉(zhuǎn)及跳轉(zhuǎn)目標。預測正確,處理器正常執(zhí)行;預測錯誤,恢復流水線。延遲分支

(delayedbranch)把分支開銷為n的分支指令看成是延遲長度為n的分支指令,其后緊跟有n個延遲槽。流水線遇到分支指令時,按正常方式處理,順帶執(zhí)行延遲槽中的指令,從而減少分支開銷。n個延遲槽指令必須執(zhí)行ARM9功能圖ARM流水線體系結構:馮諾依曼結構單一存儲、統(tǒng)一編址、分時復用體系結構:哈佛結構分開存儲、獨立編址、兩倍帶寬、執(zhí)行效率更高總線總線是在模塊與模塊之間或者設備與設備之間傳送信息的一組公用信號線,是系統(tǒng)在主控器(模塊或設備)的控制下,將發(fā)送器(模塊或設備)發(fā)出的信息準確地傳送給某個接收器(模塊或設備)的信號通路。總線的特點在于其公用性,即它同時掛接多個模塊或設備。20總線按其信號線性質(zhì)不同一般可分為:讀寫控制線數(shù)據(jù)傳輸握手線總線仲裁線中斷控制線DMA控制線控制總線CB:地址總線AB:數(shù)據(jù)總線DB:總線分組分類用于把數(shù)據(jù)送入或送出MPU,為雙向總線。用于指定數(shù)據(jù)送往或來自何處,為MPU發(fā)出的單向總線??偩€模塊連接在總線上的模塊(設備)有三種:

總線主模塊:工作于主控方式,可以控制和管理總線??偩€從模塊:工作于受控方式,只能在主模塊控制下工作。主從模塊:有時工作于主控方式,有時工作于受控方式??偩€操作及控制

一個總線操作周期一般要分成4個階段:總線請求和仲裁階段尋址階段傳數(shù)階段結束階段需要使用總線的主模塊提出請求,由總線使用的仲裁機構確定把下一個傳輸周期的總線使用權分配給哪一個請求源。

取得使用權的主模塊通過總線發(fā)出本次要訪問的從模塊的存儲器地址或I/O端口地址及有關命令,讓參與本次傳輸?shù)膹哪K開始啟動??偩€操作及控制

一個總線操作周期一般要分成4個階段:總線請求和仲裁階段尋址階段傳數(shù)階段結束階段主模塊和從模塊進行數(shù)據(jù)交換。在主模塊發(fā)出的控制信號作用下,數(shù)據(jù)由源模塊發(fā)出,經(jīng)數(shù)據(jù)總線傳送到目的模塊

主從模塊的有關信息均從系統(tǒng)總線上撤除,讓出總線,以便其他模塊能繼續(xù)使用??偩€操作及控制總線請求與仲裁尋址傳數(shù)結束(撤出總線)總線操作四階段總線握手總線仲裁25

總線仲裁又叫總線判決,其目的就是合理地控制和管理系統(tǒng)中需要占用總線的請求源,在多個源同時提出總線請求時,以一定的優(yōu)先算法仲裁哪個應獲得對總線的占用權。如果沒有總線仲裁,很容易產(chǎn)生總線沖突。

總線沖突是指在總線上同時有兩個或兩個以上的模塊要傳送相互矛盾的信息時引起的沖突,沖突的表現(xiàn)形式后果因驅(qū)動總線的邏輯器件類型而異。

因此總線仲裁就是要確保任何時刻總線上最多只有一個模塊發(fā)送信息,而決不出現(xiàn)多個主控器同時占用總線的現(xiàn)象??偩€仲裁26總線握手

總線握手主要解決主模塊取得總線占用權后,如何在主模塊和從模塊之間實現(xiàn)可靠的尋址和數(shù)據(jù)傳輸?shù)膯栴}。常見的總線握手方法:1.同步總線2.異步總線3.半同步總線總線性能指標總線的主要性能指標有:

總線帶寬總線位寬總線工作頻率

總線帶寬指的是單位時間內(nèi)總線上可傳送的數(shù)據(jù)量,又稱總線最大傳輸率。

總線位寬指的是總線上能同時傳送的數(shù)據(jù)位數(shù)。

總線工作頻率指的是用于控制總線操作周期的時鐘信號頻率,所以也叫總線時鐘頻率。

三者關系:總線帶寬=總線位寬×總線工作頻率總線標準所謂總線標準是指國際工業(yè)界正式公布或推薦的連接各個模塊的總線規(guī)范,是把各種不同的模塊或設備組成計算機系統(tǒng)或計算機應用系統(tǒng)時必須遵循的連接規(guī)范。無論哪種總線標準,盡管在設計細節(jié)和適應范圍上有很多不同,各有特點,但從總體原則上看,每種總線設計所要解決的問題是大體相同的,其總線規(guī)范(Specification)一般都應包括如下幾部分:機械結構規(guī)范、功能規(guī)范、電氣規(guī)范AMBA總線AMBA(AdvancedMicrocontrollerBusArchitecture)是ARM公司研發(fā)的一種總線規(guī)范。包括AHB(AdvancedHigh-performanceBus):用于高性能系統(tǒng)模塊的連接,支持突發(fā)模式數(shù)據(jù)傳輸和事務分割;可以有效地連接處理器、片上和片外存儲器,支持流水線操作。APB(AdvancedPeripheralBus):用于較低性能外設的簡單連接,一般是接在AHB系統(tǒng)總線上的第二級總線。AMBA總線測試接口ARMCPUSDRAMControlSRAMLCDControl橋并行接口串行接口TimerUART基于AMBA總線的典型系統(tǒng)AHB系統(tǒng)總線APB外部總線編程模型大小端格式大端的數(shù)據(jù)存放格式小端的數(shù)據(jù)存放格式低地址高地址地址A地址A+1地址A+2地址A+3worda=0xf6

73

4b

cdf6734bcd低地址高地址地址A地址A+1地址A+2地址A+3f6734bcdARM微處理器工作模式User模式程序不能訪問有些受保護的資源只能通過異常的形式來改變CPU的當前運行模式特權模式可以存取系統(tǒng)中的任何資源System模式與User模式的運行環(huán)境一樣但是它可以不受任何限制的訪問任何資源該模式主要用于運行系統(tǒng)中的一些特權任務FIQ模式IRQ模式Supervisor模式Abort模式Undefined模式異常模式:主要是在外部中斷或者程序執(zhí)行非法操作時會觸發(fā)ARM微處理器:寄存器ARM處理器有37個寄存器

31個通用寄存器:程序計數(shù)器、堆棧及其他通用寄存器

6個狀態(tài)寄存器這些寄存器不能同時看到不同的處理器狀態(tài)和工作模式確定哪些寄存器是對編程者是可見的ARM微處理器:ARMState寄存器ARM微處理器:ThumbState寄存器ARM微處理器:通用寄存器通用寄存器是R0-R15的寄存器,分為三類

沒有對應影子寄存器的寄存器R0-R7

有對應影子寄存器的寄存器R8-R14

程序計數(shù)器R15(或者PC)

影子寄存器是指該寄存器在不同的模式下對應的物理寄存器ARM微處理器:通用寄存器R0-R7所有模式下,R0-R7所對應的物理寄存器都是相同的這八個寄存器是真正意義上的通用寄存器,ARM體系結構中對它們沒有作任何特殊的假設,它們的功能都是等同的。在中斷或者異常處理程序中一般都需要對這幾個寄存器進行保存。ARM微處理器:通用寄存器R8-R14訪問的物理寄存器取決于當前的處理器模式,若要訪問特定的物理寄存器而不依賴當前的處理器模式,則要使用規(guī)定的名字。R8-R12各有兩組物理寄存器:一組為FIQ模式,另一組是除FIQ以外的其他模式。R13-R14各有6個分組的物理寄存器,一個用于用戶模式和系統(tǒng)模式,其他5個分別用于5種異常模式。R13(也被稱為SP指針)被用作棧指針,通常在系統(tǒng)初始化時需要對所有模式下的SP指針賦值,當CPU在不同的模式時棧指針會被自動切換成相應模式下的值。R14有兩個用途,一是在調(diào)用子程序時用于保存調(diào)用返回地址,二是在發(fā)生異常時用于保存異常返回地址。ARM微處理器:程序狀態(tài)寄存器CPSR(當前程序狀態(tài)寄存器)在所有的模式下都是可以讀寫的,它主要包含:條件標志中斷使能標志當前處理器的模式其它的一些狀態(tài)和控制標志ARM微處理器:程序狀態(tài)寄存器置0表示執(zhí)行32bit的ARM指令置1表示執(zhí)行16bit的Thumb指令NegativeZeroCarryOverflowIRQ中斷的響應:置1:禁止響應置0:允許響應FIQ中斷的響應:置1:禁止響應置0:允許響應條件標志模式控制位ARM/Thumb控制標志中斷標志ARM微處理器:程序狀態(tài)寄存器模式控制位M0-M4ARM微處理器:異常異常是由內(nèi)部或者外部原因引起的,當異常發(fā)生時CPU將暫停執(zhí)行當前指令自動到指定的向量地址讀取指令并且執(zhí)行。ARM到向量地址的地方讀取指令,也就是ARM的向量地址處存放的是一條指令(一般是一條跳轉(zhuǎn)指令)7種異常ARM微處理器:異常Reset:CPU被復位后,進入SupervisorMode并且禁止FIQ和IRQ。UndefinedInstructions:CPU執(zhí)行一條未被定義的指令時就會觸發(fā)該異常。這種機制可以用于通過軟件仿真的方式擴展THUMBorARM指令集。SWI:軟中斷(SWI)是執(zhí)行SWI指令時觸發(fā)的,該異常主要用于OS的系統(tǒng)調(diào)用。IRQ:當外部IRQ輸入請求發(fā)生時(IRQ中斷已經(jīng)被使能),觸發(fā)該異常。ARM微處理器:異常FIQ:FIQ通常被用于快速傳輸數(shù)據(jù)。當外部FIQ輸入請求發(fā)生時(FIQ中斷已經(jīng)被使能),觸發(fā)該異常。PrefetchAbort:CPU在讀取指令時發(fā)生讀內(nèi)存錯誤并且該指令又要被執(zhí)行則觸發(fā)該異常;如果只是在讀取指令時發(fā)生了內(nèi)存錯誤而該指令又未被執(zhí)行則不會觸發(fā)該異常。DataAbort:當CPU在讀寫數(shù)據(jù)時,如果發(fā)生錯誤則觸發(fā)該異常。ARM微處理器:異常異常的優(yōu)先級ARM異常相量表ARM微處理器的異常處理當異常出現(xiàn)時,異常模式分組的R14和SPSR用于保存狀態(tài),即:

R14_<exception_mode>=returnlinkS

溫馨提示

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

評論

0/150

提交評論