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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

TW:將一個字寫入存儲器所需的時間?!嫒≈芷冢═M):存儲器進行一次完整的讀寫操作所需要的全部時間;或者說:啟動兩次獨立的存儲器操作之間所需的最小時間間隔;2/3/20239常用存儲器進行連續(xù)讀寫操作的最短間隔時間;

TM直接關系到計算機的運算速度;一般有TM>TA、TM>TW

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

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

解決方案:訪存局部性原理→層次結構

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

價格依次降低;容量依次增加;訪問時間依次增長;

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

存儲系統(tǒng)的層次結構主要體現(xiàn)在緩存-主存和

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

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

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

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

可讀可寫,是一種易失性存儲器,在掉電后存放在存儲單元的信息全部丟失,所以它一般用來暫存輸入/輸出數(shù)據(jù)、中間結果等。RAMSRAM——速度快,容量小,功耗大DRAM——速度慢,容量大5.2隨機存取存儲器RAM2/3/2023195.2.1SRAM——靜態(tài)存儲器利用觸發(fā)器的兩個穩(wěn)定狀態(tài)表示“0”和“1”,至少需要6個晶體管才能表示一個二進制位。SRAM功耗較大,容量較小,存取速度較快,幾乎是后面介紹的DRAM的10倍。價格較高,不需要刷新。當CPU速度愈來愈快的時候,SRAM就變得非常重要。因為DRAM跟不上CPU的速度,所以只好就用SRAM來做溝通的橋梁--這就是高速緩沖存儲器(Cache)的概念。因此,SRAM主要的用途就是拿來作為Cache用。2/3/202320(行選線)●●(列選線)存儲元●●●●位線B●●●●&&I/O基本存儲元讀操作?若某個存儲元被選中,則該存儲元的T5,T6,T7,T8管均導通,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管導通,T2管截止,將“0”信息寫入了存儲元。2/3/202321地址寄存器X譯碼器驅動器I/O電路Y譯碼器地址寄存器輸出驅動控制電路輸出輸入讀/寫片選01638164X64存儲矩陣0163A6A7A11靜態(tài)MOSRAM芯片結構圖.........A0A1A5........................2/3/202322靜態(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/O7CEA10M622562/3/202323靜態(tài)存儲芯片的讀/寫周期

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

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

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

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

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

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

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

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

塊內地址

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

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

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

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

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

頁內地址2/3/2023805.5.2地址映象

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

這種方法一般只適合在大容量cache中采用。2/3/202382t位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ū)2/3/202383頁面標記頁號頁內地址m位t位c位b位比較標記標記標記命中失靶Cache讀出主存主存讀出數(shù)據(jù)總線主存地址直接映象方式下,主存和Cache的讀出過程...2/3/202384例1:設有一個cache的容量為2K字,每個頁為16字,求:該cache可容納多少個頁?

如果主存的容量是256K字,則有多少個頁?

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

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

頁分配情況操作狀態(tài)調進調進命中命中調進調進命中替換

直接映象在地址序列下的頁分配情況------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)映像是指將內存和Cache按照固定的相同的大小進行分頁。內存的頁和Cache的頁可以任意對應,即內存的任何一頁都可以映像到Cache的任何一頁,在Cache的存儲空間被占滿的情況下,也允許確實已被占滿的Cache存儲器中替換出任何一個舊頁。優(yōu)點:映像過程靈活,塊沖突率低,只有在Cache中的

溫馨提示

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

評論

0/150

提交評論