計算機組成原理第三章-多層次的存貯器_第1頁
計算機組成原理第三章-多層次的存貯器_第2頁
計算機組成原理第三章-多層次的存貯器_第3頁
計算機組成原理第三章-多層次的存貯器_第4頁
計算機組成原理第三章-多層次的存貯器_第5頁
已閱讀5頁,還剩157頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第三章多層次的存儲器3.1存儲器概述3.2SRAM存儲器3.3DRAM存儲器3.4只讀存儲器和閃速存儲器3.5并行存儲器3.6Cache存儲器3.7虛擬存儲器3.8奔騰系列機的虛存組織13.1存儲器概述一個存儲元,可以存放一位二進制代碼。這個二進制代碼位是存儲器中最小的存儲單位——存儲位元若干個存儲位元組成一個存儲單元。許多存儲單元組成一個存儲器3.1存儲器概述3一、存儲器分類1.按存儲介質分類(1)半導體存儲器(2)磁表面存儲器(3)磁芯存儲器(4)光盤存儲器易失TTL、MOS磁頭、載磁體硬磁材料、環狀元件激光、磁光材料非易失4(1)存取時間與物理地址無關(隨機訪問)

順序存取存儲器磁帶2.按存取方式分類(2)存取時間與物理地址有關(串行訪問)

隨機存儲器

只讀存儲器

直接存取存儲器磁盤在程序的執行過程中可讀可寫在程序的執行過程中只讀5磁盤、磁帶、光盤高速緩沖存儲器(Cache)FlashMemory存儲器主存儲器輔助存儲器MROMPROMEPROMEEPROMRAMROM靜態RAM動態RAM3.按在計算機中的作用分類3.1存儲器概述二、存儲器分級結構

1、目前存儲器的特點是:速度快的存儲器價格貴,容量小;價格低的存儲器速度慢,容量大。在計算機存儲器體系結構設計時,我們希望存儲器系統的性能高、價格低,那么在存儲器系統設計時,應當在存儲器容量,速度和價格方面的因素作折中考慮,建立了分層次的存儲器體系結構如下圖所示。63.1.2存儲器分級結構2、分級結構高速緩沖存儲器簡稱cache,它是計算機系統中的一個高速小容量半導體存儲器。主存儲器簡稱主存,是計算機系統的主要存儲器,用來存放計算機運行期間的大量程序和數據。外存儲器簡稱外存,它是大容量輔助存儲器。73.1.2存儲器分級結構分層存儲器系統之間的連接關系83.1.3主存儲器的技術指標字存儲單元:存放一個機器字的存儲單元,相應的單元地址叫字地址。字節存儲單元:存放一個字節的單元,相應的地址稱為字節地址。存儲容量:指一個存儲器中可以容納的存儲單元總數。存儲容量越大,能存儲的信息就越多。910存取時間又稱存儲器訪問時間:指一次讀操作命令發出到該操作完成,將數據讀出到數據總線上所經歷的時間。通常取寫操作時間等于讀操作時間,故稱為存儲器存取時間。存儲周期:指連續啟動兩次讀操作所需間隔的最小時間。通常,存儲周期略大于存取時間,其時間單位為ns。存儲器帶寬:單位時間里存儲器所存取的信息量,通常以位/秒或字節/秒做度量單位。3.2SRAM存儲器主存(內部存儲器)是半導體存儲器。根據信息存儲的機理不同可以分為兩類:靜態讀寫存儲器(SRAM):存取速度快,存儲容量不如DRAM大。動態讀寫存儲器(DRAM):容量大,存取速度慢一些。11121、主存的基本組成存儲體驅動器譯碼器MAR控制電路讀寫電路MDR地址總線數據總線讀寫……………132、主存和CPU的聯系MDRMARCPU主存讀數據總線地址總線寫14芯片容量3、半導體存儲芯片的基本結構譯碼驅動存儲矩陣讀寫電路1K×4位16K×1位8K×8位片選線讀/寫控制線地址線…數據線…地址線(單向)數據線(雙向)10414113815二、半導體存儲芯片簡介1.半導體存儲芯片的基本結構譯碼驅動存儲矩陣讀寫電路片選線讀/寫控制線地址線…數據線…片選線讀/寫控制線(低電平寫高電平讀)(允許讀)CSCE(允許寫)WEOER/W16存儲芯片片選線的作用用16K×1位的存儲芯片組成64K×8位的存儲器

32片當地址為65535時,此8片的片選有效8片16K×1位8片16K×1位8片16K×1位8片16K×1位170,015,015,70,7

讀/寫控制電路

地址譯碼器

字線015……16×8矩陣………07D07D

位線

讀/寫選通A3A2A1A0……2.半導體存儲芯片的譯碼驅動方式(1)單譯碼方式00000,00,7…0…07…D07D

讀/寫選通

讀/寫控制電路

