計(jì)算機(jī)組成原理第五章課件_第1頁(yè)
計(jì)算機(jī)組成原理第五章課件_第2頁(yè)
計(jì)算機(jī)組成原理第五章課件_第3頁(yè)
計(jì)算機(jī)組成原理第五章課件_第4頁(yè)
計(jì)算機(jī)組成原理第五章課件_第5頁(yè)
已閱讀5頁(yè),還剩97頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第五章存儲(chǔ)系統(tǒng)存儲(chǔ)器分類存儲(chǔ)器主要性能指標(biāo)存儲(chǔ)器結(jié)構(gòu)隨機(jī)存取存儲(chǔ)器只讀存儲(chǔ)器多體交叉存儲(chǔ)器高速緩沖存儲(chǔ)器虛擬存儲(chǔ)器2/3/202315.1存儲(chǔ)器概述5.1.1存儲(chǔ)器分類 SRAM RAM內(nèi)存儲(chǔ)器 DRAM ROM ROMEPROM E2PROM存儲(chǔ)器 FLASHMEMORY FLOPPYDISK DISK HARDDISK外存儲(chǔ)器 CD OPTICALDISKDVD MO2/3/20232存儲(chǔ)器主存儲(chǔ)器(內(nèi)存)輔助存儲(chǔ)器(外存)1、主存儲(chǔ)器☆存儲(chǔ)當(dāng)前正在使用的信息;☆要求較高的操作速度;☆存儲(chǔ)容量不要求很大;☆半導(dǎo)體存儲(chǔ)電路實(shí)現(xiàn)。

按存儲(chǔ)器在計(jì)算機(jī)中的作用分類2/3/202332、輔助存儲(chǔ)器:☆長(zhǎng)期保存信息;☆工作速度低;☆存儲(chǔ)容量達(dá);☆用磁性存儲(chǔ)設(shè)備實(shí)現(xiàn);☆可讀/寫。2/3/20234輔助存儲(chǔ)器程序存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器主存儲(chǔ)器存儲(chǔ)單元CPU2/3/20235RAM—隨機(jī)存儲(chǔ)器雙極型RAMMOS型RAM靜態(tài)RAM動(dòng)態(tài)RAM掩膜ROM—內(nèi)容由廠家制做可編程PROM—可一次性編程可擦洗EPROM—可多次改寫ROM—只讀存儲(chǔ)器FlashMemory—閃速存儲(chǔ)器

按讀寫功能分類:2/3/202365.1.2存儲(chǔ)器的主要性能指標(biāo)1、容量用大規(guī)模集成電路構(gòu)成的半導(dǎo)體存儲(chǔ)器件常用位容量來表示存儲(chǔ)功能。如一個(gè)4K1和一個(gè)1K4的器件,它們的位容量是一樣的。但是,前者可用來組成4K內(nèi)存單元的某一位,芯片只有一個(gè)數(shù)據(jù)輸入端和一個(gè)數(shù)據(jù)輸出端,在存儲(chǔ)容量較大的系統(tǒng)中,一般都采用這樣的器件;后者則可以用來組成1K內(nèi)存單元的某4位,有4個(gè)數(shù)據(jù)輸入端和4個(gè)數(shù)據(jù)輸出端,在內(nèi)存容量較小的系統(tǒng)中,一般采用這樣的器件。 總的來說,采用位容量高的器件。2/3/202371字節(jié)(byte)=8位(bit)1個(gè)字(word)=2字節(jié)外存中,為了表示更大的容量,采用MB、GB、TB等單位。1KB=210B (B表示字節(jié))1MB=220B1GB=230B1TB=240B64KB=64K8bit2/3/202382、存取速度

存儲(chǔ)器的速度可用訪問時(shí)間、存儲(chǔ)周期或頻寬來描述;▲訪問時(shí)間:用讀出時(shí)間TA及寫入時(shí)間TW來描述;

TA:從存儲(chǔ)器接到讀命令以后至信息被送到數(shù)據(jù)總線上所需的時(shí)間;

TW:將一個(gè)字寫入存儲(chǔ)器所需的時(shí)間?!嫒≈芷冢═M):存儲(chǔ)器進(jìn)行一次完整的讀寫操作所需要的全部時(shí)間;或者說:?jiǎn)?dòng)兩次獨(dú)立的存儲(chǔ)器操作之間所需的最小時(shí)間間隔;2/3/20239常用存儲(chǔ)器進(jìn)行連續(xù)讀寫操作的最短間隔時(shí)間;

TM直接關(guān)系到計(jì)算機(jī)的運(yùn)算速度;一般有TM>TA、TM>TW

,單位用微秒或毫微秒?!鎯?chǔ)器的頻寬B:表示存儲(chǔ)器被連續(xù)訪問時(shí),提供的數(shù)據(jù)傳送速率;常用每秒鐘傳送信息的位數(shù)(或字節(jié)數(shù))來衡量。3、價(jià)格存儲(chǔ)器的價(jià)格:可用總價(jià)格C或每位價(jià)格c來表示,若存儲(chǔ)器按位計(jì)算的容量為S;則:c=C/S2/3/2023105.1.3存儲(chǔ)器的層次結(jié)構(gòu)計(jì)算機(jī)應(yīng)用對(duì)存儲(chǔ)器的容量和速度的要求幾乎是無止境的,理想的存儲(chǔ)系統(tǒng)應(yīng)當(dāng)具有充足的容量和與CPU相匹配的速度。但是實(shí)際的存儲(chǔ)器都是非理想化的,其制約因素是價(jià)格(每位成本)、容量和速度。這3個(gè)基本指標(biāo)是矛盾的。存取速度越高,每位價(jià)格就越高。隨著所使用存儲(chǔ)容量的增大,就得使用速度較低的器件。2/3/202311

