計算機組成原理:第5章 存儲系統(tǒng)和結(jié)構(gòu)_第1頁
計算機組成原理:第5章 存儲系統(tǒng)和結(jié)構(gòu)_第2頁
計算機組成原理:第5章 存儲系統(tǒng)和結(jié)構(gòu)_第3頁
計算機組成原理:第5章 存儲系統(tǒng)和結(jié)構(gòu)_第4頁
計算機組成原理:第5章 存儲系統(tǒng)和結(jié)構(gòu)_第5頁
已閱讀5頁,還剩153頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1第5章存儲系統(tǒng)和結(jié)構(gòu)2存儲系統(tǒng)是由幾個容量、速度和價格各不相同的存儲器構(gòu)成的系統(tǒng),設(shè)計一個容量大、速度快、成本低的存儲系統(tǒng)是計算機發(fā)展的一個重要課題。本章重點討論主存儲器的工作原理、組成方式以及運用半導(dǎo)體存儲芯片組成主存儲器的一般原則和方法,此外還介紹了高速緩沖存儲器和虛擬存儲器的基本原理。3本章學習內(nèi)容5.1存儲系統(tǒng)的組成5.2主存儲器的組織5.3半導(dǎo)體隨機存儲器和只讀存儲器5.4主存儲器的連接與控制5.5提高主存讀寫速度的技術(shù)5.6多體交叉存儲技術(shù)5.7高速緩沖存儲器5.8虛擬存儲器4本章學習要求了解:存儲器的分類方法和存儲系統(tǒng)的層次理解:主存儲器的基本結(jié)構(gòu)、存儲單元和主存儲器的主要技術(shù)指標掌握:數(shù)據(jù)在主存中的存放方法了解:半導(dǎo)體隨機存儲器(靜態(tài)RAM和動態(tài)RAM)的基本存儲原理理解:動態(tài)RAM的刷新了解:RAM芯片的基本結(jié)構(gòu)理解:各種不同類型的ROM掌握:主存儲器容量的各種擴展方法理解:主存儲器和CPU的軟連接了解:Cache存儲系統(tǒng)和虛擬存儲器的概念55.1存儲系統(tǒng)的組成存儲系統(tǒng)和存儲器是兩個不同的概念,下面首先介紹各種不同用途的存儲器,然后討論它們是如何構(gòu)成一個存儲系統(tǒng)的。65.1.1存儲器分類1.按存儲器在計算機系統(tǒng)中的作用分類⑴高速緩沖存儲器

高速緩沖存儲器用來存放正在執(zhí)行的程序段和數(shù)據(jù)。高速緩沖存儲器的存取速度可以與CPU的速度相匹配,但存儲容量較小,價格較高。⑵主存儲器

主存用來存放計算機運行期間所需要的程序和數(shù)據(jù),CPU可直接隨機地進行讀/寫訪問。71.按存儲器在計算機系統(tǒng)中的作用分類(續(xù))

⑶輔助存儲器

輔助存儲器用來存放當前暫不參與運行的程序和數(shù)據(jù)以及一些需要永久性保存的信息。輔存設(shè)在主機外部,CPU不能直接訪問它。輔存中的信息必須通過專門的程序調(diào)入主存后,CPU才能使用。8⑴隨機存取存儲器RAMCPU可以對存儲器中的內(nèi)容隨機地存取,CPU對任何一個存儲單元的寫入和讀出時間是一樣的,即存取時間相同,與其所處的物理位置無關(guān)。⑵只讀存儲器ROM

ROM可以看作RAM的一種特殊形式,其特點是:存儲器的內(nèi)容只能隨機讀出而不能寫入。這類存儲器常用來存放那些不需要改變的信息。2.按存取方式分類9⑶順序存取存儲器SAMSAM的內(nèi)容只能按某種順序存取,存取時間的長短與信息在存儲體上的物理位置有關(guān),所以SAM只能用平均存取時間作為衡量存取速度的指標。⑷直接存取存儲器DAMDAM既不像RAM那樣能隨機地訪問任一個存儲單元,也不像SAM那樣完全按順序存取,而是介于兩者之間。當要存取所需的信息時,第一步直接指向整個存儲器中的某個小區(qū)域;第二步在小區(qū)域內(nèi)順序檢索或等待,直至找到目的地后再進行讀/寫操作。2.按存取方式分類(續(xù))10⑴磁芯存儲器采用具有矩形磁滯回線的磁性材料,利用兩種不同的剩磁狀態(tài)表示“1”或“0”。磁芯存儲器的特點是信息可以長期存儲,不會因斷電而丟失;但磁芯存儲器的讀出是破壞性讀出,即不論磁芯原存的內(nèi)容為“0”還是“1”,讀出之后磁芯的內(nèi)容一律變?yōu)椤?”。⑵半導(dǎo)體存儲器

采用半導(dǎo)體器件制造的存儲器,主要有MOS型存儲器和雙極型存儲器兩大類。MOS型存儲器集成度高、功耗低、價格便宜、存取速度較慢;雙極型存儲器存取速度快、集成度較低、功耗較大、成本較高。半導(dǎo)體RAM存儲的信息會因為斷電而丟失。3.按存儲介質(zhì)分類11⑶磁表面存儲器

在金屬或塑料基體上,涂復(fù)一層磁性材料,用磁層存儲信息,常見的有磁盤、磁帶等。由于它的容量大、價格低、存取速度慢,故多用作輔助存儲器。⑷光存儲器采用激光技術(shù)控制訪問的存儲器,一般分為只讀式、一次寫入式、可讀寫式3種,它們的存儲容量都很大,是目前使用非常廣泛的輔助存儲器。

3.按存儲介質(zhì)分類(續(xù))12斷電后,存儲信息即消失的存儲器,稱易失性存儲器。斷電后信息仍然保存的存儲器,稱非易失性存儲器。如果某個存儲單元所存儲的信息被讀出時,原存信息將被破壞,則稱破壞性讀出;如果讀出時,被讀單元原存信息不被破壞,則稱非破壞性讀出。具有破壞性讀出的存儲器,每當一次讀出操作之后,必須緊接一個重寫(再生)的操作,以便恢復(fù)被破壞的信息。

4.按信息的可保存性分類

135.1.2存儲系統(tǒng)層次結(jié)構(gòu)為了解決存儲容量、存取速度和價格之間的矛盾,通常把各種不同存儲容量、不同存取速度的存儲器,按一定的體系結(jié)構(gòu)組織起來,形成一個統(tǒng)一整體的存儲系統(tǒng)。多級存儲層次從CPU的角度來看,n種不同的存儲器(M1~Mn)在邏輯上是一個整體。其中:M1速度最快、容量最小、位價格最高;Mn速度最慢、容量最大、位價格最低。整個存儲系統(tǒng)具有接近于M1的速度,相等或接近Mn的容量,接近于Mn的位價格。在多級存儲層次中,最常用的數(shù)據(jù)在M1中,次常用的在M2中,最少使用的在Mn中。14多級存儲層次圖5-1多級存儲層次155.1.2存儲系統(tǒng)層次結(jié)構(gòu)(續(xù))

對于由M1和M2構(gòu)成的兩級存儲層次結(jié)構(gòu),假設(shè)M1、M2訪問時間分別為TA1、TA2。

命中率H定義為CPU產(chǎn)生的邏輯地址能在M1中訪問到的概率。在一個程序執(zhí)行期間,設(shè)N1為訪問M1的命中次數(shù),N2為訪問M2的次數(shù)。H=

兩級存儲層次的等效訪問時間TA根據(jù)M2的啟動時間有:

假設(shè)M1訪問和M2訪問是同時啟動的,TA=H×TA1+(1?H)×TA216Cache-主存存儲層次(Cache存儲系統(tǒng))

Cache存儲系統(tǒng)是為解決主存速度不足而提出來的。從CPU看,速度接近Cache的速度,容量是主存的容量,每位價格接近于主存的價格。由于Cache存儲系統(tǒng)全部用硬件來調(diào)度,因此它對系統(tǒng)程序員和應(yīng)用程序員都是透明的。圖5-2(a)

