4微機原理存儲器和高速緩存技術課件_第1頁
4微機原理存儲器和高速緩存技術課件_第2頁
4微機原理存儲器和高速緩存技術課件_第3頁
4微機原理存儲器和高速緩存技術課件_第4頁
4微機原理存儲器和高速緩存技術課件_第5頁
已閱讀5頁,還剩215頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第四章存儲器和高速緩存技術§4.1存儲器和存儲器件§4.2存儲器的連接§4.3虛擬存儲器§4.4高檔微機中的高速緩存技術1第四章存儲器和高速緩存技術§4.1存儲器和存儲器件1§4.1存儲器和存儲器件除采用磁、光原理的輔存外,其它存儲器主要都是采用半導體存儲器本章介紹采用半導體存儲器及其組成主存的方法CPUCACHE主存(內(nèi)存)輔存(外存)2§4.1存儲器和存儲器件除采用磁、光原理的輔存外,其它存儲器存儲器的邏輯結(jié)構(gòu)示意圖3存儲器的邏輯結(jié)構(gòu)示意圖3高低小大快慢輔存寄存器緩存主存磁盤光盤磁帶光盤磁帶速度容量價格位/存儲器三個主要特性的關系存儲器的層次結(jié)構(gòu)CPUCPU主機4高低小大快慢輔存寄存器緩存主存磁盤光盤磁帶光盤磁帶速度容量價1、主存和高速緩存之間的關系Cache引入:為解決cpu和主存之間的速度差距,提高整機的運算速度,在cpu和主存之間插入的由高速電子器件組成的容量不大,但速度很高的存儲器作為緩沖區(qū)。Cache特點存取速度最快,容量小,存儲控制和管理由硬件實現(xiàn)。51、主存和高速緩存之間的關系Cache引入:5Cache工作原理——程序訪問的局部性在較短時間內(nèi)由程序產(chǎn)生的地址往往集中在存儲器邏輯地址空間的很小范圍內(nèi)。(指令分布的連續(xù)性和循環(huán)程序及子程序的多次執(zhí)行)這種對局部的存儲器地址頻繁訪問,而對此范圍以外的地址范圍甚少的現(xiàn)象就成為程序訪問的局部性。數(shù)據(jù)分布不如指令明顯,但對數(shù)組的訪問及工作單元的選擇可使存儲地址相對集中。6Cache工作原理——程序訪問的局部性在較短時間內(nèi)由程序產(chǎn)生2、主存與輔存之間的關系主存:(半導體材料組成)優(yōu):速度較快缺:容量居中,單位成本高,價格居中。輔存:(光盤,磁盤)優(yōu):容量大,信息長久保存,單位成本低.缺:存取速度慢CPU正在運行的程序和數(shù)據(jù)存放在主存暫時不用的程序和數(shù)據(jù)存放在輔存輔存只與主存進行數(shù)據(jù)交換72、主存與輔存之間的關系主存:(半導體材料組成)7緩存CPU主存輔存緩存主存層次和主存輔存層次緩存主存輔存主存虛擬存儲器10ns20ns200nsms虛地址邏輯地址實地址物理地址主存儲器(速度)(容量)8緩存CPU主存輔存緩存主存層次和主存輔存層次緩虛擬存儲器(VirtualMemory)虛擬存儲器指的是為了擴大容量,把輔存當作主存使用,它將主存和輔存的地址空間統(tǒng)一編址,形成一個龐大的存儲空間。程序運行時,用戶可以訪問輔存中的信息,可以使用與訪問主存同樣的尋址方式,所需要的程序和數(shù)據(jù)由輔助軟件和硬件自動調(diào)入主存,這個擴大了的存儲空間,就稱為虛擬存儲器。之所以稱為虛擬存儲器,是因為這樣的主存并不是真實存在的。

在一個虛擬存儲系統(tǒng)中,展現(xiàn)在CPU面前的存儲器容量并不是實存容量加上輔存容量,而是一個比實存大得多的虛擬空間,它與實存和輔助空間的容量無關,取決于機器所能提供的虛存地址碼的長度。