用戶需求:大容量、高速度、低成本←矛盾

解決方案:訪存局部性原理→層次結(jié)構(gòu)

層次結(jié)構(gòu)組織:*相關(guān)問題:①設(shè)置原則是什么?設(shè)置幾層?②各層間一次傳輸時(shí)數(shù)據(jù)大小是多少?為什么引入計(jì)算機(jī)的層次結(jié)構(gòu)?2/3/202312合理地分配容量、速度和價(jià)格的有效措施是實(shí)現(xiàn)分級(jí)存儲(chǔ)。這是一種把幾種存儲(chǔ)技術(shù)結(jié)合起來,互相補(bǔ)充的折衷方案。下圖是典型的存儲(chǔ)系統(tǒng)層次結(jié)構(gòu)示意圖,這個(gè)層次結(jié)構(gòu)有如下規(guī)律(從上到下):

價(jià)格依次降低;容量依次增加;訪問時(shí)間依次增長(zhǎng);

CPU訪問頻度依次減小。使用這樣的存儲(chǔ)體系,從CPU看,存儲(chǔ)速度接近于最上層的,容量及成本卻是接近最下層的,大大提高了系統(tǒng)的性能價(jià)格比。2/3/202313處理器寄存器高速緩沖存儲(chǔ)器主存儲(chǔ)器(SRAM,DRAM)輔助存儲(chǔ)器(磁盤存儲(chǔ)器等)大容量(海量)存儲(chǔ)器(光盤、磁帶存儲(chǔ)器)存儲(chǔ)系統(tǒng)的層次結(jié)構(gòu)外部設(shè)備主機(jī)內(nèi)CPU芯片內(nèi)速度高低小大快慢容量?jī)r(jià)格/位2/3/202314▲

存儲(chǔ)系統(tǒng)的層次結(jié)構(gòu)主要體現(xiàn)在緩存-主存和

主存-輔存這兩個(gè)存儲(chǔ)層次上;高速緩存(Cache)主存寄存器組CPU輔存主機(jī)存儲(chǔ)器系統(tǒng)的層次結(jié)構(gòu)1、“高速緩存—主存”層次這個(gè)層次主要解決存儲(chǔ)器的速度問題。在CPU與主存之間增設(shè)一級(jí)存儲(chǔ)器,稱高速緩沖存儲(chǔ)器(Cache)2/3/202315

Cache速度可與CPU相匹配,但容量較小,只能存放一小段程序和數(shù)據(jù);CPU訪問內(nèi)存時(shí),將地址碼同時(shí)送到Cache和主存,若在Cache中找到相應(yīng)內(nèi)容,稱訪問“命中”,信息就從

Cache中讀??;否則CPU從主存中讀取(稱訪問“不命中”);此時(shí)一般要進(jìn)行Cache和主存的信息交換。2/3/2023162、“主存—輔存”層次這個(gè)層次主要解決存儲(chǔ)器的容量問題?!爸鞔妗o存”層次是一個(gè)既具有主存的存取速度又具有輔存的大容量低成本特點(diǎn)的一個(gè)存儲(chǔ)器總體。把正在被CPU使用的“活動(dòng)”的程序和數(shù)據(jù)放在主存中,其余信息則存放在容量大、但速度較慢的輔存中。虛擬存儲(chǔ)技術(shù):面對(duì)程序員的是一個(gè)具有輔存的容量、主存的速度的存儲(chǔ)器;解決了主存容量不足的問題。2/3/2023175.1.4主存儲(chǔ)器與CPU的連接

(MFC)(RD、WR)主存存儲(chǔ)體有2k個(gè)存儲(chǔ)單元每單元為n位控制電路CPUMARMDR地址總線k位數(shù)據(jù)總線n位主存與CPU的連接2/3/202318特點(diǎn):

