第3章 基礎知識_第1頁
第3章 基礎知識_第2頁
第3章 基礎知識_第3頁
第3章 基礎知識_第4頁
第3章 基礎知識_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基礎知識總線結構哈佛(Harvard)結構馮·諾依曼結構(VonNeumann)結構哈佛(Harvard)結構程序存儲器數(shù)據(jù)存儲器CPU訪問程序的地址線訪問程序的數(shù)據(jù)線訪問數(shù)據(jù)的地址線訪問數(shù)據(jù)的數(shù)據(jù)線程序存儲器訪問總線數(shù)據(jù)存儲器訪問總線不嚴格的哈佛(Harvard)結構MCS-51系列單片機的總線結構程序存儲器數(shù)據(jù)存儲器CPU 訪問程序的地址線 共用的數(shù)據(jù)線 訪問數(shù)據(jù)的地址線馮·諾依曼結構(VonNeumann)程序存儲器數(shù)據(jù)存儲器CPU公用的地址線共用的數(shù)據(jù)線哈佛結構VS馮·諾曼結構哈佛結構是不同于傳統(tǒng)的馮·諾曼(VonNeuman)結構的并行體系結構,其主要特點是將程序和數(shù)據(jù)存儲在不同的存儲空間中,即程序存儲器和數(shù)據(jù)存儲器是兩個相互獨立的存儲器,每個存儲器獨立編址,獨立訪問。與兩個存儲器相對應的是系統(tǒng)中設置了程序總線和數(shù)據(jù)總線兩條總線,從而使數(shù)據(jù)的吞吐率提高了一倍。馮·諾曼結構則是將指令、數(shù)據(jù)、地址存儲在同一存儲器中,統(tǒng)一編址,依靠指令計數(shù)器提供的地址來區(qū)分是指令、數(shù)據(jù)還是地址。取指令和取數(shù)據(jù)都訪問同一存儲器,數(shù)據(jù)吞吐率低。流水線技術將每條指令分解為多步并讓各步操作重疊。從而實現(xiàn)多條指令并行處理的技術。流水線技術例如,ARM7TDM(-S)處理器使用3步流水線結構,一條指令的完整執(zhí)行被分為3個步驟,即:取指令、譯碼、執(zhí)行。超流水線技術超流水線是指某些CPU內(nèi)部的流水線超過通常的5-6步以上,例如Pentiumpro的流水線就長達14步。將流水線設計的步(級)數(shù)越多,其完成一條指令的速度越快,因此才能適應工作主頻更高的CPU。超標量(superscalar)技術它是指在CPU中有一條以上的流水線,并且每時鐘周期內(nèi)可以完成一條以上的指令,這種設計就叫超標量技術。流水線技術-問題相關和轉(zhuǎn)移相關一個流水線系統(tǒng)中,如果第二條指令需要用到第一條指令的結果,這種情況叫做相關。亂序執(zhí)行轉(zhuǎn)移在執(zhí)行無跳轉(zhuǎn)的線性代碼時,流水線的效率最高。當程序出現(xiàn)分支時,例如遇到跳轉(zhuǎn)語句,流水線將被清空,需要重新填滿才能恢復到全速執(zhí)行。分支預測技術CISC&RISCCISC(ComplexInstructionSetComputer,復雜指令集計算機)。優(yōu)點是:豐富的指令系統(tǒng)很大程度簡化了程序設計的難度。CISC中指令的長度不一,可以節(jié)省存儲空間。CISC指令可以直接對存儲器操作,使得通用寄存數(shù)目較少。缺點:由于指令系統(tǒng)龐大,尋址方式、指令格式較多,指令長度不一,增加了硬件復雜度,設計成本高。指令操作復雜、執(zhí)行周期長、速度低,難以優(yōu)化編譯生成高效的機器語言。許多指令使用頻度低,不但增加了設計負擔,也降低了系統(tǒng)的性價比。CISC&RISCRISC(ReducedInstructionSetComputer,精簡指令集計算機)好處:(1)精簡指令系統(tǒng)的設計適合超大規(guī)模集成電路(VLSI)實現(xiàn)。(2)可以提供直接支持高級語言的能力,簡化編譯程序的設計。(3)提高機器的執(zhí)行速度和效率,降低設計成本,提高系統(tǒng)的可靠性。缺點:(1)由于指令少,加重了匯編語言程序員的負擔,增加了機器語言程序的長度,從而占用了較大的存儲空間。(2)早期的RISC結構對浮點運算的支持不夠,對虛擬存儲器的支持也不夠理想。(3)相對來說,RISC機器上的編譯程序比CISC機器上的難寫。大端存儲和小端存儲例如在ARM體系結構中,存儲器的存儲格式有三種類型即字節(jié)(Byte)、半字(Half-Word)和字(word)。其中,字節(jié)的長度均為8位。半字(Half-Word)的長度為16位,在內(nèi)存中占用2個字節(jié)空間。字(Word)的長度為32位,在內(nèi)存中占用4個字節(jié)空間。存儲器中對數(shù)據(jù)的存儲是以字節(jié)為基本單位的,字和半字由多個字節(jié)組成的,因此,字和半字在存儲器中的存放就有兩種次序,一種是大端存儲次序,另一種是小端存儲次序。大端存儲大端存儲是指字或者半字的最高位字節(jié)(MSB:MostSignificantBit)存放在內(nèi)存的最低位字節(jié)地址上。例如我們有一個字為0x12345678(0x表示一個16進制的數(shù)),這個字由4個字節(jié)組成,按照從高位到低位的次序分別是:0x12,0x34,0x56,0x78。如果把這個字放到以0x00008000起始的內(nèi)存中,這個字在內(nèi)存中的實際存放情況如表所示:大端存儲如果我們有一個半字為0x1234,這個字由2個字節(jié)組成,按照從高位到低位的次序分別是:0x12,0x34。如果把這個字放到以0x00008000起始的內(nèi)存中,這個字在內(nèi)存中的實際存放情況如表所示:大端存儲大端存儲次序非常像我們平時的書寫次序,即先寫大數(shù),后寫小樹。比如,我們總是按照千、百、十、個位來書寫數(shù)字。另外,大端存儲次序還廣泛運用在TCP/IP協(xié)議上,因此又稱作網(wǎng)絡字節(jié)次序。例如在網(wǎng)絡中我們傳遞的IP地址是10.13.82.13(16進制是:0A.0D.52.0D),在TCP/IP數(shù)據(jù)包的封裝中,IP地址也被封裝為如表所示。小端存儲小端存儲是指字或者半字的最低位字節(jié)(LSB:LowestSignificantBit)存放在內(nèi)存的最低位字節(jié)地址上。以16進制數(shù)0x12345678為例,這個字由4個字節(jié)組成,按照從高位到低位的次序分別是:0x12,0x34,0x56,0x78。如果把這個字放到以0x00008000起始的內(nèi)存中,這個字在內(nèi)存中的實際存放情況如表3.4所示:小端存儲如果我們有一個半字為0x1234,這個字由2個字節(jié)組成,按照從高位到低位的次序分別是:0x12,0x34。如果把這個字放到以0x00008000起始的內(nèi)存中,這個字在內(nèi)存中的實際存放情況如表所示:存儲器管理單元MMUMMU(MemoryManagementUnit)。主要功能:1)將虛地址轉(zhuǎn)換成物理地址。

