第02講嵌入式處理器結(jié)構(gòu)與技術(shù)_第1頁
第02講嵌入式處理器結(jié)構(gòu)與技術(shù)_第2頁
第02講嵌入式處理器結(jié)構(gòu)與技術(shù)_第3頁
第02講嵌入式處理器結(jié)構(gòu)與技術(shù)_第4頁
第02講嵌入式處理器結(jié)構(gòu)與技術(shù)_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、朱光明朱光明西安電子科技大學(xué)軟件學(xué)院西安電子科技大學(xué)軟件學(xué)院嵌入式系統(tǒng)硬件組成嵌入式系統(tǒng)硬件組成嵌入式處理器和硬件系統(tǒng)關(guān)鍵嵌入式處理器和硬件系統(tǒng)關(guān)鍵西安電子科技大學(xué)軟件學(xué)院2西安電子科技大學(xué)軟件學(xué)院3西安電子科技大學(xué)軟件學(xué)院42022-3-22嵌入式處理器嵌入式處理器存儲(chǔ)器存儲(chǔ)器輸入設(shè)備輸入設(shè)備輸出設(shè)備輸出設(shè)備外圍接口外圍接口軟件軟件硬件單元硬件單元典型嵌入式系統(tǒng)基本組成硬件典型嵌入式系統(tǒng)基本組成硬件西安電子科技大學(xué)軟件學(xué)院5最小硬件系統(tǒng)最小硬件系統(tǒng)用最少的元件組成的可以工作的系統(tǒng)用最少的元件組成的可以工作的系統(tǒng)西安電子科技大學(xué)軟件學(xué)院6用于桌面和服務(wù)器的微處理器的芯片內(nèi)部通常用于桌面和服務(wù)器

2、的微處理器的芯片內(nèi)部通常只包括只包括CPUCPU核心、核心、CacheCache、MMUMMU、總線接口等部分、總線接口等部分,其他附加的功能,其他附加的功能如外部接口、系統(tǒng)總線、外部總線和外部設(shè)備獨(dú)立在其他如外部接口、系統(tǒng)總線、外部總線和外部設(shè)備獨(dú)立在其他芯片和電路內(nèi)。芯片和電路內(nèi)。 嵌入式微處理器除了集成嵌入式微處理器除了集成CPUCPU核心、核心、CacheCache、MMUMMU、總線、總線等部分外,還集成了各種外部接口和設(shè)備,如等部分外,還集成了各種外部接口和設(shè)備,如中斷控制器中斷控制器、DMADMA、定時(shí)器、定時(shí)器、UARTUART等。等。( (符合嵌入式系統(tǒng)的低成本和低功符合嵌入

3、式系統(tǒng)的低成本和低功耗需求耗需求,一塊單一的集成了大多數(shù)需要的功能塊的芯片,一塊單一的集成了大多數(shù)需要的功能塊的芯片價(jià)格更低價(jià)格更低,功功耗更少耗更少) )單芯片方式單芯片方式(Single Chip) (Single Chip) 芯片組方式芯片組方式(Chip Set)(Chip Set):由微處理器主芯片和一些從芯片組成:由微處理器主芯片和一些從芯片組成嵌入式微處理器是面向應(yīng)用嵌入式微處理器是面向應(yīng)用的,其片內(nèi)所包含的的,其片內(nèi)所包含的組件的組件的數(shù)目和種類數(shù)目和種類是由它的是由它的市場(chǎng)定市場(chǎng)定位位決定的。決定的。西安電子科技大學(xué)軟件學(xué)院7在最普通的情況下,嵌入式微處理器包括:在最普通的情

4、況下,嵌入式微處理器包括:q片內(nèi)存儲(chǔ)器:部分嵌入式微處理器q外部存儲(chǔ)器的控制器,外設(shè)接口(串口,并口)qLCD控制器:面向終端類應(yīng)用的嵌入式微處理器q中斷控制器,DMA控制器,協(xié)處理器q定時(shí)器,A/D、D/A轉(zhuǎn)換器q多媒體加速器:當(dāng)高級(jí)圖形功能需要時(shí)q總線q其他標(biāo)準(zhǔn)接口或外設(shè)西安電子科技大學(xué)軟件學(xué)院8嵌入式外圍設(shè)備嵌入式外圍設(shè)備:在嵌入式系統(tǒng)硬件構(gòu)成中:在嵌入式系統(tǒng)硬件構(gòu)成中,除核心控制部件以外的各種,除核心控制部件以外的各種存儲(chǔ)器、輸入存儲(chǔ)器、輸入/ /輸出接口、輸出接口、作為人機(jī)接口的作為人機(jī)接口的顯示器顯示器/ /鍵盤、串鍵盤、串行通信接口等行通信接口等。根據(jù)外圍設(shè)備的功能,可分為以下5