可讀可寫,是一種易失性存儲(chǔ)器,在掉電后存放在存儲(chǔ)單元的信息全部丟失,所以它一般用來暫存輸入/輸出數(shù)據(jù)、中間結(jié)果等。RAMSRAM——速度快,容量小,功耗大DRAM——速度慢,容量大5.2隨機(jī)存取存儲(chǔ)器RAM2/3/2023195.2.1SRAM——靜態(tài)存儲(chǔ)器利用觸發(fā)器的兩個(gè)穩(wěn)定狀態(tài)表示“0”和“1”,至少需要6個(gè)晶體管才能表示一個(gè)二進(jìn)制位。SRAM功耗較大,容量較小,存取速度較快,幾乎是后面介紹的DRAM的10倍。價(jià)格較高,不需要刷新。當(dāng)CPU速度愈來愈快的時(shí)候,SRAM就變得非常重要。因?yàn)镈RAM跟不上CPU的速度,所以只好就用SRAM來做溝通的橋梁--這就是高速緩沖存儲(chǔ)器(Cache)的概念。因此,SRAM主要的用途就是拿來作為Cache用。2/3/202320(行選線)●●(列選線)存儲(chǔ)元●●●●位線B●●●●&&I/O基本存儲(chǔ)元讀操作?若某個(gè)存儲(chǔ)元被選中,則該存儲(chǔ)元的T5,T6,T7,T8管均導(dǎo)通,A,B兩點(diǎn)與位線D與D相連存儲(chǔ)元的信息被送到I/O與I/O線上。I/O與I/O線接著一個(gè)差動(dòng)讀出放大器,從其電流方向可以判知所存信息是“1”還是“0”。寫操作?寫“0”:在I/O線上輸入低電位,在I/O線上輸入高電位,打開T5,T6,T7,T8四個(gè)開門管把低、高電位分別加在Q,Q點(diǎn),使T3管導(dǎo)通,T2管截止,將“0”信息寫入了存儲(chǔ)元。2/3/202321地址寄存器X譯碼器驅(qū)動(dòng)器I/O電路Y譯碼器地址寄存器輸出驅(qū)動(dòng)控制電路輸出輸入讀/寫片選01638164X64存儲(chǔ)矩陣0163A6A7A11靜態(tài)MOSRAM芯片結(jié)構(gòu)圖.........A0A1A5........................2/3/202322靜態(tài)MOS存儲(chǔ)器芯片實(shí)例(62256SRAM)▲芯片容量為32K×8▲62256SRAM芯片引腳地址引腳:A0—A14數(shù)據(jù)引腳:I/O0—I/O7片選:CE低有效讀/寫控制:WE,低電平時(shí)為寫入控制;高電平時(shí)為讀出控制。WEA12A7A6A5A4A3A2A1A0I/O0I/O1I/O2GND12345678910111213142827262524232221201918171615VccA14A13A8A9A11OEI/O3I/O4I/O5I/O6I/O7CEA10M622562/3/202323靜態(tài)存儲(chǔ)芯片的讀/寫周期

tRCtAtCOtOTD地址數(shù)據(jù)出tWCtWtAWtWRtDHtDW數(shù)據(jù)入地址CSDoutCSWEDin(a)讀周期(b)寫周期靜態(tài)RAM芯片的讀、寫周期2/3/202324【例】有問題嗎?下圖是某SRAM的寫入時(shí)序圖。其中R/W是讀/寫命令控制線,當(dāng)R/W線為低電平時(shí)(寫有效),存儲(chǔ)器按給定地址把數(shù)據(jù)線上的數(shù)據(jù)寫入存儲(chǔ)器。請(qǐng)指出下圖寫入時(shí)序中的錯(cuò)誤,并畫出正確的寫入時(shí)序圖。2/3/202325【解】寫入存儲(chǔ)器的時(shí)序信號(hào)必須同步。通常,當(dāng)R/W線為有效信號(hào)時(shí),地址線和數(shù)據(jù)線的電平必須是穩(wěn)定的。當(dāng)R/W線達(dá)到低電平時(shí),數(shù)據(jù)立即被存儲(chǔ)。因此,當(dāng)R/W線處于低電平時(shí),如果數(shù)據(jù)線改變了數(shù)值,那么存儲(chǔ)器將存儲(chǔ)新的數(shù)據(jù)⑤。同樣,當(dāng)R/W線處于低電平時(shí)地址線如果發(fā)生了變化,那么同樣數(shù)據(jù)將存儲(chǔ)到新的地址②或③。所以:正確的寫入時(shí)序見下圖。2/3/202326注意到:在CS和R/W均有效時(shí),地址線和數(shù)據(jù)線上的數(shù)值必須是穩(wěn)定的。正確時(shí)序2/3/2023275.2.2存儲(chǔ)器容量的擴(kuò)展不同的應(yīng)用場(chǎng)合會(huì)對(duì)芯片提出不同的要求。現(xiàn)有的芯片往往不能完全滿足系統(tǒng)的需要,因此如何用現(xiàn)有的芯片來實(shí)現(xiàn)系統(tǒng)的性能要求就成為了存儲(chǔ)系統(tǒng)必須解決的重要問題之一。芯片不滿足使用的需要主要有以下幾個(gè)方面:1.位數(shù)不夠如系統(tǒng)需要的存儲(chǔ)容量為128K×8位,可選的芯片卻只有128K×1位或者128K×4位的芯片。這種情況下,芯片能夠滿足128K的要求,而位數(shù)卻不能滿足8位的要求。此時(shí)需要對(duì)位數(shù)進(jìn)行擴(kuò)展,即位擴(kuò)展。2/3/2023282.字?jǐn)?shù)不夠如系統(tǒng)需要的存儲(chǔ)容量為256K×8位,可選的芯片卻只有64K×8位或者128K×8位的芯片。這種情況下,芯片能滿足8位的要求,但卻不能滿足容量256K的要求。需要對(duì)字進(jìn)行擴(kuò)展,即字?jǐn)U展。3.字?jǐn)?shù)位數(shù)均不夠如系統(tǒng)需要的存儲(chǔ)容量為256K×8位,可選的芯片卻只有64K×4位或者128K×4位等芯片。這種情況下,芯片既不能滿足8位的要求,又不能滿足容量256K的要求。此時(shí)需要對(duì)位數(shù)和字同時(shí)進(jìn)行擴(kuò)展,即字位擴(kuò)展。2/3/2023291、位擴(kuò)展方式方法:利用芯片并聯(lián)的方法,根據(jù)所需位數(shù)選擇RAM(或ROM)芯片的個(gè)數(shù),將RAM(或ROM)的地址線、讀/寫線、片選信號(hào)線對(duì)應(yīng)地并聯(lián)接在一起,而各個(gè)片子的輸入/輸出(I/O)作為字的各個(gè)位線。當(dāng)芯片不能直接滿足系統(tǒng)需求時(shí),就需要對(duì)存儲(chǔ)器進(jìn)行擴(kuò)展。上述是對(duì)存儲(chǔ)器進(jìn)行擴(kuò)展時(shí)的三種主要情況,因此對(duì)存儲(chǔ)器的擴(kuò)展又主要有位擴(kuò)展、字?jǐn)U展和字位擴(kuò)展。2/3/202330例:用8個(gè)1K1RAM擴(kuò)展成

