計算機組成原理第五章詳解_第1頁
計算機組成原理第五章詳解_第2頁
計算機組成原理第五章詳解_第3頁
計算機組成原理第五章詳解_第4頁
計算機組成原理第五章詳解_第5頁
已閱讀5頁,還剩92頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機組成原理第五章詳解演示文稿第1頁,共97頁。7/17/20221優(yōu)選計算機組成原理第五章第2頁,共97頁。7/17/20222存儲器主存儲器(內(nèi)存)輔助存儲器(外存)1、主存儲器存儲當(dāng)前正在使用的信息;要求較高的操作速度;存儲容量不要求很大; 半導(dǎo)體存儲電路實現(xiàn)。按存儲器在計算機中的作用分類第3頁,共97頁。7/17/202232、輔助存儲器:長期保存信息;工作速度低;存儲容量達;用磁性存儲設(shè)備實現(xiàn);可讀/寫。第4頁,共97頁。7/17/20224輔助存儲器程序存儲器數(shù)據(jù)存儲器主存儲器存儲單元CPU第5頁,共97頁。7/17/20225RAM隨機存儲器雙極型RAMMOS型RAM靜態(tài)RAM

2、動態(tài)RAM掩膜ROM內(nèi)容由廠家制做可編程PROM可一次性編程可擦洗EPROM可多次改寫ROM只讀存儲器Flash Memory閃速存儲器按讀寫功能分類:第6頁,共97頁。7/17/202265.1.2 存儲器的主要性能指標1、容量 用大規(guī)模集成電路構(gòu)成的半導(dǎo)體存儲器件常用位容量來表示存儲功能。 如一個4K1和一個1K 4的器件,它們的位容量是一樣的。但是,前者可用來組成4K內(nèi)存單元的某一位,芯片只有一個數(shù)據(jù)輸入端和一個數(shù)據(jù)輸出端,在存儲容量較大的系統(tǒng)中,一般都采用這樣的器件;后者則可以用來組成1K內(nèi)存單元的某4位,有4個數(shù)據(jù)輸入端和4個數(shù)據(jù)輸出端,在內(nèi)存容量較小的系統(tǒng)中,一般采用這樣的器件。總

3、的來說,采用位容量高的器件。第7頁,共97頁。7/17/202271字節(jié)(byte)= 8位(bit)1個字(word)2字節(jié)外存中,為了表示更大的容量,采用MB、GB、TB等單位。1KB = 210 B(B表示字節(jié))1MB= 220 B1GB=230 B1TB=240 B64KB=64K8 bit第8頁,共97頁。7/17/202282、存取速度 存儲器的速度可用訪問時間、存儲周期或頻寬來描述;訪問時間:用讀出時間TA及寫入時間TW來描述; TA:從存儲器接到讀命令以后至信息被送到數(shù)據(jù)總線 上所需的時間; TW:將一個字寫入存儲器所需的時間。 存取周期(TM):存儲器進行一次完整的讀寫操作

4、所需要的全部時間;或者說:啟動兩次獨立的存儲器 操作之間所需的最小時間間隔;第9頁,共97頁。7/17/20229 常用存儲器進行連續(xù)讀寫操作的最短間隔時間; TM直接關(guān)系到計算機的運算速度; 一般有 TM TA、 TMTW ,單位用微秒或毫微秒。 存儲器的頻寬B:表示存儲器被連續(xù)訪問時,提供的數(shù)據(jù)傳送速率;常用每秒鐘傳送信息的位數(shù)(或字節(jié)數(shù))來衡量。3、價格 存儲器的價格:可用總價格C或每位價格c來表示,若存儲器按位計算的容量為S;則: c = C/S第10頁,共97頁。7/17/2022105.1.3 存儲器的層次結(jié)構(gòu) 計算機應(yīng)用對存儲器的容量和速度的要求幾乎是無止境的,理想的存儲系統(tǒng)應(yīng)當(dāng)

5、具有充足的容量和與CPU相匹配的速度。但是實際的存儲器都是非理想化的,其制約因素是價格(每位成本)、容量和速度。這3個基本指標是矛盾的。 存取速度越高,每位價格就越高。隨著所使用存儲容量的增大,就得使用速度較低的器件。第11頁,共97頁。7/17/202211用戶需求:大容量、高速度、低成本 矛盾解決方案:訪存局部性原理層次結(jié)構(gòu)層次結(jié)構(gòu)組織:*相關(guān)問題:設(shè)置原則是什么?設(shè)置幾層?各層間一次傳輸時數(shù)據(jù)大小是多少?為什么引入計算機的層次結(jié)構(gòu)?第12頁,共97頁。7/17/202212合理地分配容量、速度和價格的有效措施是實現(xiàn)分級存儲。這是一種把幾種存儲技術(shù)結(jié)合起來,互相補充的折衷方案。下圖是典型的