Cache存儲系統(tǒng)17主存?輔存存儲層次(虛擬存儲系統(tǒng))

虛擬存儲系統(tǒng)是為解決主存容量不足而提出來的。從CPU看,速度接近主存的速度,容量是虛擬的地址空間,每位價格是接近于輔存的價格。由于虛擬存儲系統(tǒng)需要通過操作系統(tǒng)來調(diào)度,因此對系統(tǒng)程序員是不透明的,但對應(yīng)用程序員是透明的。圖5-2(b)

虛擬存儲系統(tǒng)18主存儲器是整個存儲系統(tǒng)的核心,它用來存放計算機運行期間所需要的程序和數(shù)據(jù),CPU可直接隨機地對它進行訪問。5.2主存儲器的組織19主存通常由存儲體、地址譯碼驅(qū)動電路、I/O和讀寫電路組成。

圖5-3主存的組成框圖5.2.1主存儲器的基本結(jié)構(gòu)20存儲體是主存儲器的核心,程序和數(shù)據(jù)都存放在存儲體中。地址譯碼驅(qū)動電路實際上包含譯碼器和驅(qū)動器兩部分。譯碼器將地址總線輸入的地址碼轉(zhuǎn)換成與之對應(yīng)的譯碼輸出線上的有效電平,以表示選中了某一存儲單元,然后由驅(qū)動器提供驅(qū)動電流去驅(qū)動相應(yīng)的讀寫電路,完成對被選中存儲單元的讀寫操作。

I/O和讀寫電路包括讀出放大器、寫入電路和讀寫控制電路,用以完成被選中存儲單元中各位的讀出和寫入操作。5.2.1主存儲器的基本結(jié)構(gòu)(續(xù))21位是二進制數(shù)的最基本單位,也是存儲器存儲信息的最小單位。一個二進制數(shù)由若干位組成,當這個二進制數(shù)作為一個整體存入或取出時,這個數(shù)稱為存儲字。存放存儲字或存儲字節(jié)的主存空間稱為存儲單元或主存單元,大量存儲單元的集合構(gòu)成一個存儲體,為了區(qū)別存儲體中的各個存儲單元,必須將它們逐一編號。存儲單元的編號稱為地址,地址和存儲單元之間有一對一的對應(yīng)關(guān)系。5.2.2主存儲器的存儲單元225.2.2主存儲器的存儲單元(續(xù))

IBM370機是字長為32位的計算機,主存按字節(jié)編址,每一個存儲字包含4個單獨編址的存儲字節(jié),它被稱為大端方案,即字地址等于最高有效字節(jié)地址,且字地址總是等于4的整數(shù)倍,正好用地址碼的最末兩位來區(qū)分同一個字的4個字節(jié)。圖5-4(a)235.2.2主存儲器的存儲單元(續(xù))PDP-11機是字長為16位的計算機,主存也按字節(jié)編址,每一個存儲字包含2個單獨編址的存儲字節(jié),它被稱為小端方案,即字地址等于最低有效字節(jié)地址,且字地址總是等于2的整數(shù)倍,正好用地址碼的最末1位來區(qū)分同一個字的兩個字節(jié)。

圖5-4(b)

245.2.3主存儲器的主要技術(shù)指標1.存儲容量對于字節(jié)編址的計算機,以字節(jié)數(shù)來表示存儲容量;對于字編址的計算機,以字數(shù)與其字長的乘積來表示存儲容量。如某機的主存容量為64K×16,表示它有64K個存儲單元,每個存儲單元的字長為16位,若改用字節(jié)數(shù)表示,則可記為128K字節(jié)(128KB)。252.存取速度⑴存取時間Ta

存取時間又稱為訪問時間或讀寫時間,它是指從啟動一次存儲器操作到完成該操作所經(jīng)歷的時間。例如:讀出時間是指從CPU向主存發(fā)出有效地址和讀命令開始,直到將被選單元的內(nèi)容讀出為止所用的時間;寫入時間是指從CPU向主存發(fā)出有效地址和寫命令開始,直到信息寫入被選中單元為止所用的時間。顯然Ta越小,存取速度越快。262.存取速度(續(xù))⑵存取周期Tm存取周期又可稱作讀寫周期、訪內(nèi)周期,是指主存進行一次完整的讀寫操作所需的全部時間,即連續(xù)兩次訪問存儲器操作之間所需要的最短時間。顯然,一般情況下,Tm>Ta。這是因為對于任何一種存儲器,在讀寫操作之后,總要有一段恢復(fù)內(nèi)部狀態(tài)的復(fù)原時間。對于破壞性讀出的RAM,存取周期往往比存取時間要大得多,甚至可以達到Tm=2Ta,這是因為存儲器中的信息讀出后需要馬上進行重寫(再生)。272.存取速度(續(xù))⑶主存帶寬Bm

與存取周期密切相關(guān)的指標是主存的帶寬,它又稱為數(shù)據(jù)傳輸率,表示每秒從主存進出信息的最大數(shù)量,單位為字每秒或字節(jié)每秒或位每秒。主存帶寬與主存的等效工作頻率及主存位寬有關(guān)系,若單位為字節(jié)每秒,則有:

Bm=主存等效工作頻率×主存位寬÷8283.可靠性可靠性是指在規(guī)定的時間內(nèi),存儲器無故障讀寫的概率。通常,用平均無故障時間MTBF來衡量可靠性。4.功耗功耗是一個不可忽視的問題,它反映了存儲器件耗電的多少,同時也反映了其發(fā)熱的程度。通常希望功耗要小,這對存儲器件的工作穩(wěn)定性有好處。大多數(shù)半導(dǎo)體存儲器的工作功耗與維持功耗是不同的,后者大大地小于前者。295.2.4數(shù)據(jù)在主存中的存放在采用字節(jié)編址的情況下,數(shù)據(jù)在主存儲器中的3種不同存放方法。設(shè)存儲字長為64位(8個字節(jié)),即一個存取周期最多能夠從主存讀或?qū)?4位數(shù)據(jù)。讀寫的數(shù)據(jù)有4種不同長度,它們分別是字節(jié)(8位)、半字(16位)、單字(32位)和雙字(64位)。請注意:此例中數(shù)據(jù)字長(32位)不等于存儲字長(64位)。字節(jié)半字單字雙字30存儲字64位(8個字節(jié))不浪費存儲器資源的存放方法現(xiàn)有一批數(shù)據(jù),它們依次為:字節(jié)、半字、雙字、單字、半字、單字、字節(jié)、單字。4種不同長度的數(shù)據(jù)一個緊接著一個存放。優(yōu)點是不浪費寶貴的主存資源,但存在的問題是:當訪問的一個雙字、單字或半字跨越兩個存儲單元時,存儲器的工作速度降低了一半,而且讀寫控制比較復(fù)雜。31從存儲字的起始位置開始存放的方法無論要存放的是字節(jié)、半字、單字或雙字,都必須從存儲字的起始位置開始存放,而空余部分浪費不用。優(yōu)點是:無論訪問一個字節(jié)、半字、單字或雙字都可以在一個存儲周期內(nèi)完成,讀寫數(shù)據(jù)的控制比較簡單。缺點是:浪費了寶貴的存儲器資源。32存儲字64位(8個字節(jié))從存儲字的起始位置開始存放33存儲字64位(8個字節(jié))0181624329172533210183111941220513216142271523263427283635293730313938邊界對齊的數(shù)據(jù)存放方法

此方法規(guī)定,雙字地址的最末3個二進制位必須為000,單字地址的最末兩位必須為00,半字地址的最末一位必須為0。它能夠保證無論訪問雙字、單字、半字或字節(jié),都在一個存取周期內(nèi)完成,盡管存儲器資源仍然有浪費。34

