ARMTHUMB微處理器結(jié)構(gòu)及指令系統(tǒng)_第1頁(yè)
ARMTHUMB微處理器結(jié)構(gòu)及指令系統(tǒng)_第2頁(yè)
ARMTHUMB微處理器結(jié)構(gòu)及指令系統(tǒng)_第3頁(yè)
ARMTHUMB微處理器結(jié)構(gòu)及指令系統(tǒng)_第4頁(yè)
ARMTHUMB微處理器結(jié)構(gòu)及指令系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩47頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第2章ARM/THUMB微處理器結(jié)構(gòu)及指令系統(tǒng) 本章簡(jiǎn)要介紹了ARM/THUMB微處理器的一些基本概念、應(yīng)用領(lǐng)域及特點(diǎn),以引導(dǎo)讀者進(jìn)入ARM/THUMB的殿堂。本章主要內(nèi)容有: ARM/THUMB及相關(guān)技術(shù)簡(jiǎn)介 ARM/THUMB微處理器系列 ARM/THUMB微處理器的結(jié)構(gòu) ARM/THUMB指令系統(tǒng) 2.1 ARM微處理器概述 ARM(Advanced RISC Machines),既可以認(rèn)為是一個(gè)公司的名字,也可以認(rèn)為是對(duì)一類微處理器的通稱,還可以認(rèn)為是一種技術(shù)的名字。 1991年ARM公司成立于英國(guó)劍橋,主要出售芯片設(shè)計(jì)技術(shù)的授權(quán)。目前,采用ARM 技術(shù)知識(shí)產(chǎn)權(quán)(IP)核的微處理器,即

2、我們通常所說(shuō)的ARM微處理器,已遍及工業(yè)控制、消費(fèi)類電子產(chǎn)品、通信系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、無(wú)線系統(tǒng)等各類產(chǎn)品市場(chǎng),基于ARM技術(shù)的微處理器應(yīng)用約占據(jù)了32位RISC微處理器75%以上的市場(chǎng)份額,ARM技術(shù)正在逐步滲入到我們生活的各個(gè)方面。 ARM公司是專門從事基于RISC技術(shù)芯片設(shè)計(jì)開發(fā)的公司,作為知識(shí)產(chǎn)權(quán)供應(yīng)商,它本身不直接從事芯片生產(chǎn),靠轉(zhuǎn)讓設(shè)計(jì)許可,由合作公司生產(chǎn)各具特色的芯片,世界各大半導(dǎo)體生產(chǎn)商從ARM公司購(gòu)買其設(shè)計(jì)的ARM微處理器核,根據(jù)各自不同的應(yīng)用領(lǐng)域,加入適當(dāng)?shù)耐鈬娐?,從而形成自己的ARM微處理器芯片進(jìn)入市場(chǎng)。目前,全世界有幾十家大的半導(dǎo)體公司都使用ARM公司的授權(quán),因此既使得AR

3、M技術(shù)獲得更多的第三方工具、制造、軟件的支持,又使整個(gè)系統(tǒng)成本降低,從而使產(chǎn)品更容易進(jìn)入市場(chǎng)被消費(fèi)者所接受,更具有競(jìng)爭(zhēng)力。 2.1.1 ARM處理器系列 下面所列的是ARM微處理器的幾個(gè)系列,以及其他廠商基于ARM體系結(jié)構(gòu)的處理器,這些處理器除了具有ARM體系結(jié)構(gòu)的共同特點(diǎn)以外,每一個(gè)系列的ARM微處理器都有各自的特點(diǎn)和應(yīng)用領(lǐng)域。 ARM7系列 ARM9系列 ARM9E系列 ARMl0E系列 SecurCore系列 Intel的Xscale Intel的StrongARM1. ARM7微處理器系列ARM7系列微處理器為低功耗的32位RISC處理器,最適合用于對(duì)價(jià)位和功耗要求較高的消費(fèi)類應(yīng)用。A