5、類: v存儲(chǔ)器v通信接口v輸入輸出設(shè)備v設(shè)備擴(kuò)展接口v電源及輔助設(shè)備西安電子科技大學(xué)軟件學(xué)院9嵌入式嵌入式處理器處理器可編程可編程邏輯器件邏輯器件大容量大容量存儲(chǔ)器存儲(chǔ)器電源模塊電源模塊解決方案解決方案嵌入式系統(tǒng)周邊元器件嵌入式系統(tǒng)周邊元器件嵌入式系統(tǒng)必備接插件嵌入式系統(tǒng)必備接插件PowerPC PowerPC 微處理器微處理器ARMARM微處理器微處理器DSPDSP微處理器微處理器VirtexII Platform FPGA VirtexII Platform FPGA VirtexVirtex(E E)系列)系列 FPGAFPGASpartanSpartan(XLXL)系列)系列FPGAF

6、PGASpartanIISpartanII(E E)系列)系列FPGAFPGAXC95(XL)XC95(XL)系列系列 CPLDCPLDCoolRunnerCoolRunner系列系列 CPLDCPLD嵌入式系統(tǒng)構(gòu)成嵌入式系統(tǒng)構(gòu)成XilinxXilinxTI & Freescale & HuaweiTI & Freescale & HuaweiTI Power TrendTI Power Trend嵌入式電源方案嵌入式電源方案美國(guó)美國(guó)ERICSSONERICSSON電源模塊電源模塊日本日本COSELCOSEL電源模塊電源模塊美國(guó)美國(guó)VICORVICOR電源模塊電

7、源模塊法國(guó)法國(guó)GAIAGAIA軍用電源軍用電源懷特電子高可靠性存儲(chǔ)器系列懷特電子高可靠性存儲(chǔ)器系列IDTIDT公司公司FIFOFIFO及雙口及雙口RAMRAMCypressCypress公司高速公司高速SRAMSRAM系列系列現(xiàn)代電子公司現(xiàn)代電子公司SDRAMSDRAM系列系列IntelIntel公司公司 大容量大容量FlashFlash系列系列AMPAMP公司接插件系列公司接插件系列AIAI公司公司PCBPCB插座系列插座系列AMP & AIAMP & AI嵌入式系統(tǒng)硬件嵌入式系統(tǒng)硬件西安電子科技大學(xué)軟件學(xué)院10西安電子科技大學(xué)軟件學(xué)院11馮馮諾依曼體系結(jié)構(gòu)諾依曼體系結(jié)構(gòu)/

8、/哈佛體系結(jié)構(gòu)哈佛體系結(jié)構(gòu)CISC/RISCCISC/RISC流水線流水線超標(biāo)量及并行超標(biāo)量及并行CacheCache總線及總線橋總線及總線橋 馮馮諾依曼體系結(jié)構(gòu)模型諾依曼體系結(jié)構(gòu)模型馮馮諾依曼體系的特點(diǎn):諾依曼體系的特點(diǎn):l數(shù)據(jù)與指令都存儲(chǔ)在同一數(shù)據(jù)與指令都存儲(chǔ)在同一存儲(chǔ)空間中存儲(chǔ)空間中l(wèi)統(tǒng)一編址,指令和數(shù)據(jù)通統(tǒng)一編址,指令和數(shù)據(jù)通過同一總線訪問過同一總線訪問l被大多數(shù)計(jì)算機(jī)所采用被大多數(shù)計(jì)算機(jī)所采用ARM7ARM7馮諾依曼體系馮諾依曼體系指令寄存器指令寄存器控制器控制器數(shù)據(jù)通道數(shù)據(jù)通道輸入輸入輸出輸出中央處理器中央處理器存儲(chǔ)器空間存儲(chǔ)器空間程序程序指令指令0 0指令指令1 1指令指令2 2

