《計(jì)算機(jī)系統(tǒng)平臺(tái)》課件-第6章 計(jì)算機(jī)存儲(chǔ)程序和數(shù)據(jù)的方式_第1頁
《計(jì)算機(jī)系統(tǒng)平臺(tái)》課件-第6章 計(jì)算機(jī)存儲(chǔ)程序和數(shù)據(jù)的方式_第2頁
《計(jì)算機(jī)系統(tǒng)平臺(tái)》課件-第6章 計(jì)算機(jī)存儲(chǔ)程序和數(shù)據(jù)的方式_第3頁
《計(jì)算機(jī)系統(tǒng)平臺(tái)》課件-第6章 計(jì)算機(jī)存儲(chǔ)程序和數(shù)據(jù)的方式_第4頁
《計(jì)算機(jī)系統(tǒng)平臺(tái)》課件-第6章 計(jì)算機(jī)存儲(chǔ)程序和數(shù)據(jù)的方式_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

層次結(jié)構(gòu)存儲(chǔ)系統(tǒng)分以下三個(gè)部分介紹第一講:存儲(chǔ)器概述第二講:主存模塊的連接和擴(kuò)展第三講:高速緩沖存儲(chǔ)器(cache)程序訪問的局部性、Cache的基本工作原理Cache行和主存塊之間的映射方式Cache讀寫一致性問題內(nèi)存與外存的關(guān)系及比較內(nèi)存儲(chǔ)器(簡(jiǎn)稱內(nèi)存或主存)存取速度快成本高、容量相對(duì)較小直接與CPU連接,CPU對(duì)內(nèi)存中可直接進(jìn)行讀、寫操作屬于易失性存儲(chǔ)器(volatile),用于臨時(shí)存放正在運(yùn)行的程序和數(shù)據(jù)內(nèi)存儲(chǔ)器外存儲(chǔ)器CPU指令1指令2指令k指令n程序數(shù)據(jù)1數(shù)據(jù)2數(shù)據(jù)m數(shù)據(jù)①程序和數(shù)據(jù)從外存成批傳送到內(nèi)存②CPU從內(nèi)存中逐條讀取指令及相關(guān)數(shù)據(jù)④將指令處理結(jié)果送回內(nèi)存保存⑤將處理結(jié)果成批傳送到外存以長(zhǎng)久保存③逐條執(zhí)行指令,按指令要求完成對(duì)數(shù)據(jù)的運(yùn)算和處理

外存儲(chǔ)器(簡(jiǎn)稱外存或輔存)存取速度慢成本低、容量很大不與CPU直接連接,先傳送到內(nèi)存,然后才能被CPU使用。屬于非易失性存儲(chǔ)器,用于長(zhǎng)久存放系統(tǒng)中幾乎所有的信息回顧:程序及指令的執(zhí)行過程在內(nèi)存存放的指令實(shí)際上是機(jī)器代碼(0/1序列)08048394<add>:18048394: 55 push %ebp28048395: 89e5 mov %esp,%ebp38048397: 8b450cmov 0xc(%ebp),%eax4804839a: 034508add0x8(%ebp),%eax5804839d: 5d pop %ebp6804839e: c3 ret每條指令都需從主存單元取到CPU執(zhí)行PUSH指令需把寄存器內(nèi)容壓入棧中POP指令則相反第3條mov指令需要從主存中取數(shù)后送到寄存器第4條add指令需要從主存取操作數(shù)到ALU中進(jìn)行運(yùn)算ret指令需要從棧中取出返回地址,以能正確回到調(diào)用程序執(zhí)行棧是主存中的一個(gè)區(qū)域!訪存是指令執(zhí)行過程中一個(gè)非常重要的環(huán)節(jié)!取指、取數(shù)、存數(shù)取指存數(shù)取數(shù)取數(shù)取數(shù)取數(shù)對(duì)于add函數(shù)的執(zhí)行,哪些情況需要訪存:存儲(chǔ)器分類:按存儲(chǔ)介質(zhì)分類

