arm體系結構中有七個工作模式:
0b10000 usr
使用者模式,一般的,唯一沒有特權的模式,也是正常工作模式,不能切換到其他模式
0b10001 fiq
快中斷模式,用於高速資料傳輸,快中斷響應的工作模式
0b10010 irq
中斷模式,通用中斷處理,一般中斷響應的工作模式
0b10011 supervisor
管理模式,作業系統保護模式,復位和軟體中斷響應的工作模式
0b10111 abort
中止模式,虛擬記憶體和儲存器保護模式,指令預取中止和資料訪問中止響應的工作模式
0b11011 undefined
未定義模式,用於軟體**,未定義指令中斷響應的工作模式
0b11111 system
系統模式,非異常的特權模式。
總結:1.只有usr使用者模式是唯一非特權工作模式。2.只有usr使用者模式和sys系統模式是非異常工作模式。
中斷定義:在程式的正常執行中,出現了緊急事件,cpu收到乙個中斷訊號,然後中止正常程式的執行,轉去處理相應的中斷服務程式,並在中斷處理完後,返回到正常程式的執行。
arm體系結構中七個中斷:
中斷向量位址,中斷名稱,中斷優先順序,中斷模式
0x00
復位(reset
):1svc
復位引腳有效產生復位異常中斷,程式跳轉到子程式執行;
復位情況
加電,復位按鍵;
直接跳轉到復位中斷服務子程式
0x04
未定義指令(undefined instruction):
6und
0x08
軟體中斷:使用者自定義的中斷指令
,目的是為了獲取到特權
6svc
0x0c指令預
取中止5
abt
0x10
資料訪問中止
2abt
0x14
0x18
外部中斷請求(irq)
4fiq
0x1c
快中斷請求(fiq)
3irq
psr狀態暫存器
位數:31 30 29 28 -------------------------------7 6 5 4 3 2 1 0
n z c v i f t m5------------m1
n:負數
z:零c:進製或借位
v:溢位
i:irq禁止
f:fiq禁止
t:thumb狀態
m5--m1:工作模式位
中斷流程
用自己的理解來說就是:1.cpu發現中斷,捕獲中斷訊號。2.cpu保護好現場狀態。3.cpu跳轉到相應的中斷服務子程式,解決中斷問題。4.程式設計師清空中斷,恢復保護好的現場狀態。
1. 中斷控制器捕獲當前外設發出的中斷訊號,通知soc
2. soc儲存當前程式的執行環境,然後呼叫中斷服務程式(isr)來處理中斷
3. 在isr中通過讀取中斷控制暫存器,外設的相關暫存器來識別是哪乙個中斷觸發,獲取硬體中斷號irq,跳轉到相應的處理例程完成中斷處理
4. 清除中斷:通過讀取相關中斷控制暫存器和外設相關的暫存器來實現
最後恢復被中斷程式的環境,繼續執行
arm中斷保護和恢復 ARM處理器工作模式詳解
一 儲存器格式 arm體系結構將儲存器看做是從零位址開始的位元組的線性組合。從零位元組到三位元組放置第乙個儲存的字 32位 資料,從第四個位元組到第七個位元組放置第二個儲存的字資料,一次排列。作為32位的微處理器,arm體系結構所支援的最大定址空間為4gb。儲存器格式 指令長度 arm微處理器的指令...
ARM工作模式和彙編
各種模式的切換,可以是程式設計師通過 主動切換 通過寫cpsr暫存器 也可以是cpu在某些情況下自動切換。各種模式下許可權和可以訪問的暫存器不同 作業系統有安全級別要求,因此cpu設計多種模式是為了方便作業系統的多種角色安全等級需要。arm是io與記憶體統一編址的,正常工作之外的流程都叫異常,異常會...
ARM體系工作模式和工作狀態
一 arm體系cpu有以下7種工作模式 1 使用者模式 usr 正常的程式執行模式。不能直接切換到其他模式 2 系統模式 sys 執行作業系統的特權任務。與使用者模式類似,但具有直接切換到其他模式等特權 3 快速中斷模式 fiq 支援高速資料傳輸以及通道處理。fiq異常響應時進入此模式 4 中斷模式...