6、存儲系統(tǒng)層次結(jié)構(gòu)示意圖,這個層次結(jié)構(gòu)有如下規(guī)律(從上到下): 價格依次降低; 容量依次增加; 訪問時間依次增長; CPU訪問頻度依次減小。 使用這樣的存儲體系,從CPU看,存儲速度接近于最上層的,容量及成本卻是接近最下層的,大大提高了系統(tǒng)的性能價格比。 第13頁,共97頁。7/17/202213處理器寄存器高速緩沖存儲器主存儲器(SRAM,DRAM)輔助存儲器(磁盤存儲器等)大容量(海量)存儲器(光盤、磁帶存儲器)存儲系統(tǒng)的層次結(jié)構(gòu)外部設(shè)備主機內(nèi)CPU芯片內(nèi)速度高低小大快慢容量價格/位第14頁,共97頁。7/17/202214 存儲系統(tǒng)的層次結(jié)構(gòu)主要體現(xiàn)在緩存主存和 主存輔存這兩個存儲層次上;

7、高速緩存(Cache)主存寄存器組CPU輔存主機存儲器系統(tǒng)的層次結(jié)構(gòu)1、“高速緩存主存”層次這個層次主要解決存儲器的速度問題。 在CPU與主存之間增設(shè)一級存儲器,稱高速緩沖 存儲器(Cache)第15頁,共97頁。7/17/202215 Cache速度可與CPU相匹配,但容量較小,只能存放 一小段程序和數(shù)據(jù);CPU訪問內(nèi)存時,將地址碼同時送到Cache和主存,若 在Cache中找到相應(yīng)內(nèi)容,稱訪問“命中”,信息就從 Cache中讀取;否則CPU從主存中讀取(稱訪問“不命中”);此時一 般要進行Cache和主存的信息交換。第16頁,共97頁。7/17/2022162、“主存輔存”層次這個層次主要

8、解決存儲器的容量問題。“主存輔存”層次是一個既具有主存的存取速度又具 有輔存的大容量低成本特點的一個存儲器總體。把正在被CPU使用的“活動”的程序和數(shù)據(jù)放在主存 中,其余信息則存放在容量大、但速度較慢的輔存 中。虛擬存儲技術(shù):面對程序員的是一個具有輔存的容 量、主存的速度的存儲器;解決了主存容量不足的 問題。第17頁,共97頁。7/17/2022175.1.4 主存儲器與CPU的連接 (MFC)(RD、WR)主存存儲體有2k個存儲單元每單元為n位控制電路CPUMARMDR地址總線 k位數(shù)據(jù)總線 n位主存與CPU的連接第18頁,共97頁。7/17/202218特點: 可讀可寫,是一種易失性存儲器

9、,在掉電后存放在存儲單元的信息全部丟失,所以它一般用來暫存輸入/輸出數(shù)據(jù)、中間結(jié)果等。RAMSRAM速度快,容量小,功耗大DRAM速度慢,容量大5.2 隨機存取存儲器RAM第19頁,共97頁。7/17/2022195.2.1 SRAM靜態(tài)存儲器利用觸發(fā)器的兩個穩(wěn)定狀態(tài)表示“0”和“1”,至少需要6個晶體管才能表示一個二進制位。SRAM功耗較大,容量較小,存取速度較快,幾乎是后面介紹的DRAM的10倍。價格較高,不需要刷新。當(dāng)CPU速度愈來愈快的時候,SRAM就變得非常重要。因為DRAM跟不上CPU的速度,所以只好就用SRAM來做溝通的橋梁這就是高速緩沖存儲器(Cache)的概念。因此,SRAM

10、主要的用途就是拿來作為Cache用。第20頁,共97頁。7/17/202220(行選線)(列選線)存儲元位線B&I/O基本存儲元讀操作?若某個存儲元被選中,則該存儲元的T5,T6,T7,T8管均導(dǎo)通,A,B兩點與位線D與D相連存儲元的信息被送到I/O與I/O線上。I/O與I/O線接著一個差動讀出放大器 ,從其電流方向可以判知所存信息是“1”還是“0”。寫操作? 寫“0”:在I/O線上輸入低電位,在I/O線上輸入高電位,打開T5,T6,T7,T8四個開門管把低、高電位分別加在Q,Q點,使T3管導(dǎo)通,T2管截止,將“0”信息寫入了存儲元。第21頁,共97頁。7/17/202221地址寄存器X譯碼器

