嵌入式系統(tǒng)-Chapter2-嵌入式硬件系統(tǒng)基礎(chǔ)G課件_第1頁
嵌入式系統(tǒng)-Chapter2-嵌入式硬件系統(tǒng)基礎(chǔ)G課件_第2頁
嵌入式系統(tǒng)-Chapter2-嵌入式硬件系統(tǒng)基礎(chǔ)G課件_第3頁
嵌入式系統(tǒng)-Chapter2-嵌入式硬件系統(tǒng)基礎(chǔ)G課件_第4頁
嵌入式系統(tǒng)-Chapter2-嵌入式硬件系統(tǒng)基礎(chǔ)G課件_第5頁
已閱讀5頁,還剩193頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、嵌入式系統(tǒng) 第二章嵌入式硬件系統(tǒng)基礎(chǔ)主要內(nèi)容嵌入式硬件系統(tǒng)基本組成嵌入式微處理器嵌入式系統(tǒng)總線嵌入式存儲系統(tǒng)第一節(jié)嵌入式硬件系統(tǒng)基本組成嵌入式微處理器每個嵌入式系統(tǒng)至少包含一個嵌入式微處理器 嵌入式微處理器體系結(jié)構(gòu)可采用馮諾依曼(Von Neumann)結(jié)構(gòu)或哈佛(Harvard)結(jié)構(gòu)地址數(shù)據(jù)主存儲器MOV r8,#8CPUPC指令程序存儲器CPUPC地址數(shù)據(jù)存儲器MOV r8,#8地址數(shù)據(jù)馮諾依曼結(jié)構(gòu)哈佛結(jié)構(gòu)指令和數(shù)據(jù)存放在同一存儲空間中,統(tǒng)一編址指令和數(shù)據(jù)通過同一總線訪問程序和數(shù)據(jù)存儲在不同的存儲空間中兩條總線(程序總線和數(shù)據(jù)總線),數(shù)據(jù)的吞吐率提高了一倍嵌入式微處理器傳統(tǒng)的微處理器采用的

2、馮諾依曼結(jié)構(gòu)將指令和數(shù)據(jù)存放在同一存儲空間中,統(tǒng)一編址,指令和數(shù)據(jù)通過同一總線訪問。哈佛結(jié)構(gòu)則是不同于馮諾依曼結(jié)構(gòu)的一種并行體系結(jié)構(gòu),其主要特點是程序和數(shù)據(jù)存儲在不同的存儲空間中,即程序存儲器和數(shù)據(jù)存儲器是兩個相互獨立的存儲器,每個存儲器獨立編制、獨立訪問。與之相對應(yīng)的是系統(tǒng)中設(shè)置的兩條總線(程序總線和數(shù)據(jù)總線),從而使數(shù)據(jù)的吞吐率提高了一倍。嵌入式微處理器嵌入式微處理器有許多不同的體系,即使在同一體系中也可能具有不同的時鐘速度和總線數(shù)據(jù)寬度、集成不同的外部接口和設(shè)備。據(jù)不完全統(tǒng)計,目前全世界嵌入式微處理器的品種總量已經(jīng)超過千種,有幾十種嵌入式微處理器體系,主流的體系有ARM、MIPS、Pow

3、erPC、SH、 X86等。 總 線嵌入式系統(tǒng)的總線可分為:片內(nèi)總線:與嵌入式微處理器集成在一起,如:AMBA、 AVALON、OCP、WISHBONE等片外并行總線:如:PCI、ISA等片外串行總線:UART、SPI、I2C、USB等片內(nèi)總線的選擇取決于CPU Core片外總線的選擇取決于應(yīng)用存儲器嵌入式系統(tǒng)的存儲器包括主存和外存。大多數(shù)嵌入式系統(tǒng)的代碼和數(shù)據(jù)都存儲在處理器可直接訪問的存儲空間即主存中。系統(tǒng)上電后在主存中的代碼直接運行。主存儲器的特點是速度快,一般采用ROM、EPROM、Nor Flash、SRAM、DRAM等存儲器件。存儲器目前有些嵌入式系統(tǒng)除了主存外,還有外存。外存是處理

