電子科技大學嵌入式軟件工程中心_第1頁
已閱讀1頁,還剩176頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、嵌入式系統(tǒng)及應用,第二章嵌入式硬件系統(tǒng)基礎,主要內容,嵌入式硬件系統(tǒng)基本組成,嵌入式微處理器,嵌入式系統(tǒng)總線,嵌入式存儲系統(tǒng),第一節(jié)嵌入式硬件系統(tǒng)基本組成,嵌入式系統(tǒng)的硬件是以嵌入式微處理器為核心,主要由嵌入式微處理器、總線、存儲器、輸入/輸出接口和設備組成。嵌入式微處理器 總線 存儲器 輸入/輸出接口和設備,嵌入式微處理器,每個嵌入式系統(tǒng)至少包含一個嵌入式微處理器 嵌入式微處理器體系結構可采用馮?諾依曼(Von Ne

2、umann)結構或哈佛(Harvard)結構,馮?諾依曼結構,哈佛結構,嵌入式微處理器,傳統(tǒng)的微處理器采用的馮·諾依曼結構將指令和數(shù)據(jù)存放在同一存儲空間中,統(tǒng)一編址,指令和數(shù)據(jù)通過同一總線訪問。哈佛結構則是不同于馮·諾依曼結構的一種并行體系結構,其主要特點是程序和數(shù)據(jù)存儲在不同的存儲空間中,即程序存儲器和數(shù)據(jù)存儲器是兩個相互獨立的存儲器,每個存儲器獨立編制、獨立訪問。與之相對應的是系統(tǒng)中設置的兩條總線(程序總線和數(shù)

3、據(jù)總線),從而使數(shù)據(jù)的吞吐率提高了一倍。,嵌入式微處理器,嵌入式微處理器的指令系統(tǒng)可采用精簡指令集系統(tǒng)RISC(Reduced Instruction Set Computer)或復雜指令集系統(tǒng)CISC(Complex Instruction Set Computer),嵌入式微處理器,嵌入式微處理器有許多不同的體系,即使在同一體系中也可能具有不同的時鐘速度和總線數(shù)據(jù)寬度、集成不同的外部接口和設備。據(jù)不完全統(tǒng)計,目前全世界嵌入式微處理

4、器的品種總量已經(jīng)超過千種,有幾十種嵌入式微處理器體系,主流的體系有ARM、MIPS、PowerPC、SH、 X86等。,總線,嵌入式系統(tǒng)的總線一般集成在嵌入式微處理器中。從微處理器的角度來看,總線可分為片外總線(如:PCI、ISA等)和片內總線(如:AMBA、 AVALON、OCP、WISHBONE等)。選擇總線和選擇嵌入式微處理器密切相關,總線的種類隨不同的微處理器的結構而不同。,存儲器,嵌入式系統(tǒng)的存儲器包括主存和外存。大多數(shù)

5、嵌入式系統(tǒng)的代碼和數(shù)據(jù)都存儲在處理器可直接訪問的存儲空間即主存中。系統(tǒng)上電后在主存中的代碼直接運行。主存儲器的特點是速度快,一般采用ROM、EPROM、Nor Flash、SRAM、DRAM等存儲器件。,存儲器,目前有些嵌入式系統(tǒng)除了主存外,還有外存。外存是處理器不能直接訪問的存儲器,用來存放各種信息,相對主存而言具有價格低、容量大的特點。在嵌入式系統(tǒng)中一般不采用硬盤而采用電子盤做外存,電子盤的主要種類有NandFlash、 SD

6、(Secure Digital)卡、CompactFlash、SmartMedia、Memory Stick、MultiMediaCard、、 DOC(Disk On Chip)等。,輸入/輸出接口和設備,嵌入式系統(tǒng)的大多數(shù)輸入/輸出接口和部分設備已經(jīng)集成在嵌入式微處理器中。輸入/輸出接口主要有中斷控制器、DMA、串行和并行接口等,設備主要有定時器(Timers)、計數(shù)器(counters)、看門狗(watchdog timers)、

7、RTC、UARTs、PWM(Pulse width modulator)、AD/DA、顯示器、鍵盤和網(wǎng)絡等。,第二節(jié)嵌入式微處理器,嵌入式微處理器的發(fā)展嵌入式微處理器的分類嵌入式微處理器的特點主流的嵌入式微處理器——(ARM, MIPS, SH, PowerPC, x86),,嵌入式微處理器的發(fā)展,嵌入式微處理器的分類,嵌入式微處理器種類繁多,按位數(shù)可分為4位、8位、16位、32位和64位。按用途來分,嵌入式微處理器可分

