微機原理——擴展存儲器設計

【1】存儲器的層次結構

存儲器的層次結構

【2】存儲器的分類

存儲器的分類
這裏我們揀SRAM和DRAM來講

【3】SRAM

1、基本原理:

靜態隨機存取存儲器(SRAM):
所謂的“靜態”,是指這種存儲器只要保持通電,裏面儲存的數據就可以恆常保持。
當電力供應停止時,SRAM儲存的數據還是會消失(被稱爲volatile memory),這與在斷電後還能儲存資料的ROM或閃存是不同的。

2、結構:

⦁ 存儲矩陣,決定存儲器中存儲單元的排列形式,有字結構和位結構兩種
⦁ 地址譯碼器,用來選擇存儲單元,有線性譯碼和複合譯碼兩種,通常採用複合譯碼
⦁ 控制邏輯與三態數據緩衝器,控制CS、WR、RD信號

3、芯片參數與引腳解讀:

以6116(2K x 8)爲例:
2K:表示該芯片內部存儲單元的數目,這個數決定存儲芯片地址線的數目
8:表示該芯片每個存儲單元存儲信息的位數,這個數決定存儲芯片數據線的數目
引腳號如下:
芯片引腳

4、CPU與SRAM的連接方式

在這裏插入圖片描述
注意:地址和控制BUS是單向指向存儲器,數據BUS雙向。

【4】DRAM

1、基本原理:

1
2

2、結構

⦁ DRAM的地址線是複用的,即地址線分爲行地址和列地址兩部分。在對存儲單元進行訪問時,由行地址選通信號RAS把行地址送入行地址鎖存器;再由列地址選通信號CAS把列地址送入列地址鎖存器
⦁ CPU與DRAM之間的信息交換由DRAM控制器完成。

3、芯片引腳解讀:

1

【5】存儲器系統設計

所要考慮的問題:

1、總線的負載能力
2、CPU時序和存儲器存取速度之間的配合
3、存儲芯片的選擇以及數目
4、片內尋址和片間尋址地址線的分配
5、譯碼電路的選取(線性譯碼、全譯碼、部分譯碼)
6、數據線、控制線的連接

【6】存儲器擴展設計(重點)

1、位擴展(位並聯法)

⦁ 位擴展指用多個存儲器器件對字長進行擴充。一個地址同時控制多個存儲器芯片。
進行位擴展時,模塊中所有芯片的地址線和控制線互連形成整個模塊的地址線和控制線,而各芯片的數據線並列(位線擴展)形成整個模塊的數據線(8bit寬度)。
位擴展
爲何需要位擴展?
在微機系統中,存儲器是按字節來構成的,而所選擇的存儲器芯片的字長不足8位
時,用這樣的存儲器芯片構成系統所需的存儲器子系統電路,就必須進行位擴展,即
用幾片存儲器芯片並起來,以增加存儲字長。例如上圖,兩個4位組成一個8位。所以稱爲“位擴展”。

2、字節擴展(地址串聯法)

⦁ 字擴展指的是增加存儲器中字的數量。
進行字擴展時,模塊中所有芯片的地址線、控制線和數據線互連形成整個模塊的低位地址線、控制線和數據線 , CPU的高位地址線(擴展的字線)被用來譯碼以形成對各個芯片的選擇線 —— 片選線
圖

3、字節和位擴展

1
1、首先對芯片分組進行位擴展,以實現按字節編址;
2、其次設計個芯片組的片選進行字擴展,以滿足容量要求;
3

【7】片選信號產生(譯碼電路)(重點)

譯碼電路

1、全地址譯碼

除了用於存儲器芯片片內地址外,CPU總線的其他地址總線都參加芯片的片選地址譯碼。
特點:
存儲器芯片只佔用整個存儲空間中的一塊區域,訪問該存儲芯片片內單元採用唯一的地址。

例題

例:在8088CPU工作在最大方式組成的微機應用系統中,擴充設計8KB的
SRAM電路,SRAM芯片用Intel6264。若分配給該SRAM的起始地址爲62000H~
63FFFH,片選信號(CS1) 爲低電平有效。請用全地址譯碼方法設計該SRAM存儲器的
片選信號形成電路

分析:
1、Intel 6264

8K ×8位的SRAM
1

2、8K ×8位:8KB,所以只需要1片6264,不需要擴展
3、8086/8088CPU的地址總線均爲20位,8086/8088CPU的尋址範圍爲1MB; 8086有16根數據線和20根地址線,它既能處理16位數據,也能處理8位數據。可尋址的內存空間爲1MB。
4、6264片內地址線有13根:A0~A12,所以CPU總線的低13位直接與片內地址引腳相連接,作爲片內尋址,來選擇片內具體單元。
5、由於採用全譯碼方式,CPU高7位A19~A13全部參加譯碼。且芯片數量是1MB/8KB=128片。所以有128個片選地址。2^7=128.
62000H/2000H=49(10000H=8*2000H)轉換成二進制:0110001
6、片選信號是低電平有效,所以在地址譯碼設計中,若採用門電路,注意:A19~A13所有1進行邏輯與非,所有0進行邏輯或。
7、系統總線IO/M‘也參加譯碼
最終結果:
1
總結:…感覺步驟還挺多的,不過按照這個流程走一遍,第二次做的時候就很簡單了。

2、部分地址譯碼