主存儲器通常分為RAM和ROM兩大部分。RAM可讀可寫,ROM只能讀不能寫。5.3半導(dǎo)體隨機存儲器和只讀存儲器35存放一個二進制位的物理器件稱為記憶單元,它是存儲器的最基本構(gòu)件,地址碼相同的多個記憶單元構(gòu)成一個存儲單元。記憶單元可以由各種材料制成,但最常見的由MOS電路組成。RAM又可分為靜態(tài)RAM,即SRAM(StaticRAM)和動態(tài)RAM,即DRAM(DynamicRAM)兩種。5.3.1RAM記憶單元電路361.6管SRAM記憶單元電路

SRAM記憶單元是用雙穩(wěn)態(tài)觸發(fā)器來記憶信息的,從圖5-6中可以看出,T1~T6管構(gòu)成一個記憶單元的主體,能存放一位二進制信息,其中:T1、T2

管構(gòu)成存儲信息的雙穩(wěn)態(tài)觸發(fā)器;T3、T4管構(gòu)成門控電路,控制讀寫操作;T5、T6是T1、T2管的負載管。SRAM的存取速度快,但集成度低,功耗也較大,所以一般用來組成高速緩沖存儲器和小容量主存系統(tǒng)。376管SRAM記憶單元電路圖5-66管SRAM記憶單元電路

382.4管DRAM記憶單元電路如果將前述6管SRAM記憶單元電路中的兩個負載管(T5、T6)去掉,便形成4管DRAM記憶單元電路。負載回路斷開后,保持狀態(tài)時沒有外加電源供電,因而T1、T2管不再構(gòu)成雙穩(wěn)態(tài)觸發(fā)器,所以動態(tài)MOS記憶單元是靠MOS電路中的柵極電容C1、C2來存儲信息的。DRAM集成度高,功耗小,但存取速度慢,一般用來組成大容量主存系統(tǒng)。394管DRAM記憶單元電路圖5-74管DRAM記憶單元電路403.單管DRAM記憶單元進一步減少記憶單元中MOS管的數(shù)目可形成更簡單的3管DRAM記憶單元或單管DRAM記憶單元。單管動態(tài)記憶單元由一個MOS管T1和一個存儲電容C構(gòu)成。顯然,單管DRAM記憶單元與4管DRAM記憶單元比較,具有功耗更小、集成度更高的優(yōu)點。41單管DRAM記憶單元電路圖5-8單管DRAM記憶單元電路421.刷新間隔為了維持DRAM記憶單元的存儲信息,每隔一定時間必須刷新。一般選定的最大刷新間隔為2ms或4ms甚至更大,也就是說,應(yīng)在規(guī)定的時間內(nèi),將全部存儲體刷新一遍。刷新和重寫(再生)是兩個完全不同的概念,切不可加以混淆。重寫是隨機的,某個存儲單元只有在破壞性讀出之后才需要重寫。而刷新是定時的,即使許多記憶單元長期未被訪問,若不及時補充電荷的話,信息也會丟失。重寫一般是按存儲單元進行的,而刷新通常以存儲體矩陣中的一行為單位進行的。5.3.2動態(tài)RAM的刷新432.刷新方式

⑴集中刷新方式在允許的最大刷新間隔(如2ms)內(nèi),按照存儲芯片容量的大小集中安排若干個刷新周期,刷新時停止讀寫操作。

刷新時間=存儲矩陣行數(shù)×刷新周期這里刷新周期是指刷新一行所需要的時間,由于刷新過程就是“假讀”的過程,所以刷新周期就等于存取周期。442.刷新方式(續(xù))對具有1024個記憶單元(32×32的存儲矩陣)的存儲芯片進行刷新,刷新是按行進行的,且每刷新一行占用一個存取周期,所以共需32個周期以完成全部記憶單元的刷新。假設(shè)存取周期為500ns(0.5s),從0~3967個周期內(nèi)進行讀寫操作或保持,而從3968~3999這最后32個周期集中安排刷新操作。圖5-9集中刷新方式示意圖刷新間隔(2ms)讀寫操作刷新013967396839993968個周期(1984μs)32個周期(16μs)……452.刷新方式(續(xù))集中刷新方式的優(yōu)點是讀寫操作時不受刷新工作的影響,因此系統(tǒng)的存取速度比較高。主要缺點是在集中刷新期間必須停止讀寫,這一段時間稱為“死區(qū)”,而且存儲容量越大,死區(qū)就越長。462.刷新方式(續(xù))

⑵分散刷新方式分散刷新是指把刷新操作分散到每個存取周期內(nèi)進行,此時系統(tǒng)的存取周期被分為兩部分,前一部分時間進行讀寫操作或保持,后一部分時間進行刷新操作。在一個系統(tǒng)存取周期內(nèi)刷新存儲矩陣中的一行。這種刷新方式增加了系統(tǒng)的存取周期,如存儲芯片的存取周期為0.5s,則系統(tǒng)的存取周期應(yīng)為1s。我們?nèi)砸郧笆龅?2×32矩陣為例,整個存儲芯片刷新一遍需要32s。圖5-10分散刷新方式示意圖刷新間隔(32μs)周期0周期1周期31讀寫讀寫讀寫刷新刷新刷新…472.刷新方式(續(xù))這種刷新方式?jīng)]有死區(qū),但是,它也有很明顯的缺點,第一是加長了系統(tǒng)的存取周期,降低了整機的速度;第二是刷新過于頻繁(本例中每32s就重復(fù)刷新一遍),尤其是當存儲容量比較小的情況下,沒有充分利用所允許的最大刷新間隔(2ms)。482.刷新方式(續(xù))⑶異步刷新方式這種刷新方式是前兩種方式的結(jié)合,它充分利用了最大刷新間隔時間,把刷新操作平均分配到整個最大刷新間隔時間內(nèi)進行,故有:

相鄰兩行的刷新間隔=最大刷新間隔時間÷行數(shù)對于32×32矩陣,在2ms內(nèi)需要將32行刷新一遍,所以相鄰兩行的刷新時間間隔=2ms÷32=62.5s,即每隔62.5s安排一個刷新周期。在刷新時封鎖讀寫。492.刷新方式(續(xù))圖5-11異步刷新方式示意圖

異步刷新方式雖然也有死區(qū),但比集中刷新方式的死區(qū)小得多,僅為0.5s。這樣可以避免使CPU連續(xù)等待過長的時間,而且減少了刷新次數(shù),是比較實用的一種刷新方式。刷新間隔(2ms)讀寫讀寫讀寫刷新刷新刷新…62μs0.5μs62.5μs62.5μs50為了控制刷新,往往需要增加刷新控制電路。刷新控制電路的主要任務(wù)是解決刷新和CPU訪問存儲器之間的矛盾。通常,當刷新請求和訪存請求同時發(fā)生時,應(yīng)優(yōu)先進行刷新操作。也有些DRAM芯片本身具有自動刷新功能,即刷新控制電路在芯片內(nèi)部。3.刷新控制51⑴刷新對CPU是透明的。⑵每一行中各記憶單元同時被刷新,故刷新操作時僅需要行地址,不需要列地址。⑶刷新操作類似于讀出操作,但不需要信息輸出。另外,刷新時不需要加片選信號,即整個存儲器中的所有芯片同時被刷新。⑷因為所有芯片同時被刷新,所以在考慮刷新問題時,應(yīng)當從單個芯片的存儲容量著手,而不是從整個存儲器的容量著手。DRAM的刷新要注意的問題521.RAM芯片RAM芯片通過地址線、數(shù)據(jù)線和控制線與外部連接。地址線是單向輸入的,其數(shù)目與芯片容量有關(guān)。如容量為1024×4時,地址線有10根;容量為64K×1時,地址線有16根。數(shù)據(jù)線是雙向的,既可輸入,也可輸出,其數(shù)目與數(shù)據(jù)位數(shù)有關(guān)。如1024×4的芯片,數(shù)據(jù)線有4根;64K×1的芯片,數(shù)據(jù)線只有1根??刂凭€主要有讀寫控制線和片選線兩種,讀寫控制線用來控制芯片是進行讀操作還是寫操作的,片選線用來決定該芯片是否被選中。5.3.3RAM芯片分析53由于DRAM芯片集成度高,容量大,為了減少芯片引腳數(shù)量,DRAM芯片把地址線分成相等的兩部分,分兩次從相同的引腳送入。兩次輸入的地址分別稱為行地址和列地址,行地址由行地址選通信號送入存儲芯片,列地址由列地址選通信號送入存儲芯片。由于采用了地址復(fù)用技術(shù),因此,DRAM芯片每增加一條地址線,實際上是增加了兩位地址,也即增加了4倍的容量。1.RAM芯片(續(xù))54⑴單譯碼方式單譯碼方式又稱字選法,所對應(yīng)的存儲器是字結(jié)構(gòu)的。容量為M個字的存儲器(M個字,每字b位),排列成M行×b列的矩陣,矩陣的每一行對應(yīng)一個字,有一條公用的選擇線wi,稱為字線。地址譯碼器集中在水平方向,K位地址線可譯碼變成2K條字線,M=2K。字線選中某個字長為b位的存儲單元,經(jīng)過b根位線可讀出或?qū)懭隻位存儲信息。2.地址譯碼方式55字結(jié)構(gòu)、單譯碼方式RAM圖5-12字結(jié)構(gòu)、單譯碼方式RAM