8、為嵌入式DSP和通用的嵌入式微處理器兩種: 嵌入式DSP:專用于數(shù)字信號處理,采用哈佛結構,程序和數(shù)據(jù)分開存儲,采用一系列措施保證數(shù)字信號的處理速度,如對FFT(快速傅立葉變換)的專門優(yōu)化。 通用的嵌入式微處理器:一般是集成了通用微處理器的核、總線、外圍接口和設備的SOC芯片,有些還將DSP作為協(xié)處理器集成。,嵌入式微處理器的特點,基礎是通用微處理器與通用微處理器相比的區(qū)別:體積小、重量輕、成本低、可靠性高功耗低工作溫度、抗

9、電磁干擾、可靠性等方面增強,嵌入式微處理器的特點,體系結構,指令集,性能,功耗和管理,成本,集成度,嵌入式微處理器的集成度,用于桌面和服務器的微處理器的芯片內部通常只包括CPU核心、Cache、MMU、總線接口等部分,其他附加的功能如外部接口、系統(tǒng)總線、外部總線和外部設備獨立在其他芯片和電路內。 嵌入式微處理器除了集成CPU核心、Cache、MMU、總線等部分外,還集成了各種外部接口和設備,如中斷控制器、DMA、定時器、UART等。符

10、合嵌入式系統(tǒng)的低成本和低功耗需求,一塊單一的集成了大多數(shù)需要的功能塊的芯片價格更低,功耗更少。,嵌入式微處理器的集成度,嵌入式微處理器是面向應用的,其片內所包含的組件的數(shù)目和種類是由它的市場定位決定的。在最普通的情況下,嵌入式微處理器包括:片內存儲器:部分嵌入式微處理器外部存儲器的控制器,外設接口(串口,并口)LCD控制器:面向終端類應用的嵌入式微處理器中斷控制器,DMA控制器,協(xié)處理器定時器,A/D、D/A轉換器多媒體加

11、速器:當高級圖形功能需要時總線其他標準接口或外設,嵌入式微處理器的集成度,單芯片方式(Single Chip) 芯片組方式(Chip Set):由微處理器主芯片和一些從芯片組成,嵌入式微處理器的集成度,單芯片方式:華邦W90P710芯片的內部結構,嵌入式微處理器的集成度,芯片組方式:兩芯片組的手持PC方案,返回,嵌入式微處理器的體系結構,算術格式(Arithmetic Format) 由于低成本和低功耗的限制,大多數(shù)的嵌入式微

12、處理器使用定點運算(fixed-point arithmetic),即數(shù)值被表示為整數(shù)或在-1.0和+1.0之間的分數(shù),比數(shù)值表示為尾數(shù)和指數(shù)的浮點版本的芯片便宜。當嵌入式系統(tǒng)中需要使用浮點運算時,可采用軟件模擬的方式實現(xiàn)浮點運算,只不過這樣要占用更多的處理器時間。 功能單元(Functional Units) 通常包括不止一個的功能單元,典型的是包含一個ALU、移位器和MAC,處理器通常用一條指令完成乘法操作。 流水線(Pip

13、eline)通常采用單周期執(zhí)行指令,可能導致比較長的流水線,返回,嵌入式微處理器的指令集,為滿足應用領域的需要,嵌入式微處理器的指令集一般要針對特定領域的應用進行剪裁和擴充。目前很多應用系統(tǒng)需要類似于DSP的數(shù)字處理功能。這些指令主要有:乘加(MAC)操作:它在一個周期中執(zhí)行了一次乘法運算和一次加法運算。 SIMD類操作:允許使用一條指令進行多個并行數(shù)據(jù)流的計算。 零開銷的循環(huán)指令:采用硬件方式減少了循環(huán)的開銷。僅使用兩條指令

14、實現(xiàn)一個循環(huán),一條是循環(huán)的開始并提供循環(huán)次數(shù),另一條是循環(huán)體。 多媒體加速指令:像素處理、多邊形、3D操作等指令。,返回,嵌入式微處理器的性能,低端(低價,低性能) 一般低端嵌入式微處理器的性能最多達到50MIPS,應用在對性能要求不高但對價格和功耗有嚴格要求的應用系統(tǒng)中。 中檔,低功耗 中檔的嵌入式微處理器可達到較好的性能(如150MIPS以上),采用增加時鐘頻率、加深流水深度、增加Cache及一些額外的功能塊來提高性能,并保

