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

正文內(nèi)容

arm體系結(jié)構(gòu)與指令集-免費閱讀

2025-03-25 12:38 上一頁面

下一頁面
  

【正文】 異常產(chǎn)生指令 表 221 ARM異常產(chǎn)生指令 助 記 符 含 義 操 作 SWI 軟中斷指令 產(chǎn)生軟中斷,處理器進入管理模式 BKPT 斷點中斷指令 處理器產(chǎn)生軟件斷點 軟件中斷指令( Software Interrupt,SWI)用于產(chǎn)生軟中斷,從而實現(xiàn)從用戶模式變換到管理模式, CPSR保存到管理模式的 SPSR中,執(zhí)行轉(zhuǎn)移到 SWI向量,在其他模式下也可以使用 SWI指令,處理器同樣切換到管理模式。 【例 26】 禁止 IRQ中斷。 跳轉(zhuǎn)指令 表 218 ARMv5架構(gòu)跳轉(zhuǎn)指令 助記符 說 明 操 作 B 跳轉(zhuǎn)指令 pc←label BL 帶返回的連接跳轉(zhuǎn) pc←label(lr←BL 后面的第一條指令 ) BX 跳轉(zhuǎn)并切換狀態(tài) pc←Rm0xfffffffe, T←Rm1 BLX 帶返回的跳轉(zhuǎn)并切換狀態(tài) pc←lable, T←1 pc←Rm0xfffffffe, T←Rm1 lr←BL 后面的第一條指令 ( 1)指令的語法格式 B{L}{cond} target_address ( 2)程序舉例 1.跳轉(zhuǎn)指令 B及帶連接的跳轉(zhuǎn)指令 BL 帶狀態(tài)切換的跳轉(zhuǎn)指令( BX)使程序跳轉(zhuǎn)到指令中指定的參數(shù) Rm指定的地址執(zhí)行程序,Rm的第 0位復(fù)制到 CPSR中 T位, bit[31∶1] 移入 PC。LDM為加載多個寄存器, STM為存儲多個寄存器。 指令的語法格式: STR{cond}H Rd,addr_mode 6. STRH指令 多寄存器的 Load/Store內(nèi)存訪問指令 表 215 多寄存器的 Load/Store內(nèi)存訪問指令 指 令 作 用 操 作 LDM 裝載多個寄存器 {Rd}*N←mem32[start address+4*N] STM 保存多個寄存器 {Rd}*N→mem32[start address+4*N] LDM指令將數(shù)據(jù)從連續(xù)的內(nèi)存單元中讀取到指令中指定的寄存器列表中的各寄存器中。它的主要用途是在多處理器系統(tǒng)中實現(xiàn)信號量( Semaphores)的操作,以保證不會同時訪問公用的數(shù)據(jù)結(jié)構(gòu)。 ( 1)指令的語法格式 SMLAL{cond}{S} RdLo,RdHi,Rm,Rs ( 2)指令舉例 6. SMLAL指令 Load/Store內(nèi)存訪問指令在 ARM寄存器和存儲器之間傳送數(shù)據(jù)。 ( 1)指令的語法格式 MLA{cond}{S} Rd,Rm,Rs,Rn ( 2)指令舉例 2. MLA乘 — 累加指令 UMULL( Unsigned Multiply Long)為 64位無符號乘法指令。 ( 1)指令的語法格式 CMN{cond} Rn,shifter_operand ( 2) CMN指令舉例 14. CMN指令 ORR( Logical OR)為邏輯或操作指令,它將第 2個源操作數(shù) shifter_operand的值與寄存器 Rn的值按位做“邏輯或”操作,結(jié)果保存到 Rd中。 9. SBC指令 RSC( Reverse Subtract with Carry)指令用于從寄存器 shifter_operand中減去 Rn表示的數(shù)值,再減去寄存器 CPSR中 C條件標志位的反碼[ NOT( Carry Flag)],并將結(jié)果保存到目標寄存器 Rd中,并根據(jù)指令的執(zhí)行結(jié)果設(shè)置 CPSR中相應(yīng)的標志位。 2. MVN指令 ( 1)指令的語法格式 MVN{cond}{S} Rd,shifter_operand ( 2)指令舉例 ( 3)指令的使用 AND指令將 shifter_operand表示的數(shù)值與寄存器 Rn的值按位( bitwise)做邏輯與操作,并將結(jié)果保存到目標寄存器 Rd中,同時根據(jù)操作的結(jié)果更新 CPSR寄存器。 數(shù)據(jù)操作指令 表 212 數(shù)據(jù)處理指令列表 助 記 符 操 作 行 為 MOV 數(shù)據(jù)傳送 MVN 數(shù)據(jù)取反傳送 AND 邏輯與 Rd: =Rn AND op2 EOR 邏輯異或 Rd: =Rn EOR op2 SUB 減 Rd: =Rn ? op2 RSB 翻轉(zhuǎn)減 Rd: =op2 ? Rn ADD 加 Rd: =Rn + op2 ADC 帶進位的加 Rd: =Rn + op2 + C SBC 帶進位的減 Rd: =Rn? op2 + C ? 1 RSC 帶進位的翻轉(zhuǎn)減 Rd: =op2 ? Rn + C ? 1 TST 測試 Rn AND op2并更新標志位 TEQ 測試相等 Rn EOR op2并更新標志位 CMP 比較 Rn?op2并更新標志位 CMN 負數(shù)比較 Rn+op2并更新標志位 ORR 邏輯或 Rd: =Rn OR op2 BIC 位清 0 Rd: =Rn AND NOT( op2) MOV指令是最簡單的 ARM指令,執(zhí)行的結(jié)果就是把一個數(shù) N送到目標寄存器 Rd,其中 N可以是寄存器,也可以是立即數(shù)。 ( 4)遞增棧:堆棧向內(nèi)存地址增加的方向生長。 offset_8 立即數(shù)后索引尋址 ( Immediate postindeded) 6 [Rn],177。 Rm]! 寄存器前索引尋址 ( Register postindexed) 6 [Rn, Rm, shift offset_12]! 帶移位的寄存器前索引尋址 ( Scaled register preindexed) 格 式 模 式 7 [Rn], 177。 1.立即數(shù)尋址方式 寄存器的值可以被直接用于數(shù)據(jù)操作指令 ,這種尋址方式是各類處理器經(jīng)常采用的一種方式,也是一種執(zhí)行效率較高的尋址方式, 2.寄存器尋址方式 寄存器的值在被送到 ALU之前,可以事先經(jīng)過桶形移位寄存器的處理。 ( 1) MOVS PC, LR ( 2) SUBS PC, LR,# 4 ( 3) LDMFD SP!, {PC}^ 1.恢復(fù)被中斷程序的處理器狀態(tài) 異常返回時,另一個非常重要的問題就是返回地址的確定。 ( 1)發(fā)生異常的指令地址為 (lr?2),而不是 (lr?4)。當數(shù)據(jù)訪問指令的目標地址不存在或者該地址不允許當前指令訪問時,處理器產(chǎn)生數(shù)據(jù)訪問中止異常。 1.復(fù)位異常 圖 26 異常處理向量表 當 ARM處理器執(zhí)行協(xié)處理器指令時,它必須等待一個外部協(xié)處理器應(yīng)答后,才能真正執(zhí)行這條指令。 Cache經(jīng)常與寫緩存器( write buffer)一起使用。較高級的操作系統(tǒng)采用基于硬件的存儲管理單元( MMU)來實現(xiàn)上述操作。 ( 4)板卡級的 DRAM。 大多數(shù)的系統(tǒng)通過下面的方法之一可實現(xiàn)對復(fù)雜存儲系統(tǒng)的管理。如果指令是Load或 Store指令,則在 ALU中計算存儲器的地址。 ( 2)譯碼( decode):識別被執(zhí)行的指令,并為下一個周期準備數(shù)據(jù)通路的控制信號。另外,如果在特權(quán)模式下,也可以通過軟件編程來修改這些位的值。 ( 2)當異常中斷發(fā)生時,該異常模式特定的物理寄存器 R14被設(shè)置成該異常模式的返回地址,對于有些模式 R14的值可能與返回地址有一個常數(shù)的偏移量(如數(shù)據(jù)異常使用 SUB PC, LR, 8返回)。 未分組寄存器包括 R0~ R7。在特權(quán)模式下,程序可以訪問所有的系統(tǒng)資源,也可以任意地進行處理器模式切換。嵌入式系統(tǒng)技術(shù)與設(shè)計 第 2章 ARM體系結(jié)構(gòu)與指令集 ARM體系結(jié)構(gòu)的特點 ARM處理器工作模式 寄存器組織 流 水 線 ARM存儲系統(tǒng) 異 常 ARM處理器的尋址方式 ARM處理器的指令集 本章將要介紹 ARM體系結(jié)構(gòu)、 ARM處理器的工作模式及常用指令集等。其中以下 5種又稱為異常模式: ( 1)快速中斷模式( FIQ); ( 2)外部中斷模式( IRQ); ( 3)特權(quán)模式( Supervior); ( 4)數(shù)據(jù)訪問中止模式( Abort); ( 5)未定義指令中止模式( Undef)。 未分組寄存器沒有被系統(tǒng)用于特殊的用途,任何可采用通用寄存器的應(yīng)用場合都可以使用未分組寄存器。 R14也可以被用做通用寄存器使用。 ( 1)中斷禁止位 ( 2)狀態(tài)控制位 ( 3)模式控制位 3.控制位 表 23 狀態(tài)控制位 M[4∶ 0]含義 M[4∶ 0] 處理器 模式 可以訪問的寄存器 0b10000 User PC, R14~ R0, CPSR 0b10001 FIQ PC, R14_fiq~ R8_fiq, R7~ R0, CPSR, SPSR_fiq 0b10010 IRQ PC, R14_irq~ R13_irq, R12~ R0, CPSR, SPSR_irq 0b10011 Supervisor PC, R14_svc~ R13_svc, R12~ R0, CPSR, SPSR_svc 0b10111 Abort PC, R14_abt~ R13_abt, R12~ R0, CPSR, SPSR_abt 0b11011 Undefined PC, R14_und~ R13_und, R12~ R0, CPSR, SPSR_und 0b11111 System PC, R14~ R0, CPSR( ARM v4及更高版本) 程序計數(shù)器 程序計數(shù)器 R15又被記為 PC。在這一級,指令占有譯碼邏輯,不占用數(shù)據(jù)通路。 ( 4)緩沖 /數(shù)據(jù)( buffer/data):如果需要則訪問數(shù)據(jù)存儲器,否則 ALU只是簡單地緩沖 1個時鐘周期。 ( 1)使用 Cache,縮小處理器和存儲系統(tǒng)速度差別,從而提高系統(tǒng)的整體性能。 ( 5)外設(shè)級的后援存儲器,通常是硬盤,可能從幾百 MB到幾個 GB,訪問時間為幾十 ms。 MMU提供的一個關(guān)鍵服務(wù)是使各個任務(wù)作為各自獨立的程序在其自己的私有存儲空間中運行。 通過引入 Cache和寫緩存區(qū),存儲系統(tǒng)的性能得到了很大的提高,但同時也帶來了一些問題。若協(xié)處理器沒有響應(yīng),則發(fā)生未定義指令異常。 5.數(shù)據(jù)訪問中止異常 當處理器的外部中斷請求( IRQ)引腳有效,而且 CPSR寄存器的 I控制位被清除時,處理器產(chǎn)生外部中斷 IRQ異常。 ( 2) Thumb狀態(tài)下的指令是 16位的,在判斷中斷向量信號時使用半字加載指令
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1