ARM流水線MMUCache_第1頁
ARM流水線MMUCache_第2頁
ARM流水線MMUCache_第3頁
ARM流水線MMUCache_第4頁
ARM流水線MMUCache_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1 第二章第二章 ARMARM微處理器硬件結(jié)構(gòu)微處理器硬件結(jié)構(gòu) 本章主要內(nèi)容:計算機(jī)體系結(jié)構(gòu)分類ARM版本及系列ARM處理器結(jié)構(gòu)存儲系統(tǒng)機(jī)制2 計算機(jī)體系結(jié)構(gòu)計算機(jī)體系結(jié)構(gòu)1.馮諾依曼結(jié)構(gòu)3 計算機(jī)體系結(jié)構(gòu)計算機(jī)體系結(jié)構(gòu)2. 哈佛體系結(jié)構(gòu) 4 ARM簡介簡介 ARM(Advanced RISC Machines)系列微處理器,采用的ARM技術(shù)知識產(chǎn)權(quán)(IP)核都是由ARM公司提供的。 ARM公司本身不生產(chǎn)芯片,轉(zhuǎn)讓設(shè)計許可,由合作公司生產(chǎn)各具特色的芯片。 ARM32位體系結(jié)構(gòu)目前被公認(rèn)為是嵌入式應(yīng)用領(lǐng)域領(lǐng)先的32位嵌入式RISC微處理器結(jié)構(gòu)。從版本1到版本6,ARM體系的指令集功能不斷擴(kuò)大。

2、5 ARM版本版本 1V1版架構(gòu) 該版架構(gòu)只在原型機(jī)ARM1出現(xiàn)過,沒有用于商業(yè)產(chǎn)品。其基本性能有: 基本的數(shù)據(jù)處理指令(無乘法); 基于字節(jié)、半字和字的Load/Store指令; 轉(zhuǎn)移指令,包括子程序調(diào)用及鏈接指令; 供操作系統(tǒng)使用的軟件中斷指令SWI; 尋址空間:64MB(226)。 6 ARM版本版本2V2版架構(gòu) 該版架構(gòu)對V1版進(jìn)行了擴(kuò)展,例如ARM2和ARM3(V2a)架構(gòu),版本2a是版本2的變種,ARM3芯片采用了版本2a。V2版架構(gòu)與版本V1相比,增加了以下功能:乘法和乘加指令;支持協(xié)處理器操作指令;快速中斷模式;SWP/SWPB的最基本存儲器與寄存器交換指令;尋址空間:64MB

3、。 7 ARM版本版本3V3版架構(gòu) V3版架構(gòu)對ARM體系結(jié)構(gòu)作了較大的改動: 尋址空間增至32位(4GB); 當(dāng)前程序狀態(tài)信息從原來的R15寄存器移到當(dāng)前程序狀態(tài)寄存器CPSR中(Current Program Status Register); 增加了程序狀態(tài)保存寄存器SPSR(Saved Program Status Register); 增加了中止(Abort)和未定義2種處理器模式; 增加了MRS/MSR指令,以訪問新增的CPSR/SPSR寄存器; 增加了從異常處理返回的指令功能。8 ARM版本版本4V4版架構(gòu) V4版架構(gòu)在V3版上作了進(jìn)一步擴(kuò)充,V4版架構(gòu)是目前應(yīng)用最廣的ARM體系

4、結(jié)構(gòu),ARM7、ARM8、ARM9和StrongARM都采用該架構(gòu)。指令集中增加了以下功能: 符號化和非符號化半字及符號化字節(jié)的存/取指令; 增加了16位Thumb指令集; 完善了軟件中斷SWI指令的功能; 處理器系統(tǒng)模式引進(jìn)特權(quán)方式時使用用戶寄存器操作; 把一些未使用的指令空間捕獲為未定義指令。9 ARM版本版本5V5版架構(gòu) V5版架構(gòu)是在V4版基礎(chǔ)上增加了一些新的指令,ARM10和Xscale都采用該版架構(gòu)。這些新增命令有: 帶有鏈接和交換的轉(zhuǎn)移BLX指令; 計數(shù)前導(dǎo)零CLZ指令; BRK中斷指令; 增加了數(shù)字信號處理指令(V5TE版); 為協(xié)處理器增加更多可選擇的指令。10 ARM版本版

