嵌入式系統(tǒng)硬件應(yīng)用基礎(chǔ)_第1頁
嵌入式系統(tǒng)硬件應(yīng)用基礎(chǔ)_第2頁
嵌入式系統(tǒng)硬件應(yīng)用基礎(chǔ)_第3頁
嵌入式系統(tǒng)硬件應(yīng)用基礎(chǔ)_第4頁
嵌入式系統(tǒng)硬件應(yīng)用基礎(chǔ)_第5頁
已閱讀5頁,還剩106頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

嵌入式系統(tǒng)硬件應(yīng)用基礎(chǔ)第一頁,共111頁。1324嵌入式系統(tǒng)硬件基礎(chǔ)嵌入式系統(tǒng)開發(fā)環(huán)境嵌入式系統(tǒng)硬件開發(fā)流程芯片封裝知識簡介內(nèi)容提要第二頁,共111頁。嵌入式系統(tǒng)硬件部分嵌入式系統(tǒng)軟件部分如人的大腦,決定了硬件的操作模式。通過良好的操作系統(tǒng)以及應(yīng)用程序,把硬件功能發(fā)揮到極至。如人的手、腳、神經(jīng)等部位,決定了嵌入式系統(tǒng)的先天功能。如運(yùn)算能力和I/O接口等。第三頁,共111頁。嵌入式系統(tǒng)硬件基礎(chǔ)數(shù)制及邏輯代數(shù)存儲系統(tǒng)RISC和CISC馮·諾依曼體系結(jié)構(gòu)和哈佛體系結(jié)構(gòu)流水線總線ARM體系結(jié)構(gòu)第四頁,共111頁。位及位的表示計算機(jī)中所有的信息都被表示為二進(jìn)制比特串位(binarydigit--bit):二進(jìn)制的最小單位,表示數(shù)字0或1中的某一個,也是計算機(jī)系統(tǒng)中的最小存儲單元和處理單元。位在計算機(jī)內(nèi)的表示:正邏輯:高電位表示1,低電位表示0負(fù)邏輯:高電位表示0,低電位表示1第五頁,共111頁。位的運(yùn)算二進(jìn)制的0和1可以被看成邏輯中的“真”和“假”,二進(jìn)制的運(yùn)算也可以轉(zhuǎn)換為邏輯運(yùn)算,邏輯運(yùn)算可以用邏輯電路實(shí)現(xiàn)因此,計算機(jī)的運(yùn)算基礎(chǔ)就是邏輯代數(shù)第六頁,共111頁。邏輯代數(shù)與邏輯電路基礎(chǔ)邏輯代數(shù)是建立在“真”、“假”兩個值的基礎(chǔ)上的數(shù)學(xué)體系,是計算機(jī)實(shí)現(xiàn)各種運(yùn)算的基礎(chǔ)邏輯電路:也稱為數(shù)字電路,實(shí)現(xiàn)邏輯代數(shù)中的運(yùn)算組合邏輯電路:由與、或、非等門電路組成的邏輯電路時序邏輯電路:由觸發(fā)器和門電路組成的具有記憶能力的邏輯電路第七頁,共111頁。邏輯運(yùn)算“與and”(∧,?):記為A∧B,同時為真時為真“或or”(∨,+):記為A∨B,同時為假時為假“非not”(﹁,ˉ):記為﹁B“異或xor”(⊕):A⊕B,同時為真或同時為假時為假,否則為真。“條件”(→):A→B,讀作“如果A,則B”。A為真,B為假時為假,否則為真?!半p條件”(?):A?B,讀作“A當(dāng)且僅當(dāng)B”。A,B真值相同時為真,否則為假。第八頁,共111頁。邏輯代數(shù)用1代表T,用0代表F,”+”表示“或”,“.”或省略表示“與”,用上劃線表示“非”。等價律

零律:A0=0A+0=A

幺律:A1=AA+1=1冪等律:AA=AA+A=A

求補(bǔ)律:A=0A+=1交換律:AB=BAA+B=B+A

分配律:A+(BC)=(A+B)(A+C)A(B+C)=(AB)+(AC)

狄-摩根定理:A+B=ABAB=A+B第九頁,共111頁。邏輯電路基礎(chǔ)能實(shí)現(xiàn)邏輯運(yùn)算的電路稱為邏輯門電路,簡稱為“門電路”。常用的門電路有:與門、或門、非門、與非門、或非門、異或門等?!伴T”的基本含義就是一個電子開關(guān)開關(guān)接通:滿足一定條件時,電路允許信號通過開關(guān)斷開:條件不滿足時,信號不能通過第十頁,共111頁?;镜拈T電路:與門或門非門與非門或非門異或門第十一頁,共111頁。觸發(fā)器—位存儲的實(shí)現(xiàn)觸發(fā)器:半導(dǎo)體存儲的基礎(chǔ)。能輸出0或1,并保持其狀態(tài),直到另一個電路脈沖將它改變輸入1輸入2輸出輸入1加一個脈沖信號會使輸出變1,即使脈沖消失以后,輸出仍保持為1。輸入2加一個脈沖信號,將使輸出為0,并保持0。這樣,一個觸發(fā)器就保存了1位信息第十二頁,共111頁。寄存器(Register)一個觸發(fā)器可以保存一位二進(jìn)制信息n個觸發(fā)器能夠構(gòu)成一個寄存器用于保存n位二進(jìn)制信息寄存器是存放信息的常用邏輯器件用來暫時存放數(shù)據(jù)或指令代碼具有數(shù)據(jù)的接收、保存和傳送功能還可以實(shí)現(xiàn)數(shù)據(jù)的移位、串行并行轉(zhuǎn)換等功能寄存器是計算機(jī)的主要部件之一第十三頁,共111頁。集成電路門(gates)→集成電路(integratedcircuit/IC/chips),根據(jù)門數(shù)規(guī)模將IC劃分為:SSI小規(guī)模集成電路(SmallScaleIntegratedcircuites)<100門MSI中規(guī)模集成電路(MediumScaleIntegratedcircuites)100~3000LSI大規(guī)模集成電路(LargeScaleIntegratedcircuites) 3000~10萬VLSI超大規(guī)模集成電路(VeryLargeScaleIntegratedcircuites)10萬~100萬ULSI甚大規(guī)模集成電路(UltraLargeScaleIntegratedcircuites)>100萬第十四頁,共111頁。數(shù)制十進(jìn)制二進(jìn)制八進(jìn)制十六進(jìn)制基數(shù)102816數(shù)字符號0-90,10-70–9A,B,C,D,E,F計算機(jī)內(nèi)部采用的是二進(jìn)制第十五頁,共111頁。數(shù)制間的轉(zhuǎn)換十進(jìn)制整數(shù)轉(zhuǎn)換成非十進(jìn)制整數(shù)

