




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章嵌入式微處理器-ARM,大綱,2.1ARM微處理器的工作狀態2.2ARM系列結構的定址方式與記憶體格式2.3指令長度及資料類型2.4處理器模式2.5暫存器內容2.6例外(Exceptions)事件2.7討論,P-2/67,大綱,2.1ARM微處理器的工作狀態2.2ARM系列結構的定址方式與記憶體格式2.3指令長度及資料類型2.4處理器模式2.5暫存器內容2.6例外(Exceptions)事件2.7討論,P-3/67,ARM微處理器的工作狀態一般有兩種:ARM狀態,此時處理器執行32位元的字對齊的ARM指令。Thumb狀態,此時處理器執行16位元,半字元組對齊的Thumb指令。在程式的執行過程中,微處理器可以隨時在兩種工作狀態之間切換,並且處理器工作狀態的轉變並不影響處理器的工作模式和相應暫存器中的內容。,P-4/67,2.1ARM微處理器的工作狀態,範例程式片段:.code32/從此處起的程式以ARM指令集編譯bxr0/若r031:1為位址label1,r00為1,當跳躍/至label1處執行時,切換為Thumb指令集態.code16/指示從此處的程式為Thumb指令集狀態label1:/label1程式進入點,2.1ARM微處理器的工作狀態,P-5/67,大綱,2.1ARM微處理器的工作狀態2.2ARM系列結構的定址方式與記憶體格式2.3指令長度及資料類型2.4處理器模式2.5暫存器內容2.6例外(Exceptions)事件2.7討論,P-6/67,ARM系列結構將記憶體看作是從零位址開始的位元組之線性組合的方式。從零位元組到三位元組放置第一個記憶體的字元組資料從第四個位元組到第七個位元組放置第二個記憶體的字元組資料,依次排列。32位元的微處理器,ARM系列結構所支援的最大定址空間為4GB(232位元組)。,P-7/67,2.2ARM系列結構的定址方式與記憶體格式,位元組定址若是無號數的話,可定址的範圍:02321。可視為230個32位元組,以字元對齊(word-aligned)的話,則位址可被4整除。字元組對齊的A,是由A,A+1,A+2,A+3位元組所組成。V4以上的版本,定址空間可視為由231個16位元的半位元組所組成。若是半字元組對齊(halfword-aligned)的話,則位址可被2整除,且半字元組對齊的A,是由A,A+1位元組所組成。,P-8/67,2.2ARM系列結構的定址方式與記憶體格式,而在ARM系列結構可以用兩種方法存取字元組資料大端(BigEndian)格式在這種格式中,字元組資料的高位元組是存儲在低位址中,而字元組資料的低位元組則存放在高位址中,如圖2.1所示。這一系列的微處理器以Motorola系列的晶片組為主要的代表。字元組對齊的位元組或是半字元組是該位址的最高有效的位元組或是半字元組。半字元組對齊的位元組是該位址的半字元組的最高有效的位元組。,P-9/67,2.2ARM系列結構的定址方式與記憶體格式,而在ARM系列結構可以用兩種方法存取字元組資料小端(LittleEndian)格式與大端存儲格式相反,在小端存儲格式中,低位址中存放的是字元組資料的低位元組,高位址存放的是字元組資料的高位元組。這一系列的微處理器以Atmel系列的晶片組為主要的代表。字元組對齊的位元組或是半字元組是該位址的最低有效的位元組或是半字元組。半字元組對齊的位元組是該位址的半字元組的最低有效的位元組。,2.2ARM系列結構的定址方式與記憶體格式,P-10/67,大綱,2.1ARM微處理器的工作狀態2.2ARM系列結構的定址方式與記憶體格式2.3指令長度及資料類型2.4處理器模式2.5暫存器內容2.6例外(Exceptions)事件2.7討論,P-11/67,ARM微處理器的指令長度可以是32位元(在ARM狀態下),也可以為16位元(在Thumb狀態下)。ARM微處理器中支援位元組(8位元),半字元組(16位元)以及字元組(32位元)三種資料類型。其中,字需要4位元組對齊(位址的低兩位元為0),半字元組需要2位元組對齊(位址的最低位為0)。,2.3指令長度及資料類型,P-12/67,大綱,2.1ARM微處理器的工作狀態2.2ARM系列結構的定址方式與記憶體格式2.3指令長度及資料類型2.4處理器模式2.5暫存器內容2.6例外(Exceptions)事件2.7討論,P-13/67,ARM微處理器支援7種執行模式,分別為:使用者模式(UserMode,usr):ARM微處理器正常的程式執行狀態快速中斷模式(FastInterruptRequestMode,FIQ):應用於高速資料傳輸或通道處理。外部中斷模式(InterruptRequestMode,IRQ):用於通用的中斷處理。管理者模式(SupervisorMode,SVC):作業系統使用的保護模式。中止模式(AbortMode,ABT):當資料或指令預取終止時進入該模式,可用於虛擬儲存及儲存保護。系統模式(SystemMode,sys):執行具有特權的作業系統任務。未定義指令中止模式(UNDefinedMode,UND):當未定義的指令執行時進入該模式,可用於支援硬體輔助運算器的軟體除錯。,P-14/67,2.4處理器模式,大綱,2.1ARM微處理器的工作狀態2.2ARM系列結構的定址方式與記憶體格式2.3指令長度及資料類型2.4處理器模式2.5暫存器內容2.6例外(Exceptions)事件2.7討論,P-15/67,整個ARM微處理器的暫存器中,共有37個32位元暫存器,其中31個為通用暫存器,6個為程式狀態暫存器。暫存器是不能被同時被存取,至於哪些暫存器是可編程存取的,則取決於微處理器的工作狀態以及目前的執行模式。任何時刻,通用暫存器R0R14、程式計數器PC、一個或兩個程式狀態暫存器都是可存取的。,2.5暫存器內容,P-16/67,通用暫存器包括R0R15,可以分為三類:未分區塊暫存器R0R7:在所有的執行模式下,未分區塊暫存器都指向同一個實體暫存器,他們未被系統用作特殊的用途。但是在中斷或例外事件處理進行執行模式轉換時,由於不同的處理器執行模式均使用相同的實體暫存器,可能會造成暫存器中資料被破壞或是被更改。,P-17/67,2.5.1ARM狀態下的暫存器內容,分區塊暫存器R8R14對於分區塊暫存器,他們每一次所存取的實體暫存器與處理器目前的執行模式有關。對於R8R12來說,每個暫存器對應兩個不同的實體暫存器。例如,當使用FIQ模式時,存取暫存器是R8_FIQR12_FIQ;當使用除FIQ模式以外的其他模式時,存取暫存器就變成R8_USRR12_USR。對於R13、R14來說,每個暫存器對應6個不同的實體暫存器,其中的一個是使用者模式與系統模式共用,另外5個實體暫存器對應於其他5種不同的執行模式。,P-18/67,2.5.1ARM狀態下的暫存器內容,分區塊暫存器R8R14R14也稱作副程式鏈結暫存器(SubroutineLinkRegister)或鏈結暫存器(LR)。當執行BL副程式呼叫指令時,R14中可以取得R15(程式計數器PC)的備份。其他情況下,R14則用來作為通用暫存器。而我們可以加以推衍,當發生中斷或例外事件時,對應的分區塊暫存器R14_SVC、R14_IRQ、R14_FIQ、R14_ABT和R14_UND用來保存R15的返回值。而在每一種執行模式下,都可用R14保存副程式的返回位址,當用BL或BLX指令呼叫副程式時,將PC的目前值拷貝給R14,執行完副程式後,又將R14的值拷貝回PC,即可完成副程式的呼叫返回。,P-19/67,2.5.1ARM狀態下的暫存器內容,程式計數器PC(R15)暫存器R15用作程式計數器(PC)。在ARM狀態下,位元1:0為0,位元31:2用於保存PC值;在Thumb狀態下,位元0為0,位元31:1則用於保存PC值;雖然R15可以用作通用暫存器,但是有一些指令在使用R15時有一些特殊限制,若不注意的話,執行的結果將是不可預測的。在ARM狀態下,PC的bit-0和bit-1是0,在Thumb狀態下,PC的bit-0則是0。,P-20/67,2.5.1ARM狀態下的暫存器內容,R16暫存器:R16暫存器是CPSR(CurrentProgramStatusRegister,目前程式狀態暫存器),CPSR可在任何執行模式下被存取,它包括條件旗標(旗標)位元、中斷除能位元、當前處理器模式旗標(旗標)位元,以及其他一些相關的控制和狀態位元。每一種執行模式下又都有一個專用的實體狀態暫存器,稱之為SPSR(SavedProgramStatusRegister,備份程式狀態暫存器)。當例外事件發生時,SPSR用來保存CPSR的目前值,而從例外事件退出時,則可由SPSR的備份值來恢復CPSR暫存器。由於使用者模式和系統模式不屬於例外模式,所以都不具有SPSR。若是在這兩種模式下,來存取SPSR的話,則結果是未知的。,2.5.1ARM狀態下的暫存器內容,P-21/67,ARM系列結構中,包含一個目前程式狀態暫存器(CPSR)和五個備份程式狀態暫存器(SPSRs)。備份程式狀態暫存器是用來進行例外事件處理,其功能包括:保存ALU中的當前操作資訊控制允許和除能中斷設置處理器的執行模式條件碼旗標欄位(ConditionCodeFlags)N、Z、C與V均為條件碼旗標位元。它們的內容可被算術或邏輯運算的結果而有所改變,並且可以決定某條指令是否被執行。在ARM狀態下,絕大多數的指令都是有條件執行的。在Thumb狀態下,僅有分支指令是有條件執行的。,P-22/67,2.5.3程式狀態暫存器,條件碼旗標位元的各個位元的具體含義,P-23/67,2.5.3程式狀態暫存器,PSR的低8位元(包括I、F、T和M4:0)稱為控制位元。當發生例外事件的情況時,這些位元可以被改變。如果處理器要執行特權模式,這些位元也可以由程式來加以修改。中斷除能位元I與F:I=1,除能IRQ中斷。F=1,除能FIQ中斷。T旗標位元:該位元反映處理器的執行狀態。,P-24/67,2.5.3程式狀態暫存器,大綱,2.1ARM微處理器的工作狀態2.2ARM系列結構的定址方式與記憶體格式2.3指令長度及資料類型2.4處理器模式2.5暫存器內容2.6例外(Exceptions)事件2.7討論,P-25/67,當正常的程式執行流程發生暫時的停止時,稱之為例外事件。例:處理一個外部的中斷請求。在處理例外事件之前,目前處理器的狀態必須加以保留,這樣當例外事件處理完成之後,目前程式才可以繼續執行。處理器允許多個例外事件同時發生,它們將會按固定的優先順序來進行處理。這種存在ARM系列結構中的例外事件,是與8位元/16位元系列結構的中斷有很大的相似之處,但例外事件與中斷的概念並不完全相同。,2.6例外(Exceptions)事件,P-26/67,ARM系列結構所支援的例外事件以及其具體含義,2.6.1ARM系列結構所支援的例外事件類型,P-27/67,當一個例外事件出現以後,會將下一條指令的位址存入相應鏈結暫存器LR,以便程式在處理例外事件返回時能從正確的位置重新開始執行。若例外事件是從ARM狀態進入的話,LR暫存器中保存的是下一條指令的位址(目前PC4或PC8,與例外事件的類型有關);若例外事件是從Thumb狀態進入,則在LR暫存器中保存目前PC的偏移量。這樣,例外事件處理程式就不需要確定例外事件是從何種狀態進入的。例如:在軟體中斷例外SWI事件中,指令MOVPC,R14_SVC總是會返回到下一條指令,不管SWI是在ARM狀態執行,還是在Thumb狀態執行。,2.6.2對例外事件的回應方式,P-28/67,當例外事件處理完畢之後,對於程式設計者來說,需執行下列的工作(同時):1、將目前程式操作模式的SPSR內容複製至CPSR。2、根據目前程式操作模式的鏈結暫存器LR,R14值,將返回位址值設定至PC中。返回位址的值需根據R14的值,目前處理器指令集狀態和程式操作模式來計算出。例如,SUBSPC,R14_SVC,#4。3、若在進入例外處理時設置了中斷除能位元,要在此加以清除掉。,2.6.3從例外事件返回,P-29/67,重置當系統的電源重新被啟動或是ARM微處理器的重置訊號輸入接腳上,偵測到產生重置電位時,則ARM微處理器就會產生重置例外事件。重置例外事件處理的程式通常是用來設定或是執行下列的工作,以其整個系統的運作重新正常地執行:設定重置例外事件向量表。啟始暫存器與堆疊位址。若系統是包含MMU,則啟始記憶體系統。啟始輸出入設備的外部接腳狀態。設定此系統所要用到的中斷。設定處理器指令狀態或是操作模式。設定相當變數的初始值。呼叫主程式。,2.6.4各類型例外事件的具體描述,重置當發生重置例外事件時,目前正在執行的指令會被放棄,但是仍會持續地讀取指令,直到重置訊號輸入接腳恢復到正常電位為止。微處理器會執行下列的步驟:將目前的程式計數值暫存器PC的數值與CPSR的數值分別複製到R14_SVC與SPSR_SVC中。將CPSR中的模式位元設定M4:0設定為0b100
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 12279.3-2025心血管植入器械人工心脏瓣膜第3部分:经导管植入式人工心脏瓣膜
- GB/T 32934-2025全球热带气旋中文命名
- 如何讲好线上培训课件
- 小学生认识火箭课件图片
- 《医疗护理礼仪》课件
- 路人王签约合同协议
- 《中风后康复之路》课件
- 车间劳务外包合同协议
- 转让押金无合同协议
- 转让软件系统合同协议
- 2025年工程管理试题及答案
- 《电缆状态监测》课件
- 青梅绿茶测试题及答案
- GA 1812.2-2024银行系统反恐怖防范要求第2部分:数据中心
- 联锁系统设备调试施工作业指导书
- 热网工程施工组织设计方案
- 乡村振兴智慧农业项目计划书
- 2025年上半年黑龙江牡丹江市“市委书记进校园”活动暨“雪城优才”企事业单位人才招聘1324人重点基础提升(共500题)附带答案详解
- 髌骨骨折的中医护理查房
- 肺气肿患者的护理常规
- 消毒供应中心管理制度
评论
0/150
提交评论