ARM體系結(jié)構(gòu)_百度文庫._第1頁
ARM體系結(jié)構(gòu)_百度文庫._第2頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 F現(xiàn)實(shí)生活中的嵌入式系統(tǒng) 可以說,嵌入式系統(tǒng)是無處不在。在日常生 活中,幾乎所有的個(gè)人消費(fèi)類電子用品,或帶 有一點(diǎn)“智能”的家電(空調(diào),全自動(dòng)洗衣機(jī), 電腦電飯煲)都是嵌入式系統(tǒng)。另外,在包 括工業(yè)自動(dòng)化、國防、運(yùn)輸和航天等諸多領(lǐng)域 嵌入式系統(tǒng)都得到了廣泛的應(yīng)用并逐步改變著 這些產(chǎn)業(yè)。例如在神州系列飛船和長征系列火 箭中都用到很多嵌入式系統(tǒng),在汽車中大量的 使川嵌入式系統(tǒng)來控制和監(jiān)視各種車載設(shè)備。 嵌入式系統(tǒng)是嵌入到對象體系中的一種 專用計(jì)算機(jī)系統(tǒng),用于實(shí)現(xiàn)對對象體系的智能 化控制. 2 ARM處理器簡介 :ARM公司簡介 ARM是Advanced RISC Machines的縮寫,它是 一