56圖5-12中有25×8=256個記憶單元,排列成32個字,每個字長8位。有5條地址線,經(jīng)過譯碼產(chǎn)生32條字線w0~w31。某一字線被選中時,同一行中的各位b0~b7就都被選中,由讀寫電路對各位實施讀出或?qū)懭氩僮?。字結(jié)構(gòu)的優(yōu)點是結(jié)構(gòu)簡單,缺點是使用的外圍電路多,成本昂貴。更嚴重的是,當字數(shù)大大超過位數(shù)時,存儲體會形成縱向很長而橫向很窄的不合理結(jié)構(gòu),所以這種方式只適用于容量不大的存儲器。字結(jié)構(gòu)、單譯碼方式RAM57⑵雙譯碼方式

雙譯碼方式又稱為重合法。通常是把K位地址線分成接近相等的兩段,一段用于水平方向作X地址線,供X地址譯碼器譯碼;一段用于垂直方向作Y地址線,供Y地址譯碼器譯碼。X和Y兩個方向的選擇線在存儲體內(nèi)部的每個記憶單元上交叉,以選擇相應(yīng)的記憶單元。2.地址譯碼方式(續(xù))58雙譯碼方式對應(yīng)的存儲芯片結(jié)構(gòu)可以是位結(jié)構(gòu)的,也可以是字段結(jié)構(gòu)的。對于位結(jié)構(gòu)的存儲芯片,容量為M×1,把M個記憶單元排列成存儲矩陣(盡可能排列成方陣)。2.地址譯碼方式(續(xù))59位結(jié)構(gòu)、雙譯碼方式RAM圖5-13位結(jié)構(gòu)、雙譯碼方式RAM60圖5-13結(jié)構(gòu)是4096×1,排列成64×64的矩陣。地址碼共12位,X方向和Y方向各6位。若要組成一個M字×b位的存儲器,就需要把b片M×1的存儲芯片并列連接起來,即在Z方向上重疊b個芯片。位結(jié)構(gòu)、雙譯碼方式RAM61⑴SRAM讀寫時序讀周期表示對該芯片進行兩次連續(xù)讀操作的最小間隔時間。在此期間,地址輸入信息不允許改變,片選信號在地址有效之后變?yōu)橛行?,使芯片被選中,最后在數(shù)據(jù)線上得到讀出的信號。寫允許信號在讀周期中保持高電平。圖5-14(a)靜態(tài)RAM的讀時序3.RAM的讀寫時序62寫周期與讀周期相似,但除了要加地址和片選信號外,還要加一個低電平有效的寫入脈沖,并提供寫入數(shù)據(jù)。圖5-14(b)靜態(tài)RAM的寫時序3.RAM的讀寫時序(續(xù))63⑵DRAM讀寫時序在讀周期中,行地址必須在有效之前有效,列地址也必須在有效之前有效,且在到來之前,必須為高電平,并保持到脈沖結(jié)束之后。在寫周期中,當有效之后,輸入的數(shù)據(jù)必須保持到變?yōu)榈碗娖街?。在、和全部有效時,數(shù)據(jù)被寫入存儲器。3.RAM的讀寫時序(續(xù))64動態(tài)RAM的讀寫時序圖圖5-15動態(tài)RAM的讀寫時序圖651.ROM的類型⑴掩膜式ROM(MROM)

它的內(nèi)容是由半導(dǎo)體制造廠按用戶提出的要求在芯片的生產(chǎn)過程中直接寫入的,寫入之后任何人都無法改變其內(nèi)容。

MROM的優(yōu)點是:可靠性高,集成度高,形成批量之后價格便宜。缺點是:用戶對制造廠的依賴性過大,靈活性差。5.3.4半導(dǎo)體只讀存儲器(ROM)66

⑵一次可編程ROM(PROM)

PROM允許用戶利用專門的設(shè)備(編程器)寫入自己的程序,但一旦寫入后,其內(nèi)容將無法改變。PROM產(chǎn)品出廠時,所有記憶單元均制成“0”(或制成“1”),用戶根據(jù)需要可自行將其中某些記憶單元改為“1”(或改為“0”)。雙極型PROM有兩種結(jié)構(gòu),一種是熔絲燒斷型,另一種是PN結(jié)擊穿型,由于它們的寫入都是不可逆的,所以只能進行一次性寫入。

1.ROM的類型(續(xù))67⑶可擦除可編程ROM(EPROM)EPROM不僅可以由用戶利用編程器寫入信息,而且可以對其內(nèi)容進行多次改寫。EPROM出廠時,存儲內(nèi)容為全“1”,用戶可以根據(jù)需要將其中某些記憶單元改為“0”。當需要更新存儲內(nèi)容時可以將原存儲內(nèi)容擦除(恢復(fù)全“1”),以便再寫入新的內(nèi)容。

EPROM又可分為兩種:紫外線擦除(UVEPROM)和電擦除(EEPROM)。

1.ROM的類型(續(xù))68UVEPROM需用紫外線燈制作的擦抹器照射存儲器芯片上的透明窗口,使芯片中原存內(nèi)容被擦除。由于是用紫外線燈進行擦除,所以只能對整個芯片擦除,而不能對芯片中個別需要改寫的存儲單元單獨擦除。

EEPROM是采用電氣方法來進行擦除的,在聯(lián)機條件下既可以用字擦除方式擦除,也可以用數(shù)據(jù)塊擦除方式擦除。以字擦除方式操作時,能夠只擦除被選中的那個存儲單元的內(nèi)容;以數(shù)據(jù)塊擦除方式操作時,可擦除數(shù)據(jù)塊內(nèi)所有單元的內(nèi)容。

1.ROM的類型(續(xù))69⑷閃速存儲器

閃速存儲器(flashmemory)的主要特點是:既可在不加電的情況下長期保存信息,又能在線進行快速擦除與重寫,兼?zhèn)淞薊EPROM和RAM的優(yōu)點。

閃存有NOR型和NAND型兩種,NORFlash需要很長的時間進行擦寫,允許隨機存取存儲器上的任何區(qū)域,讀取數(shù)據(jù)的方式與從RAM讀取數(shù)據(jù)很相近。NANDFlash具有較快的擦寫時間,但必須以區(qū)塊為單位進行讀取。1.ROM的類型(續(xù))70

ROM中使用最多的是可擦除可編程ROM(EPROM)。各種EPROM芯片的外引腳主要有:地址線

數(shù)據(jù)線

片選線功率下降與編程輸入線電源線等2.ROM芯片

