CH5 存儲器、存儲管理和高速緩存技術(shù)_第1頁
CH5 存儲器、存儲管理和高速緩存技術(shù)_第2頁
CH5 存儲器、存儲管理和高速緩存技術(shù)_第3頁
CH5 存儲器、存儲管理和高速緩存技術(shù)_第4頁
CH5 存儲器、存儲管理和高速緩存技術(shù)_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

微型機原理與技術(shù)

CH5存儲器、存儲管理和高速緩存技術(shù)CH5存儲器、存儲管理和高速緩存技術(shù)存儲器件和存儲器存儲器的體系結(jié)構(gòu)虛擬存儲機制和段頁兩級存儲管理高速緩存技術(shù)5.1存儲器件和存儲器存儲器的分類和性能指標(biāo)隨機存取存儲器和只讀存儲器存儲器的行列結(jié)構(gòu)、應(yīng)用舉例以及容量擴充存儲器的分類和性能指標(biāo)根據(jù)用途和特點內(nèi)部存儲器:外部存儲器:內(nèi)存CPU可直接訪問大小限制主要指RAM計算機中各類存儲器的分工內(nèi)存(系統(tǒng)程序,系統(tǒng)參數(shù),當(dāng)前運行應(yīng)用軟件和數(shù)據(jù)),外存(暫不使用的程序和數(shù)據(jù))5.1.1存儲器的分類和性能指標(biāo)存儲器的性能指標(biāo)

-易失性:指電源斷開后內(nèi)容丟失,如RAM

-只讀性:

-存儲容量:

-速度:存儲周期、存儲器帶寬

-功耗隨機存儲器和只讀存儲器隨機存儲器分類

-SRAM

-DRAM只讀存儲器 -MROM -PROM -EPROM -E2PROM -Flashmemory5.1.2SRAM(靜態(tài))基于雙穩(wěn)態(tài)觸發(fā)器原理缺點:容量小、功耗大,用于存儲量小的系統(tǒng)DRAM(動態(tài))器件利用電容存儲容量大,功耗低需要刷新1.隨機存取存儲器RAM5.1.21.隨機存取存儲器RAMDRAM:DRAM刷新和DRAM控制器刷新(對存儲器讀取放大再寫入)方法:常用“只有行地址有效”方法DRAM控制器的功能 時序功能、地址處理功能、仲裁功能5.1.22.只讀存儲器ROM優(yōu)點結(jié)構(gòu)簡單,位密度比可讀寫存儲器高具有非易失性應(yīng)用場合——不需修改和寫入根據(jù)其中信息的設(shè)置方法分掩膜型ROM可編程只讀存儲器PROM可擦除可編程只讀存儲器EPROM可用電擦除可編程只讀存儲器E2PROM閃爍存儲器FlashMemory5.1.2掩膜型ROM(MROM)ROM中信息由廠家根據(jù)用戶給定的程序或數(shù)據(jù)對芯片進行光刻而寫入雙極型和MOS型可編程ROM(PROM)用戶按可自己的需要寫入信息(一次性)通過對二極管鍵是否燒斷存儲信息可擦除可編程ROM(EPROM)通過是否有電荷分布保存信息工作方式:讀、編程、校驗2.只讀存儲器ROMROM的分類5.1.2可用電擦除可編程只讀存儲器(E2PROM)工作方式:讀、寫、字節(jié)擦除、整體擦除閃爍存儲器(FlashMemory)主機板上BIOS存儲介質(zhì)特點:(1)信息保持時間久(10年),非易失;(2)擦寫速度快、可靠性高、擦寫次數(shù)多(幾十萬次);(3)容量大。

ROM的分類2.只讀存儲器ROM5.1.21.存儲器的行列結(jié)構(gòu)容量以字節(jié)(B)為單位地址區(qū)分不同的存儲單元簡化地址譯碼電路——矩陣結(jié)構(gòu)5.1.32.存儲器和CPU的連接考慮CPU和存儲器的速度匹配問題:插入等待狀態(tài)CPU總線的負(fù)載能力問題:增加總線驅(qū)動器片選信號的產(chǎn)生:CPU高位地址線