15、持低功耗。 高端,嵌入式微處理器的性能,高端嵌入式微處理器用于高強度計算的應用,使用不同的方法來達到更高的并行度 單指令執(zhí)行乘法操作:通過加入額外的功能單元和擴展指令集,使許多操作能在一個單一的周期內并行執(zhí)行。每個周期執(zhí)行多條指令:桌面和服務器的超標量處理器都支持單周期多條指令執(zhí)行,在嵌入式領域通常使用VLIW(very large instruction word)來實現(xiàn),這樣只需較少的硬件,總體價格會更低些。例如TI的TMS3

16、20C6201芯片,通過使用VLIW方法,能在每個周期同時執(zhí)行8條獨立的32位指令。使用多處理器:采用多處理器的方式滿足應用系統(tǒng)的更高要求。一些嵌入式微處理器采用特殊的硬件支持多處理器。如TI的OMAP730包括了三個處理器核ARM9、ARM7、DSP。,返回,嵌入式微處理器的功耗管理,大多數(shù)嵌入式系統(tǒng)有功耗的限制(特別是電池供電的系統(tǒng)),它們不支持使用風扇和其他冷卻設備。 降低工作電壓:1.8v、1.2v甚至更低,而且這個數(shù)值一直

17、在下降。提供不同的時鐘頻率:通過軟件設置不同的時鐘分頻。關閉暫時不使用的功能塊:如果某功能塊在一個周期內不使用,就可以被完全關閉,以節(jié)約能量。,嵌入式微處理器的功耗管理,提供功耗管理機制 運行模式(Running Mode):處理器處于全速運行狀態(tài)下。 待命模式(Standby Mode):處理器不執(zhí)行指令,所有存儲的信息是可用的,處理器能在幾個周期內返回運行模式。 時鐘關閉模式(clock-off mode):時鐘完全停止,

18、要退出這個模式系統(tǒng)需要重新啟動。影響功耗的其他因素還有總線(特別是總線轉換器,可以采用特殊的技術使它的功耗最?。┖痛鎯ζ鞯拇笮。ㄈ绻褂肈RAM,它需要不斷的刷新)。為了使功耗最小,總線和存儲器要保持在應用系統(tǒng)可接受的最小規(guī)模。,返回,嵌入式微處理器的成本,為降低價格,需要在嵌入式微處理器的設計中考慮不同的折衷方案。處理器的價格受如下因素影響:處理器的特點:功能塊的數(shù)目、總線類型等。 片上存儲器的大小。芯片的引腳數(shù)和封裝形式:

19、如PQFP(Plastic Quad Flat Package)通常比BGA(Ball Grid Array Package)便宜。芯片大小(die size):取決于制造的工藝水平。,嵌入式微處理器的成本,代碼密度(code density):代碼存儲器的大小將影響價格,不同種類的處理器有不同的代碼密度:CISC芯片代碼密度高,但結構復雜,其額外的控制邏輯單元使價格變得很高;RISC芯片擁有簡單的結構,代碼密度低,因為其指令集簡

20、單;VLIW代碼密度最低,因為它的指令字傾向于采用多字節(jié)。,主流的嵌入式微處理器,目前主流的嵌入式微處理器系列主要有ARM系列、MIPS系列、PowerPC系列、Super H系列和X86系列等。屬于這些系列的嵌入式微處理器產品很多,有上千種以上。,Units (millions),Source: Andrew Allison, Inside The New Computer Industry, January 2001,Embed

21、ded RISC Processor Shipments,32位浪潮的到來,Source: Semico Research Corp. and SIA/WSTS,Total MCU, by Sub-Category (excl. DSP),Total Embedded Control Market Shipments by Type,,,,,總共約26億個32位處理器付運,占總數(shù)96億的27%,2005年ARM為17億個,約占32位

22、總量的70%左右,X86系列,主要由AMD,Intel,NS,ST等公司提供,如:Am186/88、Elan520、嵌入式K6,386EX、STPC等。 主要應用在工業(yè)控制、通信等領域。 國內由于對X86體系比較熟悉,得到廣泛應用,特別是嵌入式PC的應用非常廣泛。,MPC/PPC系列,Motorola推出的MPC系列,如MPC8XX。IBM推出PPC系列,如PPC4XX。主要應用在通信、消費電子及工業(yè)控制、軍用裝備等領域。,MP

23、C/PPC系列,IBM PowerPC  集成10/100Mbps以太網(wǎng)控制器、串行和并行端口、內存控制器以及其它外設的高性能嵌入式處理器。Motorola MPC  高度綜合的SOC設備,它結合了PPC微處理器核心的功能、通信處理器和單硅成分內的顯示控制器。這個設備可以在大量的電子應用中使用,特別是在低能源、便攜式、圖象捕捉和個人通信設備。,技術,0.25,微米,CMoS SA-12E,282 Dhrystone 2.1 MIPS