1K8的存儲(chǔ)器系統(tǒng)。10241A0A1…A9R/WCSI/O10241A0A1…A9R/WCSI/O10241A0A1…A9R/WCSI/O??????????......R/WCSA0A1A9D0D1D72/3/20233110248RAM............R/WCSD0D1D7A0A1A92、字?jǐn)U展方式方法:利用外加譯碼器控制芯片的片選輸入端 來實(shí)現(xiàn)。2/3/202332CPU譯碼器16K816K816K816K8A15A14A0~A13D0~D7R/WR/WR/WR/WCSCSCSCS2/3/2023333.字位同時(shí)擴(kuò)展由m1×n1位存儲(chǔ)器芯片組成m2×n2位的存儲(chǔ)器,需要(m2/m1)×(n2/n1)片的m1×n1位存儲(chǔ)器芯片。字位擴(kuò)展構(gòu)成的存儲(chǔ)器1K×4bitD7~D4D7~D4D7~D4D7~D42/3/202334①地址線的連接,包括內(nèi)部地址線和芯片選擇線的連接;②數(shù)據(jù)線的連接,數(shù)據(jù)線對(duì)應(yīng)相接;③控制線的連接,控制線主要有讀/寫控制線WE和存儲(chǔ)器訪問線MREQ。4.靜態(tài)RAM芯片與CPU連接2/3/2023355.2.3DRAM利用MOS管的柵極對(duì)其襯底間的分布電容來保存信息,以儲(chǔ)存電荷的多少即電容端電壓的高低來表示“1”和“0”??梢杂蓡喂躆OS管存放一位二進(jìn)制信息。優(yōu)點(diǎn):集成度高、功耗低、價(jià)格便宜缺點(diǎn):DRAM中的信息會(huì)因電容器的漏電而消失,一般信息只能保存2ms左右,為了保存DRAM中的信息,每隔1~2ms要對(duì)其進(jìn)行刷新。系統(tǒng)中必須配有刷新電路。微機(jī)系統(tǒng)中的內(nèi)存條都采用DRAM芯片。2/3/202336VDD預(yù)充脈沖??????????????X地址線(字選擇線)Y地址線(位選擇線)T7T8T2T1T3T4T5T6CBCBDD存儲(chǔ)元AB2/3/202337

讀操作:先給出預(yù)充信號(hào),使T5、T6管導(dǎo)通,于是電源就向位線D和D上的電容充電,使它們都達(dá)到電源電壓。當(dāng)字選擇線使T3,T4管導(dǎo)通時(shí),存儲(chǔ)的信息通過A,B端向位線輸出。若原存信息為“1”,則電容C2上存有電荷,T2導(dǎo)通,而T1管截至,因此D上的預(yù)充電荷經(jīng)T2管泄漏,故D=“0”,而D仍為“1”,信號(hào)通過I/O和I/O線輸出。與此同時(shí),D上的電荷可以通過A點(diǎn)向C2補(bǔ)充。故讀出的過程也是刷新的過程。

刷新操作:為防止存儲(chǔ)的信息電荷泄漏而丟失信息,由外界按一定規(guī)律不斷給柵極進(jìn)行充電,補(bǔ)足柵極的信息電荷,這就是所謂的“再生”和“刷新”。只要定時(shí)給全部存儲(chǔ)單元電路執(zhí)行一遍空讀操作(信息不向外輸出),那么就可以實(shí)現(xiàn)信息“再生”或“刷新”。2/3/202338特點(diǎn):