采用“除基取余法”,即將十進(jìn)制數(shù)逐次除以需轉(zhuǎn)換為的數(shù)制的基數(shù),直到商為0為止,然后將所得到的余數(shù)自下而上排列即可。第十六頁,共111頁。數(shù)制間的轉(zhuǎn)換十進(jìn)制轉(zhuǎn)換成二進(jìn)制余數(shù)2551227121312602312110(55)10=(110111)2第十七頁,共111頁。數(shù)制間的轉(zhuǎn)換十進(jìn)制轉(zhuǎn)換成八進(jìn)制余數(shù)85578660(55)10=(67)8第十八頁,共111頁。數(shù)制間的轉(zhuǎn)換十進(jìn)制轉(zhuǎn)換成十六進(jìn)制余數(shù)1655716330(55)10=(37)16第十九頁,共111頁。數(shù)制間的轉(zhuǎn)換十進(jìn)制小數(shù)轉(zhuǎn)換成非十進(jìn)制小數(shù)

采用“乘基取余法”,即將十進(jìn)制小數(shù)逐次乘以基數(shù),直到小數(shù)部分的當(dāng)前值等于0為止,然后將所得到的整數(shù)自上而下排列即可。第二十頁,共111頁。數(shù)制間的轉(zhuǎn)換將十進(jìn)制小數(shù)0.625轉(zhuǎn)換為二進(jìn)制小數(shù)0.625整數(shù)×21.2510.25×20.50×21.01(0.625)10=(0.101)2第二十一頁,共111頁。數(shù)制間的轉(zhuǎn)換非十進(jìn)制轉(zhuǎn)換成十進(jìn)制

采用“位權(quán)法”,即把各非十進(jìn)制數(shù)按權(quán)展開,然后求和。如:

把二進(jìn)制數(shù)10101.101轉(zhuǎn)換成十進(jìn)制數(shù)。(10101.101)2=1*24+0*23+1*22+0*21+1*20

+1*2-1+0*2-2+1*2-3第二十二頁,共111頁。數(shù)制間的轉(zhuǎn)換二進(jìn)制轉(zhuǎn)換成八進(jìn)制:按三位一組二進(jìn)制轉(zhuǎn)換十六進(jìn)制:按四位一組0x1011100111000100=0xB9C41011->B1001->91100->C0100->4第二十三頁,共111頁。整型數(shù)的表示—碼制將符號位數(shù)字化。0表示正數(shù),1表示負(fù)數(shù)。數(shù)字的四種編碼方式為:

原碼

反碼

補(bǔ)碼余碼(移碼)第二十四頁,共111頁。原碼用符號位和數(shù)值表示帶符號數(shù)。正數(shù)的符號位為0,負(fù)數(shù)的符號位為1。數(shù)值部分用二進(jìn)制表示。如用一個字節(jié)表示數(shù)值:[62]原=00111110

[-62]原=10111110第二十五頁,共111頁。反碼正數(shù)的反碼與原碼相同,負(fù)數(shù)的反碼為該數(shù)的絕對值的原碼取反。如:[62]反=00111110

[-62]反=11000001第二十六頁,共111頁。補(bǔ)碼正數(shù)的補(bǔ)碼與原碼相同,負(fù)數(shù)的補(bǔ)碼為該數(shù)的反碼加1。如:[62]補(bǔ)=00111110

[-62]補(bǔ)=11000010大多數(shù)計算機(jī)系統(tǒng)都用補(bǔ)碼表示整數(shù),在整數(shù)運(yùn)算時必須注意第二十七頁,共111頁。余碼(移碼)將最高位為1,其余為0的值定義為0,它前面的數(shù)依次-1,-2,-3…,后面的數(shù)為1,2,3。二進(jìn)制表示的值1113110210111000011-1010-2001-3000-4第二十八頁,共111頁。實(shí)型數(shù)的表示定點(diǎn)表示:小數(shù)點(diǎn)的位置固定不變浮點(diǎn)表示:小數(shù)點(diǎn)位置不固定。一個浮點(diǎn)數(shù)分成尾數(shù)和階碼兩部分。階碼表示小數(shù)點(diǎn)在該數(shù)中的位數(shù),尾數(shù)表示數(shù)的有效數(shù)值。如十進(jìn)制數(shù)N=246.135,其浮點(diǎn)表示可為:N=246135*10-3=2461350*10-4=0.246135*103=0.0246135*104第二十九頁,共111頁。浮點(diǎn)數(shù)的存儲階碼一般采用補(bǔ)碼形式的二進(jìn)制表示。尾數(shù)通常采用原碼或余碼形式的二進(jìn)制表示。當(dāng)字長一定時,分配給階碼的位數(shù)越多,表示數(shù)的范圍越大,但分配給尾數(shù)的位數(shù)將減少,從而降低數(shù)的精度。符號位階碼尾數(shù)第三十頁,共111頁。浮點(diǎn)數(shù)的存儲如用一個字節(jié)表示浮點(diǎn)數(shù):1位符號位,3位階碼,4位尾數(shù)。表示二進(jìn)制數(shù)10.11為:01101011符號階碼,用余碼表示右移2位尾數(shù)第三十一頁,共111頁。截斷誤差由于尾數(shù)部分位數(shù)不夠,使數(shù)值部分丟失,有時一個十進(jìn)制轉(zhuǎn)化成二進(jìn)制數(shù)時小數(shù)點(diǎn)后會無限循環(huán),因此尾數(shù)無法精確表示,這稱為截斷誤差實(shí)型數(shù)在計算機(jī)中不能精確表示,只是一個近似值。因此,最好不要判兩個實(shí)型數(shù)相等第三十二頁,共111頁。存儲系統(tǒng)第三十三頁,共111頁。存儲器的分類計算機(jī)的主存儲器分類主存的地位:在現(xiàn)代計算機(jī)中,主存儲器處于全機(jī)的中心地位。

