ARM微處理器硬件結(jié)構(gòu).ppt
《ARM微處理器硬件結(jié)構(gòu).ppt》由會員分享,可在線閱讀,更多相關(guān)《ARM微處理器硬件結(jié)構(gòu).ppt(89頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第2章ARM微處理器硬件結(jié)構(gòu),,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,嵌入式處理器體系結(jié)構(gòu),按體系結(jié)構(gòu)的不同可分為五大類ARMPOWERPCMIPSX86SH系列,,,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,第2章ARM微處理器硬件結(jié)構(gòu),2.0什么是ARM2.0CISC和RISC技術(shù)2.1計算機體系結(jié)構(gòu)分類馮?諾依曼結(jié)構(gòu)哈佛結(jié)構(gòu)2.2ARM的版本及系列2.3ARM處理器結(jié)構(gòu)2.4存儲系統(tǒng)機制2.5嵌入式系統(tǒng)的開發(fā),中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,掌握馮諾依曼體系結(jié)構(gòu)和哈佛體系結(jié)構(gòu)兩種計算機體系結(jié)構(gòu)及其區(qū)別。了解RISC技術(shù)。了解ARM定義、版本及處理器版本。了解ARM處理器結(jié)構(gòu)。了解存儲系統(tǒng)機制。,本章要求:,第2章ARM微處理器硬件結(jié)構(gòu),中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,,,2.0什么是ARM,ARM是AdvancedRISCMachine的縮寫,它是一家微處理器行業(yè)的知名企業(yè),該企業(yè)設(shè)計大量高性能、廉價、耗能低的RISC處理器。,1985年第一個ARM原型在英國劍橋誕生。,公司的特點是只設(shè)計芯片,不生產(chǎn)芯片。提供ARM技術(shù)知識產(chǎn)權(quán)(IP)核,將技術(shù)授權(quán)給世界上許多著名的半導(dǎo)體、軟體和OEM廠商,并提供服務(wù)。,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,2.0什么是ARM,有多個版本,除了一些Unix圖形工作站之外,大多數(shù)ARM核心的處理器都是用在嵌入式領(lǐng)域。,ARM既可以認(rèn)為是一個公司的名字,也可認(rèn)為是對一類微處理器的通稱,還可以認(rèn)為是一種技術(shù)的名字。,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,,,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,ARMPartnershipModel,,,CISC:復(fù)雜指令集計算機(ComplexInstructionSetComputer)具有大量的指令和尋址方式8/2原則:80%的程序只使用20%的指令大多數(shù)程序只使用少量的指令就能夠運行。,RISC:精簡指令集計算機(ReducedInstructionSetComputer)在通道中只包含最有用的指令確保數(shù)據(jù)通道快速執(zhí)行每一條指令使CPU硬件結(jié)構(gòu)設(shè)計變得更為簡單,2.0CISC和RISC技術(shù),中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,RISC體系結(jié)構(gòu)特點:,指令集中的大多數(shù)指令只需要執(zhí)行簡單和基本的功能;減少存儲器訪問指令;芯片邏輯采用硬布線邏輯;減少指令數(shù)和尋址方式指令譯碼簡化。,典型的高性能RISC處理器,MIPS公司的SGI:MIPS(1986)SUN公司的SPARC(1987)HP公司的PA-RISC,IBM,Motorola公司的PowerPCDEC、Compac公司的AlphaAXPIBM的RS6000(1990)第一臺SuperscalarRISC機,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,CISC與RISC的對比,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,馮諾依曼體系結(jié)構(gòu),,,2.1計算機體系結(jié)構(gòu)分類,哈佛體系結(jié)構(gòu),中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,馮諾依曼體系結(jié)構(gòu)模型,,,,指令寄存器,控制器,,數(shù)據(jù)通道,輸入,輸出,,,中央處理器,,,,,,存儲器,程序,指令0,指令1,指令2,指令3,指令4,數(shù)據(jù),,,,,數(shù)據(jù)0,數(shù)據(jù)1,數(shù)據(jù)2,,,2.1計算機體系結(jié)構(gòu)分類,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,1)取指令(InstructionFetch):TF2)指令譯碼(InstructionDecode):TD3)執(zhí)行指令(InstructionExecute):TE4)存儲(Storage):TS,馮諾依曼體系結(jié)構(gòu)指令的執(zhí)行周期T,2.1計算機體系結(jié)構(gòu)分類,每條指令的執(zhí)行周期:T=TF+TD+TE+TS,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,1)數(shù)據(jù)與指令都存儲在存儲器中2)被大多數(shù)計算機所采用,馮諾依曼體系結(jié)構(gòu)的特點,2.1計算機體系結(jié)構(gòu)分類,ARM7——馮諾依曼體系結(jié)構(gòu),中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,,,,指令寄存器,控制器,,數(shù)據(jù)通道,輸入,輸出,,,中央處理器,,,,,,程序存儲器,指令0,指令1,指令2,數(shù)據(jù)存儲器,,,數(shù)據(jù)0,數(shù)據(jù)1,數(shù)據(jù)2,,,,,,地址,指令,地址,數(shù)據(jù),哈佛體系結(jié)構(gòu),2.1計算機體系結(jié)構(gòu)分類,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,1)程序存儲器與數(shù)據(jù)存儲器分開2)提供了較大的存儲器帶寬3)適合于數(shù)字信號處理4)大多數(shù)DSP都是哈佛結(jié)構(gòu),ARM9——哈佛體系結(jié)構(gòu),,,哈佛體系結(jié)構(gòu)的特點,2.1計算機體系結(jié)構(gòu)分類,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,ARM體系結(jié)構(gòu)從最初開發(fā)到現(xiàn)在有了很大的改進(jìn),并仍在完善和發(fā)展。,2.2ARM的版本及系列,ARM體系結(jié)構(gòu)版本,為了清楚地表達(dá)每個ARM應(yīng)用實例所使用的指令集,ARM公司定義了6種主要的ARM指令集體系結(jié)構(gòu)版本,以版本號V1~V6表示。,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,該版架構(gòu)只在原型機ARM1出現(xiàn)過,只有26位的尋址空間,沒有用于商業(yè)產(chǎn)品。其基本性能有:基本的數(shù)據(jù)處理指令(無乘法);基于字節(jié)、半字和字的Load/Store指令;轉(zhuǎn)移指令,包括子程序調(diào)用及鏈接指令;供操作系統(tǒng)使用的軟件中斷指令SWI;尋址空間:64MB。,2.2ARM的版本及系列,ARM體系結(jié)構(gòu)版本I,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,該版架構(gòu)對V1版進(jìn)行了擴(kuò)展,例如ARM2和ARM3(V2a架構(gòu))。包含了對32位乘法指令和協(xié)處理器指令的支持。版本2a是版本2的變種,ARM3芯片采用了版本2a,是第一片采用片上Cache的ARM處理器。同樣為26位尋址空間,現(xiàn)已廢棄不再使用。,2.2ARM的版本及系列,ARM體系結(jié)構(gòu)版本II,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,V2版架構(gòu)與版本V1相比,增加了以下功能:乘法和乘加指令;支持協(xié)處理器操作指令;快速中斷模式;SWP/SWPB的最基本存儲器與寄存器交換指令;尋址空間:64MB,2.2ARM的版本及系列,ARM體系結(jié)構(gòu)版本II,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,ARM作為獨立的公司,在1990年設(shè)計的第一個微處理器采用的版本3的ARM6。它作為IP核、獨立的處理器、具有片上高速緩存、MMU和寫緩沖的集成CPU。變種版本有3G和3M。版本3G是不與版本2a向前兼容的版本3,版本3M引入了有符號和無符號數(shù)乘法和乘加指令,這些指令產(chǎn)生全部64位結(jié)果。V3架構(gòu)對ARM體系結(jié)構(gòu)做了較大的改動。,2.2ARM的版本及系列,ARM體系結(jié)構(gòu)版本III,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,尋址空間增至32位(4GB)當(dāng)前程序狀態(tài)信息從原來的R15寄存器移到當(dāng)前程序狀態(tài)寄存器CPSR中(CurrentProgramStatusRegister);增加程序狀態(tài)保存寄存器SPSR(SavedProgramStatusRegister);增加了兩種異常模式,使操作系統(tǒng)代碼可方便地使用數(shù)據(jù)訪問中止異常、指令預(yù)取中止異常和未定義指令異常;增加了MRS/MSR指令,以訪問新增的CPSR/SPSR寄存器;增加了從異常處理返回的指令功能。,2.2ARM的版本及系列,ARM體系結(jié)構(gòu)版本III,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,V4版架構(gòu)在V3版上做了進(jìn)一步擴(kuò)充,V4版架構(gòu)是目前應(yīng)用最廣的ARM體系結(jié)構(gòu),ARM7、ARM8、ARM9和StrongARM都采用該架構(gòu)。V4不再強制要求與26位地址空間兼容,而且明確了哪些指令會引起未定義指令異常。,2.2ARM的版本及系列,ARM體系結(jié)構(gòu)版本IV,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,符號化和非符號化半字及符號化字節(jié)的存/取指令;增加了T變種,處理器可工作在Thumb狀態(tài),增加了16位Thumb指令集;完善了軟件中斷SWI指令的功能;處理器系統(tǒng)模式引進(jìn)特權(quán)方式時使用用戶寄存器操作;把一些未使用的指令空間捕獲為未定義指令。,2.2ARM的版本及系列,ARM體系結(jié)構(gòu)版本IV,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,ARM和Thumb指令,簡介,ARM處理器是基于精簡指令集計算機(RISC)原理設(shè)計的,指令集和相關(guān)譯碼機制較為簡單。,ARM體系結(jié)構(gòu)在V4版中增加了16位Thumb指令集。ARM指令集效率高,但是代碼密度低;Thumb指令集具有較高的代碼密度,卻仍然保持ARM的大多數(shù)性能上的優(yōu)勢,它是ARM指令集的子集。,ARM7TDMI(-S)指令系統(tǒng),ARM指令集與Thumb指令集的關(guān)系,Thumb指令集具有靈活、小巧的特點,ARM指令集支持ARM核所有的特性,具有高效、快速的特點,ARM和Thumb狀態(tài)切換,所有的ARM指令都是可以有條件執(zhí)行的,而Thumb指令僅有一條指令具備條件執(zhí)行功能。ARM程序和Thumb程序可相互調(diào)用,相互之間的狀態(tài)切換開銷幾乎為零。,進(jìn)入Thumb狀態(tài):當(dāng)操作數(shù)寄存器的狀態(tài)態(tài)位為1進(jìn)入ARM狀態(tài):當(dāng)操作數(shù)寄存器的狀態(tài)態(tài)位為0,V5版架構(gòu)是在V4版基礎(chǔ)上增加了一些新的指令,ARM10和Xscale都采用該版架構(gòu)。新增命令包括:帶鏈接和交換的轉(zhuǎn)移BLX指令;計數(shù)前導(dǎo)零CLZ指令;BRK中斷指令;,2.2ARM的版本及系列,ARM體系結(jié)構(gòu)版本V,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,增加了數(shù)字信號處理指令(V5TE版);為協(xié)處理器增加更多可選擇的指令;改進(jìn)了ARM/Thumb狀態(tài)之間的切換效率;E——增強型DSP指令集,包括全部算法操作和16位乘法操作;J——支持新的JAVA,提供字節(jié)代碼執(zhí)行的硬件和優(yōu)化軟件加速功能。,2.2ARM的版本及系列,ARM體系結(jié)構(gòu)版本V,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,V6版架構(gòu)是2001年發(fā)布的,首先在2002年春季發(fā)布的ARM11處理器中使用。在降低耗電量的同時,還強化了圖形處理性能。通過追加有效進(jìn)行多媒體處理的SIMD(SingleInstruction,MultipleData,單指令多數(shù)據(jù))功能,將語音及圖像的處理功能提高到原型機的4倍。,2.2ARM的版本及系列,ARM體系結(jié)構(gòu)版本VI,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,此架構(gòu)在V5版基礎(chǔ)上增加了以下功能:ThumbTM:35%代碼壓縮;DSP擴(kuò)充:高性能定點DSP功能;JazelleTM:Java性能優(yōu)化,可提高8倍;Media擴(kuò)充:音/視頻性能優(yōu)化,可提高4倍。,2.2ARM的版本及系列,ARM體系結(jié)構(gòu)版本VI,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,2.2ARM的版本及系列,ARM體系結(jié)構(gòu)版本,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,ARMIARMIIARMIIIARMIVARMVARMVI,ARM公司開發(fā)了很多系列的ARM處理器核,目前最新的系列已經(jīng)是ARM11。ARM7、ARM9、ARM9E和ARM10為4個通用處理器系列。每個系列提供一套相對獨特的性能來滿足不同應(yīng)用領(lǐng)域的需求。,2.2ARM的版本及系列,ARM處理器系列,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,ARM7系列ARM9系列ARM9E系列ARM10E系列ARM11系列SecurCore系列IntelXscale系列IntelStrongARM系列,2.2ARM的版本及系列,ARM處理器系列,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,低功耗的32bitRISC處理器,馮諾依曼體系結(jié)構(gòu)。極低的功耗,適合便攜式產(chǎn)品。具有嵌入式ICE-RT邏輯,調(diào)試開發(fā)方便。能提供0.9MIPS的三級流水線結(jié)構(gòu);代碼密度高,兼容16位的Thumb指令集;廣泛支持操作系統(tǒng),包括WindowsCE、Linux、PalmOS、VxWorks等;指令系統(tǒng)與ARM9系列、ARM9E系列和ARM10E系列兼容,便于用戶的產(chǎn)品升級換代;主頻最高可達(dá)130MIPS。,2.2ARM的版本及系列,ARM處理器ARM7系列,主要應(yīng)用于:工業(yè)控制、Internet設(shè)備、網(wǎng)絡(luò)和調(diào)制解調(diào)器設(shè)備、移動電話等多種多媒體和嵌入式應(yīng)用。,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,包括六種類型:ARM7TDMI、ARM7TDMI-S、ARM710T、ARM720T、ARM740T、ARM7EJ;ARM7TDMI是目前最廣泛的32位嵌入式RISC處理器,屬低端ARM處理器核。,2.2ARM的版本及系列,ARM處理器ARM7TDMI系列,ARM7TDMI-S,ARM7TDMI的可綜合(synthesizable)版本(軟核),對應(yīng)用工程師來說其編程模型與ARM7TDMI一致;,嵌入式Embedded-ICE,支持片上斷點和調(diào)試點;,支持64位乘法;,支持片上調(diào)試Debug;,支持高密度16位的壓縮Thumb指令集,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,ARM7的產(chǎn)品線。ARM7TDMI:同時具備四個模塊,當(dāng)然用戶也可選擇其中的幾個或一個。ARM7TDMI-S:軟件與ARM7TDMI完全兼容,硬件預(yù)留功能擴(kuò)展口。ARM710T:ARM7TDMI+8KCache+MMU,Cache:片內(nèi)緩存,提高CPU性能,MMU:內(nèi)存管理單元。ARM740T:ARM7TDMI+8KCache+ProtectionUnit。ARM720T:ARM7TDMI+8KCache+WinCESupport。,2.2ARM的版本及系列,ARM處理器ARM7TDMI系列,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,5級流水線;哈佛體系結(jié)構(gòu);支持32位ARM指令集和16位Thumb指令集。全性能的MMU,支持WindowsCE、Linux、PalmOS等多種主流嵌入式操作系統(tǒng);支持?jǐn)?shù)據(jù)Cache和指令Cache,具有更高的指令和數(shù)據(jù)處理能力。,2.2ARM的版本及系列,ARM處理器ARM9系列,主要應(yīng)用于:無線設(shè)備、儀器儀表、安全系統(tǒng)、機頂盒、高端打印機、數(shù)碼照相機和數(shù)碼攝像機。,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,支持DSP指令集;5級整數(shù)流水線,指令執(zhí)行效率更高;支持32位ARM指令集和16位Thumb指令集;支持VFP9浮點處理協(xié)處理器;全性能的MMU,支持WindowsCE、Linux、PalmOS等多種主流嵌入式操作系統(tǒng);MPU支持實時操作系統(tǒng);支持?jǐn)?shù)據(jù)Cache和指令Cache;主頻最高可達(dá)300MIPS。,2.2ARM的版本及系列,ARM處理器ARM9E系列,主要應(yīng)用于:下一代無線設(shè)備、數(shù)字消費品、成像設(shè)備、工業(yè)控制、存儲設(shè)備和網(wǎng)絡(luò)設(shè)備等領(lǐng)域。,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,與同等的ARM9比較,在同樣的時鐘頻率下,性能提高了近50%,功耗極低;支持DSP指令集;6級整數(shù)流水線,指令執(zhí)行效率更高;支持32位ARM指令集和16位Thumb指令集。支持VFP10浮點處理協(xié)處理器。全性能的MMU,支持WindowsCE、Linux、PalmOS等多種主流嵌入式操作系統(tǒng)。支持?jǐn)?shù)據(jù)Cache和指令Cache;主頻最高可達(dá)400MIPS;內(nèi)嵌并行讀/寫操作部件。,2.2ARM的版本及系列,ARM處理器ARM10E系列,主要應(yīng)用于:下一代無線設(shè)備、數(shù)字消費品、成像設(shè)備、工業(yè)控制、通信和信息系統(tǒng)等領(lǐng)域。,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,專為安全需要設(shè)計,提供了完善的32位RISC技術(shù)的安全解決方案;靈活的保護(hù)單元,以確保操作系統(tǒng)和應(yīng)用數(shù)據(jù)的安全。采用軟內(nèi)核技術(shù),防止外部對其進(jìn)行掃描探測;可集成用戶自己的安全特性和其他協(xié)處理器。,2.2ARM的版本及系列,ARM處理器SecurCore系列,主要應(yīng)用于:對安全性要求較高的應(yīng)用產(chǎn)品及應(yīng)用系統(tǒng),如電子商務(wù)、電子政務(wù)、電子銀行業(yè)務(wù)、網(wǎng)絡(luò)和認(rèn)證系統(tǒng)等領(lǐng)域。,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,2.2ARM的版本及系列,IntelStrongARMSA-1100系列微處理器是采用ARM體系結(jié)構(gòu)高度集成的32位RISC微處理器。融合Intel公司的設(shè)計和處理技術(shù)以及ARM體系結(jié)構(gòu)的電源效率,采用在軟件上兼容ARMV4,同時兼具Intel技術(shù)優(yōu)點。,ARM處理器StrongARM系列,主要應(yīng)用于:便攜式通信產(chǎn)品和消費類電子產(chǎn)品。,基于ARMv5TE體系結(jié)構(gòu)的解決方案,是一款全性能、高性價比、低功耗的處理器;支持16位的Thumb指令和DSP指令集。,2.2ARM的版本及系列,ARM處理器Xscale系列,已使用在:數(shù)字移動電話、個人數(shù)字助理和網(wǎng)絡(luò)產(chǎn)品等場合。,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,2.2ARM的版本及系列,ARM系列總結(jié),中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,ARM7TDMI,,4T,,1,,,支持Halfword和signedhalfword/byte和Systemmode,支持Thumb指令集,2,4,ARM9TDMI,ARM720T,ARM940T,改良的ARM/Thumb交互作用以及CLZ指令,,5TE,SaturatedmathsDSPmultiply-accumulateinstructions,XScale,ARM1020E,ARM9E-S,ARM966E-S,3,,早期的ARMs,ARM9EJ-S,5TEJ,,ARM7EJ-S,ARM926EJ-S,Jazelle支持Java字節(jié)碼,6,ARM11,SIMD,2.2ARM的版本及系列,ARM版本及系列總結(jié),ARM7TDMI內(nèi)核結(jié)構(gòu),基于精簡指令集RISC結(jié)構(gòu),指令集和相關(guān)的譯碼機制相對簡單結(jié)構(gòu)圖,書P32,圖2-7,指令集包含11種基本類型2種類型:片上算術(shù)邏輯單元、桶式移位器和乘法器(在31個寄存器間執(zhí)行)3種類型:指令控制數(shù)據(jù)(存儲器和寄存器之間)3種類型:控制流程和特權(quán)級執(zhí)行3種類型:控制外部的協(xié)處理器,,,SHARP公司的LH77790A芯片,ARM7DICPU,Cache,LCD控制器,總線控制器,PWM,82C54計數(shù)器/定時器,16C450UART,82C55可編程外圍接口,CPU部分,JTAG調(diào)試接口,中斷/復(fù)位,控制部分,典型應(yīng)用:,液晶顯示系統(tǒng),中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,SAMSUNG公司KS32C6200芯片,ARM7TDMI內(nèi)核,Cache(2K),CPU部分,并口接口,雙通道DMA,UART/SIO,中斷控制器,典型應(yīng)用:,網(wǎng)絡(luò)打印機,可編程方波發(fā)生器,存儲器控制器,總線接口,定時器,看門狗定時器,Derasterizer/shifter,顯示屏,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,ATMEL公司的AT91芯片,ARM7TDMI內(nèi)核,ICE接口,外部總線接口,片內(nèi)存儲器,典型應(yīng)用:,工控系統(tǒng),中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,CIRRUS公司的EP系列芯片,ARM720T內(nèi)核控制電路DAI:數(shù)字音頻接口LCD控制器存儲器控制器DC-DC變換器(PWM)27位通用I/O動態(tài)可編程時鐘其它控制電路,典型應(yīng)用:,音頻系統(tǒng),中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,帶Cache的ARM7TDMI,ARM710T8K統(tǒng)一的cache完整的內(nèi)存管理單元(mmu),支持虛擬地址和存儲器保護(hù)寫緩沖,ARM720T同ARM710T,但支持WinCEARM740T8K統(tǒng)一的cache內(nèi)存管理單元寫緩沖,,,,ARM7TDMI內(nèi)核,,,,,地址,地址,數(shù)據(jù)讀,,AMBA接口,,寫緩沖,,,,MMU,,,,,,,數(shù)據(jù)寫,,數(shù)據(jù),,ARM7xxT,控制邏輯,Cache,,,,,AMBA總線接口,,JTAG和非AMBA信號,CP15,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,高速緩存(Cache),1、為什么采用高速緩存微處理器的時鐘頻率比內(nèi)存速度提高快得多,高速緩存可以提高內(nèi)存的平均性能。2、高速緩存的工作原理高速緩存是一種小型、快速的存儲器,它保存部分主存內(nèi)容的拷貝。,CPU,高速緩存控制器,CACHE,主存,數(shù)據(jù),,,,,,,,數(shù)據(jù),地址,2.3ARM處理器結(jié)構(gòu),從以下四個方面介紹:ARM和Thumb狀態(tài)RISC技術(shù)流水線技術(shù)超標(biāo)量執(zhí)行,二級流水,串行執(zhí)行,取指令取指令單元完成,總有一個部件空閑,指令預(yù)取,若取指和執(zhí)行階段時間上完全重疊,指令周期減半速度提高1倍,執(zhí)行指令執(zhí)行指令單元完成,2.3.3流水線技術(shù),中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,2.3.3流水線技術(shù),,,流水線(Pipeline)技術(shù):幾個指令可以并行執(zhí)行提高了CPU的運行效率內(nèi)部信息流要求通暢流動,譯碼,取指,執(zhí)行add,譯碼,取指,執(zhí)行sub,譯碼,取指,執(zhí)行mov,,,,,,,,時間,Add,Sub,mov,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,流水線(pipeline)是Intel首次在486芯片中開始使用的。流水線的工作方式就象工業(yè)生產(chǎn)上的裝配流水線。,,,指令流水線,為增加處理器指令流的速度,ARM7系列使用3級流水線.允許多個操作同時處理,比逐條指令執(zhí)行要快。PC指向正被取指的指令,而非正在執(zhí)行的指令,,,,Fetch,Decode,Execute,,,從存儲器中讀取指令,解碼指令,寄存器讀(從寄存器Bank)移位及ALU操作寄存器寫(到寄存器Bank),PCPC,PC-4PC-2,PC-8PC-4,ARMThumb,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,最佳流水線,,該例中用6個時鐘周期執(zhí)行了6條指令所有的操作都在寄存器中(單周期執(zhí)行)指令周期數(shù)(CPI)=1,操作,周期,123456,,,,Fetch,,Decode,,Execute,,Fetch,,Decode,,Execute,,Fetch,,Decode,,Execute,,Fetch,,Decode,,Execute,,Fetch,,Decode,,Execute,,Decode,,Execute,,Fetch,,Decode,,Fetch,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Fetch,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,LDR流水線舉例,,該例中,用6周期執(zhí)行了4條指令指令周期數(shù)(CPI)=1.5,周期,操作,123456,,,Fetch,,Decode,,Execute,,Fetch,,Decode,,Execute,,Fetch,,Decode,,Execute,,Data,,Writeback,,Fetch,,Decode,,Execute,,,,Fetch,,Decode,,,,Fetch,,,,,,,,,,,,,,,,,,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,縮短程序執(zhí)行時間,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,2.3.3流水線技術(shù),ARM的流水線設(shè)計問題,:執(zhí)行一段程序所需時間;,:執(zhí)行該段程序的指令條數(shù);,:執(zhí)行每條指令的平均時鐘周期數(shù);,:處理器的時鐘頻率。,降低CPI,提供時鐘頻率,解決流水線的相關(guān)問題,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,2.3.3流水線技術(shù),ARM的流水線設(shè)計問題,1)流水線結(jié)構(gòu)相關(guān)問題:,資源沖突導(dǎo)致,對數(shù)據(jù)通路訪問的沖突對寄存器訪問的沖突,措施:,分離式指令Cache和數(shù)據(jù)CacheALU中采用獨立的加法器完成地址計算,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,解決流水線的相關(guān)問題,2.3.3流水線技術(shù),ARM的流水線設(shè)計問題,2)流水線數(shù)據(jù)相關(guān)問題:,當(dāng)前指令需要之前指令執(zhí)行的結(jié)果,而之前指令均在流水線中重疊執(zhí)行。,寫后讀寫后寫讀后寫,措施:,定向技術(shù):將之前指令運算結(jié)果直接傳遞給后面需要的指令,不必寫入寄存器。流水線互鎖技術(shù):通過編譯器及匯編程序員修改來減少管道互鎖的數(shù)量。,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,解決流水線的相關(guān)問題,2.3.3流水線技術(shù),ARM的流水線設(shè)計問題,3)流水線控制相關(guān)問題:,流水線遇到分支指令和其他會改變PC值的指令,暫停分支指令之后的所有指令,直到分支指令確定了新的PC值為止。,措施:,引入延時分支:直接跟在分支指令后面的指令被執(zhí)行,保證流水線處于滿的狀態(tài)。盡早計算分支轉(zhuǎn)移成功時的PC值:通過采用一個專用加法器計算分支的目標(biāo)地址。,引入控制阻滯延時(分支損失),,InstructionFetch,,Shift+ALU,,MemoryAccess,,RegWrite,,RegRead,RegDecode,FETCH,DECODE,EXECUTE,MEMORY,WRITE,ARM9TDMI,,,ARMorThumbInstDecode,,,RegSelect,RegRead,Shift,ALU,RegWrite,,,,ThumbARMdecompress,ARMdecode,,InstructionFetch,FETCH,DECODE,EXECUTE,ARM7TDMI,,,三級流水線,五級流水線,2.3.3指令流水線,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,,,指令取指,,移位+ALU,,,寄存器寫,寄存器讀,寄存器譯碼,FETCH,DECODE,EXECUTE,MEMORY,WRITE,ARM9TDMI,,,ARM或Thumb指令解碼,ARM10,,指令地址生成,,移位+ALU,,數(shù)據(jù)Cache接口,,寄存器寫,,FETCH,DECODE,EXECUTE,MEMORY,WRITE,,,寄存器讀+結(jié)果前向遷移+記分板,,乘法,,,乘加,協(xié)處理器數(shù)據(jù)接口,,分支預(yù)測,,指令取指,ISSUE,,,寄存器訪問,,數(shù)據(jù)+分支地址生成,,ARM或Thumb指令解碼,,協(xié)處理器指令發(fā)出,五級流水線,2.3.3指令流水線,六級流水線,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,ARM的流水線技術(shù),中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,2.3.4超標(biāo)量執(zhí)行,超標(biāo)量技術(shù):通過重復(fù)設(shè)置多套指令執(zhí)行部件,同時處理并完成多條指令,實現(xiàn)并行操作來達(dá)到提高處理速度的目的。,控制,指令1,寄存器,指令單元,指令單元,指令2,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,2.3.4超標(biāo)量執(zhí)行,超標(biāo)量技術(shù):超標(biāo)量CPU采用多條流水線結(jié)構(gòu)。,執(zhí)行1,取指,指令,譯碼2,譯碼1,執(zhí)行2,執(zhí)行1,取指,譯碼2,譯碼1,執(zhí)行2,,流水線1,流水線2,,數(shù)據(jù)回寫,,,,,,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,2.4存儲系統(tǒng)機制,軟件,嵌入式處理器,接口,接口,存儲器,,,,,,板級支持包,嵌入式操作系統(tǒng),應(yīng)用程序,輸入,輸出,,硬件,軟件,,,存放程序和數(shù)據(jù),ARM體系中的存儲空間,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,2.4.1ARM存儲系統(tǒng),ARM體系使用單一的平板地址空間。地址空間大小個8位的字節(jié)。其單元地址為無符號的32位數(shù),范圍為0~,ARM體系的也可視為地址空間大小個32位的字。其單元地址為無符號的30位數(shù),范圍為0~,地址為A的字?jǐn)?shù)據(jù)包括A,A+1,A+2,A+3中的4字節(jié)內(nèi)容,ARM體系的也可視為地址空間大小個16位的半字。其單元地址為無符號的31位數(shù),范圍為0~,地址為A的字?jǐn)?shù)據(jù)包括A,A+1中的2字節(jié)內(nèi)容,ARM處理器支持一下6種數(shù)據(jù)類型:,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,2.4.1ARM存儲系統(tǒng),8位有符號和無符號字節(jié);,16位有符號和無符號半字;(2字節(jié)邊界對齊),32位有符號和無符號字;(4字節(jié)邊界對齊),ARM操作面向32位操作數(shù),以字為單位對齊;,Thumb操作面向16位操作數(shù),以半字為單位對齊;,ARM體系結(jié)構(gòu)將存儲器看作是從零地址開始的字節(jié)的線性組合。從零字節(jié)到三字節(jié)放置第一個存儲的字?jǐn)?shù)據(jù),從第四個字節(jié)到第七個字節(jié)放置第二個存儲的字?jǐn)?shù)據(jù),依次排列。作為32位的微處理器,ARM體系結(jié)構(gòu)所支持的最大尋址空間為4GB(232字節(jié))。,ARM體系結(jié)構(gòu)的存儲器格式,2.4.1ARM存儲系統(tǒng),中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,ARM體系結(jié)構(gòu)可以用兩種方法存儲字?jǐn)?shù)據(jù),稱之為大端格式和小端格式。大端格式(big-endian):字?jǐn)?shù)據(jù)的高字節(jié)存儲在低地址中,而字?jǐn)?shù)據(jù)的低字節(jié)則存放在高地址中,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,ARM體系結(jié)構(gòu)的存儲器格式(大端),2.4.1ARM存儲系統(tǒng),小端格式(little-endian):與大端存儲格式相反。低地址中存放的是字?jǐn)?shù)據(jù)的低字節(jié),高地址存放的是字?jǐn)?shù)據(jù)的高字節(jié)。,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,2.4.1ARM存儲系統(tǒng),ARM體系結(jié)構(gòu)的存儲器格式(小端),ARM可以用little/bigendian格式存取數(shù)據(jù).,,,,,r0=0 x11223344,,,STRr0,[r1],,LDRBr2,[r1],,,r1=0 x00,Memory,3210,0123,ByteLane,31,24,23,16,15,8,7,0,11,22,33,44,31,24,23,16,15,8,7,0,44,33,22,11,31,24,23,16,15,8,7,0,11,22,33,44,31,24,23,16,15,8,7,0,00,00,00,44,31,24,23,16,15,8,7,0,00,00,00,11,Littleendian,Bigendian,R2=0 x44,R2=0 x11,2.4.1ARM存儲系統(tǒng),中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,,2.4.2高速緩沖存儲器,cache能夠減少內(nèi)存平均訪問時間。Cache可以分為統(tǒng)一cache和獨立的數(shù)據(jù)/程序cache。當(dāng)CPU更新了cache的內(nèi)容時,要將結(jié)果寫回到主存中,可以采用寫通法(write-through)和寫回法(write-back)。寫通法是指CPU在執(zhí)行寫操作時,必須把數(shù)據(jù)同時寫入cache和主存。采用寫通法進(jìn)行數(shù)據(jù)更新的cache稱為寫通cache。寫回法是指CPU在執(zhí)行寫操作時,被寫的數(shù)據(jù)只寫入cache不寫入主存。僅當(dāng)需要替換時,才把已經(jīng)修改的cache塊寫回到主存中。采用寫回法進(jìn)行數(shù)據(jù)更新的cache稱為寫回cache。,當(dāng)進(jìn)行數(shù)據(jù)寫操作時,cache分為兩類:讀操作分配cache和寫操作分配cache。對于讀操作分配cache,當(dāng)進(jìn)行數(shù)據(jù)寫操作時,如果cache未命中,只是簡單地將數(shù)據(jù)寫入主存中。主要在數(shù)據(jù)讀取時,才進(jìn)行cache內(nèi)容預(yù)取。對于寫操作分配cache,當(dāng)進(jìn)行數(shù)據(jù)寫操作時,如果cache未命中,cache系統(tǒng)將會進(jìn)行cache內(nèi)容預(yù)取,從主存中將相應(yīng)的塊讀取到cache中相應(yīng)的位置,并執(zhí)行寫操作,把數(shù)據(jù)寫入到cache中。,2.4.3存儲管理單元,MMU(MemoryManageUnit,存儲管理單元)在CPU和物理內(nèi)存之間進(jìn)行地址轉(zhuǎn)換,將地址從邏輯空間映射到物理空間,這個轉(zhuǎn)換過程一般稱為內(nèi)存映射。MMU主要完成以下工作:(1)虛擬存儲空間到物理存儲空間的映射。(2)存儲器訪問權(quán)限的控制。(3)設(shè)置虛擬存儲空間的緩沖的特性。,2.4.4存儲器系統(tǒng)的層次結(jié)構(gòu),在這種存儲器分層結(jié)構(gòu)中,上面一層的存儲器作為下一層存儲器的高速緩存。CPU寄存器就是cache的高速緩存,寄存器保存來自cache的字;cache又是內(nèi)存層的高速緩存,從內(nèi)存中提取數(shù)據(jù)送給CPU進(jìn)行處理,并將CPU的處理結(jié)果返回到內(nèi)存中;內(nèi)存又是主存儲器的高速緩存,它將經(jīng)常用到的數(shù)據(jù)從Flash等主存儲器中提取出來,放到內(nèi)存中,從而加快了CPU的運行效率。嵌入式系統(tǒng)的主存儲器容量是有限的,磁盤、光盤或CF、SD卡等外部存儲器用來保存大信息量的數(shù)據(jù)。在某些帶有分布式文件系統(tǒng)的嵌入式網(wǎng)絡(luò)系統(tǒng)中,外部存儲器就作為其他系統(tǒng)中被存儲數(shù)據(jù)的高速緩存。,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,1)按在系統(tǒng)中的地位分類,存儲器部件的幾種分類,主存儲器(MainMemory),(內(nèi)存、主存),輔助存儲器(AuxiliaryMemory、SecondaryMemory),(外存、輔存),CPU直接訪問,速度快,用于存放系統(tǒng)軟件、參數(shù)以及當(dāng)前要運行的應(yīng)用軟件和數(shù)據(jù)、系統(tǒng)軟件的部分軟件。,速度慢,存放全部應(yīng)用軟件及剩余系統(tǒng)軟件。,通過專門設(shè)備將數(shù)據(jù)先置于內(nèi)存,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,2)按信息存取方式分類,2.4存儲系統(tǒng)機制,存儲器部件的幾種分類,隨機存取存儲器RAM,只讀存儲器ROM,RandomlyAccessMemory,ReadOnlyMemory,掩膜式ROM,可編程只讀存儲器PROM,可改寫的只讀存儲器EPROM,靜態(tài)RAM,動態(tài)RAM,準(zhǔn)靜態(tài)RAM,按功能分,按信息存儲的方式分,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,2.4存儲系統(tǒng)機制,FlashROM,MX29LV040CTC–70G,Options:G:Lead-freepackageR:RestrictedVCC(3.0V~3.6V)Q:RestrictedVCC(3.0V~3.6V)withLead-freepackage,Speed:55:55ns70:70ns90:90ns12:120ns,Temperaturerange:C:Commercial(0~70oC)I:Industrial(-40~85oC),Vendor:MacronixInternational,Package:Q:PLCCT:TSOP,Device:29:Flash,Type:L,LV:3V,Density&Mode:040:4M,x8EqualSector,Revision:C,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,2.4存儲系統(tǒng)機制,現(xiàn)代SDRAM,HYXXXXXXXXXXXXXXXXXXX,HYNIX,ProductFamily:,57:sdram5D:DDRsdram,Process&PowerSupply:,V:CMOS,3VU:CMOS,2.5V,Density&Refresh:,4:4Mbits,1KRef16:8Mbits,4KRef,DataWidth:,40:x480:x8,Bank:,1:2Banks2:4Banks,Interface:,0:LVTTL1:SSTL2:SSTL2,I:IndustrialTempatureE:ExtendedTempature,Speed:,5:5ns55:5.5ns5:6ns65:6.5ns7:7ns75:7.5ns,Package:,TC:400Mil,TSOPIITQ:100Pin-TQFP,PowerConsumption:,Blank:NormalPowerL:LowPower,DieGeneration:,Blank:1stGenerationA:2ndGenerationB:3rdGenerationC:4thGenerationD:5thGeneration,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,SDRAM:SynchronousDynamicRandomAccessMemory,同步動態(tài)隨機存取存儲器:同步是指Memory工作需要同步時鐘,內(nèi)部的命令的發(fā)送與數(shù)據(jù)的傳輸都以它為基準(zhǔn);動態(tài)是指存儲陣列需要不斷的刷新來保證數(shù)據(jù)不丟失;隨機是指數(shù)據(jù)不是線性依次存儲,而是由指定地址進(jìn)行數(shù)據(jù)讀寫。,2.4存儲系統(tǒng)機制,SDRAM,中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,2.4存儲系統(tǒng)機制,SDRAM,內(nèi)存芯片存儲數(shù)據(jù)的基本單位是bit(位),而進(jìn)行尋址的基本單位則是Byte(字節(jié)),一個Byte就等于8bit。,進(jìn)行數(shù)據(jù)讀取時,先進(jìn)行行的選定,再進(jìn)行列的選定,最后再從這個單元格中讀取出所需要的數(shù)據(jù)。,bank,存儲單元數(shù)量=行數(shù)列數(shù)Bank的數(shù)量,一般MW的方式來表示芯片的容量(或者說是芯片的規(guī)格/組織結(jié)構(gòu))。M是該芯片中存儲單元的總數(shù),單位是兆(英文簡寫M,精確值是1048576,而不是1000000),W代表每個存儲單元的容量,也就是SDRAM芯片的位寬(Width),單位是bit。比如,8M8,這是一個8bit位寬芯片,有8M個存儲單元,總?cè)萘渴?4Mbit(8MB),中國礦業(yè)大學(xué)信息與電氣工程學(xué)院,SDRAM,R/W,RAS,CAS,CE,,Addr,,Data,CLK,2.4存儲系統(tǒng)機制,SDRAM,- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- ARM 微處理器 硬件 結(jié)構(gòu)
鏈接地址:http://m.appdesigncorp.com/p-3394882.html