數(shù)據(jù)預(yù)先存好,使用時(shí)只能讀出,不能寫入,一般用來存放系統(tǒng)啟動(dòng)程序和參數(shù)表等,也用來存放常駐內(nèi)存的監(jiān)控程序等。5.3只讀存儲(chǔ)器ROM掩膜ROMPROM——可編程ROMEPROM——可擦除PROME2PROM——電可擦除PROMFlachMemory——閃存2/3/202339一.ROM的邏輯結(jié)構(gòu)1.地址譯碼器 譯碼量由存儲(chǔ)單元的數(shù)量決定。例1.共有2i個(gè)存儲(chǔ)單元,則地址譯碼器應(yīng)有i個(gè)輸入,2i個(gè)輸出。2.存儲(chǔ)體(又叫存儲(chǔ)矩陣)存儲(chǔ)矩陣由許多存儲(chǔ)單元排列而成,每個(gè)存儲(chǔ)單元可用二極管、三極管或MOS管構(gòu)成。3.輸出緩沖器作用:1)提高存儲(chǔ)器的帶負(fù)載能力;2)實(shí)現(xiàn)對(duì)輸出狀態(tài)的三態(tài)控制,以便與系統(tǒng)的總線聯(lián)接。2/3/202340地址譯碼器存儲(chǔ)矩陣MN輸出緩沖器……..........A0Ai地址輸入W2i-1W0B0BN-1ROM矩陣M條輸入線—字線N條輸入線—位線存儲(chǔ)容量=MN2/3/202341二、幾種ROM類型:1、掩膜ROM特點(diǎn):內(nèi)部信息在芯片制造時(shí)由廠家寫入,用戶對(duì)這類芯片無法進(jìn)行任何修改。2/3/2023422、可編程ROMPROM(ProgrammableROM)PROM中的程序和數(shù)據(jù)可由用戶寫入,但只能寫入一次,是一次性寫入的ROM。存儲(chǔ)單元可以用半導(dǎo)體二極管、三極管、MOS三極管電路構(gòu)成。VCC行線列線熔絲熔絲斷為“0”熔絲未斷為“1”2/3/202343PROM結(jié)構(gòu)框圖地址譯碼器存儲(chǔ)矩陣MN輸出緩沖器……..........A0Ai地址輸入W2i-1W0B0BN-1……寫入控制2/3/2023443、可擦除的PROMEPROM(ErasablePROM)可由用戶自行寫入數(shù)據(jù)和程序,寫入后的內(nèi)容可由紫外線燈照射擦除,然后再可重新寫入。EPROM可多次擦除,多次寫入。為了擦除數(shù)據(jù),需要將存取器從芯片上拔下。停電后,信息可長(zhǎng)久保留。2/3/202345P溝道的EPROM基本存儲(chǔ)元電路P+P++++++–––––N型襯底SiO2SiO2浮置柵漏極D源極S2/3/2023464、電可擦除PROME2PROM(ElectricallyErasablePROM)——在讀數(shù)據(jù)的方式上與EPROM完全一樣;可用電信號(hào)擦除和改寫的PROM,在每次寫入操作時(shí)執(zhí)行一個(gè)自動(dòng)擦除,擦寫方便;比RAM的寫操作慢的多;價(jià)格較高、使用受限;E2ROM存放的數(shù)據(jù)至少可維持10年。2/3/2023475、閃速存儲(chǔ)器(FlachMemory)具有整片電擦除和部分電擦除的優(yōu)點(diǎn);具有耗電低、容量大、體積小、可靠性高、無需后備電池、可改寫、重復(fù)使用性好等優(yōu)點(diǎn);廣泛應(yīng)用于微型計(jì)算機(jī)系統(tǒng)中,用來存放主板和顯卡上的BIOS,使BIOS的升級(jí)變得更容易。2/3/202348例:設(shè)CPU有16根地址線,8根數(shù)據(jù)線,并用MREQ作為訪存控制信號(hào)(低電平有效),用WR作為讀/寫控制信號(hào)(高電平為讀,低電平為寫)?,F(xiàn)有下列存儲(chǔ)芯片:1K4位RAM,4K8位RAM,

8K8位ROM,2K8位ROM,4K8位ROM及74138譯碼器和各種門電路。試畫出CPU與存儲(chǔ)器的連接圖。2/3/202349解:

(1)寫出對(duì)應(yīng)的二進(jìn)制地址碼(2)確定芯片的數(shù)量及類型0110000000000000A15A14A13A11A10…A7…

A4A3…

A0…01100111111111110110100000000000…01101011111111112K×8位1K×8位RAM2片1K×4位ROM1片2K×8位2/3/202350(3)分配地址線A10~A0接2K

×

8位ROM的地址線A9~A0接1K

×

4位RAM的地址線(4)確定片選信號(hào)CBA0110000000000000A15A13A11A10…A7…A4A3…

A0…01100111111111110110100000000000…01101011111111112K

×

8位1片ROM1K

×

4位2片RAM2/3/2023512K

×8位ROM

1K

×4位

RAM1K

×4位

RAM………&PD/ProgrY5Y4G1CBAG2BG2A……MREQA14A15A13A12A11A10A9A0…D7D4D3D0WR…………CPU與存儲(chǔ)器的連接圖………2/3/2023525.4多體交叉存儲(chǔ)器提高訪存速度的措施:采用高速器件采用層次結(jié)構(gòu)Cache–主存調(diào)整主存結(jié)構(gòu),采用多體交叉存儲(chǔ)器采用相聯(lián)存儲(chǔ)器,加長(zhǎng)存儲(chǔ)器的字長(zhǎng)2/3/2023535.4.1編址方式通常,一個(gè)由若干個(gè)模塊組成的主存儲(chǔ)器是線性編址的。這些地址在各模塊有兩種編址方式:一、順序編址特點(diǎn):某個(gè)模塊進(jìn)行存取時(shí),其他模塊不工作;某一模塊出現(xiàn)故障時(shí),其它模塊可以照常工作;通過增添模塊來擴(kuò)充存儲(chǔ)器容量比較方便。但由于各模塊串行工作,存儲(chǔ)器的帶寬受到了限制。2/3/202354M0……M1……M2M3…………塊內(nèi)地址塊號(hào)地址0000000000010011110100000100010111111000001000011011111100001100011111112/3/202355M0地址01……n-1M1nn+1……2n-1M22n2n+13n-1M33n3n+14n-1…………地址譯碼塊內(nèi)地址塊號(hào)高位交叉,各個(gè)體并行工作2/3/202356二、交叉方式特點(diǎn):連續(xù)地址分布在相鄰的不同模塊內(nèi),同一個(gè)模塊內(nèi)的地址都是不連續(xù)的。地址碼的低位字段經(jīng)過譯碼選擇不同的模塊,而高位字段指向相應(yīng)模塊內(nèi)的存儲(chǔ)字。這種方式對(duì)連續(xù)字的成塊傳送可實(shí)現(xiàn)多模塊流水式并行存取,因而可大大提高存儲(chǔ)器的帶寬。2/3/202357M0……M1……M2M3…………