(1)半導(dǎo)體存儲(chǔ)器存儲(chǔ)位元是由半導(dǎo)體器件組成的存儲(chǔ)器記憶原理:雙穩(wěn)態(tài)觸發(fā)器、電容體積小、速度快,易失(只讀存儲(chǔ)器除外)。半導(dǎo)體存儲(chǔ)器芯片組成,芯片有多種類型:半導(dǎo)體存儲(chǔ)器只讀存儲(chǔ)器(ROM)隨機(jī)存取存儲(chǔ)器(RAM)靜態(tài)存儲(chǔ)器SRAM動(dòng)態(tài)存儲(chǔ)器DRAM

不可在線改寫內(nèi)容的ROM閃存(FlashROM)(用作緩存Cache)(用作主存儲(chǔ)器)每個(gè)存儲(chǔ)單元(cell)由6個(gè)晶體管組成只要加上電源,信息就能一直保持對(duì)電器干擾相對(duì)不很敏感比DRAM更快,也更貴

每個(gè)存儲(chǔ)單元由1個(gè)電容和1個(gè)晶體管組成每隔一段時(shí)間必須刷新一次對(duì)電器干擾比較敏感比SRAM慢,但便宜目前用作BIOSBIOS存儲(chǔ)介紹:/thread-20775-1-1.html(2)磁表面存儲(chǔ)器:用陶瓷、非磁性金屬或塑料作載磁體,利用磁層上不同方向的磁化區(qū)域表示信息。容量大,速度慢,非易失,價(jià)格低。用作外存。按載磁體形狀的不同分為:磁盤、磁帶、磁鼓(3)光盤存儲(chǔ)器:用有機(jī)玻璃作載磁體,利用光斑的有無來表示信息。記錄密度高,存儲(chǔ)容量大,不易丟失,光盤數(shù)據(jù)的保存時(shí)間比磁表面存儲(chǔ)器的長(zhǎng)。讀寫速度慢,用作外存。存儲(chǔ)器分類:按存儲(chǔ)介質(zhì)分類存儲(chǔ)器分類:按存取方式分類隨機(jī)存取存儲(chǔ)器RandomAccessMemory(RAM)

每個(gè)單元讀寫時(shí)間一樣,且與各單元所在位置無關(guān)。如:內(nèi)存順序存取存儲(chǔ)器SequentialAccessMemory(SAM)數(shù)據(jù)按順序從存儲(chǔ)載體的始端讀出或?qū)懭?,因而存取時(shí)間的長(zhǎng)短與信息所在位置有關(guān)。例如:磁帶。直接存取存儲(chǔ)器DirectAccessMemory(DAM)直接定位到讀寫數(shù)據(jù)塊,在讀寫數(shù)據(jù)塊時(shí)按順序進(jìn)行。如磁盤相聯(lián)存儲(chǔ)器AssociateMemory(AM)