24、@200MHz,375 Dhrystone 2.1 MIPS @266MHz,200/100/66/50 MHz,266/133/66/66 MHz,晶體數(shù)量,480,萬,電源消耗,1.1,瓦,信號,I/O,300,溫度范圍,-40到80度,電源供應,2.5V (,邏輯電路,),3.3V (I/O),,支持,5V I/Os,456-Ball,Enhanced PBGA (35mm x 35mm),性能,頻率,(CPU /,SDRAM /

25、PCI /EBC),封裝,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,PowerPC 405 GP技術規(guī)格,*Dhrystone是一個綜合性的基準測試程序,它是為了測試編譯器和CPU處理整數(shù)指令和控制功能的有效性,人為地選擇一些“典型指令綜合起來形成的測試程序。,ARM系列,ARM(Advanced RISC Machine)公司是一家專門從事芯片IP設計

26、與授權業(yè)務的英國公司,其產品有ARM內核以及各類外圍接口。ARM內核是一種32位RISC微處理器,具有功耗低、性價比高、代碼密度高等三大特色。目前,90%的移動電話、大量的游戲機、手持PC和機頂盒等都已采用了ARM處理器,許多一流的芯片廠商都是ARM的授權用戶(Licensee),如Intel、Samsung、TI、Motorola、ST等,ARM已成為業(yè)界公認的嵌入式微處理器標準。,ARM處理器的分類,結構體系版本(Archite

27、cture)ARM v4TARM v5TE ARM v6ARM Cortex (v7),Processor FamilyARM7 ARM9ARM10ARM11ARM Cortex,,,,,,,按應用特征分類應用處理器 Application Processor實時控制處理器 Real-time Controller微控制器 Micro-controller,特征:MMU, Cache 最快頻率、

28、最高性能、合理功耗,特征:MPU, Cache 實時響應、合理性能、較低功耗,特征:no sub-memory system 一般性能、最低成本、極低功耗,,,,Roadmap of ARM V4/V5/V6,ARM V4,ARMV4是目前支持的最老的架構,是基于32-bit地址空間的32-bit指令集。ARMv4除了支持ARMv3的指令外還擴展了:支持halfword的存取支持byte和halfword的符號擴展

29、讀支持Thumb指令提供Thumb和Normal狀態(tài)的轉換指令進一步的明確了會引起Undefined異常的指令 對以前的26bits體系結構的CPU不再兼容,ARMv4T,ARMv4T增加了16-bit Thumb 指令集,這樣使得編譯器能產生緊湊代碼(相對于32-bit代碼,內存能節(jié)省到35%以上)并保持32-bit系統(tǒng)的好處。Thumb在處理器中仍然要擴展為標準的32位ARM指令來運行。用戶采用16位Thumb指

30、令集最大的好處就是可以獲得更高的代碼密度和降低功耗。,ARM V5TE,1999年推出ARMv5TE其增強了Thumb體系,增強的Thumb體系增加了一個新的指令同時改進了Thumb/ARM相互作用、編譯能力和混合及匹配ARM與Thumb例程,以更好地平衡代碼空間和性能并在ARM ISA上擴展了增強的DSP 指令集: 增強的DSP指令包括支持飽和算術(saturated arithmetic), 并且針對Audio

31、DSP應用提高了70%性能?!瓻’擴展表示在通用的CPU上提供DSP能力。,ARMv5TEJ,2000年推出ARMv5TEJ,增加了Jazelle擴展以支持Java加速技術。Jazelle技術比僅僅基于軟件的JVM性能提高近8倍的性能減少了80%的功耗。,ARMv6,2001年推出ARMv6,它在許多方面做了改進如內存系統(tǒng)、異常處理和較好地支持多處理器。SIMD擴展使得廣大的軟件應用如Video和Audio codec的性能提高了4

32、倍。Thumb-2和TrustZone 技術也用于ARMv6中。ARMv6第一個實現(xiàn)是2002年春推出的ARM1136J(F)-STM處理器,2003年又推出了 ARM1156T2(F)-S 和ARM1176JZ(F)-S處理器。,ARMv7,ARMv7定義了3種不同的處理器配置(processor profiles): Profile A是面向復雜、基于虛擬內存的OS和應用的Profile R是針對實時系統(tǒng)的