4、器不能直接訪問的存儲器,用來存放各種信息,相對主存而言具有價格低、容量大的特點。在嵌入式系統(tǒng)中除部分采用硬盤外,大多數(shù)采用電子盤做外存,電子盤的主要種類有:NandFlashSD(Secure Digital)CompactFlashU盤SmartMediaMemory StickMultiMediaCardDOC(Disk On Chip等輸入/輸出接口和設(shè)備嵌入式系統(tǒng)的大多數(shù)輸入/輸出接口和部分設(shè)備已經(jīng)與嵌入式微處理器集成在一起。輸入/輸出接口和設(shè)備主要包括:中斷控制器、DMA、串行和并行接口定時器(Timers)、計數(shù)器(counters)、看門狗(watchdog timers)、RT

5、C、UARTs、PWM(Pulse width modulator)AD/DA、顯示器、鍵盤和網(wǎng)絡(luò)等。 第二節(jié)嵌入式微處理器嵌入式微處理器的發(fā)展嵌入式微處理器的分類嵌入式微處理器的特點主流的嵌入式微處理器(ARM, MIPS, SH, PowerPC, x86)嵌入式微處理器的分類嵌入式微處理器種類繁多,按位數(shù)可分為4位、8位、16位、32位和64位。按用途來分,嵌入式微處理器可分為嵌入式DSP和通用的嵌入式微處理器兩種: 嵌入式DSP:專用于數(shù)字信號處理,采用哈佛結(jié)構(gòu)和一系列措施保證數(shù)字信號的處理速度,如對FFT(快速傅立葉變換)的專門優(yōu)化。 通用的嵌入式微處理器:一般是集成了通用微處理器的

6、核、總線、外圍接口和設(shè)備的SOC芯片,有些還將DSP作為協(xié)處理器集成。 嵌入式微處理器的特點體系結(jié)構(gòu)指令集性能功耗和管理成本集成度基礎(chǔ)是通用微處理器與通用微處理器相比的區(qū)別:體積小、重量輕成本低、功耗低工作溫度寬抗電磁干擾、可靠性強嵌入式微處理器的集成度嵌入式微處理器是面向應(yīng)用的,其片內(nèi)所包含的組件的數(shù)目和種類是由它的市場定位決定的。在最普通的情況下,嵌入式微處理器包括:片內(nèi)存儲器:部分嵌入式微處理器外部存儲器的控制器,外設(shè)接口(串口,并口)LCD控制器:面向終端類應(yīng)用的嵌入式微處理器中斷控制器,DMA控制器,協(xié)處理器定時器,A/D、D/A轉(zhuǎn)換器多媒體加速器:當高級圖形功能需要時總線其他標準接

7、口或外設(shè)返回嵌入式微處理器的體系結(jié)構(gòu)算術(shù)格式(Arithmetic Format) 由于低成本和低功耗的限制,大多數(shù)的嵌入式微處理器使用定點運算(fixed-point arithmetic)當嵌入式系統(tǒng)中需要使用浮點運算時,可采用軟件模擬的方式實現(xiàn)浮點運算,只不過這樣要占用更多的處理器時間。 功能單元(Functional Units) 通常包括不止一個的功能單元,典型的是包含一個ALU、移位器和MAC,處理器通常用一條指令完成乘法操作。 流水線(Pipeline)通常采用單周期執(zhí)行指令,可能導致比較長的流水線 返回嵌入式微處理器的指令集為滿足應(yīng)用領(lǐng)域的需要,嵌入式微處理器的指令集一般要針對

8、特定領(lǐng)域的應(yīng)用進行剪裁和擴充。目前很多應(yīng)用系統(tǒng)需要類似于DSP的數(shù)字處理功能。這些指令主要有:乘加(MAC)操作:它在一個周期中執(zhí)行了一次乘法運算和一次加法運算。 SIMD類操作:允許使用一條指令進行多個并行數(shù)據(jù)流的計算。 零開銷的循環(huán)指令:采用硬件方式減少了循環(huán)的開銷。僅使用兩條指令實現(xiàn)一個循環(huán),一條是循環(huán)的開始并提供循環(huán)次數(shù),另一條是循環(huán)體。 多媒體加速指令:像素處理、多邊形、3D操作等指令。 返回嵌入式微處理器的性能低端(低價,低性能) 一般低端嵌入式微處理器的性能最多達到50MIPS,應(yīng)用在對性能要求不高但對價格和功耗有嚴格要求的應(yīng)用系統(tǒng)中。 中檔,低功耗 中檔的嵌入式微處理器可達到較

9、好的性能(如150MIPS左右),采用增加時鐘頻率、加深流水深度、增加Cache及一些額外的功能塊來提高性能,并保持低功耗。 高端 嵌入式微處理器的性能高端嵌入式微處理器用于高強度計算的應(yīng)用,使用不同的方法來達到更高的并行度 單指令執(zhí)行乘法操作:通過加入額外的功能單元和擴展指令集,使許多操作能在一個單一的周期內(nèi)并行執(zhí)行。每個周期執(zhí)行多條指令:桌面和服務(wù)器的超標量處理器都支持單周期多條指令執(zhí)行,在嵌入式領(lǐng)域通常使用VLIW(very large instruction word)來實現(xiàn),這樣只需較少的硬件,總體價格會更低些。例如TI的TMS320C6201芯片,通過使用VLIW方法,能在每個周期

10、同時執(zhí)行8條獨立的32位指令。使用多處理器:采用多處理器的方式滿足應(yīng)用系統(tǒng)的更高要求。一些嵌入式微處理器采用特殊的硬件支持多處理器。如TI的OMAP730包括了三個處理器核ARM9、ARM7、DSP。返回嵌入式微處理器的功耗管理大多數(shù)嵌入式系統(tǒng)有功耗的限制(特別是電池供電的系統(tǒng)),它們不支持使用風扇和其他冷卻設(shè)備。 降低工作電壓:1.8v、1.2v甚至更低,而且這個數(shù)值一直在下降。提供不同的時鐘頻率:通過軟件設(shè)置不同的時鐘分頻。關(guān)閉暫時不使用的功能塊:如果某功能塊在一個周期內(nèi)不使用,就可以被完全關(guān)閉,以節(jié)約能量。 嵌入式微處理器的成本為降低價格,需要在嵌入式微處理器的設(shè)計中考慮不同的折衷方案。

11、處理器的價格受如下因素影響:處理器的特點:功能塊的數(shù)目、總線類型等。 片上存儲器的大小。芯片的引腳數(shù)和封裝形式:如PQFP(Plastic Quad Flat Package)通常比BGA(Ball Grid Array Package)便宜。芯片大?。╠ie size):取決于制造的工藝水平。代碼密度(code density):代碼存儲器的大小將影響價格,不同種類的處理器結(jié)構(gòu)(CISC/RISC/ VLIW )有不同的代碼密度。主流的嵌入式微處理器目前主流的嵌入式微處理器系列主要有:ARM系列MIPS系列PowerPC系列Super H系列等。屬于這些系列的嵌入式微處理器產(chǎn)品很多,有上千種