ContentAddressedMemory(CAM)不根據(jù)地址而是根據(jù)存儲(chǔ)內(nèi)容來進(jìn)行存取的存儲(chǔ)器。例如:快表。存儲(chǔ)器分類:按功能/容量/速度/所在位置分類寄存器(Register)封裝在CPU內(nèi),用于存放當(dāng)前正在執(zhí)行的指令和使用的數(shù)據(jù)用觸發(fā)器實(shí)現(xiàn),速度快,容量?。◣资畟€(gè))高速緩存(Cache)位于CPU內(nèi)部或附近,用來存放當(dāng)前要執(zhí)行的局部程序段和數(shù)據(jù)用SRAM實(shí)現(xiàn),速度可與CPU匹配,容量?。◣譓B)內(nèi)存儲(chǔ)器MM(主存儲(chǔ)器Main(Primary)Memory)位于CPU之外,用來存放已被啟動(dòng)的程序及所用的數(shù)據(jù)用DRAM實(shí)現(xiàn),速度較快,容量較大(幾GB)外存儲(chǔ)器AM(輔助存儲(chǔ)器Auxiliary/SecondaryStorage)位于主機(jī)之外,用來存放暫不運(yùn)行的程序、數(shù)據(jù)或存檔文件用磁表面或光存儲(chǔ)器實(shí)現(xiàn),容量大而速度慢性能指標(biāo):按字節(jié)連續(xù)編址,每個(gè)存儲(chǔ)單元為1個(gè)字節(jié)(8個(gè)二進(jìn)位)存儲(chǔ)容量:所包含的存儲(chǔ)單元的總數(shù)(單位:MB或GB)存取時(shí)間TA:從CPU送出內(nèi)存單元的地址碼開始,到主存讀出數(shù)據(jù)并送到CPU(或者是把CPU數(shù)據(jù)寫入主存)所需要的時(shí)間(單位:ns,1ns=10-9s),分讀取時(shí)間和寫入時(shí)間存儲(chǔ)周期TMC:連讀兩次訪問存儲(chǔ)器所需的最小時(shí)間間隔,它應(yīng)等于存取時(shí)間加上下一次存取開始前所要求的附加時(shí)間,因此,TMC比TA大(因?yàn)榇鎯?chǔ)器由于讀出放大器、驅(qū)動(dòng)電路等都有一段穩(wěn)定恢復(fù)時(shí)間,所以讀出后不能立即進(jìn)行下一次訪問。)(就像一趟火車運(yùn)行時(shí)間和發(fā)車周期是兩個(gè)不同概念一樣。)主存的主要性能指標(biāo)希望的理想存儲(chǔ)器到目前為止,已經(jīng)了解到有以下幾種存儲(chǔ)器:寄存器,SRAM,DRAM,硬盤單獨(dú)用某一種存儲(chǔ)器,都不能滿足我們的需要!采用分層存儲(chǔ)結(jié)構(gòu)來構(gòu)建計(jì)算機(jī)的存儲(chǔ)體系!1ns2ns10ns10ms<1KB1MB1GB1000GB100GB1ns問題:你認(rèn)為哪一種最適合做計(jì)算機(jī)的存儲(chǔ)器呢?三個(gè)參數(shù)之間的關(guān)系:

存儲(chǔ)器速度越快,每位價(jià)格就越高存儲(chǔ)器容量越大,速度就越慢,價(jià)格就越低

組成存儲(chǔ)系統(tǒng)的關(guān)鍵:把速度、容量和價(jià)格不同的多個(gè)物理存儲(chǔ)器組織成一個(gè)存儲(chǔ)系統(tǒng),這個(gè)存儲(chǔ)系統(tǒng)要求速度最快、存儲(chǔ)容量最大、單位容量的價(jià)格最便宜。5.1.3存儲(chǔ)器的層次結(jié)構(gòu)從用戶的角度來看,決定存儲(chǔ)器的三個(gè)基本參數(shù)

——容量、速度和價(jià)格

5.1.3存儲(chǔ)器的層次結(jié)構(gòu)遠(yuǎn)程二級(jí)存儲(chǔ)(分布式文件,Web服務(wù)器)本地二級(jí)存儲(chǔ)(本地磁盤)主存儲(chǔ)器(DRAM)芯片外的L2高速緩存(SRAM)芯片上的L1高速緩存(SRAM)寄存器L0L1L2L3L4L5更大更慢更便宜的存儲(chǔ)設(shè)備更小更快更貴的存儲(chǔ)設(shè)備CPU主機(jī)本地存儲(chǔ)訪問的局部性原理指程序在執(zhí)行的過程中,對(duì)存儲(chǔ)器中的內(nèi)容的訪問不是隨機(jī)的,而是相對(duì)集中的5.1.3存儲(chǔ)器的層次結(jié)構(gòu)層次結(jié)構(gòu)存儲(chǔ)系統(tǒng)分以下六個(gè)部分介紹第一講:存儲(chǔ)器概述第二講:主存模塊的連接和擴(kuò)展第三講:高速緩沖存儲(chǔ)器(cache)程序訪問的局部性、Cache的基本工作原理Cache行和主存塊之間的映射方式Cache讀寫一致性問題0,015,015,70,7