11、驅(qū)動器I/O電路Y譯碼器地址寄存器輸出驅(qū)動控制電路輸出輸入讀/寫片選01638164X64存儲矩陣0163A6A7A11靜態(tài)MOS RAM芯片結(jié)構(gòu)圖.A0A1A5.第22頁,共97頁。7/17/202222靜態(tài)MOS存儲器芯片實例(62256 SRAM)芯片容量為32K8 62256 SRAM芯片引腳地址引腳:A0A14數(shù)據(jù)引腳:I/O0I/O7片選:CE低有效讀/寫控制:WE,低電平時為寫入控制;高電平時為讀出控制。WEA12A7A6A5A4A3A2A1A0I/O0I/O1I/O2GND12345678910111213142827262524232221201918171615VccA14

12、A13A8A9A11OEI/O3I/O4I/O5I/O6I/O7CEA10 M62256第23頁,共97頁。7/17/202223靜態(tài)存儲芯片的讀/寫周期 tRCtAtCOtOTD地址數(shù)據(jù)出tWCtWtAWtWRtDHtDW數(shù)據(jù)入地址CSDoutCSWEDin(a) 讀周期(b) 寫周期靜態(tài)RAM芯片的讀、寫周期第24頁,共97頁。7/17/202224【例】有問題嗎?下圖是某SRAM的寫入時序圖。其中R/W是讀/寫命令控制線,當(dāng)R/W線為低電平時(寫有效),存儲器按給定地址把數(shù)據(jù)線上的數(shù)據(jù)寫入存儲器。請指出下圖寫入時序中的錯誤,并畫出正確的寫入時序圖。第25頁,共97頁。7/17/20222

13、5【解】 寫入存儲器的時序信號必須同步。通常,當(dāng)R/W線為有效信號時,地址線和數(shù)據(jù)線的電平必須是穩(wěn)定的。當(dāng)R/W線達到低電平時,數(shù)據(jù)立即被存儲。 因此,當(dāng)R/W線處于低電平時,如果數(shù)據(jù)線改變了數(shù)值,那么存儲器將存儲新的數(shù)據(jù)。同樣,當(dāng)R/W線處于低電平時地址線如果發(fā)生了變化,那么同樣數(shù)據(jù)將存儲到新的地址或。所以:正確的寫入時序見下圖。第26頁,共97頁。7/17/202226注意到: 在CS和R/W均有效時,地址線和數(shù)據(jù)線上的數(shù)值必須是穩(wěn)定的。正確時序第27頁,共97頁。7/17/2022275.2.2 存儲器容量的擴展 不同的應(yīng)用場合會對芯片提出不同的要求。現(xiàn)有的芯片往往不能完全滿足系統(tǒng)的需要

14、,因此如何用現(xiàn)有的芯片來實現(xiàn)系統(tǒng)的性能要求就成為了存儲系統(tǒng)必須解決的重要問題之一。芯片不滿足使用的需要主要有以下幾個方面:1位數(shù)不夠 如系統(tǒng)需要的存儲容量為128K8位,可選的芯片卻只有128K1位或者128K4位的芯片。這種情況下,芯片能夠滿足128K的要求,而位數(shù)卻不能滿足8位的要求。此時需要對位數(shù)進行擴展,即位擴展。第28頁,共97頁。7/17/2022282字數(shù)不夠 如系統(tǒng)需要的存儲容量為256K8位,可選的芯片卻只有64K8位或者128K8位的芯片。這種情況下,芯片能滿足8位的要求,但卻不能滿足容量256K的要求。需要對字進行擴展,即字擴展。3字數(shù)位數(shù)均不夠 如系統(tǒng)需要的存儲容量為2

15、56K8位,可選的芯片卻只有64K4位或者128K4位等芯片。這種情況下,芯片既不能滿足8位的要求,又不能滿足容量256K的要求。此時需要對位數(shù)和字同時進行擴展,即字位擴展。第29頁,共97頁。7/17/2022291、位擴展方式方法: 利用芯片并聯(lián)的方法,根據(jù)所需位數(shù)選擇RAM(或ROM)芯片的個數(shù),將RAM(或ROM)的地址線、讀/寫線、片選信號線對應(yīng)地并聯(lián)接在一起,而各個片子的輸入/輸出(I/O)作為字的各個位線。 當(dāng)芯片不能直接滿足系統(tǒng)需求時,就需要對存儲器進行擴展。上述是對存儲器進行擴展時的三種主要情況,因此對存儲器的擴展又主要有位擴展、字擴展和字位擴展。第30頁,共97頁。7/17

