freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

arm概述及其編程模型-閱讀頁

2025-05-27 13:57本頁面
  

【正文】 式,他們沒有 SPSR,當在這兩種模式下訪問 SPSR,結果是未知的 。 ? 同樣,每一種特權模式下都有一組 SP、 LR和 SPSR。 ? Thumb狀態(tài)下和 ARM狀態(tài)下的 CPSR和所有的 SPSR是相同的。 ? Thumb狀態(tài)下的 LR對應于 ARM狀態(tài)下的 R14。 ARM 原理與應用 Thumb狀態(tài)下的寄存器與 ARM狀態(tài)下的寄存器關系圖 ARM微處理器的寄存器格式 ARM 原理與應用 訪問 THUMB狀態(tài)下的高位寄存器( Hiregisters) 在 Thumb狀態(tài)下,高位寄存器 R8~ R15并不是標準寄存器集的一部分,但可使用匯編語言程序受限制的訪問這些寄存器,將其用作快速的暫存器。 ARM 原理與應用 程序狀態(tài)寄存器 ARM微處理器的寄存器格式 ? ARM體系結構包含一個當前程序狀態(tài)寄存器( CPSR)和五個備份的程序狀態(tài)寄存器( SPSRs)。它們的內(nèi)容可被算術或邏輯運算的結果所改變,并且可以決定某條指令是否被執(zhí)行 ARM微處理器的寄存器格式 ? 在 ARM狀態(tài)下,絕大多數(shù)的指令都是有條件執(zhí)行的。 ARM 原理與應用 影響標志位的指令 標志位 含 義 N 當用兩個補碼表示的帶符號數(shù)進行運算時, N=1 表示運算的結果為負數(shù); N=0 表示運算的結果為正數(shù)或零; Z Z=1 表示運算的結果為零; Z=0表示運算的結果為非零; C 加法運算結果進位時, C=1,減法運算借位時, C=0; 移位操作的非加 /減運算指令, C為移出的最后一位; 其他的非加 /減運算指令, C的值通常不改變。 對于其他的非加 /減運算指令, V的值通常不改變。在其他版本中, Q標志位無定義。如果處理器運行 特權模式 ,這些位也可以由程序修改。 ? F=1 禁止 FIQ中斷。 ? ARM體系結構 v5及以上的版本的非 T系列處理器,當該位為 1時,執(zhí)行下一條指令以引起未定義的指令異常;當該位為 0時,表示運行于 ARM狀態(tài)。在處理異常之前,當前處理器的狀態(tài)必須保留,這樣當異常處理完成之后,當前程序可以繼續(xù)執(zhí)行。 ARM異常處理 ? ARM體系結構中的異常,與 8位 /16位體系結構的中斷有很大的相似之處,但異常與中斷的概念并不完全等同。 未定義指令 遇到不能處理的指令時,產(chǎn)生未定義指令異常。 指令預取中止 處理器預取指令的地址不存在,或該地址不允許當前指令訪問,產(chǎn)生指令預取中止異常。 IRQ 外部中斷請求有效,且 CPSR中的 I位為 0時,產(chǎn)生 IRQ異常。 ARM異常處理 ARM 原理與應用 對異常的響應 ARM異常處理 ? 當一個異常出現(xiàn)以后, ARM微處理器會執(zhí)行以下幾步操作 ? 將下一條指令的地址存入相應連接寄存器 LR,以便程序在處理異常返回時能從正確的位置重新開始執(zhí)行。 ? 根據(jù)異常類型,強制設置 CPSR的運行模式位。 ARM 原理與應用 異常向量表 ( Exception Vectors) 地 址 異 常 進入模式 0x0000,0000 復位 管理模式 0x0000,0004 未定義指令 未定義模式 0x0000,0008 軟件中斷 管理模式 0x0000,000C 中止(預取指令) 中止模式 0x0000,0010 中止(數(shù)據(jù)) 中止模式 0x0000,0014 保留 保留 0x0000,0018 IRQ IRQ 0x0000,001C FIQ FIQ ARM異常處理 ARM 原理與應用 R14_Exception_Mode = Return Link SPSR_Exception_Mode = CPSR CPSR[4:0] = Exception Mode Number CPSR[5] = 0 If Exception_Mode == Reset or FIQ then CPSR[6] = 1 CPSR[7] = 1 PC = Exception Vector Address 異常響應偽代碼 ARM異常處理 ? 處理器處于 Thumb狀態(tài),則當異常向量地址加載入 PC時,處理器自動切換到 ARM狀態(tài)。 ? 將 SPSR復制回 CPSR中。 ? 可以認為應用程序總是從復位異常處理程序開始執(zhí)行的,因此復位異常處理程序不需要返回。 ARM異常處理 ? 若將 CPSR的 F位置為 1,則會禁止 FIQ中斷,若將 CPSR的 F位清零,處理器會在指令執(zhí)行時檢查 FIQ的輸入。 ? 可由外部通過對處理器上的 nFIQ引腳輸入低電平產(chǎn)生 FIQ。 ARM異常處理 ? 若將 CPSR的 I位置為 1,則會禁止 IRQ中斷,若將 CPSR的 I位清零,處理器會在指令執(zhí)行完之前檢查 IRQ的輸入。 ?不管是在 ARM狀態(tài)還是在 Thumb狀態(tài)下進入 IRQ模式, IRQ處理程序均可以執(zhí)行以下指令返回: SUBS PC , R14_irq , 4 ARM 原理與應用 ABORT(中止) 產(chǎn)生中止異常意味著對存儲器的訪問失敗 ARM微處理器在存儲器訪問周期內(nèi)檢查是否發(fā) 生中止異常。 ? 數(shù)據(jù)中止:發(fā)生在數(shù)據(jù)訪問時。 ? 若數(shù)據(jù)中止發(fā)生,系統(tǒng)的響應與指令的類型有關。軟件中斷處理程序執(zhí)行以下指令可以從 SWI模式返回,無論是在 ARM狀態(tài)還是 Thumb狀態(tài): MOVS PC , R14_svc 以上指令恢復 PC(從 R14_svc)和 CPSR(從SPSR_svc) 的值,并返回到 SWI的下一條指令。采用這種機制,可以通過軟件仿真擴展 ARM或 Thumb指令集。 ARM 原理與應用 異常向量表( Exception Vectors) 地 址 異 常 進入模式 0x0000,0000 復位 管理模式 0x0000,0004 未定義指令 未定義模式 0x0000,0008 軟件中斷 管理模式 0x0000,000C 中止(預取指令) 中止模式 0x0000,0010 中止(數(shù)據(jù)) 中止模式 0x0000,0014 保留 保留 0x0000,0018 IRQ IRQ 0x0000,001C FIQ FIQ ARM異常處理 ARM 原理與應用 異常優(yōu)先級( Exception Priorities) 優(yōu)先級 異 常 1(最高) 復位 2 數(shù)據(jù)中止 3 FIQ 4 IRQ 5 預取指令中止 6(最低) 未定義指令、 SWI ARM異常處理 ARM 原理與應用 應用程序中的異常處理 當系統(tǒng)運行時,異常可能會隨時發(fā)生,為保證在 ARM處理器發(fā)生異常時不至于處于未知狀態(tài),在應用程序的設計中,首先要進行異常處理 ARM異常處理 ARM 原理與應用 應用程序中的異常處理 采用的方式是在異常向量表中的特定位置 放置一條跳轉(zhuǎn)指令 ,跳轉(zhuǎn)到異常處理程序,當 ARM處理器發(fā)生異常時,程序計數(shù)器 PC會被強制設置為對應的異常向量,從而跳轉(zhuǎn)到異常處理程序,當異常處理完成以后,返回到主程序繼續(xù)執(zhí)行
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1