33、Profile M是針對低成本應用的優(yōu)化的微控制器的。所有ARMv7 profiles實現(xiàn)Thumb-2技術,同時還包括了NEON?技術的擴展提高DSP和多媒體處理吞吐量400% ,并提供浮點支持以滿足下一代3D圖形和游戲以及傳統(tǒng)嵌入式控制應用的需要。,ARM Family,,,,,,ARM7? Family,ARM9? Family,ARM10? Family,ARM11? Family,,150DMIPS,300 DM

34、IPS,500 DMIPS,1000 DMIPS,ARM Cortex ? Family,,ARM Architecture,,,當前的主流ARM處理器,ARM7世界上最為廣泛使用的 CPU 之一<100MHzARM9100-300MHz,1.7B ARM Powred shipment in year of 2005, 31% is ARM9 based.,ARM11 芯片已經(jīng)面世,ARM11300-700+ MHz

35、SIMD 指令擴展支持更豐富的多媒體應用40家授權芯片公司,一些已開始量產,FOMA N902iFirst ARM11 based phone,OMAP2420,i.MX31/i.MX31L,,目前最快的嵌入式處理器,最快的處理器提供超過2000 DMIPS 的性能運行于 1GHz 頻率 (90nm or 65nm 制造工藝)功耗小于 300mW,ARM Cortex A8 Application Processor,Corte

36、x-M3 實現(xiàn) $1 ARM芯片,ARM Cortex ArchitectureThumb-2 ISA3 Stage Pipeline1.22 DMIPS/MHz – 30% over ARM7TDMI33K gates – 30% smaller than ARM7TDMI,Luminary Micro的Stellaris系列MCU產品售價僅1美元,ARM Cortex-M3 微控制器內核,專門針對MCU應用領域而設計,突出低

37、成本、低功耗和高效率。,領先嵌入式處理器技術發(fā)展討論,多處理器技術單處理器技術的性能提升終有一天會遭遇瓶頸對嵌入式系統(tǒng)而言,尤其要考慮付出的代價把任務進行并行分解是理想的選擇ARM MPcore可以集成1-4個ARM11處理器關鍵是要提供給軟件開發(fā)者一個友好的編程界面64位處理器?哪兒是系統(tǒng)性能瓶頸?是需要64位地址還是64位數(shù)據(jù)?嵌入式系統(tǒng)比PC有更好的條件來解決系統(tǒng)性能和帶寬問題PC系統(tǒng)在主板上,擴展系統(tǒng)帶寬需

38、要擴大每個組件的接口帶寬SoC只需擴展片內總線,非常容易實現(xiàn)AMBA支持8-1024位總線寬度許多SoC設計以及ARM處理器內部已經(jīng)使用64位數(shù)據(jù)總線,ARM7TDMI,Thumb 架構擴展, 提供兩個獨立的指令集:ARM 指令,均為 32位Thumb指令,均為 16位兩種運行狀態(tài),用來選擇哪個指令集被執(zhí)行,內核具有Debug擴展結構,增強乘法器 (32x8) 支持64位結果,EmbeddedICE 邏輯,,,,,,,,,3

39、 級流水線馮·諾依曼架構CPI(Cycle Per Instruction) 約為1.9,ARM7TDMI,,,,,ARM7TDMI內核,MCLK,nIRQ,nFIQ,nRESET,BUSEN,BIGEND,ISYNC,nWAIT,VDD,VSS,APE,DBE,,,,,,,,,,,,,協(xié)處理器接口,存儲器管理,存儲器接口,,,,,,,,,,,,,ABORT,nOPC,CPB,CPA,nCPI,nTRANS,nM[4:0

40、],MAS[1:0],nRW,nMREQ,LOCK,SEQ,nENOUT,A[31:0],DOUT[31:0],DIN[31:0],D[31:0],電源,總線控制,時鐘,配置,中斷,,,,,,,,,,,內核信號,ARM7TDMI,,ARM7TDMI內核,,TAP 控制器,,,,,,JTAG 接口,數(shù)據(jù)總線,控制信號,地址總線,,,,,,,,,,,,,,,,,,BUSSplitter,,,EmbeddedICE邏輯,,,

41、,,,,,,,方框圖,,,,,,,,,,,,乘法器,,指令解碼,地址自增器,,,,,,,,,,,,,,,,,,,nRESET,nMREQ,SEQ,ABORT,nIRQ,nFIQ,nRW,MAS[1:0],LOCK,nCPI,CPA,CPB,nWAIT,MCLK,nOPC,BIGEND,ISYNC,nTRANS,nM[4:0],D[31:0],桶移位器,,32 位 ALU,DBE,,寫數(shù)據(jù) 寄存器,讀數(shù)據(jù) 寄存器,地址寄存器,,