12、以上。32位浪潮的到來Source: Semico Research Corp. and SIA/WSTSTotal MCU, by Sub-Category (excl. DSP) Total Embedded Control Market Shipments by Type 總共約26億個32位處理器付運,占總數(shù)96億的27%2005年ARM為17億個,約占32位總量的70%左右X86系列主要由AMD,Intel,NS,ST等公司提供,如:Am186/88、Elan520、嵌入式K6,386EX、STPC等。 主要應(yīng)用在工業(yè)控制、通信等領(lǐng)域。 國內(nèi)由于對X86體系比較熟悉,得到廣泛應(yīng)用,特

13、別是嵌入式PC的應(yīng)用非常廣泛。Intel Atom processor Z5xxbuilt on a new 45-nanometer Hi-k low power micro-architecture and 45 nm process technology the first generation of lowpower IA-32 micro-architecture specially designed for the new class of Mobile Internet Devices (MIDs). In the Intel Centrino Atom processor te

14、chnology platform, the Intel Atom processor Z5xx series supports the Intel System Controller Hub (Intel SCH), a single-chip component design for low-power. This document contains electrical, mechanical and thermal specifications for the following processors:Intel Atom processor Z540, Z530, Z520, Z51

15、0, and Z500Intel Atom processor Z5xxbuilt on a new 45-nanometer Hi-k low power micro-architecture and 45 nm process technology the first generation of lowpower IA-32 micro-architecture specially designed for the new class of Mobile Internet Devices (MIDs). In the Intel Centrino Atom processor techno

16、logy platform, the Intel Atom processor Z5xx series supports the Intel System Controller Hub (Intel SCH), a single-chip component design for low-power. This document contains electrical, mechanical and thermal specifications for the following processors:Intel Atom processor Z540, Z530, Z520, Z510, a

17、nd Z500Intel Atom processor Z5xxbuilt on a new 45-nanometer Hi-k low power micro-architecture and 45 nm process technology the first generation of low power IA-32 micro-architecture specially designed for the new class of Mobile Internet Devices (MIDs). In the Intel Centrino Atom processor technolog

18、y platform, the Intel Atom processor Z5xx series supports the Intel System Controller Hub (Intel SCH), a single-chip component design for low-power. This document contains electrical, mechanical and thermal specifications for the following processors:Intel Atom processor Z540, Z530, Z520, Z510, and

19、Z500Intel Atom processor Z5xxNew single-core processor for mobile devices offering enhanced performanceOn die, primary 32-kB instructions cache and 24-kB write-back data cache100-MHz and 133-MHz Source-Synchronous front side bus (FSB)100 MHz: Intel Atom processor Z500133 MHz: Intel Atom processor Z5

20、40, Z530, Z520, and Z510Supports Hyper-Threading Technology 2-threadsOn die 512-kB, 8-way L2 cacheSupport for IA 32-bit architectureIntel Virtualization Technology (Intel VT)Intel Streaming SIMD Extensions 2 and 3 (Intel SSE2 and Intel SSE3) and Supplemental Streaming SIMD Extensions 3 (SSSE3) suppo

21、rtMPC/PPC系列Motorola推出的MPC系列,如MPC8XX。IBM推出PPC系列,如PPC4XX。主要應(yīng)用在通信、消費電子及工業(yè)控制、軍用裝備等領(lǐng)域。MPC/PPC系列IBM PowerPC 集成10/100Mbps以太網(wǎng)控制器、串行和并行端口、內(nèi)存控制器以及其它外設(shè)的高性能嵌入式處理器。Motorola MPC 高度綜合的SOC設(shè)備,它結(jié)合了PPC微處理器核心的功能、通信處理器和單硅成分內(nèi)的顯示控制器。這個設(shè)備可以在大量的電子應(yīng)用中使用,特別是在低能源、便攜式、圖象捕捉和個人通信設(shè)備。技術(shù)0.25微米CMoS SA-12E282 Dhrystone 2.1 MIPS 200MHz

22、375 Dhrystone 2.1 MIPS 266MHz200/100/66/50 MHz266/133/66/66 MHz晶體數(shù)量480萬電源消耗1.1瓦信號I/O300溫度范圍-40到80度電源供應(yīng)2.5V (邏輯電路),3.3V (I/O),支持5V I/Os456-Ball,Enhanced PBGA (35mm x 35mm)性能頻率(CPU /SDRAM /PCI /EBC)封裝PowerPC 405 GP技術(shù)規(guī)格*Dhrystone是一個綜合性的基準測試程序,它是為了測試編譯器和CPU處理整數(shù)指令和控制功能的有效性,人為地選擇一些“典型指令綜合起來形成的測試程序。 ARM系列A

23、RM(Advanced RISC Machine)公司是一家專門從事芯片IP設(shè)計與授權(quán)業(yè)務(wù)的英國公司,其產(chǎn)品有ARM內(nèi)核以及各類外圍接口。ARM內(nèi)核是一種32位RISC微處理器,具有功耗低、性價比高、代碼密度高等三大特色。目前,90%的移動電話、大量的游戲機、手持PC和機頂盒等都已采用了ARM處理器,許多一流的芯片廠商都是ARM的授權(quán)用戶(Licensee),如Intel、Samsung、TI、Motorola、ST等,ARM已成為業(yè)界公認的嵌入式微處理器標準。ARM處理器的分類結(jié)構(gòu)體系版本(Architecture)ARM v4TARM v5TE ARM v6ARM Cortex (v7)P

