ARM體系結(jié)構(gòu)復(fù)習(xí)_第1頁
ARM體系結(jié)構(gòu)復(fù)習(xí)_第2頁
ARM體系結(jié)構(gòu)復(fù)習(xí)_第3頁
ARM體系結(jié)構(gòu)復(fù)習(xí)_第4頁
ARM體系結(jié)構(gòu)復(fù)習(xí)_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一章馮洛伊曼計算機(jī)結(jié)構(gòu)特點:計算機(jī)由運算器,存儲器,控制器,輸入設(shè)備和輸出設(shè)備五部分組成。指令與數(shù)據(jù)以同等地位存放在存儲器中,并可按地址對它們進(jìn)行訪問。指令在存儲器中順序存放??刂破鬏敵鲈O(shè)備輸入設(shè)備運算器存儲器機(jī)器以運算器為中心,數(shù)據(jù)的傳輸必須通過運算器。實現(xiàn)RISC(精簡指令系統(tǒng)計算機(jī))的方法1、 減少指令種類:RISC的指令系統(tǒng)只提供能完成簡單操作的指令,復(fù)雜的操作由編譯器或者程序員通過多條指令的組合來完成。2、 Load/Store結(jié)構(gòu):存儲器中的數(shù)據(jù)可以用Load/Store指令不經(jīng)處理器直接讀入寄存器,之后處理器再對寄存器的數(shù)據(jù)的操作則是訪問寄存器而不是存儲器了。從而提高系統(tǒng)工作速

2、度。3、 采用指令流水線技術(shù):這種技術(shù)把一條指令的執(zhí)行過程分解為多個步驟,并在處理器中為每步都配置一個硬件裝置來同時工作,從而實現(xiàn)多條指令的并行處理。4、 在處理器中配置更多的通用寄存器寄存器是處理器訪問速度最快的存儲裝置,大量地配置處理器中的寄存器有利于提高計算機(jī)系統(tǒng)的工作速度。嵌入式計算機(jī)系統(tǒng)的特點1、 專用性強(qiáng):嵌入式系統(tǒng)通常是面相某個特定應(yīng)用的,所以嵌入式系統(tǒng)的硬件是為特定用戶群設(shè)計的,它通常都具有某種專用性的特點。2、 可裁剪性好:嵌入式系統(tǒng)的硬件和操作系統(tǒng)都必須設(shè)計成可裁剪的,以便用戶可以根據(jù)實際應(yīng)用去除冗余嗎,從而達(dá)到最精簡的配置。3、 實時性與可靠性好:嵌入式系統(tǒng)中的軟件都固化

3、在存儲器芯片或單片系統(tǒng)的存儲器里,加上精心設(shè)計的操作系統(tǒng),可以快速地響應(yīng)外部事件,同時提高了系統(tǒng)的可靠性。4、 功耗低:由于嵌入式系統(tǒng)中的軟件都固化在存儲器芯片或單片系統(tǒng)的存儲器之中,所以它具有功耗低的特點。第二章并行總線:由多條傳輸線組成,其數(shù)目與被傳輸?shù)臄?shù)據(jù)的位數(shù)相同,每條線負(fù)責(zé)傳輸一位二進(jìn)制代碼。它可以一次同時傳送一個多位二進(jìn)制代碼。串行總線:在實際系統(tǒng)中使用一根線來傳送多位二進(jìn)制信息,這個多位二進(jìn)制代碼在這根線上一位接著一位地逐一傳輸,這樣的總線叫做串行總線。總線:連接計算機(jī)系統(tǒng)多個部件的信息傳輸線數(shù)據(jù)總線:在計算機(jī)的各個部件之間傳送數(shù)據(jù)的通路。 地址總線:用來傳送由指令或程序計數(shù)器經(jīng)

4、地址寄存器送出的地址信息??刂瓶偩€:用來傳遞控制信息的總線叫控制總線??偩€標(biāo)準(zhǔn):1、 ISA標(biāo)準(zhǔn):慢速IO與高速存儲器總線分開的一種雙線結(jié)構(gòu)。2、 PCI總線:先進(jìn)的局部總線。3、 USB通用串行總線接口:通用串行總線接口。EPROM芯片在寫入數(shù)據(jù)后,還要以不透光的貼紙或膠布把窗口封住,以免受到周圍的紫外線照射而使數(shù)據(jù)受損。信號類型:1、 數(shù)字量:二進(jìn)制形式的數(shù)據(jù)2、 模擬量:用電壓的高低或電流的大小來表示物理量大小的信號3、 開關(guān)量:可以表示為0、1兩種狀態(tài)的信號4、 脈沖量:以脈沖形式來表示的信號外部設(shè)備的特點:信號種類繁多、沒有地址、工作速度與處理器的工作速度不匹配端口:接口中每一個具有