42、,寄存器 Bank,,,,,,,,,,,A[31:0],ABE,,,,,,,,,,及,控制 邏輯,PC Update,,解碼站,指令 解壓縮,,,,,Incrementer,,,PC,ABus,BBus,ALUBus,ARM7TDMI,內核,ARM7TDMI指令流水線,為增加處理器指令流的速度,ARM7 系列使用3級流水線。允許多個操作同時處理,而非順序執(zhí)行。 PC指向正被取指的指令,而非正在執(zhí)行的指

43、令。,,,從存儲器中讀取指令,解碼指令中用到的寄存器,寄存器讀(從寄存器Bank)移位及ALU操作寄存器寫(到寄存器Bank ),PCPC,PC - 4PC-2,PC - 8PC - 4,ARMThumb,ARM7TDMI指令流水線,操作,周期,1 2 3 45 6,,,Fetch,,,,,,,,,,,,,,,,,,,,,,,,,,,,,最佳流水線,該例中用6個時鐘周期執(zhí)行了6條指令所有的操作都

44、在寄存器中(單周期執(zhí)行)指令周期數(shù) (CPI) = 1,ARM7TDMI,,,,ARM7TDMI內核,,,,,地址,地址,數(shù)據(jù)讀,,AMBA接口,,寫緩沖,,,,MMU,,,,,,,數(shù)據(jù)寫,,數(shù)據(jù),,ARM7xxT,控制邏輯,Cache,,,,,AMBA總線接口,,JTAG 和非 AMBA 信號,CP15,帶Cache的ARM7TDMI,ARM710T8K 統(tǒng)一的 cache 完整的內存管理單元(MMU),支持虛擬地址

45、和存儲器保護寫緩沖,ARM720T同ARM710T,但支持 WinCEARM740T8K 統(tǒng)一的 cache內存管理單元寫緩沖,Write Buffer:當數(shù)據(jù)寫到Write Buffer后不需要CPU的任何干預而由Write Buffer控制邏輯自動的將數(shù)據(jù)寫到最終的地方;Cache的回寫則需要CPU的干預。Write Buffer較小,通常只有幾十個字節(jié)。Read Buffer:當讀數(shù)據(jù)時Read Buffer自動多讀

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

47、 ~1.5提高了最大時鐘頻率,ARM9TDMI,,InstructionFetch,,Shift + ALU,,MemoryAccess,,RegWrite,,RegRead,RegDecode,FETCH,DECODE,EXECUTE,MEMORY,WRITE,ARM9TDMI,,,ARM or ThumbInst Decode,,,Reg Select,RegRead,Shift,ALU,RegWrite,,,,T

48、humb®ARMdecompress,ARM decode,,InstructionFetch,FETCH,DECODE,EXECUTE,ARM7TDMI,,,流水線,ARM9TDMI,,,ARM9TDMI,,,D Cache,I Cache,,MMU,,,,,,,,,,,,,,GLUE,外部存儲器,ARM940T2x 4K caches MPU寫緩沖,ARM9xxT,ARM920T2x 16K caches

49、MMU支持虛擬地址和內存保護 寫緩沖,帶Cache的ARM9TDMI,ARM9E-S 系列概述,ARM9E 基于 ARM9TDMI 內核,有以下擴展和增強單周期 32x16 乘法器EmbeddedICE 邏輯 RT改進的 ARM/Thumb 交互操作新的32x16和 16x16 乘法指令新的計數(shù)到零指令新的飽和算術指令ARM946E-SARM9E-S 內核指令和數(shù)據(jù)cache, 大小可選擇指令和數(shù)據(jù)RAM,大小

50、可選擇保護單元AHB 總線接口ARM966E-S與 ARM946E-S相似, 但無 cache,ARM926EJ-S系列概述,Jazelle狀態(tài)允許直接執(zhí)行Java 8位碼ARM926EJ-SARM9E-S 內核可配置的cache和 TCM內存管理單元雙重 32位 AHB 總線接口 (多層),ARM10E 系列概述,v5TE架構,CPI ? 1.3,6 級流水線,靜態(tài)分支預測,32kB 指令cache和32kB數(shù)據(jù)ca

51、che支持“Hit under miss”非阻塞的執(zhí)行單元,每周期64 位的 LDM / STM操作,EmbeddedICE邏輯 - RT-II,支持新的 VFPv1 結構,同ARM1020E,除了cache大小為16kB,對SUDL(single user design license )有效,ARM1020E,ARM1022E,,,ARM9 vs ARM10,流水線的對比,Intel® StrongARM 概述,ARM