讀/寫控制電路

地址譯碼器

字線015…………16×8矩陣…………07D07D

位線

讀/寫選通A3A2A1A0……00000,00,7…0……07……D07D

/寫選通基本特征每根位線與同一位的所有存儲(chǔ)位元連接每根字線僅與同一存儲(chǔ)單元的所有存儲(chǔ)位元連接字片式存儲(chǔ)體陣列組織一般SRAM為字片式芯片,只在字線上譯碼,同時(shí)讀出字線上所有位!A1A00,30,03,03,3

Y地址譯碼器

X地址譯碼器

4×4

矩陣……A3I/O2AY0Y3X0X3D讀/寫……位片式存儲(chǔ)體陣列組織00000,03,00,3……I/OD0,0讀基本特征將部分譯碼功能移到存儲(chǔ)矩陣內(nèi)部位片式在字方向和位方向擴(kuò)充,需要有片選信號(hào)DRAM芯片都是位片式2-4地址譯碼器C00C10C20C30C40C50C60C70C80C90C100C110C120C130C140C1502-4地址譯碼器C07C17C27C37C77C117C157………………圖5.616×1字節(jié)重合法結(jié)構(gòu)示意圖A0A1A2A3X0X1X2X4Y0Y1Y2Y3D0D7讀寫電路D0D7…………7bit0bit1.主存儲(chǔ)器的基本組成

存儲(chǔ)體地址驅(qū)動(dòng)器地址譯碼器MAR存儲(chǔ)器地址寄存器時(shí)序控制電路讀寫電路MDR存儲(chǔ)器數(shù)據(jù)寄存器....................CPU內(nèi)部地址總線CPU內(nèi)部數(shù)據(jù)總線讀寫地址寄存器地址譯碼器讀寫控制電路控制線讀/寫控制信號(hào)記憶單元

數(shù)據(jù)線讀/寫的數(shù)據(jù)(64位)主存地址地址線(36位)····· 0110100110101010存儲(chǔ)內(nèi)容00001000000001000011001001111011111·······存儲(chǔ)單元地址MDRMARCPUMM主存的結(jié)構(gòu)問題:主存中存放的是什么信息?指令及其數(shù)據(jù)!問題:地址譯碼器的輸入是什么?輸出是什么?可尋址范圍多少?一次能讀出多少個(gè)單元(按字節(jié)編址)?輸入是地址,輸出是地址驅(qū)動(dòng)信號(hào)(只有一根地址驅(qū)動(dòng)線被選中)。可尋址范圍為0~236-1,即主存地址空間為64GB(按字節(jié)編址時(shí))。每次最多可讀/寫8個(gè)單元,給出的是首(最小)地址。主存地址空間大小不等于主存容量(實(shí)際安裝的主存大?。?!PC機(jī)主存儲(chǔ)器的物理結(jié)構(gòu)由若干內(nèi)存條組成內(nèi)存條的組成:把若干片DRAM芯片焊裝在一小條印制電路板上制成內(nèi)存條必須插在主板上的內(nèi)存條插槽中才能使用SPARCstation20MemoryControllerMemoryBusSIMMSlot0SIMMSlot1SIMMSlot2SIMMSlot3SIMMSlot4SIMMSlot5SIMMSlot6SIMMSlot7DRAMSIMMDRAMDRAMDRAMDRAMDRAMDRAMDRAMDRAM舉例:SPARCstation20’sMemoryModule每個(gè)內(nèi)存條最多能同時(shí)讀出128位數(shù)據(jù)存儲(chǔ)器總線的寬度為128位每次訪存操作總是在某一個(gè)內(nèi)存條內(nèi)進(jìn)行!舉例:SPARCstation20’s內(nèi)存條(模塊)onememorymodule(內(nèi)存條)512rows512colsDRAMChip15bits<127:120>8bits512×8SRAM256Kx8=2MbDRAM

Chip0bits<7:0>512×8SRAM256Kx8=2MbMemoryBus<127:0>每個(gè)芯片有512行x512列,并有8個(gè)位平面每次讀/寫各芯片同行同列的8位,共16x8=128位按工作狀態(tài)與存儲(chǔ)原理的不同分為靜態(tài)RAM動(dòng)態(tài)RAM5.2.2隨機(jī)存取存儲(chǔ)器RAM1)SRAM基本單元電路由六個(gè)MOS管組成的觸發(fā)器構(gòu)成1.靜態(tài)RAM5.2.2隨機(jī)存取存儲(chǔ)器RAM行地址選擇線XVccT3ABI/O列地址選擇線YI/OD數(shù)據(jù)位線D數(shù)據(jù)位線T4T1T2T5T6T7T8T1,T3:MOS反相器T2,T4:MOS反相器