5、本6V6版架構(gòu) V6版架構(gòu)是2001年發(fā)布的,首先在2002年春季發(fā)布的ARM11處理器中使用。此架構(gòu)在V5版基礎(chǔ)上增加了以下功能: THUMBTM:35%代碼壓縮; DSP擴(kuò)充:高性能定點DSP功能; JazelleTM:Jova性能優(yōu)化,可提高8倍; Media擴(kuò)充:音/視頻性能優(yōu)化,可提高4倍。11 ARM處理器系列處理器系列ARM7系列ARM9系列ARM9E系列ARM10E系列SecurCore系列Inter的XscaleInter的StrongARM12 ARM處理器結(jié)構(gòu)處理器結(jié)構(gòu)從一下四個方面介紹:ARM和Thumb狀態(tài) RISC技術(shù)流水線技術(shù)超標(biāo)量執(zhí)行 13 ARM和和Thumb

6、狀態(tài)狀態(tài) qV4版以后有:32位ARM指令集16位Thumb指令集,功能是ARM指令集的功能子集。qARM7TDMI核以后,T變種的ARM微處理器有兩種工作狀態(tài):ARM狀態(tài)Thumb狀態(tài)。14 ARM與與Thumb狀態(tài)轉(zhuǎn)換狀態(tài)轉(zhuǎn)換 在程序的執(zhí)行過程中,微處理器可以隨時在兩種工作狀態(tài)之間切換,并且該轉(zhuǎn)變不影響處理器的工作模式和相應(yīng)寄存器中的內(nèi)容。 進(jìn)入Thumb狀態(tài):當(dāng)操作數(shù)寄存器的狀態(tài)位(位0)為1時,執(zhí)行BX指令。 進(jìn)入ARM狀態(tài):當(dāng)操作數(shù)寄存器的狀態(tài)位(位0)為0時,執(zhí)行BX指令。15 RISC技術(shù)技術(shù) RISC體系結(jié)構(gòu)基本特點:大多數(shù)指令只需要執(zhí)行簡單和基本的功能,其執(zhí)行過程在一個機(jī)器周

7、期內(nèi)完成。只保留加載/存儲指令。操作數(shù)由加載/存儲指令從存儲器取出放寄存器內(nèi)操作。芯片邏輯不采用或少采用微碼技術(shù),而采用硬布線邏輯。減少指令數(shù)和尋址方式。 指令格式固定,指令譯碼簡化。優(yōu)化編譯。 16 RISC技術(shù)技術(shù)ARM體系結(jié)構(gòu)還采用了一些特別的技術(shù):所有的指令都可根據(jù)前面的執(zhí)行結(jié)果決定是否被執(zhí)行,提高了指令的執(zhí)行效率??捎肔oad/Store指令批量傳輸數(shù)據(jù),以提高數(shù)據(jù)的傳輸效率。可在一條數(shù)據(jù)處理指令中同時完成邏輯處理和移位處理。17 流水線技術(shù)流水線技術(shù)1ARM的3級流水線 18 流水線技術(shù)流水線技術(shù)多周期ARM指令的3級流水線操作 19 流水線技術(shù)流水線技術(shù)2ARM的流水線設(shè)計問題

8、(1)縮短程序執(zhí)行時間: 提高時鐘頻率fclk減少每條指令的平均時鐘周期數(shù)CPI (2)解決流水線相關(guān):結(jié)構(gòu)相關(guān) 數(shù)據(jù)相關(guān) 控制相關(guān) 20 流水線技術(shù)流水線技術(shù)3ARM的5級流水線 ARM9和StrongARM架構(gòu)都采用了5級流水線.增加了I-Cache和D-Cache,把存儲器的取指與數(shù)據(jù)存取分開;增加了數(shù)據(jù)寫回的專門通路和寄存器; 把指令的執(zhí)行過程分割為5部分: 取指-指令譯碼-執(zhí)行-數(shù)據(jù)緩存-寫回 21 超標(biāo)量執(zhí)行超標(biāo)量執(zhí)行 通過重復(fù)設(shè)置多套指令執(zhí)行部件,同時處理并完成多條指令,實現(xiàn)并行操作,來達(dá)到提高處理速度的目的。所有ARM內(nèi)核,包括流行的ARM7、ARM9和ARM11等,都是單周期

