




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第3章 ARM微處理器體系結構與指令集,主要內容,ARM體系結構的特點 ARM微處理器體系結構 ARM處理器的工作模式 ARM處理器的寄存器組織 流水線 ARM處理器的存儲 ARM處理器的異常 ARM處理器的指令系統(tǒng) ARM處理器的尋址方式 ARM指令集 Thumb指令集,3.1 ARM體系結構的特點,RISC型處理器結構 Thumb指令集 多處理器狀態(tài)模式 兩種處理器工作狀態(tài) 嵌入式在線仿真調試 靈活方便的接口 低電壓功耗的設計,ARM微處理器的特點,采用RISC架構的ARM微處理器一般具有如下特點: 1、體積小、低功耗、低成本、高性能; 3、支持Thumb(16位)/ARM(32位)雙指令
2、集,能很好的兼容8位/16位器件; 3、大量使用寄存器,指令執(zhí)行速度更快; 4、大多數(shù)數(shù)據(jù)操作都在寄存器中完成; 5、尋址方式靈活簡單,執(zhí)行效率高; 6、指令長度固定;,3.2 ARM處理器體系結構,嵌入式處理器的基本結構(1),微處理器是整個系統(tǒng)的核心,通常由3大部分組成:控制單元、算術邏輯單元和寄存器。,嵌入式處理器的基本結構(2),控制單元:主要負責取指、譯碼和取操作數(shù)等基本動作,并發(fā)送主要的控制指令。控制單元中包括兩個重要的寄存器:程序計數(shù)器(PC)和指令寄存器(IR)。程序計數(shù)器用于記錄下一條程序指令在內存中的位置,以便控制單元能到正確的內存位置取指;指令寄存器負責存放被控制單元所取
3、的指令,通過譯碼,產生必要的控制信號送到算術邏輯單元進行相關的數(shù)據(jù)處理工作。,嵌入式處理器的基本結構(2),算術邏輯單元:算術邏輯單元分為兩部分,一部分是算術運算單元,主要處理數(shù)值型的數(shù)據(jù),進行數(shù)學運算,如加、減、乘、除或數(shù)值的比較;另一部分是邏輯運算單元,主要處理邏輯運算工作,如AND、OR、XOR或NOT等運算。,嵌入式處理器的基本結構(2),寄存器:用于存儲暫時性的數(shù)據(jù)。主要是從存儲器中所得到的數(shù)據(jù)(這些數(shù)據(jù)被送到算術邏輯單元中進行處理)和算術邏輯單元中處理好的數(shù)據(jù)(再進行算術邏輯運行或存入到存儲器中。,3.2.1 ARM處理器的工作狀態(tài),處理器有兩種工作狀態(tài): ARM:32位,執(zhí)行字對
4、準的ARM指令 Thumb:16位,執(zhí)行半字對準的Thumb指令 ARM和Thumb之間狀態(tài)的切換不影響處理器的模式或寄存器的內容,ARM微處理器:處理器工作狀態(tài),進入Thumb狀態(tài): 執(zhí)行BX指令,并設置操作數(shù)寄存器的狀態(tài)(位0)為1。 在Thumb狀態(tài)進入異常(IRQ, FIQ, UNDEF, ABORT,SWI etc.),當異常處理返回時自動轉換到Thumb狀態(tài) 進入ARM狀態(tài): 執(zhí)行BX指令,并設置操作數(shù)寄存器的狀態(tài)(位0)為0。 進入異常時,將PC放入異常模式鏈接寄存器中,從異常向量地址開始執(zhí)行也可進入ARM狀態(tài),3.2.2 寄存器組織,ARM處理器有37個寄存器 30個通用寄存器
5、:堆棧及其他通用寄存器 6個狀態(tài)寄存器 1個PC(程序計數(shù)器) 這些寄存器不能同時看到 不同的處理器狀態(tài)和工作模式確定哪些寄存器是對編程者是可見的,ARM微處理器: ARM State寄存器,1.ARM狀態(tài)下的通用寄存器,通用寄存器包括R0R15,可以分為三類: 未分組寄存器R0R7; 分組寄存器R8R14 程序計數(shù)器PC(R15),未分組寄存器R0R7,所有模式下,R0-R7所對應的物理寄存器都是相同的 這八個寄存器是真正意義上的通用寄存器,ARM體系結構中對它們沒有作任何特殊的假設,它們的功能都是等同的。 在中斷或者異常處理程序中一般都需要對這幾個寄存器進行保存。,分組寄存器R8R14,訪
6、問的物理寄存器取決于當前的處理器模式,若要訪問特定的物理寄存器而不依賴當前的處理器模式,則要使用規(guī)定的名字。 R8-R13各有兩組物理寄存器:一組為FIQ模式,另一組是除FIQ以外的其他模式。 R13-R14各有6個分組的物理寄存器,一個用于用戶模式和系統(tǒng)模式,其他5個分別用于5種異常模式。 R13(也被稱為SP指針)被用作棧指針,通常在系統(tǒng)初始化時需要對所有模式下的SP指針賦值,當CPU在不同的模式時棧指針會被自動切換成相應模式下的值。 R14有兩個用途,一是在調用子程序時用于保存調用返回地址,二是在發(fā)生異常時用于保存異常返回地址。,程序計數(shù)器PC(R15),用作程序計數(shù)器(PC),可以被讀
7、寫 ARM state: bits 1:0為0,bits31:3即為 PC. THUMB state:bit 0為0,bits31:1即為 PC,3.ARM狀態(tài)下的狀態(tài)寄存器R16,寄存器R16用作CPSR(Current Program Status Register,當前程序狀態(tài)寄存器),CPSR可在任何運行模式下被訪問,它包括條件標志位、中斷禁止位、當前處理器模式標志位,以及其他一些相關的控制和狀態(tài)位。 每一種運行模式下又都有一個專用的物理狀態(tài)寄存器,稱為SPSR(Saved Program Status Register,備份的程序狀態(tài)寄存器),當異常發(fā)生時,SPSR用于保存CPSR的
8、當前值,從異常退出時則可由SPSR來恢復CPSR。 由于用戶模式和系統(tǒng)模式不屬于異常模式,他們沒有SPSR,當在這兩種模式下訪問SPSR,結果是未知的。,CPSR,CPSR(當前程序狀態(tài)寄存器)在所有的模式下都是可以讀寫的,它主要包含: 條件標志 中斷使能標志 當前處理器的模式 其它的一些狀態(tài)和控制標志,ARM微處理器:程序狀態(tài)寄存器,置0表示執(zhí)行32bit的ARM指令 置1表示執(zhí)行16bit的Thumb指令,Negative,Zero,Carry,Overflow,IRQ中斷的響應: 置1:禁止響應 置0:允許響應,FIQ中斷的響應: 置1:禁止響應 置0:允許響應,ARM微處理器:程序狀態(tài)
9、寄存器,模式控制位M0-M4,Thumb狀態(tài)下的寄存器組織,兩種狀態(tài)下的寄存器組織的關系,Thumb狀態(tài)下的寄存器組織與ARM狀態(tài)下的寄存器組織的關系: Thumb狀態(tài)下和ARM狀態(tài)下的R0R7是相同的。 Thumb狀態(tài)下和ARM狀態(tài)下的CPSR和所有的SPSR是相同的。 Thumb狀態(tài)下的SP對應于ARM狀態(tài)下的R13。 Thumb狀態(tài)下的LR對應于ARM狀態(tài)下的R14。 Thumb狀態(tài)下的程序計數(shù)器對應于ARM狀態(tài)下R15,3.2.3 ARM的工作模式,7種CPU模式,CPU模式的轉變: 軟件控制 異常 外部中斷,ARM微處理器:CPU模式,User模式,程序不能訪問有些受保護的資源,只能
10、通過異常的形式來改變CPU的當前運行模式,特權模式可以存取系統(tǒng)中的任何資源,System模式,與User模式的運行環(huán)境一樣 但是它可以不受任何限制的訪問任何資源 該模式主要用于運行系統(tǒng)中的一些特權任務,FIQ模式,IRQ模式,Supervisor模式,Abort模式,Undefined模式,異常模式:主要是在外部中斷或者程序執(zhí)行非法操作時會觸發(fā),3.2.4 流水線,1 流水線的概念與原理,處理器按照一系列步驟來執(zhí)行每一條指令,典型的步驟如下: (1)從存儲器讀取指令(fetch); (3)譯碼以鑒別它是屬于哪一條指令(decode); (3)從指令中提取指令的操作數(shù)(這些操作數(shù)往往存在于寄存器
11、中)(reg);,(4)將操作數(shù)進行組合以得到結果或存儲器地址(ALU); (5)如果需要,則訪問存儲器以存儲數(shù)據(jù)(mem); (6)將結果寫回到寄存器堆(res)。,2 流水線的分類,到ARM7為止的ARM處理器使用簡單的3級流水線,它包括下列流水線級。 (1)取指令(fetch):從寄存器裝載一條指令。 (3)譯碼(decode):識別被執(zhí)行的指令,并為下一個周期準備數(shù)據(jù)通路的控制信號。在這一級,指令占有譯碼邏輯,不占用數(shù)據(jù)通路。 (3)執(zhí)行(excute):處理指令并將結果寫回寄存器。,1)3級流水線ARM組織,在ARM9TDMI中使用了典型的5級流水線,5級流水線包括下面的流水線級。
12、(1)取指令(fetch):從存儲器中取出指令,并將其放入指令流水線。 (3)譯碼(decode):指令被譯碼,從寄存器堆中讀取寄存器操作數(shù)。在寄存器堆中有3個操作數(shù)讀端口,因此,大多數(shù)ARM指令能在1個周期內讀取其操作數(shù)。,2)5級流水線ARM組織,(3)執(zhí)行(execute):將其中1個操作數(shù)移位,并在ALU中產生結果。如果指令是Load或Store指令,則在ALU中計算存儲器的地址。 (4)緩沖/數(shù)據(jù)(buffer/data):如果需要則訪問數(shù)據(jù)存儲器,否則ALU只是簡單地緩沖1個時鐘周期。 (5)回寫(write-back):將指令的結果回寫到寄存器堆,包括任何從寄存器讀出的數(shù)據(jù)。,在
13、ARM10中,將流水線的級數(shù)增加到6級,使系統(tǒng)的平均處理能力達到了1.3DMIPS/MHz。,3)6級流水線ARM組織,圖3-4 6級流水線指令的執(zhí)行過程,3.2.5 異常,當正常的程序執(zhí)行流程發(fā)生暫時的停止時,稱之為異常,例如處理一個外部的中斷請求。在處理異常之前,當前處理器的狀態(tài)必須保留,這樣當異常處理完成之后,當前程序可以繼續(xù)執(zhí)行。處理器允許多個異常同時發(fā)生,它們將會按固定的優(yōu)先級進行處理。 ARM體系結構中的異常,與8位/16位體系結構的中斷有很大的相似之處,但異常與中斷的概念并不完全等同。,1 ARM體系結構所支持的異常類型,ARM CPU將引起異常的類型分為7種,2 異常優(yōu)先級,3
14、 應用程序中的異常處理,當系統(tǒng)運行時,異??赡軙S時發(fā)生,為保證在ARM處理器發(fā)生異常時不至于處于未知狀態(tài),在應用程序的設計中,首先要進行異常處理,采用的方式是在異常向量表中的特定位置放置一條跳轉指令,跳轉到異常處理程序,當ARM處理器發(fā)生異常時,程序計數(shù)器PC會被強制設置為對應的異常向量,從而跳轉到異常處理程序,當異常處理完成以后,返回到主程序繼續(xù)執(zhí)行。,異常向量,4 對異常的響應,當一個異常出現(xiàn)以后,ARM微處理器會執(zhí)行以下幾步操作 : 1、將下一條指令的地址存入相應連接寄存器LR,以便程序在處理異常返回時能從正確的位置重新開始執(zhí)行。 3、將CPSR復制到相應的SPSR中。 3、根據(jù)異常類型,強制設置CPSR的運行模式位。 4、強制PC從相關的異常向量地址取下一條指令執(zhí)行,從而跳轉到相應的異常處理程序處。,ARM微處理器:異常,當異常出現(xiàn)時,異常模式分組的R14和SPSR用于保存狀態(tài),即: R14_=return link SPSR_=CPSR CPSR4:0=exception mode number CPSR5=0 /*在ARM狀態(tài)執(zhí)行*/ if=Reset or FIQ then CPSR6=1 /*禁止快速中斷*/ CPSR7=1 /*禁止正常中斷*/ PC=exception vector address 當處理異常返回時,將S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030中國野營塑膠用品行業(yè)產業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國自缷車行業(yè)市場現(xiàn)狀分析及競爭格局與投資發(fā)展報告
- 2025至2030中國自卸拖車行業(yè)產業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國自動化油箱清潔系統(tǒng)行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 2025至2030中國脂聯(lián)素檢測行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 2025至2030中國網(wǎng)絡游戲行業(yè)市場深度調研及競爭格局與投資報告
- 2025高三上學期班主任學生檔案管理計劃
- 2025至2030中國織物基層壓板(SRBF)行業(yè)產業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國組合健身器械行業(yè)市場深度研究及發(fā)展前景投資可行性分析報告
- 小學入隊儀式流程模板他
- 2025年金融科技企業(yè)估值方法與投資策略在金融科技企業(yè)并購中的應用案例報告
- 農文旅項目可行性研究報告
- 《無人機介紹》課件
- 2025-2030中國硼酸行業(yè)市場發(fā)展現(xiàn)狀及競爭格局與投資研究報告
- 學校中層干部選拔聘用實施方案中層干部選聘實施方案2
- 生物必修1教師用書
- 園藝植物育種學知到課后答案智慧樹章節(jié)測試答案2025年春浙江大學
- 《電力機車制動系統(tǒng)檢修與維護》課件 項目二任務四檢修中繼閥
- GB/T 15683-2025糧油檢驗大米直鏈淀粉含量的測定
- 2025吉林省安全員C證考試(專職安全員)題庫及答案
- 電鉆清洗消毒流程
評論
0/150
提交評論