第3章-嵌入式處理器課件_第1頁
第3章-嵌入式處理器課件_第2頁
第3章-嵌入式處理器課件_第3頁
第3章-嵌入式處理器課件_第4頁
第3章-嵌入式處理器課件_第5頁
已閱讀5頁,還剩40頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

—嵌入式處理器信息工程系王飛2009年2月

嵌入式系統內容提要嵌入式處理器及其體系結構PowerPC體系結構MIPS體系結構ARM體系結構和ARM處理器XScale核PXA255處理器硬件資源ARM處理器的工作狀態與工作模式3.1嵌入式處理器及其體系結構常見的嵌入式處理器體系結構8位16位32/64位PowerPCMIPSARMColdFireX86馮·諾依曼和哈佛體系結構

馮·諾依曼體系結構的特點哈佛結構體系結構的特點馮·諾依曼體系結構指令寄存器控制器數據通道輸入輸出中央處理器存儲器程序指令0指令1指令2指令3指令4數據數據0數據1數據2哈佛體系結構指令寄存器控制器數據通道輸入輸出CPU程序存儲器指令0指令1指令2數據存儲器數據0數據1數據2地址指令地址數據CISC與RISC體系結構CISCRISCRISC體系結構RISC(ReducedIntroductionSetComputer)與CISC結構。固定的指令長度,指令類型少采用Load-Store結構易于實現流水線執行單周期執行3.2PowerPC體系結構IBMPowerPC600PowerPC700PowerPC900PowerPC400飛思卡爾/摩托羅拉MCMPCMPC8XXMPC82XXMPC85XX

3.3MIPS體系結構R2000R3000MIPS324KcMIPS645Kc

3.4ARM處理器介紹ARM公司簡介ARM處理器的應用場合消費電子手持設備汽車電子工業控制網絡及無線產品。。。ARM和RISC的關系ARM體系結構采用RISC設計思想“Load-Store”的存儲結構I-Cache和D-Cache采用多寄存器結構指令32位定長單機器周期每條指令ARM的體系結構系列ARM體系結構版本ARM體系不同版本指令集功能的差異同一體系版本的ARM處理器,可能采用不同的實現技術,性能也可能有很大差異。ARM處理器系列ARM處理器目前常見的系列ARM7ARM9ARM9EIntelXScaleARM7/9處理器系列ARM7ARM7TDMIARM7TDMI-SARM7EJ-SARM720TARM9ARM920TARM922TARM940TT 16位Thumb指令集D 支持片上調試M 增強型內嵌硬件乘法器I 嵌入式ICE硬件3.5.1ARM處理器工作狀態(PROCESSOROPERATINGSTATES)1、處理器有兩種工作狀態:ARM:32位,執行字對準的ARM指令Thumb:16位,執行半字對準的Thumb指令3.5ARM處理器工作狀態與工作模式進入Thumb狀態:執行BX指令,并設置操作數寄存器的狀態(位[0])為1。在Thumb狀態進入異常(IRQ,FIQ,UNDEF,ABORT,SWIetc.),當異常處理返回時自動轉換到Thumb狀態2、ARM和Thumb之間狀態的切換*ARM和Thumb之間狀態的切換不影響處理器的模式或寄存器的內容進入ARM狀態:執行BX指令,并設置操作數寄存器的狀態(位[0])為0。進入異常時,將PC放入異常模式鏈接寄存器中,從異常向量地址開始執行也可進入ARM狀態3.5.1ARM處理器工作模式(processormode)User模式程序不能訪問有些受保護的資源只能通過異常的形式來改變CPU的當前運行模式特權模式可以存取系統中的任何資源System模式與User模式的運行環境一樣但是它可以不受任何限制的訪問任何資源該模式主要用于運行系統中的一些特權任務FIQ模式IRQ模式Supervisor模式Abort模式Undefined模式異常模式:主要是在外部中斷或者程序執行非法操作時會觸發3.6ARM微處理器寄存器組ARM處理器有37個寄存器

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

6個狀態寄存器用戶模式系統模式管理模式中止模式未定義模式外部中斷模式快速中斷模式通用寄存器R0R1R2R3R4R5R6R7R8R8_fiqR9R9_fiqR10R10_fiqR11R11_fiqR12R12_fiqR13(SP)R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14_svcR14_abtR14_undR14_irqR14_fiq程序計數器R15(PC)狀態寄存器CPSR無SPSR_svcSPSR_abtSPSR_undSPSR_irqSPSR_fiqARM微處理器:通用寄存器1、

R0-R7:不同模式的R0-R7物理地址重疊2、R8-R12:快速中斷模式與其它模式的R8-R9寄存器有不同的物理地址3、R13:不同的模式有不同的物理地址堆棧指針ARM微處理器:通用寄存器4、R14:不同的模式有不同的物理地址子程序連接器用途:一是在調用子程序時用于保存調用返回地址二是在發生異常時用于保存異常返回地址。5、R15:程序計數器用作程序計數器(PC),可以被讀寫ARMstate:bits[1:0]為0,bits[31:2]即為PC.THUMBstate:bit[0]為0,bits[31:1]即為PCARM微處理器:通用寄存器ARM微處理器:程序狀態寄存器SPSR:程序狀態寄存器用途:異常發生時,保存當前的CPSR不同的模式有不同的物理地址ARM微處理器:當前程序狀態寄存器置0表示執行32bit的ARM指令置1表示執行16bit的Thumb指令NegativeZeroCarryOverflowIRQ中斷的響應:置1:禁止響應置0:允許響應FIQ中斷的響應:置1:禁止響應置0:允許響應條件標志模式控制位ARM/Thumb控制標志中斷標志1、條件碼標識

