版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、嵌入式系統(tǒng)及應(yīng)用,第二章嵌入式硬件系統(tǒng)基礎(chǔ),主要內(nèi)容,嵌入式硬件系統(tǒng)基本組成,嵌入式微處理器,嵌入式系統(tǒng)總線,嵌入式存儲(chǔ)系統(tǒng),第一節(jié)嵌入式硬件系統(tǒng)基本組成,嵌入式系統(tǒng)的硬件是以嵌入式微處理器為核心,主要由嵌入式微處理器、總線、存儲(chǔ)器、輸入/輸出接口和設(shè)備組成。嵌入式微處理器 總線 存儲(chǔ)器 輸入/輸出接口和設(shè)備,嵌入式微處理器,每個(gè)嵌入式系統(tǒng)至少包含一個(gè)嵌入式微處理器 嵌入式微處理器體系結(jié)構(gòu)可采用馮?諾依曼(Von Ne
2、umann)結(jié)構(gòu)或哈佛(Harvard)結(jié)構(gòu),馮?諾依曼結(jié)構(gòu),哈佛結(jié)構(gòu),嵌入式微處理器,傳統(tǒng)的微處理器采用的馮·諾依曼結(jié)構(gòu)將指令和數(shù)據(jù)存放在同一存儲(chǔ)空間中,統(tǒng)一編址,指令和數(shù)據(jù)通過(guò)同一總線訪問(wèn)。哈佛結(jié)構(gòu)則是不同于馮·諾依曼結(jié)構(gòu)的一種并行體系結(jié)構(gòu),其主要特點(diǎn)是程序和數(shù)據(jù)存儲(chǔ)在不同的存儲(chǔ)空間中,即程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器是兩個(gè)相互獨(dú)立的存儲(chǔ)器,每個(gè)存儲(chǔ)器獨(dú)立編制、獨(dú)立訪問(wèn)。與之相對(duì)應(yīng)的是系統(tǒng)中設(shè)置的兩條總線(程序總線和數(shù)
3、據(jù)總線),從而使數(shù)據(jù)的吞吐率提高了一倍。,嵌入式微處理器,嵌入式微處理器的指令系統(tǒng)可采用精簡(jiǎn)指令集系統(tǒng)RISC(Reduced Instruction Set Computer)或復(fù)雜指令集系統(tǒng)CISC(Complex Instruction Set Computer),嵌入式微處理器,嵌入式微處理器有許多不同的體系,即使在同一體系中也可能具有不同的時(shí)鐘速度和總線數(shù)據(jù)寬度、集成不同的外部接口和設(shè)備。據(jù)不完全統(tǒng)計(jì),目前全世界嵌入式微處理
4、器的品種總量已經(jīng)超過(guò)千種,有幾十種嵌入式微處理器體系,主流的體系有ARM、MIPS、PowerPC、SH、 X86等。,總線,嵌入式系統(tǒng)的總線一般集成在嵌入式微處理器中。從微處理器的角度來(lái)看,總線可分為片外總線(如:PCI、ISA等)和片內(nèi)總線(如:AMBA、 AVALON、OCP、WISHBONE等)。選擇總線和選擇嵌入式微處理器密切相關(guān),總線的種類隨不同的微處理器的結(jié)構(gòu)而不同。,存儲(chǔ)器,嵌入式系統(tǒng)的存儲(chǔ)器包括主存和外存。大多數(shù)
5、嵌入式系統(tǒng)的代碼和數(shù)據(jù)都存儲(chǔ)在處理器可直接訪問(wèn)的存儲(chǔ)空間即主存中。系統(tǒng)上電后在主存中的代碼直接運(yùn)行。主存儲(chǔ)器的特點(diǎn)是速度快,一般采用ROM、EPROM、Nor Flash、SRAM、DRAM等存儲(chǔ)器件。,存儲(chǔ)器,目前有些嵌入式系統(tǒng)除了主存外,還有外存。外存是處理器不能直接訪問(wèn)的存儲(chǔ)器,用來(lái)存放各種信息,相對(duì)主存而言具有價(jià)格低、容量大的特點(diǎn)。在嵌入式系統(tǒng)中一般不采用硬盤而采用電子盤做外存,電子盤的主要種類有NandFlash、 SD
6、(Secure Digital)卡、CompactFlash、SmartMedia、Memory Stick、MultiMediaCard、、 DOC(Disk On Chip)等。,輸入/輸出接口和設(shè)備,嵌入式系統(tǒng)的大多數(shù)輸入/輸出接口和部分設(shè)備已經(jīng)集成在嵌入式微處理器中。輸入/輸出接口主要有中斷控制器、DMA、串行和并行接口等,設(shè)備主要有定時(shí)器(Timers)、計(jì)數(shù)器(counters)、看門狗(watchdog timers)、
7、RTC、UARTs、PWM(Pulse width modulator)、AD/DA、顯示器、鍵盤和網(wǎng)絡(luò)等。,第二節(jié)嵌入式微處理器,嵌入式微處理器的發(fā)展嵌入式微處理器的分類嵌入式微處理器的特點(diǎn)主流的嵌入式微處理器——(ARM, MIPS, SH, PowerPC, x86),,嵌入式微處理器的發(fā)展,嵌入式微處理器的分類,嵌入式微處理器種類繁多,按位數(shù)可分為4位、8位、16位、32位和64位。按用途來(lái)分,嵌入式微處理器可分
8、為嵌入式DSP和通用的嵌入式微處理器兩種: 嵌入式DSP:專用于數(shù)字信號(hào)處理,采用哈佛結(jié)構(gòu),程序和數(shù)據(jù)分開存儲(chǔ),采用一系列措施保證數(shù)字信號(hào)的處理速度,如對(duì)FFT(快速傅立葉變換)的專門優(yōu)化。 通用的嵌入式微處理器:一般是集成了通用微處理器的核、總線、外圍接口和設(shè)備的SOC芯片,有些還將DSP作為協(xié)處理器集成。,嵌入式微處理器的特點(diǎn),基礎(chǔ)是通用微處理器與通用微處理器相比的區(qū)別:體積小、重量輕、成本低、可靠性高功耗低工作溫度、抗
9、電磁干擾、可靠性等方面增強(qiáng),嵌入式微處理器的特點(diǎn),體系結(jié)構(gòu),指令集,性能,功耗和管理,成本,集成度,嵌入式微處理器的集成度,用于桌面和服務(wù)器的微處理器的芯片內(nèi)部通常只包括CPU核心、Cache、MMU、總線接口等部分,其他附加的功能如外部接口、系統(tǒng)總線、外部總線和外部設(shè)備獨(dú)立在其他芯片和電路內(nèi)。 嵌入式微處理器除了集成CPU核心、Cache、MMU、總線等部分外,還集成了各種外部接口和設(shè)備,如中斷控制器、DMA、定時(shí)器、UART等。符
10、合嵌入式系統(tǒng)的低成本和低功耗需求,一塊單一的集成了大多數(shù)需要的功能塊的芯片價(jià)格更低,功耗更少。,嵌入式微處理器的集成度,嵌入式微處理器是面向應(yīng)用的,其片內(nèi)所包含的組件的數(shù)目和種類是由它的市場(chǎng)定位決定的。在最普通的情況下,嵌入式微處理器包括:片內(nèi)存儲(chǔ)器:部分嵌入式微處理器外部存儲(chǔ)器的控制器,外設(shè)接口(串口,并口)LCD控制器:面向終端類應(yīng)用的嵌入式微處理器中斷控制器,DMA控制器,協(xié)處理器定時(shí)器,A/D、D/A轉(zhuǎn)換器多媒體加
11、速器:當(dāng)高級(jí)圖形功能需要時(shí)總線其他標(biāo)準(zhǔn)接口或外設(shè),嵌入式微處理器的集成度,單芯片方式(Single Chip) 芯片組方式(Chip Set):由微處理器主芯片和一些從芯片組成,嵌入式微處理器的集成度,單芯片方式:華邦W90P710芯片的內(nèi)部結(jié)構(gòu),嵌入式微處理器的集成度,芯片組方式:兩芯片組的手持PC方案,返回,嵌入式微處理器的體系結(jié)構(gòu),算術(shù)格式(Arithmetic Format) 由于低成本和低功耗的限制,大多數(shù)的嵌入式微
12、處理器使用定點(diǎn)運(yùn)算(fixed-point arithmetic),即數(shù)值被表示為整數(shù)或在-1.0和+1.0之間的分?jǐn)?shù),比數(shù)值表示為尾數(shù)和指數(shù)的浮點(diǎn)版本的芯片便宜。當(dāng)嵌入式系統(tǒng)中需要使用浮點(diǎn)運(yùn)算時(shí),可采用軟件模擬的方式實(shí)現(xiàn)浮點(diǎn)運(yùn)算,只不過(guò)這樣要占用更多的處理器時(shí)間。 功能單元(Functional Units) 通常包括不止一個(gè)的功能單元,典型的是包含一個(gè)ALU、移位器和MAC,處理器通常用一條指令完成乘法操作。 流水線(Pip
13、eline)通常采用單周期執(zhí)行指令,可能導(dǎo)致比較長(zhǎng)的流水線,返回,嵌入式微處理器的指令集,為滿足應(yīng)用領(lǐng)域的需要,嵌入式微處理器的指令集一般要針對(duì)特定領(lǐng)域的應(yīng)用進(jìn)行剪裁和擴(kuò)充。目前很多應(yīng)用系統(tǒng)需要類似于DSP的數(shù)字處理功能。這些指令主要有:乘加(MAC)操作:它在一個(gè)周期中執(zhí)行了一次乘法運(yùn)算和一次加法運(yùn)算。 SIMD類操作:允許使用一條指令進(jìn)行多個(gè)并行數(shù)據(jù)流的計(jì)算。 零開銷的循環(huán)指令:采用硬件方式減少了循環(huán)的開銷。僅使用兩條指令
14、實(shí)現(xiàn)一個(gè)循環(huán),一條是循環(huán)的開始并提供循環(huán)次數(shù),另一條是循環(huán)體。 多媒體加速指令:像素處理、多邊形、3D操作等指令。,返回,嵌入式微處理器的性能,低端(低價(jià),低性能) 一般低端嵌入式微處理器的性能最多達(dá)到50MIPS,應(yīng)用在對(duì)性能要求不高但對(duì)價(jià)格和功耗有嚴(yán)格要求的應(yīng)用系統(tǒng)中。 中檔,低功耗 中檔的嵌入式微處理器可達(dá)到較好的性能(如150MIPS以上),采用增加時(shí)鐘頻率、加深流水深度、增加Cache及一些額外的功能塊來(lái)提高性能,并保
15、持低功耗。 高端,嵌入式微處理器的性能,高端嵌入式微處理器用于高強(qiáng)度計(jì)算的應(yīng)用,使用不同的方法來(lái)達(dá)到更高的并行度 單指令執(zhí)行乘法操作:通過(guò)加入額外的功能單元和擴(kuò)展指令集,使許多操作能在一個(gè)單一的周期內(nèi)并行執(zhí)行。每個(gè)周期執(zhí)行多條指令:桌面和服務(wù)器的超標(biāo)量處理器都支持單周期多條指令執(zhí)行,在嵌入式領(lǐng)域通常使用VLIW(very large instruction word)來(lái)實(shí)現(xiàn),這樣只需較少的硬件,總體價(jià)格會(huì)更低些。例如TI的TMS3
16、20C6201芯片,通過(guò)使用VLIW方法,能在每個(gè)周期同時(shí)執(zhí)行8條獨(dú)立的32位指令。使用多處理器:采用多處理器的方式滿足應(yīng)用系統(tǒng)的更高要求。一些嵌入式微處理器采用特殊的硬件支持多處理器。如TI的OMAP730包括了三個(gè)處理器核ARM9、ARM7、DSP。,返回,嵌入式微處理器的功耗管理,大多數(shù)嵌入式系統(tǒng)有功耗的限制(特別是電池供電的系統(tǒng)),它們不支持使用風(fēng)扇和其他冷卻設(shè)備。 降低工作電壓:1.8v、1.2v甚至更低,而且這個(gè)數(shù)值一直
17、在下降。提供不同的時(shí)鐘頻率:通過(guò)軟件設(shè)置不同的時(shí)鐘分頻。關(guān)閉暫時(shí)不使用的功能塊:如果某功能塊在一個(gè)周期內(nèi)不使用,就可以被完全關(guān)閉,以節(jié)約能量。,嵌入式微處理器的功耗管理,提供功耗管理機(jī)制 運(yùn)行模式(Running Mode):處理器處于全速運(yùn)行狀態(tài)下。 待命模式(Standby Mode):處理器不執(zhí)行指令,所有存儲(chǔ)的信息是可用的,處理器能在幾個(gè)周期內(nèi)返回運(yùn)行模式。 時(shí)鐘關(guān)閉模式(clock-off mode):時(shí)鐘完全停止,
18、要退出這個(gè)模式系統(tǒng)需要重新啟動(dòng)。影響功耗的其他因素還有總線(特別是總線轉(zhuǎn)換器,可以采用特殊的技術(shù)使它的功耗最?。┖痛鎯?chǔ)器的大?。ㄈ绻褂肈RAM,它需要不斷的刷新)。為了使功耗最小,總線和存儲(chǔ)器要保持在應(yīng)用系統(tǒng)可接受的最小規(guī)模。,返回,嵌入式微處理器的成本,為降低價(jià)格,需要在嵌入式微處理器的設(shè)計(jì)中考慮不同的折衷方案。處理器的價(jià)格受如下因素影響:處理器的特點(diǎn):功能塊的數(shù)目、總線類型等。 片上存儲(chǔ)器的大小。芯片的引腳數(shù)和封裝形式:
19、如PQFP(Plastic Quad Flat Package)通常比BGA(Ball Grid Array Package)便宜。芯片大?。╠ie size):取決于制造的工藝水平。,嵌入式微處理器的成本,代碼密度(code density):代碼存儲(chǔ)器的大小將影響價(jià)格,不同種類的處理器有不同的代碼密度:CISC芯片代碼密度高,但結(jié)構(gòu)復(fù)雜,其額外的控制邏輯單元使價(jià)格變得很高;RISC芯片擁有簡(jiǎn)單的結(jié)構(gòu),代碼密度低,因?yàn)槠渲噶罴?jiǎn)
20、單;VLIW代碼密度最低,因?yàn)樗闹噶钭謨A向于采用多字節(jié)。,主流的嵌入式微處理器,目前主流的嵌入式微處理器系列主要有ARM系列、MIPS系列、PowerPC系列、Super H系列和X86系列等。屬于這些系列的嵌入式微處理器產(chǎn)品很多,有上千種以上。,Units (millions),Source: Andrew Allison, Inside The New Computer Industry, January 2001,Embed
21、ded RISC Processor Shipments,32位浪潮的到來(lái),Source: Semico Research Corp. and SIA/WSTS,Total MCU, by Sub-Category (excl. DSP),Total Embedded Control Market Shipments by Type,,,,,總共約26億個(gè)32位處理器付運(yùn),占總數(shù)96億的27%,2005年ARM為17億個(gè),約占32位
22、總量的70%左右,X86系列,主要由AMD,Intel,NS,ST等公司提供,如:Am186/88、Elan520、嵌入式K6,386EX、STPC等。 主要應(yīng)用在工業(yè)控制、通信等領(lǐng)域。 國(guó)內(nèi)由于對(duì)X86體系比較熟悉,得到廣泛應(yīng)用,特別是嵌入式PC的應(yīng)用非常廣泛。,MPC/PPC系列,Motorola推出的MPC系列,如MPC8XX。IBM推出PPC系列,如PPC4XX。主要應(yīng)用在通信、消費(fèi)電子及工業(yè)控制、軍用裝備等領(lǐng)域。,MP
23、C/PPC系列,IBM PowerPC 集成10/100Mbps以太網(wǎng)控制器、串行和并行端口、內(nèi)存控制器以及其它外設(shè)的高性能嵌入式處理器。Motorola MPC 高度綜合的SOC設(shè)備,它結(jié)合了PPC微處理器核心的功能、通信處理器和單硅成分內(nèi)的顯示控制器。這個(gè)設(shè)備可以在大量的電子應(yīng)用中使用,特別是在低能源、便攜式、圖象捕捉和個(gè)人通信設(shè)備。,技術(shù),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,萬(wàn),電源消耗,1.1,瓦,信號(hào),I/O,300,溫度范圍,-40到80度,電源供應(yīng),2.5V (,邏輯電路,),3.3V (I/O),,支持,5V I/Os,456-Ball,Enhanced PBGA (35mm x 35mm),性能,頻率,(CPU /,SDRAM /
25、PCI /EBC),封裝,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,PowerPC 405 GP技術(shù)規(guī)格,*Dhrystone是一個(gè)綜合性的基準(zhǔn)測(cè)試程序,它是為了測(cè)試編譯器和CPU處理整數(shù)指令和控制功能的有效性,人為地選擇一些“典型指令綜合起來(lái)形成的測(cè)試程序。,ARM系列,ARM(Advanced RISC Machine)公司是一家專門從事芯片IP設(shè)計(jì)
26、與授權(quán)業(yè)務(wù)的英國(guó)公司,其產(chǎn)品有ARM內(nèi)核以及各類外圍接口。ARM內(nèi)核是一種32位RISC微處理器,具有功耗低、性價(jià)比高、代碼密度高等三大特色。目前,90%的移動(dòng)電話、大量的游戲機(jī)、手持PC和機(jī)頂盒等都已采用了ARM處理器,許多一流的芯片廠商都是ARM的授權(quán)用戶(Licensee),如Intel、Samsung、TI、Motorola、ST等,ARM已成為業(yè)界公認(rèn)的嵌入式微處理器標(biāo)準(zhǔn)。,ARM處理器的分類,結(jié)構(gòu)體系版本(Archite
27、cture)ARM v4TARM v5TE ARM v6ARM Cortex (v7),Processor FamilyARM7 ARM9ARM10ARM11ARM Cortex,,,,,,,按應(yīng)用特征分類應(yīng)用處理器 Application Processor實(shí)時(shí)控制處理器 Real-time Controller微控制器 Micro-controller,特征:MMU, Cache 最快頻率、
28、最高性能、合理功耗,特征:MPU, Cache 實(shí)時(shí)響應(yīng)、合理性能、較低功耗,特征:no sub-memory system 一般性能、最低成本、極低功耗,,,,Roadmap of ARM V4/V5/V6,ARM V4,ARMV4是目前支持的最老的架構(gòu),是基于32-bit地址空間的32-bit指令集。ARMv4除了支持ARMv3的指令外還擴(kuò)展了:支持halfword的存取支持byte和halfword的符號(hào)擴(kuò)展
29、讀支持Thumb指令提供Thumb和Normal狀態(tài)的轉(zhuǎn)換指令進(jìn)一步的明確了會(huì)引起Undefined異常的指令 對(duì)以前的26bits體系結(jié)構(gòu)的CPU不再兼容,ARMv4T,ARMv4T增加了16-bit Thumb 指令集,這樣使得編譯器能產(chǎn)生緊湊代碼(相對(duì)于32-bit代碼,內(nèi)存能節(jié)省到35%以上)并保持32-bit系統(tǒng)的好處。Thumb在處理器中仍然要擴(kuò)展為標(biāo)準(zhǔn)的32位ARM指令來(lái)運(yùn)行。用戶采用16位Thumb指
30、令集最大的好處就是可以獲得更高的代碼密度和降低功耗。,ARM V5TE,1999年推出ARMv5TE其增強(qiáng)了Thumb體系,增強(qiáng)的Thumb體系增加了一個(gè)新的指令同時(shí)改進(jìn)了Thumb/ARM相互作用、編譯能力和混合及匹配ARM與Thumb例程,以更好地平衡代碼空間和性能并在ARM ISA上擴(kuò)展了增強(qiáng)的DSP 指令集: 增強(qiáng)的DSP指令包括支持飽和算術(shù)(saturated arithmetic), 并且針對(duì)Audio
31、DSP應(yīng)用提高了70%性能。‘E’擴(kuò)展表示在通用的CPU上提供DSP能力。,ARMv5TEJ,2000年推出ARMv5TEJ,增加了Jazelle擴(kuò)展以支持Java加速技術(shù)。Jazelle技術(shù)比僅僅基于軟件的JVM性能提高近8倍的性能減少了80%的功耗。,ARMv6,2001年推出ARMv6,它在許多方面做了改進(jìn)如內(nèi)存系統(tǒng)、異常處理和較好地支持多處理器。SIMD擴(kuò)展使得廣大的軟件應(yīng)用如Video和Audio codec的性能提高了4
32、倍。Thumb-2和TrustZone 技術(shù)也用于ARMv6中。ARMv6第一個(gè)實(shí)現(xiàn)是2002年春推出的ARM1136J(F)-STM處理器,2003年又推出了 ARM1156T2(F)-S 和ARM1176JZ(F)-S處理器。,ARMv7,ARMv7定義了3種不同的處理器配置(processor profiles): Profile A是面向復(fù)雜、基于虛擬內(nèi)存的OS和應(yīng)用的Profile R是針對(duì)實(shí)時(shí)系統(tǒng)的
33、Profile M是針對(duì)低成本應(yīng)用的優(yōu)化的微控制器的。所有ARMv7 profiles實(shí)現(xiàn)Thumb-2技術(shù),同時(shí)還包括了NEON?技術(shù)的擴(kuò)展提高DSP和多媒體處理吞吐量400% ,并提供浮點(diǎn)支持以滿足下一代3D圖形和游戲以及傳統(tǒng)嵌入式控制應(yī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,,,當(dāng)前的主流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 指令擴(kuò)展支持更豐富的多媒體應(yīng)用40家授權(quán)芯片公司,一些已開始量產(chǎn),FOMA N902iFirst ARM11 based phone,OMAP2420,i.MX31/i.MX31L,,目前最快的嵌入式處理器,最快的處理器提供超過(guò)2000 DMIPS 的性能運(yùn)行于 1GHz 頻率 (90nm or 65nm 制造工藝)功耗小于 300mW,ARM Cortex A8 Application Processor,Corte
36、x-M3 實(shí)現(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產(chǎn)品售價(jià)僅1美元,ARM Cortex-M3 微控制器內(nèi)核,專門針對(duì)MCU應(yīng)用領(lǐng)域而設(shè)計(jì),突出低
37、成本、低功耗和高效率。,領(lǐng)先嵌入式處理器技術(shù)發(fā)展討論,多處理器技術(shù)單處理器技術(shù)的性能提升終有一天會(huì)遭遇瓶頸對(duì)嵌入式系統(tǒng)而言,尤其要考慮付出的代價(jià)把任務(wù)進(jìn)行并行分解是理想的選擇ARM MPcore可以集成1-4個(gè)ARM11處理器關(guān)鍵是要提供給軟件開發(fā)者一個(gè)友好的編程界面64位處理器?哪兒是系統(tǒng)性能瓶頸?是需要64位地址還是64位數(shù)據(jù)?嵌入式系統(tǒng)比PC有更好的條件來(lái)解決系統(tǒng)性能和帶寬問(wèn)題PC系統(tǒng)在主板上,擴(kuò)展系統(tǒng)帶寬需
38、要擴(kuò)大每個(gè)組件的接口帶寬SoC只需擴(kuò)展片內(nèi)總線,非常容易實(shí)現(xiàn)AMBA支持8-1024位總線寬度許多SoC設(shè)計(jì)以及ARM處理器內(nèi)部已經(jīng)使用64位數(shù)據(jù)總線,ARM7TDMI,Thumb 架構(gòu)擴(kuò)展, 提供兩個(gè)獨(dú)立的指令集:ARM 指令,均為 32位Thumb指令,均為 16位兩種運(yùn)行狀態(tài),用來(lái)選擇哪個(gè)指令集被執(zhí)行,內(nèi)核具有Debug擴(kuò)展結(jié)構(gòu),增強(qiáng)乘法器 (32x8) 支持64位結(jié)果,EmbeddedICE 邏輯,,,,,,,,,3
39、 級(jí)流水線馮·諾依曼架構(gòu)CPI(Cycle Per Instruction) 約為1.9,ARM7TDMI,,,,,ARM7TDMI內(nèi)核,MCLK,nIRQ,nFIQ,nRESET,BUSEN,BIGEND,ISYNC,nWAIT,VDD,VSS,APE,DBE,,,,,,,,,,,,,協(xié)處理器接口,存儲(chǔ)器管理,存儲(chǔ)器接口,,,,,,,,,,,,,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],電源,總線控制,時(shí)鐘,配置,中斷,,,,,,,,,,,內(nèi)核信號(hào),ARM7TDMI,,ARM7TDMI內(nèi)核,,TAP 控制器,,,,,,JTAG 接口,數(shù)據(jù)總線,控制信號(hào),地址總線,,,,,,,,,,,,,,,,,,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,內(nèi)核,ARM7TDMI指令流水線,為增加處理器指令流的速度,ARM7 系列使用3級(jí)流水線。允許多個(gè)操作同時(shí)處理,而非順序執(zhí)行。 PC指向正被取指的指令,而非正在執(zhí)行的指
43、令。,,,從存儲(chǔ)器中讀取指令,解碼指令中用到的寄存器,寄存器讀(從寄存器Bank)移位及ALU操作寄存器寫(到寄存器Bank ),PCPC,PC - 4PC-2,PC - 8PC - 4,ARMThumb,ARM7TDMI指令流水線,操作,周期,1 2 3 45 6,,,Fetch,,,,,,,,,,,,,,,,,,,,,,,,,,,,,最佳流水線,該例中用6個(gè)時(shí)鐘周期執(zhí)行了6條指令所有的操作都
44、在寄存器中(單周期執(zhí)行)指令周期數(shù) (CPI) = 1,ARM7TDMI,,,,ARM7TDMI內(nèi)核,,,,,地址,地址,數(shù)據(jù)讀,,AMBA接口,,寫緩沖,,,,MMU,,,,,,,數(shù)據(jù)寫,,數(shù)據(jù),,ARM7xxT,控制邏輯,Cache,,,,,AMBA總線接口,,JTAG 和非 AMBA 信號(hào),CP15,帶Cache的ARM7TDMI,ARM710T8K 統(tǒng)一的 cache 完整的內(nèi)存管理單元(MMU),支持虛擬地址
45、和存儲(chǔ)器保護(hù)寫緩沖,ARM720T同ARM710T,但支持 WinCEARM740T8K 統(tǒng)一的 cache內(nèi)存管理單元寫緩沖,Write Buffer:當(dāng)數(shù)據(jù)寫到Write Buffer后不需要CPU的任何干預(yù)而由Write Buffer控制邏輯自動(dòng)的將數(shù)據(jù)寫到最終的地方;Cache的回寫則需要CPU的干預(yù)。Write Buffer較小,通常只有幾十個(gè)字節(jié)。Read Buffer:當(dāng)讀數(shù)據(jù)時(shí)Read Buffer自動(dòng)多讀
46、取一些字節(jié),但是不占用CPU的總線時(shí)間,所以能加快讀數(shù)據(jù)的速度;當(dāng)使用Cache時(shí)如果要從內(nèi)存中讀取數(shù)據(jù)則每個(gè)數(shù)據(jù)都會(huì)占用CPU的時(shí)間,這是與Read Buffer的最大不同點(diǎn)。Read Buffer較小,通常只有幾十個(gè)字節(jié)。,Cache與Buffer的區(qū)別,ARM9TDMI,Harvard架構(gòu)增加了可用的存儲(chǔ)器寬度指令存儲(chǔ)器接口數(shù)據(jù)存儲(chǔ)器接口可以實(shí)現(xiàn)對(duì)指令和數(shù)據(jù)存儲(chǔ)器的同時(shí)訪問(wèn)5 級(jí)流水線實(shí)現(xiàn)了以下改進(jìn):改進(jìn) CPI 到
47、 ~1.5提高了最大時(shí)鐘頻率,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,外部存儲(chǔ)器,ARM940T2x 4K caches MPU寫緩沖,ARM9xxT,ARM920T2x 16K caches
49、MMU支持虛擬地址和內(nèi)存保護(hù) 寫緩沖,帶Cache的ARM9TDMI,ARM9E-S 系列概述,ARM9E 基于 ARM9TDMI 內(nèi)核,有以下擴(kuò)展和增強(qiáng)單周期 32x16 乘法器EmbeddedICE 邏輯 RT改進(jìn)的 ARM/Thumb 交互操作新的32x16和 16x16 乘法指令新的計(jì)數(shù)到零指令新的飽和算術(shù)指令A(yù)RM946E-SARM9E-S 內(nèi)核指令和數(shù)據(jù)cache, 大小可選擇指令和數(shù)據(jù)RAM,大小
50、可選擇保護(hù)單元AHB 總線接口ARM966E-S與 ARM946E-S相似, 但無(wú) cache,ARM926EJ-S系列概述,Jazelle狀態(tài)允許直接執(zhí)行Java 8位碼ARM926EJ-SARM9E-S 內(nèi)核可配置的cache和 TCM內(nèi)存管理單元雙重 32位 AHB 總線接口 (多層),ARM10E 系列概述,v5TE架構(gòu),CPI ? 1.3,6 級(jí)流水線,靜態(tài)分支預(yù)測(cè),32kB 指令cache和32kB數(shù)據(jù)ca
51、che支持“Hit under miss”非阻塞的執(zhí)行單元,每周期64 位的 LDM / STM操作,EmbeddedICE邏輯 - RT-II,支持新的 VFPv1 結(jié)構(gòu),同ARM1020E,除了cache大小為16kB,對(duì)SUDL(single user design license )有效,ARM1020E,ARM1022E,,,ARM9 vs ARM10,流水線的對(duì)比,Intel® StrongARM 概述,ARM
52、 V4 架構(gòu) (無(wú)Thumb支持)5級(jí)流水線,降低跳轉(zhuǎn)損耗-stage pipeline,reduced branch penalty改進(jìn)的乘法器(典型地比ARM9TDMI 快2個(gè)周期)不支持 Multi-ICE 調(diào)試 (JTAG限制在連通性測(cè)試)無(wú)外部協(xié)處理器接口SA-110: 16K 指令和數(shù)據(jù) caches, 8 x 16 字節(jié)寫緩沖.SA-1100/1110:片上外設(shè),存儲(chǔ)器控制器更小的 cache 容量P
53、ID 寄存器指令斷點(diǎn),通過(guò) CP15,Intel® XScale? 概述,V5TE 兼容架構(gòu)7-8級(jí)流水線帶統(tǒng)計(jì)分支預(yù)測(cè)32k的數(shù)據(jù)和指令 Cache, 外加2k的數(shù)據(jù)Minicache8口寫緩沖,4口填充和追加緩沖完整的32位協(xié)處理器接口調(diào)試和性能監(jiān)控邏輯(通過(guò)CP14 )乘-加模塊(作為CP0 )可配置的內(nèi)核時(shí)鐘速度100-733MHz ,來(lái)自 33-66MHz 輸入時(shí)鐘異步輸入總線時(shí)鐘可到100 MHz
54、 (最大總線內(nèi)核時(shí)鐘的1/3 ),ARM微處理器:編程模型,數(shù)據(jù)類型 字節(jié)型數(shù)據(jù)(Byte):數(shù)據(jù)寬度為8bits 半字?jǐn)?shù)據(jù)類型(HalfWord):數(shù)據(jù)寬度為16bits,存取式必須以2字節(jié)對(duì)齊的方式 字?jǐn)?shù)據(jù)類型(Word):數(shù)據(jù)寬度為32bits,存取式必須以4字節(jié)對(duì)齊的方式,ARM微處理器:CPU模式(processor mode),7種CPU模式,CPU模式的轉(zhuǎn)變:軟件控制異常外部中斷,ARM微處理器:CPU模式
55、,User模式,程序不能訪問(wèn)有些受保護(hù)的資源,只能通過(guò)異常的形式來(lái)改變CPU的當(dāng)前運(yùn)行模式,特權(quán)模式可以存取系統(tǒng)中的任何資源,System模式,與User模式的運(yùn)行環(huán)境一樣但是它可以不受任何限制的訪問(wèn)任何資源該模式主要用于運(yùn)行系統(tǒng)中的一些特權(quán)任務(wù),FIQ模式,IRQ模式,Supervisor模式,Abort模式,Undefined模式,異常模式:主要是在外部中斷或者程序執(zhí)行非法操作時(shí)會(huì)觸發(fā),,,ARM微處理器:處理器工作狀態(tài)(PRO
56、CESSOR OPERATING STATES),處理器有兩種工作狀態(tài):ARM:32位,執(zhí)行字對(duì)準(zhǔn)的ARM指令Thumb:16位,執(zhí)行半字對(duì)準(zhǔn)的Thumb指令A(yù)RM和Thumb之間狀態(tài)的切換不影響處理器的模式或寄存器的內(nèi)容,ARM微處理器:處理器工作狀態(tài),進(jìn)入Thumb狀態(tài):執(zhí)行BX指令,并設(shè)置操作數(shù)寄存器的狀態(tài)(位[0])為1。在Thumb狀態(tài)進(jìn)入異常(IRQ, FIQ, UNDEF, ABORT,SWI etc.),當(dāng)異常
57、處理返回時(shí)自動(dòng)轉(zhuǎn)換到Thumb狀態(tài)進(jìn)入ARM狀態(tài):執(zhí)行BX指令,并設(shè)置操作數(shù)寄存器的狀態(tài)(位[0])為0。進(jìn)入異常時(shí),將PC放入異常模式鏈接寄存器中,從異常向量地址開始執(zhí)行也可進(jìn)入ARM狀態(tài),ARM微處理器:處理器工作狀態(tài),Thumb-2 :增加了混合模式能力定義了一個(gè)新的32-bit指令集能在傳統(tǒng)的16-bit指令運(yùn)行的Thumb狀態(tài)下同時(shí)運(yùn)行。這樣能在一個(gè)系統(tǒng)中更好地平衡ARM和Thumb代碼的能力,使系統(tǒng)能更好
58、地利用ARM級(jí)別的性能和Thumb代碼的密度的優(yōu)勢(shì),ARM微處理器:寄存器,ARM處理器有37個(gè)寄存器 31個(gè)通用寄存器:程序計(jì)數(shù)器、堆棧及其他通用寄存器 6個(gè)狀態(tài)寄存器這些寄存器不能同時(shí)看到不同的處理器狀態(tài)和工作模式確定哪些寄存器是對(duì)編程者是可見(jiàn)的,ARM微處理器: ARM State寄存器,ARM微處理器: Thumb State寄存器,ARM State 與Thumb State寄存器關(guān)系,ARM微處理器:通用寄存器,通
59、用寄存器是R0-R15的寄存器,分為三類 沒(méi)有對(duì)應(yīng)影子寄存器的寄存器R0-R7 有對(duì)應(yīng)影子寄存器的寄存器R8-R14 程序計(jì)數(shù)器R15 (或者PC) 影子寄存器是指該寄存器在不同的模式下對(duì)應(yīng)的物理寄存器,ARM微處理器:通用寄存器,R0-R7所有模式下,R0-R7所對(duì)應(yīng)的物理寄存器都是相同的 這八個(gè)寄存器是真正意義上的通用寄存器,ARM體系結(jié)構(gòu)中對(duì)它們沒(méi)有作任何特殊的假設(shè),它們的功能都是等同的。在中斷或者異常處理
60、程序中一般都需要對(duì)這幾個(gè)寄存器進(jìn)行保存。,ARM微處理器:通用寄存器,R8-R14訪問(wèn)的物理寄存器取決于當(dāng)前的處理器模式,若要訪問(wèn)特定的物理寄存器而不依賴當(dāng)前的處理器模式,則要使用規(guī)定的名字。 R8-R12各有兩組物理寄存器:一組為FIQ模式,另一組是除FIQ以外的其他模式。R13-R14各有6個(gè)分組的物理寄存器,一個(gè)用于用戶模式和系統(tǒng)模式,其他5個(gè)分別用于5種異常模式。R13(也被稱為SP指針)被用作棧指針,通常在系統(tǒng)初始化時(shí)
61、需要對(duì)所有模式下的SP指針賦值,當(dāng)CPU在不同的模式時(shí)棧指針會(huì)被自動(dòng)切換成相應(yīng)模式下的值。R14有兩個(gè)用途,一是在調(diào)用子程序時(shí)用于保存調(diào)用返回地址,二是在發(fā)生異常時(shí)用于保存異常返回地址。,ARM微處理器:通用寄存器,R15用作程序計(jì)數(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(當(dāng)前程序狀態(tài)寄存器)在所有的模式下都是可以讀寫的,它主要包含:條件標(biāo)志中斷使能標(biāo)志當(dāng)前處理器的模式其它的一些狀態(tài)和控制標(biāo)志,ARM微處理器:程序狀態(tài)寄存器,置0表示執(zhí)行32bit的ARM指令置1表示執(zhí)行16bit的Thumb指令,Negative,Zero,Carry,Overflow,IRQ中斷的響應(yīng):置1:禁止響應(yīng)置0:允許響應(yīng),FIQ中斷的響應(yīng):置1:禁止響應(yīng)置0:允許響應(yīng),,,,,,,,
63、,,,,,,,ARM微處理器:程序狀態(tài)寄存器,模式控制位M0-M4,ARM微處理器:異常,異常是由內(nèi)部或者外部原因引起的,當(dāng)異常發(fā)生時(shí)CPU將暫停執(zhí)行當(dāng)前指令自動(dòng)到指定的向量地址讀取指令并且執(zhí)行。在X86上,當(dāng)有異常發(fā)生時(shí)CPU是到指定的向量地址讀取要執(zhí)行的程序的地址而ARM是到向量地址的地方讀取指令,也就是ARM的向量地址處存放的是一條指令(一般是一條跳轉(zhuǎn)指令),ARM微處理器:異常,ARM CPU將引起異常的類型分為7種,ARM
64、微處理器:異常,,當(dāng)異常出現(xiàn)時(shí),異常模式分組的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當(dāng)處理異常返回時(shí),將SPSR傳送到CPSR,R14傳送到PC,ARM微處理器:異常,Reset:CPU被復(fù)位后,進(jìn)入Supervisor Mode并且禁止FIQ和IRQ。 Undefined Instructions: CPU執(zhí)行一條未被定義的指令時(shí)就會(huì)觸發(fā)該異常。這種機(jī)制可以用于通過(guò)軟件仿真的方式擴(kuò)展THUMB or ARM指令集。S
66、WI:軟中斷(SWI)是執(zhí)行SWI指令時(shí)觸發(fā)的,該異常主要用于OS的系統(tǒng)調(diào)用。,ARM微處理器:異常,Prefetch Abort: CPU在讀取指令時(shí)發(fā)生讀內(nèi)存錯(cuò)誤并且該指令又要被執(zhí)行則觸發(fā)該異常;如果只是在讀取指令時(shí)發(fā)生了內(nèi)存錯(cuò)誤而該指令又未被執(zhí)行則不會(huì)觸發(fā)該異常。Data Abort:當(dāng)CPU在讀寫數(shù)據(jù)時(shí),如果發(fā)生錯(cuò)誤則觸發(fā)該異常。,ARM微處理器:異常,IRQ:當(dāng)外部IRQ輸入請(qǐng)求發(fā)生時(shí)(IRQ中斷已經(jīng)被使能),觸發(fā)該異常。
67、FIQ: FIQ通常被用于快速傳輸數(shù)據(jù)。當(dāng)外部FIQ輸入請(qǐng)求發(fā)生時(shí)(FIQ中斷已經(jīng)被使能),觸發(fā)該異常。,ARM微處理器:異常,異常的優(yōu)先級(jí),ARM微處理器:內(nèi)存和I/O,ARM 的尋址空間是線性的地址空間,為232=4G Bytes 0 to 3 存儲(chǔ)第一個(gè)word, bytes 4 to 7存儲(chǔ)第二個(gè)wordARM支持大端(Big-endian)和小端(Little-endian)的內(nèi)存數(shù)據(jù)方式,可以通過(guò)硬件的方式設(shè)置(沒(méi)有提供
68、軟件的方式)端模式,ARM微處理器:內(nèi)存和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微處理器:內(nèi)存和I/O,小端的數(shù)據(jù)格式,低地址,高地址,地址A,地址A+1,地址A+2,地址A+3,最低有效字節(jié)的地址就是該word的地址,最低有效字節(jié)位
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子科技大學(xué) 嵌入式軟件工程中心
- 嵌入式系統(tǒng)作業(yè)答案電子科技大學(xué)
- 電子科技大學(xué)
- 電子科技大學(xué)《軟件工程》21春期末考核a卷
- 電子科技大學(xué)策劃
- 杭州電子科技大學(xué)
- 桂林電子科技大學(xué)
- 西安電子科技大學(xué)
- —西安電子科技大學(xué)—
- 電子科技大學(xué)2008年
- 數(shù)據(jù)挖掘-西安電子科技大學(xué)軟件學(xué)院
- 《電子科技大學(xué)獎(jiǎng)勵(lì)辦法》
- 博士西安電子科技大學(xué)
- 電子科技大學(xué)中山學(xué)院
- 電子科技大學(xué)2019年考研860 軟件工程學(xué)科基礎(chǔ)綜合考試大綱
- 2016年電子科技大學(xué)860 軟件工程學(xué)科基礎(chǔ)綜合考研真題
- 施工方案(電子科技大學(xué))
- 電機(jī)與拖動(dòng)(電子科技大學(xué))
- 電子科技大學(xué)國(guó)際科技合作
- 電子科技大學(xué)軟件技術(shù)基礎(chǔ)在線作業(yè)
評(píng)論
0/150
提交評(píng)論