版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
計算機(jī)組成原理第五章2023/6/61第一頁,共九十九頁,編輯于2023年,星期一5.1存儲器概述5.1.1存儲器分類 SRAM RAM
內(nèi)存儲器 DRAM ROM ROMEPROM E2PROM存儲器 FLASHMEMORY FLOPPYDISK DISK HARDDISK
外存儲器 CD OPTICALDISKDVD MO第二頁,共九十九頁,編輯于2023年,星期一存儲器主存儲器(內(nèi)存)輔助存儲器(外存)1、主存儲器☆存儲當(dāng)前正在使用的信息;☆要求較高的操作速度;☆存儲容量不要求很大;☆半導(dǎo)體存儲電路實現(xiàn)。
按存儲器在計算機(jī)中的作用分類第三頁,共九十九頁,編輯于2023年,星期一2、輔助存儲器:☆長期保存信息;☆工作速度低;☆存儲容量達(dá);☆用磁性存儲設(shè)備實現(xiàn);☆可讀/寫。第四頁,共九十九頁,編輯于2023年,星期一輔助存儲器程序存儲器數(shù)據(jù)存儲器主存儲器存儲單元CPU第五頁,共九十九頁,編輯于2023年,星期一RAM—隨機(jī)存儲器雙極型RAMMOS型RAM靜態(tài)RAM動態(tài)RAM掩膜ROM—內(nèi)容由廠家制做可編程PROM—可一次性編程可擦洗EPROM—可多次改寫ROM—只讀存儲器FlashMemory—閃速存儲器
按讀寫功能分類:第六頁,共九十九頁,編輯于2023年,星期一5.1.2存儲器的主要性能指標(biāo)1、容量用大規(guī)模集成電路構(gòu)成的半導(dǎo)體存儲器件常用位容量來表示存儲功能。如一個4K1和一個1K4的器件,它們的位容量是一樣的。但是,前者可用來組成4K內(nèi)存單元的某一位,芯片只有一個數(shù)據(jù)輸入端和一個數(shù)據(jù)輸出端,在存儲容量較大的系統(tǒng)中,一般都采用這樣的器件;后者則可以用來組成1K內(nèi)存單元的某4位,有4個數(shù)據(jù)輸入端和4個數(shù)據(jù)輸出端,在內(nèi)存容量較小的系統(tǒng)中,一般采用這樣的器件。 總的來說,采用位容量高的器件。第七頁,共九十九頁,編輯于2023年,星期一1字節(jié)(byte)=8位(bit)1個字(word)=2字節(jié)外存中,為了表示更大的容量,采用MB、GB、TB等單位。1KB=210B (B表示字節(jié))1MB=220B1GB=230B1TB=240B64KB=64K8bit第八頁,共九十九頁,編輯于2023年,星期一2、存取速度
存儲器的速度可用訪問時間、存儲周期或頻寬來描述;▲訪問時間:用讀出時間TA及寫入時間TW來描述;
TA:從存儲器接到讀命令以后至信息被送到數(shù)據(jù)總線上所需的時間;
TW:將一個字寫入存儲器所需的時間。▲存取周期(TM):存儲器進(jìn)行一次完整的讀寫操作所需要的全部時間;或者說:啟動兩次獨(dú)立的存儲器操作之間所需的最小時間間隔;第九頁,共九十九頁,編輯于2023年,星期一
常用存儲器進(jìn)行連續(xù)讀寫操作的最短間隔時間;
TM直接關(guān)系到計算機(jī)的運(yùn)算速度;一般有TM>TA、TM>TW
,單位用微秒或毫微秒?!鎯ζ鞯念l寬B:表示存儲器被連續(xù)訪問時,提供的數(shù)據(jù)傳送速率;常用每秒鐘傳送信息的位數(shù)(或字節(jié)數(shù))來衡量。3、價格存儲器的價格:可用總價格C或每位價格c來表示,若存儲器按位計算的容量為S;則:c=C/S第十頁,共九十九頁,編輯于2023年,星期一5.1.3存儲器的層次結(jié)構(gòu)
計算機(jī)應(yīng)用對存儲器的容量和速度的要求幾乎是無止境的,理想的存儲系統(tǒng)應(yīng)當(dāng)具有充足的容量和與CPU相匹配的速度。但是實際的存儲器都是非理想化的,其制約因素是價格(每位成本)、容量和速度。這3個基本指標(biāo)是矛盾的。存取速度越高,每位價格就越高。隨著所使用存儲容量的增大,就得使用速度較低的器件。第十一頁,共九十九頁,編輯于2023年,星期一
用戶需求:大容量、高速度、低成本←矛盾
解決方案:訪存局部性原理→層次結(jié)構(gòu)
層次結(jié)構(gòu)組織:*相關(guān)問題:①設(shè)置原則是什么?設(shè)置幾層?②各層間一次傳輸時數(shù)據(jù)大小是多少?為什么引入計算機(jī)的層次結(jié)構(gòu)?第十二頁,共九十九頁,編輯于2023年,星期一合理地分配容量、速度和價格的有效措施是實現(xiàn)分級存儲。這是一種把幾種存儲技術(shù)結(jié)合起來,互相補(bǔ)充的折衷方案。下圖是典型的存儲系統(tǒng)層次結(jié)構(gòu)示意圖,這個層次結(jié)構(gòu)有如下規(guī)律(從上到下):價格依次降低;容量依次增加;訪問時間依次增長;
CPU訪問頻度依次減小。使用這樣的存儲體系,從CPU看,存儲速度接近于最上層的,容量及成本卻是接近最下層的,大大提高了系統(tǒng)的性能價格比。第十三頁,共九十九頁,編輯于2023年,星期一處理器寄存器高速緩沖存儲器主存儲器(SRAM,DRAM)輔助存儲器(磁盤存儲器等)大容量(海量)存儲器(光盤、磁帶存儲器)存儲系統(tǒng)的層次結(jié)構(gòu)外部設(shè)備主機(jī)內(nèi)CPU芯片內(nèi)速度高低小大快慢容量價格/位第十四頁,共九十九頁,編輯于2023年,星期一▲
存儲系統(tǒng)的層次結(jié)構(gòu)主要體現(xiàn)在緩存-主存和
主存-輔存這兩個存儲層次上;高速緩存(Cache)主存寄存器組CPU輔存主機(jī)存儲器系統(tǒng)的層次結(jié)構(gòu)1、“高速緩存—主存”層次這個層次主要解決存儲器的速度問題。
在CPU與主存之間增設(shè)一級存儲器,稱高速緩沖存儲器(Cache)第十五頁,共九十九頁,編輯于2023年,星期一Cache速度可與CPU相匹配,但容量較小,只能存放一小段程序和數(shù)據(jù);CPU訪問內(nèi)存時,將地址碼同時送到Cache和主存,若在Cache中找到相應(yīng)內(nèi)容,稱訪問“命中”,信息就從
Cache中讀取;否則CPU從主存中讀?。ǚQ訪問“不命中”);此時一般要進(jìn)行Cache和主存的信息交換。第十六頁,共九十九頁,編輯于2023年,星期一2、“主存—輔存”層次這個層次主要解決存儲器的容量問題。“主存—輔存”層次是一個既具有主存的存取速度又具有輔存的大容量低成本特點(diǎn)的一個存儲器總體。把正在被CPU使用的“活動”的程序和數(shù)據(jù)放在主存中,其余信息則存放在容量大、但速度較慢的輔存中。虛擬存儲技術(shù):面對程序員的是一個具有輔存的容量、主存的速度的存儲器;解決了主存容量不足的問題。第十七頁,共九十九頁,編輯于2023年,星期一5.1.4主存儲器與CPU的連接
(MFC)(RD、WR)主存存儲體有2k個存儲單元每單元為n位控制電路CPUMARMDR地址總線k位數(shù)據(jù)總線n位主存與CPU的連接第十八頁,共九十九頁,編輯于2023年,星期一特點(diǎn):
可讀可寫,是一種易失性存儲器,在掉電后存放在存儲單元的信息全部丟失,所以它一般用來暫存輸入/輸出數(shù)據(jù)、中間結(jié)果等。RAMSRAM——速度快,容量小,功耗大DRAM——速度慢,容量大5.2隨機(jī)存取存儲器RAM第十九頁,共九十九頁,編輯于2023年,星期一5.2.1SRAM——靜態(tài)存儲器利用觸發(fā)器的兩個穩(wěn)定狀態(tài)表示“0”和“1”,至少需要6個晶體管才能表示一個二進(jìn)制位。SRAM功耗較大,容量較小,存取速度較快,幾乎是后面介紹的DRAM的10倍。價格較高,不需要刷新。當(dāng)CPU速度愈來愈快的時候,SRAM就變得非常重要。因為DRAM跟不上CPU的速度,所以只好就用SRAM來做溝通的橋梁--這就是高速緩沖存儲器(Cache)的概念。因此,SRAM主要的用途就是拿來作為Cache用。第二十頁,共九十九頁,編輯于2023年,星期一(行選線)●●(列選線)存儲元●●●●位線B●●●●&&I/O基本存儲元讀操作?若某個存儲元被選中,則該存儲元的T5,T6,T7,T8管均導(dǎo)通,A,B兩點(diǎn)與位線D與D相連存儲元的信息被送到I/O與I/O線上。I/O與I/O線接著一個差動讀出放大器,從其電流方向可以判知所存信息是“1”還是“0”。寫操作?寫“0”:在I/O線上輸入低電位,在I/O線上輸入高電位,打開T5,T6,T7,T8四個開門管把低、高電位分別加在Q,Q點(diǎn),使T3管導(dǎo)通,T2管截止,將“0”信息寫入了存儲元。第二十一頁,共九十九頁,編輯于2023年,星期一地址寄存器X譯碼器驅(qū)動器I/O電路Y譯碼器地址寄存器輸出驅(qū)動控制電路輸出輸入讀/寫片選01638164X64存儲矩陣0163A6A7A11靜態(tài)MOSRAM芯片結(jié)構(gòu)圖.........A0A1A5........................第二十二頁,共九十九頁,編輯于2023年,星期一靜態(tài)MOS存儲器芯片實例(62256SRAM)▲芯片容量為32K×8▲62256SRAM芯片引腳地址引腳:A0—A14數(shù)據(jù)引腳:I/O0—I/O7片選:CE低有效讀/寫控制:WE,低電平時為寫入控制;高電平時為讀出控制。WEA12A7A6A5A4A3A2A1A0I/O0I/O1I/O2GND12345678910111213142827262524232221201918171615VccA14A13A8A9A11OEI/O3I/O4I/O5I/O6I/O7CEA10M62256第二十三頁,共九十九頁,編輯于2023年,星期一靜態(tài)存儲芯片的讀/寫周期
tRCtAtCOtOTD地址數(shù)據(jù)出tWCtWtAWtWRtDHtDW數(shù)據(jù)入地址CSDoutCSWEDin(a)讀周期(b)寫周期靜態(tài)RAM芯片的讀、寫周期第二十四頁,共九十九頁,編輯于2023年,星期一【例】有問題嗎?下圖是某SRAM的寫入時序圖。其中R/W是讀/寫命令控制線,當(dāng)R/W線為低電平時(寫有效),存儲器按給定地址把數(shù)據(jù)線上的數(shù)據(jù)寫入存儲器。請指出下圖寫入時序中的錯誤,并畫出正確的寫入時序圖。第二十五頁,共九十九頁,編輯于2023年,星期一【解】
寫入存儲器的時序信號必須同步。通常,當(dāng)R/W線為有效信號時,地址線和數(shù)據(jù)線的電平必須是穩(wěn)定的。當(dāng)R/W線達(dá)到低電平時,數(shù)據(jù)立即被存儲。因此,當(dāng)R/W線處于低電平時,如果數(shù)據(jù)線改變了數(shù)值,那么存儲器將存儲新的數(shù)據(jù)⑤。同樣,當(dāng)R/W線處于低電平時地址線如果發(fā)生了變化,那么同樣數(shù)據(jù)將存儲到新的地址②或③。所以:正確的寫入時序見下圖。第二十六頁,共九十九頁,編輯于2023年,星期一注意到:在CS和R/W均有效時,地址線和數(shù)據(jù)線上的數(shù)值必須是穩(wěn)定的。正確時序第二十七頁,共九十九頁,編輯于2023年,星期一5.2.2存儲器容量的擴(kuò)展
不同的應(yīng)用場合會對芯片提出不同的要求。現(xiàn)有的芯片往往不能完全滿足系統(tǒng)的需要,因此如何用現(xiàn)有的芯片來實現(xiàn)系統(tǒng)的性能要求就成為了存儲系統(tǒng)必須解決的重要問題之一。芯片不滿足使用的需要主要有以下幾個方面:1.位數(shù)不夠如系統(tǒng)需要的存儲容量為128K×8位,可選的芯片卻只有128K×1位或者128K×4位的芯片。這種情況下,芯片能夠滿足128K的要求,而位數(shù)卻不能滿足8位的要求。此時需要對位數(shù)進(jìn)行擴(kuò)展,即位擴(kuò)展。第二十八頁,共九十九頁,編輯于2023年,星期一2.字?jǐn)?shù)不夠如系統(tǒng)需要的存儲容量為256K×8位,可選的芯片卻只有64K×8位或者128K×8位的芯片。這種情況下,芯片能滿足8位的要求,但卻不能滿足容量256K的要求。需要對字進(jìn)行擴(kuò)展,即字?jǐn)U展。3.字?jǐn)?shù)位數(shù)均不夠如系統(tǒng)需要的存儲容量為256K×8位,可選的芯片卻只有64K×4位或者128K×4位等芯片。這種情況下,芯片既不能滿足8位的要求,又不能滿足容量256K的要求。此時需要對位數(shù)和字同時進(jìn)行擴(kuò)展,即字位擴(kuò)展。第二十九頁,共九十九頁,編輯于2023年,星期一1、位擴(kuò)展方式方法:利用芯片并聯(lián)的方法,根據(jù)所需位數(shù)選擇RAM(或ROM)芯片的個數(shù),將RAM(或ROM)的地址線、讀/寫線、片選信號線對應(yīng)地并聯(lián)接在一起,而各個片子的輸入/輸出(I/O)作為字的各個位線。
當(dāng)芯片不能直接滿足系統(tǒng)需求時,就需要對存儲器進(jìn)行擴(kuò)展。上述是對存儲器進(jìn)行擴(kuò)展時的三種主要情況,因此對存儲器的擴(kuò)展又主要有位擴(kuò)展、字?jǐn)U展和字位擴(kuò)展。第三十頁,共九十九頁,編輯于2023年,星期一例:用8個1K1RAM擴(kuò)展成
1K8的存儲器系統(tǒng)。10241A0A1…A9R/WCSI/O10241A0A1…A9R/WCSI/O10241A0A1…A9R/WCSI/O??????????......R/WCSA0A1A9D0D1D7第三十一頁,共九十九頁,編輯于2023年,星期一10248RAM............R/WCSD0D1D7A0A1A92、字?jǐn)U展方式方法:利用外加譯碼器控制芯片的片選輸入端 來實現(xiàn)。第三十二頁,共九十九頁,編輯于2023年,星期一CPU譯碼器16K816K816K816K8A15A14A0~A13D0~D7R/WR/WR/WR/WCSCSCSCS第三十三頁,共九十九頁,編輯于2023年,星期一3.字位同時擴(kuò)展由m1×n1位存儲器芯片組成m2×n2位的存儲器,需要(m2/m1)×(n2/n1)片的m1×n1位存儲器芯片。字位擴(kuò)展構(gòu)成的存儲器1K×4bitD7~D4D7~D4D7~D4D7~D4第三十四頁,共九十九頁,編輯于2023年,星期一①地址線的連接,包括內(nèi)部地址線和芯片選擇線的連接;②數(shù)據(jù)線的連接,數(shù)據(jù)線對應(yīng)相接;③控制線的連接,控制線主要有讀/寫控制線WE和存儲器訪問線MREQ。4.靜態(tài)RAM芯片與CPU連接第三十五頁,共九十九頁,編輯于2023年,星期一5.2.3DRAM利用MOS管的柵極對其襯底間的分布電容來保存信息,以儲存電荷的多少即電容端電壓的高低來表示“1”和“0”??梢杂蓡喂躆OS管存放一位二進(jìn)制信息。優(yōu)點(diǎn):集成度高、功耗低、價格便宜缺點(diǎn):DRAM中的信息會因電容器的漏電而消失,一般信息只能保存2ms左右,為了保存DRAM中的信息,每隔1~2ms要對其進(jìn)行刷新。系統(tǒng)中必須配有刷新電路。微機(jī)系統(tǒng)中的內(nèi)存條都采用DRAM芯片。第三十六頁,共九十九頁,編輯于2023年,星期一VDD預(yù)充脈沖??????????????X地址線(字選擇線)Y地址線(位選擇線)T7T8T2T1T3T4T5T6CBCBDD存儲元AB第三十七頁,共九十九頁,編輯于2023年,星期一
讀操作:先給出預(yù)充信號,使T5、T6管導(dǎo)通,于是電源就向位線D和D上的電容充電,使它們都達(dá)到電源電壓。當(dāng)字選擇線使T3,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點(diǎn)向C2補(bǔ)充。故讀出的過程也是刷新的過程。
刷新操作:為防止存儲的信息電荷泄漏而丟失信息,由外界按一定規(guī)律不斷給柵極進(jìn)行充電,補(bǔ)足柵極的信息電荷,這就是所謂的“再生”和“刷新”。只要定時給全部存儲單元電路執(zhí)行一遍空讀操作(信息不向外輸出),那么就可以實現(xiàn)信息“再生”或“刷新”。第三十八頁,共九十九頁,編輯于2023年,星期一特點(diǎn):
數(shù)據(jù)預(yù)先存好,使用時只能讀出,不能寫入,一般用來存放系統(tǒng)啟動程序和參數(shù)表等,也用來存放常駐內(nèi)存的監(jiān)控程序等。5.3只讀存儲器ROM掩膜ROMPROM——可編程ROMEPROM——可擦除PROME2PROM——電可擦除PROMFlachMemory——閃存第三十九頁,共九十九頁,編輯于2023年,星期一一.ROM的邏輯結(jié)構(gòu)1.地址譯碼器 譯碼量由存儲單元的數(shù)量決定。例1.共有2i個存儲單元,則地址譯碼器應(yīng)有i個輸入,
2i個輸出。2.存儲體(又叫存儲矩陣)存儲矩陣由許多存儲單元排列而成,每個存儲單元可用二極管、三極管或MOS管構(gòu)成。3.輸出緩沖器作用:1)提高存儲器的帶負(fù)載能力;
2)實現(xiàn)對輸出狀態(tài)的三態(tài)控制,以便與系統(tǒng)的總線聯(lián)接。第四十頁,共九十九頁,編輯于2023年,星期一地址譯碼器存儲矩陣MN輸出緩沖器……..........A0Ai地址輸入W2i-1W0B0BN-1ROM矩陣M條輸入線—字線N條輸入線—位線存儲容量=MN第四十一頁,共九十九頁,編輯于2023年,星期一二、幾種ROM類型:1、掩膜ROM特點(diǎn):內(nèi)部信息在芯片制造時由廠家寫入,用戶對這類芯片無法進(jìn)行任何修改。第四十二頁,共九十九頁,編輯于2023年,星期一2、可編程ROMPROM(ProgrammableROM)PROM中的程序和數(shù)據(jù)可由用戶寫入,但只能寫入一次,是一次性寫入的ROM。存儲單元可以用半導(dǎo)體二極管、三極管、MOS三極管電路構(gòu)成。VCC行線列線熔絲熔絲斷為“0”熔絲未斷為“1”第四十三頁,共九十九頁,編輯于2023年,星期一PROM結(jié)構(gòu)框圖地址譯碼器存儲矩陣MN輸出緩沖器……..........A0Ai地址輸入W2i-1W0B0BN-1……寫入控制第四十四頁,共九十九頁,編輯于2023年,星期一3、可擦除的PROMEPROM(ErasablePROM)可由用戶自行寫入數(shù)據(jù)和程序,寫入后的內(nèi)容可由紫外線燈照射擦除,然后再可重新寫入。EPROM可多次擦除,多次寫入。為了擦除數(shù)據(jù),需要將存取器從芯片上拔下。停電后,信息可長久保留。第四十五頁,共九十九頁,編輯于2023年,星期一P溝道的EPROM基本存儲元電路P+P++++++–––––N型襯底SiO2SiO2浮置柵漏極D源極S第四十六頁,共九十九頁,編輯于2023年,星期一4、電可擦除PROME2PROM(ElectricallyErasablePROM)——在讀數(shù)據(jù)的方式上與EPROM完全一樣;可用電信號擦除和改寫的PROM,在每次寫入操作時執(zhí)行一個自動擦除,擦寫方便;比RAM的寫操作慢的多;價格較高、使用受限;E2ROM存放的數(shù)據(jù)至少可維持10年。第四十七頁,共九十九頁,編輯于2023年,星期一5、閃速存儲器(FlachMemory)具有整片電擦除和部分電擦除的優(yōu)點(diǎn);具有耗電低、容量大、體積小、可靠性高、無需后備電池、可改寫、重復(fù)使用性好等優(yōu)點(diǎn);廣泛應(yīng)用于微型計算機(jī)系統(tǒng)中,用來存放主板和顯卡上的BIOS,使BIOS的升級變得更容易。第四十八頁,共九十九頁,編輯于2023年,星期一例:設(shè)CPU有16根地址線,8根數(shù)據(jù)線,并用MREQ
作為訪存控制信號(低電平有效),用WR作為讀/寫控制信號(高電平為讀,低電平為寫)?,F(xiàn)有下列存儲芯片:1K4位RAM,4K8位RAM,
8K8位ROM,2K8位ROM,4K8位ROM及
74138譯碼器和各種門電路。試畫出CPU與存儲器的連接圖。第四十九頁,共九十九頁,編輯于2023年,星期一解:
(1)寫出對應(yīng)的二進(jìn)制地址碼(2)確定芯片的數(shù)量及類型0110000000000000A15A14A13A11A10…A7…
A4A3…
A0…01100111111111110110100000000000…01101011111111112K×8位1K×8位RAM2片1K×4位ROM1片2K×8位第五十頁,共九十九頁,編輯于2023年,星期一(3)分配地址線A10~A0接2K
×
8位ROM的地址線A9~A0接1K
×
4位RAM的地址線(4)確定片選信號CBA0110000000000000A15A13A11A10…A7…A4A3…
A0…01100111111111110110100000000000…01101011111111112K
×
8位1片ROM1K
×
4位2片RAM第五十一頁,共九十九頁,編輯于2023年,星期一2K
×8位ROM
1K
×4位
RAM1K
×4位
RAM………&PD/ProgrY5Y4G1CBAG2BG2A……MREQA14A15A13A12A11A10A9A0…D7D4D3D0WR…………CPU與存儲器的連接圖………第五十二頁,共九十九頁,編輯于2023年,星期一5.4多體交叉存儲器提高訪存速度的措施:采用高速器件采用層次結(jié)構(gòu)Cache–主存調(diào)整主存結(jié)構(gòu),采用多體交叉存儲器采用相聯(lián)存儲器,加長存儲器的字長第五十三頁,共九十九頁,編輯于2023年,星期一5.4.1編址方式
通常,一個由若干個模塊組成的主存儲器是線性編址的。這些地址在各模塊有兩種編址方式:一、順序編址特點(diǎn):某個模塊進(jìn)行存取時,其他模塊不工作;某一模塊出現(xiàn)故障時,其它模塊可以照常工作;通過增添模塊來擴(kuò)充存儲器容量比較方便。但由于各模塊串行工作,存儲器的帶寬受到了限制。第五十四頁,共九十九頁,編輯于2023年,星期一M0……M1……M2M3…………塊內(nèi)地址塊號地址000000000001001111010000010001011111100000100001101111110000110001111111第五十五頁,共九十九頁,編輯于2023年,星期一M0地址01……n-1M1nn+1……2n-1M22n2n+13n-1M33n3n+14n-1…………地址譯碼塊內(nèi)地址塊號高位交叉,各個體并行工作第五十六頁,共九十九頁,編輯于2023年,星期一二、交叉方式特點(diǎn):連續(xù)地址分布在相鄰的不同模塊內(nèi),同一個模塊內(nèi)的地址都是不連續(xù)的。地址碼的低位字段經(jīng)過譯碼選擇不同的模塊,而高位字段指向相應(yīng)模塊內(nèi)的存儲字。這種方式對連續(xù)字的成塊傳送可實現(xiàn)多模塊流水式并行存取,因而可大大提高存儲器的帶寬。第五十七頁,共九十九頁,編輯于2023年,星期一M0……M1……M2M3…………
塊號塊內(nèi)地址地址000000000001000010000011000100000101000110000111111100111101111110111111第五十八頁,共九十九頁,編輯于2023年,星期一低位交叉,各個體輪流編址M0地址04……4n-4M115……4n-3M2264n-2M3374n-1…………地址譯碼
塊內(nèi)地址
塊號第五十九頁,共九十九頁,編輯于2023年,星期一低位交叉的特點(diǎn):在不改變存取周期的前提下,增加存儲器的帶寬時間
單體訪存周期
單體訪存周期啟動存儲體0啟動存儲體1啟動存儲體2啟動存儲體3第六十頁,共九十九頁,編輯于2023年,星期一設(shè)四體低位交叉存儲器,存取周期為T,總線傳輸周期為τ,為實現(xiàn)流水線方式存取,應(yīng)滿足T=4τ。T字塊號時間W4W3W2W1W0M0M0M1M2M3連續(xù)讀取4
個字所需的時間為T+(4-1)τ第六十一頁,共九十九頁,編輯于2023年,星期一例:設(shè)存儲器容量為32字,字長64位,模塊數(shù)m=4,分別用順序方式和交叉方式進(jìn)行組織。存儲周期T=200ns,數(shù)據(jù)總線寬度為64位,總線傳送周期τ=50ns。問順序存儲器和交叉存儲器的帶寬各是多少?第六十二頁,共九十九頁,編輯于2023年,星期一解:順序存儲器和交叉存儲器連續(xù)讀出m=4個字的信息總量都是:q=64位×4=256位順序存儲器和交叉存儲器連續(xù)讀出4個字所需的時間分別是:
t2=mT=4×200ns=800ns=8×10-7s;
t1=T+(m-1)τ=200ns+3×50ns=350ns=3.5×10-7s順序存儲器和交叉存儲器的帶寬分別是:
W2=q/t2=256÷(8×10-7)=32×107[位/s]
W1=q/t1=256÷(3.5×10-7)=73×107[位/s]第六十三頁,共九十九頁,編輯于2023年,星期一5.5高速緩沖存儲器(Cache)Cache的工作原理地址映象與變換替換策略及更新策略第六十四頁,共九十九頁,編輯于2023年,星期一▲問題的提出:避免CPU“空等”現(xiàn)象;CPU和主存(DRAM)的速度差異;程序訪問的局部性原理?!鴆ache的功能:
cache是介于CPU和主存之間的小容量存儲器,存取速度比主存快(一般可達(dá)5~10倍以上)。它能高速地向CPU提供指令和數(shù)據(jù),加快程序的執(zhí)行速度。它是為了解決CPU和主存之間速度不匹配而采用的一項重要技術(shù)。第六十五頁,共九十九頁,編輯于2023年,星期一▲設(shè)置Cache的必要性計算機(jī)有兩個核心器件,一個內(nèi)存,另外一個則是CPU二者是否能較好配合,將直接影響計算機(jī)性能。早期的CPU跟內(nèi)存的速度相差不多,但是隨著計算機(jī)硬件技術(shù)的發(fā)展,CPU的速度提高的比內(nèi)存快,現(xiàn)在內(nèi)存和CPU的讀寫速度相差2~3個數(shù)量級。如果僅僅依靠內(nèi)存給CPU傳輸數(shù)據(jù),那么CPU可能會長時間等待,降低資源利用率。所以,必須對二者速度進(jìn)行匹配。第六十六頁,共九十九頁,編輯于2023年,星期一匹配內(nèi)存和CPU的速度有以下三個方法:(1)降低CPU速度;(2)采用高速的SRAM作為內(nèi)存的存儲器;(3)根據(jù)程序執(zhí)行的局部性原理,在二者之間設(shè)置一定的緩沖器。顯然,第一個方法降低了計算機(jī)性能,不可能采用;第二個方法需要用價格昂貴的SRAM來制作容量高達(dá)幾百兆的內(nèi)存,成本過高。因此第三個方法則呈了現(xiàn)代計算機(jī)的首選方法。第六十七頁,共九十九頁,編輯于2023年,星期一實際的計算機(jī)系統(tǒng)中,常常在CPU和內(nèi)存間設(shè)置一個容量不大(常常為幾十至幾百K)但是速度跟CPU速度相同的Cache作為緩沖器,把正在執(zhí)行的指令代碼單元附近的一部分指令代碼或數(shù)據(jù)存入Cache中,CPU需要數(shù)據(jù)時,直接從Cache中讀取,這種方法解決了速度不匹配的問題,又不會大幅度增加成本。
根據(jù)Cache所處位置的不同,可以將Cache分為一級Cache、二級Cache和三級Cache。第六十八頁,共九十九頁,編輯于2023年,星期一▲基本概念命中——訪問主存的數(shù)據(jù)或代碼存在于cache中。命中率——cache命中的統(tǒng)計概率失效——訪問主存的數(shù)據(jù)或代碼不存在于cache中。失效率——未命中的統(tǒng)計概率命中訪問時間——cache命中時所需的訪問時間失效訪問時間(misspenalty)——未命中時因訪問主存而增加的訪問時間第六十九頁,共九十九頁,編輯于2023年,星期一▲設(shè)計問題主存種的塊放在cache的什么地方?——地址映象Cache放滿時怎么辦?——替換策略寫cache時是否寫主存?——更新策略cache容量、塊容量第七十頁,共九十九頁,編輯于2023年,星期一5.5.1Cache的工作原理CPU與Cache之間的數(shù)據(jù)交換是以字為單位,而Cache與主存之間的數(shù)據(jù)交換是以塊為單位。一個塊由通常若干定長的字組成。基本原理:
當(dāng)CPU要讀取主存中一個字時,總是將存放該字的內(nèi)存地址同時發(fā)給Cache和主存。此時,Cache控制邏輯立即依據(jù)地址,判斷該字當(dāng)前是否已在Cache中:若是,將此字立即傳送給CPU,CPU無需再訪問主存(讓主存訪問失效);第七十一頁,共九十九頁,編輯于2023年,星期一若非,則用主存讀周期把此字從主存讀出送到CPU,與此同時,把含有這個字的數(shù)據(jù)塊從主存讀出并裝入到Cache中,將Cache中較舊的內(nèi)容(塊)替換掉。
這種替換控制由始終管理Cache使用情況的硬件邏輯電路來實現(xiàn),最常用的替換算法為LRU(最近最少使用策略,在后面介紹)。第七十二頁,共九十九頁,編輯于2023年,星期一配置了Cache的CPU和內(nèi)存之間的存儲結(jié)構(gòu)如圖所示:第七十三頁,共九十九頁,編輯于2023年,星期一
在Cache控制器的作用下,CPU首先訪問Cache,如其需要的數(shù)據(jù)在Cache中,則直接訪問Cache即可,否則再訪問內(nèi)存。如果設(shè)置了L2Cache,則系統(tǒng)將按照L1Cache、L2Cache、內(nèi)存的順序訪問。值得注意的是:
Cache不能被用戶直接訪問,用戶不能使用Cache地址進(jìn)行編程。第七十四頁,共九十九頁,編輯于2023年,星期一~~~~……主存頁面號主存儲器012m-1頁面0頁面1頁面M-1主存頁號頁內(nèi)地址m位b位n位M頁B個字緩存頁號頁內(nèi)地址c位b位C頁B個字~~~~……頁面0頁面1頁面C-1012c-1標(biāo)記Cache緩存頁面號一、主存和緩存的編址:主存和緩存按頁面存儲頁面的大小相同,B
為頁第七十五頁,共九十九頁,編輯于2023年,星期一二、命中與未命中緩存共有C
頁,主存共有M
頁,M>>C命中:主存頁面調(diào)入緩存,主存頁與緩存頁建立了對應(yīng)關(guān)系。用標(biāo)記記錄與某緩存頁建立了對應(yīng)關(guān)系的主存頁號。未命中:主存頁面未調(diào)入緩存,主存頁與緩存頁未建立對應(yīng)關(guān)系。第七十六頁,共九十九頁,編輯于2023年,星期一三、Cache的命中率命中率:CPU欲訪問的信息在Cache中的比率。命中率與Cache的容量與頁面大小有關(guān)。
在一個程序執(zhí)行期間,設(shè)Nc為訪問cache的總命中次數(shù),Nm為訪問主存的總次數(shù),h定義為命中率,則有:命中率:為提高訪問效率,命中率h越接近1越好,命中率h與程序的行為、cache的容量、組織方式、塊的大小有關(guān)。第七十七頁,共九十九頁,編輯于2023年,星期一
若tc表示命中時的cache訪問時間,tm表示未命中時的主存訪問時間,(1-h)表示未命中率,則cache/主存系統(tǒng)的平均訪問時間ta為:平均訪問時間:訪問效率:訪問效率e與命中率有關(guān)。第七十八頁,共九十九頁,編輯于2023年,星期一例:CPU執(zhí)行一段程序時,cache完成存取的次數(shù)為1900次,主存完成存取的次數(shù)為100次,已知cache存取周期為50ns,主存存取周期為250ns,求cache/主存系統(tǒng)的效率和平均訪問時間。解: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=60ns第七十九頁,共九十九頁,編輯于2023年,星期一四、Cache的基本結(jié)構(gòu)Cache的結(jié)構(gòu)原理地址映象變換機(jī)構(gòu)
頁
號
頁內(nèi)地址第八十頁,共九十九頁,編輯于2023年,星期一5.5.2地址映象
1.直接映象
2.全相聯(lián)映像
3.組相聯(lián)映像第八十一頁,共九十九頁,編輯于2023年,星期一一、直接映象
是一種多對一的映射關(guān)系,但一個主存頁只能拷貝到cache的一個特定頁位置上去。
cache的行號i和主存的頁號j有如下函數(shù)關(guān)系:
i=jmodm(m為cache中的總行數(shù))優(yōu)點(diǎn):硬件簡單,成本低。缺點(diǎn):每個主存頁只有一個固定的頁位置可存放,容易產(chǎn)生沖突和Cache空間使用效率的降低。
這種方法一般只適合在大容量cache中采用。第八十二頁,共九十九頁,編輯于2023年,星期一t位Cache主存標(biāo)記頁面0標(biāo)記頁面1標(biāo)記頁面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ū)第八十三頁,共九十九頁,編輯于2023年,星期一頁面標(biāo)記頁號頁內(nèi)地址m位t位c位b位比較標(biāo)記標(biāo)記標(biāo)記命中失靶Cache讀出主存主存讀出數(shù)據(jù)總線主存地址直接映象方式下,主存和Cache的讀出過程...第八十四頁,共九十九頁,編輯于2023年,星期一例1:設(shè)有一個cache的容量為2K字,每個頁為16字,求:該cache可容納多少個頁?如果主存的容量是256K字,則有多少個頁?主存的地址有多少位?cache地址有多少位?在直接映象方式下,主存中的第i頁映象到cache中哪一個頁中?進(jìn)行地址映象時,存儲器的地址分成哪幾段?各段分別有多少位?第八十五頁,共九十九頁,編輯于2023年,星期一解:cache中有2048/16=128個頁。(2)主存有256K/16=16384個頁。(3)cache容量為2K=211字,所以cache字地址為11位。(4)主存中的第i頁映象到cache中第imod128個頁中。(5)存儲器的字地址分成三段:區(qū)號、頁號、頁內(nèi)字地址。區(qū)號的長度為18-11=7位,頁號為7位。頁內(nèi)字地址為4位。第八十六頁,共九十九頁,編輯于2023年,星期一例2:設(shè)主存容量為1MB,高速緩存容量為16KB,塊(頁)的大小為512字節(jié)。采用直接地址映像法。(1)寫出主存地址格式。(4)畫出直接方式地址映像及變換示意圖。(2)寫出Cache地址格式。(3)頁表的容量是多大。第八十七頁,共九十九頁,編輯于2023年,星期一(1)主存地址格式為:(2)Cache地址格式為:(3)頁表的容量為32字×6位。
頁面標(biāo)記頁面地址頁內(nèi)地址191413980
頁面地址頁內(nèi)地址13980第八十八頁,共九十九頁,編輯于2023年,星期一第0頁第1頁第31頁第32頁第33頁第63頁第64頁第65頁第95頁第2016頁第2017頁第2047頁第0頁第1頁第2頁第Y頁第30頁第31頁主存區(qū)號區(qū)內(nèi)頁號頁內(nèi)地址(標(biāo)記)(4)直接方式地址映像及變換示意圖第八十九頁,共九十九頁,編輯于2023年,星期一例3:設(shè)在直接映像的Cache中,主存地址的區(qū)號5位,頁號3位,CPU訪存過程中,依次訪問主存單元高8位地址為:00010110,00011010,00010110,00011010,00010000,00000011,00010000,00010010。要求寫出每次訪問后Cache中的內(nèi)容。第九十頁,共九十九頁,編輯于2023年,星期一訪問順序12345678頁地址2226
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論