RS觸發(fā)器T5,T6:控制門管D,D:位線,完成讀/寫操作定義“0”:T1導(dǎo)通,T2截止“1”:T1截止,T2導(dǎo)通工作X,Y加高電平,同時(shí)被選中,T5,T6,T7,T8同時(shí)被選通寫入:在I/O線上加入高、低電平讀出:根據(jù)I/O線上有無電流,讀1/0VccT3ABI/O列地址選擇線YI/OD數(shù)據(jù)位線D數(shù)據(jù)位線T4T1T2T5T6T7T8行地址選擇線X優(yōu)點(diǎn)存取速度快,一般用作Cache依觸發(fā)器的工作特性存儲(chǔ)信息,屬非破壞性讀出當(dāng)電源掉電時(shí),所存的數(shù)據(jù)會(huì)丟失。缺點(diǎn)功耗較大所用元器件多,集成度低,成本較高3)SRAM的特性5.2.2隨機(jī)存取存儲(chǔ)器RAMIntel2114外特性 基本單元電路由六個(gè)MOS管組成存儲(chǔ)容量1K×4位......I/O1I/O2I/O3I/O4A0A8A9WECSCCVGNDIntel21144)SRAM的典型芯片舉例5.2.2隨機(jī)存取存儲(chǔ)器RAM1)DRAM的基本單元電路位線CsT字線T單管式2.動(dòng)態(tài)RAM5.2.2隨機(jī)存取存儲(chǔ)器RAM2)DRAM的讀寫過程寫入W選通打開T,電荷充/放電W結(jié)束T關(guān)閉,寫入的信息以電荷形式保存在電容上讀出W選通打開T,D線上有無電流保持電容上是否有電荷來表示存儲(chǔ)的信息由于漏電不能長(zhǎng)久保存信息,需要刷新5.2.2隨機(jī)存取存儲(chǔ)器RAM(D)位線CsT(W)字線01T無電流有電流3)DRAM的特性破壞性讀出,讀后需恢復(fù)信息相對(duì)靜態(tài)存儲(chǔ)位元電路功耗?。ê?jiǎn)單)集成度高5.2.2隨機(jī)存取存儲(chǔ)器RAM4)DRAM的刷新按一定時(shí)間間隔為記憶電容補(bǔ)充電荷的過程刷新的原因動(dòng)態(tài)存儲(chǔ)器依靠電容電荷存儲(chǔ)信息。平時(shí)無電源供電,時(shí)間一長(zhǎng)電容電荷會(huì)泄放。需定期向電容補(bǔ)充電容,以保持信息不變。5.2.2隨機(jī)存取存儲(chǔ)器RAMIntel2164外特性:基本單元電路由單個(gè)MOS管組成,RAS為行地址選通信號(hào),CAS為列地址選通信號(hào)。

