




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1第三章 內(nèi)部存儲器3.1存儲器概述3.2SRAM存儲器3.3DRAM存儲器3.4只讀存儲器和閃速存儲器3.5并行存儲器3.6Cache存儲器返回23.1存儲器概述一、分類 按存儲介質(zhì)分類:磁表面/半導(dǎo)體存儲器 按存取方式分類:隨機(jī)/順序存取(磁帶) 按讀寫功能分類:ROM,RAM RAM:雙極型/MOS ROM:MROM/PROM/EPROM/EEPROM 按信息的可保存性分類:永久性和非永久性的 按存儲器系統(tǒng)中的作用分類:主/輔/緩/控33.1存儲器概述二、存儲器分級結(jié)構(gòu)1、目前存儲器的特點(diǎn)是: 速度快的存儲器價(jià)格貴,容量??; 價(jià)格低的存儲器速度慢,容量大。 在計(jì)算機(jī)存儲器體系結(jié)構(gòu)設(shè)計(jì)時(shí),
2、我們希望存儲器系統(tǒng)的性能高、價(jià)格低,那么在存儲器系統(tǒng)設(shè)計(jì)時(shí),應(yīng)當(dāng)在存儲器容量,速度和價(jià)格方面的因素作折中考慮,建立了分層次的存儲器體系結(jié)構(gòu)如下圖所示。43.1.2 存儲器分級結(jié)構(gòu)2、分級結(jié)構(gòu) 高速緩沖存儲器簡稱cache,它是計(jì)算機(jī)系統(tǒng)中的一個(gè)高速小容量半導(dǎo)體存儲器。 主存儲器簡稱主存,是計(jì)算機(jī)系統(tǒng)的主要存儲器,用來存放計(jì)算機(jī)運(yùn)行期間的大量程序和數(shù)據(jù)。 外存儲器簡稱外存,它是大容量輔助存儲器。53.1.2 存儲器分級結(jié)構(gòu) 分層存儲器系統(tǒng)之間的連接關(guān)系63.1.3主存儲器的技術(shù)指標(biāo) 字存儲單元:存放一個(gè)機(jī)器字的存儲單元,相應(yīng)的單元地址叫字地址。 字節(jié)存儲單元:存放一個(gè)字節(jié)的單元,相應(yīng)的地址稱為字
3、節(jié)地址。 存儲容量:指一個(gè)存儲器中可以容納的存儲單元總數(shù)。存儲容量越大,能存儲的信息就越多。 存取時(shí)間又稱存儲器訪問時(shí)間:指一次讀操作命令發(fā)出到該操作完成,將數(shù)據(jù)讀出到數(shù)據(jù)總線上所經(jīng)歷的時(shí)間。通常取寫操作時(shí)間等于讀操作時(shí)間,故稱為存儲器存取時(shí)間。 存儲周期:指連續(xù)啟動兩次讀操作所需間隔的最小時(shí)間。通常,存儲周期略大于存取時(shí)間,其時(shí)間單位為ns。 存儲器帶寬:單位時(shí)間里存儲器所存取的信息量,通常以位/秒或字節(jié)/秒做度量單位。73.2 SRAM存儲器 主存(內(nèi)部存儲器)是半導(dǎo)體存儲器。根據(jù)信息存儲的機(jī)理不同可以分為兩類: 靜態(tài)讀寫存儲器(SRAM):存取速度快 動態(tài)讀寫存儲器(DRAM):存儲容量
4、不如DRAM大。83.2 SRAM存儲器一、基本的靜態(tài)存儲元陣列1、存儲位元2、三組信號線 地址線 數(shù)據(jù)線 行線 列線 控制線93.2 SRAM存儲器二、基本的SRAM邏輯結(jié)構(gòu) SRAM芯大多采用雙譯碼方式,以便組織更大的存儲容量。采用了二級譯碼:將地址分成x向、y向兩部分如圖所示。103.2 SRAM存儲器 存儲體(2561288) 通常把各個(gè)字的同一個(gè)字的同一位集成在一個(gè)芯片(32K1)中,32K位排成256128的矩陣。8個(gè)片子就可以構(gòu)成32KB。 地址譯碼器 采用雙譯碼的方式(減少選擇線的數(shù)目)。 A0A7為行地址譯碼線 A8A14為列地址譯碼線113.2 SRAM存儲器 讀與寫的互鎖
5、邏輯控制信號中CS是片選信號,CS有效時(shí)(低電平),門G1、G2均被打開。OE為讀出使能信號,OE有效時(shí)(低電平),門G2開啟,當(dāng)寫命令WE=1時(shí)(高電平),門G1關(guān)閉,存儲器進(jìn)行讀操作。寫操作時(shí),WE=0,門G1開啟,門G2關(guān)閉。注意,門G1和G2是互鎖的,一個(gè)開啟時(shí)另一個(gè)必定關(guān)閉,這樣保證了讀時(shí)不寫,寫時(shí)不讀。123.2 SRAM存儲器三、存儲器的讀寫周期 讀周期 讀出時(shí)間Taq 讀周期時(shí)間Trc 寫周期 寫周期時(shí)間Twc 寫時(shí)間twd 存取周期 讀周期時(shí)間Trc=寫時(shí)間twd13例1P70:圖3.5(a)是SRA的寫入時(shí)序圖。其中R/W是讀/寫命令控制線,當(dāng)R/W線為低電平時(shí),存儲器按給
6、定地址把數(shù)據(jù)線上的數(shù)據(jù)寫入存儲器。請指出圖3.5(a)寫入時(shí)序中的錯誤,并畫出正確的寫入時(shí)序圖。解:點(diǎn)擊上圖143.3 DRAM存儲器一、DRAM存儲位元的記憶原理 SRAM存儲器的存儲位元是一個(gè)觸發(fā)器,它具有兩個(gè)穩(wěn)定的狀態(tài)。而DRAM存儲器的存儲位元是由一個(gè)MOS晶體管和電容器組成的記憶電路,如圖3.6所示。 153.3 DRAM存儲器1、MOS管做為開關(guān)使用,而所存儲的信息1或0則是由電容器上的電荷量來體現(xiàn)當(dāng)電容器充滿電荷時(shí),代表存儲了1,當(dāng)電容器放電沒有電荷時(shí),代表存儲了0。2、圖(a)表示寫1到存儲位元。此時(shí)輸出緩沖器關(guān)閉、刷新緩沖器關(guān)閉,輸入緩沖器打開(R/W為低),輸入數(shù)據(jù)DIN=
7、1送到存儲元位線上,而行選線為高,打開MOS管,于是位線上的高電平給電容器充電,表示存儲了1。 3、圖(b)表示寫0到存儲位元。此時(shí)輸出緩沖器和刷新緩沖器關(guān)閉,輸入緩沖器打開,輸入數(shù)據(jù)DIN=0送到存儲元位線上;行選線為高,打開MOS管,于是電容上的電荷通過MOS管和位線放電,表示存儲了0。4、圖(c)表示從存儲位元讀出1。輸入緩沖器和刷新緩沖器關(guān)閉,輸出緩沖器/讀放打開(R/W為高)。行選線為高,打開MOS管,電容上所存儲的1送到位線上,通過輸出緩沖器/讀出放大器發(fā)送到DOUT,即DOUT=1。5、圖(d)表示(c)讀出1后存儲位元重寫1。由于(c)中讀出1是破壞性讀出,必須恢復(fù)存儲位元中原
8、存的1。此時(shí)輸入緩沖器關(guān)閉,刷新緩沖器打開,輸出緩沖器/讀放打開,DOUT=1經(jīng)刷新緩沖器送到位線上,再經(jīng)MOS管寫到電容上。注意,輸入緩沖器與輸出緩沖器總是互鎖的。這是因?yàn)樽x操作和寫操作是互斥的,不會同時(shí)發(fā)生。 163.3 DRAM存儲器二、DRAM芯片的邏輯結(jié)構(gòu)下面我們通過一個(gè)例子來看一下動態(tài)存儲器的邏輯結(jié)構(gòu)如圖。 圖3.7(a)示出1M4位DRAM芯片的管腳圖,其中有兩個(gè)電源腳、兩個(gè)地線腳,為了對稱,還有一個(gè)空腳(NC)。 圖3.7(b)是該芯片的邏輯結(jié)構(gòu)圖。與SRAM不同的是:(1)增加了行地址鎖存器和列地址鎖存器。由于DRAM存儲器容量很大,地址線寬度相應(yīng)要增加,這勢必增加芯片地址線
9、的管腳數(shù)目。為避免這種情況,采取的辦法是分時(shí)傳送地址碼。若地址總線寬度為10位,先傳送地址碼A0A9,由行選通信號RAS打入到行地址鎖存器;然后傳送地址碼A10A19,由列選通信號CRS打入到列地址鎖存器。芯片內(nèi)部兩部分合起來,地址線寬度達(dá)20位,存儲容量為1M4位。(2)增加了刷新計(jì)數(shù)器和相應(yīng)的控制電路。DRAM讀出后必須刷新,而未讀寫的存儲元也要定期刷新,而且要按行刷新,所以刷新計(jì)數(shù)器的長度等于行地址鎖存器。刷新操作與讀/寫操作是交替進(jìn)行的,所以通過2選1多路開關(guān)來提供刷新行地址或正常讀/寫的行地址。173.3 DRAM存儲器183.3 DRAM存儲器三、讀/寫周期 讀周期、寫周期的定義是
10、從行選通信號RAS下降沿開始,到下一個(gè)RAS信號的下降沿為止的時(shí)間,也就是連續(xù)兩個(gè)讀周期的時(shí)間間隔。通常為控制方便,讀周期和寫周期時(shí)間相等。193.3 DRAM存儲器203.3 DRAM存儲器四、 刷新周期 刷新周期:DRAM存儲位元是基于電容器上的電荷量存儲,這個(gè)電荷量隨著時(shí)間和溫度而減少,因此必須定期地刷新,以保持它們原來記憶的正確信息。 刷新操作有兩種刷新方式:集中式刷新:DRAM的所有行在每一個(gè)刷新周期中都被刷新。 例如刷新周期為8ms的內(nèi)存來說,所有行的集中式刷新必須每隔8ms進(jìn)行一次。為此將8ms時(shí)間分為兩部分:前一段時(shí)間進(jìn)行正常的讀/寫操作,后一段時(shí)間(8ms至正常讀/寫周期時(shí)間
11、)做為集中刷新操作時(shí)間。分散式刷新:每一行的刷新插入到正常的讀/寫周期之中。例如p72圖3.7所示的DRAM有1024行,如果刷新周期為8ms,則每一行必須每隔8ms1024=7.8us進(jìn)行一次。213.3 DRAM存儲器五、存儲器容量的擴(kuò)充 1、字長位數(shù)擴(kuò)展給定的芯片字長位數(shù)較短,不滿足設(shè)計(jì)要求的存儲器字長,此時(shí)需要用多片給定芯片擴(kuò)展字長位數(shù)。三組信號線中,地址線和控制線公用而數(shù)據(jù)線單獨(dú)分開連接。 d=設(shè)計(jì)要求的存儲器容量/選擇芯片存儲器容量 例例2 2 利用利用1M1M4 4位的位的SRAMSRAM芯片,設(shè)計(jì)一個(gè)存儲芯片,設(shè)計(jì)一個(gè)存儲容量為容量為1M1M8 8位的位的SRAMSRAM存儲器
12、。存儲器。 解:所需芯片數(shù)量=(1M8)/(1M4)=2片223.3 DRAM存儲器2、字存儲容量擴(kuò)展 給定的芯片存儲容量較?。ㄗ?jǐn)?shù)少),不滿足設(shè)計(jì)要求的總存儲容量,此時(shí)需要用多片給定芯片來擴(kuò)展字?jǐn)?shù)。三組信號組中給定芯片的地址總線和數(shù)據(jù)總線公用,控制總線中R/W公用,使能端EN不能公用,它由地址總線的高位段譯碼來決定片選信號。所需芯片數(shù)仍由(d=設(shè)計(jì)要求的存儲器容量/選擇芯片存儲器容量)決定。 例例33利用利用1M1M8 8位的位的DRAMDRAM芯片設(shè)計(jì)芯片設(shè)計(jì)2M2M8 8位的位的DRAMDRAM存儲器存儲器解:所需芯片數(shù)d=(2M8)/(1M8)=2(片)233.3 DRAM存儲器3、存
13、儲器模塊條 存儲器通常以插槽用模塊條形式供應(yīng)市場。這種模塊條常稱為內(nèi)存條,它們是在一個(gè)條狀形的小印制電路板上,用一定數(shù)量的存儲器芯片,組成一個(gè)存儲容量固定的存儲模塊。如圖所示。 內(nèi)存條有30腳、72腳、100腳、144腳、168腳等多種形式。 30腳內(nèi)存條設(shè)計(jì)成8位數(shù)據(jù)線,存儲容量從256KB32MB。 72腳內(nèi)存條設(shè)計(jì)成32位數(shù)據(jù)總線 100腳以上內(nèi)存條既用于32位數(shù)據(jù)總線又用于64位數(shù)據(jù)總線,存儲容量從4MB512MB。 243.3 DRAM存儲器六、高級的DRAM結(jié)構(gòu) FPM DRAM:快速頁模式動態(tài)存儲器,它是根據(jù)程序的局部性原理來實(shí)現(xiàn)的。讀周期和寫周期中,為了尋找一個(gè)確定的存儲單元地
14、址,首先由低電平的行選通信號RAS確定行地址,然后由低電平的列選信號CAS確定列地址。下一次尋找操作,也是由RAS選定行地址,CAS選定列地址,依此類推,如下圖所示。 253.3 DRAM存儲器 CDRAM帶高速緩沖存儲器(cache)的動態(tài)存儲器,它是在通常的DRAM芯片內(nèi)又集成了一個(gè)小容量的SRAM,從而使DRAM芯片的性能得到顯著改進(jìn)。如圖所示出1M4位CDRAM芯片的結(jié)構(gòu)框圖,其中SRAM為5124位。 263.3 DRAM存儲器 SDRAM同步型動態(tài)存儲器。計(jì)算機(jī)系統(tǒng)中的CPU使用的是系統(tǒng)時(shí)鐘,SDRAM的操作要求與系統(tǒng)時(shí)鐘相同步,在系統(tǒng)時(shí)鐘的控制下從CPU獲得地址、數(shù)據(jù)和控制信息。
15、換句話說,它與CPU的數(shù)據(jù)交換同步于外部的系統(tǒng)時(shí)鐘信號,并且以CPU/存儲器總線的最高速度運(yùn)行,而不需要插入等待狀態(tài)。其原理和時(shí)序關(guān)系見下一頁圖和動畫。27283.3 DRAM存儲器例4 CDRAM內(nèi)存條組成實(shí)例。一片CDRAM的容量為1M4位,8片這樣的芯片可組成1M32位4MB的存儲模塊,其組成如下圖所示。293.3 DRAM存儲器七、DRAM主存讀/寫的正確性校驗(yàn) DRAM通常用做主存儲器,其讀寫操作的正確性與可靠性至關(guān)重要。為此除了正常的數(shù)據(jù)位寬度,還增加了附加位,用于讀/寫操作正確性校驗(yàn)。增加的附加位也要同數(shù)據(jù)位一起寫入DRAM中保存。其原理如圖所示。303.4 只讀存儲器和閃速存儲
16、器一、只讀存儲器 ROM叫做只讀存儲器。顧名思義,只讀的意思是在它工作時(shí)只能讀出,不能寫入。然而其中存儲的原始數(shù)據(jù),必須在它工作以前寫入。只讀存儲器由于工作可靠,保密性強(qiáng),在計(jì)算機(jī)系統(tǒng)中得到廣泛的應(yīng)用。主要有兩類: 掩模ROM:掩模ROM實(shí)際上是一個(gè)存儲內(nèi)容固定的ROM,由生產(chǎn)廠家提供產(chǎn)品。 可編程ROM:用戶后寫入內(nèi)容,有些可以多次寫入。 一次性編程的PROM 多次編程的EPROM和E2PROM。313.4 只讀存儲器和閃速存儲器1、掩模ROM掩模ROM的陣列結(jié)構(gòu)和存儲元 323.4 只讀存儲器和閃速存儲器2、掩模ROM的邏輯符號和內(nèi)部邏輯框圖 333.4 只讀存儲器和閃速存儲器3、可編程R
17、OM EPROM叫做光擦除可編程可讀存儲器。它的存儲內(nèi)容可以根據(jù)需要寫入,當(dāng)需要更新時(shí)將原存儲內(nèi)容抹去,再寫入新的內(nèi)容。 現(xiàn)以浮柵雪崩注入型MOS管為存儲元的EPROM為例進(jìn)行說明,結(jié)構(gòu)如右圖所示。 343.4 只讀存儲器和閃速存儲器 現(xiàn)以浮柵雪崩注入型MOS管為存儲元的EPROM為例進(jìn)行說明,結(jié)構(gòu)如圖(a)所示,圖(b)是電路符號。 若在漏極D端加上約幾十伏的脈沖電壓,使得溝道中的電場足夠強(qiáng),則會造成雪崩,產(chǎn)生很多高能量電子。此時(shí),若在G2柵上加上正電壓,形成方向與溝道垂直的電場,便可使溝道中的電子穿過氧化層而注入到G1柵,從而使G1柵積累負(fù)電荷。 由于G1柵周圍都是絕緣的二氧化硅層,泄漏電
18、流極小,所以一旦電子注入到G1柵后,就能長期保存。 353.4 只讀存儲器和閃速存儲器當(dāng)G1柵有電子積累時(shí),該MOS管的開啟電壓變得很高,即使G2柵為高電平,該管仍不能導(dǎo)通,相當(dāng)于存儲了“0”。反之,G1柵無電子積累時(shí),MOS管的開啟電壓較低,當(dāng)G2柵為高電平時(shí),該管可以導(dǎo)通,相當(dāng)于存儲了“1”。圖(d)示出了讀出時(shí)的電路,它采用二維譯碼方式:x地址譯碼器的輸出xi與G2柵極相連,以決定T2管是否選中;y地址譯碼器的輸出yi與T1管柵極相連,控制其數(shù)據(jù)是否讀出。當(dāng)片選信號CS為高電平即該片選中時(shí),方能讀出數(shù)據(jù)。363.4 只讀存儲器和閃速存儲器 這種器件的上方有一個(gè)石英窗口,如圖(c)所示。當(dāng)
19、用光子能量較高的紫外光照射G1浮柵時(shí),G1中電子獲得足夠能量,從而穿過氧化層回到襯底中,如圖(e)所示。這樣可使浮柵上的電子消失,達(dá)到抹去存儲信息的目的,相當(dāng)于存儲器又存了全“1”。373.4 只讀存儲器和閃速存儲器 這種EPROM出廠時(shí)為全“1”狀態(tài),使用者可根據(jù)需要寫“0”。寫“0”電路如圖(f)所示,xi和yi選擇線為高電位,P端加20多伏的正脈沖,脈沖寬度為0.11ms。EPROM允許多次重寫。抹去時(shí),用40W紫外燈,相距2cm,照射幾分鐘即可。 383.4 只讀存儲器和閃速存儲器 E2PROM存儲元 EEPROM,叫做電擦除可編程只讀存儲器。其存儲元是一個(gè)具有兩個(gè)柵極的NMOS管,如
20、圖(a)和(b)所示,G1是控制柵,它是一個(gè)浮柵,無引出線;G2是抹去柵,它有引出線。在G1柵和漏極D之間有一小面積的氧化層,其厚度極薄,可產(chǎn)生隧道效應(yīng)。如圖(c)所示,當(dāng)G2柵加20V正脈沖P1時(shí),通過隧道效應(yīng),電子由襯底注入到G1浮柵,相當(dāng)于存儲了“1”。利用此方法可將存儲器抹成全“1”狀態(tài)。393.4 只讀存儲器和閃速存儲器 這種存儲器在出廠時(shí),存儲內(nèi)容為全“1”狀態(tài)。使用時(shí),可根據(jù)要求把某些存儲元寫“0”。寫“0”電路如圖(d)所示。漏極D加20V正脈沖P2,G2柵接地,浮柵上電子通過隧道返回襯底,相當(dāng)于寫“0”。E2PROM允許改寫上千次,改寫(先抹后寫)大約需20ms,數(shù)據(jù)可存儲2
21、0年以上。 E2PROM讀出時(shí)的電路如圖(e)所示,這時(shí)G2柵加3V電壓,若G1柵有電子積累,T2管不能導(dǎo)通,相當(dāng)于存“1”;若G1柵無電子積累,T2管導(dǎo)通,相當(dāng)于存“0”。 403.4 只讀存儲器和閃速存儲器4、閃速存儲器FLASH存儲器也翻譯成閃速存儲器,它是高密度非失易失性的讀/寫存儲器。高密度意味著它具有巨大比特?cái)?shù)目的存儲容量。非易失性意味著存放的數(shù)據(jù)在沒有電源的情況下可以長期保存??傊扔蠷AM的優(yōu)點(diǎn),又有ROM的優(yōu)點(diǎn),稱得上是存儲技術(shù)劃時(shí)代的進(jìn)展。 413.4 只讀存儲器和閃速存儲器 FLASH存儲元在EPROM存儲元基礎(chǔ)上發(fā)展起來的,由此可以看出創(chuàng)新與繼承的關(guān)系。 如右圖所示
22、為閃速存儲器中的存儲元,由單個(gè)MOS晶體管組成,除漏極D和源極S外,還有一個(gè)控制柵和浮空柵。423.4 只讀存儲器和閃速存儲器 “0”狀態(tài)狀態(tài):當(dāng)控制柵加上足夠的正電壓時(shí),浮空柵將儲存許多電子帶負(fù)電,這意味著浮空柵上有很多負(fù)電荷,這種情況我們定義存儲元處于0狀態(tài)。 “1”狀態(tài)狀態(tài):如果控制柵不加正電壓,浮空柵則只有少許電子或不帶電荷,這種情況我們定義為存儲元處于1狀態(tài)。 浮空柵上的電荷量決定了讀取操作時(shí),加在柵極上的控制電壓能否開啟MOS管,并產(chǎn)生從漏極D到源極S的電流。 433.4 只讀存儲器和閃速存儲器 編程操作編程操作:實(shí)際上是寫操作。所有存儲元的原始狀態(tài)均處“1”狀態(tài),這是因?yàn)椴脸僮?/p>
23、時(shí)控制柵不加正電壓。編程操作的目的是為存儲元的浮空柵補(bǔ)充電子,從而使存儲元改寫成“0”狀態(tài)。如果某存儲元仍保持“1”狀態(tài),則控制柵就不加正電壓。 如圖(a)表示編程操作時(shí)存儲元寫0、寫1的情況。實(shí)際上編程時(shí)只寫0,不寫1,因?yàn)榇鎯υ脸笤紶顟B(tài)全為1。要寫0,就是要在控制柵C上加正電壓。一旦存儲元被編程,存儲的數(shù)據(jù)可保持100年之久而無需外電源。 443.4 只讀存儲器和閃速存儲器 讀取操作:讀取操作:控制柵加上正電壓。浮空柵上的負(fù)電荷量將決定是否可以開啟MOS晶體管。如果存儲元原存1,可認(rèn)為浮空柵不帶負(fù)電,控制柵上的正電壓足以開啟晶體管。如果存儲元原存0,可認(rèn)為浮空柵帶負(fù)電,控制柵上的正電
24、壓不足以克服浮動?xùn)派系呢?fù)電量,晶體管不能開啟導(dǎo)通。 當(dāng)MOS晶體管開啟導(dǎo)通時(shí),電源VD提供從漏極D到源極S的電流。讀出電路檢測到有電流,表示存儲元中存1,若讀出電路檢測到無電流,表示存儲元中存0,如圖(b)所示。453.4 只讀存儲器和閃速存儲器 擦除操作擦除操作:所有的存儲元中浮空柵上的負(fù)電荷要全部洩放出去。為此晶體管源極S加上正電壓,這與編程操作正好相反,見圖(c)所示。源極S上的正電壓吸收浮空柵中的電子,從而使全部存儲元變成1狀態(tài)。463.4 只讀存儲器和閃速存儲器 FLASH存儲器的陣列結(jié)構(gòu) FLASH存儲器的簡化陣列結(jié)構(gòu)如右圖所示。在某一時(shí)間只有一條行選擇線被激活。讀操作時(shí),假定某個(gè)
25、存儲元原存1,那么晶體管導(dǎo)通,與它所在位線接通,有電流通過位線,所經(jīng)過的負(fù)載上產(chǎn)生一個(gè)電壓降。這個(gè)電壓降送到比較器的一個(gè)輸入端,與另一端輸入的參照電壓做比較,比較器輸出一個(gè)標(biāo)志為邏輯1的電平。如果某個(gè)存儲元原先存0,那么晶體管不導(dǎo)通,位線上沒有電流,比較器輸出端則產(chǎn)生一個(gè)標(biāo)志為邏輯0的電平。 473.5 并行存儲器由于CPU和主存儲器之間在速度上是不匹配的,這種情況便成為限制高速計(jì)算機(jī)設(shè)計(jì)的主要問題。為了提高CPU和主存之間的數(shù)據(jù)傳輸率,除了主存采用更高速的技術(shù)來縮短讀出時(shí)間外,還可以采用并行技術(shù)的存儲器。 483.5 并行存儲器 解決途徑 多個(gè)存儲器并行工作 并行訪問和交叉訪問 設(shè)置各種緩沖
26、器 通用寄存器 采用分層的存儲系統(tǒng) Cache(第6節(jié)) 虛擬存儲系統(tǒng)(第9章)493.5 并行存儲器一、雙端口存儲器 1、雙端口存儲器的邏輯結(jié)構(gòu) 雙端口存儲器由于同一個(gè)存儲器具有兩組相互獨(dú)立的讀寫控制電路而得名。由于進(jìn)行并行的獨(dú)立操作,因而是一種高速工作的存儲器,在科研和工程中非常有用。 舉例說明,雙端口存儲器IDT7133的邏輯框圖 。如下頁圖。503.5 并行存儲器513.5 并行存儲器2、無沖突讀寫控制 當(dāng)兩個(gè)端口的地址不相同時(shí),在兩個(gè)端口上進(jìn)行讀寫操作,一定不會發(fā)生沖突。當(dāng)任一端口被選中驅(qū)動時(shí),就可對整個(gè)存儲器進(jìn)行存取,每一個(gè)端口都有自己的片選控制(CE)和輸出驅(qū)動控制(OE)。讀操
27、作時(shí),端口的OE(低電平有效)打開輸出驅(qū)動器,由存儲矩陣讀出的數(shù)據(jù)就出現(xiàn)在I/O線上。3、有沖突讀寫控制 當(dāng)兩個(gè)端口同時(shí)存取存儲器同一存儲單元時(shí),便發(fā)生讀寫沖突。為解決此問題,特設(shè)置了BUSY標(biāo)志。在這種情況下,片上的判斷邏輯可以決定對哪個(gè)端口優(yōu)先進(jìn)行讀寫操作,而對另一個(gè)被延遲的端口置BUSY標(biāo)志(BUSY變?yōu)榈碗娖?,即暫時(shí)關(guān)閉此端口。 523.5 并行存儲器4、有沖突讀寫控制判斷方法(1)如果地址匹配且在CE之前有效,片上的控制邏輯在CEL和CER之間進(jìn)行判斷來選擇端口(CE判斷)。(2)如果CE在地址匹配之前變低,片上的控制邏輯在左、右地址間進(jìn)行判斷來選擇端口(地址有效判斷)。 無論采用
28、哪種判斷方式,延遲端口的BUSY標(biāo)志都將置位而關(guān)閉此端口,而當(dāng)允許存取的端口完成操作時(shí),延遲端口BUSY標(biāo)志才進(jìn)行復(fù)位而打開此端口。533.5.1雙端口存儲器543.5 并行存儲器二、多模塊交叉存儲器:一個(gè)由若干個(gè)模塊組成的主存儲器是線性編址的。這些地址在各模塊中如何安排,有兩種方式:一種是順序方式,一種是交叉方式 553.5 并行存儲器 假設(shè)有n個(gè)存儲體,每個(gè)存儲體的容量為m個(gè)存儲單元 順序方式:n2logm2log每個(gè)存儲體內(nèi)的地址片選,存儲體選擇563.5 并行存儲器1、順序方式例M0M3共四個(gè)模塊,則每個(gè)模塊8個(gè)字順序方式: M0:07 M1:815 M2:1623 M3:2431 5
29、位地址組織如下: X X X X X 高位選模塊,低位選塊內(nèi)地址 特點(diǎn):某個(gè)模塊進(jìn)行存取時(shí),其他模塊不工作,優(yōu)點(diǎn)是某一模塊出現(xiàn)故障時(shí),其他模塊可以照常工作,通過增添模塊來擴(kuò)充存儲器容量比較方便。缺點(diǎn)是各模塊串行工作,存儲器的帶寬受到了限制。573.5 并行存儲器2、交叉方式 (可以實(shí)現(xiàn)多模塊流水式并行存?。﹏2logm2log每個(gè)存儲體內(nèi)的地址片選,存儲體選擇583.5 并行存儲器例M0M3共四個(gè)模塊,則每個(gè)模塊8個(gè)字 交叉方式: M0:0,4,.除以4余數(shù)為0 M1:1,5,.除以4余數(shù)為1 M2:2,6,.除以4余數(shù)為2 M3:3,7,.除以4余數(shù)為3 5位地址組織如下: X X X X
30、X 高位選塊內(nèi)地址,低位選模塊 特點(diǎn):連續(xù)地址分布在相鄰的不同模塊內(nèi),同一個(gè)模塊內(nèi)的地址都是不連續(xù)的。優(yōu)點(diǎn)是對連續(xù)字的成塊傳送可實(shí)現(xiàn)多模塊流水式并行存取,大大提高存儲器的帶寬。使用場合為成批數(shù)據(jù)讀取。593.5 并行存儲器3、多模塊交叉存儲器的基本結(jié)構(gòu) 右圖為四模塊交叉存儲器結(jié)構(gòu)框圖。主存被分成4個(gè)相互獨(dú)立、容量相同的模塊M0,M1,M2,M3,每個(gè)模塊都有自己的讀寫控制電路、地址寄存器和數(shù)據(jù)寄存器,各自以等同的方式與CPU傳送信息。在理想情況下,如果程序段或數(shù)據(jù)塊都是連續(xù)地在主存中存取,那么將大大提高主存的訪問速度。 603.5 并行存儲器 通常在一個(gè)存儲器周期內(nèi),n個(gè)存儲體必須分時(shí)啟動,則
31、各個(gè)存儲體的啟動間隔為 (n為交叉存取度) 整個(gè)存儲器的存取速度有望提高n倍nTt/)1()1(nnxTtxTtxTt交叉順序61例5 設(shè)存儲器容量為32字,字長64位,模塊數(shù)m=4,分別用順序方式和交叉方式進(jìn)行組織。存儲周期T=200ns,數(shù)據(jù)總線寬度為64位,總線傳送周期=50ns。若連續(xù)讀出4個(gè)字,問順序存儲器和交叉存儲器的帶寬各是多少?解:順序存儲器和交叉存儲器連續(xù)讀出m=4個(gè)字的信息總量都是:q=64b4=256b順序存儲器和交叉存儲器連續(xù)讀出4個(gè)字所需的時(shí)間分別是:t2=mT=4200ns=800ns=810-7st1=T+(m-1)=200ns+350ns=350ns=3510-
32、7s順序存儲器和交叉存儲器的帶寬分別是:W2=q/t2=256b(810-7)s=320Mb/sW1=q/t1=256b(3510-7)s=730Mb/s62二模塊交叉存儲器舉例63二模塊交叉存儲器舉例643.5 并行存儲器 相聯(lián)存儲器 原理:按內(nèi)容存取的存儲器,可以選擇記錄(關(guān)鍵字)的一個(gè)字段作為地址 組成:見下一頁圖 主要用途:在虛擬存儲器中存放段表、頁表和快表,也可以作Cache的行地址653.5 并行存儲器663.6 Cache存儲器1、基本原理(1)功能:解決CPU和主存之間的速度不匹配問題 一般采用高速的SRAM構(gòu)成。 CPU和主存之間的速度差別很大采用兩級或多級Cache系統(tǒng) 早
33、期的一級Cache在CPU內(nèi),二級在主板上 現(xiàn)在的CPU內(nèi)帶L1 Cahe和L2 Cahe 全由硬件調(diào)度,對用戶透明673.6 Cache存儲器683.6 Cache存儲器(2)cache基本原理 地址映射; 替換策略; 寫一致性; 性能評價(jià)。693.6 Cache存儲器cache基本原理小結(jié): cache是介于CPU和主存M2之間的小容量存儲器,但存取速度比主存快。主存容量配置幾百M(fèi)B的情況下,cache的典型值是幾百KB。cache能高速地向CPU提供指令和數(shù)據(jù),從而加快了程序的執(zhí)行速度。從功能上看,它是主存的緩沖存儲器,由高速的SRAM組成。為追求高速,包括管理在內(nèi)的全部功能由硬件實(shí)現(xiàn),
34、因而對程序員是透明的。 Cache的設(shè)計(jì)依據(jù):CPU這次訪問過的數(shù)據(jù),下次有很大的可能也是訪問附近的數(shù)據(jù)。 CPU與Cache之間的數(shù)據(jù)傳送是以字為單位 主存與Cache之間的數(shù)據(jù)傳送是以塊為單位 CPU讀主存時(shí),便把地址同時(shí)送給Cache和主存,Cache控制邏輯依據(jù)地址判斷此字是否在Cache中,若在此字立即傳送給CPU ,否則,則用主存讀周期把此字從主存讀出送到CPU,與此同時(shí),把含有這個(gè)字的整個(gè)數(shù)據(jù)塊從主存讀出送到cache中。703.6 Cache存儲器(3) Cache的命中率 從CPU來看,增加一個(gè)cache的目的,就是在性能上使主存的平均讀出時(shí)間盡可能接近c(diǎn)ache的讀出時(shí)間。
35、為了達(dá)到這個(gè)目的,在所有的存儲器訪問中由cache滿足CPU需要的部分應(yīng)占很高的比例,即cache的命中率應(yīng)接近于1。由于程序訪問的局部性,實(shí)現(xiàn)這個(gè)目標(biāo)是可能的。 713.6 Cache存儲器 在一個(gè)程序執(zhí)行期間,設(shè)Nc表示cache完成存取的總次數(shù),Nm表示主存完成存取的總次數(shù),h定義為命中率,則有 h=Nc/(Nc+Nm) 若tc表示命中時(shí)的cache訪問時(shí)間,tm表示未命中時(shí)的主存訪問時(shí)間,1-h表示未命中率,則cache/主存系統(tǒng)的平均訪問時(shí)間ta為:ta=h*tc+(1-h)tm 我們追求的目標(biāo)是,以較小的硬件代價(jià)使cache/主存系統(tǒng)的平均訪問時(shí)間ta越接近tc越好。 設(shè)r=tm/
36、tc表示主存慢于cache的倍率,e表示訪問效率,則有e=tc/ta=tc/(h*tc+(1-h)*tm =1/(h+(1-h)*r=1/(r+(1-r)*h 由表達(dá)式看出,為提高訪問效率,命中率h越接近1越好,r值以510為宜,不宜太大。 命中率h與程序的行為、cache的容量、組織方式、塊的大小有關(guān)。72例6CPU執(zhí)行一段程序時(shí),cache完成存取的次數(shù)為1900次,主存完成存取的次數(shù)為100次,已知cache存取周期為50ns,主存存取周期為250ns,求cache/主存系統(tǒng)的效率和平均訪問時(shí)間。 公式cmcamcameettrhrrttethhttNNNh/)1 (1)1 (命中率命中
37、率 Cache/主存系統(tǒng)的主存系統(tǒng)的平均訪問時(shí)間平均訪問時(shí)間訪問效率訪問效率Cache與內(nèi)存的速與內(nèi)存的速度比度比73例6解: h=Nc/(Nc+Nm)=1900/(1900+100)=0.95 r=tm/tc=250ns/50ns=5 e=1/(r+(1-r)h)=1/(5+(1-5)0.95=83.3% ta=tc/e=50ns/0.833=60ns 743.6.2主存與Cache的地址映射 無論選擇那種映射方式,都要把主存和cache劃分為同樣大小的“塊”。 選擇哪種映射方式,要考慮: 硬件是否容易實(shí)現(xiàn) 地址變換的速度是否快 主存空間的利用率是否高 主存裝入一塊時(shí),發(fā)生沖突的概率 以下我
38、們介紹三種映射方法75一、全相聯(lián)的映射方式 映射方法(多對多) 主存內(nèi)容可以拷貝到任意行 地址變換 標(biāo)記實(shí)際上構(gòu)成了一個(gè)目錄表。76一、全相聯(lián)的映射方式77一、全相聯(lián)的映射方式1、將地址分為兩部分(塊號和字),在內(nèi)存塊寫入Cache時(shí),同時(shí)寫入塊號標(biāo)記;2、CPU給出訪問地址后,也將地址分為兩部分(塊號和字),比較電路塊號與Cache 表中的標(biāo)記進(jìn)行比較,相同表示命中,訪問相應(yīng)單元;如果沒有命中訪問內(nèi)存,CPU 直接訪問內(nèi)存,并將被訪問內(nèi)存的相對應(yīng)塊寫入Cache。78一、全相聯(lián)的映射方式3、特點(diǎn): 優(yōu)點(diǎn):沖突概率小,Cache的利用高。 缺點(diǎn):比較器難實(shí)現(xiàn),需要一個(gè)訪問速度很快代價(jià)高的相聯(lián)存
39、儲器4、應(yīng)用場合: 適用于小容量的Cache79二、直接映射方式1、映射方法(一對多)如: i= j mod m 主存第j塊內(nèi)容拷貝到Cache的i行 一般I和m都是2N級 例cache容量16字,主存容量256字,則地址2,18,34.242等都存放在cache的地址2內(nèi),如果第一次2在cache中,下次訪問34內(nèi)容,則不管cache其他位置的內(nèi)容訪問情況,都會引起2塊內(nèi)容的替換80二、直接映射方式2、基本原理 利用行號選擇相應(yīng)行; 把行標(biāo)記與CPU訪問地址進(jìn)行比較,相同表示命中,訪問Cache; 如果沒有命中,訪問內(nèi) 存,并將相應(yīng)塊寫入Cache81二、直接映射方式3、特點(diǎn) 優(yōu)點(diǎn):比較電路
40、少m倍線路,所以硬件實(shí)現(xiàn)簡單,Cache地址為主存地址的低幾位,不需變換。 缺點(diǎn):沖突概率高(抖動)4、應(yīng)用場合 適合大容量Cache82三、組相聯(lián)映射方式 前兩者的組合 Cache分組,組間采用直接映射方式,組內(nèi)采用全相聯(lián)的映射方式 Cache分組U,組內(nèi)容量V 映射方法(一對多) q= j mod u 主存第j塊內(nèi)容拷貝到Cache的q組中的某行 地址變換 設(shè)主存地址x,看是不是在cache中,先y= x mod u,則在y組中一次查找833、組相聯(lián)映射方式分析:比全相聯(lián)容易實(shí)現(xiàn),沖突低v=1,則為直接相聯(lián)映射方式u=1,則為全相聯(lián)映射方式v的取值一般比較小, 一般是2的冪,稱之為v路組相
41、聯(lián)cache.84853.6.3替換策略 LFU(最不經(jīng)常使用 ):被訪問的行計(jì)數(shù)器增加1,換值小的行,不能反映近期cache的訪問情況, LRU(近期最少使用) :被訪問的行計(jì)數(shù)器置0,其他的計(jì)數(shù)器增加1,換值大的行,符合cache的工作原理 隨機(jī)替換:隨機(jī)替換策略實(shí)際上是不要什么算法,從特定的行位置中隨機(jī)地選取一行換出即可。這種策略在硬件上容易實(shí)現(xiàn),且速度也比前兩種策略快。缺點(diǎn)是隨意換出的數(shù)據(jù)很可能馬上又要使用,從而降低命中率和cache工作效率。但這個(gè)不足隨著cache容量增大而減小。隨機(jī)替換策略的功效只是稍遜于前兩種策略。863.6.3替換策略 例子:設(shè)cache有1、2、3、4共4個(gè)
42、塊,a、b、c、d等為主存中的塊,訪問順序一次如下:a、b、c、d、b、b、c、c、d、d、a ,下次若要再訪問e塊。問,采用LFU和LRU算法替換結(jié)果是不是相同? 87 LFU(最不經(jīng)常使用)LRU(近期最少使用) 說明1塊2塊3塊4塊說明1塊2塊3塊4塊aa進(jìn)入1000a進(jìn)入0111bb進(jìn)入1100b進(jìn)入1022cc進(jìn)入1110c進(jìn)入2103dd進(jìn)入1111d進(jìn)入3210b命中1211命中4021b命中1311命中5032c命中1321命中6103c命中1331命中7204d命中1332命中8310d命中1333命中9420a命中2333命中0531e替換a1000替換b1042883.6.4寫操作策略 由于cache的內(nèi)容只是主存部分內(nèi)容的
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基本知識培訓(xùn)班課件開班
- 從奈達(dá)動態(tài)對等理論看《紅樓夢》英譯策略的演變與啟示
- 中部地區(qū)高校大學(xué)生就業(yè)的個(gè)人因素剖析與路徑探索
- 三七根及花總皂苷對乳腺癌侵襲的抑制作用及機(jī)制探究
- ENSO與組合模態(tài)對華南冬春季降水影響的年代際變化:機(jī)制、特征與預(yù)測
- 八年級數(shù)學(xué)全等三角形輔助線試卷及答案
- 基層醫(yī)院手衛(wèi)生培訓(xùn)課件
- 新解讀《GB-T 39708-2020三氟化硼》
- 新解讀《GB-T 22578.3-2020電氣絕緣系統(tǒng)(EIS) 液體和固體組件的熱評定 第3部分:密封式電動機(jī)-壓縮機(jī)》
- 唐詩研究試題及答案
- 運(yùn)維項(xiàng)目進(jìn)度計(jì)劃
- 語文七年級下字帖打印版
- 2023年下教資筆試重點(diǎn)學(xué)霸筆記-幼兒科一二
- 設(shè)備材料采購合同供應(yīng)商履約評價(jià)表
- 危重患者轉(zhuǎn)運(yùn)安全
- 深入淺出Embedding:原理解析與應(yīng)用實(shí)踐
- 學(xué)習(xí)2023年浙江“千萬工程”全文ppt
- 江蘇省省級臨床重點(diǎn)??粕陥?bào)書
- 中醫(yī)臨床診療術(shù)語(證侯部分)
- 信訪事項(xiàng)辦理流程圖
- 風(fēng)電場齒輪箱潤滑油使用規(guī)定(2023年727修訂)
評論
0/150
提交評論