第四章 主存儲器.ppt_第1頁
第四章 主存儲器.ppt_第2頁
第四章 主存儲器.ppt_第3頁
第四章 主存儲器.ppt_第4頁
第四章 主存儲器.ppt_第5頁
已閱讀5頁,還剩77頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第 4 章 主存儲器與存儲體系,4.1存儲器概述,一.存儲器的作用 計算機真正工作的場所是主存(內(nèi)存),所有驅(qū)動程序、操作系統(tǒng)、工作數(shù)據(jù)、成品/半成品應(yīng)用程序必須加載到主存中才能由CPU讀取。 高速緩存的速度比主存儲器快,作為CPU與內(nèi)存的緩沖區(qū),主要起到平衡CPU與主存這間的速度的作用,有效解決了CPU速度與主存速度的不匹配問題。 輔助存儲器(如硬盤、軟盤)也稱為外存,用來存放暫時不參加運行的程序和數(shù)據(jù),以及永久存儲信息。輔助存儲器的容量很大,但存取速度慢,并且不能為CPU直接訪問,必須先將其中信息調(diào)入主存后,才能為CPU所訪問。,二.存儲器的分類,1.按存儲器在計算機系統(tǒng)中的作用分類 (1

2、)高速緩沖存儲器(Cache) (2) 主存儲器 (3)輔助存儲器 2.按存取方式分類 (1)隨機存取存儲器RAM (2)只讀存儲器ROM (3)順序存取存儲器SAM(sequential Access Memory) (4)直接存取存儲器DAM(Direct Access Memory ) 3.按存儲介質(zhì)分類 (1)磁芯存儲器 (2)半導(dǎo)體存儲器 (3)磁表面存儲器 (4)光存儲器 4.按信息的可保存性分類 (1)易失性存儲器 (2)非易失性存儲器,三. 主存儲器概述,1、主存儲器處于全機中心地位,(1)正在運行的程序和數(shù)據(jù)存放于存儲器中。CPU直接從存儲器取指令或存取數(shù)據(jù)。 (2).采用D

3、MA技術(shù)或輸入輸出通道技術(shù),在存儲器和輸入輸出系統(tǒng)之間直接傳輸數(shù)據(jù)。 (3).多處理機系統(tǒng)采用共享存儲器來存取和交換數(shù)據(jù)。,2、 主存儲器分類,(1)隨機存儲器RAM(random access memory) (易失性存儲器) (2)只讀存儲器ROM(read-only memory) (非易失性存儲器) (3)可編程序只讀存儲器PROM(programmable ROM):一次寫入,不能修改。(非易失性存儲器) (4)可擦除可編程序只讀存儲器EPROM(erasable PROM):可用紫外線擦除,擦除后可再次寫入。 (非易失性存儲器) (5)可用電擦除的可編程序只讀存儲器E2PROM(e

4、lectrically EPROM):可用電改寫。 (非易失性存儲器),3、主存儲器的主要技術(shù)指標(biāo),主存儲器的主要性能指標(biāo):主存容量、存儲器存取時間和存儲周期時間。 (1)存儲容量 按字節(jié)或按字尋址,容量為多少字節(jié),單位:KB(210),MB(220),GB(230);地址線數(shù)決定最大直接尋址空間大小(n位地址:2n)。 (2)存取時間(存儲器訪問時間)(或讀/寫時間)(memory access time)指啟動一次存儲器操作到完成該操作所經(jīng)歷的時間。 *讀出時間:指從CPU向MEM發(fā)出有效地址和讀命令開始,直到將被選單元的內(nèi)容讀出為止所用的時間。 *寫入時間:指從CPU向MEM發(fā)出有效地址