24、rocessor FamilyARM7 ARM9ARM10ARM11ARM Cortex按應(yīng)用特征分類應(yīng)用處理器 Application Processor實時控制處理器 Real-time Controller微控制器 Micro-controller特征:MMU, Cache 最快頻率、最高性能、合理功耗 特征:MPU, Cache 實時響應(yīng)、合理性能、較低功耗 特征:no sub-memory system 一般性能、最低成本、極低功耗 v4 v5TESA110v4TARM720TARM7TDMI-SARM920TARM940TARM922TARM966E-SARM946E-SARM10

25、20Ev5TEJ / Jazellev6 / JazelleARM7EJ-SARM926EJ-SARM1026EJ-SARM11 Micro-Architecture Roadmap of ARM V4/V5/V6 基于32-bit地址空間的32-bit指令集 增加16-bit Thumb指令集,使得編譯器能產(chǎn)生緊湊代碼(內(nèi)存能節(jié)省到35%以上) Thumb在處理器中仍然要擴展為標準的32位ARM指令來運行。采用16位Thumb指令集最大的好處就是可以獲得更高的代碼密度和降低功耗。 1999年推出 增強了Thumb體系:以更好地平衡代碼空間和性能 并在ARM ISA上擴展了增強的DSP指令集:

26、 E擴展表示在通用的CPU上提供DSP能力。 2000年推出, 增加了Jazelle擴展以支持Java加速技術(shù)。Jazelle技術(shù)比僅僅基于軟件的JVM性能提高近8倍的性能減少了80的功耗。2001年推出,它在許多方面做了改進如內(nèi)存系統(tǒng)、異常處理和較好地支持多處理器。SIMD擴展使得廣大的軟件應(yīng)用如Video和Audio codec的性能提高了4倍。Thumb-2和TrustZone 技術(shù)也用于ARMv6中。ARMv7(Cortex)ARMv7定義了3種不同的處理器配置(processor profiles): Profile A是面向復(fù)雜、基于虛擬內(nèi)存的OS和應(yīng)用的Profile R是針對實

27、時系統(tǒng)的Profile M是針對低成本應(yīng)用的優(yōu)化的微控制器的。所有ARMv7 profiles實現(xiàn)Thumb-2技術(shù),同時還包括了NEON技術(shù)的擴展提高DSP和多媒體處理吞吐量400,并提供浮點支持以滿足下一代3D圖形和游戲以及傳統(tǒng)嵌入式控制應(yīng)用的需要。ARM FamilyARM7 FamilyARM9 FamilyARM10 FamilyARM11 Family150DMIPS300 DMIPS500 DMIPS1000 DMIPSARM Cortex FamilyARM720TARM1136J ARM1176JZARM1026EARM920T/ARM922T ARM926EJCortex

28、AApplication ProcessorARM7TDMIARM1156T2ARM1026EARM946ECortex REmbedded RT ControllerARM7TDMIARM966E ARM968ECortex MMicro-controllerARM Architecture當前的主流ARM處理器ARM7世界上最為廣泛使用的 CPU 之一100MHzARM9100-300MHz1.7B ARM Powred shipment in year of 2005, 31% is ARM9 based.ARM11 芯片已經(jīng)面世ARM11300-700+ MHzSIMD 指令擴展支持更

29、豐富的多媒體應(yīng)用40家授權(quán)芯片公司,一些已開始量產(chǎn)FOMA N902iFirst ARM11 based phoneOMAP2420i.MX31/i.MX31L目前最快的嵌入式處理器最快的處理器提供超過2000 DMIPS 的性能運行于 1GHz 頻率 (90nm or 65nm 制造工藝)功耗小于 300mWARM Cortex A8 Application ProcessorCortex-M3 實現(xiàn) $1 ARM芯片ARM Cortex ArchitectureThumb-2 ISA3 Stage Pipeline1.22 DMIPS/MHz 30% over ARM7TDMI33K ga

30、tes 30% smaller than ARM7TDMILuminary Micro的Stellaris系列MCU產(chǎn)品售價僅1美元ARM Cortex-M3 微控制器內(nèi)核,專門針對MCU應(yīng)用領(lǐng)域而設(shè)計,突出低成本、低功耗和高效率。領(lǐng)先嵌入式處理器技術(shù)發(fā)展討論多處理器技術(shù)單處理器技術(shù)的性能提升終有一天會遭遇瓶頸對嵌入式系統(tǒng)而言,尤其要考慮付出的代價把任務(wù)進行并行分解是理想的選擇ARM MPcore可以集成1-4個ARM11處理器關(guān)鍵是要提供給軟件開發(fā)者一個友好的編程界面64位處理器?哪兒是系統(tǒng)性能瓶頸?是需要64位地址還是64位數(shù)據(jù)?嵌入式系統(tǒng)比PC有更好的條件來解決系統(tǒng)性能和帶寬問題PC系統(tǒng)

31、在主板上,擴展系統(tǒng)帶寬需要擴大每個組件的接口帶寬SoC只需擴展片內(nèi)總線,非常容易實現(xiàn)AMBA支持8-1024位總線寬度許多SoC設(shè)計以及ARM處理器內(nèi)部已經(jīng)使用64位數(shù)據(jù)總線系列相應(yīng)產(chǎn)品性能特點ARM7系列ARM7TDMI,ARM7TDMI-S,ARM720T,ARM7EJ三級流水性能:0.9MIPS/MHz, 可達到130MIPs (Dhrystone2.1) ARM9系列ARM920T, ARM922T 五級流水,性能:1.1MIPS/MHz,可達300 MIPS (Dhrystone 2.1),單32-bit AMBA bus接口,支持MMU ARM9E系列ARM926EJ-S, RM9

