回覆列表
  • 1 # 我愛巖豆

    一、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

  • 中秋節和大豐收的關聯?
  • 漢、唐、明這三個帝國如果同一時間出現,誰會贏?