怎麼判斷存儲器的地址線和數據線
Ⅰ 地址匯流排片選信號解碼器的輸入地址線怎麼判斷
計組——搞懂主存儲器晶元之地址線數據線及片選線和讀寫控制線
一塊存儲晶元完整的構造圖如下(內部進行了封裝):
存儲矩陣是由一個一個的存儲元構成;
解碼驅動電路分為解碼器和驅動器,解碼器會輸出某一條線路的高電平信號,驅動器是為了保證解碼器輸出的高電平穩定可靠的,可以理解為將電信號放大的部件。
讀寫電路是連通存儲元的電路
地址線:用來讀取和寫入數據,接收地址信息,通常是CPU通過地址匯流排傳來的
數據線:實現數據的傳輸,其位數與晶元可讀出或寫入的數據位數有關
片選線:傳輸晶元選擇信號或者晶元使能信號,用來選擇存儲晶元
讀寫控制線:可以一條,可能有兩條
兩條:W E ‾ \overline{WE}
WE
表示允許寫; O E ‾ \overline{OE}
OE
表示允許讀
一條:W E ‾ \overline{WE}
WE
表示低電平寫,高電平讀
每個存儲晶元都對外有金屬引腳,用來接收地址信號,數據信號,片選信號,讀寫信號,每條地址線、數據線、片選線以及讀寫控制線都會對應一個金屬的引腳
存儲晶元有n位地址,代表地址線有n條,對應2 n 2^{n}2
n
個存儲單元,那麼,
該晶元的總存量=存儲單元個數*存儲字長
比如8*8位的存儲晶元,第一個8代表有8個存儲單元;第2個8反映存儲字長,表示每個存儲單元包含8位的信息,常見的描述:
8K * 8位,即 213 * 8bit,表示有 213 個存儲單元,每個存儲單元的存儲字長有 8 位,包含8個存儲元件
為了滿足字元處理的需要,常用8位二進制數表示一個位元組,因此存儲字長都取8的倍數。通常計算機系統可按字定址,也可按位元組定址。
如,總容量為1KB(說明地址線有10根,地址空間從10個全0到10個全1),字長為4B,存儲矩陣為:
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
… … … …
1020 1021 1022 1023
按位元組定址:1K個單元,每個單元1B;(按每個存儲單元)
按字定址:256個單元,每個單元4B;(按行)
按半字定址:512個單元,每個單元2B;(按半行)
按雙字定址:128個單元,每個單元8B;(按兩行)
按位元組定址時,和數據線沒有任何關系;只有當按字定址時,才考慮數據線,通過數據線來判斷字長。
【例】cpu有20根地址線和32根數據線,按位元組和字定址,定址范圍分別是多少?
按位元組定址,定址范圍:220=1MB;
按字定址,32根數據線可以看做存儲字長有32位,那麼一個存儲字就有4個位元組,這4個位元組的區分,需要從20根地址線拿出兩根作為字內定址,這樣剩下18根數據線來定址,定址范圍:218=256KB
【例】地址線20根,數據線16根,按位元組定址:220=1MB;按字定址:219=512KB;
a × \times× b的晶元,a是字線,連接的是地址線,b是位線,連接的是數據線。
2K × \times× 4位晶元:11根地址線,4根數據線