-全譯碼法

-部分譯碼法

-線選法

-混合譯碼法:部分譯碼和線選結(jié)合行地址、列地址的產(chǎn)生:CPU低位地址線

對芯片內(nèi)部的尋址方法: -片選譯碼,片內(nèi)譯碼通過行列矩陣結(jié)構(gòu)對存儲單元選擇)5.1.33.SRAM的使用舉例5.1.3圖5.216K×8b靜態(tài)RAM模塊4.DRAM和DRAM控制器使用舉例讀出寫入5.1.3圖5.3動態(tài)RAM控制器8203和2164的連接關(guān)系64K×1b5.存儲器容量的擴充擴充數(shù)據(jù)寬度為了與數(shù)據(jù)線寬度一致擴充字節(jié)數(shù)擴大地址范圍5.1.35.2存儲器的體系結(jié)構(gòu)1.層次化的總體結(jié)構(gòu)層次化把各種速度不同、容量不同、存儲技術(shù)也可能不同的存儲設(shè)備分為幾層,通過硬件和管理軟件組成一個既有足夠大的存儲空間、又能滿足CPU存取速度要求、而且價格適中的整體,使存儲體具有最好的性價比。思路用Cache、內(nèi)存和輔存構(gòu)成層次化的存儲器,按使用頻度將數(shù)據(jù)分為不同的檔次分放在不同的存儲器中,不同層次的存儲器之間可互相傳輸。5.2.11.層次化的總體結(jié)構(gòu)方法虛擬存儲技術(shù)實現(xiàn)內(nèi)存和輔存之間的映象高速緩存技術(shù)Cache和內(nèi)存之間的映象5.2.12.內(nèi)存的分區(qū)結(jié)構(gòu)5.2.1內(nèi)存的分區(qū)結(jié)構(gòu)高端內(nèi)存區(qū)的組織384KB5.2.1顯示刷新存儲器VRAM顯卡驅(qū)動程序ROM、網(wǎng)卡、硬盤緩沖區(qū)系統(tǒng)ROMBIOS內(nèi)存的分區(qū)結(jié)構(gòu)擴展內(nèi)存區(qū)32位微機才有的內(nèi)存區(qū),指1MB以上但不是通過內(nèi)存擴充卡映射獲得的空間。Pentium有32根地址線,可擴至4GB,Pentium4有36根地址線,可擴至64GB5.2.15.2.232位計算機系統(tǒng)的內(nèi)存組織說明:Pentium采用八體交叉存儲結(jié)構(gòu),每體512MB,共4GB5.3Pentium的虛擬存儲機制

和段頁兩級存儲管理對多任務(wù)操作系統(tǒng)的支持,體現(xiàn)在:從硬件上為任務(wù)之間的切換提供了良好的條件支持容量極大的虛擬存儲器,并且,為了管理如此大的存儲空間,采用片內(nèi)兩級存儲管理虛擬存儲機制虛擬存儲技術(shù)虛擬:相對于實際的、物理的存儲而言的物理存儲器由地址總線直接訪問的存儲空間(16位,1M;32位,

4G)單元地址稱為物理地址虛擬存儲器程序使用的邏輯存儲空間可以比物理存儲器大得多單元地址稱為虛擬地址(邏輯地址)由存儲器管理軟件在主存和輔存基礎(chǔ)上建立的一種存儲體系Pentium只有在保護模式下才支持5.3.11.虛擬存儲技術(shù)2.段式虛擬存儲和頁式虛擬存儲虛存的分類:段式虛擬存儲器每段的長度不是固定的每個段都是受到保護的獨立的空間優(yōu)點:易于管理。缺點:碎片多,效率低。頁式虛擬存儲器一個系統(tǒng)中的所有頁面大小固定(常是4KB)頁面的起點和終點也固定只有分頁機制才支持虛擬存儲(?)5.3.1控制寄存器CR0中PG=1允許分頁分段提供了隔絕各個代碼、數(shù)據(jù)和堆棧區(qū)域的機制,因此多個程序(或任務(wù))可以運行在同一個處理器上而不會互相干擾。分頁機制為傳統(tǒng)需求頁、虛擬內(nèi)存系統(tǒng)提供了實現(xiàn)機制。其中虛擬內(nèi)存系統(tǒng)用于實現(xiàn)程序代碼按要求被映射到物理內(nèi)存中。分頁機制當(dāng)然也能用于提供多任務(wù)之間的隔離措施