18N位地址,尋址2n個存儲單元2×2n/2根譯碼線0n0102031012131nn0n1n2nnY地址譯碼X地址譯碼(2)雙譯碼方式3.2SRAM存儲器一、基本的靜態存儲元陣列1、存儲位元2、三組信號線地址線數據線控制線193.2SRAM存儲器二、基本的SRAM邏輯結構SRAM芯大多采用雙譯碼方式,以便組織更大的存儲容量。采用了二級譯碼:將地址分成x向、y向兩部分如圖所示。203.2SRAM存儲器讀與寫的互鎖邏輯 控制信號中CS是片選信號,CS有效時(低電平),門G1、G2均被打開。OE為讀出使能信號,OE有效時(低電平),門G2開啟,當寫命令WE=1時(高電平),門G1關閉,存儲器進行讀操作。寫操作時,WE=0,門G1開啟,門G2關閉。注意,門G1和G2是互鎖的,一個開啟時另一個必定關閉,這樣保證了讀時不寫,寫時不讀。212114引腳圖(1Kx4)地址線數據線讀寫控制線片選線電源線地線22A6A5A4A3A0A1A2CSGND123456789181716151413121110VCCA7A8A9I/O1I/O2I/O3I/O4WE2114A63.2SRAM存儲器三、存儲器的讀寫周期讀周期讀出時間taq讀周期時間trc寫周期寫周期時間twc寫時間twd存取周期讀周期時間trc=寫時間twd2324例1:圖3.5(a)是SRA的寫入時序圖。其中R/W是讀/寫命令控制線,當R/W線為低電平時,存儲器按給定地址把數據線上的數據寫入存儲器。請指出圖3.5(a)寫入時序中的錯誤,并畫出正確的寫入時序圖。25解:點擊上圖3.3DRAM存儲器3.3.1DRAM存儲位元的記憶原理

SRAM存儲器的存儲位元是一個觸發器,它具有兩個穩定的狀態。而DRAM存儲器的存儲位元是由一個MOS晶體管和電容器組成的記憶電路。26單管DRAM存儲器原理27T1X地址譯碼線C電容用于存儲電荷,有電荷代表1,否則代表0I/OY地址譯碼線T2DRAM刷新相關概念DRAM靠電容電荷存儲信息。電容電荷容易泄漏,需定期補充電荷以保持信息不變,補充電荷的過程稱為刷新過程(讀出是破壞性的)泄漏完畢之前如不能補充電荷,存儲信息發生丟失,信息存儲到信息泄漏完畢之間必須完成刷新過程,稱為最大刷新周期,從上一次對存儲器刷新結束到下一次對整個存儲器刷新結束所需要的時間稱為刷新周期,刷新一塊芯片所需的刷新周期數由芯片矩陣的行數決定。283.3DRAM存儲器291、MOS管做為開關使用,而所存儲的信息1或0則是由電容器上的電荷量來體現——當電容器充滿電荷時,代表存儲了1,當電容器放電沒有電荷時,代表存儲了0。2、圖(a)表示寫1到存儲位元。此時輸出緩沖器關閉、刷新緩沖器關閉,輸入緩沖器打開(R/W為低),輸入數據DIN=1送到存儲元位線上,而行選線為高,打開MOS管,于是位線上的高電平給電容器充電,表示存儲了1。3、圖(b)表示寫0到存儲位元。此時輸出緩沖器和刷新緩沖器關閉,輸入緩沖器打開,輸入數據DIN=0送到存儲元位線上;行選線為高,打開MOS管,于是電容上的電荷通過MOS管和位線放電,表示存儲了0。4、圖(c)表示從存儲位元讀出1。輸入緩沖器和刷新緩沖器關閉,輸出緩沖器/讀放打開(R/W為高)。行選線為高,打開MOS管,電容上所存儲的1送到位線上,通過輸出緩沖器/讀出放大器發送到DOUT,即DOUT=1。5、圖(d)表示(c)讀出1后存儲位元重寫1。由于(c)中讀出1是破壞性讀出,必須恢復存儲位元中原存的1。此時輸入緩沖器關閉,刷新緩沖器打開,輸出緩沖器/讀放打開,DOUT=1經刷新緩沖器送到位線上,再經MOS管寫到電容上。注意,輸入緩沖器與輸出緩沖器總是互鎖的。這是因為讀操作和寫操作是互斥的,不會同時發生。DRAM刷新DRAM靠電容電荷存儲信息。電容電荷容易泄漏,需定期補充電荷以保持信息不變,補充電荷的過程稱為刷新過程(讀出是破壞性的)泄漏完畢之前如不能補充電荷,存儲信息發生丟失,信息存儲到信息泄漏完畢之間必須完成刷新過程,稱為最大刷新周期,從上一次對存儲器刷新結束到下一次對整個存儲器刷新結束所需要的時間稱為刷新周期,刷新一塊芯片所需的刷新周期數由芯片矩陣的行數決定。303.3.2DRAM芯片的邏輯結構下面我們通過一個例子來看一下動態存儲器的邏輯結構如圖。圖(a)示出1M×4位DRAM芯片的管腳圖,其中有兩個電源腳、兩個地線腳,為了對稱,還有一個空腳(NC)。圖(b)是該芯片的邏輯結構圖。3132與SRAM不同的是:(1)增加了行地址鎖存器和列地址鎖存器。由于DRAM存儲器容量很大,地址線寬度相應要增加,這勢必增加芯片地址線的管腳數目。為避免這種情況,采取的辦法是分時傳送地址碼。若地址總線寬度為10位,先傳送地址碼A0~A9,由行選通信號RAS打入到行地址鎖存器;然后傳送地址碼A10~A19,由列選通信號CRS打入到列地址鎖存器。芯片內部兩部分合起來,地址線寬度達20位,存儲容量為1M×4位。33與SRAM不同的是:(2)增加了刷新計數器和相應的控制電路。DRAM讀出后必須刷新,而未讀寫的存儲元也要定期刷新,而且要按行刷新,所以刷新計數器的長度等于行地址鎖存器。刷新操作與讀/寫操作是交替進行的,所以通過2選1多路開關來提供刷新行地址或正常讀/寫的行地址。3.3.3讀/寫周期、刷新周期讀周期、寫周期的定義是從行選通信號RAS下降沿開始,到下一個RAS信號的下降沿為止的時間,也就是連續兩個讀周期的時間間隔。通常為控制方便,讀周期和寫周期時間相等。343.3DRAM存儲器刷新周期:DRAM存儲位元是基于電容器上的電荷量存儲,這個電荷量隨著時間和溫度而減少,因此必須定期地刷新,以保持它們原來記憶的正確信息。刷新操作有兩種刷新方式:集中式刷新分散式刷新異步式刷新35集中刷新方式36RW刷新2刷新1RW128…RW…RW刷新間隔2ms讀寫/維持刷新過程/死區500ns500ns2ms內集中安排所有刷新周期。用在實時要求不高的場合。分散刷新方式37RW刷新2刷新1RW128…RW…RW刷新間隔2ms500ns500ns存儲周期各刷新周期分散安排在存取周期中。用在低速系統中異步刷新方式38RW刷新1…RWRW15.5微秒500nsRW128…RW…各刷新周期分散安排在2ms內每隔一段時間刷新一行。每隔15.5微秒提一次刷新請求,刷新一行;2毫秒內刷新完所有行用在大多數計算機中。2ms128行≈15.5微秒15.5微秒500ns3.3DRAM存儲器3.3.4、存儲器容量的擴充 給定的芯片字長位數較短,不滿足設計要求的存儲器字長,此時需要用多片給定芯片擴展字長位數。三組信號線中,地址線和控制線公用而數據線單獨分開連接。