711.DIP存儲芯片過去,一般存儲芯片都是雙列直插封裝的,簡稱DIP。DIP芯片的容量一般不可能很大,如64K×1或256K×1的芯片,表示每個芯片具有64K或256K個記憶單元,若要存儲256K字節(jié)的信息,則需要8個256K×1的芯片(非奇偶校驗)或9個這樣的芯片(奇偶校驗)。5.3.5半導(dǎo)體存儲器的封裝72內(nèi)存條實際上是一條焊有多片存儲芯片的印刷電路板,插在主板內(nèi)存插槽中。SIMM有30線和72線兩種。30線的SIMM數(shù)據(jù)線的寬度只有8位(部分另加有1位校驗位),需要用四條SIMM組成一組,來構(gòu)成具有某種容量和32位數(shù)據(jù)寬度的主存儲器。72線的SIMM,數(shù)據(jù)線的寬度有32位(非奇偶校驗)或36位(奇偶校驗),每一個就可以構(gòu)成具有某種容量和32位數(shù)據(jù)寬度的主存儲器。2.內(nèi)存條

73

DIMM也有兩種類型:標準的DIMM和DDRDIMM。標準的DIMM每面84線,雙面共有84×2=168線,故而常稱為168線內(nèi)存條。而DDRDIMM每面92線,雙面共有184線。所有DIMM的數(shù)據(jù)線寬度都是64位(非奇偶校驗)或72位(奇偶校驗),所以在Pentium機中,只需一個DIMM就可構(gòu)成具有某種容量和64位數(shù)據(jù)寬度的主存儲器。2.內(nèi)存條(續(xù))

74RIMM也是雙面的,目前只有一種RIMM,它有184線。一個通道通常有3個RIMM插槽,所有RIMM插槽必須全部插滿,如有空余則要用專用的Rambus終結(jié)器填滿。2.內(nèi)存條(續(xù))

75由于存儲芯片的容量有限的,主存儲器往往要由一定數(shù)量的芯片構(gòu)成的。而由若干芯片構(gòu)成的主存還需要與CPU連接,才能在CPU的正確控制下完成讀寫操作。5.4主存儲器的連接與控制76要組成一個主存,首先要考慮選片的問題,然后就是如何把芯片連接起來的問題。根據(jù)存儲器所要求的容量和選定的存儲芯片的容量,就可以計算出總的芯片數(shù),即總片數(shù)=將多片組合起來常采用位擴展法、字擴展法、字和位同時擴展法。5.4.1主存容量的擴展77

位擴展是指只在位數(shù)方向擴展(加大字長),而芯片的字數(shù)和存儲器的字數(shù)是一致的。位擴展的連接方式是將各存儲芯片的地址線、片選線和讀寫線相應(yīng)地并聯(lián)起來,而將各芯片的數(shù)據(jù)線單獨列出。如用64K×1的SRAM芯片組成64K×8的存儲器,所需芯片數(shù)為:=8片1.位擴展78

CPU將提供16根地址線(216=65536)、8根數(shù)據(jù)線與存儲器相連;而存儲芯片僅有16根地址線、1根數(shù)據(jù)線。具體的連接方法是:8個芯片的地址線A15~A0分別連在一起,各芯片的片選信號以及讀寫控制信號也都分別連到一起,只有數(shù)據(jù)線D7~D0各自獨立,每片代表一位。當CPU訪問該存儲器時,其發(fā)出的地址和控制信號同時傳給8個芯片,選中每個芯片的同一單元,相應(yīng)單元的內(nèi)容被同時讀至數(shù)據(jù)總線的各位,或?qū)?shù)據(jù)總線上的內(nèi)容分別同時寫入相應(yīng)單元。

1.位擴展(續(xù))79位擴展連接舉例圖5-16位擴展連接舉例80

字擴展是指僅在字數(shù)方向擴展,而位數(shù)不變。字擴展將芯片的地址線、數(shù)據(jù)線、讀寫線并聯(lián),由片選信號來區(qū)分各個芯片。如用16K×8的SRAM組成64K×8的存儲器,所需芯片數(shù)為:=4片2.字擴展81

CPU將提供16根地址線、8根數(shù)據(jù)線與存儲器相連;而存儲芯片僅有14根地址線、8根數(shù)據(jù)線。四個芯片的地址線A13~A0、數(shù)據(jù)線D7~D0及讀寫控制信號都是同名信號并聯(lián)在一起;高位地址線A15、A14經(jīng)過一個地址譯碼器產(chǎn)生四個片選信號,分別選中四個芯片中的一個。2.字擴展(續(xù))82字擴展連接舉例圖5-17字擴展連接舉例83在同一時間內(nèi)4個芯片中只能有一個芯片被選中。A15A14=00,選中第一片,A15A14=01,選中第二片,……。4個芯片的地址分配如下:第一片最低地址0000000000000000B 0000H

最高地址0011111111111111B 3FFFH第二片最低地址0100000000000000B 4000H

最高地址0111111111111111B 7FFFH第三片最低地址1000000000000000B 8000H

最高地址1011111111111111B BFFFH第四片最低地址1100000000000000B C000H

最高地址1111111111111111B FFFFH2.字擴展(續(xù))84當構(gòu)成一個容量較大的存儲器時,往往需要在字數(shù)方向和位數(shù)方向上同時擴展,這將是前兩種擴展的組合,實現(xiàn)起來也是很容易的。3.字和位同時擴展85字和位同時擴展連接舉例圖5-18字和位同時擴展連接舉例86測驗:用256K*8的SRAM芯片組成2048K*32的存儲器要求詳細寫出1芯片分組2地址線、數(shù)據(jù)線分組3地址分配表4畫圖87例設(shè)有若干片256K×8位的SRAM芯片構(gòu)成2048K×32位的存儲器

(1)需要多少片RAM芯片?

(2)該存儲器需要多少字節(jié)地址位?

(3)畫出該存儲器與CPU連接的結(jié)構(gòu)圖,設(shè)CPU的接口信號有地址信號、數(shù)據(jù)信號、控制信號MREQ#和R/W#。解:2048K/256K=8組每組32位/8位=4片/組

8組*4片/組=32片需32個芯片地址線--2048K=2^21需21根256K=2^18片內(nèi)18根,片外(片選)21-18=3根數(shù)據(jù)線--32根

(4片,8位/片)控制線--MREQ#和R/W#

地址分配表組片外A22A21A20片內(nèi)A19A18……..A2總地址說明000000,0000,0000,0000,000011,1111,1111,1111,111100000003FFFF0256K-1100100,0000,0000,0000,000011,1111,1111,1111,111104000007FFFF256K512K-1...............711100,0000,0000,0000,000011,1111,1111,1111,11111C00001FFFFF1792K2048K-188例............89CPU要實現(xiàn)對存儲單元的訪問,首先要選擇存儲芯片,即進行片選;然后再從選中的芯片中依地址碼選擇出相應(yīng)的存儲單元,以進行數(shù)據(jù)的存取,這稱為字選。片內(nèi)的字選是由CPU送出的N條低位地址線完成的,地址線直接接到所有存儲芯片的地址輸入端(N由片內(nèi)存儲容量2N決定)。而存儲芯片的片選信號則大多是通過高位地址譯碼后產(chǎn)生的。片選信號的譯碼方法又可細分為線選法、全譯碼法和部分譯碼法。

5.4.2存儲芯片的地址分配和片選90線選法就是用除片內(nèi)尋址外的高位地址線直接(或經(jīng)反相器)分別接至各個存儲芯片的片選端,當某地址線信息為“0”時,就選中與之對應(yīng)的存儲芯片。請注意,這些片選地址線每次尋址時只能有一位有效,不允許同時有多位有效,這樣才能保證每次只選中一個芯片(或組)。線選法的優(yōu)點是不需要地址譯碼器,線路簡單,選擇芯片無須外加邏輯電路,但僅適用于連接存儲芯片較少的場合。同時,線選法不能充分利用系統(tǒng)的存儲器空間,且把地址空間分成了相互隔離的區(qū)域,給編程帶來了一定的困難。1.線選法91全譯碼法將除片內(nèi)尋址外的全部高位地址線都作為地址譯碼器的輸入,譯碼器的輸出作為各芯片的片選信號,將它們分別接到存儲芯片的片選端,以實現(xiàn)對存儲芯片的選擇。全譯碼法的優(yōu)點是每片(或組)芯片的地址范圍是唯一確定的,而且是連續(xù)的,也便于擴展,不會產(chǎn)生地址重疊的存儲區(qū),但全譯碼法對譯碼電路要求較高。