5、和寫命令開始,直到信息寫入被選中單元為止所用的時間。,(3) 存儲周期時間(又稱讀/寫周期,或訪問周期) CPU連續(xù)啟動兩次獨立的存儲器操作所需間隔的最小時間。(目前一般存儲器可達(dá)幾納秒(ns),4、主存儲器的基本操作,主存儲器用來暫時存儲CPU正在使用的指令和數(shù)據(jù),它和CPU的關(guān)系最為密切。 主存儲器和CPU的連接是由總線支持的, 連接形式如圖41所示。,問題: 1.如何完成存儲器的讀操作? 2.如何完成存儲器的寫操作?,CPU與主存之間采取異步工作方式,以ready信號表示一次訪存操作的結(jié)束。,2K字n位,讀(?。┎僮?:從CPU送來的地址所指定的存 儲單元中取出信息,再送給CPU。,(1

6、)地址-AR-ABCPU將地址信號送至地址總線 (2)Read CPU發(fā)讀命令 (3)Wait for MFC 等待存儲器工作完成信號 (4)(AR)-DB-DR 讀出信息經(jīng)數(shù)據(jù)總線送至CPU,寫(存)操作 :將要寫入的信息存入CPU所指定的存儲單元中。,(1)地址-AR-ABCPU將地址信號送至地址總線 (2)數(shù)據(jù)-DR-DB CPU將要寫入的數(shù)據(jù)送到數(shù)據(jù)總線 (3)Write CPU發(fā)寫信號 (4)Wait for MFC 等待存儲器工作完成信號,5.主存儲器的基本結(jié)構(gòu),存儲體是存儲器的核心,是存儲單元的集合體,而存儲單元又是由若干個記憶單元組成的。,地址譯碼驅(qū)動電路包含譯碼器和驅(qū)動器兩部

7、分組成。譯碼器將地址總線輸入的地址碼轉(zhuǎn)換成與之對應(yīng)的譯碼輸出線上的有效電平,以表示選中了某一存儲單元,然后由驅(qū)動器提供驅(qū)動電流去驅(qū)動相應(yīng)的讀/寫電路,完成對被選中存儲單元的讀/寫操作。,I/O和讀/寫電路包括讀出放大器、寫入電路和讀/寫控制電路,用以完成被選中存儲單元中各位的讀出和寫入操作。,存儲器的讀/寫操作是在控制器的控制下進行的。半導(dǎo)體存儲芯片中的控制電路,必須在接收到來自控制器的讀/寫命令或?qū)懺试S信號后,才能實現(xiàn)正確的讀/寫操作。,四.存儲系統(tǒng)層次結(jié)構(gòu),為了解決存儲容量、存取速度和價格之間的矛盾,通常把各種不同存儲容量、不同存取速度的存儲,按一定的體系結(jié)構(gòu)組成起來,形成一個統(tǒng)一整體的存

8、儲系統(tǒng)。 由高速緩沖存儲器、主存儲器、輔助存儲器構(gòu)成的三級存儲系統(tǒng)可以分為兩個層次,其中高速緩沖存儲器和主存之間稱為Cache-主存層次,主存和輔存間稱為主存輔存層次。,Cache和主存之間的速度大約相差一個數(shù)量級,為了彌補主存速度的不足,在CPU和主存間設(shè)置Cache。CPU在某一小段時間內(nèi)所在訪問的程序和數(shù)據(jù)被事先從主存中調(diào)入Cache,當(dāng)CPU需要這些程序和數(shù)據(jù)時,就直接去Cache中讀取,這樣就大大提高存取速度。,1.Cache-主存層次,Cache主存層次的存取速度接近于Cache的存取速度,但容量接近于主存,每位價格也接近于主存的每位價格,因此解決了高速度和低成本之間的矛盾。由于這

9、個層次完全由硬件實現(xiàn),不用系統(tǒng)輔助軟件干預(yù),所以對用戶是透明的。,2.主存-輔存層次,輔存是主存的補充,用來存放暫時不用的程序和數(shù)據(jù),當(dāng)需要時,再調(diào)到主存中去。主存-輔存層次通過附加的硬件及存儲管理軟件來控制。輔存只與主存交換信息,CPU不能直接訪問輔存。,主存輔存層次的存取速度接近于主存的存取速度,容量則接近于輔存的容量,而每位平均價格也接近于廉價有輔存平均價格,從而解決了大容量和低成本間的矛盾。,三級存儲系統(tǒng)的總效果是:存取速度接近于Cache水平,存儲容量非常之大,整個價格也比較合理。,4.2 讀/寫存儲器(隨機存儲(RAM),存儲信息原理,動態(tài)存儲器DRAM(動態(tài)MOS型):依靠電容存

10、儲電荷的原理存儲信息。功耗較小,容量大,速度較快,作主存。,靜態(tài)存儲器SRAM(雙極型、靜態(tài)MOS型) 依靠雙穩(wěn)態(tài)電路內(nèi)部交叉反饋的機制存儲信息。 功耗較大,速度快,作Cache。,SRAM:利用雙穩(wěn)態(tài)觸發(fā)器來保存信息,只要不斷電,信息 是不會丟失的,因為其不需要進行動態(tài)刷新,故稱為 “靜態(tài)”存儲器。 DRAM:利用MOS電容存儲電荷來保存信息,使用時需要 給電容充電才能使信息保持,即要定期刷新。,一、SRAM 1、六管靜態(tài)基本存儲電路(P117圖4.2) (1)為什么說六管靜態(tài)基本存儲電路是利用雙穩(wěn)態(tài)觸發(fā)器來保存信息? (2)如何寫“0”?如何寫“1”? (3)T5、T6管的作用是什么?,字

11、選擇線,位線2,位線1,Vss,T1,T2,T6,T5,T3,T4,VGG,VDD,A,B,T1T6:構(gòu)成一個記憶單元的主體,能存儲一位二進制信息。 其中:T1T4構(gòu)成基本RS F/F用來存儲一位二進制信息. T5、T6:構(gòu)成讀寫控制門,用來傳送讀寫信號。 電路中有一條字線:用來選擇這個記憶單元。 有兩條位線:用來傳送讀寫信號。,A1,B0:T1止,T2通,記憶單元存儲“0” A0,B1:T1通,T2止,記憶單元存儲“1” 字線“0”,記憶單元未被選中,T5、T6止,F(xiàn)/F與位線斷開,原存信息不會丟失,稱保持狀態(tài)。 字線“1”,記憶單元被選中,T5、T6通,可進行讀、寫操作。,因為T5、T6通

12、則A、B點與位線1、位線2相連。 若記憶單元為“1”A0,B1。 T1通,T2止,則位線1產(chǎn)生負(fù)脈沖。 若記憶單元為“0”A1,B0 T1止,T2通,則位線2產(chǎn)生負(fù)脈沖。 這樣根據(jù)兩條位線上哪一條產(chǎn)生負(fù)脈沖判斷讀出1還是0。,讀操作,字線“1”,記憶單元被選中,T5、T6通,可進行讀、寫操作。,寫操作,若要寫入“1”,則使位線1輸入“0”,位線2輸入“1”,它們分別通過T5、T6管迫使T1通、T2止A0,B1,使記憶單元內(nèi)容變成“1”,完成寫“1”操作. 若要寫入“0”,則使位線1輸入“1”,位線2輸入“0”,它們分別通過T5、T6管迫使T1止、T2通A1,B0,使記憶單元內(nèi)容變成“0”,完成

13、寫“0”操作 在該記憶單元未被選中或讀出時,電路處于雙穩(wěn)態(tài),F(xiàn)/F工作狀態(tài)由電源VDD不斷給T1、T2供電,以保持信息,但是只要電源被切斷,原存信息便會丟失,這就是半導(dǎo)體存儲器的易失性。,2. 16X1位靜態(tài)存儲器結(jié)構(gòu)圖,T1T6:存儲單元(1bit) 16個存儲單元排列成4*4矩陣的形式,每個存儲單元被連接到不同字線、位線的交叉處,并加上讀/寫控制電路,用地址編譯器提供字線、位線選擇信號。 要訪問16個存儲單元,需要4位地址A0A3,A0A1:行地址,經(jīng)X譯碼器產(chǎn)生4個譯碼信號來選擇4行。 A2A3:列地址,經(jīng)Y譯碼器產(chǎn)生4個譯碼信號來選擇4列。 這樣用4位地址A0A3可選中行、列交叉處的存

14、儲單元。 為了用Y譯碼信號選擇一列,在每個存儲單元處加兩個MOS管T7、T8。 用于選擇把指定列的全部存儲單元的T5、T6管與該列的位線1、位線2連接,而其他各列的全部存儲單元都與對應(yīng)列的位線1、位線2斷開。,當(dāng)一個存儲單元被選中,它的字線使該存儲單元的T5、T6管導(dǎo)通。列線把該存儲單元的T7、T8管導(dǎo)通。 若,執(zhí)行寫操作,寫入數(shù)據(jù)DIN,經(jīng)T5、T6、T7、T8,寫入F/F。 若,執(zhí)行讀操作,F(xiàn)/F的狀態(tài)經(jīng)T5、T6、T7、T8和位線1、位線2,送入讀出放大器,得到讀出數(shù)據(jù)信號Dout.,教材上P119圖4.41K*1位1k=210,需要10根地址線。 A0A4:X地址譯碼器A5A9:Y地址

15、譯碼器 組成32*32的存儲矩陣 控制端:,3.時序(Intel21141K4位的SRAM),讀時序,CPU通過AB把要讀取的存儲單元地址傳送到相應(yīng)的芯片讀取地址引腳 激活片選信號(CS0),并發(fā)出讀取命令以( CS 1),經(jīng)過一段時間,從芯片數(shù)據(jù)端輸出有效數(shù)據(jù)。 讀出數(shù)據(jù)經(jīng)DB送至目的地后,片選和讀命令撤消。讀周期結(jié)束。,寫時序,CPU通過AB確定要寫入信息的位置,并把要寫入的數(shù)據(jù)傳輸?shù)紻B。 激活片選信號(CS0),并發(fā)出寫取命令(CS0),將已傳輸過來的數(shù)據(jù)寫入相應(yīng)的地址單元。片選和寫命令撤消。寫周期結(jié)束。,二、DRAM,1、三管動態(tài)存儲單元,什么狀態(tài)表示存入“0”?什么狀態(tài)表示存入“1

16、”? 如何寫“0”?如何寫“1”?“1”信號寫入后是否能長時間保持? 如何讀出“0”、“1”信號?,定義: “0”C上有足夠的電荷,T2導(dǎo)通。 “1”-C上無電荷或電荷很少,不能使T2導(dǎo)通。 讀出:讀出數(shù)據(jù)線預(yù)充電至“1”,讀出選擇線“1”,T3導(dǎo)通。 若C上充有電荷,T2導(dǎo)通,讀出數(shù)據(jù)線經(jīng)T2、T3接地,讀出電壓為“0”。若C上無電荷,T2截止,讀出數(shù)據(jù)為“1”。 寫入:在寫入選擇線上加“1”,在寫入數(shù)據(jù)線上加寫入信號 ,T1導(dǎo)通。C隨寫入信號而充電或放電(“0”放電,“1”充電)。若T1截止,C的電壓保持不變。,特點:三管單元布線較復(fù)雜,所用元件較多,但電路穩(wěn)定。,2、單管動態(tài)存儲單元,(

17、1)讀數(shù)據(jù) 數(shù)據(jù)線預(yù)充電至“1”,字線來“1”,T導(dǎo)通. 1)原有“1”CS上充有電荷T管在位線上產(chǎn)生讀電流完成讀“1”操作。 2)原存“0”CS無電荷T管在位線上不產(chǎn)生讀電流完成讀“0”操作。 讀完成后,CS上的電荷被泄放完,因此是破壞性讀出,必須采用重寫再生措施。,Cs不能做得太大,一般比位線上寄生電容Cd還要小,讀出時,T導(dǎo)通,電荷在Cs與Cd間分配,會使讀出電流信息減少。 用單管作為存儲器,讀出放大器的靈敏度應(yīng)具有較高的靈敏度,因為信息保持保存在很小的Cs上,也只能保持2ms,必須定時刷新。,(2)寫數(shù)據(jù) 字線來“1”,T導(dǎo)通,電路被選中。 1)若數(shù)據(jù)線為“0”且CS上無電荷準(zhǔn)備寫“1