5、地址的寄存器叫做端口I/O端口的編址方式1、 存儲器映像方式:把IO端口與存儲器的存儲單元同等看待并一起編址的方式2、 隔離IO方式:即存儲器和IO端口兩者的地址空間互相隔離,各自進(jìn)行編址。外部設(shè)備和處理器的聯(lián)絡(luò)方式1、 查詢方式:當(dāng)處理器需要與外設(shè)交換信息時,處理器主動讀取對應(yīng)設(shè)備接口的狀態(tài)信息,如果設(shè)備準(zhǔn)備就緒,就進(jìn)行數(shù)據(jù)通信,否則,就重復(fù)讀取設(shè)備接口的狀態(tài)信息,直到設(shè)備狀態(tài)信息為就緒狀態(tài)為止。2、 中斷方式:此方式是外部設(shè)備進(jìn)行主動聯(lián)絡(luò)的方式,使用此方式的前提是處理器必須具有一個中斷請求信號輸入端。當(dāng)外部設(shè)備準(zhǔn)備就緒時,使用狀態(tài)信號端通過處理器的中斷請求輸入端向處理器發(fā)出一個通知信號,告

6、知處理器本外設(shè)已經(jīng)具備通信的條件了,而處理器可在條件允許時中斷現(xiàn)行程序的執(zhí)行,而轉(zhuǎn)向執(zhí)行另一個與外設(shè)進(jìn)行數(shù)據(jù)交換的程序。優(yōu)點是避免了高速的處理器因等待低速的外設(shè)而造成的時間浪費,從而大大提高了處理器的工作效率,因此它是目前處理器與外設(shè)進(jìn)行信息溝通的最普遍方式。3、 DMA方式:直接存儲器數(shù)據(jù)傳輸控制器,它的工作原理是當(dāng)io設(shè)備需要與主存進(jìn)行數(shù)據(jù)傳輸時,由io設(shè)備向DMA控制器發(fā)出數(shù)據(jù)傳輸請求信號,而DMA控制邏輯向處理器發(fā)出總線請求信號HRQ;處理器讓出總線控制權(quán)的同時,處理器發(fā)出應(yīng)答信號HLDA,通過控制邏輯再以DACK信號發(fā)到IO設(shè)備,至此主機(jī)與IO設(shè)備的聯(lián)絡(luò)成功。接著,就按預(yù)先設(shè)置于地址

7、指針控制機(jī)構(gòu)中的存儲緩沖區(qū)起始地址開始在IO設(shè)備與主存之間傳輸數(shù)據(jù),數(shù)據(jù)傳輸完畢后,則由中斷機(jī)構(gòu)向處理器發(fā)出一個中斷請求信號,以告知處理器。異步和同步串行通信串行通信根據(jù)時鐘的控制方式可分為同步通信方式和異步通信方式。如果發(fā)送設(shè)備和接收設(shè)備各自使用自己的時鐘來控制通信,那么這種通信方式叫做異步串行通信方式,這種通信方式允許雙方的時鐘在準(zhǔn)確度和穩(wěn)定度上有一定的差異,如果發(fā)送和接收雙方使用同一個時鐘來控制通信,那么這種通信方式就叫做同步串行通信方式,同步通信要求雙方的時鐘必須嚴(yán)格一致。波特率:是衡量數(shù)據(jù)傳輸速率的指標(biāo)。表示每秒鐘傳輸?shù)亩M(jìn)制位數(shù)。堆棧的組織方式:滿遞增堆棧:堆棧指針指向最后壓入的數(shù)