主存的分類:要求為隨機(jī)存取、快速隨機(jī)讀寫存儲器(RAM)只讀存儲器(ROM)掩膜式只讀存儲器(MROM)可編程只讀存儲器(PROM)可擦除可編程序的只讀存儲器(EPROM)電可擦除的可編程序的只讀存儲器(E2PROM)閃存(Flashmemory):介于EPROM和E2PROM之間的永久性存儲器第三十四頁,共111頁。主存儲器的性能指標(biāo)1、存儲容量:指存儲器可容納的二進(jìn)制信息量,描述存儲容量的單位是字節(jié)或位。量化單位:1K=2101M=2201G=2301T=240存儲器芯片的存儲容量=存儲單元個數(shù)×每存儲單元的位數(shù)兆千兆太第三十五頁,共111頁。主存儲器的性能指標(biāo)2、存儲速度:由以下3個方法來衡量。存取時間(MemoryAccessTime):指啟動一次存儲器操作到完成該操作所需的全部時間。存取時間愈短,其性能愈好。通常存取時間用納秒(ns=10-9s)為單位。存儲周期(MemoryCycleTime):指存儲器進(jìn)行連續(xù)兩次獨(dú)立的存儲器操作所需的最小間隔時間。通常存取周期TC大于存取時間tA

