版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
嵌入式系統(tǒng)硬件應用基礎第一頁,共111頁。1324嵌入式系統(tǒng)硬件基礎嵌入式系統(tǒng)開發(fā)環(huán)境嵌入式系統(tǒng)硬件開發(fā)流程芯片封裝知識簡介內(nèi)容提要第二頁,共111頁。嵌入式系統(tǒng)硬件部分嵌入式系統(tǒng)軟件部分如人的大腦,決定了硬件的操作模式。通過良好的操作系統(tǒng)以及應用程序,把硬件功能發(fā)揮到極至。如人的手、腳、神經(jīng)等部位,決定了嵌入式系統(tǒng)的先天功能。如運算能力和I/O接口等。第三頁,共111頁。嵌入式系統(tǒng)硬件基礎數(shù)制及邏輯代數(shù)存儲系統(tǒng)RISC和CISC馮·諾依曼體系結構和哈佛體系結構流水線總線ARM體系結構第四頁,共111頁。位及位的表示計算機中所有的信息都被表示為二進制比特串位(binarydigit--bit):二進制的最小單位,表示數(shù)字0或1中的某一個,也是計算機系統(tǒng)中的最小存儲單元和處理單元。位在計算機內(nèi)的表示:正邏輯:高電位表示1,低電位表示0負邏輯:高電位表示0,低電位表示1第五頁,共111頁。位的運算二進制的0和1可以被看成邏輯中的“真”和“假”,二進制的運算也可以轉換為邏輯運算,邏輯運算可以用邏輯電路實現(xiàn)因此,計算機的運算基礎就是邏輯代數(shù)第六頁,共111頁。邏輯代數(shù)與邏輯電路基礎邏輯代數(shù)是建立在“真”、“假”兩個值的基礎上的數(shù)學體系,是計算機實現(xiàn)各種運算的基礎邏輯電路:也稱為數(shù)字電路,實現(xiàn)邏輯代數(shù)中的運算組合邏輯電路:由與、或、非等門電路組成的邏輯電路時序邏輯電路:由觸發(fā)器和門電路組成的具有記憶能力的邏輯電路第七頁,共111頁。邏輯運算“與and”(∧,?):記為A∧B,同時為真時為真“或or”(∨,+):記為A∨B,同時為假時為假“非not”(﹁,ˉ):記為﹁B“異或xor”(⊕):A⊕B,同時為真或同時為假時為假,否則為真。“條件”(→):A→B,讀作“如果A,則B”。A為真,B為假時為假,否則為真?!半p條件”(?):A?B,讀作“A當且僅當B”。A,B真值相同時為真,否則為假。第八頁,共111頁。邏輯代數(shù)用1代表T,用0代表F,”+”表示“或”,“.”或省略表示“與”,用上劃線表示“非”。等價律
零律:A0=0A+0=A
幺律:A1=AA+1=1冪等律:AA=AA+A=A
求補律: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頁。邏輯電路基礎能實現(xiàn)邏輯運算的電路稱為邏輯門電路,簡稱為“門電路”。常用的門電路有:與門、或門、非門、與非門、或非門、異或門等?!伴T”的基本含義就是一個電子開關開關接通:滿足一定條件時,電路允許信號通過開關斷開:條件不滿足時,信號不能通過第十頁,共111頁?;镜拈T電路:與門或門非門與非門或非門異或門第十一頁,共111頁。觸發(fā)器—位存儲的實現(xiàn)觸發(fā)器:半導體存儲的基礎。能輸出0或1,并保持其狀態(tài),直到另一個電路脈沖將它改變輸入1輸入2輸出輸入1加一個脈沖信號會使輸出變1,即使脈沖消失以后,輸出仍保持為1。輸入2加一個脈沖信號,將使輸出為0,并保持0。這樣,一個觸發(fā)器就保存了1位信息第十二頁,共111頁。寄存器(Register)一個觸發(fā)器可以保存一位二進制信息n個觸發(fā)器能夠構成一個寄存器用于保存n位二進制信息寄存器是存放信息的常用邏輯器件用來暫時存放數(shù)據(jù)或指令代碼具有數(shù)據(jù)的接收、保存和傳送功能還可以實現(xiàn)數(shù)據(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ù)制十進制二進制八進制十六進制基數(shù)102816數(shù)字符號0-90,10-70–9A,B,C,D,E,F計算機內(nèi)部采用的是二進制第十五頁,共111頁。數(shù)制間的轉換十進制整數(shù)轉換成非十進制整數(shù)
采用“除基取余法”,即將十進制數(shù)逐次除以需轉換為的數(shù)制的基數(shù),直到商為0為止,然后將所得到的余數(shù)自下而上排列即可。第十六頁,共111頁。數(shù)制間的轉換十進制轉換成二進制余數(shù)2551227121312602312110(55)10=(110111)2第十七頁,共111頁。數(shù)制間的轉換十進制轉換成八進制余數(shù)85578660(55)10=(67)8第十八頁,共111頁。數(shù)制間的轉換十進制轉換成十六進制余數(shù)1655716330(55)10=(37)16第十九頁,共111頁。數(shù)制間的轉換十進制小數(shù)轉換成非十進制小數(shù)
采用“乘基取余法”,即將十進制小數(shù)逐次乘以基數(shù),直到小數(shù)部分的當前值等于0為止,然后將所得到的整數(shù)自上而下排列即可。第二十頁,共111頁。數(shù)制間的轉換將十進制小數(shù)0.625轉換為二進制小數(shù)0.625整數(shù)×21.2510.25×20.50×21.01(0.625)10=(0.101)2第二十一頁,共111頁。數(shù)制間的轉換非十進制轉換成十進制
采用“位權法”,即把各非十進制數(shù)按權展開,然后求和。如:
把二進制數(shù)10101.101轉換成十進制數(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ù)制間的轉換二進制轉換成八進制:按三位一組二進制轉換十六進制:按四位一組0x1011100111000100=0xB9C41011->B1001->91100->C0100->4第二十三頁,共111頁。整型數(shù)的表示—碼制將符號位數(shù)字化。0表示正數(shù),1表示負數(shù)。數(shù)字的四種編碼方式為:
原碼
反碼
補碼余碼(移碼)第二十四頁,共111頁。原碼用符號位和數(shù)值表示帶符號數(shù)。正數(shù)的符號位為0,負數(shù)的符號位為1。數(shù)值部分用二進制表示。如用一個字節(jié)表示數(shù)值:[62]原=00111110
[-62]原=10111110第二十五頁,共111頁。反碼正數(shù)的反碼與原碼相同,負數(shù)的反碼為該數(shù)的絕對值的原碼取反。如:[62]反=00111110
[-62]反=11000001第二十六頁,共111頁。補碼正數(shù)的補碼與原碼相同,負數(shù)的補碼為該數(shù)的反碼加1。如:[62]補=00111110
[-62]補=11000010大多數(shù)計算機系統(tǒng)都用補碼表示整數(shù),在整數(shù)運算時必須注意第二十七頁,共111頁。余碼(移碼)將最高位為1,其余為0的值定義為0,它前面的數(shù)依次-1,-2,-3…,后面的數(shù)為1,2,3。二進制表示的值1113110210111000011-1010-2001-3000-4第二十八頁,共111頁。實型數(shù)的表示定點表示:小數(shù)點的位置固定不變浮點表示:小數(shù)點位置不固定。一個浮點數(shù)分成尾數(shù)和階碼兩部分。階碼表示小數(shù)點在該數(shù)中的位數(shù),尾數(shù)表示數(shù)的有效數(shù)值。如十進制數(shù)N=246.135,其浮點表示可為:N=246135*10-3=2461350*10-4=0.246135*103=0.0246135*104第二十九頁,共111頁。浮點數(shù)的存儲階碼一般采用補碼形式的二進制表示。尾數(shù)通常采用原碼或余碼形式的二進制表示。當字長一定時,分配給階碼的位數(shù)越多,表示數(shù)的范圍越大,但分配給尾數(shù)的位數(shù)將減少,從而降低數(shù)的精度。符號位階碼尾數(shù)第三十頁,共111頁。浮點數(shù)的存儲如用一個字節(jié)表示浮點數(shù):1位符號位,3位階碼,4位尾數(shù)。表示二進制數(shù)10.11為:01101011符號階碼,用余碼表示右移2位尾數(shù)第三十一頁,共111頁。截斷誤差由于尾數(shù)部分位數(shù)不夠,使數(shù)值部分丟失,有時一個十進制轉化成二進制數(shù)時小數(shù)點后會無限循環(huán),因此尾數(shù)無法精確表示,這稱為截斷誤差實型數(shù)在計算機中不能精確表示,只是一個近似值。因此,最好不要判兩個實型數(shù)相等第三十二頁,共111頁。存儲系統(tǒng)第三十三頁,共111頁。存儲器的分類計算機的主存儲器分類主存的地位:在現(xiàn)代計算機中,主存儲器處于全機的中心地位。
主存的分類:要求為隨機存取、快速隨機讀寫存儲器(RAM)只讀存儲器(ROM)掩膜式只讀存儲器(MROM)可編程只讀存儲器(PROM)可擦除可編程序的只讀存儲器(EPROM)電可擦除的可編程序的只讀存儲器(E2PROM)閃存(Flashmemory):介于EPROM和E2PROM之間的永久性存儲器第三十四頁,共111頁。主存儲器的性能指標1、存儲容量:指存儲器可容納的二進制信息量,描述存儲容量的單位是字節(jié)或位。量化單位:1K=2101M=2201G=2301T=240存儲器芯片的存儲容量=存儲單元個數(shù)×每存儲單元的位數(shù)兆千兆太第三十五頁,共111頁。主存儲器的性能指標2、存儲速度:由以下3個方法來衡量。存取時間(MemoryAccessTime):指啟動一次存儲器操作到完成該操作所需的全部時間。存取時間愈短,其性能愈好。通常存取時間用納秒(ns=10-9s)為單位。存儲周期(MemoryCycleTime):指存儲器進行連續(xù)兩次獨立的存儲器操作所需的最小間隔時間。通常存取周期TC大于存取時間tA
,即TC≥tA。存儲器帶寬:是單位時間里存儲器所能存取的最大信息量,存儲器帶寬的計量單位通常是位/秒(bps)或字節(jié)/秒,它是衡量數(shù)據(jù)傳輸速率的重要技術指標。第三十六頁,共111頁。主存儲器的性能指標3、存儲器的價格:用每位的價格來衡量。設存儲器容量為S,總價格為C,則位價為C/S(分/位)。它不僅包含了存儲元件的價格,還包括為該存儲器操作服務的外圍電路的價格。4、可靠性:指存儲器正常工作(正確存?。┑男阅?。5、功耗:存儲器工作的耗電量。存儲容量、速度和價格的關系:速度快的存儲器往往價格較高,容量也較小。容量、速度和價格三個指標是相互制約的。第三十七頁,共111頁。存儲器的層次結構訪問速度越來越快存儲容量越來越大,每位的價格越來越便宜第三十八頁,共111頁。SRAM存儲位元“1”狀態(tài):T1截止,T2導通“0”狀態(tài):T2截止,T1導通六管MOS靜態(tài)存儲器結構第三十九頁,共111頁。SRAM存儲器的特點使用雙穩(wěn)態(tài)觸發(fā)器表示0和1代碼。電源不掉電的情況下,信息穩(wěn)定保持(靜態(tài))。存取速度快,集成度低(容量?。瑑r格高。常用作高速緩沖存儲器Cache。第四十頁,共111頁。DRAM存儲位元“1”狀態(tài):電容C上有電荷“0”狀態(tài):電容C上無電荷再生:讀出后信息可能被破壞,需要重寫。刷新:經(jīng)過一段時間后,信息可能丟失,需要重寫。單管MOS動態(tài)存儲器結構第四十一頁,共111頁。DRAM存儲器的特點使用半導體器件中分布電容上有無電荷來表示0和1代碼。電源不掉電的情況下,信息也會丟失,因此需要不斷刷新。存取速度慢,集成度高(容量大),價格低。常用作內(nèi)存條。第四十二頁,共111頁。SRAM和DRAM的對比比較內(nèi)容SRAMDRAM存儲信息0和1的方式雙穩(wěn)態(tài)觸發(fā)器極間電容上的電荷電源不掉電時信息穩(wěn)定信息會丟失刷新不需要需要集成度低高容量小大價格高低速度快慢適用場合Cache主存第四十三頁,共111頁。高性能的主存儲器EDRAM,即增強型DRAMCDRAM,帶Cache的DRAMEDORAM(ExtendedDataOutRAM)。也稱“擴展數(shù)據(jù)輸出RAM”SDRAM(SynchronousDynamicRAM),也稱“同步DRAM”。RDRAM(RambusDRAM)DDRSDRAM(雙倍速率SDRAM),簡稱DDRDDR2(第二代,更低電壓,更高效能)DDR3(第三代,更低電壓,更高效能)第四十四頁,共111頁。幾種非易失性存儲器的比較存儲器類別擦除方式能否單字節(jié)修改寫機制MROM只讀不允許否掩膜位寫PROM寫一次讀多次不允許否電信號EPROM寫多次讀多次紫外線擦除,脫機改寫否電信號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技術NOR技術閃速存儲器是最早出現(xiàn)的FlashMemory,目前仍是多數(shù)供應商支持的技術架構,它源于傳統(tǒng)的EPROM器件。與其它FlashMemory技術相比,具有可靠性高、隨機讀取速度快的優(yōu)勢。在擦除和編程操作較少而直接執(zhí)行代碼的場合,尤其是代碼(指令)存儲的應用中廣泛使用。由于NOR技術FlashMemory的擦除和編程速度較慢,而塊尺寸又較大,因此擦除和編程操作所花費的時間很長,在純數(shù)據(jù)存儲和文件存儲的應用中,NOR技術顯得力不從心。第五十一頁,共111頁。NAND技術NAND技術FlashMemory具有以下特點:以頁為單位進行讀和編程操作,1頁為256或512字節(jié);以塊為單位進行擦除操作,1塊為4K、8K或16K字節(jié)。具有快編程和快擦除的功能,其塊擦除時間是2ms;而NOR技術的塊擦除時間達到幾百ms。數(shù)據(jù)、地址采用同一總線,實現(xiàn)串行讀取。隨機讀取速度慢且不能按字節(jié)隨機編程。芯片尺寸小,引腳少,是位成本(bitcost)最低的固態(tài)存儲器,突破了每兆字節(jié)1元的價格限制。芯片包含有失效塊,其數(shù)目最大可達到3~35塊(取決于存儲器密度)。失效塊不會影響有效塊的性能,但設計者需要將失效塊在地址映射表中屏蔽起來?;贜AND的存儲器可以取代硬盤或其它塊設備。第五十二頁,共111頁。存儲器容量擴展的三種方法3、字位擴展2、字擴展1、位擴展從字長和字數(shù)方向擴展從字長方向擴展從字數(shù)方向擴展第五十三頁,共111頁。邊界對準問題為了便于硬件實現(xiàn),通常要求多字節(jié)的數(shù)據(jù)在存儲器的存放方式能滿足“邊界對準”的要求。字(地址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)雙字地址(十進制)存儲器在對準邊界的32位字長的計算機中,半字地址是2的整數(shù)倍,字地址是4的整數(shù)倍,雙字地址是8的整數(shù)倍。當所存數(shù)據(jù)不能滿足此要求時,可填充一個至多個空白字節(jié)。第五十四頁,共111頁。邊界對準問題在數(shù)據(jù)不對準邊界的計算機中,數(shù)據(jù)(例如一個字)可能在兩個存儲單元中,此時需要訪問兩次存儲器,并對高低字節(jié)的位置進行調(diào)整后,才能取得一字。字(地址2)半字(地址0)048字節(jié)(地址7)字節(jié)(地址6)字(地址4)半字(地址10)半字(地址8)存儲器地址(十進制)第五十五頁,共111頁。高速緩存(CACHE)1、為什么采用高速緩存微處理器的時鐘頻率比內(nèi)存速度提高快得多,高速緩存可以提高內(nèi)存的平均性能。2、高速緩存的工作原理
高速緩存是一種小型、快速的存儲器,它保存部分主存內(nèi)容的拷貝。第五十六頁,共111頁。數(shù)據(jù)在內(nèi)存中的存放格式計算機中基本數(shù)據(jù)有邏輯數(shù)、定點數(shù)、無符號數(shù)、浮點數(shù)、字符數(shù)及數(shù)組等。目前微機所用的數(shù)據(jù)(字)長度一般為32位,4個字節(jié)。內(nèi)存地址按字節(jié)編址。計算機指令系統(tǒng)可支持對字節(jié)、半字、字、雙字的運算,有的還支持位操作。為便于硬件的實現(xiàn),一般要求多字節(jié)數(shù)據(jù)采用對準數(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ù)對準邊界存儲的計算機中,對于以二進制表示的存儲地址來說,半字地址的最低位、字地址的最低兩位和雙字地址的最低三位恒為零。這種方式的整個字的存儲時間要短,需要1個存儲周期。第五十八頁,共111頁。32位、4個字節(jié)地址048字節(jié)半字的一半一字的3/4半字有的計算機不要求對準邊界存儲數(shù)據(jù),如下圖所示,但這種方式增加硬件的復雜程度,并且有可能導致訪問次數(shù)增加。例如存儲一個字,則需要2個存儲周期。半字另一半一字的1/4半字第五十九頁,共111頁。CISC:復雜指令集(ComplexInstructionSetComputer)具有大量的指令和尋址方式,指令長度可變8/2原則:80%的程序只使用20%的指令大多數(shù)程序只使用少量的指令就能夠運行。RISC:精簡指令集(ReducedInstructionSetComputer)只包含最有用的指令,指令長度固定確保數(shù)據(jù)通道快速執(zhí)行每一條指令使CPU硬件結構設計變得更為簡單第六十頁,共111頁。CISC與RISC的數(shù)據(jù)通道IFIDREGALUMEM開始退出IFIDALUMEMREG微操作通道開始退出單通數(shù)據(jù)通道RISC:Load/Store結構CISC:尋址方式復雜第六十一頁,共111頁。CISC與RISC的對比類別CISCRISC指令系統(tǒng)指令數(shù)量很多較少,通常少于100執(zhí)行時間有些指令執(zhí)行時間很長,如整塊的存儲器內(nèi)容拷貝;或?qū)⒍鄠€寄存器的內(nèi)容拷貝到存貯器沒有較長執(zhí)行時間的指令編碼長度編碼長度可變,1-15字節(jié)編碼長度固定,通常為4個字節(jié)尋址方式尋址方式多樣簡單尋址操作可以對存儲器和寄存器進行算術和邏輯操作只能對寄存器對行算術和邏輯操作,Load/Store體系結構編譯難以用優(yōu)化編譯器生成高效的目標代碼程序采用優(yōu)化編譯技術,生成高效的目標代碼程序第六十二頁,共111頁。存儲器輸出輸入運算器控制器數(shù)據(jù)線路控制信號第六十三頁,共111頁。一般認為馮.諾依曼機具有如下基本特點:計算機由運算器、控制器、存儲器、輸入設備和輸出設備五部分組成。采用存儲程序的方式,程序和數(shù)據(jù)放在同一存儲器中,由指令組成的程序可以修改。數(shù)據(jù)以二進制碼表示。指令由操作碼和地址碼組成。指令在存儲器中按執(zhí)行順序存放,由指令計數(shù)器指明要執(zhí)行的指令所在的單元地址,一般按順序替增。機器以運算器為中心,數(shù)據(jù)傳送都經(jīng)過運算器。第六十四頁,共111頁。指令寄存器控制器數(shù)據(jù)通道輸入輸出中央處理器存儲器程序指令0指令1指令2指令3指令4數(shù)據(jù)數(shù)據(jù)0數(shù)據(jù)1數(shù)據(jù)2第六十五頁,共111頁。哈佛體系結構哈佛結構是不同于馮·諾依曼結構的一種并行體系結構,其主要特點是程序和數(shù)據(jù)存儲在不同的存儲空間中,即程序存儲器和數(shù)據(jù)存儲器是兩個相互獨立的存儲器,每個存儲器獨立編制、獨立訪問。與之相對應的是系統(tǒng)中設置的兩條總線(程序總線和數(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頁。流水線技術流水線(Pipeline)技術:幾個指令可以并行執(zhí)行
提高了CPU的運行效率
內(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)核運行在ARM狀態(tài)周期
12345
0x8000BL0x8004X0x8008XX0x8FECADD0x8FF0SUB0x8FF4MOV地址
操作FetchDecodeExecuteFetchDecodeExecuteFetchDecodeFetchFetchDecodeExecuteLinkretAdjustFetchDecodeFetch第七十二頁,共111頁。中斷流水線舉例周期
12345678IRQ
IRQ中斷的反應時間最小=7機器周期地址
操作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個機器周期執(zhí)行6條指令,CPI=1.2機器周期。LDR指令之后立即跟一條數(shù)據(jù)操作指令,由于使用了相同的寄存器,將會導致互鎖。WIM第七十五頁,共111頁。周期操作ADD R1,R1,R2SUB R3,R4,R1ORR R8,R3,R4AND R6,R3,R1EOR R3,R1,R2LDR R4,[R7]最佳流水線本例中,用了6個機器周期執(zhí)行6條指令,CPI=1機器周期。LDR指令沒有引起流水線互鎖123456789FDEWFDEWFEWFDEWFDWEFDEWF–取指(Fetch)D
–解碼(Decode) E–執(zhí)行(Execute)I–互鎖(Interlock)M–存儲器(Memory)W–寫回(Writeback)MD第七十六頁,共111頁。LDM互鎖(1)本例中,用了8個機器周期執(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個機器周期執(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)存保護寫緩沖ARM940T2x4KcachesMPU寫緩沖ARM9xxT第八十頁,共111頁。ARM10E系列概述ARM1020Ev5TE架構CPI1.36級流水線靜態(tài)分支預測32kB指令cache和32kB數(shù)據(jù)cache支持“Hitundermiss”
非阻塞的執(zhí)行單元每周期64位的LDM/STM操作EmbeddedICE邏輯-RT-II支持新的VFPv1結構ARM1022E同上,除了cache大小為16kB對SUDL(singleuserdesignlicense)有效第八十一頁,共111頁。ARM10整數(shù)單元數(shù)據(jù)通道寄存器BankPSR乘法器移位器ALUBAImmBA結果CLZ寫端口PC數(shù)據(jù)裝載第八十二頁,共111頁。周期OperationLDR ABCADD AB1234567MUL AF-FetchI-IssueD
-DecodeE-ExecuteM–MemoryWb-WritebackWl-Writetoregisterusingloadport
順序代碼的執(zhí)行
開始于64位的對齊地址Address0x073340x0732C0x07330SUB BC0x07328ADD AC0x07324ADD B0x07320FetchtoBuffer89MWlDWbDDWbDWbFDWbDEEEEEEFFFFFIIIIII第八十三頁,共111頁。超標量(Superscalar)執(zhí)行:超標量CPU采用多條流水線結構執(zhí)行1取指指令譯碼2譯碼1執(zhí)行2執(zhí)行1取指譯碼2譯碼1執(zhí)行2流水線1流水線2數(shù)據(jù)回寫第八十四頁,共111頁。能指標周期
--在電子技術中,脈沖信號是一個按一定電壓幅度,一定時間間隔連續(xù)發(fā)出的脈沖信號。脈沖信號之間的時間間隔稱為周期;而將在單位時間(如1秒)內(nèi)所產(chǎn)生的脈沖個數(shù)稱為頻率。時鐘周期(振蕩周期)--定義為時鐘脈沖的倒數(shù),是計算機中最基本的、最小的時間單位。機器周期(CPU周期)--在計算機中,為了便于管理,常把一條指令的執(zhí)行過程劃分為若干個階段,每一階段完成一項工作。例如,取指令、存儲器讀、存儲器寫等,這每一項工作稱為一個基本操作。完成一個基本操作所需要的時間稱為機器周期。指令周期
--指執(zhí)行一條指令所需要的時間,一般由若干個機器周期組成。通常含一個機器周期的指令稱為單周期指令??偩€周期
--指的使通過總線完成一次內(nèi)存讀寫操作或完成一次輸入輸出設備的讀寫操作所必須的時間。第八十五頁,共111頁。嵌入式處理器體系結構按體系結構的不同可分為五大類ARMMIPS:無內(nèi)部互鎖流水級的處理器,應用領域覆蓋游戲機、路由器、激光打印機、掌上電腦等POWERPC:伸縮性好、方便靈活,從高端的工作站、服務器到桌面計算機系統(tǒng),從消費類電子到大型通信設備X86SH系列第八十六頁,共111頁。第八十七頁,共111頁。ARM簡介ARM公司簡介ARM是AdvancedRISCMachines的縮寫,它是一家微處理器行業(yè)的知名企業(yè),該企業(yè)設計了大量高性能、廉價、耗能低的RISC(精簡指令集)處理器。
公司的特點是只設計芯片,而不生產(chǎn)。它將技術授權給世界上許多著名的半導體、軟件和OEM廠商,并提供服務。第八十八頁,共111頁。ARM簡介ARM公司簡介將技術授權給其它芯片廠商形成各具特色的ARM芯片...ARM芯片售出超過150億顆。現(xiàn)在每天以超過1000萬的量出貨。第八十九頁,共111頁。第九十頁,共111頁。ARM簡介ARM特點ARM處理器為RISC芯片,其簡單的結構使ARM內(nèi)核非常小,這使得器件的功耗也非常低。它具有經(jīng)典RISC的特點:大的、統(tǒng)一的寄存器文件;裝載/保存結構,數(shù)據(jù)處理操作只針對寄存器的內(nèi)容,而不直接對存儲器進行操作;簡單的尋址模式;統(tǒng)一和固定長度的指令域,簡化了指令的譯碼,便于指令流水線設計。第九十一頁,共111頁。ARM簡介ARM特點每條數(shù)據(jù)處理指令都對算術邏輯單元和移位器控制,實現(xiàn)了ALU和移位器的最大利用;地址自動增加和減少尋址模式,優(yōu)化程序循環(huán);多寄存器裝載和存儲指令實現(xiàn)最大數(shù)據(jù)吞吐量;所有指令的條件執(zhí)行實現(xiàn)最快速的代碼執(zhí)行。第九十二頁,共111頁。ARM處理器商業(yè)模式體系結構(表示法:ARMv4,ARMv5,ARMv6)定義一個ARM處理器必須的操作,包括:程序員編程模型指令集系統(tǒng)配置異常處理存儲模型處理器(表示法:ARM1176JZF-S,Cortex-M3,ARM926EJS)按照某個版本體系結構所定義的內(nèi)容具體實現(xiàn)的一款處理器設備(如:S3C6410,AT91SAM9260)以某個處理器為核心,加上外圍組件的具體的SOC芯片第九十三頁,共111頁。ARM體系結構第九十四頁,共111頁。ARM體系結構第九十五頁,共111頁?;谥噶罴w系結構的分類版本ARM架構處理器定義了7種不同的版本:V1版架構:基本的數(shù)據(jù)處理指令(無乘法);字節(jié)、半字和字的Load/Store指令;轉移指令,包括子程序調(diào)用及鏈接指令;軟件中斷指令;尋址空間64MB(226)。V2版架構:
在V1版上進行了擴充,例如ARM2和ARM3架構,并增加了以下功能:乘法和乘加指令;支持協(xié)處理器操作指令;快速中斷模式;SWP/SWPB的基本存儲器與寄存器交換指令;尋址空間64MB。第九十六頁,共111頁。基于指令集體系結構的分類版本V3版架構:V3架構對ARM體系結構作了較大的改動,把尋址空間增至32位,增加了當前程序狀態(tài)寄存器CPSR和存儲程序狀態(tài)寄存器SPSR,以便增強對異常情況的處理。增加了中止和未定義二種處理模式。ARM6就是采用該版架構。V4版架構:
它在V3版架構上作了進一步擴充,使ARM使用更加靈活。ARM7、ARM8、ARM9都采用該版結構。增加功能有符號化和半符號化半字及符號化字節(jié)的存取指令;增加了16位的Thumb指令集;完善了軟件中斷SWI指令的功能;處理器系統(tǒng)模式引進特權方式時使用用戶寄存器操作;把一些未使用的指令空間撲獲為未定義指令。第九十七頁,共111頁。基于指令集體系結構的分類版本V5版架構:ARM10和XScale都采用該版架構。新增指令有:帶有連接和交換的轉移BLX指令;計數(shù)前導零CLZ指令;BBK中斷指令;增建了數(shù)字信號處理指令;為協(xié)處理器增加了更多可選擇的指令。V6版架構:是在低功耗的同時,還強化了圖形處理性能,追加有效進行多媒體處理的SIMD功能。于2002年推出,ARM11采用該架構,具體新增加了以下功能:THUMBTM-35%代碼壓縮;DSP擴充-高性能定點DSP功能;JazelleTM-Java性能優(yōu)化,可提高8倍;Media擴充-音/視頻性能優(yōu)化,可提高4倍。另外還支持多微處理器內(nèi)核。第九十八頁,共111頁?;谥噶罴w系結構的分類版本V7版架構:ARMv7架構是在ARMv6架構的基礎上誕生的。該架構采用了Thumb-2技術,ARMv7架構還采用了NEON技術,將DSP和媒體處理能力提高了近4倍,并支持改良的浮點運算,滿足下一代3D圖形、游戲物理應用以及傳統(tǒng)嵌入式控制應用的需求。此外,ARMv7還支持改良的運行環(huán)境,以迎合不斷增加的JIT(JustInTime)和DAC(DynamicAdaptiveCompilation)技術的使用。在命名方式上,基于ARMv7架構的ARM處理器已經(jīng)不再延用過去的數(shù)字命名方式,而是冠以Cortex的代號?;趘7A的稱為"Cortex-A系列",基于v7R的稱為"Cortex-R系列",基于v7M的稱為"Cortex-M"第九十九頁,共111頁。ARM處理器系列第一百頁,共111頁。項目ARM7ARM9ARM10ARM11流水線3568典型頻率(MHz)80150260335功耗(mW/MHz)0.060.19(+cache)0.5(+cache)0.4(+cache)性能MIPS/MHz0.971.11.31.2架構馮.諾伊曼哈佛哈佛哈佛ARM簡介第一百零一頁,共111頁。ARM簡介ARM處理器命名規(guī)則x: 7,9,10,11y: 2帶有MMU 4帶有MPU 6無MMU和MPUz: 0
標準cache 2減小的cache 6可變的cache第一百零二頁,共111頁。ARM系列微處理器核特點ARM71994年出售出超過100億ARM7TDMI:整數(shù)處理ARM7TDMI-S:處理器的可綜合版本;ARM720T:帶MMU的處理器核心,支持操作系統(tǒng);ARM7EJ-S:帶有DSP和JazelleTM技術,能夠?qū)崿F(xiàn)Java加速功能馮.諾伊曼體系結構;ARMTDMI是目前應用最廣的微處理器核ARM720T帶有MMU和8KB的指令數(shù)據(jù)混合cache;ARM7EJ-執(zhí)行ARMv5TEJ指令,5級流水線,提供Java加速指令,沒有存儲器保護。ARM9售出超過50億顆ARM920T:帶有獨立的16KB數(shù)據(jù)和指令Cache;ARM922T:帶有獨立的8位KB數(shù)據(jù)和指令Cache;ARM940T–包括更小數(shù)據(jù)和指令Cache和一個MPU基于ARM9TDMI,帶16位的Thumb指令集,增強代碼密度最多到35%;在0.13μm工藝下最高性能可達到300MIPS(Dhrysto
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 技術入股協(xié)議合同范本
- 易貨寄售合同范本
- 二手車出售的合同范本
- 城市排水設施建設招標合同三篇
- 鴨蛋采購合同范本
- 抗滑樁施工合同范本
- 美國地產(chǎn)合同范本
- 訂購西瓜合同范本
- 買賣桉樹合同范本
- 圖文設計合同范本
- 八年級物理(上)期中考試分析與教學反思
- 國家開放大學《財政與金融(農(nóng))》形考任務1-4參考答案
- 2023銀行網(wǎng)點年度工作總結
- 工廠反騷擾虐待強迫歧視政策
- 計算機教室(微機室)學生上機使用記錄
- Photoshop(PS)教學課件:第6章調(diào)色
- FAI首件檢驗報告
- 生活滿意度量表(SWLS)
- 冪函數(shù)評課稿
- 能你也能:IPD產(chǎn)品管理實踐
- 細胞生物學主題知識講座
評論
0/150
提交評論