9、指令指令3 3指令指令4 4數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)0 0數(shù)據(jù)數(shù)據(jù)1 1數(shù)據(jù)數(shù)據(jù)2 2地址地址指令指令地址地址數(shù)據(jù)數(shù)據(jù)缺點(diǎn)缺點(diǎn): 取指令和存取數(shù)據(jù)要從同一個(gè)存儲(chǔ)空間存取,經(jīng)由同一總線取指令和存取數(shù)據(jù)要從同一個(gè)存儲(chǔ)空間存取,經(jīng)由同一總線傳輸,因而它們無法重疊執(zhí)行傳輸,因而它們無法重疊執(zhí)行西安電子科技大學(xué)軟件學(xué)院13 哈佛體系結(jié)構(gòu)哈佛體系結(jié)構(gòu)指令寄存器指令寄存器控制器控制器數(shù)據(jù)通道數(shù)據(jù)通道輸入輸入輸出輸出中央處理器中央處理器程序存儲(chǔ)器空間程序存儲(chǔ)器空間指令指令0 0指令指令1 1指令指令2 2數(shù)據(jù)存儲(chǔ)器空間數(shù)據(jù)存儲(chǔ)器空間數(shù)據(jù)數(shù)據(jù)0 0數(shù)據(jù)數(shù)據(jù)1 1數(shù)據(jù)數(shù)據(jù)2 2地址地址指令指令地址地址數(shù)據(jù)數(shù)據(jù) 哈佛體系結(jié)

10、構(gòu)的特點(diǎn):哈佛體系結(jié)構(gòu)的特點(diǎn):l 程序與數(shù)據(jù)在不同存儲(chǔ)程序與數(shù)據(jù)在不同存儲(chǔ)空間;每個(gè)存儲(chǔ)器獨(dú)立編空間;每個(gè)存儲(chǔ)器獨(dú)立編址、獨(dú)立訪問址、獨(dú)立訪問l 使用程序和數(shù)據(jù)總線,使用程序和數(shù)據(jù)總線,使數(shù)據(jù)吞吐率提高一倍使數(shù)據(jù)吞吐率提高一倍l 適合于數(shù)字信號(hào)處理適合于數(shù)字信號(hào)處理大多數(shù)大多數(shù)DSPDSP都是哈佛結(jié)構(gòu)都是哈佛結(jié)構(gòu)ARM9ARM9是哈佛結(jié)構(gòu)是哈佛結(jié)構(gòu)19441944年,哈佛大學(xué)的年,哈佛大學(xué)的Howard AikenHoward Aiken發(fā)明了發(fā)明了Harvard MarkHarvard Mark系列計(jì)算機(jī),并且在其中采系列計(jì)算機(jī),并且在其中采用了用了分開的分開的指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,這就是

11、后來著名的指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,這就是后來著名的“哈佛結(jié)構(gòu)哈佛結(jié)構(gòu)”由于取指令和存取數(shù)據(jù)分別經(jīng)由不同的存儲(chǔ)空間和不同的總線,使得各條指令由于取指令和存取數(shù)據(jù)分別經(jīng)由不同的存儲(chǔ)空間和不同的總線,使得各條指令可以重疊執(zhí)行,這樣,也就克服了數(shù)據(jù)流傳輸?shù)钠款i,提高了運(yùn)算速度??梢灾丿B執(zhí)行,這樣,也就克服了數(shù)據(jù)流傳輸?shù)钠款i,提高了運(yùn)算速度。西安電子科技大學(xué)軟件學(xué)院14ARM9/11ARM9/11、DSPDSP等最新系列的處理器單獨(dú)等最新系列的處理器單獨(dú)劃分程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器了么?劃分程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器了么? 哈佛結(jié)構(gòu)中數(shù)據(jù)存儲(chǔ)器與程序存儲(chǔ)器分開,需要CPU提供大量的數(shù)據(jù)總線,因而很少使用哈佛結(jié)

