版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、ARM920TDMA 處理器是哈佛結(jié)構(gòu) ,包括取指、譯碼、執(zhí)行、存儲、寫入的五級流水線。包括 cp14 和 cp15 兩個協(xié)處理器。 16k 數(shù)據(jù)緩存和 16k 指令緩存。虛擬地址 64 路相關(guān)緩存。每線 8 字。ARM 的基本數(shù)據(jù)類型 :ARM 采用的是 32 位架構(gòu) ,基本上數(shù)據(jù)類型有以下三種:Byte :字節(jié) ,8 位Halfword: 半字 ,16bit(半字必須與 2 字節(jié)邊界對齊Word:字 ,32bit(必須與 4 字節(jié)邊界對齊所有的數(shù)據(jù)類型指令的操作數(shù)都是字類型。ARM 指令編譯后是 4 字節(jié) (與字邊界對齊 ,Thumb 指令編譯后是 2 字節(jié) (與半字對齊存儲器大 /小端A
2、rm 支持大端模式和小端模式。在大端模式下 ,一個字的高地址放的是數(shù)據(jù)的地位 ,在小端模式下 ,數(shù)據(jù)的低地址放的是數(shù)據(jù)的低位。ARM920T, 有 7 中工作模式 :用戶模式 (User,正常程序執(zhí)行模式??焖僦袛嗄J?(FIQ,當一個高優(yōu)先級中斷產(chǎn)生時將會進入該模式 ,一般用于高速數(shù)據(jù)傳輸和通道處理。外部中斷模式 (IRQ,當一個低優(yōu)先級中斷產(chǎn)生時將會進入該模式 ,一般用于通常的中斷處理特權(quán)模式 (Supervise,當復(fù)位或軟中斷指令執(zhí)行時進入該模式 ,是一種供操作系統(tǒng)使用的保護模式。數(shù)據(jù)訪問中止模式 (abort,當存取異常時將會進入該模式 ,用于虛擬存儲或存儲保護未定義指令中止模式 (
3、undef,當執(zhí)行未定義指令時進入該模式 ,有時用于通過軟件仿真協(xié)處理器硬件的工作方式系統(tǒng)模式 (system使用和 user模式相同的寄存器集模式 ,用于運行特權(quán)級操作系統(tǒng)任務(wù)除了用戶模式 ,其他六中均為特權(quán)模式。在特權(quán)模式下 ,程序可以訪問所有的系統(tǒng)資源 ,也可以任意的進行處理器模式切換。流水線的概念與原理處理器按照一系列的步驟來執(zhí)行每一條指令,典型的步驟如下 :1、從存儲器讀取指令 (fetch2、譯碼以鑒別它是屬于哪一條指令(decode3、從指令中提取指令的操作數(shù)(這些操作數(shù)往往存在于寄存器中(reg4、將操作數(shù)進行組合以得到結(jié)果或存儲器地址(ALU5、如果需要 ,則訪問存儲器以存儲
4、數(shù)據(jù)(mem6、將結(jié)果寫回到寄存器堆(res流水線的分類 :1、3 級流水線 ARM 組織取指令 >譯碼 >執(zhí)行2、5 級流水線 ARM 組織取指令 >譯碼 >執(zhí)行>緩沖 /數(shù)據(jù) >回寫3、6 級流水線 ARM 組織取指令 >發(fā)射 >譯碼>執(zhí)行 >存儲 >回寫影響流水線性能的因素 :1、互鎖 :即一條指令的結(jié)果被用作下一條指令的操作數(shù)2、跳轉(zhuǎn)指令 :ARM 為微處理器指令系統(tǒng)ARM 處理器的尋址方式 :1、立即數(shù)尋址方式2、寄存器尋址方式3、寄存器移位尋址方式內(nèi)存訪問指令尋址方式 :內(nèi)存訪問指令的尋址方式可以分為以下幾種1、字及
5、無符號字節(jié)的load/store指令的尋址方式2、雜類 load/store指令的尋址方式3、批量 load/store指令的尋址方式4、協(xié)處理器 load/store 指令的尋址方式ARM 處理器的指令集操作數(shù)指令集 :MOV: 執(zhí)行的結(jié)果就是把一個數(shù)N 送到目標寄存器Rd,其中 N 可以是寄存器也可以是立即數(shù)MVN: 是反相傳送指令 ,它將操作數(shù)的反碼傳送到目的寄存器,多用于向寄存器傳送一個負數(shù)或者生成位掩碼。AND: 指令將 shifter_operand表示的數(shù)值與寄存器 Rn 的值按位做邏輯與操作 , 并將結(jié)果保存到目標寄存器 Rd 中,同時根據(jù)操作的結(jié)果更新 CPSR寄存器EOR:
6、指令時將寄存器 Rn 中的值和 shifter_operand的執(zhí)行行按位異或操作 ,并將執(zhí)行結(jié)果存儲到目的寄存器 Rd 中,同時根據(jù)指令的執(zhí)行結(jié)果更新到 CPSR 中相應(yīng)的條件標志位SUB:指令從急促安全 Rn 中減去 shifter_operand表示的數(shù)值 ,并將結(jié)果存到目標寄存器 Rd 中 ,同時更具指令的執(zhí)行結(jié)果設(shè)置 CPSR 中相應(yīng)的標志位RSB :指令從寄存器 shifter_operand中減去 Rn 表示的數(shù)值 ,并將結(jié)果保存到目標寄存器 Rd 中,同時更具指令的執(zhí)行結(jié)果設(shè)置 CPSR中的相應(yīng)位。ADC: 指令將寄存器 shifter_operand的值加上 Rn 表示的值
7、,再加上 CPSR中的 C 條件標志位的值 ,并將結(jié)果保存到目標寄存器 Rd 中,同時根據(jù)指令的執(zhí)行結(jié)果設(shè)置CPSR中相應(yīng)的標志位SBC 指令用于執(zhí)行操作數(shù)大于32 位時的減法操作。該指令從寄存器Rn 中減去 shifter_operand表示的數(shù)值 ,再減去寄存器 CPSR中 C 條件標志位的反碼 ,并將結(jié)果保存到目標寄存器 Rd 中 ,同時根據(jù)指令的執(zhí)行結(jié)果哦設(shè)置 CPSR中相應(yīng)的標志位。RSC 指令從寄存器 shifter_operand中減去 Rn 表示的數(shù)值 ,再減去寄存器 CPSR中 C 條件標志位的反碼 ,并將結(jié)果保存到目標寄存器 Rd 中,同時根據(jù)指令的執(zhí)行結(jié)果設(shè)置 CPSR
8、中相應(yīng)的標志位TST 測試執(zhí)行用于將一個寄存器的值和一個算術(shù)值進行比較,條件標志位根據(jù)兩個操作數(shù)做邏輯與后的結(jié)果設(shè)置。TEQ 指令用于將一個寄存器的值和一個算術(shù)值做比較 ,條件標志位根據(jù)兩個操作數(shù)做邏輯異或后的結(jié)果設(shè)置 ,以便以后的指令根據(jù)相應(yīng)的條件標志來判斷是否執(zhí)行。CMP 指令使用寄存器Rn 的值減去 shifter_operand的值 ,根據(jù)操作的結(jié)果更新CPSR中相應(yīng)的條件標志位 ,以便后面的指令根據(jù)相應(yīng)的條件標志來判斷是否執(zhí)行。CMN 指令使用寄存器 Rn 的值將去 shifter_operand表示的負數(shù)值 ,根據(jù)操作的結(jié)果跟新 CPSR中相應(yīng)的條件標志位 ,以便后面的指令更具相應(yīng)
9、的條件標志來判斷是否執(zhí)行。ORR 位邏輯或操作指令 ,它將第二個源操作數(shù) shifter_operand的值與寄存器 Rn 的值按位做邏輯或操作 ,并將結(jié)果保存到 Rd 中BIC 位清零指令 ,將寄存器 Rn 中的值與第二個源操作數(shù)shifter_operand的值的反碼按位做邏輯與操作 ,并將結(jié)果保存到目標寄存器中乘法指令集ARM 異常中斷處理概述ARM 處理器中有 7 中類型的異常 ,按優(yōu)先級從高到低的排序如下 :復(fù)位異常(reset、數(shù)據(jù)異常 (data abort、快速中斷異常 (FIQ、外部中斷異常 (IRQ 、預(yù)取異常 (prefetch abort、軟中斷異常 (swi 和未定義
10、異常 (undefined instruction。當異常發(fā)生的時候處理器會把PC 設(shè)置為一個特定的存儲器地址,之一地址房子被稱為向量表的特定地址范圍內(nèi)。向量表的入口是一些跳轉(zhuǎn)指令,跳轉(zhuǎn)到專門處理摸個異常或者中斷的子程序。存儲器映射地址 0x00000000 是為向量表 (一組 32 位字保留的。在有些處理器中 ,向量表可以選擇定位在存儲空間的高地址 (從偏移量 0xffff0000 開始 ,一些嵌入式系統(tǒng) ,如 Linux 和 windows CE 就是利用這一特性。當異常發(fā)生時 ,分組寄存器 r14 和 SPSR用于保存處理器狀態(tài)。異常返回式 ,SPSR內(nèi)容回復(fù)到 CPSR 中,連接寄存器
11、 r14 的內(nèi)容回復(fù)到程序計數(shù)器 PC。1、復(fù)位異常 :當處理器的復(fù)位引腳有效時,系統(tǒng)產(chǎn)生復(fù)位異常中斷 ,程序跳轉(zhuǎn)到復(fù)位異常中斷處理程序處執(zhí)行。復(fù)位異常中斷有以下兩種情況:系統(tǒng)上電和系統(tǒng)復(fù)位。復(fù)位異常中斷處理程序的主要功能:A、設(shè)置異常中斷向量表B、初始化數(shù)據(jù)棧和寄存器C、初始化存儲系統(tǒng) ,如系統(tǒng)中的 MMUD、初始化關(guān)鍵的I/0 設(shè)備E、使能中斷F、處理器切換到合適的模式G、初始化 c 變量 ,跳轉(zhuǎn)到應(yīng)用程序執(zhí)行2、未定義指令異常3、軟中斷 SWI: 軟中斷發(fā)生時 ,處理器進入特權(quán)模式 ,執(zhí)行一些特權(quán)模式下的操作系統(tǒng)功能。4、預(yù)取指令異常 :是由系統(tǒng)存儲器報告的 ,當處理器試圖去取一條被標記
12、為預(yù)取無效的指令式 ,發(fā)生預(yù)取異常5、數(shù)據(jù)訪問異常 :數(shù)據(jù)訪問異常是由存儲器發(fā)出數(shù)據(jù)中止信號,它由存儲器訪問指令 load/store產(chǎn)生。當數(shù)據(jù)訪問指令的目標地址不存在或者改地址不允許當前指令訪問時 ,處理器產(chǎn)生數(shù)據(jù)訪問中止異常。當數(shù)據(jù)訪問中止異常發(fā)生時,寄存器的值將根據(jù)以下規(guī)則進行修改:A、返回地址寄存器r14 的值只與發(fā)生數(shù)據(jù)異常的指令地址有關(guān),與 PC 無關(guān)B、如果指令中沒有指定基址寄存器回寫,則基址寄存器的值不會改變C、如果指令中指定了機制寄存器回寫,則寄存器的值與具體芯片的ABORTMODELS 有關(guān) ,由芯片的生產(chǎn)商指定D、如果指令只加載一個通用寄存器的值,則通用寄存器的值不變E、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人向公司借款2024版協(xié)議樣本版A版
- 專業(yè)健康咨詢服務(wù)協(xié)議模板2024年適用版B版
- 2024年餐廳承包經(jīng)營合同樣本
- 2024年餐飲店鋪租賃合同樣本8篇
- 程序算法課程設(shè)計
- 軸類課程設(shè)計
- 預(yù)算編制課程設(shè)計
- 鍋爐課程設(shè)計調(diào)試說明
- 課程設(shè)計線上工作
- 線上美食教學(xué)課程設(shè)計
- GB/T 15166.2-2023高壓交流熔斷器第2部分:限流熔斷器
- 百分數(shù)的認識說課稿(課堂)課件
- 老年人能力評估標準解讀講義課件
- 材料報價三家對比表
- 2024年國家公務(wù)員考試公共基礎(chǔ)知識全真模擬試題及答案(共四套)
- 焊接工序首件檢驗記錄表
- (通橋【2018】8370)《鐵路橋梁快速更換型伸縮縫安裝圖》
- 針灸的作用原理和治療原則
- 標準輔助航空攝影技術(shù)規(guī)范
- 項目經(jīng)理部組織機構(gòu)
- 某辦公樓裝飾工程監(jiān)理大綱方案
評論
0/150
提交評論