9、指令機(jī)。ARM公司下一代處理器將是每周期能處理多重指令的超標(biāo)量機(jī)。但是:超標(biāo)量處理器在執(zhí)行的過程中必須動態(tài)地檢查指令相關(guān)性如果代碼中有分支指令;我們必須將分支被執(zhí)行和分支不被執(zhí)行這兩種情況分開考慮計算執(zhí)行時間幾乎是不可能的;計算執(zhí)行時間幾乎是不可能的。 22 存儲器部件的分類存儲器部件的分類 n按在系統(tǒng)中的地位分類: “主存儲器”(Main Memory, 簡稱內(nèi)存或主存) “輔助存儲器”(Auxiliary Memory,Secondary Memory,簡稱輔存或外存) n按存儲介質(zhì)分類:磁存儲器(Magnetic Memory),半導(dǎo)體集成電路存儲器(通常稱為半導(dǎo)體存儲器),光存儲器(O

10、ptical Memory),激光光盤存儲器(Laser Optical Disk)n按信息存取方式分類:隨機(jī)存取存儲器RAM只讀存儲器ROM 23 存儲器的組織和結(jié)構(gòu)存儲器的組織和結(jié)構(gòu) n嵌入式存儲器一般采用存儲密度較大的存儲器芯片,典型的嵌入式存儲器系統(tǒng)由ROM、RAM、EPROM等組成。 24 常用的存儲器常用的存儲器n隨機(jī)存儲器(RAM) 靜態(tài)隨機(jī)存儲器(SRAM)動態(tài)隨機(jī)存儲器(DRAM) n只讀存儲器(ROM),它在嵌入式系統(tǒng)中非常有用,因為許多代碼或數(shù)據(jù)不隨時間改變。 工廠編程的只讀存儲器現(xiàn)場可編程只讀存儲器 25 存儲器的性能存儲器的性能 大容量、高速度、低價格是評價存儲器性能

11、的三個主要指標(biāo),也是存儲體系設(shè)計的主要目標(biāo)。 容量:SwWlm。其中W為存儲體的字長(單位為位或字節(jié)),l為單個存儲體的字?jǐn)?shù),m為并行工作的存儲體個數(shù)。 速度:m個存儲體并行工作時,可達(dá)到的最大頻率寬度為BmWmTM 。其中TM是連續(xù)起動一個存儲器所必要的時間間隔,TMTA。Bm是連續(xù)提供數(shù)據(jù)的速率。價格:具有SM位的存儲器,每位價格表示為c=CSm。其中C是總價格。26 存儲體系的組成存儲體系的組成單體單字存儲器單體多字存儲器 多體單字交叉存取存儲器多體多字交叉存取存儲器一般把這些能并行讀出多個CPU字的單體多字和多體單字及多體多字的交叉存取系統(tǒng),統(tǒng)稱為并行主存系統(tǒng)。 27 存儲體系的形式存