12、構(gòu)作為CPU外部構(gòu)架。 對(duì)于CPU內(nèi)部,通過使用不同的數(shù)據(jù)和指令Cache,可以有效的提高指令執(zhí)行的效率。 因而目前大部分計(jì)算機(jī)體系都是在CPU內(nèi)部的使用哈佛結(jié)構(gòu),在CPU外部使用馮諾依曼結(jié)構(gòu)。西安電子科技大學(xué)軟件學(xué)院15CISCCISC和和RISCRISCCISCCISC:復(fù)雜指令集(:復(fù)雜指令集(Complex Instruction Set ComputerComplex Instruction Set Computer)具有大量的指令和尋址方式具有大量的指令和尋址方式8/28/2原則原則:80%80%的程序只使用的程序只使用20%20%的指令的指令大多數(shù)程序只使用少量的指令就能夠運(yùn)行。

13、大多數(shù)程序只使用少量的指令就能夠運(yùn)行。RISCRISC:精簡(jiǎn)指令集(:精簡(jiǎn)指令集(Reduced Instruction Set Computer)Reduced Instruction Set Computer)在通道中只包含最有用的指令在通道中只包含最有用的指令確保數(shù)據(jù)通道快速執(zhí)行每一條指令確保數(shù)據(jù)通道快速執(zhí)行每一條指令使使CPUCPU硬件結(jié)構(gòu)設(shè)計(jì)變得更為簡(jiǎn)單硬件結(jié)構(gòu)設(shè)計(jì)變得更為簡(jiǎn)單傳統(tǒng)的傳統(tǒng)的CISCCISC指令集隨著計(jì)算機(jī)的發(fā)展引入了各種各樣的復(fù)雜指令,使得指令集和指令集隨著計(jì)算機(jī)的發(fā)展引入了各種各樣的復(fù)雜指令,使得指令集和為此要實(shí)現(xiàn)這些指令的計(jì)算機(jī)體系結(jié)構(gòu)越來越復(fù)雜,已經(jīng)不堪重負(fù)。為

14、此要實(shí)現(xiàn)這些指令的計(jì)算機(jī)體系結(jié)構(gòu)越來越復(fù)雜,已經(jīng)不堪重負(fù)。指令規(guī)整、對(duì)稱、簡(jiǎn)單,指令小于指令規(guī)整、對(duì)稱、簡(jiǎn)單,指令小于100100條,基本尋址方式只有條,基本尋址方式只有2 23 3種種單周期指令,便于流水操作單周期指令,便于流水操作大量的寄存器(不少于大量的寄存器(不少于3232個(gè))個(gè))西安電子科技大學(xué)軟件學(xué)院16IFIDALUMEMREG微操作通道開始退出IFIDREGALUMEM開始退出單通數(shù)據(jù)通道CISCCISC的數(shù)據(jù)通道的數(shù)據(jù)通道RISCRISC的數(shù)據(jù)通道的數(shù)據(jù)通道RISCRISC和和CISCCISC的差異的差異RISCCISC指令系統(tǒng)由常用指令組成,使其簡(jiǎn)單高效。對(duì)不常用功能采用組

15、合指令來實(shí)現(xiàn)。實(shí)現(xiàn)特殊功能采用流水線和超標(biāo)量技術(shù)來彌補(bǔ)效率的劣勢(shì)。指令系統(tǒng)豐富,有專用指令來完成特定功能,處理特殊任務(wù)效率高存儲(chǔ)器操作對(duì)存儲(chǔ)器操作有限制,對(duì)控制簡(jiǎn)單化存儲(chǔ)器操作指令多,操作直接程序匯編程序需要較大的內(nèi)存空間,實(shí)現(xiàn)特殊功能時(shí)程序復(fù)雜匯編程序相對(duì)簡(jiǎn)單,科學(xué)計(jì)算及復(fù)雜操作的程序設(shè)計(jì)容易,效率較高中斷在一條指令執(zhí)行的適當(dāng)?shù)胤娇梢灾袛嘀荒茉谝粭l執(zhí)行結(jié)束后響應(yīng)中斷RISCRISC和和CISCCISC的差異的差異( (續(xù)續(xù)) )RISCCISCCPU包含較少的單元電路,面積小、功耗低包含豐富的電路單元,功能強(qiáng)、面積大、功耗高設(shè)計(jì)周期結(jié)構(gòu)簡(jiǎn)單,布局緊湊,設(shè)計(jì)周期短,易于采用新技術(shù)結(jié)構(gòu)復(fù)雜,設(shè)計(jì)

