計算機組成原理(四)之儲存器
6.1儲存器及半導體儲存器的分類
儲存器是計算機用來儲存資訊的部件。
6.1.1 儲存器的分類
按存取速度和用途可把儲存器分為兩大類:記憶體儲器和外儲存器。
記憶體:把通過系統匯流排直接與CPU相連的儲存器稱為記憶體儲器,簡稱記憶體。
特點:具有一定容量、存取速度快,且掉電資料將丟失。
作用:計算機要執行的程式和要處理的資料等都必須事先調入記憶體後方可被CPU讀取並執行。
外存:把通過介面電路與系統相連的儲存器稱為外儲存器,簡稱外存,如硬碟、軟盤和光碟等。
特點:儲存容量大而存取速度較慢,且掉電資料不丟失。
作用:外存用來存放當前暫不被CPU處理的程式或資料,以及一些需要永久性儲存的資訊。
通常將外存歸入計算機外部裝置,外存中存放的資訊必須調入記憶體後才能被CPU使用。
早期的記憶體使用磁芯。隨著大規模積體電路的發展,半導體儲存器整合度大大提高,成本迅速下降,存取速度大大加快,所以在微型計算機中,目前記憶體一般都使用半導體儲存器。
6.1.2 半導體儲存器的分類
從應用角度可將半導體儲存器分為兩大類:隨機存取儲存器RAM(RandomAccess Memory)和只讀儲存器ROM(ReadOnly Memory)。
ROM的內容只能隨機讀出而不能寫入,斷電後資訊不會丟失,常用來存放不需要改變的資訊(如某些系統程式),資訊一旦寫入就固定不變了。
根據製造工藝的不同,隨機讀寫儲存器RAM主要有雙極型和MOS型兩類。
雙極型儲存器具有存取速度快、整合度較低、功耗較大、成本較高等特點,適用於對速度要求較高的高速緩衝儲存器;
MOS型儲存器具有整合度高、功耗低、價格便宜等特點,適用於記憶體儲器。
MOS型儲存器按資訊存放方式又可分為靜態RAM(StaticRAM,簡稱SRAM)和動態RAM(DynamicRAM
只讀儲存器ROM在使用過程中,只能讀出儲存的資訊而不能用通常的方法將資訊寫入儲存器。目前常見的有:掩膜式ROM,使用者不可對其程式設計,其內容已由廠家設定好,不能更改;可程式設計ROM(ProgrammableROM,簡稱PROM),使用者只能對其進行一次程式設計,寫入後不能更改;可擦除的PROM(ErasablePROM,簡稱EPROM),其內容可用紫外線擦除,使用者可對其進行多次程式設計;電擦除的PROM(ElectricallyErasable PROM,簡稱EEPROM或E2PROM),能以位元組為單位擦除和改寫。
6.1.3 半導體儲存器的主要技術指標
1.儲存容量
(1) 用字數´位數表示,以位為單位。常用來表示儲存晶片的容量,如1K´4位,表示該晶片有1K個單元(1K=1024),每個儲存單元的長度為4位。
(2)用位元組數表示,以位元組為單位,如128B,表示該晶片有128個單元,每個儲存單元的長度為8位。現代計算機儲存容量很大,常用KB、MB、GB和TB為單位表示儲存容量的大小。其中,1KB=210B=1024B;1MB=220B=1024KB;1GB=230B=l024MB;1TB=240B=1024GB。顯然,儲存容量越大,所能儲存的資訊越多,計算機系統的功能便越強。
2.存取時間
存取時間是指從啟動一次儲存器操作到完成該操作所經歷的時間。例如,讀出時間是指從CPU向儲存器發出有效地址和讀命令開始,直到將被選單元的內容讀出為止所用的時間。顯然,存取時間越小,存取速度越快。
3.儲存週期
連續啟動兩次獨立的儲存器操作(如連續兩次讀操作)所需要的最短間隔時間稱為儲存週期。它是衡量主儲存器工作速度的重要指標。一般情況下,儲存週期略大於存取時間。
4.功耗
功耗反映了儲存器耗電的多少,同時也反映了其發熱的程度。
5.可靠性
可靠性一般指儲存器對外界電磁場及溫度等變化的抗干擾能力。儲存器的可靠性用平均故障間隔時間MTBF(MeanTime Between Failures)來衡量。MTBF可以理解為兩次故障之間的平均時間間隔。MTBF越長,可靠性越高,儲存器正常工作能力越強。
6.整合度
整合度指在一塊儲存晶片內能整合多少個基本儲存電路,每個基本儲存電路存放一位二進位制資訊,所以整合度常用位/片來表示。
7.效能/價格比
效能/價格比(簡稱價效比)是衡量儲存器經濟效能好壞的綜合指標,它關係到儲存器的實用價值。其中效能包括前述的各項指標,而價格是指儲存單元本身和外圍電路的總價格。
6.1.4 半導體儲存器晶片的基本結構
圖6.2 半導體儲存器組成框圖
地址譯碼方式單譯碼方式
圖6.3 單譯碼方式
雙譯碼方式
圖6.4 雙譯碼方式
6.2 隨機讀寫儲存器(RAM)
6.2.1 靜態RAM
Intel 2114 SRAM晶片
Intel2114 SRAM晶片的容量為1Kx4位,18腳封裝,+5V電源,晶片內部結構及晶片引腳圖和邏輯符號分別如圖6.5和6.6所示。
由於1Kx4=4096,所以Intel2114 SRAM晶片有4096個基本儲存電路,將4096個基本儲存電路排成64行x64列的儲存矩陣,每根列選擇線同時連線4位列線,對應於並行的4位,從而構成了64行x16列=1K個儲存單元,每個單元有4位。
圖6.6 Intel 2114引腳及邏輯符號
(a)引腳;(b)邏輯符號
6.2.2 動態RAM
Intel2164A動態RAM晶片
Intel2164A晶片的儲存容量為64Kx1位,採用單管動態基本儲存電路,每個單元只有一位資料,其內部結構如圖6.7所示。2164A晶片的儲存體本應構成一個256x256的儲存矩陣,為提高工作速度(需減少行列線上的分佈電容),將儲存矩陣分為4個128x128矩陣,每個128x128矩陣配有128個讀出放大器,各有一套I/O控制(讀/寫控制)電路。
圖6.7 Intel 2164A內部結構示意圖
64K容量本需16位地址,但晶片引腳(見圖6.8)只有8根地址線,A0~A7需分時複用。在行地址選通訊號RAS控制下先將8位行地址送入行地址鎖存器,鎖存器提供8位行地址RA7~RA0,譯碼後產生兩組行選擇線,每組128根。然後在列地址選通訊號CAS控制下將8位列地址送入列地址鎖存器,鎖存器提供8位列地址CA7~CA0,譯碼後產生兩組列選擇線,每組128根。
圖6.8 Intel 2164A引腳與邏輯符號
(a)引腳;(b)邏輯符號
6.3 只讀儲存器(ROM)
6.3.1 掩膜式只讀儲存器(MROM)
圖6.9 掩膜式ROM示意圖
6.3.2 可程式設計只讀儲存器(PROM)
圖6.10 PROM儲存電路示意圖
6.3.3 可擦除、可再程式設計的只讀儲存器
1.EPROM和E2PROM
圖6.11 SIMOS型EPROM
(a) SIMOS管結構;(b)SIMOS EPROM元件電路
2.Intel2716 EPROM晶片
EPROM晶片有多種型號,常用的有 2716(2Kx8)
2732(4Kx8)
2764(8Kx8)
27128(16Kx8)
27256(32Kx8)等。
1) 2716的內部結構和外部引腳
2716 EPROM晶片採用NMOS工藝製造,雙列直插式24引腳封裝。其引腳、邏輯符號及內部結構如圖6.15所示。
圖6.12 Intel 2716的引腳、邏輯符號及內部結構
(a) 引腳;(b) 邏輯符號;(c) 內部結構
表6.1 常用的EPROM晶片
3. Intel 2816 E2PROM晶片
Intel 2816是2Kx8位的E2PROM晶片,有24條引腳,單一+5V電源。其引腳配置見圖6.13。
圖6.13 Intel 2816的引腳
表6.2 常用的E2PROM晶片
6.4 儲存器的擴充套件
6.4.1 儲存晶片的擴充套件
儲存器的擴充套件主要解決兩個問題:一個是如何用容量較小、字長較短的晶片,組成微機系統所需的儲存器;另一個是儲存器如何與CPU的連線。
1. 儲存晶片的擴充套件
儲存晶片的擴充套件包括位擴充套件、字擴充套件和字位同時擴充套件等三種情況。
(1) 位擴充套件
位擴充套件是指儲存晶片的字(單元)數滿足要求而位數不夠,需要對每個儲存單元的位數進行擴充套件。擴充套件的方法是將每片的地址線、控制線並聯,資料線分別引出。其位擴充套件特點是儲存器的單元數不變,位數增加。
下圖6.14給出了使用8片8Kx1位的RAM晶片通過位擴充套件構成8Kx8位的儲存器系統的連線圖。
(2)字擴充套件
字擴充套件是指儲存晶片的位數滿足要求而字(單元)數不夠,需要對儲存單元數進行擴充套件。擴充套件的原則是將每個晶片的地址線、資料線、控制線並聯,僅片選端分別引出,以實現每個晶片佔據不同的地址範圍。
下圖6.18給出了用4個16Kx8位晶片經字擴充套件構成一個64Kx8位儲存器系統的連線方法。
(3) 字位同時擴充套件
字位同時擴充套件是指儲存晶片的位數和字數都不滿足要求,需要對位數和字數同時進行擴充套件。擴充套件的方法是線進行位擴充套件,即組成一個滿足位數要求的儲存晶片組,再用這個晶片組進行字擴充套件,以構成一個既滿足位數又滿足字數的儲存器。
圖6.16給出了用2114(1Kx4)RAM晶片構成4Kx8儲存器的連線方法。
擴充套件儲存器所需儲存晶片的數量計算:若用一個容量為mK×n位的儲存晶片構成容量為MK×N位(假設M>m,N>n,即需字位同時擴充套件)的儲存器,則這個儲存器所需要的儲存晶片數為:
(M/m)×(N/n)
對於位擴充套件:
因為 M=m,N>n,
則所需晶片數為 N/n;
對於字擴充套件:
因為 N=n,M>m,
則所需晶片數為 M/m。
2. 儲存器與CPU的連線
擴充套件的儲存器與CPU的連線實際上就是與三匯流排中相關訊號的連線。
1)儲存器與控制匯流排的連線
在控制匯流排中,與儲存器相連的訊號為數不多,如8086/8088最小方式下的M/IO(8088為IO/M)、RD和WR,最大方式下的MRDC、MWTC、IORC和IOWC等,連線非常方便,有時這些控制線(如M/IO)也與地址線一同參與地址譯碼,生成片選訊號。
2)儲存器與資料匯流排的連線
對於不同型號的CPU,資料匯流排的數目不一定相同,連線時要特別注意。
8086CPU 的資料匯流排有 16 根,其中高 8 位資料線 D 15 ~ D 8 接儲存器的高位庫 ( 奇地址庫 ) ,低 8 位資料線 D 7 ~ D 0 接儲存器的低位庫 ( 偶地址庫 ) ,根據 BHE( 選擇奇地址庫 ) 和 A 0 ( 選擇偶地址庫 ) 的不同狀態組合決定對儲存器做字操作還是位元組操作。8位機和8088CPU的資料匯流排有8根,儲存器為單一儲存體組織,沒有高低位庫之分,故資料線的連線較簡單。
3)儲存器與地址匯流排的連線
對於字擴充套件和字位同時擴充套件的儲存器與地址匯流排的連線分為低位地址線的連線和高位地址線的連線。低位地址線的連線較簡單,直接和儲存晶片的地址訊號連線作為片內地址譯碼,而高位地址線的連線主要用來產生選片訊號(稱為片間地址譯碼),以決定每個儲存晶片在整個儲存單元中的地址範圍,避免各晶片地址空間的重疊。
片間地址譯碼一般有線選法和譯碼法兩種。
⑴ 線選法
所謂線選法就是直接將某一高位地址線與某個儲存晶片片選端連線。這種方法的特點是簡單明瞭,且不需要另外增加電路。但儲存晶片的地址範圍有重疊,且對儲存空間的使用是斷續的,不能充分有效地利用儲存空間,擴從儲存容量受限。
⑵ 譯碼法
所謂譯碼法就是使用譯碼電路將高位地址進行譯碼,以其譯碼輸出作為儲存晶片的片選訊號。其特點是連線複雜,但能有效地利用儲存空間。譯碼電路可以使用現有的譯碼器晶片。
常用的譯碼晶片有:74LS139(雙2-4譯碼器)和74LS138(3-8譯碼器)等。
圖6.18 74LS138引腳及邏輯符號
例題用 1K×8 的儲存晶片組成 4K×8 的儲存系統,與某 8 位機( 16 根地址線)相連,分別採用線選法和譯碼法來連線,比較兩種方法的優缺點。
例6.1設某8位機系統(16根地址線)需裝6KB的ROM,地址範圍安排在0000H~17FFH。請畫出使用EPROM晶片2716構成的連線線路圖。
【分析】 2716的容量為2K×8,需用3片進行字擴充套件。2716有8條資料線(O7~O0)正好與CPU的資料匯流排(D7~D0)連線;11條地址線(A10~A0)與CPU的低位地址線(A10~A0)連線。2716選片訊號(CS)的連線是一個難點,需要考慮兩個問題:一是與CPU高位地址線(A15~A11)和控制訊號(IO/M、RD)如何連線,二是根據給定的地址範圍如何連線。
假如選擇譯碼法,根據給定的地址範圍,可列出3片EPROM的地址範圍如下表所示。
各組晶片的地址範圍
【解】 根據上表,EPROM與CPU的連線如圖6.19所示。其中,
高位地址線A11、A12、A13分別與74LS138的輸入端A、B、C連線,A14與使能端G2B連線,A15與使能端G2A連線;
控制訊號IO/M、RD經或非門與使能端G1連線。
圖6.19EPROM與CPU的連線
例 6.2設某8位機系統(16根地址線)用2114靜態RAM晶片構成4K×8位儲存器,其地址範圍為2000H~2FFFH。試畫出連線線路圖,並寫出每組晶片的地址範圍。
【分析】 2114的結構是1K×4位,要用此晶片構成4K×8位的儲存器需進行字位同時擴充套件。即可用兩片2114按位擴充套件方法組成1K×8的儲存器組;用8片可組成四組1K×8位的存貯器。
【解】 根據以上分析,可畫出RAM與CPU的連線圖,如圖6.20所示。
各組晶片的地址範圍