,即TC≥tA。存儲器帶寬:是單位時間里存儲器所能存取的最大信息量,存儲器帶寬的計量單位通常是位/秒(bps)或字節(jié)/秒,它是衡量數(shù)據(jù)傳輸速率的重要技術(shù)指標(biāo)。第三十六頁,共111頁。主存儲器的性能指標(biāo)3、存儲器的價格:用每位的價格來衡量。設(shè)存儲器容量為S,總價格為C,則位價為C/S(分/位)。它不僅包含了存儲元件的價格,還包括為該存儲器操作服務(wù)的外圍電路的價格。4、可靠性:指存儲器正常工作(正確存取)的性能。5、功耗:存儲器工作的耗電量。存儲容量、速度和價格的關(guān)系:速度快的存儲器往往價格較高,容量也較小。容量、速度和價格三個指標(biāo)是相互制約的。第三十七頁,共111頁。存儲器的層次結(jié)構(gòu)訪問速度越來越快存儲容量越來越大,每位的價格越來越便宜第三十八頁,共111頁。SRAM存儲位元“1”狀態(tài):T1截止,T2導(dǎo)通“0”狀態(tài):T2截止,T1導(dǎo)通六管MOS靜態(tài)存儲器結(jié)構(gòu)第三十九頁,共111頁。SRAM存儲器的特點(diǎn)使用雙穩(wěn)態(tài)觸發(fā)器表示0和1代碼。電源不掉電的情況下,信息穩(wěn)定保持(靜態(tài))。存取速度快,集成度低(容量?。?,價格高。常用作高速緩沖存儲器Cache。第四十頁,共111頁。DRAM存儲位元“1”狀態(tài):電容C上有電荷“0”狀態(tài):電容C上無電荷再生:讀出后信息可能被破壞,需要重寫。刷新:經(jīng)過一段時間后,信息可能丟失,需要重寫。單管MOS動態(tài)存儲器結(jié)構(gòu)第四十一頁,共111頁。DRAM存儲器的特點(diǎn)使用半導(dǎo)體器件中分布電容上有無電荷來表示0和1代碼。電源不掉電的情況下,信息也會丟失,因此需要不斷刷新。存取速度慢,集成度高(容量大),價格低。常用作內(nèi)存條。第四十二頁,共111頁。SRAM和DRAM的對比比較內(nèi)容SRAMDRAM存儲信息0和1的方式雙穩(wěn)態(tài)觸發(fā)器極間電容上的電荷電源不掉電時信息穩(wěn)定信息會丟失刷新不需要需要集成度低高容量小大價格高低速度快慢適用場合Cache主存第四十三頁,共111頁。高性能的主存儲器EDRAM,即增強(qiáng)型DRAMCDRAM,帶Cache的DRAMEDORAM(ExtendedDataOutRAM)。也稱“擴(kuò)展數(shù)據(jù)輸出RAM”SDRAM(SynchronousDynamicRAM),也稱“同步DRAM”。RDRAM(RambusDRAM)DDRSDRAM(雙倍速率SDRAM),簡稱DDRDDR2(第二代,更低電壓,更高效能)DDR3(第三代,更低電壓,更高效能)第四十四頁,共111頁。幾種非易失性存儲器的比較存儲器類別擦除方式能否單字節(jié)修改寫機(jī)制MROM只讀不允許否掩膜位寫PROM寫一次讀多次不允許否電信號EPROM寫多次讀多次紫外線擦除,脫機(jī)改寫否電信號E2PROM寫多次讀多次電擦除,在線改寫能電信號FlashMemory寫多次讀多次電擦除,在線改寫否電信號第四十五頁,共111頁。熔絲式ROM(PROM)第四十六頁,共111頁。可擦寫ROM——EPROM第四十七頁,共111頁。MOS晶體管與EPROM單元的兩種工作狀態(tài)第四十八頁,共111頁。電可擦寫ROM——EEPROM及Flash存儲器第四十九頁,共111頁。Flash存儲器1transisterpercellNORtypeWordreadWordprogram(10us)Blockerase(0.5s)NANDtypePageread(10us)Pageprogram(200us)Blockerase(2ms)第五十頁,共111頁。NOR技術(shù)NOR技術(shù)閃速存儲器是最早出現(xiàn)的FlashMemory,目前仍是多數(shù)供應(yīng)商支持的技術(shù)架構(gòu),它源于傳統(tǒng)的EPROM器件。與其它FlashMemory技術(shù)相比,具有可靠性高、隨機(jī)讀取速度快的優(yōu)勢。在擦除和編程操作較少而直接執(zhí)行代碼的場合,尤其是代碼(指令)存儲的應(yīng)用中廣泛使用。由于NOR技術(shù)FlashMemory的擦除和編程速度較慢,而塊尺寸又較大,因此擦除和編程操作所花費(fèi)的時間很長,在純數(shù)據(jù)存儲和文件存儲的應(yīng)用中,NOR技術(shù)顯得力不從心。第五十一頁,共111頁。NAND技術(shù)NAND技術(shù)FlashMemory具有以下特點(diǎn):以頁為單位進(jìn)行讀和編程操作,1頁為256或512字節(jié);以塊為單位進(jìn)行擦除操作,1塊為4K、8K或16K字節(jié)。具有快編程和快擦除的功能,其塊擦除時間是2ms;而NOR技術(shù)的塊擦除時間達(dá)到幾百ms。數(shù)據(jù)、地址采用同一總線,實(shí)現(xiàn)串行讀取。隨機(jī)讀取速度慢且不能按字節(jié)隨機(jī)編程。芯片尺寸小,引腳少,是位成本(bitcost)最低的固態(tài)存儲器,突破了每兆字節(jié)1元的價格限制。芯片包含有失效塊,其數(shù)目最大可達(dá)到3~35塊(取決于存儲器密度)。失效塊不會影響有效塊的性能,但設(shè)計者需要將失效塊在地址映射表中屏蔽起來?;贜AND的存儲器可以取代硬盤或其它塊設(shè)備。第五十二頁,共111頁。存儲器容量擴(kuò)展的三種方法3、字位擴(kuò)展2、字?jǐn)U展1、位擴(kuò)展從字長和字?jǐn)?shù)方向擴(kuò)展從字長方向擴(kuò)展從字?jǐn)?shù)方向擴(kuò)展第五十三頁,共111頁。邊界對準(zhǔn)問題為了便于硬件實(shí)現(xiàn),通常要求多字節(jié)的數(shù)據(jù)在存儲器的存放方式能滿足“邊界對準(zhǔn)”的要求。字(地址0)0

4

8字(地址4)字節(jié)(地址11)字節(jié)(地址10)字節(jié)(地址9)字節(jié)(地址8)字節(jié)(地址15)字節(jié)(地址14)字節(jié)(地址13)字節(jié)(地址12)12

16

20

24

28

32

36半字(地址18)半字(地址16)半字(地址22)半字(地址20)雙字(地址24)雙字雙字(地址32)雙字地址(十進(jìn)制)存儲器在對準(zhǔn)邊界的32位字長的計算機(jī)中,半字地址是2的整數(shù)倍,字地址是4的整數(shù)倍,雙字地址是8的整數(shù)倍。當(dāng)所存數(shù)據(jù)不能滿足此要求時,可填充一個至多個空白字節(jié)。第五十四頁,共111頁。邊界對準(zhǔn)問題在數(shù)據(jù)不對準(zhǔn)邊界的計算機(jī)中,數(shù)據(jù)(例如一個字)可能在兩個存儲單元中,此時需要訪問兩次存儲器,并對高低字節(jié)的位置進(jìn)行調(diào)整后,才能取得一字。字(地址2)半字(地址0)048字節(jié)(地址7)字節(jié)(地址6)字(地址4)半字(地址10)半字(地址8)存儲器地址(十進(jìn)制)第五十五頁,共111頁。高速緩存(CACHE)1、為什么采用高速緩存微處理器的時鐘頻率比內(nèi)存速度提高快得多,高速緩存可以提高內(nèi)存的平均性能。2、高速緩存的工作原理