18、”則VDD要對Cs充電,Cs上存儲一定電荷“1”已寫入。 2)若數(shù)據(jù)線為“1”且CS存有電荷準(zhǔn)備寫“0”則Cs通過T放電使Cs上無電荷“0”寫入 3)如果寫入的數(shù)據(jù)與Cs中原存儲信息相同,則Cs中原存儲有無電荷的情形不會發(fā)生變化。,優(yōu)點:線路簡單,單元占用面積小,速度快。 缺點:讀出是破壞性的,要重寫,另外要有較高靈敏度的 放大器。,16K個基本存儲電路如何排列? A0A6引腳的功能是什么?,3、DRAM存儲器框圖,4.再生,DRAM是通過把電荷充積到MOS管的柵極電容或?qū)iT的MOS電容中去來實現(xiàn)信息存儲的。但是由于電容漏電阻的存在,隨著時間的增加,其電荷會逐漸漏掉,從而使存儲的信息丟失。為了

19、保證存儲信息不遭破壞,必須在電荷漏掉以前就進行充電,以恢復(fù)原來的電荷。把這一充電過程稱為再生,或稱為刷新。對于DRAM,再生一般應(yīng)在小于或等于2ms的時間內(nèi)進行一次。SRAM則不同,由于SRAM是以雙穩(wěn)態(tài)電路為存儲單元的,因此它不需要再生。,DRAM采用“讀出”方式進行再生。 利用單元數(shù)據(jù)線上的讀出放大器來實現(xiàn)。 讀出放大器在讀出存儲單元的信息并進行放大的同時,將所讀出的信息重新寫入該存儲單元,從而完成存儲器的再生(刷新)。 一般DRAM的再生時間應(yīng)=2ms 由于DRAM每列都有自己的讀出放大器,只要依次改變行地址輪流進行讀放再生即可。這種方式稱行地址再生方式。,.DRAM與SRAM的比較,D