52、 V4 架構 (無Thumb支持)5級流水線,降低跳轉損耗-stage pipeline,reduced branch penalty改進的乘法器(典型地比ARM9TDMI 快2個周期)不支持 Multi-ICE 調試 (JTAG限制在連通性測試)無外部協(xié)處理器接口SA-110: 16K 指令和數(shù)據(jù) caches, 8 x 16 字節(jié)寫緩沖.SA-1100/1110:片上外設,存儲器控制器更小的 cache 容量P

53、ID 寄存器指令斷點,通過 CP15,Intel® XScale? 概述,V5TE 兼容架構7-8級流水線帶統(tǒng)計分支預測32k的數(shù)據(jù)和指令 Cache, 外加2k的數(shù)據(jù)Minicache8口寫緩沖,4口填充和追加緩沖完整的32位協(xié)處理器接口調試和性能監(jiān)控邏輯(通過CP14 )乘-加模塊(作為CP0 )可配置的內核時鐘速度100-733MHz ,來自 33-66MHz 輸入時鐘異步輸入總線時鐘可到100 MHz

54、 (最大總線內核時鐘的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é)對齊的方式,ARM微處理器:CPU模式(processor mode),7種CPU模式,CPU模式的轉變:軟件控制異常外部中斷,ARM微處理器:CPU模式

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

56、CESSOR OPERATING STATES),處理器有兩種工作狀態(tài):ARM:32位,執(zhí)行字對準的ARM指令Thumb:16位,執(zhí)行半字對準的Thumb指令ARM和Thumb之間狀態(tài)的切換不影響處理器的模式或寄存器的內容,ARM微處理器:處理器工作狀態(tài),進入Thumb狀態(tài):執(zhí)行BX指令,并設置操作數(shù)寄存器的狀態(tài)(位[0])為1。在Thumb狀態(tài)進入異常(IRQ, FIQ, UNDEF, ABORT,SWI etc.),當異常

57、處理返回時自動轉換到Thumb狀態(tài)進入ARM狀態(tài):執(zhí)行BX指令,并設置操作數(shù)寄存器的狀態(tài)(位[0])為0。進入異常時,將PC放入異常模式鏈接寄存器中,從異常向量地址開始執(zhí)行也可進入ARM狀態(tài),ARM微處理器:處理器工作狀態(tài),Thumb-2 :增加了混合模式能力定義了一個新的32-bit指令集能在傳統(tǒng)的16-bit指令運行的Thumb狀態(tài)下同時運行。這樣能在一個系統(tǒng)中更好地平衡ARM和Thumb代碼的能力,使系統(tǒng)能更好

58、地利用ARM級別的性能和Thumb代碼的密度的優(yōu)勢,ARM微處理器:寄存器,ARM處理器有37個寄存器 31個通用寄存器:程序計數(shù)器、堆棧及其他通用寄存器 6個狀態(tài)寄存器這些寄存器不能同時看到不同的處理器狀態(tài)和工作模式確定哪些寄存器是對編程者是可見的,ARM微處理器: ARM State寄存器,ARM微處理器: Thumb State寄存器,ARM State 與Thumb State寄存器關系,ARM微處理器:通用寄存器,通

59、用寄存器是R0-R15的寄存器,分為三類 沒有對應影子寄存器的寄存器R0-R7 有對應影子寄存器的寄存器R8-R14 程序計數(shù)器R15 (或者PC) 影子寄存器是指該寄存器在不同的模式下對應的物理寄存器,ARM微處理器:通用寄存器,R0-R7所有模式下,R0-R7所對應的物理寄存器都是相同的 這八個寄存器是真正意義上的通用寄存器,ARM體系結構中對它們沒有作任何特殊的假設,它們的功能都是等同的。在中斷或者異常處理

60、程序中一般都需要對這幾個寄存器進行保存。,ARM微處理器:通用寄存器,R8-R14訪問的物理寄存器取決于當前的處理器模式,若要訪問特定的物理寄存器而不依賴當前的處理器模式,則要使用規(guī)定的名字。 R8-R12各有兩組物理寄存器:一組為FIQ模式,另一組是除FIQ以外的其他模式。R13-R14各有6個分組的物理寄存器,一個用于用戶模式和系統(tǒng)模式,其他5個分別用于5種異常模式。R13(也被稱為SP指針)被用作棧指針,通常在系統(tǒng)初始化時