4、RM7微處理器系列具有如下特點(diǎn):具有嵌入式ICE(In-Circuit Emulator) RT邏輯,調(diào)試開發(fā)方便。極低的功耗,適合對(duì)功耗要求較高的應(yīng)用,如便攜式產(chǎn)品。能夠提供0.9MIPS/MHz的三級(jí)流水線結(jié)構(gòu)。代碼密度高并兼容16位的Thumb指令集。對(duì)操作系統(tǒng)的支持廣泛,包括Windows CE、Linux、Palm OS等。指令系統(tǒng)與ARM9系列、ARM9E系列和ARMl0E系列兼容,便于產(chǎn)品升級(jí)換代。主頻最高可達(dá)130MIPS,高速的運(yùn)算處理能力能勝任絕大多數(shù)的復(fù)雜應(yīng)用。 ARM的JTAG調(diào)試接口1。ARM的JTAG調(diào)試結(jié)構(gòu)一個(gè)典型的ARM基于JTAG調(diào)試結(jié)構(gòu)如圖所示。Debug主

5、控(Host)通常是運(yùn)行有ARM公司或者第三方提供的調(diào)式軟件的PC,通常用的調(diào)試軟件有ARM Debug for Window(ADW),Linux下的arm-elf-gdb等。 通過(guò)這些調(diào)試軟件,可以發(fā)送高級(jí)的ARM指令,比如:設(shè)置籪點(diǎn),讀寫存儲(chǔ)器,單步跟蹤,全速運(yùn)行等。協(xié)議轉(zhuǎn)換器(Protrocol converter)負(fù)責(zé)轉(zhuǎn)換Debug主控端發(fā)出的高級(jí)ARM調(diào)式命令為底層的和ARM內(nèi)核通信的JTAG命令。Debug主控端和協(xié)議轉(zhuǎn)換器之間的介質(zhì)可以有很多種,比如:以太網(wǎng),USB,RS-232,并口等。主控端和協(xié)議轉(zhuǎn)換器之間的通信協(xié)議最典型的就是ARM公司提供的Angle標(biāo)準(zhǔn),也可以是第三方

6、廠家自己定義的標(biāo)準(zhǔn)。關(guān)于Angle的協(xié)議,請(qǐng)參考ARM SDT和ADS,ajj公司的OpenICE32,EPI公司的Jeeni等。協(xié)議轉(zhuǎn)換器(Protrocol converter)負(fù)責(zé)轉(zhuǎn)換Debug主控端發(fā)出的高級(jí)ARM調(diào)式命令為底層的和ARM內(nèi)核通信的JTAG命令。Debug主控端和協(xié)議轉(zhuǎn)換器之間的介質(zhì)可以有很多種,比如:以太網(wǎng),USB,RS-232,并口等。主控端和協(xié)議轉(zhuǎn)換器之間的通信協(xié)議最典型的就是ARM公司提供的Angle標(biāo)準(zhǔn),也可以是第三方廠家自己定義的標(biāo)準(zhǔn)。關(guān)于Angle的協(xié)議,請(qǐng)參考ARM SDT和ADS,ajj公司的OpenICE32,EPI公司的Jeeni等。Debug目標(biāo)

7、板就是指系統(tǒng)的調(diào)試對(duì)象以一個(gè)典型的ARM7TDMI處理器內(nèi)核為例,說(shuō)明ARM7TDMI內(nèi)核的JTAG調(diào)試結(jié)構(gòu)ARMJTAG的JTAG宏單元(Macricell)主要包括3條JTAG掃描鏈(Scan Chain)和一個(gè)JTAG的控制TAP狀態(tài)機(jī)。2JTAG與AngelJTAG調(diào)試:協(xié)議轉(zhuǎn)換器解釋上位機(jī)傳送來(lái)的命令,通過(guò)JTAG控制ARM執(zhí)行。Angle調(diào)試:協(xié)議轉(zhuǎn)換器可以直接做為目標(biāo)板Firmware的一部分.直接執(zhí)行從宿主機(jī)轉(zhuǎn)送過(guò)來(lái)的調(diào)試指令;并回送相應(yīng)數(shù)據(jù)。Angel可以節(jié)省專門的JTAG仿真器,但是,它需要軟件,或者是嵌入式操作系統(tǒng)的支持,做不到完全的實(shí)時(shí)仿真。而JTAG仿真是通過(guò)硬件和控