16、/202230例:用8個1K1RAM擴展成 1K8的存儲器系統(tǒng)。1024 1A0A1A9 R/W CSI/O1024 1A0A1A9 R/W CSI/O1024 1A0A1A9 R/W CSI/O.R/WCSA0A1A9D0D1D7第31頁,共97頁。7/17/2022311024 8RAM. . . . . . . . . . . . R/WCSD0 D1 D7A0 A1 A92、字擴展方式方法:利用外加譯碼器控制芯片的片選輸入端 來實現(xiàn)。第32頁,共97頁。7/17/202232CPU譯碼器16K816K816K816K8A15A14A0A13D0D7R/WR/WR/WR/WCSCSCSC

17、S第33頁,共97頁。7/17/2022333. 字位同時擴展 由m1n1位存儲器芯片組成m2n2位的存儲器,需要(m2/m1)(n2/n1)片的m1n1位存儲器芯片。字位擴展構(gòu)成的存儲器 1K4bitD7D4D7D4D7D4D7D4第34頁,共97頁。7/17/202234 地址線的連接,包括內(nèi)部地址線和芯片選擇線的連接; 數(shù)據(jù)線的連接,數(shù)據(jù)線對應(yīng)相接; 控制線的連接,控制線主要有讀/寫控制線WE和存儲器訪問線MREQ。4. 靜態(tài)RAM芯片與CPU連接第35頁,共97頁。7/17/2022355.2.3 DRAM利用MOS管的柵極對其襯底間的分布電容來保存信息,以儲存電荷的多少即電容端電壓的

18、高低來表示“1”和“0”。可以由單管MOS管存放一位二進制信息。優(yōu)點:集成度高、功耗低、價格便宜缺點:DRAM中的信息會因電容器的漏電而消失,一般信息只能保存2ms左右,為了保存DRAM中的信息,每隔12ms要對其進行刷新。系統(tǒng)中必須配有刷新電路。微機系統(tǒng)中的內(nèi)存條都采用DRAM芯片。第36頁,共97頁。7/17/202236VDD預(yù)充脈沖 X地址線(字選擇線) Y地址線(位選擇線)T7T8T2T1T3T4T5T6CBCBDD存儲元AB第37頁,共97頁。7/17/202237 讀操作:先給出預(yù)充信號,使T5、T6管導(dǎo)通,于是電源就向位線D和D上的電容充電,使它們都達到電源電壓。當(dāng)字選擇線使T

19、3,T4管導(dǎo)通時,存儲的信息通過A,B端向位線輸出。若原存信息為“1”,則電容C2上存有電荷,T2導(dǎo)通,而T1管截至,因此D上的預(yù)充電荷經(jīng)T2管泄漏,故D=“0”,而D仍為“1”,信號通過I/O和I/O線輸出。與此同時,D上的電荷可以通過A點向C2補充。故讀出的過程也是刷新的過程。 刷新操作:為防止存儲的信息電荷泄漏而丟失信息,由外界按一定規(guī)律不斷給柵極進行充電,補足柵極的信息電荷,這就是所謂的“再生”和“刷新”。只要定時給全部存儲單元電路執(zhí)行一遍空讀操作(信息不向外輸出),那么就可以實現(xiàn)信息“再生”或“刷新”。第38頁,共97頁。7/17/202238特點: 數(shù)據(jù)預(yù)先存好,使用時只能讀出,不

20、能寫入,一般用來存放系統(tǒng)啟動程序和參數(shù)表等,也用來存放常駐內(nèi)存的監(jiān)控程序等。5.3 只讀存儲器ROM掩膜ROMPROM可編程ROMEPROM可擦除PROME2PROM電可擦除PROMFlach Memory閃存第39頁,共97頁。7/17/202239一.ROM的邏輯結(jié)構(gòu)1. 地址譯碼器譯碼量由存儲單元的數(shù)量決定。例1. 共有2i個存儲單元,則地址譯碼器應(yīng)有i個輸入, 2i個輸出。2. 存儲體(又叫存儲矩陣) 存儲矩陣由許多存儲單元排列而成,每個存儲單元可用二極管、三極管或MOS管構(gòu)成。3. 輸出緩沖器作用:1)提高存儲器的帶負載能力; 2)實現(xiàn)對輸出狀態(tài)的三態(tài)控制,以便與系統(tǒng)的 總線聯(lián)接。第