2、家微處理聲行業(yè)的知名企業(yè),該企業(yè)設(shè)計(jì)了大量 高性能.廉價(jià)、耗能低的RISC C精簡指令集丿處 理器。 產(chǎn)。它將技術(shù)授權(quán)給世界上許多著老的半導(dǎo)體、軟 件和OEM廠商,并提供服務(wù)。 1. ARM920T 簡介 ARM公司的特點(diǎn)是只沒計(jì)芯、片, 而不第2章目錄 2. ARM920T 處理器模式 3. ARM920T 內(nèi)部寄存器 4. ARM920T 程序狀態(tài)寄存器 5 異常 6 復(fù)位 7 存儲(chǔ)器及存儲(chǔ)器映射 I/O2.1 ARM920T 簡介 簡介 ARM920T處理霧是ARM通用32住微處理爰家 族的成員之一。它具有優(yōu)異的性能,但功耗卻很低, 使用門的教量也很少。它屬于精簡指令集計(jì)算機(jī) (RISC

3、丿,比復(fù)雜指令集計(jì)算機(jī)(CISC丿要簡單得 多。這樣的簡化賣現(xiàn)了 : 富的指令呑吐量; 出色的實(shí)對中斯響應(yīng); 、的、壽性價(jià)比的處理器宏單元。 2.1 ARM920T 簡介 簡介 ARM920T基于ARM體糸結(jié)構(gòu)V4版本,是目前低 端的ARM核。 /*泛應(yīng)用于多嫖體和嵌入式J殳備, 包括Internet役務(wù)、 網(wǎng) 絡(luò)和調(diào) 制解調(diào) 麥設(shè)務(wù),以及 救字移動(dòng)電話、PDA等無線沒備。 注意:“ARM核”并不是芯片,ARM核與其它部 件婦RAM、ROM,片內(nèi)外彳殳組合衣一起才能構(gòu)成 現(xiàn)賣的芯片。2.1 ARM7TDMI 簡介 :簡介 ARM920T支持32伐.尋址范團(tuán),并眛補(bǔ)了 ARM6不 能在低于5V電

4、嫄電壓下工作的不足。ARM7TDMI 的后綴意義為: ARM7 T D M I - S ARM7TDMI 的可綜合 CsynlhesizableJ 版 本C軟核丿,對應(yīng)用工程坪來說其編程棋 型與ARM7TDMI 一孜; 支持EmbcdedlCE況痙硬件; 支持64住乘空; 支持片上調(diào)試; 支持高密度16佞.的Thumb指令集; :存儲(chǔ)器訪問 ARM920T處理彖使用了馮諾俅曼CVon NeumannJ結(jié)構(gòu),指冬和數(shù)據(jù)共用一條32佞.總線。 只有裝栽、存儲(chǔ)和交換拾金可以對存儲(chǔ)薜中的數(shù)據(jù) 進(jìn)行訪問。數(shù)據(jù)可以是: 字節(jié)C8住丿 2.1 2.1 ARM7TDMI 簡介 半字(16住丿 或者字C32ji

5、J o 1 - 丨 I 2 L L 1 2 3 4 2.1 ARM920T 簡介 處理器狀態(tài) ARM920T處理?xiàng)梼?nèi)核使用V4T版本的ARM結(jié)構(gòu), 該結(jié)構(gòu)包含32住ARM指令集和16住Thumb指令集。 因此ARM7TDMK 理聚有兩種操作狀態(tài): ARM狀態(tài):32鉉,這種狀態(tài)下執(zhí)行的是字方無 的ARM指令; Thumb狀態(tài):16住,這種狀態(tài)下執(zhí)行半字方式j(luò) 的ARM指令。 注意:兩個(gè)狀態(tài)之間的切換并不影響處理彖模式或 寺存器內(nèi)彖。 :體系結(jié)構(gòu)直接支持的數(shù)據(jù)類型 ARM處理麥支持下列教據(jù)類型: ARM指金的長度創(chuàng)好是1個(gè)字 (分配為占用4個(gè)字 節(jié)丿,Thumb指令的長度別好是半字(占用2個(gè)字 節(jié)

6、丿o2.1 節(jié) 半2.1 ARM920T 簡介 三級流水線 ARM7TDM1處理發(fā)使用流水線來增加處理發(fā)指 令流的速度。這樣可使幾個(gè)操作同肘進(jìn)行,并使處 理和存儲(chǔ)器糸統(tǒng)連續(xù)操作,能提哄0.9MIPS/MHZ的 指令執(zhí)行速度。 ARM7TDMI的流水線分3級,分別為: 取指 T 譯碼 T 執(zhí)行 1. ARM920T 簡介 2. ARM920T 處理器模式 3. ARM920T 內(nèi)部寄存器 4. ARM920T 程序狀態(tài)寄存器 5 異常 6 復(fù)位 7 存儲(chǔ)器及存儲(chǔ)器映射 I/O:簡介 ARM體糸結(jié)構(gòu)支持7種處理容棧式,分別為: 用戶模式、快中斯模式、中斯模些、管理模式、中 止模無、未定義離無和糸統(tǒng)

7、模式,如下表所示。這 樣的好處是可以JL好的支持操作糸統(tǒng)并提嘉工作效 率。ARM920T完第2.2 ARM920T處理器模式 全支持這七種模式。 2.2 ARM920T處理器模式 處理器模式 處理器模式 說明 備注 用戶 (usr) 正常程序工作模式 不能直接切換到其它模式 系統(tǒng) (sys) 用J支持操作系統(tǒng)的特 權(quán)任務(wù)竽 與用戶模式類似,但具有可以 直接切換到其它模式等特權(quán) 快中斷 (fiq) 支持高速數(shù)據(jù)傳輸及通 道處理 FIQ異常響應(yīng)時(shí)進(jìn)入此模式 中斷 用于通用屮斷處理 IRQ異常響應(yīng)時(shí)進(jìn)入此模式 管理 (svc) 操作系統(tǒng)保護(hù)代碼 系統(tǒng)復(fù)位和軟件屮斷響應(yīng)時(shí)進(jìn) 入此模式 中止 (abt)

8、 用于支持虛擬內(nèi)存和/或 存儲(chǔ)器保護(hù) AARM7TDMI沒有大用處 未定義 (und) 支持換件協(xié)處理器的軟 件仿真 木左義指令異常響應(yīng)時(shí)進(jìn)入此 模式 2.2ARM920T處理器模式 7 處理器模式 用戶 ,usr 說明 備注 匸常程序工作模式 不能肖接切換到其它模式 這五種模式稱為異會(huì)模無。 快中斷(fiq)丫它們除了可以通過程序切換進(jìn)入外, 中 I析 (irq) |H 管理 () 中止 未定義(undt/ 也可以由特走的異常進(jìn)入。當(dāng)特走 的異常出現(xiàn)肘,處理器進(jìn)入相應(yīng)的 A 模無。每種異帝模式都有一些獨(dú)立 J的寄存聚,以避免異常退出肘用戶 模式的狀態(tài)不可靠。 處理器模式 說明 備注 用戶 (

9、usr) 正常程序工作模式 不能直接切換到瓦它模式 系統(tǒng) (sys) 快中斷(fiq) 中斷(irq) 管理 (svc) 除用戶棧式外,其它棋式均 為特權(quán)模無。ARM內(nèi)部寄存器和 一些片內(nèi)外謖在硬件設(shè)計(jì)上只允許 A (或者可選為只允許丿特權(quán)棋式下 訪問。此外,特權(quán)離式4可以自由的 切換處理賽模式,而用戶模無不能 直接切換到別的棧無。 2.2 ARM920T處理器模式 異常模式 2.2 ARM920T處理器模式 :用戶和系統(tǒng)模式 處理器模式 說明 I 備注 IfflP (usr)- 系統(tǒng) (sys) I 快中斷(fiq) 中斷 (irq) 管理 (SVC) 中止 (abt) 這兩種模式都不能由異

10、常進(jìn)入科 .而且它們使用完全相同的奇存發(fā)組。 纟統(tǒng)棋式是特權(quán)朕式,不受用 i戶模式的限制。操作糸統(tǒng)在該模式 1下訪問用戶構(gòu)無的奇存發(fā)就比較方- :便,而且操作纟統(tǒng)的一些特權(quán)任務(wù) J可以使用這個(gè)棋式訪問一些受控的 -資源。 - 件仿真 模式 1. ARM920T 簡介 第2章目錄 2.2ARM920T處理器模式 7 2. ARM920T 處理器模式 3. ARM920T 內(nèi)部寄存器 4. ARM920T 程序狀態(tài)寄存器 5 異常 6 復(fù)位 7 存儲(chǔ)器及存儲(chǔ)器映射 I/O2.3 ARM920T內(nèi)部寄存器 :簡介 AARM920T處理爰肉部有27個(gè)用戶可見的寄 存O 衣不同的工作離式和處理彖狀態(tài)下,

11、程序員可 以訪問的寄存器也不盡相同。 ARM狀態(tài)各模式下的寺存賽 竊“器 類別 寄存器在匯編 中的名稱 各模式卜實(shí)際訪問的寄存器 用戶 系統(tǒng) 管理 中止 未定義 中斷 快中斷 通用寄 存器和 程庁計(jì) 數(shù)器 R0(a1) R0 R1 (a2) R1 R2(a3) R2 R3(a4) R3 R4(v1) R4 R5(v2) R5 R6(v3) R6 R7(v4) R7 R8(v5) R8 R8Jiq R9(SB,v6) R9 R9 fiq R10(SL.v7) R10 R10 fiq R11(FP,v8) R11 R11Jiq R12(IP) R12 R12 fiq R13(SP) R13 R13

12、 svc R13 abt R13 und R13Jrq R13Jiq R14(LR) R14 R14 svc R14 abt R14 und R14Jrq R14 fiq R15(PC) R15 狀態(tài)寄 器 CPSR CPSR SPSR 無 SPSR svc|sPSR abt SPSR und| SPSRJrq SPSRJiq ARM狀態(tài)各模式下的寺存器 竊存器 類別 寄存器在匯編 中的名稱 各模式卜實(shí)際訪問的寄存器 用戶 系統(tǒng) 符理 中止 未定義 中斷 快中斷 迪川寄 存器和 時(shí)汁 數(shù)器 R0(a1) R0 R1(a2) R1 R2(a3) R2 R3(a4) R3 R4(v1) R4 R5

13、(v2) R5 所有的37個(gè)寺存器,分 成兩大類: 31個(gè)通用32住奇存專; 6個(gè)狀態(tài)奇存專。 R6 R7 R8 R8 fiq R9 R9Jiq R10 RIOJiq R11 R11Jiq R12(IP) R12 R12Jiq R13(SP) R13 R13_svc R13_abt R13_und R13 irq R13 fiq R14(LR) R14 R14 svc R14 abt R14 und R14 irq R14 fiq R15(PC) R15 狀態(tài)寄 存器 CPSR CPSR SPSR 無 SPSR abt SPSR abt SPSR und| SPSRJrq SPSRJiq 堆棧

14、指針寄存器R13 (SP) 寄存器 類別 寄存器在匯編 中的名稱 *模式卜實(shí)際訪問的寄存器 用戶|系統(tǒng) 管理 中止 未定義 中斷 快中斷 in用寄 存器和 程睜計(jì) R0(a1) R0 R1 (a2) R1 R2(a3) R2 R3(a4) R3 R4(v1) R4 R5(v2) 奇存R13 f作為堆棧指針 (SP)。在ARM指令集多中,沒 有以特珠方式使用R13的指令或其 它功能,只是習(xí)慣上都這樣使用。 但是在Thumb指令集中存在使用 R13的指令。 R6(v3) R7(v4) R8(v5) R8iq R9(SB,v6) R9 fiq R10(SL.v7) RIOJiq R11(FPtv8)

15、 R11Jiq R12(IP) R12 fiq R13(SP) R13 R13 svc R13 abt R13 und R13Jrq R13Jiq R14(LR) R14 R14 svc R1 R13Jiq R14Jiq |sPSR abt|SPSR abt SPSR und SPSRJrq | SPSRJiq 狀態(tài)寄 存卷 .3ARM920T內(nèi)部寄存器 2.3 ARM920T內(nèi)部寄存器 :R14寄存器與異常發(fā)生 異禽發(fā)生對,程序要跳轉(zhuǎn)至異常服務(wù)程存,對 返回地址的處理與子程序調(diào)用類似,都是由硬件完 成的。區(qū)別在于有些異治有一個(gè)小倉量的偏移。 2.3 ARM920T內(nèi)部寄存器 R14寄存器注意

16、要點(diǎn) 未後玻壞寄“器 類別 中斷 :R14寄存器注意要點(diǎn) 多發(fā)生異帝灰套對,這些異帝之問可能會(huì)發(fā)生 沖突。 例如:如黑用戶在用戶模式下執(zhí)行程序肘發(fā)生了 IRQ中斷,用戶棋式寄存器不會(huì)被戒壞。但是如黑 允許在IRQ模式下的中斷處.理程序重新使能IRQ中 斷,并且發(fā)生了菽套的IRQ中浙肘,外部中斷處理 程序椽存在R14_irq中的任何值都將微獲套中斯的遮 回地址所覆蓋。 2.3 ARM920T內(nèi)部寄存器 :R14寄存器注意要點(diǎn) 解決辦法是確保R14的 對應(yīng)版本柱發(fā)生中斷殺釜 肘不再傑存任何有意義的 值將R14入棧丿,或者 切換到其它處理彖梯式下。0L A B X 0 L a urn IRQ模式F的

17、程序A 未披玻壞 披破壞 忒卜的程序 2.3 ARM920T內(nèi)部寄存器 R15(PC) 程序計(jì)數(shù)酸寄”器在匯編 中的名稱 模式T實(shí)際訪未定義 通用寄 仔器和 程序計(jì) 數(shù)器 R0(a1) R1(a2) R2(a3) R0 R1 R2 R3 奇存甕R15為程序計(jì)數(shù)器(PC),它指 向正直取指的地址??梢哉J(rèn)為它是一個(gè)通用 奇存器,但是對于它的使用有許多與指令相 關(guān)的限制或特珠情況。如果R15使用的方式 超出了這些限制,那么結(jié)黑將是不可預(yù)測的。 CPSR CPS R SPSR.abt SPSR_abt 2.3 SPSR 狀態(tài)寄 寄“器 類別 中斷 :讀R15的限制 正帝操作對,從R15讀取的值是處理器

18、正在取 指的地址,即當(dāng)it正在執(zhí)行指令的地址加上8個(gè)字 節(jié)C兩條ARM指令的長度丿。由于ARM指令總是 以孕為單住,所以R15奇存器的最低兩住總是為0。2.3 ARM920T內(nèi)部寄存器 :寫R15的限制 正帶操作肘,寫人R15的值彼當(dāng)作一個(gè)指令地 址,程序從這個(gè)地址處繼續(xù)執(zhí)行C相多于執(zhí)行一次 無條件跳轉(zhuǎn)丿。 由于ARM指令以字節(jié)為邊界,因此寫入R15的值最 低兩伎通治為ObOO。如果不是,結(jié)黑將不可預(yù)測。 1. ARM920T 簡介 2. ARM920T 處理器模式 3. ARM920T 內(nèi)部寄存器 4. ARM920T 程序狀態(tài)寄存器 5 異常 6 復(fù)位 第寄“器 類別 中斷 7 存儲(chǔ)器及存

19、儲(chǔ)器映射 I/O 2.4 ARM920T程序狀態(tài)寄存器 簡介 ARM920T內(nèi)核包含1個(gè)CPSR和5個(gè)供異渚處理程 序使用的SPSR。CPSR反映了當(dāng)前處理麥的狀態(tài),其 包含: 4個(gè)條件代碼標(biāo)志C負(fù)(N)、零(Z)、進(jìn)住(C)和 溢出(V)丿; 2個(gè)中斷禁止住,分別控制一科類型的中斯; 5個(gè)對當(dāng)前處理?xiàng)椖J竭M(jìn)行編碼的?。?1個(gè)用于指示當(dāng)前執(zhí)行指冬(ARM還是Thumb) 的住。 2.4 ARM920T程序狀態(tài)寄存器 IRQ禁止3 2 10 條件代31 30 29 28 27 26 CPSR事存彖5 零 負(fù)或小于 溢出標(biāo)志 1模式住 2.4 ARM920T程序狀態(tài)寄存器 條件代碼標(biāo)志 各標(biāo)志彳左

20、的含義如下? N運(yùn)算結(jié)黑的最壽住反映在該標(biāo)志住。對于有符 號(hào)二進(jìn)制補(bǔ)碼,結(jié)果為負(fù)數(shù)對N = 1,結(jié)果為正數(shù)或 零對N = 0; Z指令結(jié)果為0對Z = 1 (通常表示比較結(jié)果“相 等”),否則z = o; 2.4 ARM920T程序狀態(tài)寄存器 條件代碼標(biāo)志 各標(biāo)志伐的含義如下: C當(dāng)進(jìn)行加法運(yùn)算(包括CMN指令),并且最壽住 產(chǎn)生進(jìn)住對C = 1,否jn-JC=0o多進(jìn)行減法運(yùn)算(包括 CMP指令),并且最壽住產(chǎn)生借住對C=0,否則 C = 1 o對于結(jié)合移伎操作的非加法/減法指令,C為 從最高住最后移出的值,其它指令C通治不變; V當(dāng)進(jìn)行加法/減法運(yùn)算,幷且發(fā)生有符號(hào)溢出肘 V=1,否則V=

21、0,其它指令V通常不變。2.4 ARM920T程序狀態(tài)寄存器 控制位 CPSR的最低3伐控制住,當(dāng)發(fā)生畀落對,這些 住彼硬件改變。當(dāng)處理器處于一個(gè)特權(quán)模式肘,可 用軼件操作這些住。 它們分別是: 中斯禁止??; T住; 棋式伐,。 2.4 ARM920T程序狀態(tài)寄存器 控制位 中斷禁止住包括I和F佞.: 當(dāng)I住置伐肘,IRQ中斯彼禁止; 當(dāng)F伐置佞.肘,F(xiàn)【Q中斷彼禁止。 AT伐.反映了正在操作的狀態(tài): 當(dāng)T住置住時(shí),處理彖正在Thumb狀態(tài)下運(yùn)行; 當(dāng)T住請零對,處理器正在ARM狀態(tài)下運(yùn)行。2.4 ARM920T程序狀態(tài)寄存器 控制位 A 棋式住包括M4、M3、M2、M1和M0,這些住決 定處理賽的操作模式。 注意:不是所有模無住的組合耆定義了有敗的處理 麥模無,如果使用了錯(cuò)諼的謖置,將引起一個(gè)無法 恢復(fù)的錯(cuò)誤。 2.4 ARM920T程序狀態(tài)寄存器 :保留位 CPSR中的?;米”虽h幻將來使用。為了提高程 序的可移植性,當(dāng)改變CPSR標(biāo)志和控制住肘,請不 要改變這些鋒留住。另外,請確保您程序的運(yùn)行不 受保留伎的值影響,因?yàn)閷淼膽蚶砭劭赡軙?huì)將這 些住役置為1或者0。 第2章目錄 1. ARM920T 簡介 2. ARM920T 處理器模式 3.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論