32、46E-S, ARM966E-S, ARM968E-S,ARM996HS 五級流水,支持DSP指令。性能:1.1MIPS/MHz,可達300 MIPS (Dhrystone 2.1),高性能AHB, 軟核(soft IP) ARM10系列ARM1020E, ARM1022EARM1026EJ-S 六級流水支持分支預(yù)測(branch prediction),支持DSP指令。性能:1.35 MIPS/MHz,可達430+ Dhrystone 2.1 MIPS,可選支持高性能浮點操作,雙64位總線接口,內(nèi)部64位數(shù)據(jù)通路 Dhrystone是一個綜合性的基準測試程序,它是為了測試編譯器和CPU處理整

33、數(shù)指令和控制功能的有效性,人為地選擇一些典型指令綜合起來形成的測試程序。系列相應(yīng)產(chǎn)品性能特點ARM11 系列ARM11MPCore,ARM1136J(F)-S, ARM1156T2(F)-S,ARM1176JZ(F)-S 八級流水線(九級ARM1156T2(F)-S):獨立的load-store和arithmetic流水線,支持分支預(yù)測和返回棧(Return Stack)。強大的ARMv6 指令集:支持DSP,SIMD (Single Instruction Multiple Data) 擴展,支持ARM TrustZone 、Thumb-2核心技術(shù)。740 Dhrystone 2.1 MIP

34、S,低功耗0.6mW/MHz (0.13m, 1.2V) Cortex系列Cortex-A8, Cortex-M3,Cortex-R4 Cortex-A系列: 面向用于復(fù)雜OS和應(yīng)用的應(yīng)用處理器(applications processors),支持ARM, Thumb and Thumb-2指令集。Cortex-R系列:面向嵌入式實時領(lǐng)域的嵌入式處理器,支持ARM, Thumb,和Thumb-2 指令集。Cortex-M系列:面向深嵌入式價格敏感的嵌入式處理器, 只支持Thumb-2指令集 SecurCore 系列SecurCore SC100,SecurCore SC200 用于Smart

35、 Card和Secure IC的32-bit解決方案。支持ARM和Thumb指令集,軟核。具有安全特征和低成本安全存儲保護單元 On chipRAM基于ARM的系統(tǒng)舉例ARMProcessor coreAMBA AHB ExternalMemory InterfaceAPB BridgeAMBA APBInterruptControllerARMPrimecell PeripheralsGPIODMAPortClocks and Reset ControllerARM核深度嵌入于SoC中通過JTAG口進行外部調(diào)試設(shè)計既有外部內(nèi)存又有內(nèi)部內(nèi)存支持不同的內(nèi)存寬度、速度和大小包含一個中斷控制器內(nèi)核只

36、支持兩種中斷包含Primecell外設(shè)需要從ARM公司取得授權(quán)用AMBA相連的器件 (Advanced Microcontroller Bus Architecture)DEBUGnIRQnFIQFLASHSDRAMARM based SoC高速緩存內(nèi)核術(shù)語MPU 內(nèi)存保護單元控制內(nèi)存訪問權(quán)限控制內(nèi)存區(qū)域的屬性(cacheable, bufferable)MMU 內(nèi)存管理單元具有MPU的所有特性另外提供虛擬地址到物理地址的轉(zhuǎn)換Cache(高速緩存)快速的本地內(nèi)存存放最近被訪問過的內(nèi)存的副本TCM 緊耦合內(nèi)存快速的本地內(nèi)存特定的地址范圍Write buffer(寫緩存區(qū))減少了寫數(shù)據(jù)到外部內(nèi)存的

37、次數(shù)ARM9EInteger CoreCacheMemory SystemTCMWrite bufferMMUor MPUBUS InterfaceControlCoprocessorARM926EJ-S coreFast core clock domainSystem on ChipSlower bus clock domainARM7TDMIThumb 架構(gòu)擴展, 提供兩個獨立的指令集:ARM 指令,均為 32位Thumb指令,均為 16位兩種運行狀態(tài),用來選擇哪個指令集被執(zhí)行內(nèi)核具有Debug擴展結(jié)構(gòu)增強乘法器 (32x8) 支持64位結(jié)果EmbeddedICE 邏輯3 級流水線馮諾依曼

38、架構(gòu)CPI(Cycle Per Instruction) 約為1.9ARM7TDMIARM7TDMI內(nèi)核MCLKnIRQnFIQnRESETBUSENBIGENDISYNCnWAITVDDVSSAPEDBE協(xié)處理器接口存儲器管理存儲器接口ABORTnOPCCPBCPAnCPInTRANSnM4:0MAS1:0nRWnMREQLOCKSEQnENOUTA31:0DOUT31:0DIN31:0D31:0電源總線控制時鐘配置中斷內(nèi)核信號ARM7TDMIARM7TDMI內(nèi)核TAP 控制器JTAG 接口數(shù)據(jù)總線控制信號地址總線BUSSplitterEmbeddedICE邏輯方框圖乘法器指令解碼地址自增器

39、nRESETnMREQSEQABORTnIRQnFIQnRWMAS1:0LOCKnCPICPACPBnWAITMCLKnOPCBIGENDISYNCnTRANSnM4:0D31:0桶移位器32 位 ALUDBE寫數(shù)據(jù) 寄存器讀數(shù)據(jù) 寄存器地址寄存器寄存器 BankA31:0ABE及控制 邏輯PC Update解碼站指令 解壓縮IncrementerPCABusBBusALUBusARM7TDMI內(nèi)核ARM7TDMI指令流水線為增加處理器指令流的速度,ARM7 系列使用3級流水線。允許多個操作同時處理,而非順序執(zhí)行。 PC指向正被取指的指令,而非正在執(zhí)行的指令。FetchDecodeExecut