20、RAM的優(yōu)點 (1)每片存儲容量較大;引腳數(shù)少。 (2)價格比較便宜。 (3)所需功率大約只有SRAM的16。 DRAM作為計算機主存儲器的主要元件得到了廣泛的應(yīng)用. DRAM的缺點 (1)速度比SRAM要低。 (2)DRAM需要再生,這不僅浪費了寶貴的時間,還需要有配套的再生電路,它也要用去一部分功率。 SRAM一般用作容量不大的高速存儲器。,4.3 非易失性半導(dǎo)體存儲器(自學(xué)) 4.4 DRAM的研制與發(fā)展(自學(xué)),45 半導(dǎo)體存儲器的組成與控制,常用的半導(dǎo)體存儲器芯片有多字一位片和多字多位(4位、8位)片,如16M位容量的芯片可以有16M l位和4M 4位等種類。,一存儲器容量擴展 (1

21、)位擴展 概念:位擴展指的是用多個存儲器器件對字長進行擴充。 方法:位擴展的連接方式是將多片存儲器的地址、片選CS、讀寫控制端RW相應(yīng)并聯(lián),數(shù)據(jù)端分別引出。,例:16K 4位芯片組成16K 8位的存儲器,(2)字?jǐn)U展,概念:字?jǐn)U展指的是增加存儲器中字的數(shù)量。 方法: 靜態(tài)存儲器進行字?jǐn)U展時,將各芯片的地址線、數(shù)據(jù)線、讀寫控制線相應(yīng)并聯(lián),而由片選信號來區(qū)分各芯片的地址范圍。 動態(tài)存儲器一般不設(shè)置CS端,但可用RAS端來擴展字?jǐn)?shù)。只有當(dāng)RAS由“1”變“0”時,才會激發(fā)出行時鐘,存儲器才會工作。,例: 4個16K 8位靜態(tài)芯片組成64K 8位存儲器。,(3)字位擴展,實際存儲器往往需要字向和位向同

22、時擴充。一個存儲器的容量為M N位,若使用L K位存儲器芯片,那么,這個存儲器共需要 個存儲器芯片。,例:由Intel2114(1K 4位)芯片組成容量為4K 8位的主存儲器的邏輯框圖,說明地址總線和數(shù)據(jù)總線的位數(shù),該存儲器與8位字長的CPU的連接關(guān)系。,解:此題所用芯片是同種芯片。 (1)片數(shù)=存儲器總?cè)萘浚ㄎ唬?芯片容量(位) =4K*8/(1K*4)=8(片) (2)CPU總線(由存儲器容量決定) 地址線位數(shù)=log2(字?jǐn)?shù))=log2(4K)=12(位) 數(shù)據(jù)線位數(shù)=字長=8(位),(3)芯片總線(由芯片容量決定) 地址線=log2(1K)=10(位) 數(shù)據(jù)線=4(位) (4)分組(組

23、內(nèi)并行工作,Cs連在一起,組間串行工作,Cs分別連接譯碼器的輸出) 組內(nèi)芯片數(shù)=存儲器字長/芯片字長 =8/4=2(片) 組數(shù)=芯片總數(shù)/組內(nèi)片數(shù)=8/2=4(組) (5)地址分配與片選邏輯,需12位地址尋址:,4KB,A15A12A11 A10 A9 A0,A11A0,0 0 0 0,任意值,0 0 1 1,0 1 1 1,1 0 1 1,0 1 0 0,1 0 0 0,1 1 0 0,1 1 1 1,片選,芯片地址,低位地址分配給芯片,高位地址形成片選邏輯。,芯片 芯片地址 片選信號 片選邏輯,1K,1K,1K,1K,A9A0 A9A0 A9A0 A9A0,CS0 CS1 CS2 CS3,

24、A11A10,A11A10,A11A10,A11A10,(6)連接方式:擴展位數(shù),擴展單元數(shù),連接控制線,例:某半導(dǎo)體存儲器,按字節(jié)編址。其中:0000H07FFH為ROM區(qū)、選用EPROM芯片(2KB/片); 0800H13FFH為RAM區(qū)、選用RAM芯片 (2KB/片和1KB/片)。 地址總線A15A0(低)。給出地址分配和片選邏輯。,例2.,1.計算容量和芯片數(shù),ROM區(qū):2KB RAM區(qū):3KB 共3片,存儲空間分配:,先安排大容量芯片(放地址低端),再安排小容量芯片。,便于擬定片選邏輯。,A15 A14 A13 A12 A11 A10 A9A0,0 0 0 0 0 0 0,0 0 0

25、 0 0 1 1,0 0 0 0 1 1 1,0 0 0 1 0 0 1 1,0 0 0 0 1 0 0,0 0 0 1 0 0 0 0,低位地址分配給芯片,高位地址形成片選邏輯。,芯片 芯片地址 片選信號 片選邏輯,2K,2K,1K,A10 A0,A10 A0,A9 A0,CS0,CS1,CS2,A12A11,A12A11,A12A11,5KB需13位地址尋址:,ROM,A12A0,RAM,A10,A15A14A13為全0,二存儲控制,在存儲器中,往往需要增設(shè)附加電路。這些附加電路包括地址多路轉(zhuǎn)換線路、地址選通、刷新邏輯,以及讀寫控制邏輯等。 在大容量存儲器芯片中,為了減少芯片地址線引出端數(shù)