2.全譯碼法92所謂部分譯碼即用除片內(nèi)尋址外的高位地址的一部分來譯碼產(chǎn)生片選信號。如用4片2K×8的存儲芯片組成8K×8存儲器,需要4個片選信號,因此只需要用兩位地址線來譯碼產(chǎn)生。由于尋址8K×8存儲器時未用到高位地址A19~A13,所以只要A12=A11=0,而無論A19~A13取何值,均選中第一片;只要A12=0,A11=1,而無論A19~A13取何值,均選中第二片……也就是說,8KRAM中的任一個存儲單元,都對應(yīng)有2(20-13)=27個地址,這種一個存儲單元出現(xiàn)多個地址的現(xiàn)象稱地址重疊。3.部分譯碼93從地址分布來看,這8KB存儲器實際上占用了CPU全部的空間(1MB)。每片2K×8的存儲芯片有M=256K的地址重疊區(qū)。3.部分譯碼(續(xù))941.主存和CPU之間的硬連接主存與CPU的硬連接有3組連線:地址總線(AB)、數(shù)據(jù)總線(DB)和控制總線(CB)。此時,把主存看作一個黑盒子,存儲器地址寄存器(MAR)和存儲器數(shù)據(jù)寄存器(MDR)是主存和CPU之間的接口。MAR可以接受來自程序計數(shù)器(PC)的指令地址或來自運算器的操作數(shù)地址,以確定要訪問的單元。MDR是向主存寫入數(shù)據(jù)或從主存讀出數(shù)據(jù)的緩沖部件。MAR和MDR從功能上看屬于主存,但在小微型機中常放在CPU內(nèi)。5.4.3主存儲器和CPU的連接95主存和CPU的硬連接主存容量2k字字長n位地址總線數(shù)據(jù)總線ReadWriteMFCk位n位CPUMDRMAR圖5-20主存和CPU的硬連接96前面所說的CPU與主存的硬連接是兩個部件之間聯(lián)系的物理基礎(chǔ)。而兩個部件之間還有軟連接,即CPU向主存發(fā)出的讀或?qū)懨?,這才是兩個部件之間有效工作的關(guān)鍵。

CPU對主存進行讀寫操作時,首先CPU在地址總線上給出地址信號,然后發(fā)出相應(yīng)的讀或?qū)懨?,并在?shù)據(jù)總線上交換信息。2.CPU對主存的基本操作97讀操作是指從CPU送來的地址所指定的存儲單元中取出信息,再送給CPU,其操作過程是:

地址→MAR→AB CPU將地址信號送至地址總線;

Read CPU發(fā)讀命令;

WaitforMFC

等待存儲器工作完成信號;

M(MAR)→DB→MDR

讀出信息經(jīng)數(shù)據(jù)總線送至CPU。讀操作98寫操作是指將要寫入的信息存入CPU所指定的存儲單元中,其操作過程是:

地址→MAR→AB CPU將地址信號送至地址總線;

數(shù)據(jù)→MDR→DB CPU將要寫入的數(shù)據(jù)送至數(shù)據(jù)總線;

Write CPU發(fā)寫命令;

WaitforMFC

等待存儲器工作完成信號。

寫操作99計算機在運行過程中,主存要與CPU頻繁地交換數(shù)據(jù)。為了檢測和校正在存儲過程中的錯誤,主存中常設(shè)置有差錯校驗電路。5.4.4主存的校驗100最簡單的主存檢驗方法是奇偶校驗,在微機中通常采用奇校驗,即每個存儲單元中共存儲9位信息(其中8位數(shù)據(jù),1位奇偶校驗位),信息中“1”的個數(shù)總是奇數(shù)。當向主存寫入數(shù)據(jù)時,奇偶校驗電路首先會對一個字節(jié)的數(shù)據(jù)計算出奇偶校驗位的值,然后再把所有的9位值一起送到主存中去。讀出數(shù)據(jù)時,某一存儲單元的9位數(shù)據(jù)被同時讀出,當9位數(shù)據(jù)里“1”的個數(shù)為奇數(shù)時,表示讀出的9位數(shù)據(jù)正確;當“1”的個數(shù)為偶數(shù)時,表示讀出數(shù)據(jù)出錯,向CPU發(fā)出不可屏蔽中斷,使系統(tǒng)停機并顯示奇偶檢驗出錯的信息。1.主存的奇偶校驗101ECC不僅能檢測錯誤還能在不打擾計算機工作的情況下改正錯誤,這對于網(wǎng)絡(luò)服務(wù)器這樣不允許隨便停機的關(guān)鍵任務(wù)是至關(guān)重要的。ECC主存用一組附加數(shù)據(jù)位來存儲一個特殊碼,被稱為“校驗和”。對于每個二進制字都有相應(yīng)的ECC碼。產(chǎn)生ECC碼所需的位數(shù)取決于系統(tǒng)所用的二進制字長。當從主存中讀取數(shù)據(jù)時,將取到的實際數(shù)據(jù)和它的ECC碼快速比較。如果匹配,則實際數(shù)據(jù)被傳給CPU;如果不匹配,則ECC碼的結(jié)構(gòu)能夠?qū)⒊鲥e的一位(或幾位)鑒別出來,然后改正錯誤,再將數(shù)據(jù)傳給CPU。注意:此時主存中的出錯位并沒有改變,如果又要讀取這個數(shù)據(jù),需要再一次校正錯誤。2.錯誤檢驗與校正(ECC)1021.8位存儲器接口如果數(shù)據(jù)總線為8位(如微機系統(tǒng)中的PC總線),而主存按字節(jié)編址,則匹配關(guān)系比較簡單。對于8位的微處理器,典型的時序安排是占用4個CPU時鐘周期,稱為T1~T4,構(gòu)成一個總線周期。對于微型機來說,存儲器就掛在總線上,故總線周期就等于存取周期,一個總線周期可讀寫8位。5.4.5PC系列微機的存儲器接口103對于16位的微處理器8086(或80286),在一個總線周期內(nèi)最多可讀寫兩個字節(jié),即從偶地址開始的字(規(guī)則字)。同時讀寫這個偶地址單元和隨后的奇地址單元,用低8位數(shù)據(jù)總線傳送偶地址單元的數(shù)據(jù),用高8位數(shù)據(jù)總線傳送奇地址單元的數(shù)據(jù)。如果讀寫的是非規(guī)則字,即是從奇地址開始的字,則需要安排兩個總線周期才能實現(xiàn)。2.16位存儲器接口104為了實現(xiàn)這樣的傳送,需要將存儲器分為兩個存儲體。一個存儲體的地址均為偶數(shù),稱為偶地址(低字節(jié))存儲體,它與低8位數(shù)據(jù)總線相連;另一個存儲體的地址均為奇數(shù),稱為奇地址(高字節(jié))存儲體,與高8位數(shù)據(jù)總線相連。2.16位存儲器接口(續(xù))1058086的存儲器組織圖5-218086的存儲器組織1068086和主存之間可以傳送一個字節(jié)(8位)數(shù)據(jù),也可以傳送一個字(16位)數(shù)據(jù)。任何兩個連續(xù)的字節(jié)都可以作為一個字來訪問,地址值較低的字節(jié)是低位有效字節(jié),地址值較高的字節(jié)是高位有效字節(jié)。2.16位存儲器接口(續(xù))1072.16位存儲器接口(續(xù))

8086微處理器的地址線A19~A1同時送至兩個存儲體,(高位存儲體)和最低位地址線A0用來選擇一個或兩個存儲體進行數(shù)據(jù)傳送。

A0

特征

00全字(規(guī)則字)傳送

01在數(shù)據(jù)總線高8位上字節(jié)傳送

10在數(shù)據(jù)總線低8位上字節(jié)傳送