2.段式虛擬存儲和頁式虛擬存儲5.3.13.Pentium中的三類地址邏輯地址程序員所看到的地址(虛擬地址)。特點:這是程序員編寫的源程序中使用的地址完整的邏輯地址一共48位(選擇子:偏移量)邏輯地址中的選擇子對應(yīng)于一個段基址Pentium共有214=16348個段線性地址分段部件將包含選擇子和偏移量的邏輯地址轉(zhuǎn)換為32位的線性地址。特點:線性地址是由2個32位量相加而成的(基址+偏移)段基址由段描述符得到線性地址是分為3個字段來體現(xiàn)其功能5.3.13.Pentium中的三類地址物理地址和芯片上的地址信號相對應(yīng)為每個存儲單元在存儲體中指定唯一的地址分頁部件將線性地址轉(zhuǎn)換為物理地址如果分頁部件處于禁止?fàn)顟B(tài),線性地址就是物理地址轉(zhuǎn)換時間幾乎為05.3.1分段管理段——獨立且連續(xù)的存儲空間相關(guān)的控制信息:段的基址、界限、訪問的優(yōu)先級、共享性、訪問的特性(讀/寫)段描述符把有關(guān)段的信息,即:段基址、界限、訪問屬性全部存放在一個稱為段描述符的數(shù)據(jù)結(jié)構(gòu)中并把系統(tǒng)中所有的描述符編成表,以便硬件查找和識別三種描述符表——GDT、LDT、IDT使用描述符表帶來的優(yōu)點可大大擴展存儲空間(存儲空間取決于描述符數(shù)量和每個描述符能表示的段長度)可實現(xiàn)虛擬存儲(描述符屬性位指示對應(yīng)段是否在內(nèi)存或磁盤,在磁盤及時調(diào)入內(nèi)存)可實現(xiàn)多任務(wù)隔離(除與系統(tǒng)有關(guān)的操作訪問GDT,其余的只能訪問LDT,每個任務(wù)有獨立空間,就像每個任務(wù)獨享CPU)5.3.21.段選擇子通常由系統(tǒng)程序的鏈接程序(Linker)或裝配程序(Loader)指定、修改。段描述符索引字段DI13位(在GDT或LDT中選擇一個描述符)描述符指示標(biāo)志TI選擇GDT(TI=0)還是LDT(TI=1)請求特權(quán)級字段RPL(共4級,0級最高)為了保護段5.3.32.段描述符32位的段基址——在物理空間的開始位置20位的段界限——段的長度段類型S0為系統(tǒng)段(TSS、LDT、各種門),1為非系統(tǒng)段3位的段屬性——E、ED/C、W/R5.3.3E:=0數(shù)據(jù)段,=1代碼段ED/C:=0數(shù)據(jù)段向高端擴展,=1向低端擴展W/R:執(zhí)行代碼段=0可讀,=1不可讀