高速緩存是一種小型、快速的存儲器,它保存部分主存內(nèi)容的拷貝。第五十六頁,共111頁。數(shù)據(jù)在內(nèi)存中的存放格式計算機(jī)中基本數(shù)據(jù)有邏輯數(shù)、定點(diǎn)數(shù)、無符號數(shù)、浮點(diǎn)數(shù)、字符數(shù)及數(shù)組等。目前微機(jī)所用的數(shù)據(jù)(字)長度一般為32位,4個字節(jié)。內(nèi)存地址按字節(jié)編址。計算機(jī)指令系統(tǒng)可支持對字節(jié)、半字、字、雙字的運(yùn)算,有的還支持位操作。為便于硬件的實(shí)現(xiàn),一般要求多字節(jié)數(shù)據(jù)采用對準(zhǔn)數(shù)據(jù)邊界的方式儲存。不合要求則填充空白字節(jié)(無操作)代替。第五十七頁,共111頁。4字節(jié)32位存儲器字地址0字地址4半字地址8半字地址10半字地址12字節(jié)地址15半字地址22字節(jié)地址14字節(jié)地址19字節(jié)地址18字節(jié)地址16字節(jié)地址17字節(jié)地址20字節(jié)地址21地址048121620在數(shù)據(jù)對準(zhǔn)邊界存儲的計算機(jī)中,對于以二進(jìn)制表示的存儲地址來說,半字地址的最低位、字地址的最低兩位和雙字地址的最低三位恒為零。這種方式的整個字的存儲時間要短,需要1個存儲周期。第五十八頁,共111頁。32位、4個字節(jié)地址048字節(jié)半字的一半一字的3/4半字有的計算機(jī)不要求對準(zhǔn)邊界存儲數(shù)據(jù),如下圖所示,但這種方式增加硬件的復(fù)雜程度,并且有可能導(dǎo)致訪問次數(shù)增加。例如存儲一個字,則需要2個存儲周期。半字另一半一字的1/4半字第五十九頁,共111頁。CISC:復(fù)雜指令集(ComplexInstructionSetComputer)具有大量的指令和尋址方式,指令長度可變8/2原則:80%的程序只使用20%的指令大多數(shù)程序只使用少量的指令就能夠運(yùn)行。RISC:精簡指令集(ReducedInstructionSetComputer)只包含最有用的指令,指令長度固定確保數(shù)據(jù)通道快速執(zhí)行每一條指令使CPU硬件結(jié)構(gòu)設(shè)計變得更為簡單第六十頁,共111頁。CISC與RISC的數(shù)據(jù)通道IFIDREGALUMEM開始退出IFIDALUMEMREG微操作通道開始退出單通數(shù)據(jù)通道RISC:Load/Store結(jié)構(gòu)CISC:尋址方式復(fù)雜第六十一頁,共111頁。CISC與RISC的對比類別CISCRISC指令系統(tǒng)指令數(shù)量很多較少,通常少于100執(zhí)行時間有些指令執(zhí)行時間很長,如整塊的存儲器內(nèi)容拷貝;或?qū)⒍鄠€寄存器的內(nèi)容拷貝到存貯器沒有較長執(zhí)行時間的指令編碼長度編碼長度可變,1-15字節(jié)編碼長度固定,通常為4個字節(jié)尋址方式尋址方式多樣簡單尋址操作可以對存儲器和寄存器進(jìn)行算術(shù)和邏輯操作只能對寄存器對行算術(shù)和邏輯操作,Load/Store體系結(jié)構(gòu)編譯難以用優(yōu)化編譯器生成高效的目標(biāo)代碼程序采用優(yōu)化編譯技術(shù),生成高效的目標(biāo)代碼程序第六十二頁,共111頁。存儲器輸出輸入運(yùn)算器控制器數(shù)據(jù)線路控制信號第六十三頁,共111頁。一般認(rèn)為馮.諾依曼機(jī)具有如下基本特點(diǎn):計算機(jī)由運(yùn)算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備五部分組成。采用存儲程序的方式,程序和數(shù)據(jù)放在同一存儲器中,由指令組成的程序可以修改。數(shù)據(jù)以二進(jìn)制碼表示。指令由操作碼和地址碼組成。指令在存儲器中按執(zhí)行順序存放,由指令計數(shù)器指明要執(zhí)行的指令所在的單元地址,一般按順序替增。機(jī)器以運(yùn)算器為中心,數(shù)據(jù)傳送都經(jīng)過運(yùn)算器。第六十四頁,共111頁。指令寄存器控制器數(shù)據(jù)通道輸入輸出中央處理器存儲器程序指令0指令1指令2指令3指令4數(shù)據(jù)數(shù)據(jù)0數(shù)據(jù)1數(shù)據(jù)2第六十五頁,共111頁。哈佛體系結(jié)構(gòu)哈佛結(jié)構(gòu)是不同于馮·諾依曼結(jié)構(gòu)的一種并行體系結(jié)構(gòu),其主要特點(diǎn)是程序和數(shù)據(jù)存儲在不同的存儲空間中,即程序存儲器和數(shù)據(jù)存儲器是兩個相互獨(dú)立的存儲器,每個存儲器獨(dú)立編制、獨(dú)立訪問。與之相對應(yīng)的是系統(tǒng)中設(shè)置的兩條總線(程序總線和數(shù)據(jù)總線),從而使數(shù)據(jù)的吞吐率提高了一倍。第六十六頁,共111頁。指令寄存器控制器數(shù)據(jù)通道輸入輸出CPU程序存儲器指令0指令1指令2數(shù)據(jù)存儲器數(shù)據(jù)0數(shù)據(jù)1數(shù)據(jù)2地址指令地址數(shù)據(jù)第六十七頁,共111頁。流水線技術(shù)流水線(Pipeline)技術(shù):幾個指令可以并行執(zhí)行

提高了CPU的運(yùn)行效率

內(nèi)部信息流要求通暢流動譯碼取指執(zhí)行add譯碼取指執(zhí)行sub譯碼取指執(zhí)行cmp時間AddSubCmp第六十八頁,共111頁。指令流水線—以ARM為例為增加處理器指令流的速度,ARM7系列使用3級流水線.允許多個操作同時處理,比逐條指令執(zhí)行要快PC指向正被取指的指令,而非正在執(zhí)行的指令FetchDecodeExecute從存儲器中讀取指令解碼指令寄存器讀(從寄存器Bank)移位及ALU操作寄存器寫(到寄存器Bank)PC PCPC-4 PC-2PC-8 PC-4ARM Thumb第六十九頁,共111頁。

