一、ARM七種處理器工作模式:
使用者模式 usr:正常程式執行模式
快速中斷模式FIQ:用於高速資料傳輸和通道處理
外部中斷模式IRQ:用於通常的中斷處理
管理模式svc:供作業系統使用的一種保護模式(SWI)
資料中止中斷模式abt:用於虛擬儲存及儲存保護
未定義指令中止模式und:用於支援透過軟體方針硬體的協處理器
系統模式sys:用於執行特級的作業系統任務
除了使用者模式,其他六種為特權模式,而六種特權模式除了系統模式之外的都是異常模式。
二、暫存器
ARM結構具有31個通用暫存器和6個狀態暫存器,都是32位的暫存器;
通用暫存器分為:備份暫存器、未備份暫存器和程式計數器PC
1、未備份暫存器:R0-R7
2、備份暫存器:
R8-R12在快速中斷FIQ情況下會有備份,R13、R14通常作為棧基址指標SP和連結暫存器LR,在異常模式下都會有備份。
3、程式計數器:R15 PC指標
使用PC指標注意存在讀寫不對稱的問題,由於AR流水作業,PC指標會指向當前執行指令後兩個指標。如果是ARM指令PC指標是當前執行指令地址加兩個字,Thumb指令為半字。
4、狀態暫存器:
CPSR、SPSR在5種異常模式下各自有各自備份暫存器;狀態暫存器包含處理器執行模式設定M0-M4,T指示指令模式Thumb或ARM程式;F/I可以選擇是否遮蔽FIQ、IRQ中斷;N負數、Z零、V符號位溢位、C運算進位及Q增強DSP指令溢位指示。
三、關於大小端的區別:
大端-高位元組在小地址端;小端-高位元組在大地址端。
四、異常中斷及對應的處理器模式
1、復位reset/軟復位 => svc模式 優先順序1(越大越低)
2、未定義指令中止 => undef模式 6
3、軟體中斷SWI斷點 => svc模式 6
4、指令預取中止5、資料訪問中止2 => abt模式(BKPT)
5、外部中斷 => IRQ 4
6、快速中斷 => FIQ 3
一、ARM七種處理器工作模式:
使用者模式 usr:正常程式執行模式
快速中斷模式FIQ:用於高速資料傳輸和通道處理
外部中斷模式IRQ:用於通常的中斷處理
管理模式svc:供作業系統使用的一種保護模式(SWI)
資料中止中斷模式abt:用於虛擬儲存及儲存保護
未定義指令中止模式und:用於支援透過軟體方針硬體的協處理器
系統模式sys:用於執行特級的作業系統任務
除了使用者模式,其他六種為特權模式,而六種特權模式除了系統模式之外的都是異常模式。
二、暫存器
ARM結構具有31個通用暫存器和6個狀態暫存器,都是32位的暫存器;
通用暫存器分為:備份暫存器、未備份暫存器和程式計數器PC
1、未備份暫存器:R0-R7
2、備份暫存器:
R8-R12在快速中斷FIQ情況下會有備份,R13、R14通常作為棧基址指標SP和連結暫存器LR,在異常模式下都會有備份。
3、程式計數器:R15 PC指標
使用PC指標注意存在讀寫不對稱的問題,由於AR流水作業,PC指標會指向當前執行指令後兩個指標。如果是ARM指令PC指標是當前執行指令地址加兩個字,Thumb指令為半字。
4、狀態暫存器:
CPSR、SPSR在5種異常模式下各自有各自備份暫存器;狀態暫存器包含處理器執行模式設定M0-M4,T指示指令模式Thumb或ARM程式;F/I可以選擇是否遮蔽FIQ、IRQ中斷;N負數、Z零、V符號位溢位、C運算進位及Q增強DSP指令溢位指示。
三、關於大小端的區別:
大端-高位元組在小地址端;小端-高位元組在大地址端。
四、異常中斷及對應的處理器模式
1、復位reset/軟復位 => svc模式 優先順序1(越大越低)
2、未定義指令中止 => undef模式 6
3、軟體中斷SWI斷點 => svc模式 6
4、指令預取中止5、資料訪問中止2 => abt模式(BKPT)
5、外部中斷 => IRQ 4
6、快速中斷 => FIQ 3