40、e從存儲器中讀取指令解碼指令中用到的寄存器寄存器讀(從寄存器Bank)移位及ALU操作寄存器寫(到寄存器Bank )PCPCPC - 4PC-2PC - 8PC - 4ARMThumbARM7TDMI指令流水線 操作周期 1 2 3 45 6 ADD SUB MOV AND ORR EOR CMP RSBFetchDecode。FetchExecuteDecodeFetchExecuteDecodeFetchExecuteDecodeFetchFetchExecuteDecodeExecuteDecodeFetchExecuteDecodeFetch最佳流水線該例中用6個時鐘周期執(zhí)行了6條指令

41、所有的操作都在寄存器中(單周期執(zhí)行)指令周期數(shù) (CPI) = 1ARM7TDMIARM7TDMI內(nèi)核地址地址數(shù)據(jù)讀AMBA接口寫緩沖MMU數(shù)據(jù)寫數(shù)據(jù)ARM7xxT控制邏輯CacheAMBA總線接口JTAG 和非 AMBA 信號CP15帶Cache的ARM7TDMI ARM710T8K 統(tǒng)一的 cache 完整的內(nèi)存管理單元(MMU),支持虛擬地址和存儲器保護寫緩沖ARM720T同ARM710T,但支持 WinCEARM740T8K 統(tǒng)一的 cache內(nèi)存管理單元寫緩沖Write Buffer:當數(shù)據(jù)寫到Write Buffer后不需要CPU的任何干預(yù)而由Write Buffer控制邏輯自動的

42、將數(shù)據(jù)寫到最終的地方;Cache的回寫則需要CPU的干預(yù)。Write Buffer較小,通常只有幾十個字節(jié)。Read Buffer:當讀數(shù)據(jù)時Read Buffer自動多讀取一些字節(jié),但是不占用CPU的總線時間,所以能加快讀數(shù)據(jù)的速度;當使用Cache時如果要從內(nèi)存中讀取數(shù)據(jù)則每個數(shù)據(jù)都會占用CPU的時間,這是與Read Buffer的最大不同點。Read Buffer較小,通常只有幾十個字節(jié)。 Cache與Buffer的區(qū)別 ARM9TDMIHarvard架構(gòu)增加了可用的存儲器寬度指令存儲器接口數(shù)據(jù)存儲器接口可以實現(xiàn)對指令和數(shù)據(jù)存儲器的同時訪問5 級流水線實現(xiàn)了以下改進:改進 CPI 到 1

43、.5提高了最大時鐘頻率ARM9TDMIInstructionFetch Shift + ALUMemoryAccessRegWriteRegReadRegDecodeFETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARM or ThumbInst DecodeReg SelectRegReadShiftALURegWriteThumbARMdecompressARM decodeInstructionFetchFETCHDECODEEXECUTEARM7TDMI流水線ARM9TDMIARM9TDMID CacheI CacheMMUGLUE外部存儲器ARM940T2x

44、 4K caches MPU寫緩沖ARM9xxTARM920T2x 16K caches MMU支持虛擬地址和內(nèi)存保護 寫緩沖帶Cache的ARM9TDMI ARM9E-S 系列概述ARM9E 基于 ARM9TDMI 內(nèi)核,有以下擴展和增強單周期 32x16 乘法器EmbeddedICE 邏輯 RT改進的 ARM/Thumb 交互操作新的32x16和 16x16 乘法指令新的計數(shù)到零指令新的飽和算術(shù)指令A(yù)RM946E-SARM9E-S 內(nèi)核指令和數(shù)據(jù)cache, 大小可選擇指令和數(shù)據(jù)RAM,大小可選擇保護單元AHB 總線接口ARM966E-S與 ARM946E-S相似, 但無 cacheARM

45、926EJ-S系列概述Jazelle狀態(tài)允許直接執(zhí)行Java 8位碼ARM926EJ-SARM9E-S 內(nèi)核可配置的cache和 TCM內(nèi)存管理單元雙重 32位 AHB 總線接口 (多層)ARM10E 系列概述v5TE架構(gòu)CPI 1.36 級流水線靜態(tài)分支預(yù)測32kB 指令cache和32kB數(shù)據(jù)cache支持“Hit under miss”非阻塞的執(zhí)行單元每周期64 位的 LDM / STM操作EmbeddedICE邏輯 - RT-II支持新的 VFPv1 結(jié)構(gòu)同ARM1020E,除了cache大小為16kB對SUDL(single user design license )有效ARM102

46、0EARM1022EARM9 vs ARM10流水線的對比 Intel StrongARM 概述ARM V4 架構(gòu) (無Thumb支持)5級流水線,降低跳轉(zhuǎn)損耗-stage pipeline,reduced branch penalty改進的乘法器(典型地比ARM9TDMI 快2個周期)不支持 Multi-ICE 調(diào)試 (JTAG限制在連通性測試)無外部協(xié)處理器接口SA-110: 16K 指令和數(shù)據(jù) caches, 8 x 16 字節(jié)寫緩沖.SA-1100/1110:片上外設(shè),存儲器控制器更小的 cache 容量PID 寄存器指令斷點,通過 CP15Intel XScale 概述V5TE 兼容