d=設計要求的存儲器容量/選擇芯片存儲器容量

[例2]利用1M×4位的SRAM芯片,設計一個存儲容量為1M×8位的SRAM存儲器。解:所需芯片數量=(1M×8)/(1M×4)=2片393.3DRAM存儲器40

例:存貯器的位擴展。用2114存儲芯片組成1K×8位的存儲器1、位數擴展41

用211

4存儲芯片組成1K

×

8位的存儲器2片10根地址線8根數據線DD……D0479AA0???21142114CSWE2、字存儲容量擴展給定的芯片存儲容量較小(字數少),不滿足設計要求的總存儲容量,此時需要用多片給定芯片來擴展字數。三組信號組中給定芯片的地址總線和數據總線公用,控制總線中R/W公用,使能端EN不能公用,它由地址總線的高位段譯碼來決定片選信號。所需芯片數仍由(d=設計要求的存儲器容量/選擇芯片存儲器容量)決定。[例3]利用1M×8位的DRAM芯片設計2M×8位的DRAM存儲器解:所需芯片數d=(2M×8)/(1M×8)=2(片)42舉例:

用1K

×

8位存儲芯片組成2K

×

8位的存儲器43

用1K

×

8位存儲芯片組成2K

×

8位的存儲器11根地址線8根數據線2片1K×8位1K×8位D7D0???????????????WEA1A0???A9CS0A10

1CS1主存儲器與CPU的連接44D0,D1WEACS2K×2D0D1A10-0MREQ#R/W#CPUD1~D0舉例:2Kx2->2Kx8?字長(位)擴展(DBUS)

2Kx2->2Kx845A10-0D1D0D7D6A10-0MREQ#R/W#CPUD7~D0WEACS2K×2DWEACS2K×2DWEACS2K×2DWEACS2K×2DD5D4D3D2字數(字)擴展(ABUS)

8Kx8->32Kx846A14-13A12-02-4譯碼ramsel4ramsel2ramsel1ramsel0OE#D7~D0D7~D0D7~D0D7~D0WEACS8K×8DWEACS8K×8DWEACS8K×8DWEACS8K×8DA12-0MREQ#R/W#CPUD7~D0綜合擴展

8Kx8->32Kx3247112-4譯碼100100A14-13A12-0A12-0OE#MREQ#R/W#CPUD31~D0D31~D0D31~D0D31~D0D31~D0WEACS8Kx84片DWEACS8Kx84片DWEACS8Kx84片DWEACS8Kx84片D各芯片地址范圍488位8K8K8K8K1234D7D6…D1D0A14A13A12A00000...00011...10100...00111...11000...01011...11100...01111...13.3DRAM存儲器3、存儲器模塊條存儲器通常以插槽用模塊條形式供應市場。這種模塊條常稱為內存條,它們是在一個條狀形的小印制電路板上,用一定數量的存儲器芯片,組成一個存儲容量固定的存儲模塊。如圖所示。內存條有30腳、72腳、100腳、144腳、168腳等多種形式。30腳內存條設計成8位數據線,存儲容量從256KB~32MB。72腳內存條設計成32位數據總線100腳以上內存條既用于32位數據總線又用于64位數據總線,存儲容量從4MB~512MB。49六、高級的DRAM結構1、FPMDRAM:快速頁模式動態存儲器,它是根據程序的局部性原理來實現的。502、CDRAM帶高速緩沖存儲器(cache)的動態存儲器,它是在通常的DRAM芯片內又集成了一個小容量的SRAM,從而使DRAM芯片的性能得到顯著改進。如圖所示出1M×4位CDRAM芯片的結構框圖,其中SRAM為512×4位。51523.3DRAM存儲器SDRAM同步型動態存儲器。計算機系統中的CPU使用的是系統時鐘,SDRAM的操作要求與系統時鐘相同步,在系統時鐘的控制下從CPU獲得地址、數據和控制信息。換句話說,它與CPU的數據交換同步于外部的系統時鐘信號,并且以CPU/存儲器總線的最高速度運行,而不需要插入等待狀態。其原理和時序關系見下一頁圖和動畫。53543.3DRAM存儲器[例4]CDRAM內存條組成實例。 一片CDRAM的容量為1M×4位,8片這樣的芯片可組成1M×32位4MB的存儲模塊,其組成如下圖所示。55563.3DRAM存儲器七、DRAM主存讀/寫的正確性校驗