8、據(jù)且由低地址向高地址生成。滿遞減堆棧:堆棧指針指向最后壓入的數(shù)據(jù)且由高地址向低地址生成。空遞增堆棧:指向下一個將要放入數(shù)據(jù)的空位置,且由低地址向高地址生成??者f減堆棧:指向下一個將要放入數(shù)據(jù)的空位置,且由高地址向低地址生成。ARM核具有兩種指令集:32位ARM和16位ThumbARM指令分為數(shù)據(jù)處理指令、程序跳轉(zhuǎn)指令、程序狀態(tài)寄存器操作指令、load/store指令、協(xié)處理器指令和異常指令。AMR指令集和Thumb指令集的區(qū)別:Thumb指令集中的指令不能使用“S”后綴來影響程序狀態(tài)寄存器PSR中的標(biāo)志。Thumb指令集只有一條分支指令可以使條件指令,而其余的Thumb指令都是無條件指令。大多

9、數(shù)指令為2操作數(shù)指令,只有極少數(shù)的指令為3操作數(shù)指令由于指令字長比較短,所以立即數(shù)的取值范圍要小得多具有邏輯移位操作指令,堆棧操作更加靈活例:有兩個128位數(shù),第一個數(shù)由高到低存放在寄存器R7-R4中,第二個數(shù)由高到低存放在寄存器R11-R8中,編寫程序把兩個數(shù)相加后,運算結(jié)果由高到低存放到寄存器R3-R0中。ADDS R0,R4,R8 ; 加低位的字,不帶進(jìn)位ADCS R1,R5,R9 ;加第二個字,帶進(jìn)位ADCS R2,R6,R10 ; 加第三個字,帶進(jìn)位ADCS R3,R7,R11 ; 加第四個字,帶進(jìn)位注:ADC是帶進(jìn)位加法指令RSB逆向減法指令、RSC帶進(jìn)位逆向減法指令、MUL32位

10、積的32位乘法運算指令、MLA帶加法運算的32位積的32位乘法指令、SMULL64位積的32乘法運算指令、SMLAL帶加法運算的64位積32位乘法運算指令、LDR字節(jié)加載指令、STR字節(jié)存儲指令。例:現(xiàn)已知寄存器R0中存放了數(shù)據(jù)a,寄存器R1中存放了數(shù)據(jù)b,編寫程序求a和b的最大公約數(shù)并將其存入寄存器ROgcb CMP R0,R1 ; 比較a和b的大小 SUBGT R0,R0,R1 ; 如果a大于b,a=a-b SUBLT R1,R1,R0 ;如果a小于b,b=b-a BNE gcb ;如果a!=b,返回gcb MOV PC,LR ;如果a=b,返回主程序例:已知R0=0x00000000和R

11、1=0x00009000,并已知在存儲器中首地址為0x00009000的區(qū)域中存放了數(shù)據(jù)0x01010101,在首地址為0x00009004的區(qū)域存放了數(shù)據(jù)0x02020202。寫出執(zhí)行命令LDR R0,【R1,#4】后R0和R1的數(shù)據(jù)R0=0x02020202,R1=0x00009000例:執(zhí)行命令LDR R0,【R1 ,#4】!后R0和R1中的數(shù)據(jù)R0=0x02020202,R1=0x00009004例:執(zhí)行命令LDR R0,【R1】,#4后R0和R1中的數(shù)據(jù)R0=0x01010101,R1=0x00009004LDMIA R0!,R1-R3是指將R0所指的單元格中的數(shù)據(jù)讀出到R1中,RO

12、自增1后再重復(fù)上述步驟。I表示增加,D表示減少,A表示取數(shù)后自增,B表示取數(shù)前自增。非屏蔽中斷信號輸入端:帶有開關(guān)能阻止中斷請求的中斷輸入端中斷管理原理:在中斷源和處理器之間有一個中斷控制器,用來對每個中斷源設(shè)置相應(yīng)的開關(guān)來決定一個中斷源是否能發(fā)出中斷請求。其中,中斷控制開關(guān)受中斷屏蔽寄存器的裝置來控制,寄存器的每一位都控制一個開關(guān)。人們把這個中斷屏蔽寄存器作為中斷控制器的一個端口,從而使程序可以通過這個端口設(shè)置數(shù)據(jù)來對這些開關(guān)接通與斷開進(jìn)行控制。中斷的實現(xiàn)方法:硬件實現(xiàn)方法:為計算機(jī)系統(tǒng)配備一套能按優(yōu)先等級對中斷源進(jìn)行 排隊的硬件電路,以保證級別高的中斷能先于級別低的中斷被處理器所響應(yīng)。軟件