最佳流水線該例中用6個時鐘周期執(zhí)行了6條指令所有的操作都在寄存器中(單周期執(zhí)行)指令周期數(shù)(CPI)=1

操作周期 1 2 3 4 56ADDSUBMOVANDORREORCMPRSBFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteDecodeExecuteFetchDecodeFetchFetch第七十頁,共111頁。LDR流水線舉例該例中,用6周期執(zhí)行了4條指令指令周期數(shù)(CPI)=1.5周期

操作 1 2 3 4 5 6ADDSUBLDRMOVANDORRFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteDataWritebackFetchDecodeExecuteFetchDecodeFetch第七十一頁,共111頁。分支流水線舉例流水線被阻斷注意:內(nèi)核運(yùn)行在ARM狀態(tài)周期

12345

0x8000BL0x8004X0x8008XX0x8FECADD0x8FF0SUB0x8FF4MOV地址

操作FetchDecodeExecuteFetchDecodeExecuteFetchDecodeFetchFetchDecodeExecuteLinkretAdjustFetchDecodeFetch第七十二頁,共111頁。中斷流水線舉例周期

12345678IRQ

IRQ中斷的反應(yīng)時間最小=7機(jī)器周期地址

操作FDELinkretAdjustFFDecodeIRQLinkretExecuteIRQAdjustFDEFDFFDEFDFF0x8000ADD0x8008MOV0x0018B(to0xAF00)0x8004SUB0x001CXX0x0020XXX0xAF00STMFD0xAF04MOV0xAF08LDR0x800CXD第七十三頁,共111頁。ARM9TDMI流水線的變化InstructionFetch

Shift+ALUMemoryAccessRegWriteRegReadRegDecodeFETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARMorThumb

InstDecodeRegSelectRegReadShiftALURegWriteThumb?ARM

decompressARMdecodeInstructionFetchFETCHDECODEEXECUTEARM7TDMI第七十四頁,共111頁。周期操作ADD R1,R1,R2SUB R3,R4,R1ORR R8,R3,R4AND R6,R3,R1EOR R3,R1,R212345678LDR R4,[R7]9FDEFDEWFDEWFDEWFDWEFDEWF–取指(Fetch)D

–解碼(Decode) E–執(zhí)行(Execute)I–互鎖(Interlock)M–存儲器(Memory)W–寫回(Writeback)ILDR互鎖本例中,用了7個機(jī)器周期執(zhí)行6條指令,CPI=1.2機(jī)器周期。LDR指令之后立即跟一條數(shù)據(jù)操作指令,由于使用了相同的寄存器,將會導(dǎo)致互鎖。WIM第七十五頁,共111頁。周期操作ADD R1,R1,R2SUB R3,R4,R1ORR R8,R3,R4AND R6,R3,R1EOR R3,R1,R2LDR R4,[R7]最佳流水線本例中,用了6個機(jī)器周期執(zhí)行6條指令,CPI=1機(jī)器周期。LDR指令沒有引起流水線互鎖123456789FDEWFDEWFEWFDEWFDWEFDEWF–取指(Fetch)D

–解碼(Decode) E–執(zhí)行(Execute)I–互鎖(Interlock)M–存儲器(Memory)W–寫回(Writeback)MD第七十六頁,共111頁。LDM互鎖(1)本例中,用了8個機(jī)器周期執(zhí)行5條指令,CPI=1.6在LDM期間,有并行的存儲器訪問和回寫周期周期操作LDMIA R13!,{R0-R3}SUB R9,R7,R8ORR R8,R4,R3AND R6,R3,R112345678STR R4,[R9]9F–取指(Fetch)D

–解碼(Decode) E–執(zhí)行(Execute)MW-存儲器和回寫同時執(zhí)行I–互鎖(Interlock)M–存儲器(Memory)W–寫回(Writeback)FDEWFDEWDEFDEWFMDWEIIIIIIMFMWMWMW第七十七頁,共111頁。LDM互鎖(2)本例中,用了9個機(jī)器周期執(zhí)行5條指令,CPI=1.8此處SUB使用了R3,增加了一個額外的互鎖周期來完成該寄存器數(shù)據(jù)的獲取這種情況對任何LDM指令,像帶IA,DB,FD,等,都會發(fā)生。周期操作LDMIA R13!,{R0-R3}SUB R9,R7,R3ORR R8,R4,R3AND R6,R3,R112345678STR R4,[R9]9F–取指(Fetch)D

–解碼(Decode) E–執(zhí)行(Execute)I–互鎖(Interlock)M–存儲器(Memory)W–寫回(Writeback)FDEWFDEWDEFDEWFMDWEMWMWMWIIIIIIMIIF第七十八頁,共111頁。ARM9TDMI系統(tǒng)舉例ARM9TDMI數(shù)據(jù)存儲器指令存儲器CTRLDA[..]DD[..]CTRLIA[..]ID[..]GLUEGLUE注意:數(shù)據(jù)接口必須能夠讀取指令存儲器中的數(shù)據(jù)。為調(diào)試方便,建議數(shù)據(jù)接口能夠讀寫指令存儲器。第七十九頁,共111頁。帶Cache的ARM9TDMIARM9TDMIDCacheICacheMMUGLUE外部存儲器ARM920T2x16KcachesMMU支持虛擬地址和內(nèi)存保護(hù)寫緩沖ARM940T2x4KcachesMPU寫緩沖ARM9xxT第八十頁,共111頁。ARM10E系列概述ARM1020Ev5TE架構(gòu)CPI1.36級流水線靜態(tài)分支預(yù)測32kB指令cache和32kB數(shù)據(jù)cache支持“Hitundermiss”