61、需要對所有模式下的SP指針賦值,當CPU在不同的模式時棧指針會被自動切換成相應模式下的值。R14有兩個用途,一是在調用子程序時用于保存調用返回地址,二是在發(fā)生異常時用于保存異常返回地址。,ARM微處理器:通用寄存器,R15用作程序計數(shù)器(PC),可以被讀寫ARM state: bits [1:0]為0,bits[31:2]即為 PC. THUMB state:bit [0]為0,bits[31:1]即為 PC,ARM微處理器:程

62、序狀態(tài)寄存器,CPSR(當前程序狀態(tài)寄存器)在所有的模式下都是可以讀寫的,它主要包含:條件標志中斷使能標志當前處理器的模式其它的一些狀態(tài)和控制標志,ARM微處理器:程序狀態(tài)寄存器,置0表示執(zhí)行32bit的ARM指令置1表示執(zhí)行16bit的Thumb指令,Negative,Zero,Carry,Overflow,IRQ中斷的響應:置1:禁止響應置0:允許響應,FIQ中斷的響應:置1:禁止響應置0:允許響應,,,,,,,,

63、,,,,,,,ARM微處理器:程序狀態(tài)寄存器,模式控制位M0-M4,ARM微處理器:異常,異常是由內部或者外部原因引起的,當異常發(fā)生時CPU將暫停執(zhí)行當前指令自動到指定的向量地址讀取指令并且執(zhí)行。在X86上,當有異常發(fā)生時CPU是到指定的向量地址讀取要執(zhí)行的程序的地址而ARM是到向量地址的地方讀取指令,也就是ARM的向量地址處存放的是一條指令(一般是一條跳轉指令),ARM微處理器:異常,ARM CPU將引起異常的類型分為7種,ARM

64、微處理器:異常,,當異常出現(xiàn)時,異常模式分組的R14和SPSR用于保存狀態(tài),即: R14_=return link SPSR_=CPSR CPSR[4:0]=exception mode number CPSR[5]=0 /*在ARM狀態(tài)執(zhí)行*/ if==Reset or FIQ then CPSR[6]=1 /*禁止快速中斷*/ CPSR[7

65、]=1 /*禁止正常中斷*/PC=exception vector address當處理異常返回時,將SPSR傳送到CPSR,R14傳送到PC,ARM微處理器:異常,Reset:CPU被復位后,進入Supervisor Mode并且禁止FIQ和IRQ。 Undefined Instructions: CPU執(zhí)行一條未被定義的指令時就會觸發(fā)該異常。這種機制可以用于通過軟件仿真的方式擴展THUMB or ARM指令集。S

66、WI:軟中斷(SWI)是執(zhí)行SWI指令時觸發(fā)的,該異常主要用于OS的系統(tǒng)調用。,ARM微處理器:異常,Prefetch Abort: CPU在讀取指令時發(fā)生讀內存錯誤并且該指令又要被執(zhí)行則觸發(fā)該異常;如果只是在讀取指令時發(fā)生了內存錯誤而該指令又未被執(zhí)行則不會觸發(fā)該異常。Data Abort:當CPU在讀寫數(shù)據(jù)時,如果發(fā)生錯誤則觸發(fā)該異常。,ARM微處理器:異常,IRQ:當外部IRQ輸入請求發(fā)生時(IRQ中斷已經(jīng)被使能),觸發(fā)該異常。

67、FIQ: FIQ通常被用于快速傳輸數(shù)據(jù)。當外部FIQ輸入請求發(fā)生時(FIQ中斷已經(jīng)被使能),觸發(fā)該異常。,ARM微處理器:異常,異常的優(yōu)先級,ARM微處理器:內存和I/O,ARM 的尋址空間是線性的地址空間,為232=4G Bytes 0 to 3 存儲第一個word, bytes 4 to 7存儲第二個wordARM支持大端(Big-endian)和小端(Little-endian)的內存數(shù)據(jù)方式,可以通過硬件的方式設置(沒有提供

68、軟件的方式)端模式,ARM微處理器:內存和I/O,大端的數(shù)據(jù)存放格式,低地址,高地址,地址A,地址A+1,地址A+2,地址A+3,最高有效字節(jié)的地址就是該word的地址,最高有效字節(jié)位于最低地址,,,,,,,,,word a=0x f6 73 4b cd,f6,73,4b,cd,ARM微處理器:內存和I/O,小端的數(shù)據(jù)格式,低地址,高地址,地址A,地址A+1,地址A+2,地址A+3,最低有效字節(jié)的地址就是該word的地址,最低有效字節(jié)位

溫馨提示

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

評論

0/150

提交評論