存儲(chǔ)容量256×1位5)DRAM的典型芯片舉例......DINDOUTA0A6A7WERASCCVGNDIntel2164CAS5.2.2隨機(jī)存取存儲(chǔ)器RAM6)SRAM和DRAM的比較

DRAMSRAM存儲(chǔ)原理集成度芯片引腳功耗價(jià)格速度刷新電容觸發(fā)器高低少多?。?/6)大低高慢快有無主存緩存5.2.2隨機(jī)存取存儲(chǔ)器RAM存儲(chǔ)容量的擴(kuò)展

將若干個(gè)存儲(chǔ)器芯片按照一定的規(guī)則組合在一起形成容量足夠大的存儲(chǔ)器,稱為存儲(chǔ)容量的擴(kuò)展

位擴(kuò)展存儲(chǔ)芯片(mk×n位/片)構(gòu)成存儲(chǔ)器(mk×N位)字?jǐn)U展存儲(chǔ)芯片(mk×n位/片)構(gòu)成存儲(chǔ)器(Mk×n位)字位同時(shí)擴(kuò)展存儲(chǔ)芯片(mk×n位)構(gòu)成存儲(chǔ)器(Mk×N位)注意:m<M;n<N1)位擴(kuò)展存儲(chǔ)芯片(mk×n位/片)構(gòu)成存儲(chǔ)器(mk×N位)特點(diǎn):存儲(chǔ)單元個(gè)數(shù)不變,字長(zhǎng)加長(zhǎng)需存儲(chǔ)芯片數(shù):

N/n

片例:由16K×8位的芯片組裝成16K×32位存儲(chǔ)器需要:

32/8

=4(片)芯片間各端點(diǎn)(引腳)如何連接地址端、-CS、-WE、-OE端(若有):分別并接數(shù)據(jù)輸入、輸出端:各位單獨(dú)引出存儲(chǔ)容量的擴(kuò)展1)位擴(kuò)展(注意信號(hào)線的連接)1K*4

1K*8存儲(chǔ)容量的擴(kuò)展WEIntel21141K×4位Intel21141K×4位A9

…A0數(shù)據(jù)總線(8根)A9

…A0…D0D3D4D7I/O3I/O0…I/O3I/O0I/O2……A0A9…CSCSWEWECS2)字?jǐn)U展存儲(chǔ)芯片(mk×n位/片)構(gòu)成存儲(chǔ)器(Mk×n位)特點(diǎn):存儲(chǔ)單元個(gè)數(shù)增加,字長(zhǎng)不變需存儲(chǔ)芯片數(shù):

M/m

例:由32K×8位的芯片組裝成128K×8位存儲(chǔ)器需要:

128K/32K

=4(片)芯片間各端點(diǎn)如何連接A、-WE、-OE(若有)、數(shù)據(jù)輸入輸出端:分別并接-CS:?jiǎn)为?dú)引出。與增加的高位地址碼(存儲(chǔ)器地址碼位數(shù)減芯片的地址碼位數(shù))的譯碼結(jié)果連接存儲(chǔ)容量的擴(kuò)展存儲(chǔ)容量的擴(kuò)展2)字?jǐn)U展(注意信號(hào)線的連接)2K*84K*8Intel61162K×8位Intel61162K×8位數(shù)據(jù)總線(8根)…D7D0…A0A10A11A0…A10A0…A10oOEWECECE地址總線(12根)3)字、位同時(shí)擴(kuò)展存儲(chǔ)芯片(mk×n位)構(gòu)成存儲(chǔ)器(Mk×N位)特點(diǎn):存儲(chǔ)單元個(gè)數(shù),字長(zhǎng)同時(shí)增加需芯片數(shù):

M/m

N/n