8、制ARM的EmbeddedICE實(shí)現(xiàn)的可以做到實(shí)時(shí)仿真。JTAG的基本知識(shí)1.什么是JTAGJTAG是Joint Test Action Group的縮寫:是IEEE1149.1標(biāo)準(zhǔn)。2.使用JTAG的優(yōu)點(diǎn)JTAG的建立使得集成電路固定在PCB上,只通過(guò)邊掃描便可以通過(guò)測(cè)試。在ARM7TDMI處理器中,可以通過(guò)JTAG直接控制ARM的內(nèi)部總線,I/O口等信息,從而達(dá)到調(diào)試的目的。3. JTAG的典型信號(hào)TMS:測(cè)試模式選擇(Test Mode Select),通過(guò)TMS信號(hào)控制JTAG狀態(tài)機(jī)的狀態(tài)。TCK:JTAG的時(shí)鐘信號(hào)。TDI:數(shù)據(jù)輸入信號(hào)。TDO:數(shù)據(jù)輸出信號(hào)。nTRST:JTAG復(fù)位

9、信號(hào),復(fù)位JTAG的狀態(tài)機(jī)和內(nèi)部的宏單元(Macrocell)。4. JTAG狀態(tài)機(jī)5. JTAG鏈的組成ARM7TDMI內(nèi)核的JTAG掃描鏈結(jié)構(gòu)ARM7TDMI內(nèi)核的JTAG掃描鏈結(jié)構(gòu).主要包括條掃描鏈:Scan chain0, Scan chain1 Scan chain2.Scan Chain0:有113個(gè)掃描單元,包括ARM核的所有I/O,地址數(shù)據(jù)總線和輸入輸出控制信號(hào).這條鏈上的信號(hào)復(fù)雜,不易控制,但是,包含的信息豐富,可以通過(guò)這條鏈得到ARM7TDMI所有的內(nèi)核信息。Scan Chain1:有33個(gè)掃描單元,包括ARM核的數(shù)據(jù)總線和一個(gè)斷點(diǎn)控制信號(hào)。這是一條很有用地鏈,通過(guò)控制這條

10、鏈,可以控制ARM核執(zhí)行指定的指令,從而實(shí)現(xiàn)對(duì)ARM的內(nèi)部寄存器,協(xié)處理器以及外部存儲(chǔ)器的讀寫操作。Scan Chain2:有38個(gè)掃描單元,通過(guò)控制EmbeddedICE宏單元,實(shí)現(xiàn)對(duì)ARM執(zhí)行指令的斷點(diǎn),觀察點(diǎn)控制。EmbeddedICE是集成在ARM內(nèi)核的中的嵌入式ICE防真器。其結(jié)構(gòu)如圖所示。通過(guò)對(duì)EmbeddedICE的控制,對(duì)EmbeddedICE中寄存器的讀取,可以獲得ARM內(nèi)核的狀態(tài),為程序設(shè)置斷點(diǎn)以及讀取Debug通信通道。ARM7系列微處理器的主要應(yīng)用領(lǐng)域?yàn)椋汗I(yè)控制、Internet設(shè)備、網(wǎng)絡(luò)和調(diào)制解調(diào)器設(shè)備、移動(dòng)電話等多種多媒體和嵌入式應(yīng)用。ARM7系列微處理器包括如下

11、幾種類型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TDMI是目前使用最廣泛的32位嵌入式RISC處理器,屬低端ARM 處理器核。TDMI的基本含義為:T:支持16位壓縮指令集Thumb;D:支持片上Debug;M:內(nèi)嵌硬件乘法器(Multiplier);I:嵌入式ICE,支持片上斷點(diǎn)和調(diào)試點(diǎn)。本書所介紹的Samsung公司的S3C44b0X即屬于該系列的處理器。 2. ARM9微處理器系列 ARM9系列微處理器在高性能和低功耗特性方面提供最佳的性能。具有以下特點(diǎn):5級(jí)整數(shù)流水線,指令執(zhí)行效率更高。 提供1.1MIPS/MHz的哈佛結(jié)構(gòu)。支持32位

