八、存儲器1.存儲器的基本組成及其讀寫操作(1)存儲器的基本組成
主存儲器由存儲體、地址譯碼電路、驅(qū)動電路、讀寫電路和控制電路等組成。主存儲器主要功能是:①存儲體:是信息存儲的集合體,由某種存儲介質(zhì)按一定結(jié)構(gòu)組成的存儲單元的集合。通常是二維陣列組織,是可供CPU和計算機其他部件訪問的地址空間。
②地址寄存器、譯碼電路與驅(qū)動器:即尋址系統(tǒng),將CPU確定的地址先送至地址寄存器中,然后根據(jù)譯碼電路找到應(yīng)訪問的存儲單元。在存儲體與譯碼器之間的驅(qū)動器的功能是減輕譯碼線驅(qū)動負(fù)載能力。由于一條譯碼線需要與它控制的所有存儲單元相聯(lián),其負(fù)載很大。需要增夾犖動器,以譯碼線連叫犖動器的輸入端,由驅(qū)動器的輸出端控制連接在譯碼線上的所有存儲單元。③讀寫電路與數(shù)據(jù)寄存器:根據(jù)CPU的命令,將數(shù)據(jù)從數(shù)據(jù)寄存器中寫入存儲體中特定的存儲單元或?qū)⒋鎯w中指定單元的內(nèi)容讀到數(shù)據(jù)寄存器中。
④控制電路:接收CPU傳來的控制命令,經(jīng)過控制電路一系列的處理,產(chǎn)生一組時序信號控制存儲器的操作。
在存儲器的組成中,存儲體是核心,其余部分是存儲體的外圍線路。不同的存儲器都是由這幾部分組成,只是在選用不同的存儲介質(zhì)和不同的存取方式時,各部分的結(jié)構(gòu)與工作方式略有變化。
(2)存儲體陣列
計算機存儲器中存儲的是“0”和“1”的信息,每一個能存儲一位二進制并能保持兩種狀態(tài)的元件稱為記憶元件。若干記憶元件組成存儲單元,一個存儲單元能夠存儲一個或幾個字節(jié)的二進制信息。每個存儲單元都有一個地址編號,用以唯一標(biāo)識存儲單元的位置。信息按地址存入指定的存儲單元中,按地址從指定的存儲單元中取出。存儲單元的集合稱為存儲體。由于存儲體中存儲單元的每個二進制位必須并行工作,因此將存儲單元按其地址的順序組成存儲陣列。
(3)存儲器的地址譯碼系統(tǒng)
CPU要訪問存儲單元的地址由地址總線輸入到地址寄存器中。地址譯碼器將地址轉(zhuǎn)換為對應(yīng)地址線(字線)上的控制信號,以表示選中某一單元,并驅(qū)動相應(yīng)的讀寫電路,完成對存儲單元的讀寫操作。
地址譯碼為兩種方式:一種是單譯碼方式,僅有一個譯碼器。譯碼器輸出的每條譯碼線對應(yīng)一個存儲單元。如地址位數(shù)N=10,即譯碼器可以有2 10 =1024種狀態(tài),對應(yīng)有1024條譯碼線(字線)即1024個存儲單元。另外一種是雙譯碼方式,將譯碼器分成X向和Y向兩個譯碼器,通過雙譯碼器的相互作用確定存儲單元的地址。
設(shè)地址長度n仍為10,將其中的前5位輸入到X地址譯碼器中,譯出X 0 到X 31 譯碼線,分別選擇0~31行。將后5位輸入到Y(jié)地址譯碼器中譯出Y 0 到Y(jié) 31 譯碼線,分別選擇0~31列。X向譯碼器和Y向譯碼器引出的地址線都是2 5 =32條。若采用X向和Y向交*選擇,可以選擇從存儲單元(0,0)至(31,31)共2 5 ×2 5 =1024個存儲單元地址。即同樣可以提供1024種狀態(tài),而地址線只需要64條,比單譯碼器節(jié)省93.75%的地址線。
(4)存儲器的讀寫操作
在CPU向存儲體發(fā)生讀操作命令時,首先由CPU將相應(yīng)存儲單元的地址碼送至地址寄存器中;地址譯碼器將地址寄存器中的地址編碼譯成相應(yīng)地址線(字線)的高電位,標(biāo)志指定的存儲單元;然后在CPU的統(tǒng)一控制下,由控制電路將讀命令轉(zhuǎn)換成讀寫電路的操作,執(zhí)行將指定存儲單元的內(nèi)容傳送到數(shù)據(jù)寄存器的操作,完成了整個存儲器讀的操作。存儲器寫的操作與讀的操作相類似。
不同類型的存儲器根據(jù)其特點有不同的讀寫操作控制電路、控制機構(gòu)、讀寫電路及地址譯碼器,但它們的基本操作原理大同小異。
2.RAM的結(jié)構(gòu)、組織及其應(yīng)用
半導(dǎo)體存儲器有體積小、存取速度快、生產(chǎn)制造易于自動化等特點,其性能價格比遠(yuǎn)遠(yuǎn)高于磁芯存儲器,因而得到廣泛的應(yīng)用。
半導(dǎo)體存儲器的種類很多,就其制造工藝可以分成雙極型半導(dǎo)體存儲器和金屬-氧化物-半導(dǎo)體存儲器(簡稱MOS型存儲器)。MOS型存儲器按其工作狀態(tài)又可以分為靜態(tài)和動態(tài)兩種。動態(tài)存儲器必須增設(shè)恢復(fù)信息的電路,外部線路復(fù)雜。但其內(nèi)部線路簡單,集成度高,價格較靜態(tài)存儲器便宜。因此經(jīng)常用做大容量的RAM。
靜態(tài)存儲器和動態(tài)存儲器的主要差別在于:靜態(tài)存儲器存儲的信息不會自動消失,而動態(tài)存儲器存儲的信息需要在再生電路的幫助下才能保持。但無論雙極型或MOS型存儲器,其保持的信息將隨電源的撤消而消失。
(1)RAM的組織
半導(dǎo)體RAM芯片是在半導(dǎo)體技術(shù)和集成電路工藝支持下的產(chǎn)物。一般計算機中使用的RAM芯片均有自己的存儲體陣列、譯碼電路、讀寫控制電路和I/O電路。①RAM的并聯(lián)
為擴展存儲器的字長,可以采用并聯(lián)存儲器芯片的方式實現(xiàn)。②RAM的串聯(lián)
為擴展存儲器的存儲單元數(shù)量,可以采用多個芯片地址串聯(lián)的方式解決。③地址復(fù)用的RAM組織
隨著大規(guī)模集成電路技術(shù)的發(fā)展,使得一塊存儲器芯片能夠容納更多的內(nèi)容。其所需地址線隨之增加,為了保持芯片的外部封裝不變,一般采用地址復(fù)用的技術(shù),即采用地址分批送入的結(jié)構(gòu)保證不增加芯片的地址引腳。
(2)RAM的實際應(yīng)用
由于一個存儲器的芯片一般不能滿足使用的要求,所以通常將若干個存儲器芯片按串聯(lián)和并聯(lián)的兩種方式相結(jié)合連接,組成一定容量和字長的存儲器。
如果設(shè)計的存儲器容量有x字,字長為y,而采用的芯片為N×M位。要組成滿足字長要求的存儲器所需芯片數(shù)為:y/M。根據(jù)容量要求,組成要求容量的RAM所需芯片數(shù)為:(x/N)×(y/M)。
3.ROM的工作原理及其應(yīng)用
使用時只讀出不寫入的存儲器稱為只讀存儲器(ROM)。ROM中的信息一旦寫入就不能進行修改,其信息斷電之后也仍然保留。一般用于存放微程序、固定子程序、字母符號陣列等信息。
ROM和RAM相比,使用時不需寫入、再生和刷新等操作,所以其電路比較簡單,但同樣有地址譯碼器、數(shù)據(jù)讀出電路等。制作ROM的半導(dǎo)體材料有二極管、MOS電路和雙極型晶體管等。因制造工藝和功能不同,一般分為普通ROM、可編程ROM(PROM)、可擦寫可編程ROM(EPROM)和電可擦寫可編程ROM(EEPROM)等。
(1)ROM的工作原理
一般的ROM使用掩模式ROM。這類ROM由生產(chǎn)廠家做成,用戶不能加以修改。
掩模ROM的特點是其存儲內(nèi)容出廠時由生產(chǎn)廠家一次制成,用戶不能對其內(nèi)容進行修改,而依賴于生產(chǎn)廠家,這種ROM適用于定型批量制作。在實際使用過程中,部分用戶希望自己根據(jù)需要填寫ROM的內(nèi)容,因此產(chǎn)生可編程ROM(PROM)。PROM與掩模ROM的主要區(qū)別是PROM在出廠時其內(nèi)容均為“0”或“1”,用戶在使用前按照自己的需要利用工具將編碼寫入PROM中,一次寫入不可修改。PROM的使用相當(dāng)于由用戶ROM生產(chǎn)的最后一道工序中———向ROM中寫入編碼,其余同掩模ROM的使用完全相同。
(2)EPROM和EEPROM的工作原理
為了適應(yīng)程序調(diào)試的要求,針對一般PROM的不可修改特性,設(shè)計出可以多次擦寫的可編程ROM(EPROM)。其特點是可以根據(jù)用戶的要求用工具擦去ROM中原有的存儲內(nèi)容,重新寫入新的編碼。擦除和寫入可以根據(jù)用戶的要求用工具擦去R0M中原有的存儲內(nèi)容,重新寫入新的編碼。擦除和寫入可以多次進行,其內(nèi)容同樣不會因斷電而丟失。最常見的EPROM是UVEPROM,其存儲元件常用浮置柵型MOS管組成。出廠時全部置“0”或“1”,由用戶通過高壓脈沖寫入信息。擦寫時通過其外部的一個石英玻璃窗,利用紫外線的照射,使浮柵上的電荷獲得高能而泄漏,恢復(fù)原有的全“0”或全“1”狀態(tài),允許用戶重新寫入信息。平時窗口上必須貼有不透明膠紙,以防光線進入而造成信息流失。
另有一種EPROM是通過電氣方法擦除其中的已有內(nèi)容,也稱為電可擦寫編程ROM(EEPROM)。
4.外存儲器的工作原理
外存儲器是指那些不能被CPU直接訪問的,讀取速度較內(nèi)存慢,容量比內(nèi)存大,通常用來存放不常用的程序和數(shù)據(jù)的存儲器。磁帶、磁盤存儲器是現(xiàn)今最常用的外存,因其利用磁表面介質(zhì)存儲數(shù)據(jù),通常也稱為磁表面存儲器。而光盤是外存發(fā)展的方向,有必要了解它們的原理和應(yīng)用。
(1)磁盤存儲器
磁盤存儲器具有容量大,存取速度高(相對其他種類外存儲器)的特點,因而在各種類型的計算機中普遍被用做主要的外存儲器。磁盤存儲器避免了磁帶存儲的缺點。磁盤存儲器將磁性材料涂粘在以某種材料為主的圓片上,用若干封閉的圓形磁道代替了磁帶的長形磁道。使用時,通過磁盤面的高速旋轉(zhuǎn)代替磁帶的直線運動,減少尋找特定位置的時間。
磁盤存儲器由磁盤、磁頭、定位系統(tǒng)和傳動系統(tǒng)等部分組成,一般也將這些部件統(tǒng)稱為磁盤驅(qū)動器。根據(jù)盤片的基本組成材料將磁盤分為硬盤和軟盤兩種。所謂硬盤是指由金屬材料制成一定厚度的盤片基體,這些盤片一般組合成盤片組構(gòu)成硬盤驅(qū)動器的存儲主體。
軟盤和硬盤盤片記錄信息的方式相同,都是將每個盤面由外向內(nèi)分成若干個磁道,每個磁道也劃分為多個扇區(qū),信息以扇區(qū)為單位存儲。
扇區(qū)是磁盤存放信息的最小物理單位。扇區(qū)包括頭空、序標(biāo)、數(shù)據(jù)區(qū)、檢驗字段和尾空等幾個部分。通常對磁盤進行的所謂格式化操作就是在磁盤上劃分磁道、扇區(qū)及扇區(qū)內(nèi)各特定區(qū)域,剛出廠的磁盤上沒有這些劃分,所以必須在格式化后才能使用。
磁盤區(qū)域的劃分隨計算機系統(tǒng)的不同而不同,其存儲容量也有較大的差別。但可以通過查閱計算機系統(tǒng)相應(yīng)的說明掌握磁盤容量的數(shù)據(jù)。計算一個磁盤容量的公式是:磁盤存儲容量=盤面數(shù)×每盤面磁道數(shù)×每磁道扇區(qū)數(shù)×每扇區(qū)存儲容量
(2)光盤存儲器
所謂光盤(CD)是利用光學(xué)原理讀寫信息的存儲器。由于光盤的容量大、速度較快、不易受干擾等特點,光盤的應(yīng)用愈來愈廣泛。
光盤系統(tǒng)一般是由光學(xué)、電氣和機械部件組成。
從結(jié)構(gòu)上看光盤存儲器同磁盤存儲器基本相同,兩者均有存儲信息的盤片、機械驅(qū)動部件、定位部件和讀寫機構(gòu)。不同的是后者利用磁性原理存儲信息,利用磁頭存取信息;而前者是利用光學(xué)原理存儲信息并用光學(xué)讀寫頭來存取這些信息。
光盤本身是靠盤面上一些能夠影響光線反射的表面特征存儲信息,例如現(xiàn)在常用的只讀光盤(CD-ROM)上利用光盤表面的凹凸不平表示“0”和“1”。以CD-ROM為例,讀取數(shù)據(jù)時,由機械驅(qū)動部件和定位部件負(fù)責(zé)確定讀取的位置。激光器發(fā)出激光經(jīng)光學(xué)線路至聚焦透鏡射向光盤表面,表面的凹凸不平造成反射光的變化,利用數(shù)據(jù)光檢測器將這些變化轉(zhuǎn)換為數(shù)據(jù)“0”和“1”的電信號傳輸?shù)綌?shù)據(jù)輸出端,整個讀取工作完成。其他類型光盤的寫入過程大體與此相同,唯一的差別是數(shù)據(jù)自數(shù)據(jù)輸入端傳來。
一般將光盤存儲器分為只讀式(readonly)、一次寫入式(writeonce)和可擦式(erasable)或可逆式(reversible)三種。只讀式光盤利用材料表面的凹凸不平的特征記錄信息,在出廠前由生產(chǎn)廠家將有關(guān)信息存放到光盤上。對于一次寫入式光盤,用戶可以利用會聚的激光束在光盤表面照射使材料發(fā)生永久性變化而記錄信息。這種光盤現(xiàn)已普遍用于多媒體系統(tǒng)。可擦式光盤利用激光在磁性材料上或相變材料上實現(xiàn)信息的存儲和擦除。
光盤存儲器的記錄密度高,存儲容量大,一片5.25英寸大小的一次寫入式光盤可以存儲680MB的信息,其容量遠(yuǎn)遠(yuǎn)大于外形同樣大小的軟磁盤。光盤信息的保存時間也比磁盤的長。目前影響光盤普遍應(yīng)用的主要原因是光盤存儲器的讀寫速度慢和光盤驅(qū)動器的成本高。隨著技術(shù)的進步,以上問題是可以解決的。因此光盤存儲器有廣泛的應(yīng)用前景。
5.虛擬存儲的概念、作用和工作過程
(1)虛擬存儲的概念、作用
一般將由主存和部分輔
存組成的存儲結(jié)構(gòu)稱為虛擬存儲器,其對應(yīng)的存儲地址稱為虛擬地址(邏輯地址),其對應(yīng)的存儲容量稱為虛擬容量。將實際主存地址稱為物理地址或?qū)嵉刂,主存的容量稱為實存容量。
當(dāng)用虛擬地址訪問主存時,系統(tǒng)首先查看所用虛擬地址對應(yīng)的單元內(nèi)容是否已裝入主存。如果在主存中,可以通過輔助軟、硬件自動把虛擬地址變成主存的物理地址后,對主存相應(yīng)單元進行訪問。如果不在主存中,通過輔助的軟、硬件將虛擬地址對應(yīng)的內(nèi)容調(diào)入主存中,然后再進行訪問。因此,對虛擬存儲器的每次訪問都必須進行虛實地址的變換。
虛擬存儲器的作用是擴大整個主存的容量,允許在程序中使用比主存容量大得多的虛擬存儲器。同時可以減輕人們編程中對程度進行分塊的苦惱,從而提高軟件開發(fā)的效率。虛擬存儲器是實現(xiàn)利用小容量的主存運行大規(guī)模的程序的一種有效的辦法。盡管實現(xiàn)虛擬存儲要增加一些額外的投資和軟件開銷,虛擬存儲技術(shù)在各種計算機系統(tǒng)中仍得到了廣泛的應(yīng)用。
虛擬存儲器必須建立在主存-輔存結(jié)構(gòu)上,但一般的主存-輔存系統(tǒng)并不一定是虛擬存儲器,虛擬存儲器與一般的主存-輔存系統(tǒng)的本質(zhì)區(qū)別是:
①虛擬存儲器允許人們使用比主存容量大得多的地址空間來訪問主存,非虛擬存儲器最多只允許人們使用主存的整個空間,一般只允許使用操作系統(tǒng)分配的主存中的某一部分空間。
②虛擬存儲器每次訪問主存時必須進行虛、實地址的變換,而非虛擬存儲系統(tǒng)則不必變換。
(2)虛擬存儲的工作原理
虛擬存儲技術(shù),實際上是將編寫程序時所用的虛擬地址(邏輯地址)轉(zhuǎn)換成較小的物理地址。在程序運行時隨時進行這種變換。為了便于主存與輔存之間信息的交換,虛擬存儲器一般采用二維或三維的復(fù)合地址格式。采用二維地址格式時,將整個存儲器劃分為若干頁(或段),每個頁(或段)又包括若干存儲單元。采用三維地址格式時將整個存儲空間分為若干段,每段分為若干頁,每頁又包括若干存儲單元。根據(jù)地址格式不同,虛擬存儲器分為:頁式虛擬存儲器、段式虛擬存儲器和段頁式虛擬存儲器。
在虛擬存儲器中邏輯地址與物理地址之間的對應(yīng)稱為地址映象。通常有三種地址映象的方式:全相聯(lián)映象、直接映象和組相聯(lián)映象。①全相聯(lián)映象
任一邏輯頁能映象到實際主存的任意頁面位置稱為全相聯(lián)映象,通常利用頁表法進行地址間的變換。
②直接映象
每個邏輯頁只能映象到一個特定頁面的方式稱為直接映象。如主存實際有2 P 頁,虛擬存儲器的邏輯空間有2 P 頁,則將邏輯空間按物理空間大小分為2 P -P塊,塊內(nèi)各頁只能映象到主存的相應(yīng)頁中。即所有各塊的第0頁對應(yīng)主存的第0頁,各塊的第n頁對應(yīng)主存的第n頁。若程序需要輪流使用第i塊和第j塊的第m頁,只能將兩頁交替在主存和輔存之間調(diào)入調(diào)出,形成存儲頁面的“抖動”。③組相聯(lián)映象
組相聯(lián)映象方法是先按直接映象方法將虛擬存儲空間(邏輯空間)分成若干塊,在主存和邏輯空間中的各塊內(nèi)劃分為若干組,每個組間按直接映象方法控制?梢赃@樣理解,如果將組相聯(lián)映象方法中的組按直接映象方法的頁來看待,組相聯(lián)方法與直接映象方法相同,邏輯空間的各組內(nèi)的頁只能與對應(yīng)的物理空間組相聯(lián)。但在組內(nèi)各頁與物理空間的頁面之間采用全相聯(lián)映象方法處理。因此,可以認(rèn)為組相聯(lián)映象是全相聯(lián)映象和直接映象方法的結(jié)合。
6.緩沖技術(shù)使用
緩沖技術(shù)就是為緩解慢速設(shè)備對整個計算機系統(tǒng)速度的影響,在計算機的某些部件中劃定一塊區(qū)域,模擬慢速設(shè)備的操作,將對慢速設(shè)備的操作先存放在此區(qū)域中,其他部件完成這一操作后可以繼續(xù)其他工作,而慢速設(shè)備可以用自己的速度逐漸完成相應(yīng)的操作。做為中間緩沖的區(qū)域稱為緩沖區(qū),相應(yīng)的技術(shù)稱為緩沖技術(shù)。
在整個存儲體系的組織中,緩沖技術(shù)成為解決容量與速度之間矛盾的主要方法。實際上在計算機系統(tǒng)中緩沖技術(shù)解決了許多難題,促進了計算機系統(tǒng)的發(fā)展。在存儲體系中,緩沖技術(shù)主要體現(xiàn)在Cache的應(yīng)用和磁盤緩沖的使用。