例:由16K×4位的芯片組裝成128K×32位存儲(chǔ)器需要:

128K/16K

32/4

=8×8=64(片)芯片間各端點(diǎn)的連接A、-WE、-OE(若有):分別并接-CS:位向(同行)并接,字向(不同行)獨(dú)立引出D、Q:字向(同列)并接,位向(不同列)獨(dú)立引出存儲(chǔ)容量的擴(kuò)展3)字、位同時(shí)擴(kuò)展1K*4--4K*8存儲(chǔ)容量的擴(kuò)展Intel21141K×4位Intel21141K×4位Intel21141K×4位Intel21141K×4位Intel21141K×4位Intel21141K×4位Intel21141K×4位Intel21141K×4位D3~D0D7~D4I/O3~I(xiàn)/O0I/O3~I(xiàn)/O0I/O3~I(xiàn)/O0I/O3~I(xiàn)/O0I/O3~I(xiàn)/O0I/O3~I(xiàn)/O0I/O3~I(xiàn)/O0I/O3~I(xiàn)/O0A9~A0WECS02-4譯碼器A10A11OOOOCS1CS2CS3位擴(kuò)展字?jǐn)U展層次結(jié)構(gòu)存儲(chǔ)系統(tǒng)分以下六個(gè)部分介紹第一講:存儲(chǔ)器概述第二講:主存模塊的連接和擴(kuò)展第三講:高速緩沖存儲(chǔ)器(cache)

程序訪問的局部性、Cache的基本工作原理Cache行和主存塊之間的映射方式Cache讀寫一致性問題引入Cache的原因大量典型程序的運(yùn)行情況分析結(jié)果表明在較短時(shí)間間隔內(nèi),程序產(chǎn)生的地址往往集中在一個(gè)很小范圍內(nèi)這種現(xiàn)象稱為程序訪問的局部性:空間局部性、時(shí)間局部性程序具有訪問局部性特征的原因指令:指令按序存放,地址連續(xù),循環(huán)程序段或子程序段重復(fù)執(zhí)行數(shù)據(jù):連續(xù)存放,數(shù)組元素重復(fù)、按序訪問這個(gè)高速緩存就是位于主存和CPU之間的Cache!緩存CPU主存容量小速度高容量大速度低Cache(高速緩存)是什么樣的?Cache是一種小容量高速緩沖存儲(chǔ)器,它由SRAM組成。Cache直接制作在CPU芯片內(nèi),速度幾乎與CPU一樣快。程序運(yùn)行時(shí),CPU使用的一部分?jǐn)?shù)據(jù)/指令會(huì)預(yù)先成批拷貝在Cache中,Cache的內(nèi)容是主存儲(chǔ)器中部分內(nèi)容的映象。當(dāng)CPU需要從內(nèi)存讀(寫)數(shù)據(jù)或指令時(shí),先檢查Cache,若有,就直接從Cache中讀取,而不用訪問主存儲(chǔ)器。012345678910111213141589143444101010主存中的信息按“塊”送到Cache中Cache存儲(chǔ)器主存儲(chǔ)器數(shù)據(jù)訪問過程:塊(Block)CPUCache主存?5.3.1Cache的工作原理Cache的基本結(jié)構(gòu)塊塊塊塊標(biāo)號(hào)標(biāo)號(hào)標(biāo)號(hào)標(biāo)號(hào)Cache的基本結(jié)構(gòu)塊塊主存5.3.2Cache—主存地址映射Cache的通用結(jié)構(gòu)1)Cache的數(shù)據(jù)組織結(jié)構(gòu)有效有效標(biāo)記012……b-1012……b-1...有效有效標(biāo)記標(biāo)記012……b-1012……b-1...組0:組S-1:每個(gè)數(shù)據(jù)塊1個(gè)有效位每個(gè)數(shù)據(jù)塊B(=2b)個(gè)字節(jié)每組E個(gè)數(shù)據(jù)塊每個(gè)數(shù)據(jù)塊t個(gè)標(biāo)記位共S(=2s)組Cache的容量C=S×E×B字節(jié)……….標(biāo)記5.3.1Cache的工作原理Cache的有關(guān)術(shù)語數(shù)據(jù)塊(Block):Cache與主存的基本劃分單位,也是主存與Cache一次交換數(shù)據(jù)的最小單位,由多個(gè)字節(jié)(字)組成,取決與主存一次讀寫操作所能完成的數(shù)據(jù)字節(jié)數(shù)標(biāo)記(Tag):地址標(biāo)記,Cache每一Block具有一個(gè)唯一的標(biāo)記,用來指明該Block中的數(shù)據(jù)屬于主存中哪個(gè)數(shù)據(jù)Block的副本組(Set):若干塊(Block)構(gòu)成一個(gè)組,地址比較一般能在組內(nèi)各塊間同時(shí)進(jìn)行5.3.2Cache—主存地址映射1.直接映射:Cache每組只有一個(gè)數(shù)據(jù)塊映射關(guān)系:主存中的某一塊J映射到Cache中的固定塊K,K=JModM(M是Cache包含的塊數(shù))主存中的每一塊只能被放置到Cache中唯一的一個(gè)位置空間利用率最低,沖突概率最高,實(shí)現(xiàn)最簡(jiǎn)單5.3.2Cache—主存地址映射2.全相聯(lián)映射Cache中只有一個(gè)組主存中的某一Block可以映射到Cache中的任意一Blcok空間利用率最高,沖突概率最低,實(shí)現(xiàn)最復(fù)雜5.3.2Cache—主存地址映射3.組相聯(lián)映射(SetAssociativeMapping)映射關(guān)系:Cache分成K組,每組分成L塊;主存的塊J以下列原則映射到Cache的組I