DRAM通常用做主存儲器,其讀寫操作的正確性與可靠性至關重要。為此除了正常的數據位寬度,還增加了附加位,用于讀/寫操作正確性校驗。增加的附加位也要同數據位一起寫入DRAM中保存。其原理如圖所示。573.4只讀存儲器和閃速存儲器一、只讀存儲器

ROM叫做只讀存儲器。顧名思義,只讀的意思是在它工作時只能讀出,不能寫入。然而其中存儲的原始數據,必須在它工作以前寫入。只讀存儲器由于工作可靠,保密性強,在計算機系統中得到廣泛的應用。主要有兩類:掩模ROM:掩模ROM實際上是一個存儲內容固定的ROM,由生產廠家提供產品。可編程ROM:用戶后寫入內容,有些可以多次寫入。一次性編程的PROM多次編程的EPROM和E2PROM。583.4只讀存儲器和閃速存儲器1、掩模ROM掩模ROM的陣列結構和存儲元593.4只讀存儲器和閃速存儲器掩模ROM的邏輯符號和內部邏輯框圖602、可編程ROMPROM61一次編程3.4只讀存儲器和閃速存儲器3、可編程ROMEPROM叫做光擦除可編程可讀存儲器。它的存儲內容可以根據需要寫入,當需要更新時將原存儲內容抹去,再寫入新的內容。

62這種EPROM出廠時為全“1”狀態,使用者可根據需要寫“0”。EPROM允許多次重寫。抹去時,用40W紫外燈,相距2cm,照射幾分鐘即可。

EPROM63高壓寫入紫外線光照擦除編程器64紫外線擦除器653.4只讀存儲器和閃速存儲器E2PROM存儲元

EEPROM,叫做電擦除可編程只讀存儲器。其存儲元是一個具有兩個柵極的NMOS管,如圖(a)和(b)所示,G1是控制柵,它是一個浮柵,無引出線;G2是抹去柵,它有引出線。在G1柵和漏極D之間有一小面積的氧化層,其厚度極薄,可產生隧道效應。如圖(c)所示,當G2柵加20V正脈沖P1時,通過隧道效應,電子由襯底注入到G1浮柵,相當于存儲了“1”。利用此方法可將存儲器抹成全“1”狀態。663.4只讀存儲器和閃速存儲器這種存儲器在出廠時,存儲內容為全“1”狀態。使用時,可根據要求把某些存儲元寫“0”。寫“0”電路如圖(d)所示。漏極D加20V正脈沖P2,G2柵接地,浮柵上電子通過隧道返回襯底,相當于寫E2PROM讀出時的電路如圖(e)所示,這時G2柵加3V電壓,若G1柵有電子積累,T2管不能導通,相當于存“1”;若G1柵無電子積累,T2管導通,相當于存“0”。673.4只讀存儲器和閃速存儲器4、閃速存儲器