塊號(hào)塊內(nèi)地址地址0000000000010000100000110001000001010001100001111111001111011111101111112/3/202358低位交叉,各個(gè)體輪流編址M0地址04……4n-4M115……4n-3M2264n-2M3374n-1…………地址譯碼

塊內(nèi)地址

塊號(hào)2/3/202359低位交叉的特點(diǎn):在不改變存取周期的前提下,增加存儲(chǔ)器的帶寬時(shí)間單體訪存周期單體訪存周期啟動(dòng)存儲(chǔ)體0啟動(dòng)存儲(chǔ)體1啟動(dòng)存儲(chǔ)體2啟動(dòng)存儲(chǔ)體32/3/202360設(shè)四體低位交叉存儲(chǔ)器,存取周期為T,總線傳輸周期為τ,為實(shí)現(xiàn)流水線方式存取,應(yīng)滿足T=4τ。T字塊號(hào)時(shí)間W4W3W2W1W0M0M0M1M2M3連續(xù)讀取4

個(gè)字所需的時(shí)間為T+(4-1)τ2/3/202361例:設(shè)存儲(chǔ)器容量為32字,字長(zhǎng)64位,模塊數(shù)m=4,分別用順序方式和交叉方式進(jìn)行組織。存儲(chǔ)周期T=200ns,數(shù)據(jù)總線寬度為64位,總線傳送周期τ=50ns。問順序存儲(chǔ)器和交叉存儲(chǔ)器的帶寬各是多少?2/3/202362解:順序存儲(chǔ)器和交叉存儲(chǔ)器連續(xù)讀出m=4個(gè)字的信息總量都是:q=64位×4=256位順序存儲(chǔ)器和交叉存儲(chǔ)器連續(xù)讀出4個(gè)字所需的時(shí)間分別是:t2=mT=4×200ns=800ns=8×10-7s;t1=T+(m-1)τ=200ns+3×50ns=350ns=3.5×10-7s順序存儲(chǔ)器和交叉存儲(chǔ)器的帶寬分別是:W2=q/t2=256÷(8×10-7)=32×107[位/s]

W1=q/t1=256÷(3.5×10-7)=73×107[位/s]2/3/2023635.5高速緩沖存儲(chǔ)器(Cache)Cache的工作原理地址映象與變換替換策略及更新策略2/3/202364▲問題的提出:避免CPU“空等”現(xiàn)象;CPU和主存(DRAM)的速度差異;程序訪問的局部性原理?!鴆ache的功能:cache是介于CPU和主存之間的小容量存儲(chǔ)器,存取速度比主存快(一般可達(dá)5~10倍以上)。它能高速地向CPU提供指令和數(shù)據(jù),加快程序的執(zhí)行速度。它是為了解決CPU和主存之間速度不匹配而采用的一項(xiàng)重要技術(shù)。2/3/202365▲設(shè)置Cache的必要性計(jì)算機(jī)有兩個(gè)核心器件,一個(gè)內(nèi)存,另外一個(gè)則是CPU二者是否能較好配合,將直接影響計(jì)算機(jī)性能。早期的CPU跟內(nèi)存的速度相差不多,但是隨著計(jì)算機(jī)硬件技術(shù)的發(fā)展,CPU的速度提高的比內(nèi)存快,現(xiàn)在內(nèi)存和CPU的讀寫速度相差2~3個(gè)數(shù)量級(jí)。如果僅僅依靠?jī)?nèi)存給CPU傳輸數(shù)據(jù),那么CPU可能會(huì)長(zhǎng)時(shí)間等待,降低資源利用率。所以,必須對(duì)二者速度進(jìn)行匹配。2/3/202366匹配內(nèi)存和CPU的速度有以下三個(gè)方法:(1)降低CPU速度;(2)采用高速的SRAM作為內(nèi)存的存儲(chǔ)器;(3)根據(jù)程序執(zhí)行的局部性原理,在二者之間設(shè)置一定的緩沖器。顯然,第一個(gè)方法降低了計(jì)算機(jī)性能,不可能采用;第二個(gè)方法需要用價(jià)格昂貴的SRAM來制作容量高達(dá)幾百兆的內(nèi)存,成本過高。因此第三個(gè)方法則呈了現(xiàn)代計(jì)算機(jī)的首選方法。2/3/202367實(shí)際的計(jì)算機(jī)系統(tǒng)中,常常在CPU和內(nèi)存間設(shè)置一個(gè)容量不大(常常為幾十至幾百K)但是速度跟CPU速度相同的Cache作為緩沖器,把正在執(zhí)行的指令代碼單元附近的一部分指令代碼或數(shù)據(jù)存入Cache中,CPU需要數(shù)據(jù)時(shí),直接從Cache中讀取,這種方法解決了速度不匹配的問題,又不會(huì)大幅度增加成本。