13、實現(xiàn)方法:把所有中斷源的中斷請求信號分成兩路,其中一路經(jīng)或邏輯送到處理器的中斷請求輸入端,而另一路則送入中斷接口電路經(jīng)數(shù)據(jù)總線送入處理器。當(dāng)處理器發(fā)現(xiàn)有中斷請求而響應(yīng)中斷并執(zhí)行中斷服務(wù)程序時,在中斷服務(wù)程序中按中斷優(yōu)先級順序?qū)Ω鱾€中斷源進(jìn)行查詢,一發(fā)現(xiàn)中斷源有中斷請求,就轉(zhuǎn)向該中斷服務(wù)程序。中斷嵌套: 當(dāng)處理器在處理一個低級中斷時,接受到一個高級中斷請求,此時,計算機(jī)系統(tǒng)將低級的中斷服務(wù)被高級中斷服務(wù)所中斷,這種現(xiàn)象叫做中斷嵌套。調(diào)用中斷服務(wù)子程序的方法:調(diào)用方法和轉(zhuǎn)移方法處理器響應(yīng)中斷的條件:處理器程序狀態(tài)寄存器的中斷屏蔽標(biāo)志處于非屏蔽狀態(tài)沒有更高級別的中斷請求正在響應(yīng)或正發(fā)出、正掛起處理器

14、在現(xiàn)行指令執(zhí)行結(jié)束后中斷的處理過程:計算機(jī)系統(tǒng)就會響應(yīng)中斷請求,并自動將被中斷程序的下一條指令地址保存到堆棧和關(guān)閉中斷;接著將自中斷向量表查得的與該中斷源對應(yīng)的中斷向量送入PC,并轉(zhuǎn)去執(zhí)行中斷服務(wù)程序。復(fù)位中斷出現(xiàn)在系統(tǒng)上電或程序引起的復(fù)位,它的優(yōu)先級別最高軟中斷異常用于實現(xiàn)處理器工作模式的切換未定義指令異常用于模擬某種硬件功能或自定義一些指令來完成一些特殊功能。中斷響應(yīng)的四項準(zhǔn)備工作:把程序計數(shù)器PC中的當(dāng)前地址值保存到連接寄存器LR中把當(dāng)前程序狀態(tài)寄存器中的內(nèi)容保護(hù)到模式私有寄存器中將寄存器CPSR中的MODE域設(shè)置為中斷應(yīng)進(jìn)入的運行模式對cpsr的I位和F位進(jìn)行相應(yīng)的設(shè)置響應(yīng)復(fù)位中斷時處

15、理器中斷系統(tǒng)的工作過程、響應(yīng)未定義指令異常時處理器中斷系統(tǒng)LPC2000結(jié)構(gòu)框圖LPC2000的可用地址空間為4GB,它被分成內(nèi)部存儲空間、外部可擴(kuò)展存儲空間和IO設(shè)備空間三部分。其中,片內(nèi)存儲空間占用2GB,片外存儲空間占用1.5GB,IO設(shè)備占用了處在高端地址的0.5GB空間。EMC(外部存儲器控制模塊)與外部存儲器組連接示意圖DB為數(shù)據(jù)總線(32位);AB為地址總線(24位);CS0、CS1、CS2和CS3用來選通Bank0、Bank1、Bank2、Bank3四個片選信號;BLS0、BLS1、BLS2和BLS3為四個字長控制信號。LPC2000鎖相環(huán)PLL原理圖定時器原理和功能: 定時器

16、的核心部件是一個32位加法計數(shù)器TC,用戶程序可用匹配寄存器MR0-MR3來產(chǎn)生定時事件,用捕獲寄存器CR0-CR3來讀取定時器的當(dāng)前值。 TC的初始值為0,當(dāng)TC被啟動之后,計數(shù)器每收到一個計數(shù)脈沖計數(shù)器就加1.如果在計數(shù)過程中一直沒有復(fù)位信號使之復(fù)位,則計數(shù)器會一直計到最高值0xFFFFFFFF,并在再加1時回卷到0x00000000重新開始計數(shù),如此循環(huán)往復(fù)。 為產(chǎn)生定時事件,定時器配置有四個可以預(yù)先設(shè)置數(shù)據(jù)的匹配寄存器MR0-MR3。在計數(shù)器TC計數(shù)過程中,當(dāng)TC的當(dāng)前值與某個MR的預(yù)置值相等時,該MR會觸發(fā)一個由匹配控制寄存器MCR指定的事件。 為使程序可以讀取定時器的當(dāng)前值,定時器