中的任何一塊:I

=

JmodK5.3.2Cache—主存地址映射3.組相聯(lián)映射主存中的每一塊可以被放置到Cache中唯一的一個(gè)組中的任何一個(gè)位置組相聯(lián)是直接映象和全相聯(lián)的一種折衷5.3.1Cache的工作原理Cache的讀操作命中不命中5.3.1Cache的工作原理(讀)當(dāng)CPU發(fā)出讀請(qǐng)求時(shí),將主存地址塊號(hào)與Cache某塊的標(biāo)記相比較,根據(jù)其比較結(jié)果是否相等而分出兩種情況:當(dāng)比較結(jié)果相等,說明需要的數(shù)據(jù)已在Cache中,直接訪問Cache當(dāng)比較結(jié)果不等,說明需要的數(shù)據(jù)尚未調(diào)入,那么就要把該數(shù)據(jù)所在的整個(gè)字塊從主存一次調(diào)入Cache前一種情況稱入訪問Cache命中,后一種叫訪問Cache不命中。Cache的性能命中率hh=(被訪問數(shù)據(jù)在Cache的次數(shù)/訪問的總次數(shù))平均訪問時(shí)間TeTe=h

Tc+(1-h)

Tm

其中Tc指cache訪問時(shí)間,Tm指主存訪問時(shí)間Cache的讀操作Cache已經(jīng)滿了怎么辦?思考?5.3.3Cache的替換策略替換策略LRU(Least-RecentlyUsed)最近最少使用法將近期內(nèi)長(zhǎng)時(shí)間未被訪問過的數(shù)據(jù)塊替換出去,實(shí)現(xiàn)比較容易FIFO(First-In-First-Out)先進(jìn)先出法將最先調(diào)入Cache的數(shù)據(jù)塊替換出去,它不需要隨時(shí)記錄各數(shù)據(jù)塊的使用情況,容易實(shí)現(xiàn)、開銷小

LFU(Least-FrequentlyUsed)最不常使用算法替換出在過去一個(gè)時(shí)間段內(nèi)引用次數(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論