16、周期長(zhǎng)用戶使用結(jié)構(gòu)簡(jiǎn)單,指令規(guī)整,性能容易把握,易學(xué)易用結(jié)構(gòu)復(fù)雜,功能強(qiáng)大,實(shí)現(xiàn)特殊功能容易應(yīng)用范圍由于指令系統(tǒng)的確定與特定領(lǐng)域相關(guān),故更適合于專用機(jī)更適合通用機(jī)RISCRISC和和CISCCISC的界限開始模糊的界限開始模糊q盡管RISC架構(gòu)有不少優(yōu)點(diǎn),但決不能認(rèn)為RISC架構(gòu)就可以取代CISC架構(gòu),事實(shí)上,RISC和CISC各有優(yōu)勢(shì),而且界限并不那么明顯。q現(xiàn)代的CPU往往采用CISC的外圍,內(nèi)部加入了RISC的特性,如超長(zhǎng)指令集(VLSW)CPU就是融合了RISC和CISC的優(yōu)勢(shì),成為未來的CPU發(fā)展方向之一。西安電子科技大學(xué)軟件學(xué)院20流水線技術(shù)流水線技術(shù):幾個(gè)指令可以并行執(zhí)行(:幾個(gè)

17、指令可以并行執(zhí)行(使指令的執(zhí)行速度或數(shù)據(jù)的處理速度更快,克服早期計(jì)算機(jī)指令執(zhí)行和數(shù)據(jù)處理串行進(jìn)行產(chǎn)生的處理器閑置時(shí)間的弊端) 提高了提高了CPUCPU的運(yùn)行效率的運(yùn)行效率 內(nèi)部信息流要求通暢流動(dòng)內(nèi)部信息流要求通暢流動(dòng)取指取指分析分析執(zhí)行執(zhí)行譯碼取指執(zhí)行add譯碼取指執(zhí)行sub譯碼取指執(zhí)行cmp時(shí)間AddSubCmpt t2 2t t3 3t t4 4t t5 5t t流水線流水線:在:在CPUCPU中把一條指令分解成多個(gè)可單獨(dú)處理的操作,使每個(gè)操作在一中把一條指令分解成多個(gè)可單獨(dú)處理的操作,使每個(gè)操作在一個(gè)專門的硬件站(個(gè)專門的硬件站(stagestage)上執(zhí)行,這樣一條指令需要順序地經(jīng)過流

18、水線中多個(gè)上執(zhí)行,這樣一條指令需要順序地經(jīng)過流水線中多個(gè)站的處理才能完成,但是前后相連的幾條指令可以依次流入流水線中,在多個(gè)站的處理才能完成,但是前后相連的幾條指令可以依次流入流水線中,在多個(gè)站間重疊執(zhí)行,因此可以實(shí)現(xiàn)指令的并行處理。站間重疊執(zhí)行,因此可以實(shí)現(xiàn)指令的并行處理。流水線流水線21 流水線能夠正常工作的條件:任意時(shí)刻,每一級(jí)所使用的流水線能夠正常工作的條件:任意時(shí)刻,每一級(jí)所使用的硬件必須能獨(dú)立操作,不能多級(jí)同時(shí)占用同一硬件資源。硬件必須能獨(dú)立操作,不能多級(jí)同時(shí)占用同一硬件資源。 在正常情況下,每條指令都被劃分成這樣在正常情況下,每條指令都被劃分成這樣3 3個(gè)時(shí)鐘周期來個(gè)時(shí)鐘周期來完

19、成,即指令執(zhí)行時(shí)間(完成,即指令執(zhí)行時(shí)間(LatencyLatency)是)是3 3周期。周期。 流水線的執(zhí)行使得程序計(jì)數(shù)器流水線的執(zhí)行使得程序計(jì)數(shù)器PCPC必須在當(dāng)前指令取指前計(jì)必須在當(dāng)前指令取指前計(jì)數(shù)。對(duì)于數(shù)。對(duì)于ARMARM處理器的處理器的3 3級(jí)流水線,以當(dāng)前級(jí)流水線,以當(dāng)前PCPC取指后,取指后,PCPC值值會(huì)增加為會(huì)增加為PCPC4 4。 22為增加處理器指令流的速度,為增加處理器指令流的速度,ARM7 ARM7 系列使用系列使用3 3級(jí)流水線級(jí)流水線 允許多個(gè)操作同時(shí)處理,比逐條指令執(zhí)行要快。FetchFetchDecodeDecodeExecuteExecute從存儲(chǔ)器中讀取指

20、令從存儲(chǔ)器中讀取指令解碼指令中用到的寄存器解碼指令中用到的寄存器寄存器讀(從寄存器寄存器讀(從寄存器BankBank)移位及移位及ALUALU操作操作寄存器寫(到寄存器寄存器寫(到寄存器Bank Bank )PCPCPCPCPC - 4PC - 4PC-2PC-2PC - 8PC - 8PC - 4PC - 4ARMARMThumbThumbPCPC指向正被取指的指令,而非正在執(zhí)行的指令。指向正被取指的指令,而非正在執(zhí)行的指令。23該例中用該例中用6 6個(gè)時(shí)鐘周期執(zhí)行了個(gè)時(shí)鐘周期執(zhí)行了6 6條指令。條指令。所有的操作都在寄存器中(單周期執(zhí)行)。所有的操作都在寄存器中(單周期執(zhí)行)。指令周期數(shù)指

21、令周期數(shù) (CPI) = 1(CPI) = 1。 操作操作周期周期 1 1 2 2 3 3 4 45 65 6 ADD ADD SUB SUB MOV MOV AND AND ORR ORR EOR EOR CMP CMP RSB RSBFetchFetchDecodeDecode。FetchFetchExecuteExecuteDecodeDecodeFetchFetchExecuteExecuteDecodeDecodeFetchFetchExecuteExecuteDecodeDecodeFetchFetchFetchFetchExecuteExecuteDecodeDecodeExec

22、uteExecuteDecodeDecodeFetchFetchExecuteExecuteDecodeDecodeFetchFetch 早期的早期的MIPSMIPS、ARM9ARM9等處理器使用這種流水線,以后的處理器也等處理器使用這種流水線,以后的處理器也都能看到它的影子,包括都能看到它的影子,包括x86x86處理器等。處理器等。執(zhí)行1取指指令譯碼2譯碼1執(zhí)行2執(zhí)行1取指譯碼2譯碼1執(zhí)行2流水線1流水線2數(shù)據(jù)回寫超標(biāo)量超標(biāo)量:配置多個(gè)執(zhí)行部件和指令譯碼電路,能同時(shí)執(zhí)行多條指令。:配置多個(gè)執(zhí)行部件和指令譯碼電路,能同時(shí)執(zhí)行多條指令。超標(biāo)量執(zhí)行超標(biāo)量執(zhí)行:超標(biāo)量:超標(biāo)量CPUCPU采用多條流水

23、線結(jié)構(gòu)。采用多條流水線結(jié)構(gòu)。借助硬件資源重復(fù)(例如有兩套譯碼器和ALU等)來實(shí)現(xiàn)空間的并行操作Superscalar超標(biāo)量超標(biāo)量VLIW超長(zhǎng)指令字超長(zhǎng)指令字321 1、為什么采用高速緩存、為什么采用高速緩存 微處理器的時(shí)鐘頻率比內(nèi)存速度提高快得多,高速緩存微處理器的時(shí)鐘頻率比內(nèi)存速度提高快得多,高速緩存可以提高內(nèi)存的平均性能??梢蕴岣邇?nèi)存的平均性能。2 2、高速緩存的工作原理、高速緩存的工作原理 依據(jù)依據(jù):程序和數(shù)據(jù)訪問的:程序和數(shù)據(jù)訪問的局部性原理局部性原理。 高速緩存是一種小型、快速的存儲(chǔ)器,它保存部分主存內(nèi)高速緩存是一種小型、快速的存儲(chǔ)器,它保存部分主存內(nèi)容的拷貝。容的拷貝。CPU高速緩

24、存控制器CACHE主存數(shù)據(jù)數(shù)據(jù)地址CacheCache的設(shè)計(jì)思想的設(shè)計(jì)思想:把在一段時(shí)間內(nèi)、一定地址范圍中被頻繁訪問的信息集把在一段時(shí)間內(nèi)、一定地址范圍中被頻繁訪問的信息集合,合,成批地成批地從主存中讀到一個(gè)能從主存中讀到一個(gè)能高速存取的小容量存儲(chǔ)器高速存取的小容量存儲(chǔ)器中存放起來中存放起來, ,供程序供程序在這段時(shí)間內(nèi)隨時(shí)使用,從而減少或不再去訪問速度較慢的主存,以加快程在這段時(shí)間內(nèi)隨時(shí)使用,從而減少或不再去訪問速度較慢的主存,以加快程序的運(yùn)行速度。序的運(yùn)行速度。西安電子科技大學(xué)軟件學(xué)院33 以以CPUCPU為核心看,將為核心看,將CPUCPU直接參與直接參與的事件稱為的事件稱為同步事件同步

25、事件,CPUCPU未直接未直接參與的稱為參與的稱為異步事件異步事件。 CacheCache的操作都是同步的的操作都是同步的,但是如,但是如果在寫一個(gè)外部設(shè)備的驅(qū)動(dòng)時(shí)為了果在寫一個(gè)外部設(shè)備的驅(qū)動(dòng)時(shí)為了減少減少CPUCPU的參與的參與, ,用用DMADMA來搬移數(shù)來搬移數(shù)據(jù),那么據(jù),那么DMADMA搬移數(shù)據(jù)是異步事件搬移數(shù)據(jù)是異步事件。 當(dāng)當(dāng)CPUCPU要對(duì)新的數(shù)據(jù)操作時(shí),因?yàn)榇送獠吭O(shè)備的數(shù)據(jù)被存放在從要對(duì)新的數(shù)據(jù)操作時(shí),因?yàn)榇送獠吭O(shè)備的數(shù)據(jù)被存放在從0 x000000000 x00000000開始的開始的RAMRAM中,而此段數(shù)據(jù)又恰好被中,而此段數(shù)據(jù)又恰好被cachecache命中,那么命中,

26、那么CPUCPU將直接訪問將直接訪問cachecache中的數(shù)據(jù),可是中的數(shù)據(jù),可是cachecache中的數(shù)據(jù)并非剛剛得到的新數(shù)據(jù)。中的數(shù)據(jù)并非剛剛得到的新數(shù)據(jù)。CPUCPU并不知道此時(shí)并不知道此時(shí)cachecache中的數(shù)據(jù)已經(jīng)過時(shí)。中的數(shù)據(jù)已經(jīng)過時(shí)。CACHECACHE刷新與回寫刷新與回寫 現(xiàn)假定外部設(shè)備有新的數(shù)據(jù)到來并發(fā)生了中斷,現(xiàn)假定外部設(shè)備有新的數(shù)據(jù)到來并發(fā)生了中斷,CPUCPU在設(shè)定完在設(shè)定完DMADMA控制器后繼續(xù)其工作,控制器后繼續(xù)其工作,DMADMA根據(jù)設(shè)定將根據(jù)設(shè)定將1M1M的新數(shù)據(jù)裝入的新數(shù)據(jù)裝入RAMRAM中并通知中并通知CPUCPU新的數(shù)據(jù)到了。新的數(shù)據(jù)到了。( (

27、此時(shí),出現(xiàn)數(shù)據(jù)不一致此時(shí),出現(xiàn)數(shù)據(jù)不一致) )在在CPUCPU訪問異步事件控制的數(shù)據(jù)訪問異步事件控制的數(shù)據(jù)前前一定要強(qiáng)行刷新一定要強(qiáng)行刷新CacheCache中的內(nèi)容中的內(nèi)容;反;反 之,之,從內(nèi)存到外部設(shè)備搬移數(shù)據(jù)前一定要回寫內(nèi)存從內(nèi)存到外部設(shè)備搬移數(shù)據(jù)前一定要回寫內(nèi)存。一般一般CPUCPU都提供了都提供了CacheCache的刷新和回寫機(jī)制,甚至有的的刷新和回寫機(jī)制,甚至有的CPUCPU還有還有CacheCache保護(hù)(即強(qiáng)制其保護(hù)(即強(qiáng)制其不要對(duì)某一范圍內(nèi)的內(nèi)存使用不要對(duì)某一范圍內(nèi)的內(nèi)存使用CacheCache機(jī)制)。機(jī)制)。 寄存器寄存器 Cache Cache 主存主存 輔存輔存CP

28、UCPU內(nèi)部高速內(nèi)部高速電子線路電子線路( (如如觸發(fā)器觸發(fā)器) )一級(jí):在一級(jí):在CPUCPU內(nèi)部?jī)?nèi)部二級(jí):在二級(jí):在CPUCPU外部外部 一般為靜態(tài)隨一般為靜態(tài)隨機(jī)存儲(chǔ)器機(jī)存儲(chǔ)器SRAMSRAM。一般為半導(dǎo)體存儲(chǔ)器,也稱為短期存一般為半導(dǎo)體存儲(chǔ)器,也稱為短期存儲(chǔ)器;解決讀寫儲(chǔ)器;解決讀寫速度速度問題;問題;包括磁盤(中期存儲(chǔ)包括磁盤(中期存儲(chǔ)器)、磁帶、光盤器)、磁帶、光盤(長(zhǎng)期存儲(chǔ))等;(長(zhǎng)期存儲(chǔ))等; 解決存儲(chǔ)解決存儲(chǔ)容量容量問題;問題;其中:其中:Cache-Cache-主存結(jié)構(gòu)解決主存結(jié)構(gòu)解決高速度與低成本高速度與低成本的矛盾;的矛盾; 主存主存- -輔存結(jié)構(gòu)利用輔存結(jié)構(gòu)利用虛擬存