17、還配有四個可以由處理器外部引腳(CAP0-CAP3)觸發(fā)的捕獲寄存器CR0-CR3,在外部觸發(fā)信號CAP有效時,CR可以捕獲計數(shù)器TC的當(dāng)前值。每個外部觸發(fā)信號CAP都可以通過LPC2000的引腳連接模塊與芯片外部的一個活多個引腳相連接,該信號的有效形式則由捕獲寄存器CCR的相關(guān)位來指定。脈寬調(diào)制器是一種能把輸入信號的大小轉(zhuǎn)換成輸出信號的脈沖寬度的轉(zhuǎn)換電路或裝置。單邊沿脈沖信號的初始化代碼PWMPCR=0x200; /設(shè)置輸出信號為單邊沿信號PWMMCR=0x02; /當(dāng)匹配寄存器0匹配時復(fù)位定時器TCPWMMR0=0x1000; /設(shè)置周期T=1000個定時脈沖PWMMR1=0x600; /

18、設(shè)置脈寬=600個定時脈沖PWMLER=0x03; /允許匹配寄存器0和匹配寄存器1鎖存PWMTCR=0x09; /啟動定時器TC雙邊沿脈沖信號的初始化代碼:PWMPCR=0x404; /設(shè)置輸出信號為單邊沿信號PWMMCR=0x02; /當(dāng)匹配寄存器0匹配時復(fù)位定時器TCPWMMR0=0x1000; /設(shè)置周期T=1000個定時脈沖PWMMR1=0x200; /設(shè)置脈寬=200個定時脈沖PWMMR2=0x500; /設(shè)置500個定時脈沖PWMLER=0x07; /允許匹配寄存器0、1、2鎖存PWMTCR=0x09; /啟動定時器TC看門狗:可以自動進(jìn)行復(fù)位的硬件電路??撮T狗實質(zhì)上是一個定時器

19、,如果它在一個預(yù)定時間內(nèi)未接收到一個表示計算機(jī)工作正常的信號,它就會依靠計數(shù)器的溢出信號啟動復(fù)位電路,將系統(tǒng)復(fù)位并重新啟動;如果在預(yù)定時間內(nèi)收到了工作正常信號,則將定時器本身復(fù)位,重新開始新的定時過程。其中的信號俗稱喂狗看門狗邏輯框圖看門狗的初始化:WDTC=0x10000; /設(shè)置TC時間限定值WDMODE=0x03; /設(shè)置工作模式并啟動看門狗喂狗代碼:Void EDTFEED()WDFEED=0xAA;WDFEED=0x55;LPC2000的功率控制模式:掉電模式:通過禁止PLL來凍結(jié)處理器和外設(shè)的時鐘,這時系統(tǒng)的功耗僅取決于電路的漏電流。外部設(shè)備的中斷請求會將處理器從功率控制狀態(tài)中醒來

20、??臻e模式:僅停止對處理器的時鐘供給,任何中斷請求都可以將系統(tǒng)喚醒UART(通用異步收發(fā)器)數(shù)據(jù)的發(fā)送 發(fā)送數(shù)據(jù)時,處理器首先通過狀態(tài)寄存器檢查發(fā)送數(shù)據(jù)寄存器是否為空,如果為空,則將待發(fā)送數(shù)據(jù)由處理器寫入發(fā)送數(shù)據(jù)寄存器UxTHR;然后由接口自動按照通信格式控制寄存器UxLCR的設(shè)置,給數(shù)據(jù)加上啟動位、奇偶校驗位和停止位;最后通過發(fā)送移位寄存器將數(shù)據(jù)串行地通過發(fā)送端TxD發(fā)送給其它設(shè)備。UART(通用異步收發(fā)器)數(shù)據(jù)的接受接收數(shù)據(jù)時,自接收端RxD接收到的串行數(shù)據(jù)首先由接收移位寄存器接收;然后將其轉(zhuǎn)換成并行數(shù)據(jù)暫存到接收寄存器UxRBR中,當(dāng)處理器通過狀態(tài)寄存器發(fā)現(xiàn)接收寄存器為滿狀態(tài)時,處理器就