21、40頁,共97頁。7/17/202240地址譯碼器存儲矩陣MN輸出緩沖器.A0Ai地址輸入W2i-1W0B0BN-1ROM矩陣M條輸入線 字線N條輸入線 位線存儲容量=M N第41頁,共97頁。7/17/202241二、幾種ROM類型:1、掩膜ROM特點:內(nèi)部信息在芯片制造時由廠家寫入,用戶對這類芯片無法進行任何修改。第42頁,共97頁。7/17/2022422、可編程ROMPROM(Programmable ROM) PROM中的程序和數(shù)據(jù)可由用戶寫入,但只能寫入一次,是一次性寫入的ROM。存儲單元可以用半導(dǎo)體二極管、三極管、MOS三極管電路構(gòu)成。VCC行線列線熔絲熔絲斷為 “0”熔絲未斷為

22、 “1”第43頁,共97頁。7/17/202243PROM結(jié)構(gòu)框圖地址譯碼器存儲矩陣MN輸出緩沖器.A0Ai地址輸入W2i-1W0B0BN-1寫入控制第44頁,共97頁。7/17/2022443、可擦除的PROMEPROM (Erasable PROM)可由用戶自行寫入數(shù)據(jù)和程序,寫入后的內(nèi)容可由紫外線燈照射擦除,然后再可重新寫入。EPROM可多次擦除,多次寫入。為了擦除數(shù)據(jù),需要將存取器從芯片上拔下。停電后,信息可長久保留。第45頁,共97頁。7/17/202245P溝道的EPROM基本存儲元電路P+P+ + + + + N型襯底SiO2SiO2浮置柵漏極D源極S第46頁,共97頁。7/17

23、/2022464、電可擦除PROME2PROM (Electrically Erasable PROM)在讀數(shù)據(jù)的方式上與EPROM完全一樣;可用電信號擦除和改寫的PROM,在每次寫入操作 時執(zhí)行一個自動擦除,擦寫方便;比RAM的寫操作慢的多;價格較高、使用受限;E2ROM存放的數(shù)據(jù)至少可維持10年。第47頁,共97頁。7/17/2022475、閃速存儲器(Flach Memory)具有整片電擦除和部分電擦除的優(yōu)點;具有耗電低、容量大、體積小、可靠性高、無需后備 電池、可改寫、重復(fù)使用性好等優(yōu)點;廣泛應(yīng)用于微型計算機系統(tǒng)中,用來存放主板和顯卡 上的BIOS,使BIOS的升級變得更容易。第48頁

24、,共97頁。7/17/202248例:設(shè)CPU有16根地址線,8根數(shù)據(jù)線,并用MREQ 作為訪存控制信號(低電平有效),用WR作為 讀/寫控制信號(高電平為讀,低電平為寫)。現(xiàn) 有下列存儲芯片:1K4位RAM, 4K8位RAM, 8K8位ROM, 2K8位ROM, 4K8位ROM及 74138譯碼器和各種門電路。試畫出CPU與存儲 器的連接圖。第49頁,共97頁。7/17/202249解: (1) 寫出對應(yīng)的二進制地址碼(2) 確定芯片的數(shù)量及類型0 1 1 00 0 0 00 0 0 00 0 0 0A15A14A13 A11 A10 A7 A4 A3 A00 1 1 00 1 1 11 1

25、 1 11 1 1 10 1 1 01 0 0 00 0 0 00 0 0 00 1 1 01 0 1 11 1 1 11 1 1 12K8位1K8位RAM2片1K4位ROM1片 2K8位第50頁,共97頁。7/17/202250(3) 分配地址線A10 A0 接 2K 8位 ROM 的地址線A9 A0 接 1K 4位 RAM 的地址線(4) 確定片選信號CBA0 1 1 00 0 0 00 0 0 00 0 0 0A15 A13 A11 A10 A7 A4 A3 A00 1 1 00 1 1 11 1 1 11 1 1 10 1 1 01 0 0 00 0 0 00 0 0 00 1 1 0