12、儲體系的形式 (a)兩級存儲器層次結(jié)構(gòu) (b)三級存儲器層次結(jié)構(gòu) 28 總線結(jié)構(gòu)總線結(jié)構(gòu)n1.總線協(xié)議 :四周期握手協(xié)議 29 總線結(jié)構(gòu)總線結(jié)構(gòu)n2.總線讀寫 30 總線結(jié)構(gòu)總線結(jié)構(gòu)3總線的時序圖31 總線結(jié)構(gòu)總線結(jié)構(gòu)4直接內(nèi)存訪問(DMA) 32 總線結(jié)構(gòu)總線結(jié)構(gòu)5系統(tǒng)總線配置 多總線系統(tǒng)33 ARM存儲數(shù)據(jù)類型存儲數(shù)據(jù)類型ARM處理器支持以下六種數(shù)據(jù)類型: 8位有符號和無符號字節(jié)。16位有符號和無符號半字,以2字節(jié)的邊界對齊。32位有符號和無符號字,以4字節(jié)的邊界對齊。34 ARM存儲格式存儲格式 大端存儲模式 小端存儲模式(缺?。?5 存儲器接口存儲器接口1.存儲周期的基本類型:空閑周期

13、非順序周期順序周期協(xié)處理器寄存器傳送周期 36 存儲器接口存儲器接口2.ARM的總線接口信號分成4類(以ARM7TDMI為例說明):時鐘和時鐘控制信號:MCLK、ECLK、nRESET、nWAIT。地址類信號:A31.0、nRW、MAS1.0、nOPC、nTRANS、LOCK、TBIT。存儲器請求信號:nMREQ、SEQ。數(shù)據(jù)時序信號:D31.0、DIN31.0、DOUT31.0、ABORT、BL3.0。37 存儲器接口存儲器接口3. ARM的總線接口可以實現(xiàn)4種不同類型的總線周期。38 高速緩沖存儲器高速緩沖存儲器1.分類:統(tǒng)一Cache VS 獨立的數(shù)據(jù)/程序Cache寫通cache VS

14、 寫回cache讀操作分配cache VS 寫操作分配cache39 高速緩沖存儲器高速緩沖存儲器2.工作原理:40 高速緩沖存儲器高速緩沖存儲器3.地址映像和變換方式:全相聯(lián)地址映像和變換組相聯(lián)地址映像和變換直接映像和變換 41 高速緩沖存儲器高速緩沖存儲器4.Cache的替換算法:輪轉(zhuǎn)法隨機(jī)替換算法 42 存儲管理單元存儲管理單元MMU1.在ARM系統(tǒng)中,存儲管理單元MMU主要完成工作:虛擬存儲空間到物理存儲空間的映射。在ARM中采用了頁式虛擬存儲管理。存儲器訪問權(quán)限的控制。 設(shè)置虛擬存儲空間的緩沖的特性。43 存儲管理單元存儲管理單元MMU (1)2.存儲訪問過程使能MMU時存儲訪問過程

15、 :44 存儲管理單元存儲管理單元MMU (2)禁止MMU時存儲訪問過程: 先要確定芯片是否支持cache和write buffer。如果芯片規(guī)定當(dāng)禁止MMU時禁止cache和write buffer,則存儲訪問將不考慮C和B控制位。如果芯片規(guī)定當(dāng)禁止MMU時可以使能cache和write buffer,則數(shù)據(jù)訪問時,C=0,B=0;指令讀取時,如果使用分開的TLB,那么C=1,如果使用統(tǒng)一的TLB,那么C=0。 存儲訪問不進(jìn)行權(quán)限控制,MMU也不會產(chǎn)生存儲訪問中止信號。 所有的物理地址和虛擬地址相等,即使用平板存儲模式。45 存儲管理單元存儲管理單元MMU (1)3. MMU中的地址變換過程

16、:通過兩級頁表實現(xiàn)。a)一級頁表中包含有以段為單位的地址變換條目以及指向二級頁表的指針。一級頁表是實現(xiàn)的地址映射粒度較大。以段為單位的地址變換過程只需要一級頁表。b)二級頁表中包含有以大頁和小頁為單位的地址變換條目。有一種類型的二級頁表還包含有以極小頁為單位的地址變換條目。以頁為單位的地址變換過程需要二級頁表。 46 存儲管理單元存儲管理單元MMU (2)一級頁表的地址變換過程 :47 存儲管理單元存儲管理單元MMU (1)4.一級描述符: 從頁表中得到的相應(yīng)地址變換條目稱為一級描述符。它定義了與之相應(yīng)的1M存儲空間是如何映射的。一級描述符的位1:0定義了該一級描述符的類型,共有4種格式的一級

17、描述符: 48 存儲管理單元存儲管理單元MMU (2)1)粗粒度頁表描述符:當(dāng)一級描述符的位1.0為0b01(0b代表二進(jìn)制)時,該一級描述符中包含了粗粒度的二級頁表的物理地址,這種一級描述符稱為粗粒度頁表描述符。它的格式和各個字段的含義如下: 49 存儲管理單元存儲管理單元MMU (3)由粗粒度頁表描述符獲取二級描述符的過程 :50 存儲管理單元存儲管理單元MMU (4)2)段描述符:當(dāng)一級描述符的位1:0為0b10時,該一級描述符為段描述符,它的格式和各個字段的含義如下:51 存儲管理單元存儲管理單元MMU (5)基于段的地址變換過程 :52 存儲管理單元存儲管理單元MMU (6)3)細(xì)粒

18、度頁表描述符:當(dāng)一級描述符的位1:0為0b11時,該一級描述符中包含了細(xì)粒度的二級頁表的物理地址,稱為細(xì)粒度頁表描述符。它的格式和各個字段的含義如下:53 存儲管理單元存儲管理單元MMU (7)由細(xì)粒度頁表描述符獲取二級描述符的過程 54 存儲管理單元存儲管理單元MMU 5.MMU中的存儲訪問權(quán)限控制55 存儲管理單元存儲管理單元MMU 6. MMU中的域(Domain) MMU中的域指的是一些段、大頁或者小頁的集合。ARM支持最多16個域,每個域的訪問控制特性都是由CP15中的寄存器C3中的兩位來控制的。這兩位的字段編碼和含義: 56 存儲管理單元存儲管理單元MMU 7.快速上下文切換技術(shù) 快速上下文切換

溫馨提示

  • 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

提交評論