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

正文內(nèi)容

arm7體系結(jié)構(gòu)-資料下載頁

2025-01-12 23:59本頁面
  

【正文】 數(shù)據(jù)中止的裝載或保存指令的地址。 復(fù)位 無 — — 復(fù)位時保存在R14_svc中的值不可預(yù)知。 注意 : “MOVS PC,R14_svc” 是指在管理模式執(zhí)行 MOVS PC,R14指令?!癕OVS PC,R14_und” 、 “SUBS PC,R14_abt,4” 等指令也是類似的。異常n 異常的入口和出口處理 如果異常處理程序已經(jīng)把返回地址拷貝到堆棧,那么可以使用一條多寄存器傳送指令來恢復(fù)用戶寄存器并實現(xiàn)返回。SUB LR,LR,4 。計算返回地址STMFD SP!,{R0R3,LR} 。保存使用到的寄存器. . .LDMFD SP!,{R0R3,PC}^。中斷返回中斷處理代碼的開始部分和退出部分 如果異常處理程序已經(jīng)把返回地址拷貝到堆棧,那么可以使用一條多寄存器傳送指令來恢復(fù)用戶寄存器并實現(xiàn)返回。中斷處理代碼的開始部分和退出部分異常n 異常的入口和出口處理SUB LR,LR,4 。計算返回地址STMFD SP!,{R0R3,LR} 。保存使用到的寄存器. . .LDMFD SP!,{R0R3,PC}^。中斷返回注意 :中斷返回指令的寄存器列表(其中必須包括PC)后的 “ ^ ” 符號表示這是一條特殊形式的指令。這條指令在從存儲器中裝載 PC的同時( PC是最后恢復(fù)的), CPSR也得到恢復(fù)。這里使用的堆棧指針 SP( R13)是屬于異常模式的寄存器,每個異常模式有自己的堆棧指針。這個堆棧指針應(yīng)必須在系統(tǒng)啟動時初始化。 異常n 進入異常在異常發(fā)生后, ARM7TDMI內(nèi)核會作以下工作: LR中保存下一條指令的地址,當(dāng)異常入口來自:167。ARM狀態(tài),那么 ARM7TDMI將當(dāng)前指令地址加 4或加 8復(fù)制(取決于異常的類型)到 LR中;167。為 Thumb狀態(tài),那么 ARM7TDMI將當(dāng)前指令地址加 4或加 8 (取決于異常的類型)復(fù)制到 LR中;異常處理器程序不必確定狀態(tài)。異常n 進入異常在異常發(fā)生后, ARM7TDMI內(nèi)核會作以下工作: CPSR復(fù)制到適當(dāng)?shù)?SPSR中;3. 將 CPSR模式位強制設(shè)置為與異常類型相對應(yīng)的值; PC從相關(guān)的異常向量處取指。 ARM7TDMI內(nèi)核在中斷異常時置位中斷禁止標(biāo)志,這樣可以防止不受控制的異常嵌套。注 :異常總是在 ARM狀態(tài)中進行處理。當(dāng)處理器處于 Thumb狀態(tài)時發(fā)生了異常,在異常向量地址裝入PC時,會自動切換到 ARM狀態(tài)。異常n 進入異常當(dāng)異常結(jié)束時,異常處理程序必須: LR( R14 )中的值減去偏移量后存入 PC,偏移量根據(jù)異常的類型而有所不同; SPSR的值復(fù)制回 CPSR;。注 :恢復(fù) CPSR的動作會將 T、 F和 I位自動恢復(fù)為異常發(fā)生前的值。異常n 退出異常程序 A IRQ服務(wù)程序系統(tǒng)模式 IRQ模式程序寄存器組圖示進入異常過程1. 程序在系統(tǒng)模式下運行用戶程序,假定當(dāng)前處理器狀態(tài)為 Thumb狀態(tài)、允許 IRQ中斷;2. 用戶程序運行時發(fā)生IRQ中斷,硬件完成以下動作:LR_sysSPSR_irqLR_irqLRPCCPSRSPSRSYS1?0...? ? ? ?MODTFI...N Z C V167。置位 I位(禁止 IRQ中斷)167。清零 T位(進入 ARM狀態(tài))167。設(shè)置 MOD位,切換處理器模式至 IRQ模式167。將下一條指令的地址存入IRQ模式的 LR寄存器167。將 CPSR寄存器內(nèi)容存入IRQ模式的 SPSR寄存器167。將跳轉(zhuǎn)地址存入 PC,實現(xiàn)跳轉(zhuǎn)IRQ01BackAddrJumpAddrJumpSYS1?0...????“?”表示對該位不關(guān)心在異常處理結(jié)束后,異常處理程序完成以下動作: 程序 A IRQ服務(wù)程序系統(tǒng)模式 IRQ模式程序寄存器組圖示退出異常過程LR_sysSPSR_irqLR_irqLRPCCPSRSPSRSYS1?0...? ? ? ?MODTFI...N Z C V167。將 SPSR寄存器的值復(fù)制回CPSR寄存器;167。將 LR寄存的值減去一個常量后復(fù)制到 PC寄存器,跳轉(zhuǎn)到被中斷的用戶程序。IRQ01BackAddrJumpAddrreturnSYS1?0...????BackAddr4Jump“?”表示對該位不關(guān)心 快速中斷請求 (FIQ)適用于對一個突發(fā)事件的快速響應(yīng),這得益于在 ARM狀態(tài)中,快中斷模式有 8個專用的寄存器可用來滿足寄存器保護的需要(這可以加速上下文切換的速度)。 不管異常入口是來自 ARM狀態(tài)還是 Thumb狀態(tài),F(xiàn)IQ處理程序都會通過執(zhí)行下面的指令從中斷返回:SUBS PC,R14_fiq,4 在一個特權(quán)模式中,可以通過置位 CPSR中的 F位來禁止 FIQ異常。異常n 快速中斷請求 中斷請求( IRQ)異常是一個由 nIRQ輸入端的低電平所產(chǎn)生的正常中斷(在具體的芯片中, nIRQ由片內(nèi)外設(shè)拉低, nIRQ是內(nèi)核的一個信號,對用戶不可見)。 IRQ的優(yōu)先級低于 FIQ。對于 FIQ序列它是被屏蔽的。任何時候在一個特權(quán)模式下,都可通過置位 CPSR中的 I 位來禁止 IRQ。 不管異常入口是來自 ARM狀態(tài)還是 Thumb狀態(tài),IRQ處理程序都會通過執(zhí)行下面的指令從中斷返回:SUBS PC,R14_irq,4異常n 中斷請求 中止發(fā)生在對存儲器的訪問不能完成時,中止包含兩種類型:167。預(yù)取中止 發(fā)生在指令預(yù)取過程中167。數(shù)據(jù)中止 發(fā)生在對數(shù)據(jù)訪問時異常n 中止 當(dāng)發(fā)生預(yù)取中止時, ARM7TDMI內(nèi)核將預(yù)取的指令標(biāo)記為無效,但在指令到達流水線的執(zhí)行階段時才進入異常。如果指令在流水線中因為發(fā)生分支而沒有被執(zhí)行,中止將不會發(fā)生。 在處理中止的原因之后,不管處于哪種處理器操作狀態(tài),處理程序都會執(zhí)行下面的指令恢復(fù) PC和CPSR并重試被中止的指令: SUBS PC,R14_abt,4異常n 中止 —— 預(yù)取指中止 當(dāng)發(fā)生數(shù)據(jù)中止后,根據(jù)產(chǎn)生數(shù)據(jù)中止的指令類型作出不同的處理:異常n 中止 —— 數(shù)據(jù)中止167。數(shù)據(jù)轉(zhuǎn)移指令( LDR、 STR)回寫到被修改的基址寄存器。中止處理程序必須注意這一點;167。交換指令( SWP)中止好像沒有被執(zhí)行過一樣(中止必須發(fā)生在 SWP指令進行讀訪問時) ; 在修復(fù)產(chǎn)生中止的原因后,不管處于哪種處理器操作狀態(tài),處理程序都必須執(zhí)行下面的返回指令,重試被中止的指令 : SUBS PC,R14_abt,8異常n 中止 —— 數(shù)據(jù)中止 使用軟件中斷 (SWI)指令可以進入管理模式,通常用于請求一個特定的管理函數(shù)。 SWI處理程序通過執(zhí)行下面的指令返回:MOVS PC,R14_svc 這個動作恢復(fù)了 PC并返回到 SWI之后的指令。SWI處理程序讀取操作碼以提取 SWI函數(shù)編號。 異常n 軟件中斷指令 當(dāng) ARM7TDMI處理器遇到一條自己和系統(tǒng)內(nèi)任何協(xié)處理器都無法處理的指令時, ARM7TDMI內(nèi)核執(zhí)行未定義指令陷阱。軟件可使用這一機制通過模擬未定義的協(xié)處理器指令來擴展 ARM指令集。注 : ARM7TDMI處理器完全遵循 ARM結(jié)構(gòu) v4T,可以捕獲所有分類未被定義的指令位格式。異常n 未定義的指令 在模擬處理了失敗的指令后,陷阱程序執(zhí)行下面的指令:MOVS PC,R14_svc 這個動作恢復(fù)了 PC并返回到未定義指令之后的指令。 異常n 未定義的指令 當(dāng)多個異常同時發(fā)生時,一個固定的優(yōu)先級系統(tǒng)決定它們被處理的順序:異常n 異常優(yōu)先級異常類型 優(yōu)先級復(fù)位 1(最高優(yōu)先級)數(shù)據(jù)中止 2FIQ 3IRQ 4預(yù)取中止 5未定義指令 6SWI 7(最低優(yōu)先級)優(yōu)先級降低第 3章 目錄內(nèi)部框圖數(shù)據(jù)類型q8.程序狀態(tài)寄存器I/O復(fù)位n 復(fù)位 當(dāng) nRESET信號被拉低時(一般外部復(fù)位引腳電平的變化和芯片的其它復(fù)位源會改變這個內(nèi)核信號), ARM7TDMI處理器放棄正在執(zhí)行的指令 。 在復(fù)位后,除 PC和 CPSR之外的所有寄存器的值都不確定。復(fù)位n 復(fù)位 當(dāng) nRESET信號再次變?yōu)楦唠娖綍r, ARM處理器執(zhí)行下列操作: CPSR中的 M[4:0]變?yōu)?b10011(管理模式); CPSR中的 I和 F位; CPSR中的 T位; PC從地址 0x00開始對下一條指令進行取指; ARM狀態(tài)并恢復(fù)執(zhí)行 。 第 3章 目錄內(nèi)部框圖數(shù)據(jù)類型q8.程序狀態(tài)寄存器I/O存儲器及存儲器映射 I/On 簡介 ARM7TDMI處理器采用馮 諾依曼( Von Neumann)結(jié)構(gòu),指令和數(shù)據(jù)共用一條 32位數(shù)據(jù)總線。只有裝載、保存和交換指令可訪問存儲器中的數(shù)據(jù)。存儲器及存儲器映射 I/On 簡介 ARM7TDMI處理器將存儲器看作是一個從 0開始的線性遞增的字節(jié)集合:167。字節(jié) 0到 3保存第 1個存儲的字167。字節(jié) 4到 7保存第 2個存儲的字167。字節(jié) 8到 11保存第 3個存儲的字167。依此類推 …字節(jié) 字節(jié) 字節(jié) 字節(jié)地址 A A+1 A+2 A+3字節(jié) 字節(jié) 字節(jié) 字節(jié)字節(jié) 字節(jié) 字節(jié) 字節(jié)字節(jié) 字節(jié) 字節(jié) 字節(jié)04……8存儲器及存儲器映射 I/On 簡介 ARM7TDMI處理器可以將存儲器中的字以下列格式存儲:167。大端格式( Bigendian)167。小端格式( Littleendian)存儲器及存儲器映射 I/On 存儲器格式地址空間的規(guī)則:167。位于地址 A的字包含的字節(jié)位于地址 A,A+1,A+2和A+3;167。位于地址 A的半字包含的字節(jié)位于地址 A和 A+1;167。位于地址 A+2的半字包含的字節(jié)位于地址 A+2和A+3;167。位于地址 A的字包含的半字位于地址 A和 A+2; 字節(jié) 字節(jié) 字節(jié) 字節(jié)地址 A A+1 A+2 A+3半字 半字字存儲器系統(tǒng)有兩種映射機制:167。小端存儲器系統(tǒng): 在小端格式中,高位數(shù)字存放在高位字節(jié)中。因此存儲器系統(tǒng)字節(jié) 0連接到數(shù)據(jù)線 7~ 0(低位對齊)。 167。大端存儲器系統(tǒng): 在大端格式中,高位數(shù)字存放在低位字節(jié)中。因此存儲器系統(tǒng)字節(jié) 0連接到數(shù)據(jù)線 31~ 24(高位對齊 ) 。 0x12345678字?jǐn)?shù)據(jù)的大小端存儲方式存儲器及存儲器映射 I/On 存儲器格式0x12 高位地址低位地址 0x34 0x56 0x78大端模式0x78 高位地址低位地址 0x56 0x34 0x12小端模式 一個基于 ARM內(nèi)核的芯片可以只支持大端模式或小端模式,也可以兩者都支持。通常,小端模式是 ARM處理器的默認(rèn)形式。 在 ARM指令集中不包含任何直接選擇大小端的指令,但是一個同時支持大小端模式的 ARM芯片可以通過硬件配置(一般使用芯片的引腳來配置)來匹配存儲器系統(tǒng)所使用的規(guī)則。存儲器及存儲器映射 I/On 存儲器格式注意 :如果實際的存儲器格式與芯片的存儲器格式不符時,只有以字為單位的數(shù)據(jù)存取才正確,否則將出現(xiàn)不可預(yù)期的結(jié)果。存儲器及存儲器映射 I/On 地址空間 ARM結(jié)構(gòu)使用單個平面的 232個 8位字節(jié)地址空間。字節(jié)地址按照無符號數(shù)排列,從 0到 232- 1。地址空間可以看作是包含 230個 32位字,或 231個 16位半字。如果地址向上或向下溢出地址空間,通常會發(fā)生翻轉(zhuǎn)。注意 :如果在取指操作時地址發(fā)生溢出,只要沒有執(zhí)行預(yù)取的無效指令,就不會導(dǎo)致異常。 ARM結(jié)構(gòu)通常希望所有的存儲器訪問都合理的對齊。具體來說就是字訪問的地址通常是字對齊的,而半字訪問使用的地址是半字對齊的。不按這種方式對齊的存儲器訪問稱為 非對齊的存儲器訪問 。167。將一個非字(半字)對齊的地址寫入 ARM(Thumb)狀態(tài)的 PC(R15)寄存器,將引起非對齊的指令取指。167。在一個非字(半字)對齊的地址讀寫一個字(半字),將引起非對齊的數(shù)據(jù)訪問: 存儲器及存儲器映射 I/On 未對齊的存儲器訪問演講完畢,謝謝觀看!
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1