FLASH存儲器也翻譯成閃速存儲器,它是高密度非失易失性的讀/寫存儲器。高密度意味著它具有巨大比特數目的存儲容量。非易失性意味著存放的數據在沒有電源的情況下可以長期保存。總之,它既有RAM的優點,又有ROM的優點,稱得上是存儲技術劃時代的進展。68閃速存儲器FlashMemory在不加電的情況下可長期保持存儲的信息。本質上屬于EEPROM,既有ROM的特點,又有很高的存取速度,而且易于擦除和重寫,功耗很小。存放BIOS,升級方便693.4只讀存儲器和閃速存儲器FLASH存儲元在EPROM存儲元基礎上發展起來的,由此可以看出創新與繼承的關系。如右圖所示為閃速存儲器中的存儲元,由單個MOS晶體管組成,除漏極D和源極S外,還有一個控制柵和浮空柵。703.4只讀存儲器和閃速存儲器“0”狀態:當控制柵加上足夠的正電壓時,浮空柵將儲存許多電子帶負電,這意味著浮空柵上有很多負電荷,這種情況我們定義存儲元處于0狀態。“1”狀態:如果控制柵不加正電壓,浮空柵則只有少許電子或不帶電荷,這種情況我們定義為存儲元處于1狀態。浮空柵上的電荷量決定了讀取操作時,加在柵極上的控制電壓能否開啟MOS管,并產生從漏極D到源極S的電流。713.4只讀存儲器和閃速存儲器編程操作:實際上是寫操作。所有存儲元的原始狀態均處“1”狀態,這是因為擦除操作時控制柵不加正電壓。編程操作的目的是為存儲元的浮空柵補充電子,從而使存儲元改寫成“0”狀態。如果某存儲元仍保持“1”狀態,則控制柵就不加正電壓。如圖(a)表示編程操作時存儲元寫0、寫1的情況。實際上編程時只寫0,不寫1,因為存儲元擦除后原始狀態全為1。要寫0,就是要在控制柵C上加正電壓。一旦存儲元被編程,存儲的數據可保持100年之久而無需外電源。723.4只讀存儲器和閃速存儲器讀取操作:控制柵加上正電壓。浮空柵上的負電荷量將決定是否可以開啟MOS晶體管。如果存儲元原存1,可認為浮空柵不帶負電,控制柵上的正電壓足以開啟晶體管。如果存儲元原存0,可認為浮空柵帶負電,控制柵上的正電壓不足以克服浮動柵上的負電量,晶體管不能開啟導通。當MOS晶體管開啟導通時,電源VD提供從漏極D到源極S的電流。讀出電路檢測到有電流,表示存儲元中存1,若讀出電路檢測到無電流,表示存儲元中存0,如圖(b)所示。733.4只讀存儲器和閃速存儲器擦除操作:所有的存儲元中浮空柵上的負電荷要全部洩放出去。為此晶體管源極S加上正電壓,這與編程操作正好相反,見圖(c)所示。源極S上的正電壓吸收浮空柵中的電子,從而使全部存儲元變成1狀態。743.4只讀存儲器和閃速存儲器FLASH存儲器的陣列結構FLASH存儲器的簡化陣列結構如右圖所示。在某一時間只有一條行選擇線被激活。讀操作時,假定某個存儲元原存1,那么晶體管導通,與它所在位線接通,有電流通過位線,所經過的負載上產生一個電壓降。這個電壓降送到比較器的一個輸入端,與另一端輸入的參照電壓做比較,比較器輸出一個標志為邏輯1的電平。如果某個存儲元原先存0,那么晶體管不導通,位線上沒有電流,比較器輸出端則產生一個標志為邏輯0的電平。75例4某計算機的主存地址空間中,從地址0x0000到3FFF為ROM存儲區域,從0x4000到0x5FFF為保留地址區域,暫時不用,從0x6000到0xFFFF為RAM地址區域。RAM的控制信號為CS#和WE#,CPU的地址線為A15~A0,數據線為8位的線路D7~D0,控制信號有讀寫控制R/W#和訪存請求MREQ#,要求:(1)如果ROM和RAM存儲器芯片都采用8K×1的芯片,試畫出存儲器與CPU的連接圖。(2)如果ROM存儲器芯片采用8K×8的芯片,RAM存儲器芯片采用4K×8的芯片,試畫出連接圖。(3)如果ROM存儲器芯片采用16K×8的芯片,RAM存儲器芯片采用4K×8的芯片,試畫出連接圖76解:8KB的存儲區域可以用8片存儲器芯片構成一組實現。8K×1的存儲器芯片的地址線需要13條,即A12~0。0x0000到0x3FFF為ROM存儲區域,從0x4000到0x5FFF為保留地址區域,暫時不用,從0x6000到0xFFFF為RAM地址區域。CPU訪問0~0xFFFF的地址空間需要地址線16根,為A15~A0,數據線為8位的線路D7~D07778111111111111110000000000000000000x0000~0x3FFF16K×8ROM0x4000~0x5FFF8K×8RESERVED0x6000~0xFFFF40K×8RAM11111111111110100000000000000010111111111111111100000000000001101、ROM和RAM采用8K×1的芯片79A15-13A12-0111譯碼器011001000OE#D7~D0D7~D0D7~D0D7~D0WEACS8Kx18片ROMDWEACS8Kx18片RAMDWEACS8Kx18片RAMDWEACS8Kx18片ROMDA15-0MREQ#R/W#CPUD7~D080A11-0A11-0A15-13A12-0D7~D0D7~D0D7~D0D7~D0WE

ACS8Kx81片ROMDWEACS8Kx81片ROMDWEACS4Kx81片RAMDWEACS4Kx81片RAMDWEACS4Kx81片RAMDWEACS4Kx81片RAMDA15-0A12MREQ#CPUD7~D0R/W#2、RAM采用4K×8位的芯片&&111譯碼器011001000OE#&&81A11-0A11-0A15-13A12-0D7~D0D7~D0D7~D0WEACS4Kx81片RAMDWEACS4Kx81片RAMDWEACS4Kx81片RAMDWEACS4Kx81片RAMDA15-0A12MREQ#CPUD7~D0R/W#3、ROM采用16K×8位的芯片&&&&WEACS16Kx81片ROMDA13-0111譯碼器011001000OE#≥13.5并行存儲器