N:負數標識。當結果是帶符號的二進制補碼,若結果為負數,則N=1。

Z:零標識,結果為零,置1。

C:進位標識。若加法產生進位,減法無借位,則置1。

V:溢出標識。當加法/減法指令執行發生帶符號溢出時置1。

ARM微處理器:當前程序狀態寄存器1)中斷使能標志

I:IRQ中斷禁止位,置1則禁止IRQ中斷。

F:FIQ快中斷禁止位,置1則禁止FIQ中斷

2)ARM與Thumb指令切換控制位

T:Thumb位:T=0,指示ARM執行;T=1,指示Thumb執行。2、控制位ARM微處理器:當前程序狀態寄存器3)模式控制位M0-M4ARM微處理器:當前程序狀態寄存器2、Thumb狀態下寄存器組3、ARMState與ThumbState寄存器關系3.7ARM處理器的異常中斷異常是指內部或外部引起的請求使處理器做出相應處理的事件異常中斷的響應過程將引起異常指令的下一條指令地址保存到新的異常工作模式下的R14中將CPSR復制到新的異常工作模式下的SPSR中設置當前程序狀態寄存器CPSR中相應的位,使處理器進入相應的執行模式,禁止IRQ中斷,若復位或響應FIQ中斷,還禁止FIQ中斷。將程序計數器PC置成該異常中斷的向量地址異常模式下的R14和SPSR用于保存狀態異常中斷的響應過程

R14_<exception_mode>=returnlinkSPSR_<exception_mode>=CPSRCPSR[4:0]=exceptionmodenumberCPSR[5]=0/*在ARM狀態執行*/if<exception_mode>==ResetorFIQthenCPSR[6]=1/*禁止快速中斷*/CPSR[7]=1/*禁止正常中斷*/PC=exceptionvectoraddress1)恢復被中斷的程序的處理器狀態,即將SPSR的內容復制到CPSR中。2)返回到發生異常中斷的下一條指令處執行,即將LR-mode寄存器內容復制到PC中。3)開放外部中斷和快速中斷從異常中斷處理程序中返回注意:復位異常中斷處理程序,不需要返回。例1:快速中斷請求異常FIQFIQ響應R14-fiq=addressofthenextinstructiontobeexecuted+4SPSR-fiq=CPSRCPSR[4:1]=0b10001/*進入FIQ模式*/CPSR[5]=0/*在ARM狀態執行*/CPSR[6]=1/*禁止FIQ中斷*/CPSR[7]=1/*禁止IRQ中斷*/IfhighvectorsconfiguredthenPC=0xFFFF001CElsePC=0x0000001C從中斷返回SUBSPC,R14,#4例2:指令預取中止異常DABT響應R14-abt=addressoftheabortedinstruction+4SPSR-abt=CPSRCPSR[4:1]=0b10111/*進入中止模式*/CPSR[5]=0/*在ARM狀態執行*//*CPSR[6]不變*/CPSR[7]=1/*禁止IRQ中斷*/IfhighvectorsconfiguredthenPC=0xFFFF000CElsePC=0x0000000C從中斷返回SUBSPC,R14,#4異常入口/出口匯總異常類型返回指令之前的狀態備注ARMR14_xThumbR14_xBLMOVPC,R14PC+4PC+2此處PC為BL,SWI,未定義的指令取指或預取指中止指令的地址軟件中斷SWIMOVSPC,R14_svcPC+4PC+2未定義的指令MOVSPC,R14_undPC+4PC+2預取指中止SUBSPC,R14_abt,#4PC+4PC+4快中斷SUBSPC,R14_fiq,#4PC+4PC+4此處PC為由于FIQ或IRQ占先而沒有被執行的指令的地址中斷SUBSPC,R14_irq,#4PC+4PC+4數據中止SUBSPC,R14_abt,#8PC+8PC+8此處PC為產生數據中止的裝載或保存指令的地址。

復位無——復位時保存在R14_svc中的值不可預知。

3.8ARM的存儲器格式及數據類型ARM的尋址空間是線性的地址空間,為232=4GBytes0to3存儲第一個word,bytes4to7存儲第二個wordARM支持大端(Big-endian)和小端(Little-endian)的內存數據方式.

小端模式:高位數字存放在高位字節中

endian引腳通過下拉電阻和Vss連接大端模式:高位數字存放在低位字節中

endian引腳通過上拉電阻和VDD連接大端的數據存放格式低地址高地址地址A地址A+1地址A+2地址A+3最高有效字節的地址就是該word的地址最高有效字節位于最低地址worda=0xf6

73

4b

cdf6734bcd小端的數據格式

低地址高地址地址A地址A+1地址A+2地址A+3最低有效字節的地址就是該word的地址最低有效字節位于最低地址worda=0xf6

73

4b

cdf6734bcd例如:0x12345678小端方式存放如下:大端方式存放如下:

地址內容地址內容

A78A12A+156A+134A+2

溫馨提示

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

評論

0/150

提交評論