根據(jù)Cache所處位置的不同,可以將Cache分為一級(jí)Cache、二級(jí)Cache和三級(jí)Cache。2/3/202368▲基本概念命中——訪問主存的數(shù)據(jù)或代碼存在于cache中。命中率——cache命中的統(tǒng)計(jì)概率失效——訪問主存的數(shù)據(jù)或代碼不存在于cache中。失效率——未命中的統(tǒng)計(jì)概率命中訪問時(shí)間——cache命中時(shí)所需的訪問時(shí)間失效訪問時(shí)間(misspenalty)——未命中時(shí)因訪問主存而增加的訪問時(shí)間2/3/202369▲設(shè)計(jì)問題主存種的塊放在cache的什么地方?——地址映象Cache放滿時(shí)怎么辦?——替換策略寫cache時(shí)是否寫主存?——更新策略cache容量、塊容量2/3/2023705.5.1Cache的工作原理CPU與Cache之間的數(shù)據(jù)交換是以字為單位,而Cache與主存之間的數(shù)據(jù)交換是以塊為單位。一個(gè)塊由通常若干定長(zhǎng)的字組成?;驹恚?/p>

當(dāng)CPU要讀取主存中一個(gè)字時(shí),總是將存放該字的內(nèi)存地址同時(shí)發(fā)給Cache和主存。此時(shí),Cache控制邏輯立即依據(jù)地址,判斷該字當(dāng)前是否已在Cache中:若是,將此字立即傳送給CPU,CPU無需再訪問主存(讓主存訪問失效);2/3/202371若非,則用主存讀周期把此字從主存讀出送到CPU,與此同時(shí),把含有這個(gè)字的數(shù)據(jù)塊從主存讀出并裝入到Cache中,將Cache中較舊的內(nèi)容(塊)替換掉。

這種替換控制由始終管理Cache使用情況的硬件邏輯電路來實(shí)現(xiàn),最常用的替換算法為L(zhǎng)RU(最近最少使用策略,在后面介紹)。2/3/202372配置了Cache的CPU和內(nèi)存之間的存儲(chǔ)結(jié)構(gòu)如圖所示:2/3/202373在Cache控制器的作用下,CPU首先訪問Cache,如其需要的數(shù)據(jù)在Cache中,則直接訪問Cache即可,否則再訪問內(nèi)存。如果設(shè)置了L2Cache,則系統(tǒng)將按照L1Cache、L2Cache、內(nèi)存的順序訪問。值得注意的是:Cache不能被用戶直接訪問,用戶不能使用Cache地址進(jìn)行編程。2/3/202374~~~~……主存頁(yè)面號(hào)主存儲(chǔ)器012m-1頁(yè)面0頁(yè)面1頁(yè)面M-1主存頁(yè)號(hào)頁(yè)內(nèi)地址m位b位n位M頁(yè)B個(gè)字緩存頁(yè)號(hào)頁(yè)內(nèi)地址c位b位C頁(yè)B個(gè)字~~~~……頁(yè)面0頁(yè)面1頁(yè)面C-1012c-1標(biāo)記Cache緩存頁(yè)面號(hào)一、主存和緩存的編址:主存和緩存按頁(yè)面存儲(chǔ)頁(yè)面的大小相同,B為頁(yè)2/3/202375二、命中與未命中緩存共有C頁(yè),主存共有M頁(yè),M>>C命中:主存頁(yè)面調(diào)入緩存,主存頁(yè)與緩存頁(yè)建立了對(duì)應(yīng)關(guān)系。用標(biāo)記記錄與某緩存頁(yè)建立了對(duì)應(yīng)關(guān)系的主存頁(yè)號(hào)。未命中:主存頁(yè)面未調(diào)入緩存,主存頁(yè)與緩存頁(yè)未建立對(duì)應(yīng)關(guān)系。2/3/202376三、Cache的命中率命中率:CPU欲訪問的信息在Cache中的比率。命中率與Cache的容量與頁(yè)面大小有關(guān)。在一個(gè)程序執(zhí)行期間,設(shè)Nc為訪問cache的總命中次數(shù),Nm為訪問主存的總次數(shù),h定義為命中率,則有:命中率:為提高訪問效率,命中率h越接近1越好,命中率h與程序的行為、cache的容量、組織方式、塊的大小有關(guān)。2/3/202377若tc表示命中時(shí)的cache訪問時(shí)間,tm表示未命中時(shí)的主存訪問時(shí)間,(1-h)表示未命中率,則cache/主存系統(tǒng)的平均訪問時(shí)間ta為:平均訪問時(shí)間:訪問效率:訪問效率e與命中率有關(guān)。2/3/202378例:CPU執(zhí)行一段程序時(shí),cache完成存取的次數(shù)為1900次,主存完成存取的次數(shù)為100次,已知cache存取周期為50ns,主存存取周期為250ns,求cache/主存系統(tǒng)的效率和平均訪問時(shí)間。解:h=Nc/(Nc+Nm)=1900/(1900+100)=0.95r=tm/tc=250ns/50ns=5e=1/(r+(1-r)h)=1/(5+(1-5)×0.95)=83.3%ta=tc/e=50ns/0.833=60ns2/3/202379四、Cache的基本結(jié)構(gòu)Cache的結(jié)構(gòu)原理地址映象變換機(jī)構(gòu)