由于CPU和主存儲器之間在速度上是不匹配的,這種情況便成為限制高速計算機設計的主要問題。為了提高CPU和主存之間的數據傳輸率,除了主存采用更高速的技術來縮短讀出時間外,還可以采用并行技術的存儲器。823.5并行存儲器解決途徑多個存儲器并行工作并行訪問和交叉訪問設置各種緩沖器通用寄存器采用分層的存儲系統Cache(第6節)虛擬存儲系統(第9章)833.5并行存儲器一、雙端口存儲器1、雙端口存儲器的邏輯結構雙端口存儲器由于同一個存儲器具有兩組相互獨立的讀寫控制電路而得名。由于進行并行的獨立操作,因而是一種高速工作的存儲器,在科研和工程中非常有用。84雙端口存儲器具有兩組相互獨立的讀寫控制線路的存儲器兩組讀寫控制線路可以并行操作當兩個端口地址不相同,無沖突,可以并行存取端口地址相同,發生讀寫沖突,無法并行存取85存儲體(A0-10)L(D0-15)LBUSYLR/WL(A0-10)R(D0-15)RBUSYRR/WR86雙端口存儲器IDT7133的邏輯框圖。如下圖。3.5并行存儲器2、無沖突讀寫控制當兩個端口的地址不相同時,在兩個端口上進行讀寫操作,一定不會發生沖突。當任一端口被選中驅動時,就可對整個存儲器進行存取,每一個端口都有自己的片選控制(CE)和輸出驅動控制(OE)。讀操作時,端口的OE(低電平有效)打開輸出驅動器,由存儲矩陣讀出的數據就出現在I/O線上。3、有沖突讀寫控制當兩個端口同時存取存儲器同一存儲單元時,便發生讀寫沖突。為解決此問題,特設置了BUSY標志。在這種情況下,片上的判斷邏輯可以決定對哪個端口優先進行讀寫操作,而對另一個被延遲的端口置BUSY標志(BUSY變為低電平),即暫時關閉此端口。873.5并行存儲器4、有沖突讀寫控制判斷方法(1)如果地址匹配且在CE之前有效,片上的控制邏輯在CEL和CER之間進行判斷來選擇端口(CE判斷)。(2)如果CE在地址匹配之前變低,片上的控制邏輯在左、右地址間進行判斷來選擇端口(地址有效判斷)。無論采用哪種判斷方式,延遲端口的BUSY標志都將置位而關閉此端口,而當允許存取的端口完成操作時,延遲端口BUSY標志才進行復位而打開此端口。883.5.1雙端口存儲器893.5并行存儲器二、多模塊交叉存儲器:一個由若干個模塊組成的主存儲器是線性編址的。這些地址在各模塊中如何安排,有兩種方式:一種是順序方式,一種是交叉方式

903.5并行存儲器假設有n個存儲體,每個存儲體的容量為m個存儲單元順序方式:91每個存儲體內的地址片選,存儲體選擇3.5并行存儲器1、順序方式[例]M0-M3共四個模塊,則每個模塊8個字順序方式:

M0:0—7

M1:8-15

M2:16-23

M3:24-315位地址組織如下:

XX

XXX高位選模塊,低位選塊內地址特點:某個模塊進行存取時,其他模塊不工作,優點是某一模塊出現故障時,其他模塊可以照常工作,通過增添模塊來擴充存儲器容量比較方便。缺點是各模塊串行工作,存儲器的帶寬受到了限制。923.5并行存儲器2、交叉方式(可以實現多模塊流水式并行存取)93每個存儲體內的地址片選,存儲體選擇3.5并行存儲器[例]M0-M3共四個模塊,則每個模塊8個字交叉方式:

M0:0,4,...除以4余數為0

M1:1,5,...除以4余數為1

M2:2,6,...除以4余數為2

M3:3,7,...除以4余數為35位地址組織如下:

XXX

XX高位選塊內地址,低位選模塊特點:連續地址分布在相鄰的不同模塊內,同一個模塊內的地址都是不連續的。優點是對連續字的成塊傳送可實現多模塊流水式并行存取,大大提高存儲器的帶寬。使用場合為成批數據讀取。943.5并行存儲器3、多模塊交叉存儲器的基本結構右圖為四模塊交叉存儲器結構框圖。主存被分成4個相互獨立、容量相同的模塊M0,M1,M2,M3,每個模塊都有自己的讀寫控制電路、地址寄存器和數據寄存器,各自以等同的方式與CPU傳送信息。在理想情況下,如果程序段或數據塊都是連續地在主存中存取,那么將大大提高主存的訪問速度。953.5并行存儲器存儲器周期T,總線傳送周期τ,存儲器的交叉模塊數為m,取啟動間隔為m=T/τ,

(m為交叉存取度)整個存儲器的存取速度有望提高n倍連續讀出m個字的時間為:采用順序方式存貯器時:96t1=T+(m-1)τ97低位交叉的特點在不改變存取周期的前提下,增加存儲器的帶寬時間

單體訪存周期

單體訪存周期啟動存儲體0啟動存儲體1啟動存儲體2啟動存儲體3例5設存儲器容量為32字,字長64位,模塊數m=4,分別用順序方式和交叉方式進行組織。存儲周期T=200ns,數據總線寬度為64位,總線傳送周期=50ns。若連續讀出4個字,問順序存儲器和交叉存儲器的帶寬各是多少?98解:順序存儲器和交叉存儲器連續讀出m=4個字的信息總量都是:

q=64b×4=256b順序存儲器和交叉存儲器連續讀出4個字所需的時間分別是:t2=mT=4×200ns=800ns=8×10-7st1=T+(m-1)

τ