21、讀取該數(shù)據(jù);接下來UART可以接收下一個數(shù)據(jù)。SPI通信原理與SPI接口邏輯框圖: 主設(shè)備移位寄存器的數(shù)據(jù)輸出端MOSI和數(shù)據(jù)輸入端MISO與從設(shè)備移位寄存器連成環(huán)形結(jié)構(gòu)。通信時,一個脈沖傳送一位數(shù)據(jù)。在事先約定的正脈沖或負(fù)脈沖作用下,在前沿時刻完成數(shù)據(jù)的輸出,在后沿時刻完成數(shù)據(jù)的輸入IC總線構(gòu)成總線仲裁: 總線上的所有器件都具有獲得總線控制權(quán)而成為主器件的權(quán)力,所以常常會由于發(fā)生兩個或多個器件同時企圖獲得總線控制權(quán)而發(fā)生所謂的總線競爭。這時總線就會發(fā)生一個以某種規(guī)則確定主器件的過程,這個過程叫做仲裁。AD轉(zhuǎn)換器框圖LPC2000中斷管理原理LPC2000處理器內(nèi)置了中斷控制器VIC。為把芯片

22、外部的外設(shè)中斷引入芯片,并在引入過程中對外部中斷進(jìn)行管理,LPC2000還設(shè)置了外部中斷通道。這樣,LPC2000的中斷管理就形成了由外部中斷通道、VIC和中斷向量表所組成的3層結(jié)構(gòu)。VIC的組成圖VIC中斷通道輸入部分邏輯圖VIC分組控制部分圖快中斷IRQ組處理部分圖獨立按鈕鍵盤:特點是每一個鍵都占用一條接口線。矩陣式鍵盤:每個按鈕都被安排在行線和列線的交叉處,這樣,16個鍵占用了8條接口線。這種鍵盤占用接口線的數(shù)目為鍵數(shù)目的開平方。觸摸屏:由觸摸檢測部件和觸摸屏控制器兩部分組成。觸摸檢測部件安裝在顯示屏前面,將用戶觸摸位置轉(zhuǎn)換為電信號;而觸摸屏控制器的主要作用是從觸摸點檢測裝置上接收電信號

23、,并將它轉(zhuǎn)換成數(shù)字量形式的觸點坐標(biāo)信息饋送給處理器。ISP叫做系統(tǒng)編程,無須從系統(tǒng)上拔下存儲器芯片就可以對它進(jìn)行編程;IAP叫做在應(yīng)用編程,允許在應(yīng)用程序運行中由應(yīng)用程序?qū)Υ鎯ζ餍酒M(jìn)行編程。向量表的重映射概念: 在系統(tǒng)啟動后,依靠硬件使MEM1:0=00,暫時注銷用戶程序向量表的地址空間,而把BootBlock的向量表暫時映射到從0x00000000開始的64字節(jié)空間。這樣,處理器在開機(jī)時從地址0x00000000處得到的就是跳轉(zhuǎn)到BootBlock的指令,而先執(zhí)行BootBlock了。至于用戶程序的執(zhí)行,則由BootBlock在適當(dāng)時機(jī),再通過修改MEM1:0進(jìn)行地址重映射,把用戶程序的中

24、斷向量表恢復(fù)到元位置。LPC2000要求有效用戶程序的中斷向量表的所有指令的機(jī)器碼相加之和必須為0RAM空間的重映射 為提高系統(tǒng)效率,經(jīng)常需要將放在Flash中的用戶程序中斷向量表以及后續(xù)的FIQ服務(wù)程序轉(zhuǎn)存到速度較高的RAM中,然后把這塊RAM空間重映射到0x00000000開始的空間上。Cache存儲器的組成: 它是一個存儲陣列,其基本存儲單位叫做cache行。一個cache行除了要存放從主存復(fù)制來的信息之外,還要存儲一些其他信息,所以每一個cache行又分為三段:cache標(biāo)簽(目錄段)、狀態(tài)段和數(shù)據(jù)段。數(shù)據(jù)段用來存放從主存復(fù)制來的指令或數(shù)據(jù)Cache標(biāo)簽用來表示數(shù)據(jù)源地址狀態(tài)段用來表示