29、儲(chǔ)虛擬存儲(chǔ)器解決器解決大容量與低成本大容量與低成本的矛盾;的矛盾;四級(jí)存儲(chǔ)結(jié)構(gòu)四級(jí)存儲(chǔ)結(jié)構(gòu)西安電子科技大學(xué)軟件學(xué)院36總線是計(jì)算機(jī)中各模塊傳輸信息的總線是計(jì)算機(jī)中各模塊傳輸信息的公共信號(hào)線集合公共信號(hào)線集合。為各模塊。為各模塊間,甚至模塊各部件之間提供公共的、標(biāo)準(zhǔn)化的信息通路。間,甚至模塊各部件之間提供公共的、標(biāo)準(zhǔn)化的信息通路??偩€的特點(diǎn)在于其總線的特點(diǎn)在于其公用性公用性( (即它可以同時(shí)掛接多個(gè)模塊或設(shè)備,即它可以同時(shí)掛接多個(gè)模塊或設(shè)備,作為所有掛接模塊或設(shè)備公用的信號(hào)載體作為所有掛接模塊或設(shè)備公用的信號(hào)載體) )。總線。總線在同一時(shí)刻,在同一時(shí)刻,只能允許一對(duì)模塊或設(shè)備進(jìn)行信息交換只能允許