也稱局部地址譯碼。片選信號不是由地址線中所有不在存儲器上的地址線譯碼產生,而是隻有部分高位地址線被送入譯碼電路產生片選信號。
特點:某些高位地址線被省略而不參加地址譯碼,簡化了地址譯碼電路,但地址空間有重疊。
例如,在8088 CPU組成的微機系統中,存儲器芯片採用8KB容量的6264芯片。在設計地址譯碼時,地址線A19未參加譯碼,只有A13—A18 6條地址線參加譯碼。這時每塊6264將佔有兩個8KB的內存空間。也就是說,內存空間發生了重疊現象,其重疊情況如圖6.23所示。從圖中可以看到,連接到內存空間最低8KB地址區的那一塊6264芯片,實際佔有的內存地址空間爲:00000H—01FFFH、80000H—81FFFH。它佔有了兩個8KB的內存空間。可以依此類推,如果有兩條高位地址線不參加地址譯碼,那麼就會使4個存儲空間發生重疊; 3條高位地址線不參加地址譯碼,則會產生8個重疊空間。重疊空間數滿足下述關係:重疊空間數=2",其中,n爲不參加地址譯碼的高位地址線。

例題

例:在8088 CPU工作在最小方式組成的微機應用系統中,擴充設計8KB的SRAM電路,SRAM芯片用Intel6264。若分配給該SRAM的地址範圍爲00000H~0FFFFH,片選信號(CS)爲低電平有效。請用部分地址譯碼方法設計該SRAM存儲器的片選信號形成電路。
分析:
1、6264的容量是8KB,然而00000H0FFFFH是64KB,所以重疊區域有64KB/8KB=8個,且2<sup>3=8,所以三條高位地址線不做譯碼,如A15A13
2、IO/M‘=0參加譯碼
1

3、線選譯碼方式

高位
線選法:選擇除存儲器芯片片內尋址以外的高位地址線中的某一條,作爲存儲器芯片的片選信號。
由於片選的地址線每次尋址時只能有一位有效,不允許同時有多位有效,這才保證每次只選中一個芯片或一個芯片組。
優點:選擇芯片不需要外加邏輯電路,姨媽線路簡單。
缺點:把地址空間分成了相互隔離的區域,且地址重疊區域多,不能充分利用系統的存儲器空間。

4、三種譯碼方式的比較

全譯碼:

系統所有地址線全部都應該參與譯碼
低段地址線應直接接在模塊上,尋址模塊內單元;
中段地址線譯碼後產生片選信號區分不同模塊;
高段地址線可用作片選信號有效的使能控制;

部分譯碼:

高端地址信號不參與譯碼,會造成地址空間的重疊和不連續

線譯碼;

電路結構簡單,但系統必須保證參與片選的地址線不能同時爲有效電平;
同部分譯碼法一樣,因爲有地址信號不參與譯碼,也存在地址重疊及不連續的問題

4、地址譯碼電路設計

步驟:

1、根據系統中實際存儲器容量,確定存儲器在整個尋址空間中的位置
2、根據所選用存儲芯片的容量,畫出地址分配圖,地址分配表
3、根據地址分配圖或分配表確定譯碼方法並畫出相應的地址位圖
4、選用合適期間,畫出譯碼電路

某微機系統地址總線爲16位,實際存儲器容量爲16KB,ROM區和RAM區各佔8KB。其中,ROM採用2KB的EPROM,RAM採用1KB的RAM,試設計譯碼電路.
1、該系統的尋址空間最大爲64KB,假定實際存儲器佔用最低16KB的存儲空間,即地址爲0000H3FFFH。其中0000H1FFFH爲EPROM區,2000H~3FFFH爲RAM區。
2、根據所採用的存儲芯片容量,可畫出地址分配圖;地址分配表
在這裏插入圖片描述
對於ROM來說每個子區域爲2KB=2^11,需要11位地址線作爲片內尋址:A0~A10;
對於RAM來說每個子區域爲1KB=2^10,需要10位地址線作爲片內尋址:A0~A9;
採用3—8譯碼器,前四根指向4片ROM,後四根加上一個A10構成二次譯碼,指向8片RAM;
在這裏插入圖片描述

【1】基於74LS138專用譯碼器的設計

引腳
在這裏插入圖片描述
真值表
在這裏插入圖片描述
例題1:在某 8088微處理器系統中,需要用8片6264構成一個64KB的存儲器。其地址分配在0000H~0FFFFH內存空間,地址譯碼採用全譯碼方式,用74LS138作譯碼器,請畫出存儲器譯碼電路。
分析:
1、6264片內地址線有13根:A0~A12,所以CPU總線的低13位直接與片內地址引腳相連接,作爲片內尋址,來選擇片內具體單元。
2、由於採用全譯碼方式,CPU高7位A19~A13全部參加譯碼。且芯片數量是8片。
這裏我們只是用A13~A15作爲譯碼器的輸入,這樣正好有8種輸出。A16到A19作爲選通信號3,全爲0.
1

【2】基於74LS688比較器的設計

引腳
在這裏插入圖片描述
工作原理:
在這裏插入圖片描述
例:利用 74LS688設計譯碼電路,輸出端(P= Q)'作爲Intel 62128 SRAM的CS片選信號,分配給Intel 62128的地址範圍爲74000H~77FFFH。畫出8088 CPU工作在最大方式下的譯碼電路。
分析:
74000H轉換成2進制:0111 0100, 0000 0000 0000
77FFFH轉換成2進制:0111 0111 ,1111 1111 1111
觀察發現前6位都是一樣的,這樣就可以定位大的範圍,就可以確定Q的值了:101110(從低位到高位)
所以結果如下:
結果
如果需要改變內存芯片的地址,只需要改變Q那邊開關就行了。所以這種結構可以爲改變內存地址帶來方便。
如果不需要改變地址,則可以直接給定Q邊的編碼就行了。


參考鏈接:

SRAM
《微機原理與接口技術.樓順天版》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章