2)對存儲器訪問權限的控制。ARM7TDMI處理器中沒有MMU,不支持WindowsCE和標準Linux操作系統(tǒng),uCLinux可以運行在沒有MMU的處理器上BSP

BSP(BoardSupportPacket)就是針對嵌入式系統(tǒng)開發(fā)板的開發(fā)工具包,對BSP比較貼切的翻譯應該是“板級開發(fā)包”。BSP既然是一個開發(fā)包,里面就會包含各種開發(fā)軟件、工具以及文檔。不同的BSP內(nèi)部所包含的內(nèi)容是不一樣的,通常都回包含以下內(nèi)容:C/C++語言的交叉編譯器。BootLoader程序。嵌入式操作系統(tǒng),例如嵌入式Linux、WinCE等。調(diào)試、下載工具;例如JTAG調(diào)試下載軟件,串口調(diào)試下載軟件等。開發(fā)板上設備的驅(qū)動程序。開發(fā)板相關的技術文檔等。BSP與板子密切相關CPU內(nèi)存Falsh電路結構接口芯片

BootLoader和OSLoaderBootLoader-啟動加載器,是用來完成系統(tǒng)啟動和系統(tǒng)軟件加載工作的程序。它是底層硬件和上層應用軟件之間的一個中間軟件,其主要功能是:完成處理器和周邊電路正常運行所要的初始化工作。可以屏蔽底層硬件的差異,使上層應用軟件的編寫和移植更加方便。不僅具有類似PC機上常用的BIOS功能,而且還可具有一定的調(diào)試、下載、網(wǎng)絡更新等功能。BootLoader和板子密切相關,屬于BSPCPU內(nèi)存Falsh電路結構接口芯片OSLoaderOSLoader顧名思義就是操作系統(tǒng)的載入器,它是用來載入操作系統(tǒng)的,也通常用于多操作系統(tǒng)的載入管理,OSLoader在PC系統(tǒng)中比較常見,例如Linux下的Grub、Lilo,Windows下的Windows2k/NT/XP的OSLoader嵌入式系統(tǒng)中很少單獨使用,一般包含在BootLoader中進程和線程一個進程是一個正在運行的應用程序的實例。它由兩個部分組成:一個是操作系統(tǒng)用來管理這個進程的內(nèi)核對象。另一個是這個進程擁有的地址空間從執(zhí)行角度方面看,一個進程由一個或多個線程組成。一個線程是一個執(zhí)行單元,它控制CPU執(zhí)行進程中某一段代碼段。一個線程可以訪問這個進程中所有的地址空間和資源。一個進程最少包括一個線程來執(zhí)行代碼,這個線程又叫做主線程。ICE和ICDICE(In-Circuit

Emulator)