非阻塞的執(zhí)行單元每周期64位的LDM/STM操作EmbeddedICE邏輯-RT-II支持新的VFPv1結(jié)構(gòu)ARM1022E同上,除了cache大小為16kB對SUDL(singleuserdesignlicense)有效第八十一頁,共111頁。ARM10整數(shù)單元數(shù)據(jù)通道寄存器BankPSR乘法器移位器ALUBAImmBA結(jié)果CLZ寫端口PC數(shù)據(jù)裝載第八十二頁,共111頁。周期OperationLDR ABCADD AB1234567MUL AF-FetchI-IssueD

-DecodeE-ExecuteM–MemoryWb-WritebackWl-Writetoregisterusingloadport

順序代碼的執(zhí)行

開始于64位的對齊地址Address0x073340x0732C0x07330SUB BC0x07328ADD AC0x07324ADD B0x07320FetchtoBuffer89MWlDWbDDWbDWbFDWbDEEEEEEFFFFFIIIIII第八十三頁,共111頁。超標(biāo)量(Superscalar)執(zhí)行:超標(biāo)量CPU采用多條流水線結(jié)構(gòu)執(zhí)行1取指指令譯碼2譯碼1執(zhí)行2執(zhí)行1取指譯碼2譯碼1執(zhí)行2流水線1流水線2數(shù)據(jù)回寫第八十四頁,共111頁。能指標(biāo)周期

--在電子技術(shù)中,脈沖信號是一個按一定電壓幅度,一定時間間隔連續(xù)發(fā)出的脈沖信號。脈沖信號之間的時間間隔稱為周期;而將在單位時間(如1秒)內(nèi)所產(chǎn)生的脈沖個數(shù)稱為頻率。時鐘周期(振蕩周期)--定義為時鐘脈沖的倒數(shù),是計算機(jī)中最基本的、最小的時間單位。機(jī)器周期(CPU周期)--在計算機(jī)中,為了便于管理,常把一條指令的執(zhí)行過程劃分為若干個階段,每一階段完成一項(xiàng)工作。例如,取指令、存儲器讀、存儲器寫等,這每一項(xiàng)工作稱為一個基本操作。完成一個基本操作所需要的時間稱為機(jī)器周期。指令周期

--指執(zhí)行一條指令所需要的時間,一般由若干個機(jī)器周期組成。通常含一個機(jī)器周期的指令稱為單周期指令??偩€周期

--指的使通過總線完成一次內(nèi)存讀寫操作或完成一次輸入輸出設(shè)備的讀寫操作所必須的時間。第八十五頁,共111頁。嵌入式處理器體系結(jié)構(gòu)按體系結(jié)構(gòu)的不同可分為五大類ARMMIPS:無內(nèi)部互鎖流水級的處理器,應(yīng)用領(lǐng)域覆蓋游戲機(jī)、路由器、激光打印機(jī)、掌上電腦等POWERPC:伸縮性好、方便靈活,從高端的工作站、服務(wù)器到桌面計算機(jī)系統(tǒng),從消費(fèi)類電子到大型通信設(shè)備X86SH系列第八十六頁,共111頁。第八十七頁,共111頁。ARM簡介ARM公司簡介ARM是AdvancedRISCMachines的縮寫,它是一家微處理器行業(yè)的知名企業(yè),該企業(yè)設(shè)計了大量高性能、廉價、耗能低的RISC(精簡指令集)處理器。

公司的特點(diǎn)是只設(shè)計芯片,而不生產(chǎn)。它將技術(shù)授權(quán)給世界上許多著名的半導(dǎo)體、軟件和OEM廠商,并提供服務(wù)。第八十八頁,共111頁。ARM簡介ARM公司簡介將技術(shù)授權(quán)給其它芯片廠商形成各具特色的ARM芯片...ARM芯片售出超過150億顆。現(xiàn)在每天以超過1000萬的量出貨。第八十九頁,共111頁。第九十頁,共111頁。ARM簡介ARM特點(diǎn)ARM處理器為RISC芯片,其簡單的結(jié)構(gòu)使ARM內(nèi)核非常小,這使得器件的功耗也非常低。它具有經(jīng)典RISC的特點(diǎn):大的、統(tǒng)一的寄存器文件;裝載/保存結(jié)構(gòu),數(shù)據(jù)處理操作只針對寄存器的內(nèi)容,而不直接對存儲器進(jìn)行操作;簡單的尋址模式;統(tǒng)一和固定長度的指令域,簡化了指令的譯碼,便于指令流水線設(shè)計。第九十一頁,共111頁。ARM簡介ARM特點(diǎn)每條數(shù)據(jù)處理指令都對算術(shù)邏輯單元和移位器控制,實(shí)現(xiàn)了ALU和移位器的最大利用;地址自動增加和減少尋址模式,優(yōu)化程序循環(huán);多寄存器裝載和存儲指令實(shí)現(xiàn)最大數(shù)據(jù)吞吐量;所有指令的條件執(zhí)行實(shí)現(xiàn)最快速的代碼執(zhí)行。第九十二頁,共111頁。ARM處理器商業(yè)模式體系結(jié)構(gòu)(表示法:ARMv4,ARMv5,ARMv6)定義一個ARM處理器必須的操作,包括:程序員編程模型指令集系統(tǒng)配置異常處理存儲模型處理器(表示法:ARM1176JZF-S,Cortex-M3,ARM926EJS)按照某個版本體系結(jié)構(gòu)所定義的內(nèi)容具體實(shí)現(xiàn)的一款處理器設(shè)備(如:S3C6410,AT91SAM9260)以某個處理器為核心,加上外圍組件的具體的SOC芯片第九十三頁,共111頁。ARM體系結(jié)構(gòu)第九十四頁,共111頁。ARM體系結(jié)構(gòu)第九十五頁,共111頁。基于指令集體系結(jié)構(gòu)的分類版本ARM架構(gòu)處理器定義了7種不同的版本:V1版架構(gòu):基本的數(shù)據(jù)處理指令(無乘法);字節(jié)、半字和字的Load/Store指令;轉(zhuǎn)移指令,包括子程序調(diào)用及鏈接指令;軟件中斷指令;尋址空間64MB(226)。V2版架構(gòu):