12、ARM指令集和16位Thumb指令集。支持32位的高速AMBA總線接口。全性能的MMU,支持Windows CE、Linux、Palm OS 等多種主流嵌入式操作系統(tǒng)。MPU支持實(shí)時(shí)操作系統(tǒng)。支持?jǐn)?shù)據(jù)Cache和指令Cache,具有更高的指令和數(shù)據(jù)處理能力。ARM9系列微處理器主要應(yīng)用于無(wú)線設(shè)備、儀器儀表、安全系統(tǒng)、機(jī)頂盒、高端打印機(jī)、數(shù)字照相機(jī)和數(shù)字?jǐn)z像機(jī)等。ARM9系列微處理器包含ARM920T、ARM922T和ARM940T三種類型,以適用于不同的應(yīng)用場(chǎng)合。 3. ARM9E微處理器系列 ARM9E系列微處理器為可綜合處理器,使用單一的處理器內(nèi)核提供了微控制器、DSP、Java應(yīng)用系統(tǒng)的

13、解決方案,極大地減少了芯片的面積和系統(tǒng)的復(fù)雜程度。ARM9E系列微處理器提供了增強(qiáng)的DSP處理能力,很適合于那些需要同時(shí)使用DSP和微控制器的應(yīng)用場(chǎng)合。 ARM9E系列微處理器的主要特點(diǎn)如下:支持DSP指令集,適合于需要高速數(shù)字信號(hào)處理的場(chǎng)合。5級(jí)整數(shù)流水線,指令執(zhí)行效率更高.支持32位ARM指令集和16位Thumb指令集.支持32位的高速AMBA(先進(jìn)的微控制器總線體系結(jié)構(gòu))總線接口.支持VFP9浮點(diǎn)處理協(xié)處理器.全性能MMU,支持Windows CE、Linux、Palm OS等多種主流嵌入式操作系統(tǒng)。MPU支持實(shí)時(shí)操作系統(tǒng)。支持?jǐn)?shù)據(jù)Cache和指令Cache,具有更高的指令和數(shù)據(jù)處理能力

14、。主頻最高可達(dá)300MIPS。 ARM9系列微處理器主要應(yīng)用于下一代無(wú)線設(shè)備、數(shù)字消費(fèi)品、成像設(shè)備、工業(yè)控制、存儲(chǔ)設(shè)備和網(wǎng)絡(luò)設(shè)備等領(lǐng)域。ARM9E系列微處理器包含ARM926EJ-S、ARM946E-S和ARM966E-S 3種類型,以適用于不同的應(yīng)用場(chǎng)合。 4. ARMl0E微處理器系列 ARMl0E系列微處理器具有高性能、低功耗的特點(diǎn),由于采用了新的體系結(jié)構(gòu),與同等的ARM9器件相比較,在同樣的時(shí)鐘頻率下,性能提高了近50%,同時(shí),ARMl0E系列微處理器采用了兩種先進(jìn)的節(jié)能方式,使其功耗極低。 ARMl0E系列微處理器的主要特點(diǎn)如下:支持DSP指令集,適合于需要高速數(shù)字信號(hào)處理的場(chǎng)合。6

15、級(jí)整數(shù)流水線,指令執(zhí)行效率更高。支持32位ARM指令集和16位Thumb指令集。支持32位的高速AMBA總線接口。 支持VFPl0浮點(diǎn)處理協(xié)處理器。全性能MMU,支持Windows CE、Linux 、 Palm OS等多種主流嵌入式操作系統(tǒng)。支持?jǐn)?shù)據(jù)Cache和指令Cache,具有更高的指令和數(shù)據(jù)處理能力。主頻最高可達(dá)400MIPS。內(nèi)嵌并行讀寫操作部件。 ARMl0E系列微處理器主要應(yīng)用于下一代無(wú)線設(shè)備、數(shù)字消費(fèi)品、成像設(shè)備、工業(yè)控制、通信和信息系統(tǒng)等領(lǐng)域。ARMl0E系列微處理器包含ARMl020E,ARMl022E和ARMl026EJ-S 3種類型,以適用于不同的應(yīng)用場(chǎng)合。 5. Se