47、架構(gòu)7-8級流水線帶統(tǒng)計分支預(yù)測32k的數(shù)據(jù)和指令 Cache, 外加2k的數(shù)據(jù)Minicache8口寫緩沖,4口填充和追加緩沖完整的32位協(xié)處理器接口調(diào)試和性能監(jiān)控邏輯(通過CP14 )乘-加模塊(作為CP0 )可配置的內(nèi)核時鐘速度100-733MHz ,來自 33-66MHz 輸入時鐘異步輸入總線時鐘可到100 MHz (最大總線內(nèi)核時鐘的1/3 )ARM微處理器:編程模型數(shù)據(jù)類型 字節(jié)型數(shù)據(jù)(Byte):數(shù)據(jù)寬度為8bits 半字數(shù)據(jù)類型(HalfWord):數(shù)據(jù)寬度為16bits,存取式必須以2字節(jié)對齊的方式 字數(shù)據(jù)類型(Word):數(shù)據(jù)寬度為32bits,存取式必須以4字節(jié)對齊的方式

48、 ARM微處理器:CPU模式(processor mode)7種CPU模式 CPU模式的轉(zhuǎn)變:軟件控制異常外部中斷ARM微處理器:CPU模式User模式程序不能訪問有些受保護的資源只能通過異常的形式來改變CPU的當前運行模式特權(quán)模式可以存取系統(tǒng)中的任何資源System模式與User模式的運行環(huán)境一樣但是它可以不受任何限制的訪問任何資源該模式主要用于運行系統(tǒng)中的一些特權(quán)任務(wù)FIQ模式IRQ模式Supervisor模式Abort模式Undefined模式異常模式:主要是在外部中斷或者程序執(zhí)行非法操作時會觸發(fā)ARM微處理器:處理器工作狀態(tài)(PROCESSOR OPERATING STATES)處理器

49、有兩種工作狀態(tài):ARM:32位,執(zhí)行字對準的ARM指令Thumb:16位,執(zhí)行半字對準的Thumb指令A(yù)RM和Thumb之間狀態(tài)的切換不影響處理器的模式或寄存器的內(nèi)容ARM微處理器:處理器工作狀態(tài)進入Thumb狀態(tài):執(zhí)行BX指令,并設(shè)置操作數(shù)寄存器的狀態(tài)(位0)為1。在Thumb狀態(tài)進入異常(IRQ, FIQ, UNDEF, ABORT,SWI etc.),當異常處理返回時自動轉(zhuǎn)換到Thumb狀態(tài)進入ARM狀態(tài):執(zhí)行BX指令,并設(shè)置操作數(shù)寄存器的狀態(tài)(位0)為0。進入異常時,將PC放入異常模式鏈接寄存器中,從異常向量地址開始執(zhí)行也可進入ARM狀態(tài)ARM微處理器:處理器工作狀態(tài)Thumb-2:增

50、加了混合模式能力定義了一個新的32-bit指令集能在傳統(tǒng)的16-bit指令運行的Thumb狀態(tài)下同時運行。這樣能在一個系統(tǒng)中更好地平衡ARM和Thumb代碼的能力,使系統(tǒng)能更好地利用ARM級別的性能和Thumb代碼的密度的優(yōu)勢 ARM微處理器:寄存器ARM處理器有37個寄存器 31個通用寄存器:程序計數(shù)器、堆棧及其他通用寄存器 6個狀態(tài)寄存器這些寄存器不能同時看到不同的處理器狀態(tài)和工作模式確定哪些寄存器是對編程者是可見的ARM寄存器集(ARM State)r0r1r2r3r4r5r6r7r8r9r10r11r12r15 (pc)cpsrr13 (sp)r14 (lr)User modespsr

51、r13 (sp)r14 (lr)IRQFIQr8r9r10r11r12r13 (sp)r14 (lr)spsrspsrr13 (sp)r14 (lr)Undefspsrr13 (sp)r14 (lr)Abortspsrr13 (sp)r14 (lr)SVC當前模式Banked out registersARM有37個寄存器,都是32位寬這些寄存器的子集只能在相應(yīng)模式被訪問ARM微處理器: ARM State寄存器ARM微處理器: Thumb State寄存器ARM State 與Thumb State寄存器關(guān)系A(chǔ)RM微處理器:通用寄存器通用寄存器是R0-R15的寄存器,分為三類 沒有對應(yīng)影子寄

52、存器的寄存器R0-R7 有對應(yīng)影子寄存器的寄存器R8-R14 程序計數(shù)器R15 (或者PC) 影子寄存器是指該寄存器在不同的模式下對應(yīng)的物理寄存器ARM微處理器:通用寄存器R0-R7所有模式下,R0-R7所對應(yīng)的物理寄存器都是相同的 這八個寄存器是真正意義上的通用寄存器,ARM體系結(jié)構(gòu)中對它們沒有作任何特殊的假設(shè),它們的功能都是等同的。在中斷或者異常處理程序中一般都需要對這幾個寄存器進行保存。ARM微處理器:通用寄存器R8-R14訪問的物理寄存器取決于當前的處理器模式,若要訪問特定的物理寄存器而不依賴當前的處理器模式,則要使用規(guī)定的名字。 R8-R12各有兩組物理寄存器:一組為FIQ模式,另一

53、組是除FIQ以外的其他模式。R13-R14各有6個分組的物理寄存器,一個用于用戶模式和系統(tǒng)模式,其他5個分別用于5種異常模式。R13(也被稱為SP指針)被用作棧指針,通常在系統(tǒng)初始化時需要對所有模式下的SP指針賦值,當CPU在不同的模式時棧指針會被自動切換成相應(yīng)模式下的值。R14有兩個用途,一是在調(diào)用子程序時用于保存調(diào)用返回地址,二是在發(fā)生異常時用于保存異常返回地址。ARM微處理器:通用寄存器R15用作程序計數(shù)器(PC),可以被讀寫ARM state: bits 1:0為0,bits31:2即為 PCTHUMB state:bit 0為0,bits31:1即為 PCARM微處理器:程序狀態(tài)寄存