25、數(shù)據(jù)的狀態(tài)。在cache行中設(shè)置了V標(biāo)志來表示數(shù)據(jù)是否有效;設(shè)置d標(biāo)志來表示數(shù)據(jù)是否被修改過。顛簸現(xiàn)象:當(dāng)應(yīng)用程序需要連續(xù)訪問與同一個cache行所共享的多個內(nèi)存塊中的數(shù)據(jù)時,會使cache頻繁地進(jìn)行內(nèi)存塊的替換操作。解決顛簸現(xiàn)象的方法:多設(shè)置幾個相同的cache存儲器,這樣就會有多個具有相同行地址的cache行,而使原來只有一個cache行的內(nèi)存塊群有多個cache行使用,這種技術(shù)叫做cache的組相聯(lián)。寫策略:處理器核有兩種對存儲器進(jìn)行寫操作的策略。一種是同時向cache存儲器和內(nèi)存寫入數(shù)據(jù),將兩處的數(shù)據(jù)同時進(jìn)行更新,這種做法叫做直寫法;另一種是處理器核只把數(shù)據(jù)寫入cache行,只有當(dāng)相應(yīng)

26、的cache行需要替換時,才把數(shù)據(jù)寫入內(nèi)存,這種方法叫回寫法。行替換策略:cache控制器總是在一個淘汰完成后,即準(zhǔn)備下一次需要淘汰的行。Cache控制器選擇下一個要丟棄行的策略叫做替換策略。ARM核支持兩種替換策略:輪轉(zhuǎn)法和偽隨機(jī)替換法。失敗時的分配策略:當(dāng)采用讀寫分配策略時,不管是在對內(nèi)存進(jìn)行讀操作還是寫操作,只要被操作對象未在cache中,cache控制器都要為操作對象分配cache行,而采用讀操作分配策略時,cache控制器只對內(nèi)存的讀操作對象分配cache行,而寫操作則只直接更新內(nèi)存內(nèi)容,不分配cache行。虛擬存儲空間:程序在輔存中的存儲空間物理存儲空間:計算機(jī)實際配置的物理內(nèi)存空

27、間映射機(jī)構(gòu)的重定位器:用來指示目標(biāo)地址的寄存器,把虛擬空間的程序復(fù)制到物理空間中。MMU用來完成虛擬存儲管理工作。頁表是物理內(nèi)存空間的一個抽象,即用戶是使用虛擬地址通過頁表來使用實際物理內(nèi)存的??毂淼墓ぷ髟恚?處理器在使用虛擬地址訪問某個虛存空間時,先到MMU的快表中去查找所要訪問的虛存頁是否有對應(yīng)的表項,如果有,則轉(zhuǎn)換成物理地址去讀寫數(shù)據(jù);如果沒有就到內(nèi)存的頁表中去查找。找到后就看表項中是否有有效的頁框碼;如果有,則將其復(fù)制到快表中,并轉(zhuǎn)換成物理地址去讀寫數(shù)據(jù),如果沒有,就產(chǎn)生一個缺頁異常信號啟動操作系統(tǒng)的內(nèi)存分配模塊,為虛擬頁分配頁框并把頁復(fù)制到該頁框,同時在頁表中建立對應(yīng)的頁表項并將其

28、復(fù)制到快表中,然后再轉(zhuǎn)換成物理地址到物理內(nèi)存去訪問該數(shù)據(jù)。二級頁表的工作原理:虛擬地址被分成三段,系統(tǒng)用主表基地址拼接了虛擬地址的最高段;在主表中查找二級頁表的基地址,再把二級頁表的基地址拼接了虛擬地址的中斷;在二級頁表查找頁框碼,最后把頁框碼拼接成虛擬地址的低段,形成物理地址。虛擬存儲技術(shù)的優(yōu)點:用戶應(yīng)用程序都有自己的頁表,這使應(yīng)用程序的虛擬存儲空間各自是獨立的,而不會發(fā)生彼此干擾,從而實現(xiàn)了用戶存儲空間的保護(hù)。用戶應(yīng)用程序值使用虛擬地址,而不必去考慮物理內(nèi)存的問題??梢赃\行比物理內(nèi)存大的應(yīng)用程序。馮·諾依曼機(jī)主要特點:計算機(jī)由運算器、存儲器、控制器、輸入設(shè)備和輸出設(shè)備五部分組成。指令與數(shù)據(jù)以同等地位存放在存儲器中,并可按地址對它們進(jìn)行訪問。 指令在存儲器中順序存放。機(jī)器以

溫馨提示

  • 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

提交評論