即在線仿真器。ICE是仿照目標機上的CPU而專門設計的硬件,可以完全仿真處理器芯片的行為,并且提供豐富的調(diào)試功能。ICD(In-Circuit

Debugger)是在線調(diào)試器,它是ICE的簡化調(diào)試工具。由于ICE的價格非常昂貴,并且每種CPU都需要一種與之對應的ICE,使得開發(fā)成本非常高,一個比較好的解決辦法是讓CPU直接在其內(nèi)部實現(xiàn)調(diào)試功能,并通過在開發(fā)板上引出的調(diào)試端口,發(fā)送調(diào)試命令和接收調(diào)試信息,完成調(diào)試過程。使用ICD的一個前提條件就是,被調(diào)試的處理器內(nèi)部必需具有調(diào)試功能。ROM

MonitorROM

Monitor即ROM監(jiān)視器。它是通過在開發(fā)主機上運行一個ROM的軟件調(diào)試工具,同時在目標機上運行ROM監(jiān)視器(ROM

Monitor)和被調(diào)試程序,開發(fā)主機通過軟件調(diào)試工具與目標機上的ROM監(jiān)視器建立通信連接。ROM

EmulatorROM

Emulator即ROM仿真器。它是一個硬件設備,在使用時,它通常被插入到目標機上的ROM插槽中,專門用于仿真目標機上的ROM芯片。在使用這種調(diào)試方式時,被調(diào)試程序首先下載到ROM仿真器中,它等效于下載到目標機的ROM芯片上,然后在ROM仿真器中完成對目標程序的調(diào)試。JTAG20世紀80年代,聯(lián)合測試行動組(Jointtestactiongroup:JTAG)起草了邊界掃描測試(Boundaryscantesting:BST)規(guī)范,后來在1990年被批準為IEEE標準,即IEEE1149.1規(guī)定,簡稱為JTAG標準。邊界掃描(Boundary-Scan)在JTAG調(diào)試當中,邊界掃描(Boundary-Scan)是一個很重要的概念。邊界掃描技術的基本思想是在靠近芯片的輸入輸出管腳上增加一個移位寄存器單元。因為這些移位寄存器單元都分布在芯片的邊界上(周圍),所以被稱為邊界掃描寄存器(Boundary-ScanRegisterCell)。當芯片處于調(diào)試狀態(tài)的時候,這些邊界掃描寄存器可以將芯片和外圍的輸入輸出隔離開來,通過這些邊界掃描寄存器單元,可以實現(xiàn)對芯片輸入輸出信號的觀察和控制。TAP(TestAccessPort)在邊界掃描還有一個重要概念就是TAP(TestAccessPort)。TAP是一個通用的端口,通過TAP可以訪問芯片提供的所有數(shù)據(jù)寄存器(DR)和指令寄存器(IR)。對整個TAP的控制是通過TAPController來完成的。TAP總共包括5個信號接口TCK、TMS、TDI、TDO和TRST:其中4個是輸入信號接口和另外1個是輸出信號接口。一般,我們見到的開發(fā)板上都有一個JTAG接口,該JTAG接口的主要信號接口就是這5個。JTAG-TAP編譯器和交叉編譯器編譯器編譯器(Compiler)是將一種語言翻譯為另一種語言的計算機程序。編譯器將源程序作為輸入,而產(chǎn)生用目標語言(Target

language)表達的等價程序。通常,編譯器所生成目標代碼是運行在和編譯器運行環(huán)境相似的硬件平臺上的

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論