26、1 0 1 11 1 1 11 1 1 12K 8位1片 ROM1K 4位2片RAM第51頁,共97頁。7/17/202251 2K 8位 ROM 1K 4位 RAM1K 4位 RAM&PD/ProgrY5Y4G1CBAG2BG2AMREQA14A15A13A12A11A10A9A0D7D4D3D0WRCPU 與存儲器的連接圖第52頁,共97頁。7/17/2022525.4 多體交叉存儲器 提高訪存速度的措施:采用高速器件采用層次結(jié)構(gòu) Cache 主存調(diào)整主存結(jié)構(gòu),采用多體交叉存儲器采用相聯(lián)存儲器,加長存儲器的字長第53頁,共97頁。7/17/2022535.4.1 編址方式 通常,一個由若干

27、個模塊組成的主存儲器是線性編址的。這些地址在各模塊有兩種編址方式:一、順序編址特點: 某個模塊進行存取時,其他模塊不工作;某一模塊出現(xiàn)故障時,其它模塊可以照常工作;通過增添模塊來擴充存儲器容量比較方便。但由于各模塊串行工作,存儲器的帶寬受到了限制。第54頁,共97頁。7/17/202254M0M1M2M3塊內(nèi)地址塊號地址00 000000 000100 111101 000001 000101 111110 000010 000110 111111 000011 000111 1111第55頁,共97頁。7/17/202255M0地址01n1M1nn+12n1M22n2n+13n1M33n3n

28、+14n1地址譯碼塊內(nèi)地址塊號高位交叉,各個體并行工作第56頁,共97頁。7/17/202256二、交叉方式特點: 連續(xù)地址分布在相鄰的不同模塊內(nèi),同一個模塊內(nèi)的地址都是不連續(xù)的。地址碼的低位字段經(jīng)過譯碼選擇不同的模塊,而高位字段指向相應(yīng)模塊內(nèi)的存儲字。這種方式對連續(xù)字的成塊傳送可實現(xiàn)多模塊流水式并行存取,因而可大大提高存儲器的帶寬。第57頁,共97頁。7/17/202257M0M1M2M3塊號塊內(nèi)地址地址0000 000000 010000 100000 110001 000001 010001 100001 111111 001111 011111 101111 11第58頁,共97頁。7

29、/17/202258低位交叉,各個體輪流編址M0地址044n4M1154n3M2264n2M3374n1地址譯碼 塊內(nèi)地址 塊號第59頁,共97頁。7/17/202259低位交叉的特點:在不改變存取周期的前提下,增加存儲器的帶寬時間 單體訪存周期 單體訪存周期啟動存儲體 0啟動存儲體 1啟動存儲體 2啟動存儲體 3第60頁,共97頁。7/17/202260設(shè)四體低位交叉存儲器,存取周期為T,總線傳輸周期為,為實現(xiàn)流水線方式存取,應(yīng)滿足 T 4。T字塊號時間W4W3W2W1W0M0M0M1M2M3 連續(xù)讀取 4 個字所需的時間為 T(4 1)第61頁,共97頁。7/17/202261例:設(shè)存儲器

30、容量為32字,字長64位,模塊數(shù)m=4,分別用順序方式和交叉方式進行組織。存儲周期T=200ns,數(shù)據(jù)總線寬度為64位,總線傳送周期=50ns。問順序存儲器和交叉存儲器的帶寬各是多少?第62頁,共97頁。7/17/202262解: 順序存儲器和交叉存儲器連續(xù)讀出m=4個字的信息總量都是:q=64位4=256位 順序存儲器和交叉存儲器連續(xù)讀出4個字所需的時間分別是:t2=mT=4200ns=800ns=810-7s;t1=T+(m-1)=200ns+350ns=350ns=3.510-7s順序存儲器和交叉存儲器的帶寬分別是:W2=q/t2=256( 8 10-7 ) =32107位/s W1=q

31、/t1=256(3.510-7) =73107位/s第63頁,共97頁。7/17/2022635.5 高速緩沖存儲器(Cache)Cache的工作原理地址映象與變換替換策略及更新策略第64頁,共97頁。7/17/202264問題的提出:避免 CPU “空等” 現(xiàn)象;CPU 和主存(DRAM)的速度差異;程序訪問的局部性原理。 cache的功能: cache是介于CPU和主存之間的小容量存儲器,存取速度比主存快(一般可達510倍以上)。它能高速地向CPU提供指令和數(shù)據(jù),加快程序的執(zhí)行速度。它是為了解決CPU和主存之間速度不匹配而采用的一項重要技術(shù)。第65頁,共97頁。7/17/202265設(shè)置C

