存儲(chǔ)層次匯總課件_第1頁(yè)
存儲(chǔ)層次匯總課件_第2頁(yè)
存儲(chǔ)層次匯總課件_第3頁(yè)
存儲(chǔ)層次匯總課件_第4頁(yè)
存儲(chǔ)層次匯總課件_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第五章 存儲(chǔ)層次第五章 存儲(chǔ)層次5.7 主存存儲(chǔ)器的訪問(wèn)源取指令、取操作數(shù)、寫(xiě)操作數(shù)和I/O存儲(chǔ)器性能指標(biāo)容量、速度和每位價(jià)格訪問(wèn)時(shí)間(Access Time)存儲(chǔ)周期(Cycle Time)種類:DRAM和SRAMAmdahl經(jīng)驗(yàn)規(guī)則容量隨CPU速度的提高而線性增加,實(shí)際情況 容量60% per year,而性能7% per year,差距是顯然的根據(jù)A-定律,如果忽略計(jì)算的一個(gè)部分,而去努力提高其余部分的速度,其收效甚微。解決存儲(chǔ)器頻帶問(wèn)題的三種途徑:多個(gè)存儲(chǔ)器并行工作,設(shè)置各種緩沖器,Cache存儲(chǔ)系統(tǒng)TimeAccess TimeCycle Time5.7 主存存儲(chǔ)器的訪問(wèn)源TimeA

2、ccess TimeSimple: CPU, Cache, Bus, Memory same width (32 bits)Interleaved: CPU, Cache, Bus 1 word: Memory N Modules(4 Modules); example is word interleavedWide: CPU/Mux 1 word; Mux/Cache, Bus, Memory N words (Alpha: 64 bits & 256 bits)三種存儲(chǔ)器組織方式Simple: Interleaved: Wide: 三種存提高主存性能的方法增大存儲(chǔ)器的寬度(并行訪問(wèn)存儲(chǔ)器)

3、最簡(jiǎn)單直接的方法優(yōu)點(diǎn):簡(jiǎn)單、直接,可有效增加帶寬缺點(diǎn)增加了CPU與存儲(chǔ)器之間的連接通路的寬度,實(shí)現(xiàn)代價(jià)提高主存容量擴(kuò)充時(shí),增量應(yīng)該是存儲(chǔ)器的寬度寫(xiě)操作問(wèn)題(部分寫(xiě)操作)沖突問(wèn)題取指令沖突,遇到程序轉(zhuǎn)移時(shí),一個(gè)存儲(chǔ)周期中讀出的n條指令中,后面的指令將無(wú)用讀操作數(shù)沖突。一次同時(shí)讀出的幾個(gè)操作數(shù),不一定都有用寫(xiě)操作沖突。這種并行訪問(wèn),必須湊齊n個(gè)字之后一起寫(xiě)入。如果只寫(xiě)一個(gè)字,必須先把屬于同一個(gè)存儲(chǔ)字的數(shù)據(jù)讀到數(shù)據(jù)寄存器中,然后在地址碼的控制下修改其中一個(gè)字,最后一起寫(xiě)。讀寫(xiě)沖突。當(dāng)要讀寫(xiě)的字在同一個(gè)存儲(chǔ)字內(nèi)時(shí),無(wú)法并行操作。沖突的原因提高主存性能的方法增大存儲(chǔ)器的寬度(并行訪問(wèn)存儲(chǔ)器)沖突的原因從

4、存儲(chǔ)器本身看,主要是地址寄存器和控制邏輯只有一套。如果有n個(gè)獨(dú)立的地址寄存器和n套讀寫(xiě)控制邏輯,那么第3,4種沖突自然解決,第1、2種沖突也會(huì)有所緩解。沖突的原因從存儲(chǔ)器本身看,主要是地址寄存器和控制邏輯只有一套Access Pattern without Interleaving:Start Access for D1CPUMemoryStart Access for D2D1 availableAccess Pattern with 4-way Interleaving:Access Bank 0Access Bank 1Access Bank 2Access Bank 3We can A