可分為頁式虛擬存儲器、段式虛擬存儲器和段頁式虛擬存儲器9虛擬存儲器(VirtualMemory)虛擬存儲器指的選擇存儲器件的考慮因素(1)易失性(2)只讀性(3)位容量(4)功耗(5)速度(6)價格(7)可靠性10選擇存儲器件的考慮因素(1)易失性(2§4.1主存儲器4.1.1半導體存儲器的分類按制造工藝雙極型:速度快、集成度低、功耗大MOS型:速度慢、集成度高、功耗低按使用屬性隨機存取存儲器RAM:可讀可寫、斷電丟失只讀存儲器ROM:正常只讀、斷電不丟失11§4.1主存儲器4.1.1半導體存儲器的分類11半導體存儲器的分類半導體存儲器只讀存儲器(ROM)隨機存取存儲器(RAM)靜態(tài)RAM(SRAM)動態(tài)RAM(DRAM)非易失RAM(NVRAM)掩膜式ROM一次性可編程ROM(PROM)紫外線擦除可編程ROM(EPROM)電擦除可編程ROM(EEPROM)閃爍存儲器FLASHROM(EEPROM)12半導體存儲器的分類半導體只讀存儲器隨機存取存儲器靜態(tài)RAM(1.讀寫存儲器RAM組成單元速度集成度應用SRAM觸發(fā)器快低小容量系統(tǒng)DRAM極間電容慢高大容量系統(tǒng)NVRAM帶微型電池慢低小容量非易失131.讀寫存儲器RAM組成單元速度集成度應用SRAM觸發(fā)器快低2.只讀存儲器ROM掩膜ROM:信息制作在芯片中,不可更改PROM:允許一次編程,此后不可更改EPROM:用紫外光擦除,擦除后可編程;并允許用戶多次擦除和編程EEPROM(E2PROM):采用加電方法在線進行擦除和編程,也可多次擦寫FlashMemory(閃存):能夠快速擦寫的EEPROM,但只能按塊(Block)擦除142.只讀存儲器ROM掩膜ROM:信息制作在芯片中,不可更改1半導體存儲器芯片的結(jié)構(gòu)地址寄存地址譯碼存儲體控制電路AB數(shù)據(jù)寄存讀寫電路DBOEWECS①存儲體存儲器芯片的主要部分,用來存儲信息②地址譯碼電路根據(jù)輸入的地址編碼來選中芯片內(nèi)某個特定的存儲單元③

片選和讀寫控制邏輯選中存儲芯片,控制讀寫操作15半導體存儲器芯片的結(jié)構(gòu)地地存儲體控制電路AB數(shù)讀DBOEWE①存儲體每個存儲單元具有一個唯一的地址,可存儲1位(位片結(jié)構(gòu))或多位(字片結(jié)構(gòu))二進制數(shù)據(jù)存儲容量與地址、數(shù)據(jù)線個數(shù)有關:芯片的存儲容量=2M×N=存儲單元數(shù)×存儲單元的位數(shù)

M:芯片的地址線根數(shù)

N:芯片的數(shù)據(jù)線根數(shù)

16①存儲體每個存儲單元具有一個唯一的地址,可存儲1位(位片結(jié)存儲矩陣字結(jié)構(gòu):同一芯片存放一個字的多位,如8位。優(yōu)點是:選中某個單元,其包含的各位信息可從同一芯片讀出,缺點是芯片外引線較多,成本高.適合容量小的靜態(tài)RAM.

位結(jié)構(gòu):同一芯片存放多個字的同一位.優(yōu)點是芯片的外引線少,缺點是需要多個芯片組和工作.適合動態(tài)RAM和大容量靜態(tài)RAM一個基本單元電路只能存放一位二進制信息,為保存大量信息,存儲器中需要將許多基本單元電路按一定的順序排列成陣列形式,這樣的陣列稱為存儲矩陣.排列方式:字結(jié)構(gòu)和位結(jié)構(gòu).10221023123位結(jié)構(gòu)01127字結(jié)構(gòu)D7D6D017存儲矩陣字結(jié)構(gòu):同一芯片存放一個基本單2、地址譯碼器功能:接收系統(tǒng)總線傳來的地址信號,產(chǎn)生地址譯碼信號后,選中存儲矩陣中的某個或幾個基本存儲單元.從結(jié)構(gòu)類型上分類:單譯碼,雙譯碼單譯碼方式適合小容量的存儲器例如:地址線12根對應4096個狀態(tài),需要4096根譯碼線雙譯碼方式適合大容量存儲器(也稱為矩陣譯碼器)分X、Y兩個方向的譯碼例如:地址線12根X、Y方向各6根,64*64=4096個狀態(tài),128根譯碼線182、地址譯碼器功能:接收系統(tǒng)總線傳來的地址信號,產(chǎn)生地址譯碼②地址譯碼電路譯碼器A5A4A3A2A1A06301存儲單元64個單元行譯碼A2A1A0710列譯碼A3A4A501764個單元單譯碼雙譯碼單譯碼結(jié)構(gòu)雙譯碼結(jié)構(gòu)雙譯碼可簡化芯片設計主要采用的譯碼結(jié)構(gòu)19②地址譯碼電路譯碼器A56301存儲單元64個單元行譯碼A③片選和讀寫控制邏輯片選端CS*或CE*有效時,可以對該芯片進行讀寫操作輸出OE*控制讀操作。有效時,芯片內(nèi)數(shù)據(jù)輸出該控制端對應系統(tǒng)的讀控制線寫WE*控制寫操作。有效時,數(shù)據(jù)進入芯片中該控制端對應系統(tǒng)的寫控制線20③片選和讀寫控制邏輯片選端CS*或CE*20隨機存取存儲器靜態(tài)RAMSRAM2114SRAM6264動態(tài)RAMDRAM4116DRAM216421隨機存取存儲器靜態(tài)RAM動態(tài)RAM21§4.1.2靜態(tài)RAM1.六管靜態(tài)存儲電路SRAM的基本存儲單元是觸發(fā)器電路每個基本存儲單元存儲二進制數(shù)一位許多個基本存儲單元形成行列存儲矩陣SRAM一般采用“字結(jié)構(gòu)”存儲矩陣:每個存儲單元存放多位(4、8、16等)每個存儲單元具有一個地址22§4.1.2靜態(tài)RAM1.六管靜態(tài)存儲電路22靜態(tài)RAM的六管基本存儲單元集成度低,但速度快,價格高,常用做Cache。T1和T2組成一個雙穩(wěn)態(tài)觸發(fā)器,用于保存數(shù)據(jù)。T3和T4為負載管。如A點為數(shù)據(jù)D,則B點為數(shù)據(jù)/D。T1T2ABT3T4+5VT5T6行選擇線有效(高電平)時,A、B處的數(shù)據(jù)信息通過門控管T5和T6送至C、D點。行選擇線CD列選擇線T7T8I/OI/O列選擇線有效(高電平)時,C、D處的數(shù)據(jù)信息通過門控管T7和T8送至芯片的數(shù)據(jù)引腳I/O。23靜態(tài)RAM的六管基本存儲單元集成度低,但速度快,價格高,常用SRAM的主要特點靜態(tài)RAM存儲電路MOS管較多,集成度不高,同時由于T1、T2管必定有一個導通,因而功耗較大。靜態(tài)RAM的優(yōu)點是不需要刷新電路,從而簡化了外部控制邏輯電路,此外靜態(tài)RAM存取速度比動態(tài)RAM快,因而通常用作微型計算機系統(tǒng)中的高速緩存(Cache)。24SRAM的主要特點靜態(tài)RAM存儲電路MOS管較多,集成度不高2.靜態(tài)RAM的結(jié)構(gòu)典型的RAM的示意圖252.靜態(tài)RAM的結(jié)構(gòu)典型的RAM的示意圖253.靜態(tài)RAM芯片舉例常用的靜態(tài)RAM芯片主要有6116、6264、62256、628128等。下面重點介紹6116,2114芯片。

263.靜態(tài)RAM芯片舉例常用的靜態(tài)RAM芯片主要有6116、SRAM芯片2114存儲容量為1024×418個引腳:10根地址線A9~A04根數(shù)據(jù)線I/O4~I/O1片選CS*讀寫WE*123456789181716151413121110VccA7A8A9I/O1I/O2I/O3I/O4WE*A6A5A4A3A0A1A2CS*GND27SRAM芯片2114存儲容量為1024×4118VccA62Intel61166116芯片內(nèi)部的存儲體是一個由128×128=16384個靜態(tài)存儲電路組成的存儲矩陣。A0~A1011根地址線供對其進行行、列地址譯碼,以便對211=2048個存儲單元進行選址。6116有8根數(shù)據(jù)輸入/輸出線I/O0~I/O7,每條列選擇線控制8位。

28Intel61166116芯片內(nèi)部的存儲體是一個由128×6116芯片引腳圖296116芯片引腳圖29方框圖引腳圖圖4.56116芯片內(nèi)部功能框圖30方框圖引腳圖圖4.56116芯片內(nèi)部功能框圖306116芯片的工作方式工作方式001讀010寫1××未選316116芯片的工作方式工作方式001讀010寫1××未選SRAM芯片6264存儲容量為8K×828個引腳:13根地址線A12~A08根數(shù)據(jù)線D7~D0片選CS1*、CS2讀寫WE*、OE*+5VWE*CS2A8A9A11OE*A10CS1*D7D6D5D4D3NCA12A7A6A5A4A3A2A1A0D0D1D2GND1234567891011121314282726252423222120191817161532SRAM芯片6264存儲容量為8K×8+5VNC128324.2.3動態(tài)RAMDRAM的基本存儲單元是單個場效應管及其極間電容必須配備“讀出再生放大電路”進行刷新每次同時對一行的存儲單元進行刷新每個基本存儲單元存儲二進制數(shù)一位許多個基本存儲單元形成行列存儲矩陣DRAM一般采用“位結(jié)構(gòu)”存儲體:每個存儲單元存放一位需要8個存儲芯片構(gòu)成一個字節(jié)單元每個字節(jié)存儲單元具有一個地址334.2.3動態(tài)RAMDRAM的基本存儲單元是單個場效應管及DRAM芯片2164存儲容量為64K×116個引腳:8根地址線A7~A01根數(shù)據(jù)輸入線DIN1根數(shù)據(jù)輸出線DOUT行地址選通RAS*列地址選通CAS*讀寫控制WE*NCDINWE*RAS*A0A2A1GNDVSSCAS*DOUTA6A3A4A5A71234567816151413121110934DRAM芯片2164存儲容量為64K×1NCVSS11634

3.動態(tài)RAM的刷新

所有的DRAM都是利用電容存儲電荷的原理來保存信息,雖然利用MOS管柵源極間的高阻抗可以使電容上的電荷得以維持,但由于電容總存在泄露現(xiàn)象,時間長了其存儲的電荷會消失,從而使其所存信息自動丟失。所以,必須定時對DRAM的所有基本存儲元電路補充電荷,即進行刷新操作,以保證存儲的信息不變。所謂刷新,就是不斷地每隔一段時間(一般每隔2ms)對DRAM的所有單元進行讀出,經(jīng)讀出放大器放大后,再重新寫入原電路中,以維持電容上的電荷,進而使所存信息保持不變。雖然每次進行的正常讀/寫存儲器的操作也相當于進行了刷新操作,但由于CPU對存儲器的讀/寫是隨機的,并不能保證2ms時間內(nèi)能對存儲器中的所有單元都進行一次讀/寫操作,以達到刷新效果。所以,對DRAM必須設置專門的外部控制電路和安排專門的刷新周期來系統(tǒng)地對DRAM進行刷新。

353.動態(tài)RAM的刷新35DRAM工作時,除了正常的讀/寫操作之外,還要定時刷新,這就需要設置專門的控制電路來管理DRAM芯片的工作,許多半導體生產(chǎn)廠家推出了專用的DRAM控制器。DRAM控制器有多種,隨所支持的DRAM芯片型號的不同而不同,如Intel8203是專門用于支持DRAM2118(16K×1)、2164(64K×1)芯片的DRAM控制器。但不論是哪一種DRAM控制器,它都是CPU與DRAM存儲器之間的接口電路,由它把CPU的信號轉(zhuǎn)換成適合DRAM芯片的信號,解決DRAM芯片地址的兩次打入(行地址打入和列地址打入)及刷新操作中的刷新定時、刷新計數(shù)、沖突裁決等問題。36DRAM工作時,除了正常的讀MOS型SRAM與DRAM芯片比較*DRAM芯片的優(yōu)點:①DRAM集成度遠高于SRAM(DRAM采用3管或單管MOS存儲元);②DRAM地址引腳減少了一半(采用雙地址時序方式時);③DRAM功耗是SRAM的1/6(DRAM采用單管MOS存儲元時);④DRAM成本是SRAM的1/4(需增加輔助電路)。*DRAM芯片的缺點:①DRAM速度比SRAM低(使用動態(tài)元件[電容]);②DRAM需配置再生電路,增加了一部分功耗。*芯片應用:

高速度、小容量MEM常用SRAM芯片構(gòu)成,如Cache;

大容量MEM常用DRAM芯片構(gòu)成,如主存。37MOS型SRAM與DRAM芯片比較*DRAM芯片的缺§4.1.4只讀存儲器EPROMEPROM2716EPROM2764EEPROMEEPROM2717AEEPROM2864A38§4.1.4只讀存儲器EPROMEEPROM38半導體只讀存儲器組成與原理(非易失性)1、基本結(jié)構(gòu),特點及類型行譯碼器A0A1列譯碼器A2A3片選數(shù)據(jù)39半導體只讀存儲器組成與原理(非易失性)1、基本結(jié)構(gòu),特點及類2、一次性可編程存儲器PROM行線X列線YVCCTXY熔絲402、一次性可編程存儲器PROM行線X列線YVCCTXY熔絲41、掩模ROM(MROM)*特征:用戶不可修改信息;存儲元狀態(tài):用元件有/無表示“1”/“0”;數(shù)據(jù)讀出:字選線加電壓,位線電壓為所選存儲元的數(shù)據(jù)。411、掩模ROM(MROM)412、可編程ROM(PROM)*特征:用戶可一次性修改信息(電寫入);*存儲元狀態(tài):用二極管/熔絲的通/斷表示“1”/“0”;*數(shù)據(jù)寫入:字線X加電壓,若寫0—VD=V地→熔絲熔斷,

若寫1—VD=V中→熔絲不斷;*數(shù)據(jù)讀出:字線X加電壓、VD=V中,用檢測VD變化的方法可得數(shù)據(jù)。VCC字線X位線DVCC字線X位線DVDVD422、可編程ROM(PROM)*數(shù)據(jù)寫入:字線X加電壓3、可擦除可編程ROM(EPROM)*特征:用戶可多次修改信息(電寫入、光擦除);*存儲元狀態(tài):用浮置雪崩注入MOS管/疊柵注入MOS管的浮置柵是否帶負電荷表示“1”/“0”(以疊柵注入MOS管為例);*寫數(shù)據(jù)“1”(寫入):

如右圖,脈沖寬度約50ms;*數(shù)據(jù)讀出:如右圖,讀出周期us級。*寫數(shù)據(jù)“0”(擦除):用紫外線照射10~20分鐘(浮置柵上電子獲得光子能量→電子穿過SiO2層與基體電荷中和)→整個芯片一起擦除;字線X位線D(b)讀出狀態(tài)(a)寫1狀態(tài)0V字線X位線D+25V+25VDSP基體N源極S漏極D控制柵GCSiO2N浮置柵GfP基體N源極S漏極D控制柵GCSiO2N+++++-----GC433、可擦除可編程ROM(EPROM)*寫數(shù)據(jù)“1”(4、電可擦除可編程ROM(E2PROM)*特征:用戶可多次修改信息(電寫入、電擦除);*存儲元狀態(tài):用浮柵隧道氧化層MOS管的浮置柵是否帶負電荷表示“1”/“0”;*寫數(shù)據(jù)/數(shù)據(jù)讀出:

如下圖,寫脈沖寬度約10ms,讀出周期us級;

擦除精度可為塊(一般同一行存儲元的GC互連);因擦/寫時間較長、電壓較高,故常用做ROM(只讀出)。字選線X位線DGC+3V+5V(c)讀出狀態(tài)字選線X位線DGC+20V+20V(a)寫1(寫入)狀態(tài)+0V字選線X位線DGC+20V+20V(b)寫0(擦除)狀態(tài)+0VN基體PSDGCSiO2PDSGC444、電可擦除可編程ROM(E2PROM)*寫數(shù)據(jù)/數(shù)5、快擦寫存儲器(FLASH)

*特征:用戶可多次修改信息(電寫入、電擦除);*存儲元狀態(tài)與結(jié)構(gòu):與EPROM類似,氧化層更薄(擦除快);*數(shù)據(jù)寫入:寫入“1”—與EPROM相同,脈沖寬度約10us,

寫入“0”—與E2PROM相同,脈沖寬度約100us;

擦除精度只能為塊(一般同一行存儲元的GC互連)。(a)寫1(寫入)狀態(tài)字線X位線D+6V+12V0V(b)寫0(擦除)狀態(tài)字線X位線D0V+0V+12V(c)讀出狀態(tài)字線X位線D+5V0VDSP基體NSDGCSiO2NGC455、快擦寫存儲器(FLASH)*數(shù)據(jù)寫入:寫入“1”EPROM芯片2716存儲容量為2K×824個引腳:11根地址線A10~A08根數(shù)據(jù)線DO7~DO0片選/編程CE*/PGM讀寫OE*編程電壓VPPVDDA8A9VPPOE*A10CE*/PGMDO7DO6DO5DO4DO3123456789101112242322212019181716151413A7A6A5A4A3A2A1A0DO0DO1DO2Vss46EPROM芯片2716存儲容量為2K×8VDD124A746EPROM芯片2764存儲容量為8K×828個引腳:13根地址線A12~A08根數(shù)據(jù)線D7~D0片選CE*編程PGM*讀寫OE*編程電壓VPPVppA12A7A6A5A4A3A2A1A0D0D1D2GNDVccPGM*NCA8A9A11OE*A10CE*D7D6D5D4D31234567891011121314282726252423222120191817161547EPROM芯片2764存儲容量為8K×8VppVcc128412345678910111213141516171819202122232425262728VppA12A7A6A5A4A3A2A1A0D0D1D2GNDD3D4D5D6D7CEA10OEA11A9A8A13A14Vcc27256引腳圖A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0CEOED7D6D5D4D3D2D1D027256邏輯圖EPROM芯片2725648123456789101112131415161718192EEPROM用加電方法,進行在線(無需拔下,直接在電路中)擦寫(擦除和編程一次完成)有字節(jié)擦寫、塊擦寫和整片擦寫方法并行EEPROM:多位同時進行串行EEPROM:只有一位數(shù)據(jù)線49EEPROM用加電方法,進行在線(無需拔下,直接在電路中)擦EEPROM芯片2817A存儲容量為2K×828個引腳:11根地址線A10~A08根數(shù)據(jù)線I/O7~I/O0片選CE*讀寫OE*、WE*狀態(tài)輸出RDY/BUSY*50EEPROM芯片2817A存儲容量為2K×850EEPROM芯片2864A存儲容量為8K×828個引腳:13根地址線A12~A08根數(shù)據(jù)線I/O7~I/O0片選CE*讀寫OE*、WE*VccWE*NCA8A9A11OE*A10CE*I/O7I/O6I/O5I/O4I/O3NCA12A7A6A5A4A3A2A1A0I/O0I/O1I/O2GND1234567891011121314282726252423222120191817161551EEPROM芯片2864A存儲容量為8K×8VccNC1284.2半導體存儲器與CPU的連接SRAM、EPROM與CPU的連接譯碼方法同樣適合I/O端口524.2半導體存儲器與CPU的連接SRAM、EPROM與CPU§4.2.1存儲芯片與CPU的連接存儲芯片的數(shù)據(jù)線存儲芯片的地址線存儲芯片的片選端存儲芯片的讀寫控制線53§4.2.1存儲芯片與CPU的連接存儲芯片的數(shù)據(jù)線53CPU與存儲器的連接時應注意的問題1.CPU總線的帶負載能力2.存儲器的組織、地址分配與片選問題3.CPU的時序與存儲器的存取速度之間的配合54CPU與存儲器的連接時應注意的問題1.CPU總線的帶負載能力551.CPU總線的負載能力通常CPU總線的負載能力是一個TTL器件或20個MOS器件。一般小型系統(tǒng)中,CPU可直接與存儲器芯片相連。而在較大系統(tǒng)中,當總線負載數(shù)超過限定時應當加接驅(qū)動器。地址線、控制線是單向的,故采用單向驅(qū)動器,如74LS244,Intel8282等,而數(shù)據(jù)線是雙向傳動的,故采用雙向驅(qū)動器,如74LS245、Intel8286/8287等。55551.CPU總線的負載能力通常CPU總線的負載能力是一個T562.存儲器與CPU之間的時序配合選用存儲芯片時,必須考慮它的存取速度和CPU速度的匹配問題,即時序配合。為了使CPU能與不同速度的存儲器相連接,一種常用的方法是使用“等待申請”信號。該方法是在CPU設計時設置一條“等待申請”輸入線。若與CPU連接的存儲器速度較慢,使CPU在規(guī)定的的讀/寫周期內(nèi)不能完成讀/寫操作,則在CPU執(zhí)行訪問存儲器指令時,由等待信號發(fā)生器向CPU發(fā)出“等待申請”信號,使CPU在正常的讀/寫周期之外再插入一個或幾個等待周期Tw,以便通過改變指令的時鐘周期數(shù)使系統(tǒng)速度變慢,從而達到與慢速存儲器匹配的目的。56562.存儲器與CPU之間的時序配合選用存儲芯片時,必須考慮573.存儲芯片的選用和地址分配存儲芯片類型和芯片型號的選擇因素存放對象存儲容量存取速度結(jié)構(gòu)價格。57573.存儲芯片的選用和地址分配存儲芯片類型和芯片型號的選擇58片選控制方法

存儲芯片存儲模塊存儲體進行位擴展

以實現(xiàn)按字節(jié)編址的結(jié)構(gòu)進行字擴展

以滿足總?cè)萘康囊蟠鎯w、地址譯碼、數(shù)據(jù)緩沖和讀寫控制位擴展:因每個字的位數(shù)不夠而擴展數(shù)據(jù)輸出線的數(shù)目;字擴展:因總的字數(shù)不夠而擴展地址輸入線的數(shù)目,所以也稱為地址擴展;5858片選控制方法存儲芯片存儲模塊存儲體進行位1.存儲芯片數(shù)據(jù)線的處理若芯片的數(shù)據(jù)線正好8根:一次可從芯片中訪問到8位數(shù)據(jù)全部數(shù)據(jù)線與系統(tǒng)的8位數(shù)據(jù)總線相連若芯片的數(shù)據(jù)線不足8根:一次不能從一個芯片中訪問到8位數(shù)據(jù)利用多個芯片擴充數(shù)據(jù)位這個擴充方式簡稱“位擴充”591.存儲芯片數(shù)據(jù)線的處理若芯片的數(shù)據(jù)線正好8根:59存儲芯片的位擴展:D0D7…用64K×1bit的芯片擴展實現(xiàn)64KB存儲器進行位擴展時,模塊中所有芯片的地址線和控制線互連形成整個模塊的地址線和控制線,而各芯片的數(shù)據(jù)線并列(位線擴展)形成整個模塊的數(shù)據(jù)線(8bit寬度)。

A0~A15R/WCS等效為64K*8A0~A15D0~D7R/WCS存儲器容量的擴展60存儲芯片的位擴展:D0D7…用64K×1bit的芯片擴展實現(xiàn)位擴充2114(1)A9~A0I/O4~I/O1片選D3~D0D7~D4A9~A02114(2)A9~A0I/O4~I/O1CECE多個位擴充的存儲芯片的數(shù)據(jù)線連接于系統(tǒng)數(shù)據(jù)總線的不同位數(shù)其它連接都一樣這些芯片應被看作是一個整體常被稱為“芯片組”進行位擴展時,模塊中所有芯片的地址線和控制線互連形成整個模塊的地址線和控制線,而各芯片的數(shù)據(jù)線并列(位線擴展)形成整個模塊的數(shù)據(jù)線(8bit寬度)。

61位擴充2114A9~A0I/O4~I/O1片選D3~D0D762存儲芯片的字擴展:用8K×8bit的芯片擴展實現(xiàn)64KB存儲器D0~D7CS3-8譯碼器Y0Y1Y7………A13

A14

A15

進行字擴展時,模塊中所有芯片的地址線、控制線和數(shù)據(jù)線互連形成整個模塊的低位地址線、控制線和數(shù)據(jù)線

,CPU的高位地址線(擴展的字線)被用來譯碼以形成對各個芯片的選擇線——片選線。

A0~A12R/W64K*8A0~A15D0~D7R/WCS等效為6262存儲芯片的字擴展:用8K×8bit的芯片擴展實現(xiàn)64KB2.存儲芯片地址線的連接芯片的地址線通常應全部與系統(tǒng)的低位地址總線相連尋址時,這部分地址的譯碼是在存儲芯片內(nèi)完成的,我們稱為“片內(nèi)譯碼”632.存儲芯片地址線的連接芯片的地址線通常應全部與系統(tǒng)的低片內(nèi)譯碼A9~A0存儲芯片000H001H002H…3FDH3FEH3FFH全0全100…0000…0100…10…11…0111…1011…11范圍(16進制)A9~A064片內(nèi)譯碼A9~A0存儲芯片000H全000…00范圍(16進3.存儲芯片片選端的譯碼存儲系統(tǒng)常需利用多個存儲芯片擴充容量也就是擴充了存儲器地址范圍進行“地址擴充”,需要利用存儲芯片的片選端對多個存儲芯片(組)進行尋址這個尋址方法,主要通過將存儲芯片的片選端與系統(tǒng)的高位地址線相關聯(lián)來實現(xiàn)這種擴充簡稱為“地址擴充”或“字擴充”653.存儲芯片片選端的譯碼存儲系統(tǒng)常需利用多個存儲芯片擴充地址擴充(字擴充)片選端D7~D0A19~A10A9~A0(2)A9~A0D7~D0CE(1)A9~A0D7~D0CE譯碼器00000000010000000000進行字擴展時,模塊中所有芯片的地址線、控制線和數(shù)據(jù)線互連形成整個模塊的低位地址線、控制線和數(shù)據(jù)線

,CPU的高位地址線(擴展的字線)被用來譯碼以形成對各個芯片的選擇線——片選線。

66地址擴充(字擴充)片選端D7~D0A19~A10A9~A0(片選端常有效A19~A15 A14~A0 全0~全1D7~D027256EPROMA14~A0CE令芯片(組)的片選端常有效不與系統(tǒng)的高位地址線發(fā)生聯(lián)系芯片(組)總處在被選中的狀態(tài)雖簡單易行、但無法再進行地址擴充,會出現(xiàn)“地址重復”67片選端常有效A19~A15 A14~A0D7~D027256地址重復一個存儲單元具有多個存儲地址的現(xiàn)象原因:有些高位地址線沒有用、可任意使用地址,出現(xiàn)地址重復時,常選取其中既好用、又不沖突的一個“可用地址”例如:00000H~07FFFH選取的原則:高位地址全為0的地址高位地址譯碼才更好68地址重復一個存儲單元具有多個存儲地址的現(xiàn)象高位地址譯碼才更好⑴譯碼和譯碼器譯碼:將某個特定的“編碼輸入”翻譯為唯一“有效輸出”的過程譯碼電路可以使用門電路組合邏輯譯碼電路更多的是采用集成譯碼器常用的2:4譯碼器74LS139常用的3:8譯碼器74LS138常用的4:16譯碼器74LS15469⑴譯碼和譯碼器譯碼:將某個特定的“編碼輸入”翻譯為唯一“有存儲地址譯碼電路74LS138經(jīng)常用來作為存儲器的譯碼電路。

74LS138引腳70存儲地址譯碼電路

74LS138引腳70G1CBAY7~Y0有效輸出00100011111110Y000100111111101Y100101011111011Y200101111110111Y300110011101111Y400110111011111Y500111010111111Y600111101111111Y7其他值×××11111111無效74LS138的真值71G1CBAY7~Y0有效輸出00⑵全譯碼所有的系統(tǒng)地址線均參與對存儲單元的譯碼尋址包括低位地址線對芯片內(nèi)各存儲單元的譯碼尋址(片內(nèi)譯碼),高位地址線對存儲芯片的譯碼尋址(片選譯碼)采用全譯碼,每個存儲單元的地址都是唯一的,不存在地址重復譯碼電路可能比較復雜、連線也較多72⑵全譯碼所有的系統(tǒng)地址線均參與對存儲單元的譯碼尋址72全譯碼示例A15A14A13A16CBAE3138

2764A19A18A17A12~A0CEY6E2E1IO/M1C000H1DFFFH全0全100011100001110地址范圍A12~A0A19A18A17A16A15A14A1373全譯碼示例A15A16CE31382764A19A12~A⑶部分譯碼只有部分(高位)地址線參與對存儲芯片的譯碼每個存儲單元將對應多個地址(地址重復),需要選取一個可用地址可簡化譯碼電路的設計但系統(tǒng)的部分地址空間將被浪費74⑶部分譯碼只有部分(高位)地址線參與對存儲芯片的譯碼74部分譯碼示例138A17

A16A11~A0A14

A13A12(4)(3)(2)(1)2732273227322732CBAE3E2E1IO/MCECECECEY0Y1Y2Y3A19~

A15A14~

A12A11~A0一個可用地址1234××10×××10×××10×××10×000001010011全0~全1全0~全1全0~全1全0~全120000H~20FFFH21000H~21FFFH22000H~22FFFH23000H~23FFFH75部分譯碼示例138A17A11~A0A14(4)(3)(⑷線選譯碼只用少數(shù)幾根高位地址線進行芯片的譯碼,且每根負責選中一個芯片(組)雖構(gòu)成簡單,但地址空間嚴重浪費必然會出現(xiàn)地址重復一個存儲地址會對應多個存儲單元多個存儲單元共用的存儲地址不應使用76⑷線選譯碼只用少數(shù)幾根高位地址線進行芯片的譯碼,且每根負責線選譯碼示例A14A12~A0A13(1)2764(2)2764

CECEA19~

A15A14A13A12~A0一個可用地址12××××××××××1001全0~全1全0~全104000H~05FFFH02000H~03FFFH注意:

A14A13=00的情況不能出現(xiàn)00000H~01FFFH的地址不可使用77線選譯碼示例A14A12~A0A13(1)2764(2)27CPU與存儲器典型連接1.設計地址譯碼電路步驟:(1)確定(擴展)地址線數(shù)(2)確定地址分配(3)畫地址分配圖和位圖(4)畫出地址譯碼電路圖并連接

實用中,應盡可能選擇大容量片,以簡化電路和減少板卡面積。78CPU與存儲器典型連接1.設計地址譯碼電路步驟:2、存儲器芯片的擴展存儲器芯片擴展的方法有以下兩種:1.存儲器芯片的位擴充適用場合:存儲器芯片的容量滿足存儲器系統(tǒng)的要求,但其字長小于存儲器系統(tǒng)的要求。例1用1K×4的2114芯片構(gòu)成lK×8的存儲器系統(tǒng)。分析:

由于每個芯片的容量為1K,故滿足存儲器系統(tǒng)的容量要求。但由于每個芯片只能提供4位數(shù)據(jù),故需用2片這樣的芯片,它們分別提供4位數(shù)據(jù)至系統(tǒng)的數(shù)據(jù)總線,以滿足存儲器系統(tǒng)的字長要求。792、存儲器芯片的擴展79設計要點:l

將每個芯片的10位地址線按引腳名稱一一并聯(lián),按次序逐根接至系統(tǒng)地址總線的低10位。l

數(shù)據(jù)線則按芯片編號連接,1號芯片的4位數(shù)據(jù)線依次接至系統(tǒng)數(shù)據(jù)總線的D0-D3,2號芯片的4位數(shù)據(jù)線依次接至系統(tǒng)數(shù)據(jù)總線的D4-D7。l

兩個芯片的端并在一起后接至系統(tǒng)控制總線的存儲器寫信號(如CPU為8086/8088,也可由和/M或IO/的組合來承擔)。l

引腳也分別并聯(lián)后接至地址譯碼器的輸出,而地址譯碼器的輸入則由系統(tǒng)地址總線的高位來承擔。80設計要點:80具體連線見圖

當存儲器工作時,系統(tǒng)根據(jù)高位地址的譯碼同時選中兩個芯片,而地址碼的低位也同時到達每一個芯片,從而選中它們的同一個單元。在讀/寫信號的作用下,兩個芯片的數(shù)據(jù)同時讀出,送上系統(tǒng)數(shù)據(jù)總線,產(chǎn)生一個字節(jié)的輸出,或者同時將來自數(shù)據(jù)總線上的字節(jié)數(shù)據(jù)寫入存儲器。81具體連線見圖81根據(jù)硬件連線圖,我們還可以進一步分析出該存儲器的地址分配范圍如下:(假設只考慮16位地址)地址碼芯片的地址范圍A15...A12A11A10A9...A0××00000000H::::××001103FFH×表示可以任選值,在這里我們均選0。這種擴展存儲器的方法就稱為位擴展,它可以適用于多種芯片等。82根據(jù)硬件連線圖,我們還可以進一步分析出該存儲器的地址分配范圍例2、用1K×1(8102)的芯片構(gòu)成lK×8的存儲器系統(tǒng)。83例2、用1K×1(8102)的芯片構(gòu)成lK×8的存儲器系統(tǒng)。2.存儲器芯片的字擴充適用場合:存儲器芯片的字長符合存儲器系統(tǒng)的要求,但其容量太小。例3用2K×8的2716A存儲器芯片組成8K×8的存儲器系統(tǒng)。分析:由于每個芯片的字長為8位,故滿足存儲器系統(tǒng)的字長要求。但由于每個芯片只能提供2K個存儲單元,故需用4片這樣的芯片,以滿足存儲器系統(tǒng)的容量要求。設計要點:同位擴充方式相似。l

先將每個芯片的11位地址線按引腳名稱一一并聯(lián),然后按次序逐根接至系統(tǒng)地址總線的低11位。l

將每個芯片的8位數(shù)據(jù)線依次接至系統(tǒng)數(shù)據(jù)總線的D0-D7。842.存儲器芯片的字擴充84l

四個芯片的端并在一起后接至系統(tǒng)控制總線的存儲器讀信號(這樣連接的原因同位擴充方式),l

它們的引腳分別接至地址譯碼器的不同輸出,地址譯碼器的輸入則由系統(tǒng)地址總線的高位來承擔。連線見圖85l

四個芯片的端并在一起后接至系統(tǒng)控制總同樣,根據(jù)硬件連線圖,我們可以進一步分析出該存儲器的地址分配范圍如下表:(假設只考慮16位地址)地址碼芯片的地址范圍對應芯片編號A15...A13A12A11A10A9...A0××000000000H::2716-1××0011107FFH××010000800H::2716-2××011110FFFH××100001000H::2716-3××1011117FFH××110001800H::2716-4

××111111FFFH×表示可以任選值,在這里我們均選0。86同樣,根據(jù)硬件連線圖,我們可以進一步分析出該存儲器當存儲器工作時,根據(jù)高位地址的不同,系統(tǒng)通過譯碼器分別選中不同的芯片,低位地址碼則同時到達每一個芯片,選中它們的相應單元。在讀信號的作用下,選中芯片的數(shù)據(jù)被讀出,送上系統(tǒng)數(shù)據(jù)總線,產(chǎn)生一個字節(jié)的輸出。這種擴展存儲器的方法就稱為字擴展,它同樣可以適用于多種芯片,如可以用8片27128(16k×8)組成一個128K×8的存儲器等。3.同時進行位擴充與字擴充

適用場合:存儲器芯片的字長和容量均不符合存儲器系統(tǒng)的要求,這時就需要用多片這樣的芯片同時進行位擴充和字擴充,以滿足系統(tǒng)的要求。

87當存儲器工作時,根據(jù)高位地址的不同,系統(tǒng)通過譯例4用1K×4的2114芯片組成2K×8的存儲器系統(tǒng)。分析:由于芯片的字長為4位,因此首先需用采用位擴充的方法,用兩片芯片組成1K×8的存儲器。再采用字擴充的方法來擴充容量,使用兩組經(jīng)過上述位擴充的芯片組來完成。設計要點:每個芯片的10根地址信號引腳應接至系統(tǒng)地址總線的低10位,每組兩個芯片的4位數(shù)據(jù)線分別接至系統(tǒng)數(shù)據(jù)總線的高/低四位。地址碼的A10、A11經(jīng)譯碼后的輸出,分別作為兩組芯片的片選信號,每個芯片的控制端直接接到CPU的讀/寫控制端上,以實現(xiàn)對存儲器的讀/寫控制。88例4用1K×4的2114芯片組成2K×8的存儲器系統(tǒng)。88硬件連線如圖89硬件連線如圖89

當存儲器工作時,根據(jù)高位地址的不同,系統(tǒng)通過譯碼器分別選中不同的芯片組,低位地址碼則同時到達每一個芯片組,選中它們的相應單元。在讀/寫信號的作用下,選中芯片組的數(shù)據(jù)被讀出,送上系統(tǒng)數(shù)據(jù)總線,產(chǎn)生一個字節(jié)的輸出,或者將來自數(shù)據(jù)總線上的字節(jié)數(shù)據(jù)寫入芯片組。同樣,根據(jù)硬件連線圖,我們也可以進一步分析出該存儲器的地址分配范圍如下:(假設只考慮16位地址)地址碼芯片組的地址范圍對應芯片組編號A15...A13A12A11A10A9...A0×××00000000H::2114-1×××001103FFH×××01000400H::2114-2×××011107FFH×表示可以任選值,在這里我們均選0。90當存儲器工作時,根據(jù)高位地址的不同,系統(tǒng)通過譯思考:從以上地址分析可知,此存儲器的地址范圍是0000H-07FFH。如果系統(tǒng)規(guī)定存儲器的地址范圍從0800H開始,并要連續(xù)存放,對以上硬件連線圖該如何改動呢?

由于低位地址仍從0開始,因此低位地址仍直接接至芯片組。于是,要改動的是譯碼器和高位地址的連接。我們可以將兩個芯片組的片選輸入端分別接至譯碼器的Y2和Y3輸出端,即當A11、A10為10時,選中2114-1,則該芯片組的地址范圍為

0800H-0BFFH,而當A11、A10為11時,選中2114-2,則該芯片組的地址范圍為0C00H-0FFFH。同時,保證高位地址為0(即A15-A12為0)。這樣,此存儲器的地址范圍就是0800H-0FFFH了。(具體連線自己考慮)91思考:從以上地址分析可知,此存儲器的地址范圍是0000H-0

例5一個存儲器系統(tǒng)包括2KRAM和8KROM,分別用1K×4的2114芯片和2K×8的2716芯片組成。要求ROM的地址從1000H開始,RAM的地址從3000H開始。完成硬件連線及相應的地址分配表。

分析:該存儲器的設計可以參考本節(jié)的例3和例4。所不同的是,要根據(jù)題目的要求,按規(guī)定的地址范圍,設計各芯片或芯片組片選信號的連接方式。整個存儲器的硬件連線如圖所示。92例5一個存儲器系統(tǒng)包括2KRAM和8KROM,分根據(jù)硬件連線圖,我們可以分析出該存儲器的地址分配范圍如下。(假設只考慮16位地址)93根據(jù)硬件連線圖,我們可以分析出該存儲器的地址分配范圍如下地址碼芯片的地址范圍對應芯片編號A15A14A13A12A11A10A9...A0000100001000H::2716-10001011117FFH000110001800H::2716-2000111111FFFH001000002000H::2716-30010011127FFH001010002800H::2716-4001011112FFFH

94地址碼地址碼芯片的地址范圍對應芯片編號A15A14A13A12A11A10A9...A0001100003000H::2114-10011001133FFH001110003800H::2114-2001110113BFFH

95地址碼芯片的地址4.4高速緩存Cache及其工作原理

在慢速的DRAM和快速CPU之間插入速度較快、容量較小的SRAM,起到緩沖作用,又不使成本上升過高。

●原因:程序訪問的局部性。對局部范圍的存儲器地址頻繁訪問,而對此范圍以外的地址則訪問甚少的現(xiàn)象,就稱為程序訪問的局部性。加之循環(huán)程序段和子程序段要重復執(zhí)行多次?!穹椒ǎ翰粩嗟貙⑴c當前指令集相關聯(lián)的一個不太大的后繼指令集從內(nèi)存讀到Cache,然后再與CPU高速傳送,從而達到速度匹配。Cache的工作原理964.4高速緩存Cache及其工作原理在慢速Cache的工作原理

●操作:CPU對數(shù)據(jù)請求時,通常先訪問Cache;不命中再訪問存儲器,獲取的同時,也把它拷進Cache。

●命中率:

Cache空間與主存空間保持適當比例的映射關系,命中率還會較高的。CPU訪問Cache和內(nèi)存關系圖97Cache的工作原理●操作:CPU對數(shù)據(jù)請求時,通Cache的組織方式地址映像:CPU把內(nèi)存數(shù)據(jù)復制到Cache時,將內(nèi)存地址經(jīng)某種函數(shù)處理后,寫入Cache標志字段的過程。

地址變換:在程序執(zhí)行時,把主存地址變換為訪問Cache地址的過程。Cache與內(nèi)存的三種映像關系1.全相聯(lián)映像方式

要將主存的全部地址寫入Cache的標志字段。內(nèi)存的一個區(qū)塊可以映像到Cache的任何一個地方。98Cache的組織方式地址映像:CPU把內(nèi)存數(shù)據(jù)復制1.全相聯(lián)映像方式全相聯(lián)映像規(guī)則圖聯(lián)映像地址變換過程比較:主存的整個地址與Cache中的每一個單元的標志字段比較。優(yōu)點:沖突概率最低,Cache利用率最高。缺點:全比較而使查表速度難以提高,且控制線路復雜,成本太高。適宜小容量Cache。991.全相聯(lián)映像方式全相聯(lián)映像規(guī)則圖2.直接映像方式

內(nèi)存中每一塊只能一一對應到Cache的(唯一的)相應位置上。僅將主存的區(qū)段號寫入Cache的標志字段。比較:僅主存區(qū)段號=標志字段內(nèi)容?訪問:主存區(qū)段內(nèi)偏移地址去訪問Cache一個單元。唯一對應映像關系1002.直接映像方式內(nèi)存中每一塊只能一一對應到Ca直接映像優(yōu)點:硬件控制電路簡單,只需容量較少的按地址訪問的區(qū)號標志表存儲器,且訪問Cache與訪問區(qū)號表、比較區(qū)號表的操作同時進行。直接映像缺點:最致命Cache塊沖突率高。只要兩個或以上的經(jīng)常使用的塊恰好被映像到Cache同一個塊位置上時,就會使Cache的命中率急劇下降。2.直接映像方式101直接映像優(yōu)點:硬件控制電路簡單,只需容量較少的按地址訪問的區(qū)3.組相聯(lián)映像方式●內(nèi)存的一個區(qū)塊可以映像到Cache幾個特定的區(qū)塊中。

原理:將Cache空間和內(nèi)存地址空間都分成組,各組之間是直接映像,但組內(nèi)各塊則是全相聯(lián)映像。

當分組中每一組塊數(shù)為“1”時,就成了直接映像;當每一組塊數(shù)和Cache塊數(shù)相同時就成了全相聯(lián)映像。

優(yōu)點:是命中率比直接映像方式稍高。

缺點:是控制器比較復雜。1023.組相聯(lián)映像方式●內(nèi)存的一個區(qū)塊可以映像到CacCache的數(shù)據(jù)更新方法★問題提出:Cache與內(nèi)存數(shù)據(jù)不一致。

數(shù)據(jù)傳送時,Cache更新,內(nèi)存未變;DMA傳送時,內(nèi)存更新,Cache未變。

1.Cache已更新,內(nèi)存未更新

(1)通寫方式

CPU寫Cache時,Cache控制器立即寫對應內(nèi)存。

103Cache的數(shù)據(jù)更新方法★問題提出:Cache與內(nèi)存Cache的數(shù)據(jù)更新方法★問題提出:Cache與內(nèi)存數(shù)據(jù)不一致。

數(shù)據(jù)傳送時,Cache更新,內(nèi)存未變;DMA傳送時,內(nèi)存更新,Cache未變。

1.Cache已更新,內(nèi)存未更新

(1)通寫方式(2)緩沖通寫方式Cache和內(nèi)存之間增加一個緩沖器。要改寫的數(shù)據(jù)先存在緩沖器中,在CPU進入下一個操作時,緩沖器的內(nèi)容才被寫入內(nèi)存。

104Cache的數(shù)據(jù)更新方法★問題提出:Cache與內(nèi)存數(shù)據(jù)Cache的數(shù)據(jù)更新方法★問題提出:Cache與內(nèi)存數(shù)據(jù)不一致。

數(shù)據(jù)傳送時,Cache更新,內(nèi)存未變;DMA傳送時,內(nèi)存更新,Cache未變。

1.Cache已更新,內(nèi)存未更新

(1)通寫方式(2)緩沖通寫方式(3)回寫方式Cache每個區(qū)塊都設置一個更新標記位,CPU對Cache中某一塊寫入后,更新標志位置“1”。

當Cache中區(qū)塊要被新的內(nèi)存區(qū)塊替換時,如更新位=1時,則Cache控制器先把Cache現(xiàn)有的內(nèi)容寫入內(nèi)存相應位置,并把更新標志清“0”,再做替換。105Cache的數(shù)據(jù)更新方法★問題提出:Cache與內(nèi)存數(shù)據(jù)4.3虛擬存儲器4.3.1頁式虛擬存儲器4.3.2段式虛擬存儲器4.3.3段頁式虛擬存儲器返回1064.3虛擬存儲器返回1064.3.1頁式虛擬存儲器將虛擬空間與主存空間都劃分為若干大小相同的頁,虛存的頁稱為虛頁,主存的頁稱為實頁。用戶編程時也將程序的邏輯空間分為若干(虛)頁。相應的虛地址可分為兩部分:高位段是虛頁號,低位段是頁內(nèi)地址。實頁號頁內(nèi)地址虛頁號頁內(nèi)地址頁表起始地址頁表基址寄存器頁表地址虛地址實地址頁表圖6-16頁式虛擬存儲器地址轉(zhuǎn)換返回1074.3.1頁式虛擬存儲器將虛擬空間與主存空間都劃分為若干大4.3.2段式虛擬存儲器將用戶程序按其邏輯結(jié)構(gòu)(如模塊劃分)分為若干段,各段大小可變。

相應的段式虛擬存儲器也隨程序的需要動態(tài)地分段,并將各段的起始地址與段的長度寫入段表之中。編程使用的虛地址就包含兩部分:高位是段號,低位是段內(nèi)地址。主存地址段號段內(nèi)地址段表起始地址段表基址寄存器段表地址虛地址實地址段表圖6-17段式虛擬存儲器地址轉(zhuǎn)換返回1084.3.2段式虛擬存儲器將用戶程序按其邏輯結(jié)構(gòu)(如模塊劃分4.3.3段頁式虛擬存儲器段頁式虛擬存儲管理方式采用了用分段來組織其邏輯地址空間,用分頁來管理物理存儲空間結(jié)構(gòu)的綜合的存儲管理策略。這種虛擬存儲器方式是把主存空間按頁劃分,程序按其邏輯結(jié)構(gòu)分段,每段再分為若干大小與實頁相同的頁。相應地建立段表與頁表,分級查表實現(xiàn)虛實地址的轉(zhuǎn)換。以頁為單位調(diào)進或調(diào)出主存,按段共享與保護程序及數(shù)據(jù)。圖6-18段頁式虛擬存儲器地址轉(zhuǎn)換實地址實頁號頁內(nèi)地址段表起始地址a段表起始地址n段表基址寄存器組段表n虛地址基號段號段內(nèi)頁號頁內(nèi)地址頁表m返回1094.3.3段頁式虛擬存儲器段頁式虛擬存儲管理方式采用了用分本章結(jié)束,謝謝合作!110本章結(jié)束,謝謝合作!110第四章存儲器和高速緩存技術§4.1存儲器和存儲器件§4.2存儲器的連接§4.3虛擬存儲器§4.4高檔微機中的高速緩存技術111第四章存儲器和高速緩存技術§4.1存儲器和存儲器件1§4.1存儲器和存儲器件除采用磁、光原理的輔存外,其它存儲器主要都是采用半導體存儲器本章介紹采用半導體存儲器及其組成主存的方法CPUCACHE主存(內(nèi)存)輔存(外存)112§4.1存儲器和存儲器件除采用磁、光原理的輔存外,其它存儲器存儲器的邏輯結(jié)構(gòu)示意圖113存儲器的邏輯結(jié)構(gòu)示意圖3高低小大快慢輔存寄存器緩存主存磁盤光盤磁帶光盤磁帶速度容量價格位/存儲器三個主要特性的關系存儲器的層次結(jié)構(gòu)CPUCPU主機114高低小大快慢輔存寄存器緩存主存磁盤光盤磁帶光盤磁帶速度容量價1、主存和高速緩存之間的關系Cache引入:為解決cpu和主存之間的速度差距,提高整機的運算速度,在cpu和主存之間插入的由高速電子器件組成的容量不大,但速度很高的存儲器作為緩沖區(qū)。Cache特點存取速度最快,容量小,存儲控制和管理由硬件實現(xiàn)。1151、主存和高速緩存之間的關系Cache引入:5Cache工作原理——程序訪問的局部性在較短時間內(nèi)由程序產(chǎn)生的地址往往集中在存儲器邏輯地址空間的很小范圍內(nèi)。(指令分布的連續(xù)性和循環(huán)程序及子程序的多次執(zhí)行)這種對局部的存儲器地址頻繁訪問,而對此范圍以外的地址范圍甚少的現(xiàn)象就成為程序訪問的局部性。數(shù)據(jù)分布不如指令明顯,但對數(shù)組的訪問及工作單元的選擇可使存儲地址相對集中。116Cache工作原理——程序訪問的局部性在較短時間內(nèi)由程序產(chǎn)生2、主存與輔存之間的關系主存:(半導體材料組成)優(yōu):速度較快缺:容量居中,單位成本高,價格居中。輔存:(光盤,磁盤)優(yōu):容量大,信息長久保存,單位成本低.缺:存取速度慢CPU正在運行的程序和數(shù)據(jù)存放在主存暫時不用的程序和數(shù)據(jù)存放在輔存輔存只與主存進行數(shù)據(jù)交換1172、主存與輔存之間的關系主存:(半導體材料組成)7緩存CPU主存輔存緩存主存層次和主存輔存層次緩存主存輔存主存虛擬存儲器10ns20ns200nsms虛地址邏輯地址實地址物理地址主存儲器(速度)(容量)118緩存CPU主存輔存緩存主存層次和主存輔存層次緩虛擬存儲器(VirtualMemory)虛擬存儲器指的是為了擴大容量,把輔存當作主存使用,它將主存和輔存的地址空間統(tǒng)一編址,形成一個龐大的存儲空間。程序運行時,用戶可以訪問輔存中的信息,可以使用與訪問主存同樣的尋址方式,所需要的程序和數(shù)據(jù)由輔助軟件和硬件自動調(diào)入主存,這個擴大了的存儲空間,就稱為虛擬存儲器。之所以稱為虛擬存儲器,是因為這樣的主存并不是真實存在的。

在一個虛擬存儲系統(tǒng)中,展現(xiàn)在CPU面前的存儲器容量并不是實存容量加上輔存容量,而是一個比實存大得多的虛擬空間,它與實存和輔助空間的容量無關,取決于機器所能提供的虛存地址碼的長度。

可分為頁式虛擬存儲器、段式虛擬存儲器和段頁式虛擬存儲器119虛擬存儲器(VirtualMemory)虛擬存儲器指的選擇存儲器件的考慮因素(1)易失性(2)只讀性(3)位容量(4)功耗(5)速度(6)價格(7)可靠性120選擇存儲器件的考慮因素(1)易失性(2§4.1主存儲器4.1.1半導體存儲器的分類按制造工藝雙極型:速度快、集成度低、功耗大MOS型:速度慢、集成度高、功耗低按使用屬性隨機存取存儲器RAM:可讀可寫、斷電丟失只讀存儲器ROM:正常

溫馨提示

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

評論

0/150

提交評論