32、ache的必要性 計算機有兩個核心器件,一個內(nèi)存,另外一個則是CPU二者是否能較好配合,將直接影響計算機性能。早期的CPU跟內(nèi)存的速度相差不多,但是隨著計算機硬件技術(shù)的發(fā)展,CPU的速度提高的比內(nèi)存快,現(xiàn)在內(nèi)存和CPU的讀寫速度相差23個數(shù)量級。如果僅僅依靠內(nèi)存給CPU傳輸數(shù)據(jù),那么CPU可能會長時間等待,降低資源利用率。所以,必須對二者速度進行匹配。第66頁,共97頁。7/17/202266匹配內(nèi)存和CPU的速度有以下三個方法:(1)降低CPU速度;(2)采用高速的SRAM作為內(nèi)存的存儲器;(3)根據(jù)程序執(zhí)行的局部性原理,在二者之間設(shè)置一定的緩沖器。顯然,第一個方法降低了計算機性能,不可能采

33、用;第二個方法需要用價格昂貴的SRAM來制作容量高達幾百兆的內(nèi)存,成本過高。因此第三個方法則呈了現(xiàn)代計算機的首選方法。第67頁,共97頁。7/17/202267實際的計算機系統(tǒng)中,常常在CPU和內(nèi)存間設(shè)置一個容量不大(常常為幾十至幾百K)但是速度跟CPU速度相同的Cache作為緩沖器,把正在執(zhí)行的指令代碼單元附近的一部分指令代碼或數(shù)據(jù)存入Cache中,CPU需要數(shù)據(jù)時,直接從Cache中讀取,這種方法解決了速度不匹配的問題,又不會大幅度增加成本。 根據(jù)Cache所處位置的不同,可以將Cache分為一級Cache、二級Cache和三級Cache。第68頁,共97頁。7/17/202268基本概念

34、命中訪問主存的數(shù)據(jù)或代碼存在于cache中。命中率cache命中的統(tǒng)計概率失效訪問主存的數(shù)據(jù)或代碼不存在于cache中。失效率未命中的統(tǒng)計概率命中訪問時間cache命中時所需的訪問時間失效訪問時間(miss penalty)未命中時因訪問主存 而增加的訪問時間第69頁,共97頁。7/17/202269設(shè)計問題主存種的塊放在cache的什么地方?地址映象Cache放滿時怎么辦?替換策略寫cache時是否寫主存?更新策略cache容量、塊容量第70頁,共97頁。7/17/202270 5.5.1 Cache的工作原理 CPU與Cache之間的數(shù)據(jù)交換是以字為單位,而Cache與主存之間的數(shù)據(jù)交換是

35、以塊為單位。一個塊由通常若干定長的字組成。基本原理:當(dāng)CPU要讀取主存中一個字時,總是將存放該字的內(nèi)存地址同時發(fā)給Cache和主存。此時,Cache控制邏輯立即依據(jù)地址,判斷該字當(dāng)前是否已在 Cache中:若是,將此字立即傳送給CPU,CPU無需再訪問主存(讓主存訪問失效);第71頁,共97頁。7/17/202271若非,則用主存讀周期把此字從主存讀出送到CPU,與此同時,把含有這個字的數(shù)據(jù)塊從主存讀出并裝入到Cache中,將Cache中較舊的內(nèi)容(塊)替換掉。 這種替換控制由始終管理Cache使用情況的硬件邏輯電路來實現(xiàn),最常用的替換算法為LRU(最近最少使用策略,在后面介紹)。第72頁,共

36、97頁。7/17/202272配置了Cache的CPU和內(nèi)存之間的存儲結(jié)構(gòu)如圖所示:第73頁,共97頁。7/17/202273 在Cache控制器的作用下, CPU首先訪問Cache,如其需要的數(shù)據(jù)在Cache中,則直接訪問Cache即可,否則再訪問內(nèi)存。如果設(shè)置了L2 Cache,則系統(tǒng)將按照L1 Cache、L2 Cache、內(nèi)存的順序訪問。值得注意的是: Cache不能被用戶直接訪問,用戶不能使用Cache地址進行編程。第74頁,共97頁。7/17/202274主存頁面號主存儲器012m1頁面 0頁面1頁面M1主存頁號頁內(nèi)地址m位b位n位M頁B個字緩存頁號頁內(nèi)地址c位b位C頁B個字頁面