11備用信息傳送點擊播放108由于80386/80486微處理器要保持與8086等微處理器兼容,這就要求在進行存儲器系統(tǒng)設(shè)計時必須滿足單字節(jié)、雙字節(jié)和四字節(jié)等不同訪問。為了實現(xiàn)8位、16位和32位數(shù)據(jù)的訪問,80386/80486微處理器設(shè)有4個引腳~,以控制不同數(shù)據(jù)的訪問。

3.32位存儲器接口

10964位存儲器系統(tǒng)由8個存儲體組成,每個存儲體的存儲空間為512MB(Pentium)或8GB(PentiumPro),存儲體選擇通過選擇信號~實現(xiàn)。如果要傳送一個64位數(shù),那么8個存儲體都被選中;如果要傳送一個32位數(shù),那么4個存儲體被選中;若要傳送一個16位數(shù),則有2個存儲體被選中;若傳送的是8位數(shù),只有一個存儲體被選中。4.64位存儲器接口

110近幾年來主存技術(shù)一直在不斷地發(fā)展,從最早使用的DRAM到后來的FPMDRAM、EDODRAM、SDRAM、DDRSDRAM和RDRAM,出現(xiàn)了各種主存控制與訪問技術(shù)。它們的共同特點是使主存的讀寫速度有了很大的提高。5.5提高主存讀寫速度的技術(shù)111主存的速度通常以納秒(ns)表示,而CPU速度總是被表示為兆赫茲(MHz),最近一些更快更新的主存也用MHz來表示速度。如果主存總線的速度與CPU總線速度相等,那么主存的性能將是最優(yōu)的,然而通常主存的速度落后于CPU的速度。5.5.1主存與CPU速度的匹配112傳統(tǒng)的DRAM是通過分頁技術(shù)進行訪問的,在存取數(shù)據(jù)時,需要分別輸入一個行地址和一個列地址,這會耗費時間。FPMDRAM通過保持行地址不變而只改變列地址,可以對給定行的所有數(shù)據(jù)進行更快的訪問。FPMDRAM還支持突發(fā)模式訪問,所謂突發(fā)模式是指對一個給定的訪問在建立行和列地址之后,可以訪問后面3個相鄰的地址,而不需要額外的延遲和等待狀態(tài)。一個突發(fā)訪問通常限制為4次正常訪問。5.5.2FPMDRAM

113為了描述這個過程,經(jīng)常以每次訪問的周期數(shù)表示計時。一個標準DRAM的典型突發(fā)模式訪問表示為x-y-y-y,x是第一次訪問的時間(延遲加上周期數(shù)),y表示后面每個連續(xù)訪問所需的周期數(shù)。標準的FPMDRAM可獲得5-3-3-3的突發(fā)模式周期。FPMDRAM內(nèi)存條主要采用72線的SIMM封裝,其存取速度一般在60~100ns左右。5.5.2FPMDRAM(續(xù))114EDODRAM是在FPMDRAM基礎(chǔ)上加以改進的存儲器控制技術(shù)。傳統(tǒng)的DRAM和FPMDRAM在存取每一數(shù)據(jù)時,輸入行地址和列地址后必須等待電路穩(wěn)定,然后才能有效的讀寫數(shù)據(jù),而下一個地址必須等待這次讀寫周期完成才能輸出。而EDO輸出數(shù)據(jù)在整個CAS周期都是有效的(包括預(yù)充電時間在內(nèi)),EDO不必等待當前的讀寫周期完成即可啟動下一個讀寫周期,即可以在輸出一個數(shù)據(jù)的過程中準備下一個數(shù)據(jù)的輸出。EDODRAM采用一種特殊的主存讀出控制邏輯,在讀寫一個存儲單元時,同時啟動下一個(連續(xù))存儲單元的讀寫周期,從而節(jié)省了重選地址的時間,提高了讀寫速度。5.5.3EDODRAM115EDODRAM可獲得5-2-2-2的突發(fā)模式周期,若進行4個主存?zhèn)鬏?,需要總?1個系統(tǒng)周期,而FPMDRAM的突發(fā)模式周期為5-3-3-3,總共需要14個周期。與FPMDRAM相比,EDODRAM的性能改善了22%,而其制造成本與FPMDRAM相近。FPM和EDO兩者的芯片制作技術(shù)其實是相同的,不同的是EDO所增加的機制必須在芯片組的支持下將發(fā)送的數(shù)據(jù)信號的處理時間縮短,以加快系統(tǒng)的整體執(zhí)行效率。目前EDODRAM內(nèi)存條主要采用72線的SIMM形式封裝,也有少部分采用168線的DIMM封裝,存取時間約為50~70ns。5.5.3EDODRAM(續(xù))116SDRAM是一種與主存總線運行同步的DRAM。SDRAM在同步脈沖的控制下工作,取消了主存等待時間,減少了數(shù)據(jù)傳送的延遲時間,因而加快了系統(tǒng)速度。SDRAM仍然是一種DRAM,起始延遲仍然不變,但總的周期時間比FPM或EDO快得多。SDRAM突發(fā)模式可達到5-1-1-1,即進行4個主存?zhèn)鬏?,僅需8個周期,比EDO快將近20%。SDRAM的基本原理是將CPU和RAM通過一個相同的時鐘鎖在一起,使得RAM和CPU能夠共享一個時鐘周期,以相同的速度同步工作。5.5.4SDRAM117DRAM采用新的雙存儲體結(jié)構(gòu),內(nèi)含兩個交錯的存儲矩陣,允許兩個主存頁面同時打開,當CPU從一個存儲矩陣訪問數(shù)據(jù)的同時,在主存控制器作用下另一個存儲矩陣已準備好讀寫數(shù)據(jù)。通過兩個存儲矩陣的緊密配合,存取效率得到成倍提高。SDRAM普遍采用168線的DIMM封裝,速度通常以MHz來標定,目前SDRAM的工作頻率已達100MHz、133MHz,能與當前的CPU同步運行,可提高整機性能大約5%~10%。由于SDRAM的優(yōu)良特性,使它成為當前主存市場的主流。5.5.4SDRAM(續(xù))

118

DDRSDRAM也可以說是SDRAM的升級版本,它與SDRAM的主要區(qū)別是:DDRSDRAM不僅能在時鐘脈沖的上升沿讀出數(shù)據(jù)而且還能在下降沿讀出數(shù)據(jù),不需要提高時鐘頻率就能加倍提高SDRAM的速度。DDR內(nèi)存條的物理大小和標準的DIMM一樣,區(qū)別僅在于內(nèi)存條的線數(shù)。標準的SDRAM有168線(2個小缺口),而DDRSDRAM有184線(多出的16個線占用了空間,故只有1個小缺口)。5.5.5DDRSDRAM1191.DDR2SDRAMDDR2SDRAM擁有兩倍于上一代DDRSDRAM的預(yù)讀取能力(即:4bit數(shù)據(jù)讀預(yù)?。?。換句話說,DDR2SDRAM每個時鐘能夠以4倍于外部總線的速度讀/寫數(shù)據(jù)。2.DDR3SDRAMDDR3

SDRAM可以看作是DDR2的改進版,DDR3的預(yù)取設(shè)計位數(shù)提升至8bit,其DRAM內(nèi)核的頻率達到了接口頻率的1/8。5.5.6DDR2、DDR3和DDR4SDRAM120DDR4仍沿用了DDR3的8bit數(shù)據(jù)預(yù)取,它最重要的使命是提高頻率和帶寬,標準規(guī)定最低是DDR41600,即從1600MHz開始運行,這將是DDR3頻率的兩倍。3.DDR4SDRAM1211215.5.6DDR2、DDR3和DDR4SDRAM(續(xù))頻率(MHz)20026633340053366680010661333160018662133266632004266DDR√√√√

DDR2

√√√√√

DDR3

√√√√√√

DDR4

√√√√√√DDRSDRAM內(nèi)存的發(fā)展趨勢122

RambusDRAM是繼SDRAM之后的新型高速動態(tài)隨機存儲器。使用FPM/EDO或SDRAM的傳統(tǒng)主存系統(tǒng)稱為寬通道系統(tǒng),它們的主存通道和處理器的數(shù)據(jù)總線一樣寬。RDRAM卻是一種窄通道系統(tǒng),它一次只傳輸16位數(shù)據(jù)(加上2個可選的校驗位),但速度卻快得多。目前,RDRAM的容量一般為64Mb/72Mb或128Mb/144Mb,組織結(jié)構(gòu)為4M或8M×16位、4M或8M×18位(18位的組織結(jié)構(gòu)允許進行ECC檢測)。5.5.7

RambusDRAM123RambusDRAM引入了RISC(精簡指令集)的技術(shù),依靠其極高的工作頻率,通過減少每個周期的數(shù)據(jù)量來簡化操作。RDRAM的時鐘頻率可達到400MHz,由于采用雙沿傳輸,使原有的400MHz變?yōu)?00MHz。Rambus結(jié)構(gòu)的帶寬視Rambus通路的個數(shù)而定,若是單通路,800MHz的RDRAM帶寬為800MHz×16位÷8=1.6GB/s,若是兩個通路,則可提升為3.2GB/s,若是4個通路的話,將達到6.4GB/s。而PC-133的帶寬為133MHz×64位÷8=1.06GB/s,PC-266則為2.12GB/s。5.5.7