16、curCore微處理器系列SecurCore系列微處理器專為安全需要而設(shè)計(jì),提供了完善的32位RISC技術(shù)的安全解決方案,因此,SecurCore系列微處理器除了具有ARM體系結(jié)構(gòu)的低功耗、高性能的特點(diǎn)外,還具有獨(dú)特的優(yōu)勢(shì),即提供了對(duì)安全解決方案的支持。SecurCore系列微處理器除了具有ARM體系結(jié)構(gòu)各種主要特點(diǎn)外,還在系統(tǒng)安全方面具有如下的特點(diǎn):帶有靈活的保護(hù)單元,以確保操作系統(tǒng)和應(yīng)用數(shù)據(jù)的安全。采用軟內(nèi)核技術(shù),防止外部對(duì)其進(jìn)行掃描探測(cè)??杉捎脩糇约旱陌踩匦院推渌麉f(xié)處理器。 SecurCore系列微處理器主要應(yīng)用于一些對(duì)安全性要求較高的應(yīng)用產(chǎn)品及應(yīng)用系統(tǒng),如電子商務(wù)、電子政務(wù)、電子銀

17、行業(yè)務(wù)、網(wǎng)絡(luò)和認(rèn)證系統(tǒng)等領(lǐng)域。SecurCore系列微處理器包含:SecurCore SCl00、SecurCore SCll0、SecurCore SC200和SecurCoreSC210 4種類型,以適用于不同的應(yīng)用場(chǎng)合。 6. StrongARM微處理器系列 Intel StrongARM SA-1100處理器是采用ARM體系結(jié)構(gòu)高度集成的32位RISC微處理器。它融合了Intel公司的設(shè)計(jì)和處理技術(shù),以及ARM體系結(jié)構(gòu)的電源效率,采用在軟件上兼容ARMv4體系結(jié)構(gòu)、同時(shí)采用具有Intel技術(shù)優(yōu)點(diǎn)的體系結(jié)構(gòu)。Intel StrongARM處理器是便攜式通信產(chǎn)品和消費(fèi)類電子產(chǎn)品的理想選擇,

18、已成功應(yīng)用于多家公司的掌上電腦系列產(chǎn)品。7. Xscale處理器 Xscale處理器是基于ARMv5TE體系結(jié)構(gòu)的解決方案,是一款性能全、性價(jià)比高、功耗低的處理器。它支持16位的Thumb指令和DSP指令集,已使用在數(shù)字移動(dòng)電話、個(gè)人數(shù)字助理和網(wǎng)絡(luò)產(chǎn)品等場(chǎng)合。Xscale處理器是Intel目前主要推廣的一款A(yù)RM微處理器 2.1.2 RISC體系結(jié)構(gòu)ARM處理器實(shí)現(xiàn)加載存儲(chǔ)(load/store)體系結(jié)構(gòu)是典型的RISC處理器。只有加載和存儲(chǔ)指令可以訪問(wèn)存儲(chǔ)器。數(shù)據(jù)處理指令只對(duì)寄存器的內(nèi)容進(jìn)行操作。精簡(jiǎn)指令集計(jì)算機(jī)RISC (Reduced Instruction Set Computer)結(jié)

19、構(gòu)的產(chǎn)生是相對(duì)于傳統(tǒng)的復(fù)雜指令集計(jì)算機(jī)CISC (Complex Instruction Set Computer)結(jié)構(gòu)而言的。盡管在1979年美國(guó)加州大學(xué)伯克利分校的帕特遜等人即提出了這個(gè)名字,但不同的看法使得目前尚未有對(duì) RISC的嚴(yán)格定義。比較普遍的認(rèn)為是,RISC應(yīng)該是一種計(jì)算機(jī)設(shè)計(jì)的基本原則,它的出現(xiàn)標(biāo)志著計(jì)算機(jī)體系結(jié)構(gòu)發(fā)展上的一個(gè)重要里程碑。傳統(tǒng)的CISC計(jì)算機(jī)的指令集隨著計(jì)算機(jī)的發(fā)展而引入了各種各樣的復(fù)雜指令,使得指令集和為此要實(shí)現(xiàn)這些指令的計(jì)算機(jī)體系結(jié)構(gòu)越來(lái)越復(fù)雜,已經(jīng)不堪重負(fù)。經(jīng)過(guò)大量的研究和分析,發(fā)現(xiàn)在CISC的指令集中,各種指令的使用頻度相差懸殊。大概有20%的指令被反復(fù)