26、目,將地址碼分兩次送到存儲器芯片,因此芯片地址線引出端減少到地址碼的一半。,動態(tài)存儲器依靠電容電荷存儲信息。平時無電 源供電,時間一長電容電荷會泄放,需定期向電容 補充電荷,以保持信息不變。,1.集中刷新:在一個刷新周期內(nèi),利用一段固定的時間,依次對存儲器的所有行逐一再生,在此期間停止對存儲器的讀和寫。,定期向電容補充電荷刷新,死區(qū),用在實時要求不高的場合。,2ms,50ns,例如:一個存儲器有1024行,系統(tǒng)工作周期為2OOns。RAM刷新周期為2ms。這樣,在每個刷新周期內(nèi)共有10000個工作周期,其中用于再生的為1024個工作周期,用于讀和寫的為8976個工作周期。 集中刷新的缺點是在刷

27、新期間不能訪問存儲器,有時會影響計算機系統(tǒng)的正確工作。,2ms,(2)分步刷新,例.,2.分布式刷新:把刷新操作分散到刷新周期(2ms)內(nèi),用在大多數(shù)計算機中。,每隔一段時間刷新一行。,128行,15.6 微秒,每隔15.6微秒提一次刷新請求,刷新一行;2毫秒內(nèi)刷新完所有行。,15.6 微秒,15.6 微秒,15.6 微秒,刷新請求,刷新請求,(DMA請求),(DMA請求),動態(tài)MOS存儲器的刷新需要有硬件電路的支持,包括刷新計數(shù)器、刷新訪存裁決,刷新控制邏輯等。這些線路可以集中在RAM存儲控制器芯片中。 例如Intel 8203DRAM控制器是為了控制2117,2118和2164DRAM芯片

28、而設(shè)計的。 2ll7,2118是16KXl位的DRAM芯片,2164是64KXl位的DRAM芯片。圖421是Intel 8203邏輯框圖。根據(jù)它所控制的芯片不同,8203有16K與64K兩種工作模式。,3存儲校驗線路,計算機在運行過程中,主存儲器要和CPU、各種外圍設(shè)備頻繁地高速交換數(shù)據(jù)。由于結(jié)構(gòu)、工藝和元件質(zhì)量等種種原因,數(shù)據(jù)在存儲過程中有可能出錯,所以,一般在主存儲器中設(shè)置差錯校驗線路。 實現(xiàn)差錯檢測和差錯校正的代價是信息冗余。 早期的計算機多采用奇偶校驗電路,只有一位附加位,但這只能發(fā)現(xiàn)一位錯而不能糾正。 由于大規(guī)模集成電路的發(fā)展,主存儲器的位數(shù)可以做得更多,使多數(shù)計算機的存儲器有糾正錯

29、誤代碼的功能(ECC)。一般采用的海明碼校驗線路可以糾正一位錯。,4.6提高存儲器性能技術(shù),速度和容量是存儲器的兩大主要課題,計算機的發(fā)展對存儲器不斷地提出更高速度和更大容量的要求。除去存儲器制造技術(shù)在不斷發(fā)展外,在單機系統(tǒng)中,提高存儲器性能的技術(shù)還有:雙端口存儲器、并行主存儲器、高速緩沖存儲器、虛擬存儲器等。,一.存儲器制造技術(shù)的發(fā)展,1.FPM DRAM FPM DRAM(Fast Page Mode DRAM):快頁模式DRAM。 傳統(tǒng)的DRAM在存取一位數(shù)據(jù)時,必須分別輸入行地址和列地址信息。 FPM DRAM對這種尋址方式做了改進,輸入行地址后,若CPU需要的數(shù)據(jù)在同一行地址內(nèi),則可

30、以在同一行連續(xù)輸出列地址而不必再輸出行地址。由于一般的程序和數(shù)據(jù)在主存中排列的地址是連續(xù)的,這種觸發(fā)行地址的方式能較為快速的獲得所需要的數(shù)據(jù)。,2.EDO DRAM EDO DRAM(Extended Data Out DRAM):擴展數(shù)據(jù)輸出DRAM。 傳統(tǒng)的DRAM和FPMDRAM在存取每一數(shù)據(jù)時,輸入行地址和列地址后必須等待電路穩(wěn)定,然后才能有效的讀寫數(shù)據(jù),而下一個地址必須等待這次讀/寫周期完成才能輸出。而EDO輸出數(shù)據(jù)只要定位好要讀/寫數(shù)據(jù)的第一位,不管讀/寫周期是否完成,都可啟動下一個讀/寫周期,從而提高了讀/寫速度。,3.SDRAM DRAM SDRAM DRAM(Synchron

31、ous DRAM):同步主存。 SDRAM以前的DRAM均采用異步讀取方式,不與系統(tǒng)外頻同步。存取數(shù)據(jù)時,系統(tǒng)須等待若干時鐘周期才能接收和發(fā)送數(shù)據(jù)。SDRAM在同步脈沖的控制下取消了主存等待時間,減少了數(shù)據(jù)傳送的延遲時間,因而加快了系統(tǒng)速度。,4.DDR DRAM DDR DRAM(Double Data Rata DRAM):雙速率SDRAM。 DDRSDRAM的核心建立在SDRAM的基礎(chǔ)上,與SDRAM的主要區(qū)別是DDRRAM能在時鐘脈沖的上升沿和下降沿讀出數(shù)據(jù),不需要再提高時鐘就能加倍提高SDRAM的速度。,6.SLDRAM SLDRAM(SyncLink DRAM):同步鏈接DRAM。