頁(yè)

號(hào)

頁(yè)內(nèi)地址2/3/2023805.5.2地址映象

1.直接映象 2.全相聯(lián)映像 3.組相聯(lián)映像2/3/202381一、直接映象是一種多對(duì)一的映射關(guān)系,但一個(gè)主存頁(yè)只能拷貝到cache的一個(gè)特定頁(yè)位置上去。cache的行號(hào)i和主存的頁(yè)號(hào)j有如下函數(shù)關(guān)系:i=jmodm(m為cache中的總行數(shù))優(yōu)點(diǎn):硬件簡(jiǎn)單,成本低。缺點(diǎn):每個(gè)主存頁(yè)只有一個(gè)固定的頁(yè)位置可存放,容易產(chǎn)生沖突和Cache空間使用效率的降低。

這種方法一般只適合在大容量cache中采用。2/3/202382t位Cache主存標(biāo)記頁(yè)面0標(biāo)記頁(yè)面1標(biāo)記頁(yè)面2C-1頁(yè)面0頁(yè)面1頁(yè)面2C-1頁(yè)面2C+1頁(yè)面2C+1+1頁(yè)面2m-1直接映象方式...頁(yè)面2c頁(yè)面2C+1-1頁(yè)面2C+1.........第0區(qū)第1區(qū)第M區(qū)2/3/202383頁(yè)面標(biāo)記頁(yè)號(hào)頁(yè)內(nèi)地址m位t位c位b位比較標(biāo)記標(biāo)記標(biāo)記命中失靶Cache讀出主存主存讀出數(shù)據(jù)總線主存地址直接映象方式下,主存和Cache的讀出過程...2/3/202384例1:設(shè)有一個(gè)cache的容量為2K字,每個(gè)頁(yè)為16字,求:該cache可容納多少個(gè)頁(yè)?

如果主存的容量是256K字,則有多少個(gè)頁(yè)?

主存的地址有多少位?cache地址有多少位?在直接映象方式下,主存中的第i頁(yè)映象到cache中哪一個(gè)頁(yè)中?

進(jìn)行地址映象時(shí),存儲(chǔ)器的地址分成哪幾段?各段分別有多少位?2/3/202385解:cache中有2048/16=128個(gè)頁(yè)。(2)主存有256K/16=16384個(gè)頁(yè)。(3)cache容量為2K=211字,所以cache字地址為11位。(4)主存中的第i頁(yè)映象到cache中第imod128個(gè)頁(yè)中。(5)存儲(chǔ)器的字地址分成三段:區(qū)號(hào)、頁(yè)號(hào)、頁(yè)內(nèi)字地址。區(qū)號(hào)的長(zhǎng)度為18-11=7位,頁(yè)號(hào)為7位。頁(yè)內(nèi)字地址為4位。2/3/202386例2:設(shè)主存容量為1MB,高速緩存容量為16KB,塊(頁(yè))的大小為512字節(jié)。采用直接地址映像法。(1)寫出主存地址格式。(4)畫出直接方式地址映像及變換示意圖。(2)寫出Cache地址格式。(3)頁(yè)表的容量是多大。2/3/202387(1)主存地址格式為:(2)Cache地址格式為:(3)頁(yè)表的容量為32字×6位。頁(yè)面標(biāo)記頁(yè)面地址頁(yè)內(nèi)地址191413980頁(yè)面地址頁(yè)內(nèi)地址139802/3/202388第0頁(yè)第1頁(yè)第31頁(yè)第32頁(yè)第33頁(yè)第63頁(yè)第64頁(yè)第65頁(yè)第95頁(yè)第2016頁(yè)第2017頁(yè)第2047頁(yè)第0頁(yè)第1頁(yè)第2頁(yè)第Y頁(yè)第30頁(yè)第31頁(yè)主存區(qū)號(hào)區(qū)內(nèi)頁(yè)號(hào)頁(yè)內(nèi)地址(標(biāo)記)(4)直接方式地址映像及變換示意圖2/3/202389例3:設(shè)在直接映像的Cache中,主存地址的區(qū)號(hào)5位,頁(yè)號(hào)3位,CPU訪存過程中,依次訪問主存單元高8位地址為:00010110,00011010,00010110,00011010,00010000,00000011,00010000,00010010。要求寫出每次訪問后Cache中的內(nèi)容。2/3/202390訪問順序12345678頁(yè)地址222622261641618

頁(yè)分配情況操作狀態(tài)調(diào)進(jìn)調(diào)進(jìn)命中命中調(diào)進(jìn)調(diào)進(jìn)命中替換

直接映象在地址序列下的頁(yè)分配情況------22---26---22---26---22---26---22-16-26---22-16-26-4-22-16-26-4-22-16-18-4-22-2/3/202391二、全相聯(lián)映象所謂全相聯(lián)映像是指將內(nèi)存和Cache按照固定的相同的大小進(jìn)行分頁(yè)。內(nèi)存的頁(yè)和Cache的頁(yè)可以任意對(duì)應(yīng),即內(nèi)存的任何一頁(yè)都可以映像到Cache的任何一頁(yè),在Cache的存儲(chǔ)空間被占滿的情況下,也允許確實(shí)已被占滿的Cache存儲(chǔ)器中替換出任何一個(gè)舊頁(yè)。優(yōu)點(diǎn):映像過程靈活,塊沖突率低,只有在Cache中的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論