5、ccess Bank 0 againCPUMemoryBank 1MemoryBank 0MemoryBank 3MemoryBank 2Increasing Bandwidth - InterleavingAccess Pattern without Interle采用簡(jiǎn)單的多體交叉存儲(chǔ)器一套地址寄存器和控制邏輯存儲(chǔ)器芯片組織為多個(gè)體(Bank)存儲(chǔ)體的寬度,通常為一個(gè)字,不需要改變總線的寬度目的:在總線寬度不變的情況下,完成多個(gè)字的并行讀寫(xiě)P234 例5.14存儲(chǔ)器中所包含的體數(shù),為避免訪問(wèn)沖突,基本原則為:體的數(shù)目 = 訪問(wèn)體中一個(gè)字所需的時(shí)鐘周期數(shù)例如:某一向量機(jī)的存儲(chǔ)系統(tǒng),CPU發(fā)出

6、訪存請(qǐng)求10個(gè)時(shí)鐘周期后,CPU將從存儲(chǔ)體0得到一個(gè)字,隨后體0開(kāi)始讀該存儲(chǔ)體的下一個(gè)字,而CPU依次從其余7個(gè)存儲(chǔ)體中得到后繼的7個(gè)字。在第18個(gè)周期,CPU 將需要存儲(chǔ)體0提供下一個(gè)字,但該字要到第20個(gè)時(shí)鐘周期才被讀出,CPU只好等待。缺陷:不能對(duì)單個(gè)體單獨(dú)訪問(wèn),對(duì)解決沖突沒(méi)有幫助,邏輯上是一種寬存儲(chǔ)器,對(duì)各個(gè)存儲(chǔ)體的訪問(wèn)被安排在不同的時(shí)間段采用簡(jiǎn)單的多體交叉存儲(chǔ)器一套地址寄存器和控制邏輯獨(dú)立存儲(chǔ)體目的:可對(duì)單個(gè)存儲(chǔ)體獨(dú)立操作多處理機(jī)系統(tǒng)I/OCPU (hit under n misses, 非阻塞Cache)思路:有多個(gè)存儲(chǔ)控制器,每個(gè)體有獨(dú)立的地址線,可能有獨(dú)立的數(shù)據(jù)線多體交叉方式中

7、訪存操作和數(shù)據(jù)傳送重疊;獨(dú)立存儲(chǔ)體完全重疊獨(dú)立存儲(chǔ)體方式與多體交叉方式的結(jié)合主存系統(tǒng)由若干獨(dú)立存儲(chǔ)體構(gòu)成獨(dú)立存儲(chǔ)體內(nèi),按多體交叉方式組織獨(dú)立存儲(chǔ)體目的:可對(duì)單個(gè)存儲(chǔ)體獨(dú)立操作避免存儲(chǔ)體沖突存儲(chǔ)體沖突:兩個(gè)訪問(wèn)請(qǐng)求訪問(wèn)同一個(gè)體關(guān)鍵問(wèn)題:地址映射方法(1) 體號(hào) 地址 MOD 體數(shù) 體內(nèi)地址 地址 / 體數(shù)(2)體號(hào) 地址 MOD 體數(shù) 當(dāng)存儲(chǔ)體數(shù)為素?cái)?shù)且為2*n 1時(shí), 體內(nèi)地址 地址 MOD 存儲(chǔ)體中的字?jǐn)?shù) P238 表5.11要求:體號(hào)和體內(nèi)地址計(jì)算盡量簡(jiǎn)單。避免存儲(chǔ)體沖突存儲(chǔ)體沖突:兩個(gè)訪問(wèn)請(qǐng)求訪問(wèn)同一個(gè)體典型的DRAM組織rowdecoderrowaddressColumn Select

8、or & I/O CircuitsColumnAddressdataRAM Cell Arrayword (row) selectbit (data) linesRow and Column Address together: Select 1 bit a timeEach intersection representsa 1-T DRAM Cell典型的DRAM組織rrowColumn Selector &DRAM專用交叉結(jié)構(gòu)Nibble RAS, then CAS, next CAS, next CASPage RAS then any CASStatic Column 不需要CAS信號(hào)R