20、使用,使用量約占整個(gè)程序的80%;而有80%左右的指令則很少使用,其使用量約占整個(gè)程序的20%。這就是所謂的20%80%定律。 RISC特點(diǎn)如下:指令規(guī)整、對(duì)稱、簡(jiǎn)單。指令小于100條,基本尋址方式有23種。單周期指令。指令字長(zhǎng)度一致,單拍完成,便于流水操作;ARM7 三級(jí)流水線:取指、譯碼、執(zhí)行;ARM9 五級(jí)流水線;ARMl0 六級(jí)流水線。大量的寄存器。寄存器不少于32個(gè)。數(shù)據(jù)處理器的指令只對(duì)寄存器的內(nèi)容操作。只有加載存儲(chǔ)指令可以訪問(wèn)存儲(chǔ)器。 ARM指令體系結(jié)構(gòu)使用了加載存儲(chǔ)體系結(jié)構(gòu)、固定長(zhǎng)32位指令和3地址指令格式的RISC特性;舍棄了寄存器窗口、延遲轉(zhuǎn)移和所有指令單周期的RISC特性。

21、 2.1.3 ARM和Thumb狀態(tài)ARM體系結(jié)構(gòu)v4T及以上版本定義了稱為Thumb指令集的16位指令集。Thumb指令集的功能是32位ARM指令集的功能子集。Thumb在性能和代碼大小之間提供了出色的折中。正在執(zhí)行Thumb指令集的處理器是工作在Thumb狀態(tài)下。正在執(zhí)行ARM指令集的處理器是工作在ARM狀態(tài)下。在ARM狀態(tài)下的處理器不能執(zhí)行Thumb指令,在Thumb狀態(tài)下的處理器也不能執(zhí)行ARM指令。必須確保處理器不接受對(duì)當(dāng)前狀態(tài)來(lái)說(shuō)為錯(cuò)誤指令集的指令。每個(gè)指令集都包括切換處理器狀態(tài)的指令。ARM處理器總是在ARM狀態(tài)下開始執(zhí)行代碼。ARM處理器支持7種處理器模式,取決于體系結(jié)構(gòu)版本。

22、 2.1.4. 寄存器 ARM處理器有37個(gè)寄存器。寄存器被安排成部分重疊的組(overlap-ping bank)。每種處理器模式都有不同的寄存器組。分組的寄存器在處理處理器異常和特權(quán)操作時(shí)可得到快速的上下文切換。通常寄存器R13用做堆棧指針。在用戶模式下,R14用做鏈接寄存器(LR),在子程序調(diào)用時(shí)用來(lái)保存返回地址。若返回地址保存在通信堆棧中,則它也可用做通用寄存器。在異常處理模式下,R14用來(lái)保存異常的返回地址。程序計(jì)數(shù)器用R15(或PC)訪問(wèn)。在ARM狀態(tài)下每條指令加1個(gè)字(4個(gè)字節(jié)),或在Thumb狀態(tài)下每條指令加2個(gè)字節(jié)。分支指令把目的地址加載到程序計(jì)數(shù)器中。也可以使用數(shù)據(jù)操作指令

23、直接加載程序計(jì)數(shù)器。在執(zhí)行時(shí),R15不包含當(dāng)前執(zhí)行指令的地址。典型情況下,當(dāng)前正在執(zhí)行指令的地址對(duì)于ARM狀態(tài)是PC8,或?qū)τ赥humb狀態(tài)是PC4。2.1.5 ARM指令集概述所有ARM指令是32位長(zhǎng)度。指令以字對(duì)準(zhǔn)保存,這樣ARM狀態(tài)指令地址的最低2位總是零。一些指令使用最低有效位判定代碼是轉(zhuǎn)向Thumb代碼還是ARM代碼。具有字節(jié)(8位)、半字(16位)、字(32位)帶符號(hào)或無(wú)符號(hào)數(shù)傳送能力。2.1.6 Thumb指令集概述 所有Thumb指令是16位長(zhǎng)度,在存儲(chǔ)器中半字對(duì)準(zhǔn)保存。因此,指令的最低有效位在Thumb狀態(tài)下總是為零。對(duì)于所有Thumb數(shù)據(jù)處理指令有:操作寄存器中全部為32位