數(shù)據(jù)段=0可讀不可寫,=1可讀可寫段描述符粒度G(=1以4KB為單位,=0以B為單位)D/B字段(代碼段、堆棧數(shù)據(jù)段中使用=1表示32位,=0表示16位)存在位P(P=1在內(nèi)存,P=0在磁盤)特權(quán)級DPL訪問位A(=1已訪問過,=0未訪問過)5.3.33.描述符表三類GDTLDTIDT每個描述符表最多可容納213個描述符GDT中的第一個(DI=0)為空描述符IDT最多只對應(yīng)256個描述符系統(tǒng)只有一個GDT、IDT每個任務(wù)有一個LDT5.3.3描述符表GDT含有可供系統(tǒng)中所有任務(wù)使用的段描述符每個LDT也看成一個特殊的段(系統(tǒng)段)GDT中還包含各個LDT對應(yīng)的描述符LDT只包含與某一任務(wù)相關(guān)的各個段的描述符5.3.3邏輯地址轉(zhuǎn)換為線性地址++×8×85.3.4邏輯地址轉(zhuǎn)換為線性地址Pentium為每個段寄存器各設(shè)置了一個64位的段描述符寄存器(程序員不可訪問)它是高速緩沖存儲器保存著相應(yīng)段選擇子所對應(yīng)的段描述符每次裝入段選擇子時,段描述符也一起裝入5.3.4分頁管理優(yōu)點:有了分頁機制,一個文件一旦用到只需某些頁在內(nèi)存,為巨型文件使用內(nèi)存和數(shù)據(jù)管理帶來方便;每個活動任務(wù)的所需少量頁放入內(nèi)存,提高了存取效率。與分段的區(qū)別頁大小是固定的,而且頁面空間比較小頁的邊界有對準(zhǔn)點——4KB或4MB實際的存儲頁——物理頁分配給程序的頁——虛擬頁多個頁面構(gòu)成一組——頁組分頁功能設(shè)計兩個表頁組目錄項表頁映象表(頁表)本身就是一個頁5.3.5分頁管理5.3.5線性地址轉(zhuǎn)換為物理地址第一步是查詢CR3第二步是將線性地址的高10位作為頁組項號第三步是查詢相應(yīng)頁組目錄對應(yīng)的頁表5.3.5線性地址轉(zhuǎn)換為物理地址——例將線性地址0123567H轉(zhuǎn)換為物理地址轉(zhuǎn)換檢測緩沖器TLB分頁機制中的兩種表放在存儲器中——速度?高速緩存(表長,代價大)Translatelookasidebuffer(小型高速緩存)Pentium為數(shù)據(jù)Cache和指令Cache分別配置了各自獨立的TLB每個TLB中存放32個最近經(jīng)常使用的頁表項,通過操作系統(tǒng)跟蹤來控制這些項的保持和更新5.3.5轉(zhuǎn)換檢測緩沖器TLB分頁部件得到32位線性地址時先通過其高20位與TLB中的32項比較否則呢5.3.5TLB的工作原理5.3.5分頁管理操作系統(tǒng)的角色分頁部件將線性地址轉(zhuǎn)換為物理地址的過程需要操作系統(tǒng)的參與對操作系統(tǒng)的要求建立初始頁組目錄表和頁表,在分頁部件功能的基礎(chǔ)上完成線性地址到物理地址的轉(zhuǎn)換完成存儲數(shù)據(jù)的交換,當(dāng)出現(xiàn)缺頁故障時,將缺頁從磁盤調(diào)到內(nèi)存,并重新啟動引起缺頁故障的指令在虛擬存儲器的管理中,須周期性地檢測當(dāng)前任務(wù)占有的各頁所對應(yīng)的頁表項的訪問位A,做統(tǒng)計。確定哪些頁常用,使其駐留主存中。確保TLB的內(nèi)容和分頁部件的兩個表相符5.3.5例:某計算機存儲器按字節(jié)尋址,虛擬(邏輯)地址空間大小為16MB,主存(物理)地址空間大小為1MB,頁面大小為4KB;Cache采用直接映射方式,共8行;主存與Cache之間交換的塊的大小為32B。系統(tǒng)運行到某時刻時,頁表的部分內(nèi)容與Cache的部分內(nèi)容分別如圖44-a和44-b所示,圖中頁框號和標(biāo)記字段的內(nèi)容均為16進制形式。請回答以下問題:(1)虛擬地址共有幾位?哪幾位表示虛頁號?物理地址共有幾位?哪幾位表示頁框號(物理頁號)?(2)使用物理地址訪問Cache時,物理地址應(yīng)化分為哪幾個字段?要求說明每個字段的位數(shù)及在物理地址中的位置。(3)虛地址001C60H所在的頁面是否在主存中?若在主存中,該虛擬地址對應(yīng)的物理地址是多少?訪問該地址是否命中Cache?說明理由。(4)假設(shè)為該機配置一個四路組相聯(lián)的TLB,該TLB共可放8個頁表項,若其當(dāng)前內(nèi)容如圖44-c所示,則此時虛擬地址024BACH所在的頁面是否在主存中?要求說明理由。解:(1)∵虛擬地址空間大小為16MB=224B,存儲器按字節(jié)尋址∴虛擬地址共24位;又∵頁面大小為4KB=212B,頁內(nèi)地址為12位∴虛頁號共24-12=12位,即虛地址中高12位為虛頁號,低12位為頁內(nèi)地址。∵物理地址空間為1MB=220B∴物理地址共20位,高8(20-12=8)位為頁框號,低12位為頁內(nèi)地址。(2)∵Cache采用直接映射方式∴使用物理地址訪問Cache時,物理地址應(yīng)分為3個字段:主存字塊標(biāo)記(12位)Cache塊號(3位)塊內(nèi)地址(5位)∵Cache共8行,和主存交換塊大小為32B∴Cache塊號共3位(8=23),塊內(nèi)地址5位(32=25)