9、AMBUS和Synchronous DRAMDRAM專用交叉結(jié)構(gòu)Nibble RAS, then Fast Page Mode OperationRegular DRAM Organization:N rows x N column x M-bitRead & Write M-bit at a timeEach M-bit access requiresa RAS / CAS cycleFast Page Mode DRAMN x M “SRAM” to save a rowAfter a row is read into the registerOnly CAS is needed to a

10、ccess other M-bit blocks on that rowRAS_L remains asserted while CAS_L is toggledN rowsN colsDRAMColumnAddressM-bit OutputM bitsN x M “SRAM”RowAddressARow AddressCAS_LRAS_LCol AddressCol Address1st M-bit AccessCol AddressCol Address2nd M-bit3rd M-bit4th M-bitFast Page Mode OperationRegula5.8 虛擬存儲(chǔ)器基本

11、原理允許應(yīng)用程序的大小,超過(guò)主存容量。目的是提高存儲(chǔ)系統(tǒng)的容量幫助OS進(jìn)行多進(jìn)程管理每個(gè)進(jìn)程可以有自己的地址空間提供多個(gè)進(jìn)程空間的保護(hù)可以將多個(gè)邏輯塊映射到共享的物理存儲(chǔ)器上靜態(tài)重定位和動(dòng)態(tài)重定位應(yīng)用程序運(yùn)行在虛地址空間虛實(shí)地址轉(zhuǎn)換對(duì)用戶是透明的虛擬存儲(chǔ)管理的是主存輔助存儲(chǔ)器這個(gè)層面上失效:頁(yè)失效或地址失效塊:頁(yè)或段5.8 虛擬存儲(chǔ)器基本原理允許應(yīng)用程序的大小,超過(guò)主存容量存儲(chǔ)層次匯總課件Cache與VM的區(qū)別目的不同Cache是為了提高訪存速度VM是為了提高存儲(chǔ)容量替換的控制者不同Cache失效由硬件處理VM的頁(yè)失效通常由OS處理一般頁(yè)失效開(kāi)銷很大,因此替換算法非常重要地址空間VM空間由CP