24、值;數(shù)據(jù)訪問(wèn)和取指使用全32位地址。條件分支指令是依據(jù)CPSR中ALU的狀態(tài)標(biāo)志有條件執(zhí)行的唯一的Thumb指令。在Thumb狀態(tài)下,大多數(shù)指令只能訪問(wèn)R0R7。寄存器R8R15是被限制訪問(wèn)的寄存器。在Thumb狀態(tài)下它們用高寄存器表示。Thumb狀態(tài)只在分立操作時(shí)使用桶式移位,具有LSI、LSR、ASR或ROR指令。Thumb體系結(jié)構(gòu)的擴(kuò)充使得在8/16位系統(tǒng)價(jià)格下可得到32位性能,即 最小化系統(tǒng)存儲(chǔ)器大小和價(jià)格下出色的代碼密度;在低系統(tǒng)價(jià)格的8或16位總線上由16位存儲(chǔ)器得到32位性能。Thumb是32位體系結(jié)構(gòu)的擴(kuò)充。Thumb指令集是大多數(shù)常用的32位ARM指令的子集,壓縮成16位寬操

25、作碼。在執(zhí)行時(shí),16位指令透明地實(shí)時(shí)解壓縮成全32位ARM指令且沒(méi)有性能損失。設(shè)計(jì)者可以使用16位Thumb和32位ARM指令集。在于程序級(jí)可根據(jù)應(yīng)用需求,靈活地強(qiáng)調(diào)性能或代碼大小。Thumb比通常的8和16位CISC/RISC控制器有更好的代碼密度,是傳統(tǒng)32位體系結(jié)構(gòu)代碼大小的一部分。這意味著程序存儲(chǔ)器可以更小,因而降低了成本。 3 AMBA總線 先進(jìn)的微控制器總線體系結(jié)構(gòu)AMBA規(guī)范定義了三種總線: AHB(Advanced High-performance Bus):用于連接高性能系統(tǒng)模塊。它支持突發(fā)數(shù)據(jù)傳輸方式及單個(gè)數(shù)據(jù)傳輸方式,所有時(shí)序參考同一個(gè)時(shí)鐘沿;ASB(Advanced S

26、ystem Bus):用于連接高性能系統(tǒng)模塊,它支持突發(fā)數(shù)據(jù)傳輸模式;APB(Advance Peripheral Bus):是一個(gè)簡(jiǎn)單接口支持低性能的外圍接口。 一個(gè)典型的基于AMBA的微控制器同時(shí)集成 AHB(或ASB)和APB接口,如圖所示。ASB總線是舊版的系統(tǒng)的總線,而新版的AHB總線增強(qiáng)了對(duì)性能、綜合及時(shí)序驗(yàn)證的支持。APB總線通常用作的局部的第二總線,作為AHB或ASB上的單個(gè)從屬模塊。 根據(jù)AMBA的規(guī)范,連接AHB/ASB和APB的APB橋的唯一功能是提供更簡(jiǎn)單的接口。任何由低性能外圍設(shè)備產(chǎn)生的延遲會(huì)由連接高性能(AHB/ASP)總線的橋反映出來(lái)。橋本身仿佛是一個(gè)簡(jiǎn)單APB總線的主設(shè)備,它訪問(wèn)與之相連的從設(shè)備,并且通過(guò)高性能總線上控制信號(hào)的子集控制它們。下面給出AHB、ASB和APB的主要特征.3.1 AHB AHB是先進(jìn)的系統(tǒng)總線。它主要的目的就是連接共性能、高吞吐率的設(shè)備,例如CPU、DMA和DSP。它的主要特性:高性能新一代總線; 多控制器; 分段傳輸; 單周期總線控制權(quán)移交;沒(méi)有三態(tài)實(shí)現(xiàn)方式;32128位總線寬; 包含一種訪問(wèn)保護(hù)機(jī)制,用來(lái)區(qū)別特權(quán)訪問(wèn)和無(wú)特權(quán)訪問(wèn)模式,或指令和數(shù)據(jù)提取等; 突發(fā)傳輸模式最大為1

溫馨提示

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

評(píng)論

0/150

提交評(píng)論