32、 它在速度上最接近于RDRAM,SLDRAM是一種增強和擴展SDRAM架構(gòu),它將當(dāng)前的4體(Bank)結(jié)構(gòu)擴展到16體,并增加了新接口的控制邏輯電路。SLDRAM像SDRAM一樣使用每個脈沖的邊沿傳送數(shù)據(jù)。,5.RDRAM RDRAM(Rambus DRAM):內(nèi)部總線DRAM。 是一種存儲總線式DRAM存儲器,本是為電視游戲機提出的一種內(nèi)存規(guī)則,因為能達(dá)到更高的時鐘頻率,后來Intel聯(lián)合Micron等10余家半導(dǎo)體廠商發(fā)布,并正式命名為DirectRambus DRAM,簡稱RDRAM。,6.VCM VCM又稱虛擬通道內(nèi)存(Virtual Channel Memory)。是NEC公司開發(fā)出

33、來的新一代DRAM,其原理是在一般的DRAM中加入一個塊SRAM作為數(shù)據(jù)緩存,以維持?jǐn)?shù)據(jù)的快速訪問,相當(dāng)于一種具有緩存的存儲器。 VCM保持了傳統(tǒng)SDRAM的管腳兼容,廠家不需要重新進行主板布線設(shè)計就能夠使主板支持它,不過,由于它與傳統(tǒng)的SDRAM控制方式不同,因此,還需要得到芯片組的支持才能使用。,二.雙端口存儲器,常規(guī)存儲器是單端口存儲器,每次只接收一個地址,訪問一個存儲單元,從中讀取一個字節(jié)或一個字。主存是信息交換的中心,一方面CPU頻繁地與主存交換信息,另一方面外設(shè)也較頻繁地與主存交換信息,而單端口存儲器每次只能接受一個訪存者,或者讀或是寫,這就影響了工作速度。為此,在某些系統(tǒng)中使用雙

34、端口存儲器。 雙端口存儲器具有兩個彼此獨立的讀/寫口,每個讀/寫口都有一套獨立的地址寄存器和譯碼電路,可以并行地獨立工作。兩個讀/寫口可以按各自按收的地址,同時讀出或?qū)懭?,或一個寫入而另一個讀出。與兩個獨立的存儲器不同,兩套讀/寫口的訪存空間相同,可以訪問同一存儲單元。通常使雙端口存儲器的一個讀/寫口面向CPU,另一個讀/寫口則面向外設(shè)或輸入輸出處理機。 另外,在多機系統(tǒng)中常采用雙端口存儲器甚至多端口存儲器作為各CPU的共享存儲器,實現(xiàn)多CPU之間的通信。,三.并行主存器,常規(guī)的主存是單體單字存儲器,只包含一個存儲體。在高速的計算機中,普遍采用并行主存系統(tǒng),即在一個主存周期內(nèi)可以并行讀取多個字

35、,依靠整體信息呑吐量的提高,以解決CPU與主存之間的速度匹配問題。并行主存有單體多字方式和多體并行和多體交叉方式。 1.單體多字方式 多個并行工作的存儲器共有一套地址寄存器和譯碼電路,按同一地址并行地訪問各自的對應(yīng)單元。 例:CPU送出地址A,則n個存儲器中的所有A單元同時被選中。若每個存儲器的字長為W位,則同時訪問nW 位,即可以將n 個存儲器看作一個大存儲器,一次訪問n個字,稱為單體多字方式。,.多體并行方式,n個并行的存儲器具有各自的地址寄存器、讀/寫電路和數(shù)據(jù)寄存器,稱為存儲模塊。它們能各自以同等的方式與CPU傳遞信息,形成可以同時工作又獨立編址且容量相同的n個分存儲體,這就是多體方式

36、。 采用多體并行方式的主存系統(tǒng)可以提高系統(tǒng)的呑吐速率,例:當(dāng)一個體用以執(zhí)行程序時,另一個體可用來與外設(shè)進行信息交換。,主存地址寄存器的高位表示模塊號,低位表示塊內(nèi)地址。,多體交叉存儲器,計算機中大容量的主存,可由多個存儲體組成,每個體都具有自己的讀寫線路、地址寄存器和數(shù)據(jù)寄存器,稱為“存儲模塊”。這種多模塊存儲器可以實現(xiàn)重疊與交叉存取。如果在M個模塊上交叉編址(M=2m),則稱為模M交叉編址。通常采用的編址方式如圖422(a)所示。,主存地址寄存器的低位部分經(jīng)譯碼后選擇不同的存儲體(m位),而高位部分則指向存儲體的存儲字。,在多體交叉存儲器中,連續(xù)的地址分布在相鄰的存儲體中,而同一存儲體的地址

37、都是不連續(xù)的。這種編址方式又稱橫向編址。 多體交叉存儲器采用分時工作的方法,CPU在一個存取周期內(nèi)可以分時地訪問每個分體。在4個分體完全并行的理想情況下,每隔1/4存取周期啟動一個存儲體,每個存取周期將可訪存4次,使主存的吞吐量提高為原來的4倍。 但在實際應(yīng)用中,當(dāng)出現(xiàn)數(shù)據(jù)相關(guān)和轉(zhuǎn)移時,將破壞并行性,不可能達(dá)到上述理想值。 注意:多體交叉存儲器要求存儲體的個數(shù)必須是2的整數(shù)冪,即必須中2、4、8、16、個,而且任一分體出現(xiàn)故障都影響整個地址空間的所有區(qū)域。,例:四個分體組成的多體交叉存儲器,四個分體為M0M3.其編址如表4.2所示。,每一存儲模塊本身來說,對它的連續(xù)兩次訪問時間間隔仍等于單模塊

