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

正文內(nèi)容

第三講arm編程模型,異常處理2課時(留存版)

2024-11-08 15:52上一頁面

下一頁面
  

【正文】 tate. No. 42 2022 從異常的返回 ?異常處理完畢之后, ARM微處理器會執(zhí)行以下幾步操作從異常返回: 將連接寄存器 LR的值減去相應的偏移量后送到 PC中。 例如處理一個外部的中斷請求。它們的內(nèi)容可被算術(shù)或邏輯運算的結(jié)果所改變,并且可以決定某條指令是否被執(zhí)行。常用于處理中斷或異常,以及需要訪問受保護的系統(tǒng)資源等情況。 ? ARM體系結(jié)構(gòu)將存儲器看作是從 零地址開始的字節(jié)的線性組合 。 No. 11 2022 存儲器系統(tǒng)-內(nèi)存映射 ? 內(nèi)存映射 : 如何劃分不同的內(nèi)存和 I/O設(shè)備之間的地址空間 (memory Map) ? Intel的 X86處理器 ,對 I/O設(shè)備設(shè)置了單獨的地址空間 ,用單獨指令來訪問 ,I/O端口映射方式 ported I/O。 ?應用程序運行在 用戶模式 。 ?在每一種運行模式下,都可用 R14保存子程序的返回地址,當用 BL或 BLX指令調(diào)用子程序時,將 PC的 當前值拷貝給R14,執(zhí)行完子程序后,又將 R14的值拷貝回 PC,即可完成子程序的調(diào)用返回。這些位決定了處理器的運行模式。 ? 響應復位異常的過程: R14_svc= Unpredictable Value SPSR_svc= Unpredictable Value CPSR[4:0] = 0b10011 :設(shè)置進入異常模式 CPSR[5] = 0 :切換到 ARM工作狀態(tài)時 CPSR[6] = 1 :禁止 FIQ 中斷 CPSR[7] = 1 :禁止 IRQ 中斷 PC = 0000000 或者 0xFFFF0000 No. 35 2022 未定義指令異常 ? 未定義指令異常在下面的情況下發(fā)生: ? ARM嘗試執(zhí)行一個真正的沒有定義的指令 ? ARM遇到一個協(xié)處理器指令,但這個協(xié)處理器在系統(tǒng)中并不存在 ? ARM遇到一個協(xié)處理器指令,這個協(xié)處理器在系統(tǒng)中存在,但是 ARM運行于非特權(quán)模式,于是拒絕這條指令 ? 這種機制可以用來通過軟件仿真系統(tǒng)中的某些部件的功能 ?例:如果系統(tǒng)中不包含浮點運算部件, CPU遇到浮點運算指令時,將發(fā)生未定義指令異常,在該未定義指令異常處理程序中可以通過其它的指令序列仿真該浮點運算指令 。將寄存器 LR中的值減 4后,復制到程序計數(shù)器 PC中,實現(xiàn)程序返回,同時將 SPSR_mode寄存器內(nèi)容復制到當前程序狀態(tài)寄存器 CPSR中 。將寄存器 LR中的值減 4后,復制到程序計數(shù)器 PC中,實現(xiàn)程序返回, 同時 將 SPSR_mode寄存器內(nèi)容復制到當前程序狀態(tài)寄存器 CPSR中。 ? 8086微處理器的異常分為內(nèi)部異常和外部中斷 ?內(nèi)部異常:單步、 INTO(軟件中斷)、 INTn(軟件中斷)、除法錯 ?外部中斷:非屏蔽中斷和可屏蔽中斷。 ? T標志位:該位反映處理器的運行狀態(tài)。 No. 19 2022 寄存器 R14 ?R14也稱作子程序連接寄存器( Subroutine Link Register)或連接寄存器 LR。對于程序員而言,處理器的不同工作模式就是不同的編程模式 ? 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ù)或指令預取終止時進入該模式,可用于虛擬存儲及存儲保護。這一階段,指令擁有 譯碼邏輯,但不擁有數(shù)據(jù)通路。 ?在嵌入式系統(tǒng)中被廣泛應用的 PowerPC處理器中 ,則把低位字節(jié)放在高地址單元 ,這種方法成為大印第安序 (高端優(yōu)先 )。 ?由于處理器的每種運行模式均有自己獨立的物理寄存器R13,在用戶應用程序的初始化部分, 一般都要初始化每種模式下的 R13,使其指向該運行模式的??臻g ,這樣,當程序的運行進入異常模式時,可以將需要保護的寄存器放入 R13所指向的堆棧,而當程序從異常模式返回時,則從對應的堆棧中恢復,采用這種方式可以保證異常發(fā)生后程序的正常執(zhí)行。如果處理器運行特權(quán)模式,這些位也可以由程序修改。 ? ARM的異常有七種 ?復位異常、 SWI異常、未定義指令異常、數(shù)據(jù)中止和指令中止異常。 No. 43 2022 SWI和未定義指令異常的返回 ? SWI和未定義指令異常是由當前執(zhí)行的指令產(chǎn)生的 ,當 SWI和未定義指令異常產(chǎn)生時,程序計數(shù)器 PC的值還未更新,它指向當前指令后面第 2條指令: ?SWI pc- 8 異常在這條指令處發(fā)生 ?Xxx pc- 4 LR= PC4 ?Yyy pc ? 返回指令: MOV PC , LR 將寄存器 LR中的值復制到程序計數(shù)器 PC中 同時 將 SPSR_mode寄存器內(nèi)容復制到當前程序狀態(tài)寄存 器 CPSR中。 ? ARM ? pc- 12 數(shù)據(jù)訪問中止異常發(fā)生于此 ? Xxx pc- 8 ? Yyy pc- 4 lr=下一條指令 ? Zzz pc ? 返回指令是 SUBS PC , LR , # 8 。在ARM狀態(tài)下,系統(tǒng)有足夠的私有寄存器,從而可以避免對寄存器保存的需求,并減小了系統(tǒng)上下文切換的開銷。 ? R0- R12寄存器 ? R13(堆棧指針, SP)和 R14(連接寄存器) ?程序計數(shù)器, R15( PC) ?當前程序狀態(tài)寄存器, cpsr ? 在特權(quán)模式下(除了系統(tǒng)模式)還可以訪問 ?一個特殊的 spsr(程序狀態(tài)保存寄存器),每一種異常模式對應一個 SPSR 異常模式發(fā)生的時候用來存儲當前程序的 CPSR ? 其他的微處理器沒有工作模式之分,自然沒有影子寄存器的概念。 No. 21 2022 程序狀態(tài)寄存器 ?ARM體系結(jié)構(gòu)包含一個當前程序狀態(tài)寄存器( CPSR)和五個備份的程序狀態(tài)寄存器( SPSRs)。主要供操作系統(tǒng)任務使用。 ?半字( HalfWord):在 ARM體系結(jié)構(gòu)中,半字的長度為 16位,與 8位 /16位處理器體系結(jié)構(gòu)中字的長度一致。 I/O地址 RAM ROM 端口 I/O I/O 空間 內(nèi)存空間 other I/O地址 RAM ROM 內(nèi)存 I/O 內(nèi)存空間 other No. 12 2022 ARM的存儲器格式 ?存儲器組織 ?字(
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1