在V1版上進(jìn)行了擴(kuò)充,例如ARM2和ARM3架構(gòu),并增加了以下功能:乘法和乘加指令;支持協(xié)處理器操作指令;快速中斷模式;SWP/SWPB的基本存儲器與寄存器交換指令;尋址空間64MB。第九十六頁,共111頁?;谥噶罴w系結(jié)構(gòu)的分類版本V3版架構(gòu):V3架構(gòu)對ARM體系結(jié)構(gòu)作了較大的改動,把尋址空間增至32位,增加了當(dāng)前程序狀態(tài)寄存器CPSR和存儲程序狀態(tài)寄存器SPSR,以便增強(qiáng)對異常情況的處理。增加了中止和未定義二種處理模式。ARM6就是采用該版架構(gòu)。V4版架構(gòu):

它在V3版架構(gòu)上作了進(jìn)一步擴(kuò)充,使ARM使用更加靈活。ARM7、ARM8、ARM9都采用該版結(jié)構(gòu)。增加功能有符號化和半符號化半字及符號化字節(jié)的存取指令;增加了16位的Thumb指令集;完善了軟件中斷SWI指令的功能;處理器系統(tǒng)模式引進(jìn)特權(quán)方式時使用用戶寄存器操作;把一些未使用的指令空間撲獲為未定義指令。第九十七頁,共111頁?;谥噶罴w系結(jié)構(gòu)的分類版本V5版架構(gòu):ARM10和XScale都采用該版架構(gòu)。新增指令有:帶有連接和交換的轉(zhuǎn)移BLX指令;計數(shù)前導(dǎo)零CLZ指令;BBK中斷指令;增建了數(shù)字信號處理指令;為協(xié)處理器增加了更多可選擇的指令。V6版架構(gòu):是在低功耗的同時,還強(qiáng)化了圖形處理性能,追加有效進(jìn)行多媒體處理的SIMD功能。于2002年推出,ARM11采用該架構(gòu),具體新增加了以下功能:THUMBTM-35%代碼壓縮;DSP擴(kuò)充-高性能定點(diǎn)DSP功能;JazelleTM-Java性能優(yōu)化,可提高8倍;Media擴(kuò)充-音/視頻性能優(yōu)化,可提高4倍。另外還支持多微處理器內(nèi)核。第九十八頁,共111頁。基于指令集體系結(jié)構(gòu)的分類版本V7版架構(gòu):ARMv7架構(gòu)是在ARMv6架構(gòu)的基礎(chǔ)上誕生的。該架構(gòu)采用了Thumb-2技術(shù),ARMv7架構(gòu)還采用了NEON技術(shù),將DSP和媒體處理能力提高了近4倍,并支持改良的浮點(diǎn)運(yùn)算,滿足下一代3D圖形、游戲物理應(yīng)用以及傳統(tǒng)嵌入式控制應(yīng)用的需求。此外,ARMv7還支持改良的運(yùn)行環(huán)境,以迎合不斷增加的JIT(JustInTime)和DAC(DynamicAdaptiveCompilation)技術(shù)的使用。在命名方式上,基于ARMv7架構(gòu)的ARM處理器已經(jīng)不再延用過去的數(shù)字命名方式,而是冠以Cortex的代號?;趘7A的稱為"Cortex-A系列",基于v7R的稱為"Cortex-R系列",基于v7M的稱為"Cortex-M"第九十九頁,共111頁。ARM處理器系列第一百頁,共111頁。項(xiàng)目ARM7ARM9ARM10ARM11流水線3568典型頻率(MHz)80150260335功耗(mW/MHz)0.060.19(+cache)0.5(+cache)0.4(+cache)性能MIPS/MHz0.971.11.31.2架構(gòu)馮.諾伊曼哈佛哈佛哈佛ARM簡介第一百零一頁,共111頁。ARM簡介ARM處理器命名規(guī)則x: 7,9,10,11y: 2帶有MMU 4帶有MPU 6無MMU和MPUz: 0

標(biāo)準(zhǔn)cache 2減小的cache 6可變的cache第一百零二頁,共111頁。ARM系列微處理器核特點(diǎn)ARM71994年出售出超過100億ARM7TDMI:整數(shù)處理ARM7TDMI-S:處理器的可綜合版本;ARM720T:帶MMU的處理器核心,支持操作系統(tǒng);ARM7EJ-S:帶有DSP和JazelleTM技術(shù),能夠?qū)崿F(xiàn)Java加速功能馮.諾伊曼體系結(jié)構(gòu);ARMTDMI是目前應(yīng)用最廣的微處理器核ARM720T帶有MMU和8KB的指令數(shù)據(jù)混合cache;ARM7EJ-執(zhí)行ARMv5TEJ指令,5級流水線,提供Java加速指令,沒有存儲器保護(hù)。ARM9售出超過50億顆ARM920T:帶有獨(dú)立的16KB數(shù)據(jù)和指令Cache;ARM922T:帶有獨(dú)立的8位KB數(shù)據(jù)和指令Cache;ARM940T–包括更小數(shù)據(jù)和指令Cache和一個MPU基于ARM9TDMI,帶16位的Thumb指令集,增強(qiáng)代碼密度最多到35%;在0.13μm工藝下最高性能可達(dá)到300MIPS(Dhrysto

溫馨提示

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

最新文檔

評論

0/150

提交評論