38、訪問周期,但每隔一個T/M就有一個數(shù)據(jù)存取。,四.高速緩沖存儲器,大量典型程序的運行分析表明,當(dāng)CPU從主存中取出指令和數(shù)據(jù)時,在一個較短的時間間隔內(nèi),由程序產(chǎn)生的地址局限在主存空間的某個很小的區(qū)域內(nèi)。這種對局部范圍的存儲器地址頻繁地訪問,而對此范圍以外的地址訪問甚少的現(xiàn)象,稱為程序訪問的局部性。 高速緩沖技術(shù)就是利用程序的局部性原理,把程序中正在使用的部分(活躍塊)存放在一個高速的容量較小的存儲器(Cache)中,使CPU的訪存操作大多數(shù)針對Cache進行,從而使程序的執(zhí)行速度大大提高。 Cache大多采用SRAM器件。隨著微機技術(shù)的發(fā)展,在CPU芯片中也集成了Cache,稱為一級Cache

39、(L1 Cache ),安裝在主板上的Cache則稱為L2 Cache(二級緩存)。Pentium II以后的CPU則將L2 Cache與CPU內(nèi)核一起封裝在一只金屬盒內(nèi),或者直接把L2 Cache也集成到CPU芯片內(nèi),以進一步提高速度。這樣,主板上的Cache就稱為三級Cache(L3 Cache)了。,1.Cache的基本結(jié)構(gòu),主存有2n個單元,地址碼n位,將主存分塊,每塊有B個字節(jié),則可分成M塊。Cache也由同樣大小的塊組成,由于其容量小,所以塊的數(shù)目小得多,主存中只有一小部塊的內(nèi)容可放在Cache中。,在Cache中,每一塊外加有一個標(biāo)記,指明它是主存的哪一塊的副本,所以該標(biāo)記的內(nèi)容

40、相當(dāng)于主存中塊的編號,設(shè)主存地址為n位,且n=m+b,則可得出:主存的塊數(shù)M=2m,塊內(nèi)字節(jié)數(shù)B=2b。Cache的地址碼為(c+b)位。 Cache的塊數(shù)為2c,塊內(nèi)字節(jié)數(shù)與主存相同。,用主存地址的塊號字段訪問Cache標(biāo)記,若相等,說明訪問Cache有效,稱Cache命中。若不相等,說明訪問Cache無效,稱Cache不命中或失敗。,命中率指CPU所要訪問的信息在cache中的比率.,具有cache的存儲器,其平均存取時間計算如下: 設(shè)cache的存取時間為tc,命中率為h,主存的存取時間為tM,則平均存取時間htc+(1-h)(tc+tM)。,2. Cache的讀/寫操作 (1) Cac

41、he的讀操作 當(dāng)CPU發(fā)出讀請求時,若Cache命中,就直接對Cache 進行讀操作,與主存無關(guān)。若Cache不命中,則必須訪問主存,并把該塊信息一次從主存調(diào)入Cache內(nèi)。若此時Cache已滿,則需根據(jù)某種替換算法,用這個塊替換掉Cache中原來的某塊信息。,(2) Cache的寫操作,當(dāng)CPU發(fā)出寫請求時,若Cache命中,會遇到如何保持cache與主存中的內(nèi)容一致的問題。處理的方法有好幾種,如: 1)同時寫入cache和主存,稱為寫直達(dá)法。這種方式實現(xiàn)簡單,而且能隨時保持主存數(shù)據(jù)的正確性。但是,可能增加多次不必要的主存寫入。會降低存取速度。 2)信息暫時只寫入cache,并用標(biāo)志將該塊加

42、以注明,直到該塊從cache中替換出來時才一次寫入主存,稱為寫回法。這種方式操作速度快,但因主存中的字塊未經(jīng)隨時修改而有可能出錯。,若Cache不命中,就直接把信息寫入主存,而與Cache無關(guān)。,3地址映像,為了把信息放到Cache中,必須應(yīng)用某種函數(shù)把主存地址映像到Cache中定位,稱為地址映像。而將主存地址變換成Cache地址,稱做地址變換。地址的映像和變換是密切相關(guān)的。 假設(shè)某機主存容量1MB,被分為2048塊,每塊512B; Cache容量為8KB,被分為16塊,每塊512B。下面以此為例介紹三種基本的地址映像方法。 (1)直接映像 直接映像函數(shù)可定義為:K=I mod 2c 其中:K

43、是Cache的字塊號,I是主存的字塊號 c 為Cache塊號的位數(shù),在本例中c=4,訪存時,給出20位主存地址,其中高11位為主存塊,低9位為塊內(nèi)地址。為了實現(xiàn)Cache的地址映像和變換,將高11位進一步分為兩部分:高7位給出主存標(biāo)記,低4位給出Cache的塊號,所以,主存地址的低13位也就是變換后的Cache地址。 在Cache方面,為每一塊設(shè)立一個7位的Cache標(biāo)記。若現(xiàn)在Cache第0塊中復(fù)制的是主存中的第16塊的內(nèi)容,其標(biāo)記段為1,標(biāo)志它現(xiàn)在與主存的第1組對應(yīng)。因此在訪存時,只須比較主存地址中高7位的標(biāo)記段與對應(yīng)Cache塊的7位標(biāo)記。若兩都者相同,表明所需訪問主存塊內(nèi)容現(xiàn)在復(fù)制于對

44、應(yīng)的Cache塊之中。,直接映像的優(yōu)點是實現(xiàn)簡單,只需利用主存地址按某些字段直接判斷,即可確定所需字塊是否已在Cache存儲器中。 直接映像方式的缺點是不夠靈活,Cache的存儲空間得不到充分利用。例:若要將主存第0塊與第16塊同時復(fù)制到Cache 中,由于它們只能復(fù)制到Cache的第0塊中去,即使Cache中別的存儲空間空著也也不能占用。所以將有一個主存塊不能寫入Cache,從而使塊沖突概率較高。,(2)全相聯(lián)映像,它允許主存中的任何一塊都可以映像到Cache中的任何一塊位置上。,優(yōu)點:全相聯(lián)映像方式比較靈活,主存的各塊可映像到Cache的任一塊去,Cache的利用率高,塊沖突概率低,只要淘