12、U的地址尺寸確定Cache的大小與CPU地址尺寸無(wú)關(guān)下一級(jí)存儲(chǔ)器Cache下一級(jí)是主存VM下一級(jí)是磁盤,大多數(shù)磁盤含有文件系統(tǒng),文件系統(tǒng)尋址與主存不同,它通常在I/O空間中,VM的下一級(jí)通常稱為SWAP空間 Cache與VM的區(qū)別目的不同虛擬存儲(chǔ)器頁(yè)式管理的典型參數(shù)與Cache的比較從表中看 (與Cache參數(shù)相比)除了失效率較低,其他參數(shù)都比Cache大虛擬存儲(chǔ)器頁(yè)式管理的典型參數(shù)與Cache的比較從表中看 (與頁(yè)式管理和段式管理VM可分為兩類:頁(yè)式和段式頁(yè)式:每頁(yè)大小固定段式:每段大小不等兩者區(qū)別:P241 表5.31 GCGarbage Collector頁(yè)式管理和段式管理VM可分為兩類

13、:頁(yè)式和段式存儲(chǔ)層次匯總課件VM的四個(gè)問(wèn)題 (1/2)映象規(guī)則選擇策略:低失效率和復(fù)雜的映象算法,還是簡(jiǎn)單的映射方法,高失效率由于失效開(kāi)銷很大,一般選擇低失效率方法,即全相聯(lián)映射查找算法用附加數(shù)據(jù)結(jié)構(gòu)固定頁(yè)大小用頁(yè)表VPN PPNTag標(biāo)識(shí)該頁(yè)是否在主存可變長(zhǎng)段 段表段表中存放所有可能的段信息段號(hào) 段基址 再加段內(nèi)偏移量可能由許多小尺寸段頁(yè)表頁(yè)表中所含項(xiàng)數(shù):一般為虛頁(yè)的數(shù)量功能: VPNPPN,方便頁(yè)重新分配,有一位標(biāo)識(shí)該頁(yè)是否在內(nèi)存VM的四個(gè)問(wèn)題 (1/2)映象規(guī)則頁(yè)表項(xiàng)問(wèn)題按虛頁(yè)的數(shù)量設(shè)置頁(yè)表大小,可能頁(yè)表非常大例如32位虛地址,4KB / 頁(yè),頁(yè)表項(xiàng)需要 4GB/4KB項(xiàng)需要頁(yè)大小與頁(yè)表

14、項(xiàng)數(shù)目的平衡問(wèn)題另一方案:反向頁(yè)表基本思路:頁(yè)表反映物理頁(yè)的數(shù)目,而不是虛擬頁(yè)的數(shù)目用Hash表 完成虛擬頁(yè)號(hào)到物理頁(yè)號(hào)的轉(zhuǎn)換通過(guò)比較Tag確定是否是所需的PN如果是,再檢測(cè)其是否在內(nèi)存如果不是:則從硬盤上查找全部頁(yè)表隱含問(wèn)題:可能需要兩次訪問(wèn)硬盤頁(yè)表項(xiàng)問(wèn)題按虛頁(yè)的數(shù)量設(shè)置頁(yè)表大小,可能頁(yè)表非常大VM的四個(gè)問(wèn)題(2/2)替換規(guī)則LRU是最好的但真正的LRU方法,硬件代價(jià)較大用硬件簡(jiǎn)化,通過(guò)OS來(lái)完成為了幫助OS尋找LRU頁(yè),每個(gè)頁(yè)面設(shè)置一個(gè) use bit當(dāng)訪問(wèn)主存中一個(gè)頁(yè)面時(shí),其use bit置位OS定期復(fù)位所有使用位,這樣每次復(fù)位之前,使用位的值就反映了從上次復(fù)位到現(xiàn)在的這段時(shí)間中,哪些頁(yè)

15、曾被訪問(wèn)過(guò)。當(dāng)有失效沖突時(shí),由OS來(lái)決定哪些頁(yè)將被換出去。寫(xiě)策略總是用寫(xiě)回法,因?yàn)樵L問(wèn)硬盤速度很慢。VM的四個(gè)問(wèn)題(2/2)替換規(guī)則存儲(chǔ)層次匯總課件頁(yè)面大小的選擇頁(yè)面選擇較大的優(yōu)點(diǎn)減少了頁(yè)表的大小如果局部性較好,可以提高命中率頁(yè)面選擇較大的缺點(diǎn)內(nèi)存中的碎片較多,內(nèi)存利用率低進(jìn)程啟動(dòng)時(shí)間長(zhǎng)失效開(kāi)銷加大頁(yè)面大小的選擇頁(yè)面選擇較大的優(yōu)點(diǎn)Alpha VPNPPNAlpha VPNPPNTLB (Translation look-aside Buffer)頁(yè)表一般很大,存放在主存中。導(dǎo)致每次訪存可能要兩次訪問(wèn)主存,一次讀取頁(yè)表項(xiàng),一次讀寫(xiě)數(shù)據(jù)解決辦法:采用 TLBTLB存放近期經(jīng)常使用的頁(yè)表項(xiàng),是整個(gè)頁(yè)表的部分內(nèi)容的副本?;拘畔ⅲ?VPN#PPN#Protection Field#use bit # dirty bitOS修改頁(yè)表項(xiàng)時(shí),需要刷新TLB,或保證TLB中沒(méi)有該頁(yè)表項(xiàng)的副本P244 圖5.25 ALPHA 21064 的地址轉(zhuǎn)換過(guò)程TLB必須在片內(nèi)速度至關(guān)重要TLB過(guò)小,意義不大TLB過(guò)大,代價(jià)較高相聯(lián)度較高(容量?。㏕LB (Translation look-aside BuTLB的典型參數(shù)block size - same as a page tabl

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論