版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第三章內部存儲器3.1存儲器概述3.2SRAM存儲器3.3DRAM存儲器3.4只讀存儲器和閃速存儲器3.5并行存儲器3.6Cache存儲器返回1第三章內部存儲器3.1存儲器概述返回13.1存儲器概述一、分類按存儲介質分類:磁表面/半導體存儲器按存取方式分類:隨機/順序存取(磁帶)按讀寫功能分類:ROM,RAMRAM:雙極型/MOSROM:MROM/PROM/EPROM/EEPROM按信息的可保存性分類:永久性和非永久性的按存儲器系統(tǒng)中的作用分類:主/輔/緩/控23.1存儲器概述一、分類23.1存儲器概述二、存儲器分級結構 1、目前存儲器的特點是:速度快的存儲器價格貴,容量小;價格低的存儲器速度慢,容量大。在計算機存儲器體系結構設計時,我們希望存儲器系統(tǒng)的性能高、價格低,那么在存儲器系統(tǒng)設計時,應當在存儲器容量,速度和價格方面的因素作折中考慮,建立了分層次的存儲器體系結構如下圖所示。33.1存儲器概述二、存儲器分級結構33.1.2存儲器分級結構2、分級結構高速緩沖存儲器簡稱cache,它是計算機系統(tǒng)中的一個高速小容量半導體存儲器。主存儲器簡稱主存,是計算機系統(tǒng)的主要存儲器,用來存放計算機運行期間的大量程序和數據。外存儲器簡稱外存,它是大容量輔助存儲器。43.1.2存儲器分級結構2、分級結構43.1.2存儲器分級結構分層存儲器系統(tǒng)之間的連接關系53.1.2存儲器分級結構分層存儲器系統(tǒng)之間的連接關系53.1.3主存儲器的技術指標字存儲單元:存放一個機器字的存儲單元,相應的單元地址叫字地址。字節(jié)存儲單元:存放一個字節(jié)的單元,相應的地址稱為字節(jié)地址。存儲容量:指一個存儲器中可以容納的存儲單元總數。存儲容量越大,能存儲的信息就越多。存取時間又稱存儲器訪問時間:指一次讀操作命令發(fā)出到該操作完成,將數據讀出到數據總線上所經歷的時間。通常取寫操作時間等于讀操作時間,故稱為存儲器存取時間。存儲周期:指連續(xù)啟動兩次讀操作所需間隔的最小時間。通常,存儲周期略大于存取時間,其時間單位為ns。存儲器帶寬:單位時間里存儲器所存取的信息量,通常以位/秒或字節(jié)/秒做度量單位。63.1.3主存儲器的技術指標字存儲單元:存放一個機器字的存儲3.2SRAM存儲器主存(內部存儲器)是半導體存儲器。根據信息存儲的機理不同可以分為兩類:靜態(tài)讀寫存儲器(SRAM):存取速度快動態(tài)讀寫存儲器(DRAM):存儲容量不如DRAM大。73.2SRAM存儲器主存(內部存儲器)是半導體存儲器。根據3.2SRAM存儲器一、基本的靜態(tài)存儲元陣列1、存儲位元2、三組信號線地址線數據線行線列線控制線83.2SRAM存儲器一、基本的靜態(tài)存儲元陣列83.2SRAM存儲器二、基本的SRAM邏輯結構SRAM芯大多采用雙譯碼方式,以便組織更大的存儲容量。采用了二級譯碼:將地址分成x向、y向兩部分如圖所示。93.2SRAM存儲器二、基本的SRAM邏輯結構93.2SRAM存儲器存儲體(256×128×8)通常把各個字的同一個字的同一位集成在一個芯片(32K×1)中,32K位排成256×128的矩陣。8個片子就可以構成32KB。地址譯碼器采用雙譯碼的方式(減少選擇線的數目)。A0~A7為行地址譯碼線A8~A14為列地址譯碼線103.2SRAM存儲器存儲體(256×128×8)103.2SRAM存儲器讀與寫的互鎖邏輯 控制信號中CS是片選信號,CS有效時(低電平),門G1、G2均被打開。OE為讀出使能信號,OE有效時(低電平),門G2開啟,當寫命令WE=1時(高電平),門G1關閉,存儲器進行讀操作。寫操作時,WE=0,門G1開啟,門G2關閉。注意,門G1和G2是互鎖的,一個開啟時另一個必定關閉,這樣保證了讀時不寫,寫時不讀。113.2SRAM存儲器讀與寫的互鎖邏輯113.2SRAM存儲器三、存儲器的讀寫周期讀周期讀出時間Taq讀周期時間Trc寫周期寫周期時間Twc寫時間twd存取周期讀周期時間Trc=寫時間twd123.2SRAM存儲器三、存儲器的讀寫周期12例1P70:圖3.5(a)是SRA的寫入時序圖。其中R/W是讀/寫命令控制線,當R/W線為低電平時,存儲器按給定地址把數據線上的數據寫入存儲器。請指出圖3.5(a)寫入時序中的錯誤,并畫出正確的寫入時序圖。解:點擊上圖13例1P70:圖3.5(a)是SRA的寫入時序圖。其中R/W是3.3DRAM存儲器一、DRAM存儲位元的記憶原理 SRAM存儲器的存儲位元是一個觸發(fā)器,它具有兩個穩(wěn)定的狀態(tài)。而DRAM存儲器的存儲位元是由一個MOS晶體管和電容器組成的記憶電路,如圖3.6所示。143.3DRAM存儲器一、DRAM存儲位元的記憶原理143.3DRAM存儲器1、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送到位線上,通過輸出緩沖器/讀出放大器發(fā)送到DOUT,即DOUT=1。5、圖(d)表示(c)讀出1后存儲位元重寫1。由于(c)中讀出1是破壞性讀出,必須恢復存儲位元中原存的1。此時輸入緩沖器關閉,刷新緩沖器打開,輸出緩沖器/讀放打開,DOUT=1經刷新緩沖器送到位線上,再經MOS管寫到電容上。注意,輸入緩沖器與輸出緩沖器總是互鎖的。這是因為讀操作和寫操作是互斥的,不會同時發(fā)生。153.3DRAM存儲器1、MOS管做為開關使用,而所存儲的信3.3DRAM存儲器二、DRAM芯片的邏輯結構下面我們通過一個例子來看一下動態(tài)存儲器的邏輯結構如圖。圖3.7(a)示出1M×4位DRAM芯片的管腳圖,其中有兩個電源腳、兩個地線腳,為了對稱,還有一個空腳(NC)。圖3.7(b)是該芯片的邏輯結構圖。與SRAM不同的是:(1)增加了行地址鎖存器和列地址鎖存器。由于DRAM存儲器容量很大,地址線寬度相應要增加,這勢必增加芯片地址線的管腳數目。為避免這種情況,采取的辦法是分時傳送地址碼。若地址總線寬度為10位,先傳送地址碼A0~A9,由行選通信號RAS打入到行地址鎖存器;然后傳送地址碼A10~A19,由列選通信號CRS打入到列地址鎖存器。芯片內部兩部分合起來,地址線寬度達20位,存儲容量為1M×4位。(2)增加了刷新計數器和相應的控制電路。DRAM讀出后必須刷新,而未讀寫的存儲元也要定期刷新,而且要按行刷新,所以刷新計數器的長度等于行地址鎖存器。刷新操作與讀/寫操作是交替進行的,所以通過2選1多路開關來提供刷新行地址或正常讀/寫的行地址。163.3DRAM存儲器二、DRAM芯片的邏輯結構163.3DRAM存儲器173.3DRAM存儲器173.3DRAM存儲器三、讀/寫周期讀周期、寫周期的定義是從行選通信號RAS下降沿開始,到下一個RAS信號的下降沿為止的時間,也就是連續(xù)兩個讀周期的時間間隔。通常為控制方便,讀周期和寫周期時間相等。183.3DRAM存儲器三、讀/寫周期183.3DRAM存儲器193.3DRAM存儲器193.3DRAM存儲器四、刷新周期刷新周期:DRAM存儲位元是基于電容器上的電荷量存儲,這個電荷量隨著時間和溫度而減少,因此必須定期地刷新,以保持它們原來記憶的正確信息。刷新操作有兩種刷新方式:集中式刷新:DRAM的所有行在每一個刷新周期中都被刷新。例如刷新周期為8ms的內存來說,所有行的集中式刷新必須每隔8ms進行一次。為此將8ms時間分為兩部分:前一段時間進行正常的讀/寫操作,后一段時間(8ms至正常讀/寫周期時間)做為集中刷新操作時間。分散式刷新:每一行的刷新插入到正常的讀/寫周期之中。例如p72圖3.7所示的DRAM有1024行,如果刷新周期為8ms,則每一行必須每隔8ms÷1024=7.8us進行一次。203.3DRAM存儲器四、刷新周期203.3DRAM存儲器五、存儲器容量的擴充1、字長位數擴展 給定的芯片字長位數較短,不滿足設計要求的存儲器字長,此時需要用多片給定芯片擴展字長位數。三組信號線中,地址線和控制線公用而數據線單獨分開連接。d=設計要求的存儲器容量/選擇芯片存儲器容量[例2]利用1M×4位的SRAM芯片,設計一個存儲容量為1M×8位的SRAM存儲器。解:所需芯片數量=(1M×8)/(1M×4)=2片213.3DRAM存儲器五、存儲器容量的擴充213.3DRAM存儲器2、字存儲容量擴展給定的芯片存儲容量較?。ㄗ謹瞪伲粷M足設計要求的總存儲容量,此時需要用多片給定芯片來擴展字數。三組信號組中給定芯片的地址總線和數據總線公用,控制總線中R/W公用,使能端EN不能公用,它由地址總線的高位段譯碼來決定片選信號。所需芯片數仍由(d=設計要求的存儲器容量/選擇芯片存儲器容量)決定。[例3]利用1M×8位的DRAM芯片設計2M×8位的DRAM存儲器解:所需芯片數d=(2M×8)/(1M×8)=2(片)223.3DRAM存儲器2、字存儲容量擴展223.3DRAM存儲器3、存儲器模塊條存儲器通常以插槽用模塊條形式供應市場。這種模塊條常稱為內存條,它們是在一個條狀形的小印制電路板上,用一定數量的存儲器芯片,組成一個存儲容量固定的存儲模塊。如圖所示。內存條有30腳、72腳、100腳、144腳、168腳等多種形式。30腳內存條設計成8位數據線,存儲容量從256KB~32MB。72腳內存條設計成32位數據總線100腳以上內存條既用于32位數據總線又用于64位數據總線,存儲容量從4MB~512MB。233.3DRAM存儲器3、存儲器模塊條233.3DRAM存儲器六、高級的DRAM結構FPMDRAM:快速頁模式動態(tài)存儲器,它是根據程序的局部性原理來實現的。讀周期和寫周期中,為了尋找一個確定的存儲單元地址,首先由低電平的行選通信號RAS確定行地址,然后由低電平的列選信號CAS確定列地址。下一次尋找操作,也是由RAS選定行地址,CAS選定列地址,依此類推,如下圖所示。243.3DRAM存儲器六、高級的DRAM結構243.3DRAM存儲器CDRAM帶高速緩沖存儲器(cache)的動態(tài)存儲器,它是在通常的DRAM芯片內又集成了一個小容量的SRAM,從而使DRAM芯片的性能得到顯著改進。如圖所示出1M×4位CDRAM芯片的結構框圖,其中SRAM為512×4位。253.3DRAM存儲器CDRAM帶高速緩沖存儲器(cache3.3DRAM存儲器SDRAM同步型動態(tài)存儲器。計算機系統(tǒng)中的CPU使用的是系統(tǒng)時鐘,SDRAM的操作要求與系統(tǒng)時鐘相同步,在系統(tǒng)時鐘的控制下從CPU獲得地址、數據和控制信息。換句話說,它與CPU的數據交換同步于外部的系統(tǒng)時鐘信號,并且以CPU/存儲器總線的最高速度運行,而不需要插入等待狀態(tài)。其原理和時序關系見下一頁圖和動畫。263.3DRAM存儲器SDRAM同步型動態(tài)存儲器。計算機系統(tǒng)27273.3DRAM存儲器[例4]CDRAM內存條組成實例。 一片CDRAM的容量為1M×4位,8片這樣的芯片可組成1M×32位4MB的存儲模塊,其組成如下圖所示。283.3DRAM存儲器[例4]CDRAM內存條組成實例。3.3DRAM存儲器七、DRAM主存讀/寫的正確性校驗DRAM通常用做主存儲器,其讀寫操作的正確性與可靠性至關重要。為此除了正常的數據位寬度,還增加了附加位,用于讀/寫操作正確性校驗。增加的附加位也要同數據位一起寫入DRAM中保存。其原理如圖所示。293.3DRAM存儲器七、DRAM主存讀/寫的正確性校驗293.4只讀存儲器和閃速存儲器一、只讀存儲器ROM叫做只讀存儲器。顧名思義,只讀的意思是在它工作時只能讀出,不能寫入。然而其中存儲的原始數據,必須在它工作以前寫入。只讀存儲器由于工作可靠,保密性強,在計算機系統(tǒng)中得到廣泛的應用。主要有兩類:掩模ROM:掩模ROM實際上是一個存儲內容固定的ROM,由生產廠家提供產品。可編程ROM:用戶后寫入內容,有些可以多次寫入。一次性編程的PROM多次編程的EPROM和E2PROM。303.4只讀存儲器和閃速存儲器一、只讀存儲器303.4只讀存儲器和閃速存儲器1、掩模ROM掩模ROM的陣列結構和存儲元313.4只讀存儲器和閃速存儲器1、掩模ROM掩模ROM的陣3.4只讀存儲器和閃速存儲器2、掩模ROM的邏輯符號和內部邏輯框圖323.4只讀存儲器和閃速存儲器2、掩模ROM的邏輯符號和內3.4只讀存儲器和閃速存儲器3、可編程ROMEPROM叫做光擦除可編程可讀存儲器。它的存儲內容可以根據需要寫入,當需要更新時將原存儲內容抹去,再寫入新的內容。現以浮柵雪崩注入型MOS管為存儲元的EPROM為例進行說明,結構如右圖所示。333.4只讀存儲器和閃速存儲器3、可編程ROM333.4只讀存儲器和閃速存儲器現以浮柵雪崩注入型MOS管為存儲元的EPROM為例進行說明,結構如圖(a)所示,圖(b)是電路符號。若在漏極D端加上約幾十伏的脈沖電壓,使得溝道中的電場足夠強,則會造成雪崩,產生很多高能量電子。此時,若在G2柵上加上正電壓,形成方向與溝道垂直的電場,便可使溝道中的電子穿過氧化層而注入到G1柵,從而使G1柵積累負電荷。由于G1柵周圍都是絕緣的二氧化硅層,泄漏電流極小,所以一旦電子注入到G1柵后,就能長期保存。
343.4只讀存儲器和閃速存儲器現以浮柵雪崩注入型MOS管為3.4只讀存儲器和閃速存儲器當G1柵有電子積累時,該MOS管的開啟電壓變得很高,即使G2柵為高電平,該管仍不能導通,相當于存儲了“0”。反之,G1柵無電子積累時,MOS管的開啟電壓較低,當G2柵為高電平時,該管可以導通,相當于存儲了“1”。圖(d)示出了讀出時的電路,它采用二維譯碼方式:x地址譯碼器的輸出xi與G2柵極相連,以決定T2管是否選中;y地址譯碼器的輸出yi與T1管柵極相連,控制其數據是否讀出。當片選信號CS為高電平即該片選中時,方能讀出數據。353.4只讀存儲器和閃速存儲器當G1柵有電子積累時,該MO3.4只讀存儲器和閃速存儲器這種器件的上方有一個石英窗口,如圖(c)所示。當用光子能量較高的紫外光照射G1浮柵時,G1中電子獲得足夠能量,從而穿過氧化層回到襯底中,如圖(e)所示。這樣可使浮柵上的電子消失,達到抹去存儲信息的目的,相當于存儲器又存了全“1”。363.4只讀存儲器和閃速存儲器這種器件的上方有一個石英窗口3.4只讀存儲器和閃速存儲器這種EPROM出廠時為全“1”狀態(tài),使用者可根據需要寫“0”。寫“0”電路如圖(f)所示,xi和yi選擇線為高電位,P端加20多伏的正脈沖,脈沖寬度為0.1~1ms。EPROM允許多次重寫。抹去時,用40W紫外燈,相距2cm,照射幾分鐘即可。373.4只讀存儲器和閃速存儲器這種EPROM出廠時為全“13.4只讀存儲器和閃速存儲器E2PROM存儲元 EEPROM,叫做電擦除可編程只讀存儲器。其存儲元是一個具有兩個柵極的NMOS管,如圖(a)和(b)所示,G1是控制柵,它是一個浮柵,無引出線;G2是抹去柵,它有引出線。在G1柵和漏極D之間有一小面積的氧化層,其厚度極薄,可產生隧道效應。如圖(c)所示,當G2柵加20V正脈沖P1時,通過隧道效應,電子由襯底注入到G1浮柵,相當于存儲了“1”。利用此方法可將存儲器抹成全“1”狀態(tài)。383.4只讀存儲器和閃速存儲器E2PROM存儲元383.4只讀存儲器和閃速存儲器這種存儲器在出廠時,存儲內容為全“1”狀態(tài)。使用時,可根據要求把某些存儲元寫“0”。寫“0”電路如圖(d)所示。漏極D加20V正脈沖P2,G2柵接地,浮柵上電子通過隧道返回襯底,相當于寫“0”。E2PROM允許改寫上千次,改寫(先抹后寫)大約需20ms,數據可存儲20年以上。E2PROM讀出時的電路如圖(e)所示,這時G2柵加3V電壓,若G1柵有電子積累,T2管不能導通,相當于存“1”;若G1柵無電子積累,T2管導通,相當于存“0”。393.4只讀存儲器和閃速存儲器這種存儲器在出廠時,存儲內容3.4只讀存儲器和閃速存儲器4、閃速存儲器 FLASH存儲器也翻譯成閃速存儲器,它是高密度非失易失性的讀/寫存儲器。高密度意味著它具有巨大比特數目的存儲容量。非易失性意味著存放的數據在沒有電源的情況下可以長期保存??傊扔蠷AM的優(yōu)點,又有ROM的優(yōu)點,稱得上是存儲技術劃時代的進展。403.4只讀存儲器和閃速存儲器4、閃速存儲器403.4只讀存儲器和閃速存儲器FLASH存儲元在EPROM存儲元基礎上發(fā)展起來的,由此可以看出創(chuàng)新與繼承的關系。如右圖所示為閃速存儲器中的存儲元,由單個MOS晶體管組成,除漏極D和源極S外,還有一個控制柵和浮空柵。413.4只讀存儲器和閃速存儲器FLASH存儲元在EPROM3.4只讀存儲器和閃速存儲器“0”狀態(tài):當控制柵加上足夠的正電壓時,浮空柵將儲存許多電子帶負電,這意味著浮空柵上有很多負電荷,這種情況我們定義存儲元處于0狀態(tài)?!?”狀態(tài):如果控制柵不加正電壓,浮空柵則只有少許電子或不帶電荷,這種情況我們定義為存儲元處于1狀態(tài)。浮空柵上的電荷量決定了讀取操作時,加在柵極上的控制電壓能否開啟MOS管,并產生從漏極D到源極S的電流。423.4只讀存儲器和閃速存儲器“0”狀態(tài):當控制柵加上足夠3.4只讀存儲器和閃速存儲器編程操作:實際上是寫操作。所有存儲元的原始狀態(tài)均處“1”狀態(tài),這是因為擦除操作時控制柵不加正電壓。編程操作的目的是為存儲元的浮空柵補充電子,從而使存儲元改寫成“0”狀態(tài)。如果某存儲元仍保持“1”狀態(tài),則控制柵就不加正電壓。如圖(a)表示編程操作時存儲元寫0、寫1的情況。實際上編程時只寫0,不寫1,因為存儲元擦除后原始狀態(tài)全為1。要寫0,就是要在控制柵C上加正電壓。一旦存儲元被編程,存儲的數據可保持100年之久而無需外電源。433.4只讀存儲器和閃速存儲器編程操作:實際上是寫操作。所3.4只讀存儲器和閃速存儲器讀取操作:控制柵加上正電壓。浮空柵上的負電荷量將決定是否可以開啟MOS晶體管。如果存儲元原存1,可認為浮空柵不帶負電,控制柵上的正電壓足以開啟晶體管。如果存儲元原存0,可認為浮空柵帶負電,控制柵上的正電壓不足以克服浮動柵上的負電量,晶體管不能開啟導通。當MOS晶體管開啟導通時,電源VD提供從漏極D到源極S的電流。讀出電路檢測到有電流,表示存儲元中存1,若讀出電路檢測到無電流,表示存儲元中存0,如圖(b)所示。443.4只讀存儲器和閃速存儲器讀取操作:控制柵加上正電壓。3.4只讀存儲器和閃速存儲器擦除操作:所有的存儲元中浮空柵上的負電荷要全部洩放出去。為此晶體管源極S加上正電壓,這與編程操作正好相反,見圖(c)所示。源極S上的正電壓吸收浮空柵中的電子,從而使全部存儲元變成1狀態(tài)。453.4只讀存儲器和閃速存儲器擦除操作:所有的存儲元中浮空3.4只讀存儲器和閃速存儲器FLASH存儲器的陣列結構FLASH存儲器的簡化陣列結構如右圖所示。在某一時間只有一條行選擇線被激活。讀操作時,假定某個存儲元原存1,那么晶體管導通,與它所在位線接通,有電流通過位線,所經過的負載上產生一個電壓降。這個電壓降送到比較器的一個輸入端,與另一端輸入的參照電壓做比較,比較器輸出一個標志為邏輯1的電平。如果某個存儲元原先存0,那么晶體管不導通,位線上沒有電流,比較器輸出端則產生一個標志為邏輯0的電平。463.4只讀存儲器和閃速存儲器FLASH存儲器的陣列結構43.5并行存儲器 由于CPU和主存儲器之間在速度上是不匹配的,這種情況便成為限制高速計算機設計的主要問題。為了提高CPU和主存之間的數據傳輸率,除了主存采用更高速的技術來縮短讀出時間外,還可以采用并行技術的存儲器。473.5并行存儲器 由于CPU和主存儲器之間在速度上是不3.5并行存儲器解決途徑多個存儲器并行工作并行訪問和交叉訪問設置各種緩沖器通用寄存器采用分層的存儲系統(tǒng)Cache(第6節(jié))虛擬存儲系統(tǒng)(第9章)483.5并行存儲器解決途徑483.5并行存儲器一、雙端口存儲器1、雙端口存儲器的邏輯結構雙端口存儲器由于同一個存儲器具有兩組相互獨立的讀寫控制電路而得名。由于進行并行的獨立操作,因而是一種高速工作的存儲器,在科研和工程中非常有用。舉例說明,雙端口存儲器IDT7133的邏輯框圖。如下頁圖。493.5并行存儲器一、雙端口存儲器493.5并行存儲器503.5并行存儲器503.5并行存儲器2、無沖突讀寫控制當兩個端口的地址不相同時,在兩個端口上進行讀寫操作,一定不會發(fā)生沖突。當任一端口被選中驅動時,就可對整個存儲器進行存取,每一個端口都有自己的片選控制(CE)和輸出驅動控制(OE)。讀操作時,端口的OE(低電平有效)打開輸出驅動器,由存儲矩陣讀出的數據就出現在I/O線上。3、有沖突讀寫控制當兩個端口同時存取存儲器同一存儲單元時,便發(fā)生讀寫沖突。為解決此問題,特設置了BUSY標志。在這種情況下,片上的判斷邏輯可以決定對哪個端口優(yōu)先進行讀寫操作,而對另一個被延遲的端口置BUSY標志(BUSY變?yōu)榈碗娖?,即暫時關閉此端口。513.5并行存儲器2、無沖突讀寫控制513.5并行存儲器4、有沖突讀寫控制判斷方法(1)如果地址匹配且在CE之前有效,片上的控制邏輯在CEL和CER之間進行判斷來選擇端口(CE判斷)。(2)如果CE在地址匹配之前變低,片上的控制邏輯在左、右地址間進行判斷來選擇端口(地址有效判斷)。無論采用哪種判斷方式,延遲端口的BUSY標志都將置位而關閉此端口,而當允許存取的端口完成操作時,延遲端口BUSY標志才進行復位而打開此端口。523.5并行存儲器4、有沖突讀寫控制判斷方法523.5.1雙端口存儲器533.5.1雙端口存儲器533.5并行存儲器二、多模塊交叉存儲器:一個由若干個模塊組成的主存儲器是線性編址的。這些地址在各模塊中如何安排,有兩種方式:一種是順序方式,一種是交叉方式
543.5并行存儲器二、多模塊交叉存儲器:一個由若干個模塊組3.5并行存儲器假設有n個存儲體,每個存儲體的容量為m個存儲單元順序方式:每個存儲體內的地址片選,存儲體選擇553.5并行存儲器假設有n個存儲體,每個存儲體的容量為m個3.5并行存儲器1、順序方式[例]M0-M3共四個模塊,則每個模塊8個字順序方式:
M0:0—7
M1:8-15
M2:16-23
M3:24-315位地址組織如下:XX
XXX高位選模塊,低位選塊內地址特點:某個模塊進行存取時,其他模塊不工作,優(yōu)點是某一模塊出現故障時,其他模塊可以照常工作,通過增添模塊來擴充存儲器容量比較方便。缺點是各模塊串行工作,存儲器的帶寬受到了限制。563.5并行存儲器1、順序方式563.5并行存儲器2、交叉方式(可以實現多模塊流水式并行存取)每個存儲體內的地址片選,存儲體選擇573.5并行存儲器2、交叉方式每個存儲體內的地址片選,存儲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高位選塊內地址,低位選模塊特點:連續(xù)地址分布在相鄰的不同模塊內,同一個模塊內的地址都是不連續(xù)的。優(yōu)點是對連續(xù)字的成塊傳送可實現多模塊流水式并行存取,大大提高存儲器的帶寬。使用場合為成批數據讀取。583.5并行存儲器[例]M0-M3共四個模塊,則每個模塊83.5并行存儲器3、多模塊交叉存儲器的基本結構右圖為四模塊交叉存儲器結構框圖。主存被分成4個相互獨立、容量相同的模塊M0,M1,M2,M3,每個模塊都有自己的讀寫控制電路、地址寄存器和數據寄存器,各自以等同的方式與CPU傳送信息。在理想情況下,如果程序段或數據塊都是連續(xù)地在主存中存取,那么將大大提高主存的訪問速度。593.5并行存儲器3、多模塊交叉存儲器的基本結構593.5并行存儲器通常在一個存儲器周期內,n個存儲體必須分時啟動,則各個存儲體的啟動間隔為(n為交叉存取度)整個存儲器的存取速度有望提高n倍603.5并行存儲器通常在一個存儲器周期內,n個存儲體必須分例5設存儲器容量為32字,字長64位,模塊數m=4,分別用順序方式和交叉方式進行組織。存儲周期T=200ns,數據總線寬度為64位,總線傳送周期=50ns。若連續(xù)讀出4個字,問順序存儲器和交叉存儲器的帶寬各是多少?解:順序存儲器和交叉存儲器連續(xù)讀出m=4個字的信息總量都是: q=64b×4=256b順序存儲器和交叉存儲器連續(xù)讀出4個字所需的時間分別是:t2=mT=4×200ns=800ns=8×10-7st1=T+(m-1)=200ns+350ns=350ns=35×10-7s順序存儲器和交叉存儲器的帶寬分別是:W2=q/t2=256b÷(8×10-7)s=320Mb/sW1=q/t1=256b÷(35×10-7)s=730Mb/s61例5設存儲器容量為32字,字長64位,模塊數m=4,分別用二模塊交叉存儲器舉例62二模塊交叉存儲器舉例62二模塊交叉存儲器舉例63二模塊交叉存儲器舉例633.5并行存儲器相聯(lián)存儲器原理:按內容存取的存儲器,可以選擇記錄(關鍵字)的一個字段作為地址組成:見下一頁圖主要用途:在虛擬存儲器中存放段表、頁表和快表,也可以作Cache的行地址643.5并行存儲器相聯(lián)存儲器643.5并行存儲器653.5并行存儲器653.6Cache存儲器1、基本原理(1)功能:解決CPU和主存之間的速度不匹配問題一般采用高速的SRAM構成。CPU和主存之間的速度差別很大采用兩級或多級Cache系統(tǒng)早期的一級Cache在CPU內,二級在主板上現在的CPU內帶L1Cahe和L2Cahe全由硬件調度,對用戶透明663.6Cache存儲器1、基本原理663.6Cache存儲器673.6Cache存儲器673.6Cache存儲器(2)cache基本原理地址映射;替換策略;寫一致性;性能評價。683.6Cache存儲器(2)cache基本原理683.6Cache存儲器cache基本原理小結:cache是介于CPU和主存M2之間的小容量存儲器,但存取速度比主存快。主存容量配置幾百MB的情況下,cache的典型值是幾百KB。cache能高速地向CPU提供指令和數據,從而加快了程序的執(zhí)行速度。從功能上看,它是主存的緩沖存儲器,由高速的SRAM組成。為追求高速,包括管理在內的全部功能由硬件實現,因而對程序員是透明的。Cache的設計依據:CPU這次訪問過的數據,下次有很大的可能也是訪問附近的數據。CPU與Cache之間的數據傳送是以字為單位主存與Cache之間的數據傳送是以塊為單位CPU讀主存時,便把地址同時送給Cache和主存,Cache控制邏輯依據地址判斷此字是否在Cache中,若在此字立即傳送給CPU,否則,則用主存讀周期把此字從主存讀出送到CPU,與此同時,把含有這個字的整個數據塊從主存讀出送到cache中。693.6Cache存儲器cache基本原理小結:693.6Cache存儲器(3)Cache的命中率從CPU來看,增加一個cache的目的,就是在性能上使主存的平均讀出時間盡可能接近cache的讀出時間。為了達到這個目的,在所有的存儲器訪問中由cache滿足CPU需要的部分應占很高的比例,即cache的命中率應接近于1。由于程序訪問的局部性,實現這個目標是可能的。703.6Cache存儲器(3)Cache的命中率703.6Cache存儲器在一個程序執(zhí)行期間,設Nc表示cache完成存取的總次數,Nm表示主存完成存取的總次數,h定義為命中率,則有 h=Nc/(Nc+Nm)若tc表示命中時的cache訪問時間,tm表示未命中時的主存訪問時間,1-h表示未命中率,則cache/主存系統(tǒng)的平均訪問時間ta為: ta=h*tc+(1-h)tm我們追求的目標是,以較小的硬件代價使cache/主存系統(tǒng)的平均訪問時間ta越接近tc越好。設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的容量、組織方式、塊的大小有關。713.6Cache存儲器在一個程序執(zhí)行期間,設Nc表示cac例6CPU執(zhí)行一段程序時,cache完成存取的次數為1900次,主存完成存取的次數為100次,已知cache存取周期為50ns,主存存取周期為250ns,求cache/主存系統(tǒng)的效率和平均訪問時間。公式命中率
Cache/主存系統(tǒng)的平均訪問時間訪問效率Cache與內存的速度比72例6CPU執(zhí)行一段程序時,cache完成存取的次數為1900例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=60ns73例6解:h=Nc/(Nc+Nm)=1900/(1900+103.6.2主存與Cache的地址映射無論選擇那種映射方式,都要把主存和cache劃分為同樣大小的“塊”。選擇哪種映射方式,要考慮:硬件是否容易實現地址變換的速度是否快主存空間的利用率是否高主存裝入一塊時,發(fā)生沖突的概率以下我們介紹三種映射方法743.6.2主存與Cache的地址映射無論選擇那種映射方式,都一、全相聯(lián)的映射方式映射方法(多對多)主存內容可以拷貝到任意行地址變換標記實際上構成了一個目錄表。75一、全相聯(lián)的映射方式映射方法(多對多)75一、全相
聯(lián)的
映射方式76一、全相
聯(lián)的
映射方式76一、全相聯(lián)的映射方式1、將地址分為兩部分(塊號和字),在內存塊寫入Cache時,同時寫入塊號標記;2、CPU給出訪問地址后,也將地址分為兩部分(塊號和字),比較電路塊號與Cache表中的標記進行比較,相同表示命中,訪問相應單元;如果沒有命中訪問內存,CPU直接訪問內存,并將被訪問內存的相對應塊寫入Cache。77一、全相聯(lián)的映射方式1、將地址分為兩部分(塊號和字),在內存一、全相聯(lián)的映射方式3、特點:優(yōu)點:沖突概率小,Cache的利用高。缺點:比較器難實現,需要一個訪問速度很快代價高的相聯(lián)存儲器4、應用場合:適用于小容量的Cache78一、全相聯(lián)的映射方式3、特點:78二、直接映射方式1、映射方法(一對多)如:i=jmodm主存第j塊內容拷貝到Cache的i行一般I和m都是2N級[例]cache容量16字,主存容量256字,則地址2,18,34…..242等都存放在cache的地址2內,如果第一次2在cache中,下次訪問34內容,則不管cache其他位置的內容訪問情況,都會引起2塊內容的替換79二、直接映射方式1、映射方法(一對多)如:79二、直接映射方式2、基本原理利用行號選擇相應行;把行標記與CPU訪問地址進行比較,相同表示命中,訪問Cache;如果沒有命中,訪問內存,并將相應塊寫入Cache80二、直接映射方式2、基本原理80二、直接映射方式3、特點優(yōu)點:比較電路少m倍線路,所以硬件實現簡單,Cache地址為主存地址的低幾位,不需變換。缺點:沖突概率高(抖動)4、應用場合適合大容量Cache81二、直接映射方式3、特點81三、組相聯(lián)映射方式前兩者的組合Cache分組,組間采用直接映射方式,組內采用全相聯(lián)的映射方式Cache分組U,組內容量V映射方法(一對多)q=jmodu主存第j塊內容拷貝到Cache的q組中的某行地址變換設主存地址x,看是不是在cache中,先y=xmodu,則在y組中一次查找82三、組相聯(lián)映射方式前兩者的組合823、組相聯(lián)映射方式分析:比全相聯(lián)容易實現,沖突低v=1,則為直接相聯(lián)映射方式u=1,則為全相聯(lián)映射方式v的取值一般比較小,一般是2的冪,稱之為v路組相聯(lián)cache.833、組相聯(lián)映射方式分析:比全相聯(lián)容易實現,沖突低8384843.6.3替換策略LFU(最不經常使用):被訪問的行計數器增加1,換值小的行,不能反映近期cache的訪問情況,LRU(近期最少使用):被訪問的行計數器置0,其他的計數器增加1,換值大的行,符合cache的工作原理隨機替換:隨機替換策略實際上是不要什么算法,從特定的行位置中隨機地選取一行換出即可。這種策略在硬件上容易實現,且速度也比前兩種策略快。缺點是隨意換出的數據很可能馬上又要使用,從而降低命中率和cache工作效率。但這個不足隨著cache容量增大而減小。隨機替換策略的功效只是稍遜于前兩種策略。853.6.3替換策略LFU(最不經常使用):被訪問的行計數器3.6.3替換策略例子:設cache有1、2、3、4共4個塊,a、b、c、d等為主存中的塊,訪問順序一次如下:a、b、c、d、b、b、c、c、d、d、a,下次若要再訪問e塊。
問,采用LFU和LRU算法替換結果是不是相同?
863.6.3替換策略例子:設cache有1、2、3、4共4個塊
LFU(最不經常使用)LRU(近期最少使用)
說明1塊2塊3塊4塊說明1塊2塊3塊4塊aa進入1000a進入0111bb進入1100b進入1022cc進入1110c進入2103dd進入1111d進入3210b命中1211命中4021b命中1311命中5032c命中1321命中6103c命中1331命中7204d命中1332命中8310d命中1333命中9420a命中2333命中0531e替換a1000替換b1042
87
LFU(最不經常使
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 磚混鋼筋綁扎施工方案
- 鐵門安裝施工方案
- 洛陽共享充電柜施工方案
- 紹興廠房推拉棚施工方案
- 2024年軟件系統(tǒng)開發(fā)定制合同
- 2025年度茶飲代銷合作合同(飲品市場版)3篇
- 企業(yè)定位與市場擴張戰(zhàn)略規(guī)劃方案
- 2025-2030年中國鵝養(yǎng)殖行業(yè)競爭格局及投資戰(zhàn)略研究報告
- 2025-2030年中國高精度導航定位(GNSS)市場需求現狀及投資前景預測報告
- 2025年抖音農產品推廣合同2篇
- 2025年河北供水有限責任公司招聘筆試參考題庫含答案解析
- Unit3 Sports and fitness Discovering Useful Structures 說課稿-2024-2025學年高中英語人教版(2019)必修第一冊
- 農發(fā)行案防知識培訓課件
- 武漢東湖賓館建設項目委托代建合同
- 安徽大學大學生素質教育學分認定辦法
- 巴布亞新幾內亞離網光儲微網供電方案
- 高度限位裝置類型及原理
- 中文版gcs electrospeed ii manual apri rev8v00印刷稿修改版
- 新生兒預防接種護理質量考核標準
- 除氧器出水溶解氧不合格的原因有哪些
- 沖擊式機組水輪機安裝概述與流程
評論
0/150
提交評論