45、汰Cache 中的某一塊,即可調(diào)入主存的任一塊。,缺點:由于Cache標(biāo)記太長,所以需要很長時間才能 判斷出所需的主存字塊是否在cache中,實現(xiàn)起來比較困難。,0塊 1塊 塊 塊 塊 塊 2040塊 2041塊 2047塊,組相聯(lián)映像實際上是直接映像和全相聯(lián)映像的折衷方案。主存和Cache都分組,主存中一個組內(nèi)的塊數(shù)與Cache中的分組數(shù)相同。 組間采用直接映像,組內(nèi)采用全相聯(lián)映像,例:主存分為256組,每組8塊,Cache分為8組,每組2塊。 主存中的各塊與Cache的組號間有固定的映像關(guān)系,但可自由映像到對應(yīng)的Cache組中的任何一塊。如:主存中的第0塊、第8塊均映像于Cache的第0組

46、,但可映像于Cache的第0塊或第1塊,主存中的第1塊、第9塊均映像于Cache的第1組,但可映像于Cache的第2塊或第3塊。,(3)組相聯(lián)映像,訪存時,給出20位主存地址,分為四部分。主存地址的低13位即是Cache地址,它包括Cache組號、組內(nèi)塊號和塊內(nèi)地址。 Cache中的每一塊設(shè)有8位標(biāo)記,填寫所復(fù)制的主存塊的組號,以便與主存塊標(biāo)記進行比較。 Cache中每組有若干可供選擇的塊,因而較直接映像方式靈活,又由于Cache的標(biāo)記比全相聯(lián)映像方式短,所以判斷的速度較快。,4.替換算法,在采用全相聯(lián)映像和組相聯(lián)映像方式從主存向Cache傳送一個新塊,而Cache中的可用位置已被占滿時,就產(chǎn)

47、生了替換算法的問題。常用的方法有下述兩種: (1)FIFO算法 思想:按調(diào)入Cache的先后決定淘汰的順序,即在需要更新時,將最先進入Cache的塊作為被替換的塊。 這種方法不需要隨時記錄各個塊的使用情況,容易實現(xiàn),且系統(tǒng)的開銷小。 缺點:可能會把一些需要經(jīng)常使用的程序塊(如:循環(huán)程序)也作為最早進入的Cache的塊替換掉。,(2)LRU算法,思想:把CPU近期最少使用的塊作為被替換的塊,這種替換方法需要隨時記錄Cache中各塊的使用情況,以便確定哪個塊是近期最少使用的塊。 LRU算法相對合理,但實現(xiàn)起來比較復(fù)雜,系統(tǒng)開銷較大 ,通常需要對每一塊設(shè)置一個稱為“ 年齡計數(shù)器”的硬件或軟件計數(shù)器,

48、用以記錄其被使用的情況。,無論是FIFO還是LRU算法,都不能肯定調(diào)出去的塊近期將絕不會再被使用,所以這兩種算法都不能算作最合理、最優(yōu)秀的算法。但研究表明,采用這兩種算法后可使Cache的命中率達(dá)到90%,其中LRU算法略優(yōu)于FIFO算法。這在實際使用中已經(jīng)是很不錯的了。,五.虛擬存儲器,一.虛擬存儲器的基本概念 虛擬存儲器是建立在主存一輔存層次上的由附加硬件裝置及操作系統(tǒng)存儲管理軟件組成的存儲體系。 虛擬存儲器將主存或輔存的地址空間統(tǒng)一編址,形成一個寵大的存儲空間。在這個大空間里,用戶可以自由編程,完全不必考慮程序在主存是否裝得下以及這些程序?qū)矸旁谥鞔嬷械膶嶋H存放位置。 用戶編程的地址稱為

49、虛地址或邏輯地址,實際的主存單元地址稱為實地址或物理地址,顯然虛地址要比實地址大得多。 在實際的物理存儲層次上,所編程序和數(shù)據(jù)在操作系統(tǒng)管理下,先送入磁盤,然后操作系統(tǒng)將當(dāng)前運行所需要的部分調(diào)入主存,供CPU使用,其余暫不運行部分留在磁盤中。 程序運行時,CPU以虛地址來訪問主存。由輔助硬件找出虛地址和實地址之間的對應(yīng)關(guān)系,并判斷這個虛地址指示的存儲單元內(nèi)容是否已裝入主存。若已在主存中,則通過地址變換,可直接訪問主存的實際單元,若不在主存中,則把包含這個字的一個程序塊調(diào)入主存后再由CPU訪問,若主存已滿,則由替換算法從主存中將暫不運行的一塊調(diào)回輔存,再從輔存調(diào)入新的一塊到主存。 虛擬存儲器和C

50、ache-主存有不少相同之處。只不過后者的控制完全由硬件實現(xiàn),而前者的控制是軟硬件相結(jié)合的,對于設(shè)計存儲管理軟件的系統(tǒng)程序員來說是不透明的,對于應(yīng)用程序員來說是透明的。,2.虛擬存儲器,(1)頁式虛擬存儲器 以頁為基本單位的虛擬存儲器叫頁式虛擬存儲器。 各類計算機頁面大小不等,一般為512B到幾KB。主存空間和虛存空間都劃分成若干個大小相等的頁。主存即實存的頁稱為實頁,虛存的頁稱為虛頁。 程序虛地址分為兩個字段:高位字段稱為虛頁號,低位字段為頁內(nèi)地址。虛地址到實地址之間的變換是由頁表來實現(xiàn)的。 頁表:一張存放在主存中的虛頁號和實頁號的對照表,記錄著程序的虛頁調(diào)入主存時被安排在主存中的位置。若計算機采用多道程序工作方式,則可為每個用戶作業(yè)建立一個頁表,硬件中設(shè)置一個頁表基址寄存器,存

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論