54、器CPSR(當前程序狀態(tài)寄存器)在所有的模式下都是可以讀寫的,它主要包含:條件標志中斷使能標志當前處理器的模式其它的一些狀態(tài)和控制標志ARM微處理器:程序狀態(tài)寄存器置0表示執(zhí)行32bit的ARM指令置1表示執(zhí)行16bit的Thumb指令 NegativeZeroCarryOverflowIRQ中斷的響應(yīng):置1:禁止響應(yīng)置0:允許響應(yīng)FIQ中斷的響應(yīng):置1:禁止響應(yīng)置0:允許響應(yīng)條件標志模式控制位ARM/Thumb控制標志中斷標志程序狀態(tài)寄存器 條件標志位N = ALU產(chǎn)生負數(shù)結(jié)果Z = ALU產(chǎn)生結(jié)果是0C = ALU操作產(chǎn)生進位或借位V = ALU結(jié)果溢出溢出標志 Q標志只在5TE架構(gòu)及以后

55、被定義表示飽和是否產(chǎn)生J位只在5TEJ架構(gòu)及以后被定義J = 1: 處理器處于Jazelle態(tài)中斷關(guān)閉位I = 1: 關(guān)閉IRQF = 1: 關(guān)閉FIQT位T = 0: 處理器處于ARM態(tài)T = 1: 處理器處于Thumb態(tài)在4T架構(gòu)被引入模式位指定了處理器當前模式fsxc2731N Z C V Q2867I F T mode1623 15 54024 U n d e f i n e dJV6新引入的GE3:0 被一些SIMD指令使用 E 位控制讀取/存儲的大小端A 位關(guān)閉不準確的數(shù)據(jù)異常中斷IT abcde 用于Thumb2指令組的條件執(zhí)行1089 19 GE3:0 E A IT cond_

56、abcdeARM微處理器:程序狀態(tài)寄存器模式控制位M0-M4ARM指令集所有的指令長度都是32位 / 許多指令都在一個單獨周期內(nèi)執(zhí)行指令是條件執(zhí)行的Load(加載) / store(存儲)架構(gòu) 數(shù)據(jù)處理指令示例 SUB r0,r1,#5 ADD r2,r3,r3,LSL #2 ANDS r4,r4,#0 x20 ADDEQ r5,r5,r6分支指令示例 B 內(nèi)存訪問指令示例 LDR r0,r1 STRNEB r2,r3,r4 STMFD sp!,r4-r8,lrr0 = r1 - 5r2 = r3 + (r3 * 4)r4 = r4 AND 0 x20 (set flags)IF EQ con

57、dition true r5 = r5 + r6Branch forwards or backwards relative to current PC (+/- 32MB range) Load word at address r1 into r0IF NE condition true, store bottom byte of r2 to address r3+r4Store registers r4 to r8 and lr on stack. Then update stack pointerThumb指令集Thumb是一個16位的指令集對C代碼的緊密度做了優(yōu)化 (大約是ARM代碼大小

58、的65%)對窄內(nèi)存的性能進行了提高是ARM指令集的功能子集對大多數(shù)的Thumb指令而言沒有使用條件執(zhí)行標志一直都是置位的 源寄存器和目標寄存器是相同的 只使用了低端寄存器 常量有大小的限制 沒有使用內(nèi)嵌桶型移位器(inline barrel shifter)通過使用BX指令來切換ARM態(tài)和Thumb態(tài)Thumb不是一個“常規(guī)”的指令集!對指令的約束有時是不一致的一般由編譯器生成,而不是手動編寫代碼ARM和Thumb的性能對比05000100001500020000250003000035000Dhrystone 2.1 / sec20MHzon ARM7TDMIARMThumb32 bit16

59、 bit16 bit with32 bit stack內(nèi)存寬度 (0等待狀態(tài))Thumb-2 指令集Thumb-2 主要是對Thumb指令集架構(gòu)(ISA)的擴展指令增加了32位指令實現(xiàn)了幾乎所有的ARM指令集架構(gòu)的功能保留了完整的16位Thumb指令集ARM1156T2-S和Cortex 系列支持Thumb-2Cortex-M3只支持Thumb-2!設(shè)計目標:以Thumb的指令密度達到ARM的性能不需要手動選擇指令集減少了剖析代碼和理解執(zhí)行方式的需求編譯器可以自動地選擇16位和32位指令的混合可以訪問ARM態(tài)的行為異??梢灾苯犹幚砜梢栽L問協(xié)處理器可以完成v5TE的高級數(shù)據(jù)處理條件執(zhí)行可以通過I

60、f-Then (IT) 指令1-4條緊接指令可以條件性地執(zhí)行Thumb 2的性能/密集度性能代碼密度100% ARM code100% Thumb codeRandom mixProfiled mixThumb-2指令流執(zhí)行單元ARMThumb譯碼階段執(zhí)行階段取指階段JazelleJazelle使得ARM核可以執(zhí)行8位的Java字節(jié)碼95%的字節(jié)碼可以用硬件執(zhí)行(典型)普通JVM:0.7 Caffeinemarks/MHzARM9EJ:5.5 Caffeinemarks/MHz功耗效率顯著提高相比ARM9E, ARM9EJ-S多了大約12K個額外的門電路ARM JTEK (Java Techn

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論