主存字塊標(biāo)記共:20-3-5=12(位)(3)∵虛地址001C60H的高12位為虛頁號,即虛頁號為001H,頁內(nèi)地址為C60H∴查頁表(圖44-a)虛頁號1所在行,有效位為1,頁框號為04,說明頁面已在主存中,該虛地址對應(yīng)的物理地址是04C60H。04C60H=00000100110001100000B∵采用直接映射方式,物理地址04C60H對應(yīng)的Cache行號為3,由圖44-b知Cache第3行的標(biāo)記為105和地址04C60H的高12位04C不同∴訪問虛地址001C60H時未命中Cache。(4)∵TLB采用四路組相聯(lián),共可放8個頁表項∴TLB每組4行,共2組,虛擬地址被劃分為3個字段如下:虛存標(biāo)記(11位)TLB組號(1位)頁內(nèi)地址(12位)∵虛擬地址024BACH=000000100100

101110101100B∴該地址對應(yīng)TLB的第0組,標(biāo)記為00000010010B=012H,與圖44-c的第0組中其中1個有效頁面的標(biāo)記012H相同,說明該頁面已在主存中,頁框號為1FH。5.4高速緩存技術(shù)Cache概述Cache的組織方式Cache的數(shù)據(jù)更新方法Cache控制器82385Pentium的兩級Cache組織影響Cache性能的因素Cache概述矛盾大容量、高速度CPU速度高,DRAM速度慢,SARM價格高。技術(shù)在主存和高速CPU之間設(shè)置一個小容量、高速度的SRAM存放CPU正在使用的代碼和數(shù)據(jù)CPU訪問存儲器主要體現(xiàn)在對SRAM的存取可以不加等待狀態(tài)而保持高速操作Cache概述Cache系統(tǒng)主存保存數(shù)據(jù),Cache保存主存副本依據(jù)區(qū)域性規(guī)律