30、一對(duì)模塊或設(shè)備進(jìn)行信息交換。當(dāng)有多個(gè)模塊或設(shè)備。當(dāng)有多個(gè)模塊或設(shè)備需要同時(shí)使用總線進(jìn)行信息傳輸時(shí),只能采用需要同時(shí)使用總線進(jìn)行信息傳輸時(shí),只能采用分時(shí)方式分時(shí)方式,并且,并且要對(duì)總線使用的要對(duì)總線使用的優(yōu)先權(quán)優(yōu)先權(quán)進(jìn)行進(jìn)行仲裁管理仲裁管理??偩€結(jié)構(gòu)包括:傳輸信息的總線結(jié)構(gòu)包括:傳輸信息的傳輸線路傳輸線路和和總線控制邏輯總線控制邏輯嵌入式系統(tǒng)采用總線結(jié)構(gòu)有以下優(yōu)點(diǎn):嵌入式系統(tǒng)采用總線結(jié)構(gòu)有以下優(yōu)點(diǎn):總線和總線橋總線和總線橋 簡(jiǎn)化了系統(tǒng)結(jié)構(gòu)。簡(jiǎn)化了系統(tǒng)結(jié)構(gòu)。 優(yōu)化了硬件和軟件設(shè)計(jì)。優(yōu)化了硬件和軟件設(shè)計(jì)。 便于系統(tǒng)的擴(kuò)充和更新。便于系統(tǒng)的擴(kuò)充和更新。 總線是CPU與存儲(chǔ)器和設(shè)備通信的機(jī)制,是計(jì)算機(jī)各

