




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第2章 ARM微處理器硬件結(jié)構(gòu)1嵌入式處理器體系結(jié)構(gòu)按體系結(jié)構(gòu)的不同可分為五大類(lèi)ARMPOWER PCMIPSX86SH系列 23第2章 ARM微處理器硬件結(jié)構(gòu)2.0 什么是ARM2.0 CISC和RISC技術(shù)2.1 計(jì)算機(jī)體系結(jié)構(gòu)分類(lèi)馮諾依曼結(jié)構(gòu)哈佛結(jié)構(gòu)2.2 ARM的版本及系列2.3 ARM處理器結(jié)構(gòu)2.4 存儲(chǔ)系統(tǒng)機(jī)制2.5 嵌入式系統(tǒng)的開(kāi)發(fā)4掌握馮諾依曼體系結(jié)構(gòu)和哈佛體系結(jié)構(gòu)兩種計(jì)算機(jī)體系結(jié)構(gòu)及其區(qū)別。了解RISC技術(shù)。了解ARM定義、版本及處理器版本。了解ARM處理器結(jié)構(gòu)。了解存儲(chǔ)系統(tǒng)機(jī)制。本章要求:第2章 ARM微處理器硬件結(jié)構(gòu)52.0 什么是ARM ARM是Advanced RI
2、SC Machine的縮寫(xiě),它是一家微處理器行業(yè)的知名企業(yè),該企業(yè)設(shè)計(jì)大量高性能、廉價(jià)、耗能低的RISC處理器。 1985年第一個(gè)ARM原型在英國(guó)劍橋誕生。 公司的特點(diǎn)是只設(shè)計(jì)芯片,不生產(chǎn)芯片。 提供ARM技術(shù)知識(shí)產(chǎn)權(quán)(IP)核,將技術(shù)授權(quán)給世界上許多著名的半導(dǎo)體、軟體和OEM廠商,并提供服務(wù)。62.0 什么是ARM有多個(gè)版本,除了一些Unix圖形工作站之外,大多數(shù)ARM核心的處理器都是用在嵌入式領(lǐng)域。ARM既可以認(rèn)為是一個(gè)公司的名字,也可認(rèn)為是對(duì)一類(lèi)微處理器的通稱,還可以認(rèn)為是一種技術(shù)的名字。7ARM Partnership Model8CISC:復(fù)雜指令集計(jì)算機(jī)(Complex Instr
3、uction Set Computer)具有大量的指令和尋址方式8/2原則:80%的程序只使用20%的指令大多數(shù)程序只使用少量的指令就能夠運(yùn)行。RISC:精簡(jiǎn)指令集計(jì)算機(jī)(Reduced Instruction Set Computer)在通道中只包含最有用的指令確保數(shù)據(jù)通道快速執(zhí)行每一條指令使CPU硬件結(jié)構(gòu)設(shè)計(jì)變得更為簡(jiǎn)單 2.0 CISC和RISC技術(shù)9RISC體系結(jié)構(gòu)特點(diǎn):指令集中的大多數(shù)指令只需要執(zhí)行簡(jiǎn)單和基本的功能;減少存儲(chǔ)器訪問(wèn)指令;芯片邏輯采用硬布線邏輯;減少指令數(shù)和尋址方式指令譯碼簡(jiǎn)化。10典型的高性能RISC處理器MIPS公司的SGI:MIPS(1986)SUN公司的SPAR
4、C(1987)HP公司的PA-RISC,IBM, Motorola公司的PowerPCDEC、Compac公司的Alpha AXPIBM的RS6000(1990)第一臺(tái)Superscalar RISC機(jī) 11CISC與RISC的對(duì)比類(lèi)別CISCRISC指令系統(tǒng)指令數(shù)量很多較少,通常少于100執(zhí)行時(shí)間有些指令執(zhí)行時(shí)間很長(zhǎng),如整塊的存儲(chǔ)器內(nèi)容拷貝;或?qū)⒍鄠€(gè)寄存器的內(nèi)容拷貝到存貯器沒(méi)有較長(zhǎng)執(zhí)行時(shí)間的指令編碼長(zhǎng)度編碼長(zhǎng)度可變,1-15字節(jié)編碼長(zhǎng)度固定,通常為4個(gè)字節(jié)尋址方式尋址方式多樣簡(jiǎn)單尋址操作可以對(duì)存儲(chǔ)器和寄存器進(jìn)行算術(shù)和邏輯操作只能對(duì)寄存器進(jìn)行算術(shù)和邏輯操作,Load/Store體系結(jié)構(gòu)編譯難以
5、用優(yōu)化編譯器生成高效的目標(biāo)代碼程序 采用優(yōu)化編譯技術(shù),生成高效的目標(biāo)代碼程序 12馮諾依曼體系結(jié)構(gòu)2.1 計(jì)算機(jī)體系結(jié)構(gòu)分類(lèi)哈佛體系結(jié)構(gòu)13馮諾依曼體系結(jié)構(gòu)模型指令寄存器控制器數(shù)據(jù)通道輸入輸出中央處理器存儲(chǔ)器程序指令0指令1指令2指令3指令4數(shù)據(jù)數(shù)據(jù)0數(shù)據(jù)1數(shù)據(jù)22.1 計(jì)算機(jī)體系結(jié)構(gòu)分類(lèi)141)取指令(Instruction Fetch):TF2)指令譯碼(Instruction Decode):TD3)執(zhí)行指令(Instruction Execute):TE4)存儲(chǔ)(Storage):TS馮諾依曼體系結(jié)構(gòu)指令的執(zhí)行周期T2.1 計(jì)算機(jī)體系結(jié)構(gòu)分類(lèi)每條指令的執(zhí)行周期:T= TF+TD+TE+
6、TS151)數(shù)據(jù)與指令都存儲(chǔ)在存儲(chǔ)器中2)被大多數(shù)計(jì)算機(jī)所采用馮諾依曼體系結(jié)構(gòu)的特點(diǎn)2.1 計(jì)算機(jī)體系結(jié)構(gòu)分類(lèi)ARM7馮諾依曼體系結(jié)構(gòu)16指令寄存器控制器數(shù)據(jù)通道輸入輸出中央處理器程序存儲(chǔ)器指令0指令1指令2數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)0數(shù)據(jù)1數(shù)據(jù)2地址指令地址數(shù)據(jù)哈佛體系結(jié)構(gòu)2.1 計(jì)算機(jī)體系結(jié)構(gòu)分類(lèi)171)程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器分開(kāi)2)提供了較大的存儲(chǔ)器帶寬3)適合于數(shù)字信號(hào)處理4)大多數(shù)DSP都是哈佛結(jié)構(gòu)ARM9哈佛體系結(jié)構(gòu)哈佛體系結(jié)構(gòu)的特點(diǎn)2.1 計(jì)算機(jī)體系結(jié)構(gòu)分類(lèi)18 ARM體系結(jié)構(gòu)從最初開(kāi)發(fā)到現(xiàn)在有了很大的改進(jìn),并仍在完善和發(fā)展。2.2 ARM的版本及系列ARM體系結(jié)構(gòu)版本為了清楚地表達(dá)每個(gè)AR
7、M應(yīng)用實(shí)例所使用的指令集,ARM公司定義了6種主要的ARM指令集體系結(jié)構(gòu)版本,以版本號(hào)V1V6表示。19該版架構(gòu)只在原型機(jī)ARM1出現(xiàn)過(guò),只有26位的尋址空間,沒(méi)有用于商業(yè)產(chǎn)品。其基本性能有:基本的數(shù)據(jù)處理指令(無(wú)乘法);基于字節(jié)、半字和字的Load/Store指令;轉(zhuǎn)移指令,包括子程序調(diào)用及鏈接指令;供操作系統(tǒng)使用的軟件中斷指令SWI;尋址空間:64MB。2.2 ARM的版本及系列ARM體系結(jié)構(gòu)版本I20該版架構(gòu)對(duì)V1版進(jìn)行了擴(kuò)展,例如ARM2和ARM3(V2a架構(gòu))。包含了對(duì)32位乘法指令和協(xié)處理器指令的支持。版本2a是版本2的變種,ARM3芯片采用了版本2a,是第一片采用片上Cache的
8、ARM處理器。同樣為26位尋址空間,現(xiàn)已廢棄不再使用。2.2 ARM的版本及系列ARM體系結(jié)構(gòu)版本II21V2版架構(gòu)與版本V1相比,增加了以下功能:乘法和乘加指令;支持協(xié)處理器操作指令;快速中斷模式;SWP/SWPB的最基本存儲(chǔ)器與寄存器交換指令;尋址空間:64MB2.2 ARM的版本及系列ARM體系結(jié)構(gòu)版本II22ARM作為獨(dú)立的公司,在1990年設(shè)計(jì)的第一個(gè)微處理器采用的版本3的ARM6。它作為IP核、獨(dú)立的處理器、具有片上高速緩存、MMU和寫(xiě)緩沖的集成CPU。變種版本有3G和3M。版本3G是不與版本2a向前兼容的版本3,版本3M引入了有符號(hào)和無(wú)符號(hào)數(shù)乘法和乘加指令,這些指令產(chǎn)生全部64位
9、結(jié)果。V3架構(gòu)對(duì)ARM體系結(jié)構(gòu)做了較大的改動(dòng)。2.2 ARM的版本及系列ARM體系結(jié)構(gòu)版本III23尋址空間增至32位(4GB)當(dāng)前程序狀態(tài)信息從原來(lái)的R15寄存器移到當(dāng)前程序狀態(tài)寄存器CPSR中(Current Program Status Register);增加程序狀態(tài)保存寄存器SPSR(Saved Program Status Register);增加了兩種異常模式,使操作系統(tǒng)代碼可方便地使用數(shù)據(jù)訪問(wèn)中止異常、指令預(yù)取中止異常和未定義指令異常;增加了MRS/MSR指令,以訪問(wèn)新增的CPSR/SPSR寄存器;增加了從異常處理返回的指令功能。2.2 ARM的版本及系列ARM體系結(jié)構(gòu)版本II
10、I24V4版架構(gòu)在V3版上做了進(jìn)一步擴(kuò)充,V4版架構(gòu)是目前應(yīng)用最廣的ARM體系結(jié)構(gòu),ARM7、ARM8、ARM9和StrongARM都采用該架構(gòu)。V4不再?gòu)?qiáng)制要求與26位地址空間兼容,而且明確了哪些指令會(huì)引起未定義指令異常。2.2 ARM的版本及系列ARM體系結(jié)構(gòu)版本IV25符號(hào)化和非符號(hào)化半字及符號(hào)化字節(jié)的存/取指令;增加了T變種,處理器可工作在Thumb狀態(tài),增加了16位Thumb指令集;完善了軟件中斷SWI指令的功能;處理器系統(tǒng)模式引進(jìn)特權(quán)方式時(shí)使用用戶寄存器操作;把一些未使用的指令空間捕獲為未定義指令。2.2 ARM的版本及系列ARM體系結(jié)構(gòu)版本IV26ARM和Thumb指令簡(jiǎn)介ARM
11、處理器是基于精簡(jiǎn)指令集計(jì)算機(jī)(RISC)原理設(shè)計(jì)的,指令集和相關(guān)譯碼機(jī)制較為簡(jiǎn)單。ARM體系結(jié)構(gòu)在V4版中增加了16位Thumb指令集。ARM指令集效率高,但是代碼密度低;Thumb指令集具有較高的代碼密度,卻仍然保持ARM的大多數(shù)性能上的優(yōu)勢(shì),它是ARM指令集的子集。27ARM7TDMI(-S)指令系統(tǒng)ARM指令集與Thumb指令集的關(guān)系Thumb指令集具有靈活、小巧的特點(diǎn)ARM指令集支持ARM核所有的特性,具有高效、快速的特點(diǎn)28ARM和Thumb狀態(tài)切換所有的ARM指令都是可以有條件執(zhí)行的,而Thumb指令僅有一條指令具備條件執(zhí)行功能。ARM程序和Thumb程序可相互調(diào)用,相互之間的狀態(tài)
12、切換開(kāi)銷(xiāo)幾乎為零。進(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)位為029V5版架構(gòu)是在V4版基礎(chǔ)上增加了一些新的指令,ARM10和Xscale都采用該版架構(gòu)。新增命令包括:帶鏈接和交換的轉(zhuǎn)移BLX指令;計(jì)數(shù)前導(dǎo)零CLZ指令;BRK中斷指令;2.2 ARM的版本及系列ARM體系結(jié)構(gòu)版本V30增加了數(shù)字信號(hào)處理指令(V5TE版);為協(xié)處理器增加更多可選擇的指令;改進(jìn)了ARM/Thumb狀態(tài)之間的切換效率;E增強(qiáng)型DSP指令集,包括全部算法操作和16位乘法操作;J支持新的JAVA,提供字節(jié)代碼執(zhí)行的硬件和優(yōu)化軟件加速功能。2.2 ARM的版本及系列ARM體系
13、結(jié)構(gòu)版本V31V6版架構(gòu)是2001年發(fā)布的,首先在2002年春季發(fā)布的ARM11處理器中使用。在降低耗電量的同時(shí),還強(qiáng)化了圖形處理性能。通過(guò)追加有效進(jìn)行多媒體處理的SIMD(Single Instruction,Multiple Data,單指令多數(shù)據(jù))功能,將語(yǔ)音及圖像的處理功能提高到原型機(jī)的4倍。2.2 ARM的版本及系列ARM體系結(jié)構(gòu)版本VI32此架構(gòu)在V5版基礎(chǔ)上增加了以下功能:ThumbTM:35%代碼壓縮;DSP擴(kuò)充:高性能定點(diǎn)DSP功能;JazelleTM:Java性能優(yōu)化,可提高8倍;Media擴(kuò)充:音/視頻性能優(yōu)化,可提高4倍。2.2 ARM的版本及系列ARM體系結(jié)構(gòu)版本VI
14、332.2 ARM的版本及系列ARM體系結(jié)構(gòu)版本ARM IARM IIARM IIIARM IVARM VARM VI34ARM公司開(kāi)發(fā)了很多系列的ARM處理器核,目前最新的系列已經(jīng)是ARM11。ARM7、ARM9、ARM9E和ARM10為4個(gè)通用處理器系列。每個(gè)系列提供一套相對(duì)獨(dú)特的性能來(lái)滿足不同應(yīng)用領(lǐng)域的需求。2.2 ARM的版本及系列ARM處理器系列35ARM7系列ARM9系列ARM9E系列ARM10E系列ARM11系列SecurCore系列Intel Xscale系列Intel StrongARM系列2.2 ARM的版本及系列ARM處理器系列36低功耗的32bitRISC處理器,馮諾依
15、曼體系結(jié)構(gòu)。極低的功耗,適合便攜式產(chǎn)品。具有嵌入式ICE-RT邏輯,調(diào)試開(kāi)發(fā)方便。能提供0.9MIPS的三級(jí)流水線結(jié)構(gòu);代碼密度高,兼容16位的Thumb指令集;廣泛支持操作系統(tǒng),包括Windows CE、Linux、Palm OS、VxWorks等;指令系統(tǒng)與ARM9系列、ARM9E系列和ARM10E系列兼容,便于用戶的產(chǎn)品升級(jí)換代;主頻最高可達(dá)130MIPS。2.2 ARM的版本及系列ARM處理器ARM7系列主要應(yīng)用于:工業(yè)控制、Internet設(shè)備、網(wǎng)絡(luò)和調(diào)制解調(diào)器設(shè)備、移動(dòng)電話等多種多媒體和嵌入式應(yīng)用。37包括六種類(lèi)型:ARM7TDMI、ARM7TDMI-S、 ARM710T、 ARM
16、720T、 ARM740T、 ARM7EJ;ARM7TDMI是目前最廣泛的32位嵌入式RISC處理器,屬低端ARM處理器核。2.2 ARM的版本及系列ARM處理器ARM7TDMI系列ARM7 T D M I - SARM7TDMI的可綜合(synthesizable)版本(軟核),對(duì)應(yīng)用工程師來(lái)說(shuō)其編程模型與ARM7TDMI一致;嵌入式Embedded-ICE,支持片上斷點(diǎn)和調(diào)試點(diǎn);支持64位乘法;支持片上調(diào)試Debug;支持高密度16位的壓縮Thumb指令集38ARM7的產(chǎn)品線。ARM7TDMI:同時(shí)具備四個(gè)模塊,當(dāng)然用戶也可選擇其中的幾個(gè)或一個(gè)。ARM7TDMI-S:軟件與ARM7TDMI
17、完全兼容,硬件預(yù)留功能擴(kuò)展口。ARM710T:ARM7TDMI+8K Cache+MMU,Cache:片內(nèi)緩存,提高CPU性能,MMU:內(nèi)存管理單元。ARM740T: ARM7TDMI+8K Cache+Protection Unit。ARM720T: ARM7TDMI+8K Cache+WinCE Support。2.2 ARM的版本及系列ARM處理器ARM7TDMI系列395級(jí)流水線;哈佛體系結(jié)構(gòu);支持32位ARM指令集和16位Thumb指令集。全性能的MMU,支持Windows CE、Linux、Palm OS等多種主流嵌入式操作系統(tǒng);支持?jǐn)?shù)據(jù)Cache和指令Cache,具有更高的指令和
18、數(shù)據(jù)處理能力。2.2 ARM的版本及系列ARM處理器ARM9系列主要應(yīng)用于:無(wú)線設(shè)備、儀器儀表、安全系統(tǒng)、機(jī)頂盒、高端打印機(jī)、數(shù)碼照相機(jī)和數(shù)碼攝像機(jī)。40支持DSP指令集;5級(jí)整數(shù)流水線,指令執(zhí)行效率更高;支持32位ARM指令集和16位Thumb指令集;支持VFP9浮點(diǎn)處理協(xié)處理器;全性能的MMU,支持Windows CE、Linux、Palm OS等多種主流嵌入式操作系統(tǒng);MPU支持實(shí)時(shí)操作系統(tǒng);支持?jǐn)?shù)據(jù)Cache和指令Cache;主頻最高可達(dá)300MIPS。2.2 ARM的版本及系列ARM處理器ARM9E系列主要應(yīng)用于:下一代無(wú)線設(shè)備、數(shù)字消費(fèi)品、成像設(shè)備、工業(yè)控制、存儲(chǔ)設(shè)備和網(wǎng)絡(luò)設(shè)備等領(lǐng)
19、域。41與同等的ARM9比較,在同樣的時(shí)鐘頻率下,性能提高了近50%,功耗極低;支持DSP指令集;6級(jí)整數(shù)流水線,指令執(zhí)行效率更高;支持32位ARM指令集和16位Thumb指令集。支持VFP10浮點(diǎn)處理協(xié)處理器。全性能的MMU,支持Windows CE、Linux、Palm OS等多種主流嵌入式操作系統(tǒng)。支持?jǐn)?shù)據(jù)Cache和指令Cache;主頻最高可達(dá)400MIPS;內(nèi)嵌并行讀/寫(xiě)操作部件。2.2 ARM的版本及系列ARM處理器ARM10E系列主要應(yīng)用于:下一代無(wú)線設(shè)備、數(shù)字消費(fèi)品、成像設(shè)備、工業(yè)控制、通信和信息系統(tǒng)等領(lǐng)域。42專為安全需要設(shè)計(jì),提供了完善的32位RISC技術(shù)的安全解決方案;靈
20、活的保護(hù)單元,以確保操作系統(tǒng)和應(yīng)用數(shù)據(jù)的安全。采用軟內(nèi)核技術(shù),防止外部對(duì)其進(jìn)行掃描探測(cè);可集成用戶自己的安全特性和其他協(xié)處理器。2.2 ARM的版本及系列ARM處理器SecurCore系列主要應(yīng)用于:對(duì)安全性要求較高的應(yīng)用產(chǎn)品及應(yīng)用系統(tǒng),如電子商務(wù)、電子政務(wù)、電子銀行業(yè)務(wù)、網(wǎng)絡(luò)和認(rèn)證系統(tǒng)等領(lǐng)域。432.2 ARM的版本及系列Intel StrongARM SA-1100系列微處理器是采用ARM體系結(jié)構(gòu)高度集成的32位RISC微處理器。融合Intel公司的設(shè)計(jì)和處理技術(shù)以及ARM體系結(jié)構(gòu)的電源效率,采用在軟件上兼容ARM V4,同時(shí)兼具Intel技術(shù)優(yōu)點(diǎn)。ARM處理器StrongARM系列主要應(yīng)
21、用于:便攜式通信產(chǎn)品和消費(fèi)類(lèi)電子產(chǎn)品。44基于ARMv5TE體系結(jié)構(gòu)的解決方案,是一款全性能、高性價(jià)比、低功耗的處理器;支持16位的Thumb指令和DSP指令集。2.2 ARM的版本及系列ARM處理器Xscale系列已使用在:數(shù)字移動(dòng)電話、個(gè)人數(shù)字助理和網(wǎng)絡(luò)產(chǎn)品等場(chǎng)合。452.2 ARM的版本及系列ARM系列總結(jié)46ARM7TDMI4T1支持Halfword 和signed halfword / byte 和System mode支持Thumb指令集24ARM9TDMIARM720TARM940T改良的ARM/Thumb 交互作用以及CLZ 指令5TESaturated mathsDSP mu
22、ltiply-accumulate instructionsXScaleARM1020EARM9E-SARM966E-S3早期的ARMsARM9EJ-S5TEJARM7EJ-SARM926EJ-SJazelle支持Java字節(jié)碼6ARM11SIMD2.2 ARM的版本及系列ARM版本及系列總結(jié)47ARM7 TDMI 內(nèi)核結(jié)構(gòu)基于精簡(jiǎn)指令集RISC結(jié)構(gòu),指令集和相關(guān)的譯碼機(jī)制相對(duì)簡(jiǎn)單結(jié)構(gòu)圖,書(shū)P32,圖2-7指令集包含11種基本類(lèi)型2種類(lèi)型:片上算術(shù)邏輯單元、桶式移位器和乘法器(在31個(gè)寄存器間執(zhí)行)3種類(lèi)型:指令控制數(shù)據(jù)(存儲(chǔ)器和寄存器之間)3種類(lèi)型:控制流程和特權(quán)級(jí)執(zhí)行3種類(lèi)型:控制外部的協(xié)
23、處理器4849SHARP公司的LH77790A芯片ARM7DI CPUCacheLCD控制器總線控制器PWM82C54計(jì)數(shù)器/定時(shí)器16C450 UART82C55可編程外圍接口CPU部分JTAG調(diào)試接口中斷/復(fù)位控制部分典型應(yīng)用:液晶顯示系統(tǒng)50SAMSUNG公司KS32C6200芯片ARM7TDMI內(nèi)核Cache(2K)CPU部分并口接口雙通道DMAUART/SIO中斷控制器典型應(yīng)用:網(wǎng)絡(luò)打印機(jī)可編程方波發(fā)生器存儲(chǔ)器控制器總線接口定時(shí)器看門(mén)狗定時(shí)器Derasterizer/shifter顯示屏51ATMEL公司的AT91芯片ARM7TDMI內(nèi)核ICE接口外部總線接口片內(nèi)存儲(chǔ)器典型應(yīng)用:工控
24、系統(tǒng)52CIRRUS公司的EP系列芯片ARM720T內(nèi)核控制電路DAI:數(shù)字音頻接口LCD控制器存儲(chǔ)器控制器DC-DC變換器(PWM)27位通用I/O動(dòng)態(tài)可編程時(shí)鐘其它控制電路典型應(yīng)用:音頻系統(tǒng)53帶Cache的ARM7TDMI ARM710T8K 統(tǒng)一的 cache 完整的內(nèi)存管理單元(mmu),支持虛擬地址和存儲(chǔ)器保護(hù)寫(xiě)緩沖ARM720T同ARM710T,但支持 WinCEARM740T8K 統(tǒng)一的 cache內(nèi)存管理單元寫(xiě)緩沖ARM7TDMI內(nèi)核地址地址數(shù)據(jù)讀AMBA接口寫(xiě)緩沖MMU數(shù)據(jù)寫(xiě)數(shù)據(jù)ARM7xxT控制邏輯CacheAMBA總線接口JTAG 和非 AMBA 信號(hào)CP1554高速緩
25、存(Cache)1、為什么采用高速緩存 微處理器的時(shí)鐘頻率比內(nèi)存速度提高快得多,高速緩存可以提高內(nèi)存的平均性能。2、高速緩存的工作原理 高速緩存是一種小型、快速的存儲(chǔ)器,它保存部分主存內(nèi)容的拷貝。 CPU高速緩存控制器CACHE主存數(shù)據(jù)數(shù)據(jù)地址55 2.3 ARM處理器結(jié)構(gòu)從以下四個(gè)方面介紹:ARM和Thumb狀態(tài) RISC技術(shù)流水線技術(shù)超標(biāo)量執(zhí)行 56取指令 3執(zhí)行指令 3二級(jí)流水串行執(zhí)行取指令 取指令單元 完成總有一個(gè)部件 空閑指令預(yù)取若 取指 和 執(zhí)行 階段時(shí)間上 完全重疊指令周期 減半 速度提高 1 倍執(zhí)行指令 執(zhí)行指令單元 完成取指令 1執(zhí)行指令 1取指令 2執(zhí)行指令 2取指令 3執(zhí)
26、行指令 3取指令 2執(zhí)行指令 2取指令 1執(zhí)行指令 12.3.3 流水線技術(shù)572.3.3 流水線技術(shù)流水線(Pipeline)技術(shù):幾個(gè)指令可以并行執(zhí)行 提高了CPU的運(yùn)行效率 內(nèi)部信息流要求通暢流動(dòng)譯碼取指執(zhí)行add譯碼取指執(zhí)行sub譯碼取指執(zhí)行mov時(shí)間AddSubmov流水線(pipeline)是 Intel首次在486芯片中開(kāi)始使用的。流水線的工作方式就象工業(yè)生產(chǎn)上的裝配流水線。58指令流水線為增加處理器指令流的速度,ARM7 系列使用3級(jí)流水線.允許多個(gè)操作同時(shí)處理,比逐條指令執(zhí)行要快。 PC指向正被取指的指令,而非正在執(zhí)行的指令FetchDecodeExecute從存儲(chǔ)器中讀取指
27、令解碼指令寄存器讀(從寄存器Bank)移位及ALU操作寄存器寫(xiě)(到寄存器Bank )PCPCPC - 4PC-2PC - 8PC - 4ARMThumb59 最佳流水線該例中用6個(gè)時(shí)鐘周期執(zhí)行了6條指令所有的操作都在寄存器中(單周期執(zhí)行)指令周期數(shù) (CPI) = 1 操作周期 1 2 3 45 6 ADD SUB MOV AND ORR EOR CMP RSBFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteDecodeExecuteFetchDecodeFetc
28、hFetch60 LDR 流水線舉例該例中,用6周期執(zhí)行了4條指令指令周期數(shù) (CPI) = 1.5 周期 操作123456 ADD SUB LDR MOV AND ORRFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteDataWritebackFetchDecodeExecuteFetchDecodeFetch61縮短程序執(zhí)行時(shí)間2.3.3 流水線技術(shù)ARM的流水線設(shè)計(jì)問(wèn)題:執(zhí)行一段程序所需時(shí)間;:執(zhí)行該段程序的指令條數(shù);:執(zhí)行每條指令的平均時(shí)鐘周期數(shù);:處理器的時(shí)鐘頻率。降低CPI提供時(shí)鐘頻率62解決流水線的相關(guān)問(wèn)題2.3.3 流
29、水線技術(shù)ARM的流水線設(shè)計(jì)問(wèn)題1)流水線結(jié)構(gòu)相關(guān)問(wèn)題:資源沖突導(dǎo)致對(duì)數(shù)據(jù)通路訪問(wèn)的沖突對(duì)寄存器訪問(wèn)的沖突措施:分離式指令Cache和數(shù)據(jù)CacheALU中采用獨(dú)立的加法器完成地址計(jì)算63解決流水線的相關(guān)問(wèn)題2.3.3 流水線技術(shù)ARM的流水線設(shè)計(jì)問(wèn)題2)流水線數(shù)據(jù)相關(guān)問(wèn)題:當(dāng)前指令需要之前指令執(zhí)行的結(jié)果,而之前指令均在流水線中重疊執(zhí)行。寫(xiě)后讀寫(xiě)后寫(xiě)讀后寫(xiě)措施:定向技術(shù):將之前指令運(yùn)算結(jié)果直接傳遞給后面需要的指令,不必寫(xiě)入寄存器。流水線互鎖技術(shù):通過(guò)編譯器及匯編程序員修改來(lái)減少管道互鎖的數(shù)量。64解決流水線的相關(guān)問(wèn)題2.3.3 流水線技術(shù)ARM的流水線設(shè)計(jì)問(wèn)題3)流水線控制相關(guān)問(wèn)題:流水線遇到分
30、支指令和其他會(huì)改變PC值的指令 暫停分支指令之后的所有指令,直到分支指令確定了新的PC值為止。措施:引入延時(shí)分支:直接跟在分支指令后面的指令被執(zhí)行,保證流水線處于滿的狀態(tài)。盡早計(jì)算分支轉(zhuǎn)移成功時(shí)的PC值:通過(guò)采用一個(gè)專用加法器計(jì)算分支的目標(biāo)地址。引入控制阻滯延時(shí) (分支損失)65InstructionFetch Shift + ALUMemoryAccessRegWriteRegReadRegDecodeFETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARM or ThumbInst DecodeReg SelectRegReadShiftALURegWriteThu
31、mbARMdecompressARM decodeInstructionFetchFETCHDECODEEXECUTEARM7TDMI三級(jí)流水線五級(jí)流水線2.3.3 指令流水線66指令取指 移位+ ALU寄存器寫(xiě)寄存器讀寄存器譯碼FETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARM 或 Thumb指令解碼ARM10指令地址 生成移位+ ALU數(shù)據(jù) Cache 接口寄存器寫(xiě)FETCHDECODEEXECUTEMEMORYWRITE寄存器讀+ 結(jié)果 前向遷移 + 記分板乘法乘 加協(xié)處理器 數(shù)據(jù)接口分支預(yù)測(cè)指令取指ISSUE寄存器訪問(wèn)數(shù)據(jù)+ 分支地址生成ARM 或 Thu
32、mb指令解碼協(xié)處理器 指令發(fā)出五級(jí)流水線2.3.3 指令流水線六級(jí)流水線67預(yù)?。‵etch)譯碼(Decode)執(zhí)行(Execute)預(yù)?。‵etch)譯碼(Decode)執(zhí)行(Execute)訪存(Memory)寫(xiě)入(Write)預(yù)?。‵etch)譯碼(Decode)發(fā)送(Issue)預(yù)?。‵etch)預(yù)?。‵etch)執(zhí)行(Execute)訪存(Memory)寫(xiě)入(Write)譯碼(Decode)發(fā)送(Issue)執(zhí)行(Execute)轉(zhuǎn)換(Snny)訪存(Memory)寫(xiě)入(Write)ARM7ARM9ARM10ARM11ARM的流水線技術(shù)682.3.4 超標(biāo)量執(zhí)行超標(biāo)量技術(shù):通過(guò)重復(fù)
33、設(shè)置多套指令執(zhí)行部件,同時(shí)處理并完成多條指令,實(shí)現(xiàn)并行操作來(lái)達(dá)到提高處理速度的目的??刂浦噶?寄存器指令單元指令單元指令2692.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ù)回寫(xiě)702.4 存儲(chǔ)系統(tǒng)機(jī)制軟件嵌入式處理器接口接口存儲(chǔ)器板級(jí)支持包嵌入式操作系統(tǒng)應(yīng)用程序輸入輸出硬 件軟 件存放程序和數(shù)據(jù)71ARM體系中的存儲(chǔ)空間2.4 .1ARM存儲(chǔ)系統(tǒng)ARM體系使用單一的平板地址空間。地址空間大小 個(gè)8位的字節(jié)。其單元地址為無(wú)符號(hào)的32位數(shù),范圍為0ARM體系的也可視為地址空間大小 個(gè)32位的字。其單
34、元地址為無(wú)符號(hào)的30位數(shù),范圍為0地址為A的字?jǐn)?shù)據(jù)包括A,A+1,A+2,A+3中的4字節(jié)內(nèi)容ARM體系的也可視為地址空間大小 個(gè)16位的半字。其單元地址為無(wú)符號(hào)的31位數(shù),范圍為0地址為A的字?jǐn)?shù)據(jù)包括A,A+1中的2字節(jié)內(nèi)容72ARM處理器支持一下6種數(shù)據(jù)類(lèi)型:2.4 .1ARM存儲(chǔ)系統(tǒng)8位有符號(hào)和無(wú)符號(hào)字節(jié);16位有符號(hào)和無(wú)符號(hào)半字;(2字節(jié)邊界對(duì)齊)32位有符號(hào)和無(wú)符號(hào)字;(4字節(jié)邊界對(duì)齊)ARM操作面向32位操作數(shù),以字為單位對(duì)齊;Thumb操作面向16位操作數(shù),以半字為單位對(duì)齊;73ARM體系結(jié)構(gòu)將存儲(chǔ)器看作是從零地址開(kāi)始的字節(jié)的線性組合。從零字節(jié)到三字節(jié)放置第一個(gè)存儲(chǔ)的字?jǐn)?shù)據(jù),從第
35、四個(gè)字節(jié)到第七個(gè)字節(jié)放置第二個(gè)存儲(chǔ)的字?jǐn)?shù)據(jù),依次排列。作為32位的微處理器,ARM體系結(jié)構(gòu)所支持的最大尋址空間為4GB(232字節(jié))。 ARM體系結(jié)構(gòu)的存儲(chǔ)器格式2.4.1 ARM存儲(chǔ)系統(tǒng)74ARM體系結(jié)構(gòu)可以用兩種方法存儲(chǔ)字?jǐn)?shù)據(jù),稱之為大端格式和小端格式。大端格式(big-endian):字?jǐn)?shù)據(jù)的高字節(jié)存儲(chǔ)在低地址中,而字?jǐn)?shù)據(jù)的低字節(jié)則存放在高地址中ARM體系結(jié)構(gòu)的存儲(chǔ)器格式(大端)2.4 .1ARM存儲(chǔ)系統(tǒng)75小端格式(little-endian):與大端存儲(chǔ)格式相反。低地址中存放的是字?jǐn)?shù)據(jù)的低字節(jié),高地址存放的是字?jǐn)?shù)據(jù)的高字節(jié)。2.4 .1ARM存儲(chǔ)系統(tǒng)ARM體系結(jié)構(gòu)的存儲(chǔ)器格式(小端)
36、76ARM 可以用 little/big endian 格式存取數(shù)據(jù). r0 = 0 x11223344STR r0, r1LDRB r2, r1r1 = 0 x00Memory3 2 1 0 0 1 2 3Byte Lane312423161587011223344312423161587044332211312423161587011223344312423161587000000044312423161587000000011Little endianBig endianR2 = 0 x44R2 = 0 x112.4 .1ARM存儲(chǔ)系統(tǒng)772.4.2高速緩沖存儲(chǔ)器cache能夠減少內(nèi)存平
37、均訪問(wèn)時(shí)間。Cache可以分為統(tǒng)一cache和獨(dú)立的數(shù)據(jù)程序cache。當(dāng)CPU更新了cache的內(nèi)容時(shí),要將結(jié)果寫(xiě)回到主存中,可以采用寫(xiě)通法(write-through)和寫(xiě)回法(write-back)。寫(xiě)通法是指CPU在執(zhí)行寫(xiě)操作時(shí),必須把數(shù)據(jù)同時(shí)寫(xiě)入cache和主存。采用寫(xiě)通法進(jìn)行數(shù)據(jù)更新的cache稱為寫(xiě)通cache。寫(xiě)回法是指CPU在執(zhí)行寫(xiě)操作時(shí),被寫(xiě)的數(shù)據(jù)只寫(xiě)入cache不寫(xiě)入主存。僅當(dāng)需要替換時(shí),才把已經(jīng)修改的cache塊寫(xiě)回到主存中。采用寫(xiě)回法進(jìn)行數(shù)據(jù)更新的cache稱為寫(xiě)回cache。78當(dāng)進(jìn)行數(shù)據(jù)寫(xiě)操作時(shí),cache分為兩類(lèi):讀操作分配cache和寫(xiě)操作分配cache 。對(duì)
38、于讀操作分配cache,當(dāng)進(jìn)行數(shù)據(jù)寫(xiě)操作時(shí),如果cache未命中,只是簡(jiǎn)單地將數(shù)據(jù)寫(xiě)入主存中。主要在數(shù)據(jù)讀取時(shí),才進(jìn)行cache內(nèi)容預(yù)取。對(duì)于寫(xiě)操作分配cache,當(dāng)進(jìn)行數(shù)據(jù)寫(xiě)操作時(shí),如果cache未命中,cache系統(tǒng)將會(huì)進(jìn)行cache內(nèi)容預(yù)取,從主存中將相應(yīng)的塊讀取到cache中相應(yīng)的位置,并執(zhí)行寫(xiě)操作,把數(shù)據(jù)寫(xiě)入到cache中。792.4.3存儲(chǔ)管理單元MMU(Memory Manage Unit, 存儲(chǔ)管理單元)在CPU和物理內(nèi)存之間進(jìn)行地址轉(zhuǎn)換,將地址從邏輯空間映射到物理空間,這個(gè)轉(zhuǎn)換過(guò)程一般稱為內(nèi)存映射。MMU主要完成以下工作:(1)虛擬存儲(chǔ)空間到物理存儲(chǔ)空間的映射。(2)存儲(chǔ)器訪
39、問(wèn)權(quán)限的控制。(3)設(shè)置虛擬存儲(chǔ)空間的緩沖的特性。802.4.4存儲(chǔ)器系統(tǒng)的層次結(jié)構(gòu)81在這種存儲(chǔ)器分層結(jié)構(gòu)中,上面一層的存儲(chǔ)器作為下一層存儲(chǔ)器的高速緩存。CPU寄存器就是cache的高速緩存,寄存器保存來(lái)自cache的字;cache又是內(nèi)存層的高速緩存,從內(nèi)存中提取數(shù)據(jù)送給CPU進(jìn)行處理,并將CPU的處理結(jié)果返回到內(nèi)存中;內(nèi)存又是主存儲(chǔ)器的高速緩存,它將經(jīng)常用到的數(shù)據(jù)從Flash等主存儲(chǔ)器中提取出來(lái),放到內(nèi)存中,從而加快了CPU的運(yùn)行效率。嵌入式系統(tǒng)的主存儲(chǔ)器容量是有限的,磁盤(pán)、光盤(pán)或CF、SD卡等外部存儲(chǔ)器用來(lái)保存大信息量的數(shù)據(jù)。在某些帶有分布式文件系統(tǒng)的嵌入式網(wǎng)絡(luò)系統(tǒng)中,外部存儲(chǔ)器就作為
40、其他系統(tǒng)中被存儲(chǔ)數(shù)據(jù)的高速緩存。821)按在系統(tǒng)中的地位分類(lèi)存儲(chǔ)器部件的幾種分類(lèi)主存儲(chǔ)器(Main Memory),(內(nèi)存、主存)輔助存儲(chǔ)器(Auxiliary Memory、Secondary Memory),(外存、輔存)CPU直接訪問(wèn)速度快,用于存放系統(tǒng)軟件、參數(shù)以及當(dāng)前要運(yùn)行的應(yīng)用軟件和數(shù)據(jù)、系統(tǒng)軟件的部分軟件。速度慢,存放全部應(yīng)用軟件及剩余系統(tǒng)軟件。通過(guò)專門(mén)設(shè)備將數(shù)據(jù)先置于內(nèi)存832)按信息存取方式分類(lèi)2.4 存儲(chǔ)系統(tǒng)機(jī)制存儲(chǔ)器部件的幾種分類(lèi)隨機(jī)存取存儲(chǔ)器RAM只讀存儲(chǔ)器ROMRandomly Access MemoryRead Only Memory掩膜式ROM可編程只讀存儲(chǔ)器PROM可改寫(xiě)的只讀存儲(chǔ)器EPROM靜態(tài)RAM動(dòng)態(tài)RAM準(zhǔn)靜態(tài)RAM按功能分按信息存儲(chǔ)的方式分842.4 存儲(chǔ)系統(tǒng)機(jī)制Flash ROMMX 29 LV 040 C T C 70 GOptions: G: Lead-free package R: Restricted VCC(3.0V3.6V) Q: Restricted VCC(3.0V3.6V) with Lead-free package Sp
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年美術(shù)活動(dòng)春雨標(biāo)準(zhǔn)教案反思
- 提升教學(xué)質(zhì)量的年度目標(biāo)計(jì)劃
- 《貴州眾一金彩黔礦業(yè)有限公司織金縣官寨鄉(xiāng)明源煤礦(變更)礦產(chǎn)資源綠色開(kāi)發(fā)利用方案(三合一)》評(píng)審意見(jiàn)
- 渠道管理-渠道中的行為
- 2025年駐馬店貨運(yùn)資格證考題
- 2025年黃石貨運(yùn)從業(yè)資格證考試模擬考試題庫(kù)
- 2025年阿克蘇b2貨運(yùn)上崗證模擬考試
- 2025年盤(pán)錦貨運(yùn)資格證模擬考試卷
- 2025年安徽貨運(yùn)從業(yè)考試試題及答案大全
- 美食產(chǎn)品知識(shí)培訓(xùn)課件
- 中國(guó)傳媒大學(xué)-廣告媒體策劃與應(yīng)用(第2版)-課件
- 玻璃工藝學(xué)第4章 玻璃的性質(zhì)
- 四川省藥械集中采購(gòu)及醫(yī)藥價(jià)格監(jiān)測(cè)平臺(tái)操作指引
- 精品市政道路施工測(cè)量方法及測(cè)量方案
- 室內(nèi)采暖管道安裝施工工藝標(biāo)準(zhǔn)規(guī)范標(biāo)準(zhǔn)
- 小型手推清掃車(chē)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)課件
- 監(jiān)理大綱(范本)
- 受拉鋼筋抗震錨固長(zhǎng)度Lae
- 2018年湖北省襄陽(yáng)市中考物理試卷
- 《沉淀滴定法》PPT課件.ppt
- 波程差與光程差
評(píng)論
0/150
提交評(píng)論