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

正文內容

第三講arm編程模型,異常處理(2課時)-文庫吧

2025-09-15 15:52 本頁面


【正文】 8 1 2 3 4 1 2 0100 0101 0102 0103 Long word word Byte 7 8 5 6 3 4 1 2 3 4 1 2 1 2 0100 0101 0102 0103 Long word word Byte No. 14 2022 七種工作模式 ? 處理器的工作模式: 對處理器不同狀態(tài)分類,對每一種方式規(guī)定其可以控制的資源。以減少不同工作方式之間的切換代價。對于程序員而言,處理器的不同工作模式就是不同的編程模式 ? ARMV4版本以后共有 7種工作模式 : ? User 用戶模式 : 處理器正常的程序執(zhí)行狀態(tài) ? FIQ 快速中斷模式 : 用于高速數(shù)據(jù)傳輸或通道處理 ? IRQ 中斷模式 : 用于通用的中斷處理 ? Supervisor管理模式 :系統(tǒng)使用的保護模式 entered on reset and when a Software Interrupt instruction is executed ? Abort數(shù)據(jù)訪問中止模式 :當數(shù)據(jù)或指令預取終止時進入該模式,可用于虛擬存儲及存儲保護。 used to handle memory access violations ? Undef未定義指令中止模式 : used to handle undefined instructions當未定義的指令執(zhí)行時進入該模式,可用于支持硬件協(xié)處理器的軟件仿真 ? System系統(tǒng)模式 : privileged mode using the same registers as user mode運行具有特權的操作系統(tǒng)任務 No. 15 2022 ARM 編程模式 ? ARM的七種工作模式的說明 ?兩大類 :訪問的資源不同 ?用戶模式 ?特權模式(其他六種模式)。 ?特權模式又分兩類 ?系統(tǒng)模式:高級的用戶模式 ?其他又稱為異常模式。處理器模式可以通過軟件控制進行切換,也可以通過外部中斷或異常處理過程進行切換。 ?應用程序運行在 用戶模式 。應用程序可以產生異常處理,在異常處理過程中進行模式的切換。 ?系統(tǒng)模式 使用用戶模式的寄存器組,但可以訪問所有的系統(tǒng)資源。主要供操作系統(tǒng)任務使用。 ?異常模式 : 快速中斷模式、外部中斷模式、管理模式、中止模式、未定義模式 。常用于處理中斷或異常,以及需要訪問受保護的系統(tǒng)資源等情況。 ? 8086微處理器沒有工作模式之分 ? 80386處理器有 3種工作模式:實模式、保護模式和虛擬 86模式 No. 16 2022 ARMxyz Application code OS S/W Interrupt (SWI) Undefined Instruction Privileged modes User mode 工作模式的切換 Memory Instructions amp。 Data Aborts Interrupts Reset ? 不同的工作模式對應不同的權限 ? 不同的工作模式對應不同的寄存器組 ? 對于程序員而言,就是不同的編程模型 No. 17 2022 ARM的寄存器 ? 未備份 (未分組)寄存器 R0~R7 = 8 ?在所有的處理器模式下對應同一個物理寄存器 ? 備份(分組)寄存器 R8~R12 52= 10 ?每個寄存器對應兩個不同的物理寄存器 ?快速中斷模式下為一組物理寄存器 R8_fiq, R9_fiq…… ?其他模式下是一組物理寄存器 ? FIQ處理程序可以不必執(zhí)行保存和恢復現(xiàn)場的指令,加快中斷處理器過程 ? 備份寄存器 R13,R14 26= 12 ?共有 6組不同的 R13,R14,其中一組為用戶和系統(tǒng)模式使用 ?每一種異常模式都有自己的 R13,R14,共 5組 ?寄存器 R13,通常被用作棧指針,當進入異常模式以后,可以把需要使用的寄存器保存在 R13所指向的堆棧中,當退出異常模式的時候,則彈出相應的寄存器 ?寄存器 R14,通常被稱為連接寄存器( link register) ? 在每一種模式自己的 R14中存放當前子程序的返回地址,譬如使用 BL跳轉指令的時候,當 R14中的值復制到 PC中的時候,子程序即返回 ? 在異常中斷發(fā)生的時候,該異常模式的物理 R14被設置為該異常模式將要返回的地址 No. 18 2022 寄存器 R13 ?寄存器 R13在 ARM指令中常用作堆棧指針 : ?但這只是一種習慣用法,用戶也可使用其他的寄存器作為堆棧指針。 ?而在 Thumb指令集中,某些指令強制性的要求使用 R13作為堆棧指針。 ?由于處理器的每種運行模式均有自己獨立的物理寄存器R13,在用戶應用程序的初始化部分, 一般都要初始化每種模式下的 R13,使其指向該運行模式的??臻g ,這樣,當程序的運行進入異常模式時,可以將需要保護的寄存器放入 R13所指向的堆棧,而當程序從異常模式返回時,則從對應的堆棧中恢復,采用這種方式可以保證異常發(fā)生后程序的正常執(zhí)行。 ?8086系統(tǒng)中的堆棧是用段定義語句在存儲器中定義的一個堆棧段。 SS寄存器給定堆棧段的段基址, SP給定當前堆棧的棧頂。 No. 19 2022 寄存器 R14 ?R14也稱作子程序連接寄存器( Subroutine Link Register)或連接寄存器 LR。 ?當執(zhí)行 BL子程序調用指令時, R14中得到 R15(程序計數(shù)器 PC)的備份。其他情況下, R14用作通用寄存器。與之類似,當發(fā)生中斷或異常時,對應的分組寄存器 R14_svc、R14_irq、 R14_fiq、 R14_abt和 R14_und用來保存 R15的返回值。 ?在每一種運行模式下,都可用 R14保存子程序的返回地址,當用 BL或 BLX指令調用子程序時,將 PC的 當前值拷貝給R14,執(zhí)行完子程序后,又將 R14的值拷貝回 PC,即可完成子程序的調用返回。以上的描述可用指令完成: No. 20 2022 程序計數(shù)器( r15) ? 當處理器運行于 ARM狀態(tài): ?所有指令都是 32位寬 ?所有指令必須字對齊 ?因此 PC值存于位 [31:2],位 [1:0]未定義(指令不能為半字或字節(jié)對齊) ? 當處理器運行于 Thumb狀態(tài): ?所有指令都是 16位寬 ?所有指令必須半字對齊 ?因此 PC值存于位 [31:1],位 [0]未定義(指令不能為字節(jié)對齊) ? R15雖然也可用作通用寄存器,但一般不這么使用,因為對 R15的使用有一些特殊的限制,當違反了這些限制時,程序的執(zhí)行結果是未知的。 ? 由于 ARM體系結構采用了多級流水線技術,對于 ARM7TDMI指令集而言, PC總是指
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1