31、部件之間傳送數(shù)據(jù)、地址和控制信息的公共通道。片內(nèi)總線或內(nèi)部總線:連接片內(nèi)總線或內(nèi)部總線:連接CPUCPU內(nèi)部各主要功能部件內(nèi)部各主要功能部件片外總線:片外總線:CPUCPU與存儲(chǔ)器(與存儲(chǔ)器(RAMRAM和和ROMROM)和和I/OI/O接口之間進(jìn)行信息交換的通道接口之間進(jìn)行信息交換的通道數(shù)據(jù)總線數(shù)據(jù)總線DbusDbus地址總線地址總線AbusAbus控制總線控制總線CbusCbus總總線線分分類類總線寬度總線寬度總線頻率總線頻率總線帶寬總線帶寬總線帶寬總線帶寬( (單位單位:MB/s) :MB/s) = =(總線寬度(總線寬度/8/8) 總線頻率總線頻率如:總線寬度如:總線寬度3232位,頻率位,頻率66MHZ66MHZ,則,則總線帶寬總線帶寬=(32/832/8)* * 66MHz=264MB/s66MHz=264MB/s總總線線的的主主要要參參數(shù)數(shù)又稱總線位寬,指的是總線能同時(shí)又稱總線位寬,指的是總線能同時(shí)傳送數(shù)據(jù)的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論