RambusDRAM(續(xù))124由于是全新的設(shè)計,需要用RIMM插槽與芯片組配合。RDRAM總線是一條經(jīng)過總線上所有設(shè)備(RDRAM芯片)和模塊的連接線路,每個模塊在相對的兩端有輸入和輸出引腳,時鐘信號需依次流過每個RIMM槽,然后再通過每個RIMM槽返回。因此,任何不含RDRAM芯片的RIMM插槽必須填入一個連接模塊(Rambus終結(jié)器)以保證路徑是完整的。5.5.6RambusDRAM(續(xù))

125此外,Rambus主存還有一個特點,就是它的行地址與列地址的尋址總線是各自分離的獨立總線,這就意味著行與列的選址幾乎在同一時間內(nèi)進行,從而進一步提高了工作效率;也正因為擁有這一優(yōu)勢,使得Rambus主存不僅可以彌補它在尋址時間上比傳統(tǒng)的SDRAM較慢的缺點,而且在實際工作中所表現(xiàn)出來的性能更好。目前,由RDRAM構(gòu)成的系統(tǒng)存儲器已經(jīng)開始應(yīng)用于現(xiàn)代微機之中,并可能成為服務(wù)器及其他高性能計算機的主流存儲器系統(tǒng)。5.5.6RambusDRAM(續(xù))

126目前,主存的存取速度已成為計算機系統(tǒng)的瓶頸,除去通過尋找高速元件來提高訪問速度外,也可以采用多個存儲器并行工作,并且用交叉訪問技術(shù)來提高存儲器的訪問速度。5.6多體交叉存儲技術(shù)127常規(guī)的主存是單體單字存儲器,只包含一個存儲體。在高速的計算機中,普遍采用并行主存系統(tǒng),即在一個存取周期內(nèi)可以并行讀出多個字,以解決CPU與主存之間的速度匹配問題。多個并行工作的存儲器共有一套地址寄存器和譯碼電路,按同一地址并行地訪問各自的對應(yīng)單元。例如:CPU送出地址A,則n個存儲器中的所有A單元同時被選中。假設(shè)每個存儲器的字長為w位,則同時訪問n×w位稱為單體多字系統(tǒng)。5.6.1并行訪問存儲器128單體多字并行存儲系統(tǒng)圖5-25單體多字并行存儲系統(tǒng)

129交叉訪問存儲器中有多個容量相同的存儲模塊(存儲體),而且各存儲模塊具有各自獨立的地址寄存器、讀寫電路和數(shù)據(jù)寄存器,這就是多體系統(tǒng)。各個存儲體能并行工作,又能交叉工作。存儲器地址寄存器的低位部分經(jīng)過譯碼選擇不同的存儲體,而高位部分則指向存儲體內(nèi)的存儲字?,F(xiàn)以由4個分體組成的多體交叉存儲器為例說明常用的編址方式。5.6.2交叉訪問存儲器130多體交叉訪問存儲器圖5-26多體交叉訪問存儲器131模4交叉編址模塊號地址編址序列對應(yīng)二進制地址的最低兩位M00,4,8,12,…,4i+0,…00M11,5,9,13,…,4i+1,…01M22,6,10,14,…,4i+2,…10M33,7,11,15,…,4i+3,…11132主存速度的提高始終跟不上CPU的發(fā)展。據(jù)統(tǒng)計,CPU的速度平均每年提高60%,而組成主存的DRAM的速度平均每年只改進7%。由SRAM組成的高速緩沖存儲器的運行速度則接近甚至等于CPU的速度。5.7高速緩沖存儲器133常規(guī)的主存是單體單字存儲器,只包含一個存儲體。在高速的計算機中,普遍采用并行主存系統(tǒng),即在一個存取周期內(nèi)可以并行讀出多個字,以解決CPU與主存之間的速度匹配問題。多個并行工作的存儲器共有一套地址寄存器和譯碼電路,按同一地址并行地訪問各自的對應(yīng)單元。例如:CPU送出地址A,則n個存儲器中的所有A單元同時被選中。假設(shè)每個存儲器的字長為w位,則同時訪問n×w位稱為單體多字系統(tǒng)。5.7.1高速緩存工作原理134程序的局部性有兩個方面的含義:時間局部性和空間局部性。時間局部性是指如果一個存儲單元被訪問,則可能該單元會很快被再次訪問。這是因為程序存在著循環(huán)。空間局部性是指如果一個存儲單元被訪問,則該單元鄰近的單元也可能很快被訪問。這是因為程序中大部分指令是順序存儲、順序執(zhí)行的,數(shù)據(jù)一般也是以向量、數(shù)組、樹、表等形式簇聚地存儲在一起的。高速緩沖技術(shù)就是利用程序的局部性原理,把程序中正在使用的部分存放在一個高速的容量較小的Cache中,使CPU的訪存操作大多數(shù)針對Cache進行,從而使程序的執(zhí)行速度大大提高。1.程序的局部性原理135Cache和主存都被分成若干個大小相等的塊,每塊由若干字節(jié)組成。由于Cache的容量遠小于主存的容量,所以Cache中的塊數(shù)要遠少于主存中的塊數(shù),它保存的信息只是主存中最急需執(zhí)行的若干塊的副本。用主存地址的塊號字段訪問Cache標記,并將取出的標記和主存地址的標記字段相比較。若相等,說明訪問Cache有效,稱Cache命中;若不相等,說明訪問Cache無效,稱Cache不命中或失效。2.Cache的基本結(jié)構(gòu)136Cache的基本結(jié)構(gòu)圖5-28Cache的基本結(jié)構(gòu)1371.Cache的讀操作當CPU發(fā)出讀請求時,如果Cache命中,就直接對Cache進行讀操作,與主存無關(guān);如果Cache不命中,則仍需訪問主存,并把該塊信息一次從主存調(diào)入Cache內(nèi)。若此時Cache已滿,則須根據(jù)某種替換算法,用這個塊替換掉Cache中原來的某塊信息。5.7.2Cache的讀寫操作138由于Cache中保存的只是主存的部分副本,這些副本與主存中的內(nèi)容能否保持一致,是Cache能否可靠工作的一個關(guān)鍵問題。當CPU發(fā)出寫請求時,如果Cache命中,有可能會遇到Cache與主存中的內(nèi)容不一致的問題。處理的方法有:寫直達法和寫回法。如果寫Cache不命中,就直接把信息寫入主存,并有兩種處理方法:不按寫分配法和按寫分配法。

2.Cache的寫操作1391.全相聯(lián)映像全相聯(lián)映像就是讓主存中任何一個塊均可以映像裝入到Cache中任何一個塊的位置上。全相聯(lián)映像方式比較靈活,Cache的塊沖突概率最低、空間利用率最高,但是地址變換速度慢,而且成本高,實現(xiàn)起來比較困難。5.7.3地址映象140全相

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論