37、0頁面 1頁面 C1012c1標記Cache緩存頁面號一、主存和緩存的編址:主存和緩存按頁面存儲 頁面的大小相同, B 為頁第75頁,共97頁。7/17/202275二、命中與未命中緩存共有 C 頁,主存共有 M 頁, M C命中:主存頁面 調(diào)入 緩存,主存頁與緩存頁建立了 對應(yīng)關(guān)系。用 標記記錄 與某緩存頁建立了對 應(yīng)關(guān)系的 主存頁號。未命中:主存頁面 未調(diào)入 緩存,主存頁與緩存頁 未 建立 對應(yīng)關(guān)系。第76頁,共97頁。7/17/202276三、Cache 的命中率命中率: CPU 欲訪問的信息在 Cache 中的 比率。命中率與 Cache 的容量與頁面大小有關(guān)。 在一個程序執(zhí)行期間,設(shè)

38、Nc為訪問cache的總命中次數(shù),Nm為訪問主存的總次數(shù),h定義為命中率,則有:命中率:為提高訪問效率,命中率h越接近1越好,命中率h與程序的行為、cache的容量、組織方式、塊的大小有關(guān)。第77頁,共97頁。7/17/202277 若tc表示命中時的cache訪問時間,tm表示未命中時的主存訪問時間,(1-h)表示未命中率,則cache/主存系統(tǒng)的平均訪問時間ta為:平均訪問時間:訪問效率:訪問效率e與命中率有關(guān)。第78頁,共97頁。7/17/202278例:CPU執(zhí)行一段程序時,cache完成存取的次數(shù)為1900次,主存完成存取的次數(shù)為100次,已知cache存取周期為50ns,主存存取周

39、期為250ns,求cache/主存系統(tǒng)的效率和平均訪問時間。解: h=Nc/(Nc+Nm)=1900/(1900+100)=0.95 r=tm/tc=250ns/50ns=5 e=1/(r+(1-r)h)=1/(5+(1-5)0.95)=83.3% ta=tc/e=50ns/0.833=60ns第79頁,共97頁。7/17/202279四、Cache 的基本結(jié)構(gòu) Cache的結(jié)構(gòu)原理 地址映象變換機構(gòu) 頁 號 頁內(nèi)地址第80頁,共97頁。7/17/2022805.5.2 地址映象1.直接映象 2.全相聯(lián)映像 3.組相聯(lián)映像第81頁,共97頁。7/17/202281一、直接映象 是一種多對一的映

40、射關(guān)系,但一個主存頁只能拷貝到cache的一個特定頁位置上去。cache的行號i和主存的頁號j有如下函數(shù)關(guān)系: i=j mod m(m為cache中的總行數(shù)) 優(yōu)點:硬件簡單,成本低。缺點:每個主存頁只有一個固定的頁位置可存放,容易 產(chǎn)生沖突和Cache空間使用效率的降低。 這種方法一般只適合在大容量cache中采用。第82頁,共97頁。7/17/202282t位Cache主存標記頁面0標記頁面1標記頁面2C-1頁面0頁面1頁面2C-1頁面2C+1頁面2C+1+1頁面2m-1直接映象方式.頁面2c頁面2C+1-1頁面2C+1.第0區(qū)第1區(qū)第M區(qū)第83頁,共97頁。7/17/202283頁面標記

41、 頁號 頁內(nèi)地址m位t位 c位b位比較標記標記標記命中失靶Cache讀出主存主存讀出數(shù)據(jù)總線主存地址直接映象方式下,主存和Cache的讀出過程.第84頁,共97頁。7/17/202284例1:設(shè)有一個cache的容量為2K字,每個頁為16字,求:該cache可容納多少個頁? 如果主存的容量是256K字,則有多少個頁? 主存的地址有多少位?cache地址有多少位?在直接映象方式下,主存中的第i頁映象到 cache中哪一個頁中? 進行地址映象時,存儲器的地址分成哪幾段?各段分別有多少位?第85頁,共97頁。7/17/202285解:cache中有2048/16=128個頁。(2) 主存有256K/16=16384個頁。(3) cache容量為2K=211字,所以cache字 地址為11位。(4) 主存中的第i頁映象到cache中第 i mod128個頁中。(5) 存儲器的字地址分成三段:區(qū)號、頁號、頁內(nèi)字地址。區(qū)號的長度為18-11=7位,頁號為7位。頁內(nèi)字地址為4位。第86頁,共97頁。7/17/202286例2: 設(shè)主存容量為1MB,高速緩存容量為16KB, 塊(頁)的大小為512字節(jié)。采用直接地址映像法。 (1)寫出主存地址格式。(4)畫出直接方式地址映像及變換示意圖。 (2)寫出Cache地址格式。(3)頁表的容量是多大。第87頁,共97頁。7/17/202287(1)主

溫馨提示

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

評論

0/150

提交評論