=200ns+3×50ns=350ns=3.5×10-7s順序存儲器和交叉存儲器的帶寬分別是:W2=q/t2=256b÷(8×10-7)s=320Mb/sW1=q/t1=256b÷(3.5×10-7)s=730Mb/s99二模塊交叉存儲器舉例100二模塊交叉存儲器舉例101程序局部性程序局部性的實質是程序在某段時間內僅需要訪問內存很小一部分空間。1023.6Cache存儲器3.6Cache存儲器1、基本原理(1)功能:解決CPU和主存之間的速度不匹配問題一般采用高速的SRAM構成。CPU和主存之間的速度差別很大采用兩級或多級Cache系統早期的一級Cache在CPU內,二級在主板上現在的CPU內帶L1Cahe和L2Cahe全由硬件調度,對用戶透明1033.6Cache存儲器104105Cache的讀寫操作

訪問Cache取出信息送CPU

訪問主存取出信息送CPU將新的主存塊調入Cache中執行替換算法騰出空位

結束命中?Cache滿?CPU發出訪問地址

開始是否是否讀4.33.6Cache存儲器(2)cache基本原理地址映射:如需訪問的數據在cache中,存放在什么地方替換策略:Cache滿了以后如何處理寫一致性:如何保證cache與memory的一致性數據查找:如何判斷一個數據在cache中性能評價。1063.6Cache存儲器(2)cache基本原理地址映射;替換策略;寫一致性;性能評價。1073.6Cache存儲器cache基本原理小結:cache是介于CPU和主存M之間的小容量存儲器,但存取速度比主存快。主存容量配置幾百MB的情況下,cache的典型值是幾百KB。cache能高速地向CPU提供指令和數據,從而加快了程序的執行速度。從功能上看,它是主存的緩沖存儲器,由高速的SRAM組成。為追求高速,包括管理在內的全部功能由硬件實現,因而對程序員是透明的。1083.6Cache存儲器cache基本原理小結:Cache的設計依據:CPU這次訪問過的數據,下次有很大的可能也是訪問附近的數據。CPU與Cache之間的數據傳送是以字為單位主存與Cache之間的數據傳送是以塊為單位CPU讀主存時,便把地址同時送給Cache和主存,Cache控制邏輯依據地址判斷此字是否在Cache中,若在此字立即傳送給CPU,否則,則用主存讀周期把此字從主存讀出送到CPU,與此同時,把含有這個字的整個數據塊從主存讀出送到cache中。1093.6Cache存儲器(3)Cache的命中率從CPU來看,增加一個cache的目的,就是在性能上使主存的平均讀出時間盡可能接近cache的讀出時間。為了達到這個目的,在所有的存儲器訪問中由cache滿足CPU需要的部分應占很高的比例,即cache的命中率應接近于1。由于程序訪問的局部性,實現這個目標是可能的。1103.6Cache存儲器在一個程序執行期間,設Nc表示cache完成存取的總次數,Nm表示主存完成存取的總次數,h定義為命中率,則有

h=Nc/(Nc+Nm)若tc表示命中時的cache訪問時間,tm表示未命中時的主存訪問時間,1-h表示未命中率,則cache/主存系統的平均訪問時間ta為:

111我們追求的目標是,以較小的硬件代價使cache/主存系統的平均訪問時間ta越接近tc越好。

ta=h×tc+(1-h)tm3.6Cache存儲器設r=tm/tc表示主存慢于cache的倍率,e表示訪問效率,則有 e=tc/ta=tc/[h×tc+(1-h)×tm] =1/[h+(1-h)×r]=1/[r+(1-r)×h]由表達式看出,為提高訪問效率,命中率h越接近1越好,r值以5—10為宜,不宜太大。命中率h與程序的行為、cache的容量、組織方式、塊的大小有關。112例6CPU執行一段程序時,cache完成存取

的次數為1900次,主存完成存取的次數為

100次,已知cache存取周期為50ns,主存

存取周期為250ns,求cache/主存系統的效

率和平均訪問時間。113公式114命中率

Cache/主存系統的平均訪問時間訪問效率Cache與內存的速度比例6解: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=60ns1153.6.2主存與cache的地址映射116第0塊第0塊第1塊…………第n-1塊L0L1…Lm-1Cache主存………

如何進行地址映射???3.6.2主存與Cache的地址映射無論選擇那種映射方式,都要把主存和cache劃分為同樣大小的“塊”。選擇哪種映射方式,要考慮:硬件是否容易實現地址變換的速度是否快主存空間的利用率是否高主存裝入一塊時,發生沖突的概率以下我們介紹三種映射方法117一、全相聯的映射方式映射方法(多對多)主存內容可以拷貝到任意行地址變換標記實際上構成了一個目錄表。118Cache的數據塊–行,用Li表示,i=0,1,2,…,m-1,共有m=2r行主存的數據塊–快,Bj表示,j=0,1,2,…,n-1,共有n=2s塊行和快等大小,由k=2w個連續的字組成(字:CPU訪問存貯器時可存取的最小單位)。一、全相聯的映射方式1、將地址分為兩部分(塊號和字地址),在內存塊寫入Cache時,同時寫入塊號標記;2、CPU給出訪問地址后,也將地址分為兩部分(塊號和字地址),比較電路塊號與Cache表中的標記進行比較,相同表示命中,訪問相應單元;如果沒有命中訪問內存,CPU直接訪問內存,并將被訪問內存的相對應塊寫入Cache。119Cache全相聯映射120第0塊第0塊第1塊…………L0L1…Lm-1Cache主存………主存中任何一塊均可定位于Cache中的任意一塊,可提高命中率,但是硬件開銷增加一、全相

聯的