(principleoflocality)時間區(qū)域性空間區(qū)域性Cache的組織方式Cache系統(tǒng)中主存總是以區(qū)塊為單位映象到Cache32位微機系統(tǒng)中,區(qū)塊長度通常為4字節(jié)三種組織方式全相聯(lián)方式主存的一個區(qū)塊可以映象到Cache的任何一個地方直接映像方式主存的一個區(qū)塊只能映象到Cache的一個對應(yīng)的地方Cache的組織方式(續(xù))三種組織方式組相聯(lián)方式將Cache分為均等容量的幾路,每一路又含許多組,各路中組的數(shù)量和編號相同,每一組又含1個或多個區(qū)塊通過約定的機制,主存的一個區(qū)塊只能映象到Cache的指定組號和指定塊號的區(qū)塊,但可以是不同路其實是多路的直接映象方式Cache的訪問過程與組織方式密切相關(guān)Cache的三種組織方式全相聯(lián)Cache的例子直接映像Cache的例子組相聯(lián)Cache的例子Cache的數(shù)據(jù)更新方法兩個問題數(shù)據(jù)丟失:Cache數(shù)據(jù)更新,主存未更新數(shù)據(jù)過時:主存更新,某個Cache數(shù)據(jù)未更新防止數(shù)據(jù)丟失的一致性問題通寫式:CPU寫到Cache,Cache立即寫回主存。回寫式:Cache每一個區(qū)塊標(biāo)記設(shè)置更新位,CPU寫到Cache,未更新主存,則標(biāo)志置1;CPU寫到Cache時首先檢查更新位,為0可寫入。否則:先把Cache現(xiàn)有內(nèi)容寫回主存,再對Cache寫入。Cache控制器82385Cache子系統(tǒng)Cache、Cache控制器、主存Cache中存放CPU常用的代碼和數(shù)據(jù)Cache控制器功能攔截CPU的每次訪存操作檢查CPU所需要的信息是否已在Cache中若未命中,再訪問主存82385與80386配合Cache控制器8238582385對Cache系統(tǒng)的管理Cache和主存的映像關(guān)系處理未命中Cache時的處理Cache的數(shù)據(jù)更新通過片內(nèi)的Cache目錄使外部32KB的Cache和4GB的主存之間實現(xiàn)映象兩種映象方式直接映象方式(W/D=0)雙路組相聯(lián)映象方式(W/D=1)5.4.21.82385控制的

直接映象方式Cache子系統(tǒng)直接映象方式時Cache目錄、Cache及主存之間的關(guān)系主存和Cache塊容量:4B/塊Cache共8K塊,每組8塊共分1024組主存共1G塊,每頁8*1024塊,共128K頁映射:主存任一頁的第i組只能映射至Cache的第i組直接映像方式下82385從Cache中選1個區(qū)塊1.82385控制的

直接映象方式Cache子系統(tǒng)高速緩沖存儲器沒命中的原因:

頁命中,組有效,但塊無效

將主存塊調(diào)入CACHE,并將塊有效位置1。頁不命中

將主存塊調(diào)入CACHE,同時修改目錄項中的頁標(biāo)記/組、塊有效位置1/其它塊有效位置0。系統(tǒng)復(fù)位時:2.82385控制的

雙路組相聯(lián)方式Cache子系統(tǒng)雙路組相聯(lián)方式:Cache目錄、Cache及主存之間的關(guān)系映射:主存任一頁的第i組可以映射至Cache的第i組的A路或B路中主存和Cache塊容量:4B/塊Cache共8K塊,每組8塊共分1024組,分成A、B二路,每路各512組主存共1G塊,每頁8*512塊,共256K頁82385控制的

雙路組相聯(lián)方式Cache子系統(tǒng)雙路組相聯(lián)方式下82385從Cache中選1個區(qū)塊讀操作時根據(jù)組地址找到CACHE的A和B路中相應(yīng)組,比較:頁號、組有效位、塊有效位。目錄項共27位:27=18(頁號)+1(頁有效)+8(塊有效)影響Cache性能的因素Cache芯片的速度Cache的容量Cache的級數(shù)Cache的組織方式Cache行的大小Cache對主存的寫回方式44.(12分)某計算機的主存地址空間為256MB,按字節(jié)編址,指令Cache和數(shù)據(jù)Cache分離,均有8個Cache行,每個Cache行的大小為64B,數(shù)據(jù)Cache采用直接映射方式,現(xiàn)有兩個功能相同的程序A和B,其偽代碼如下所示:假定int類型數(shù)據(jù)用32位補

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論