映射方式121cache全相聯映射地址變換122…相聯存儲器主存塊號Cache塊號塊號比較快存主存主存地址未命中塊表命中Cache地址主存塊號CPU塊內地址塊內地址一、全相聯的映射方式3、特點:優點:沖突概率小,Cache的利用高。缺點:比較器難實現,需要一個訪問速度很快代價高的相聯存儲器4、應用場合:適用于小容量的Cache123二、直接映射方式1、映射方法(多對一)Cache的行號i和主存的塊號j有如下關系:i=jmodm(m為Cache的總行數)主存第j塊內容拷貝到Cache的i行

[例]cache為8行,主存為256塊,則cache的L0行中允許放的主存快為B0,B8,…,B248。如果第一次B0在cache中,下次訪問B8

,則不管cache其他位置的內容訪問情況,都會引起塊內容的替換124Cache直接相聯映射125第0塊第0塊第0區第1塊…第m-1塊第m塊第m+1塊…第2m-1塊第2m塊……第3m-1塊Tag0Tag1…Tagm-1Cache主存……第1區第2區主存分割成若干個與cache大小相同的區Cache塊號i,共m塊,主存塊號ji=jmodm二、直接映射方式2、基本原理利用行號選擇相應行;把行標記與CPU訪問地址進行比較,相同表示命中,訪問Cache;如果沒有命中,訪問內存,并將相應塊寫入Cache126二、直接映射方式3、特點優點:比較電路少m倍線路,所以硬件實現簡單。缺點:沖突概率高(抖動)4、應用場合適合大容量Cache127三、組相聯映射方式前兩者的組合Cache分組,組間采用直接映射方式,組內采用全相聯的映射方式Cache分組U組,V行映射方法q=jmodu主存第j塊內容拷貝到Cache的q組中的某行地址變換128Cache組相聯映射129第0塊第0組第0塊第1塊…第m塊第m+1塊2m第2m+1塊……L0L1…Cache主存……第1組組0組1第0區第2組第3組第1區Cache分u組,每組v塊q=jmodu3、組相聯映射方式分析:比全相聯容易實現,沖突低v=1,則為直接相聯映射方式u=1,則為全相聯映射方式v的取值一般比較小,一般是2的冪,稱之為v路組相聯cache.130131例7直接映射方式的內存地址格式如下所示:標記s-r行r

字地址w8位14位2位若主存地址用十六進制表示為BBBBBB,用十六進制格式表示直接映射方式Cache的標記、行、字地址的值。解(BBBBBB)16=101110111011101110111011標記s-r=10111011=(BB)16行r=10111011101110=(2EEE)16字地址W=11=(3)16132例8一個組相聯Cache由64個行組成,每組4行。每塊128字,請表示內存地址的格式。解:塊大小=行大小=2w個字=27,w=764個行組成,每組4行,16個組,d=4主存貯器包含4K個塊,s=12標記大小(s-d)=12-4=8主存地址長度s+w=19

標記s-d組號d

字地址w

8位4位7位133例9一個處理器,字長1B,塊大小16B,Cache容量64KB,Cache采用全相聯映射,對內存地址(B0010)給出相應的標記和字號。解:塊大小=行大小=16,w=4主存容量1MB,s+w=20,s=16

標記s

字地址w16位4位對于內存地址(B0010)16=(10110000000000010000)2對應的標記s=1011000000000001,字地址w=00003.6.3替換策略LFU(最不經常使用):被訪問的行計數器增加1,換值小的行,不能反映近期cache的訪問情況.LRU(近期最少使用):被訪問的行計數器置0,其他的計數器增加1,換值大的行,符合cache的工作原理134Cache最不經常使用算法(LFU)1352211221911164載入載入命中載入命中載入替換t0123220221102211119221111191111602221111619112222122111190422命中221111619222Cache近期最久未使用算法(LRU)1362211221971643載入載入命中載入載入替換替換替換t012322022111022211319122311192714116219737016022161721931112222022111219040303.6.3替換策略隨機替換:隨機替換策略實際上是不要什么算法,從特定的行位置中隨機地選取一行換出即可。這種策略在硬件上容易實現,且速度也比前兩種策略快。缺點是隨意換出的數據很可能馬上又要使用,從而降低命中率和cache工作效率。但這個不足隨著cache容量增大而減小。隨機替換策略的功效只是稍遜于前兩種策略。1373.6.4寫操作策略由于cache的內容只是主存部分內容的拷貝,它應當與主存內容保持一致。而CPU對cache的寫入更改了cache的內容。如何與主存內容保持一致,可選用如下三種寫操作策略。寫回法:換出時,對行的修改位進行判斷,決定是寫回還是舍掉。全寫法:寫命中時,Cache與內存一起寫寫一次法:與寫回法一致,但是第一次Cache命中時采用全寫法。138Cache全相聯映射寫命中139第0塊第0塊第1塊23456789…126395Cache主存……126塊=126字地址=1比較器命中輸入輸出寄存器輸入輸出寄存器全寫法(writethrough)寫回法(writeback)126Cache全相聯映射寫失效140第0塊第0塊第1塊23456789…1395Cache主存……126塊=126字地址=1比較器未命中輸入輸出寄存器126WTWAWTNWA141

Cache的改進(1)增加Cache的級數片載(片內)Cache片外Cache(2)統一緩存和分立緩存指令Cache數據Cache與主存結構有關與指令執行的控制方式有關是否流水Pentium8K指令Cache

溫馨提示

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

評論

0/150

提交評論