計算機中內存問題,存儲芯片容量問題

1、“計算機的內存是按字節來進行編址” 含義:

就是說一個地址對應二進制的位數是8位,一個字節佔8位。可表示數據範圍是0-255(0-2^8);

2、存儲芯片容量計算方法:

地址線和數據線共同反應存儲芯片的容量。

地址線一次確定一個存儲單元,地址線上值可能取的所有組合確定了存儲單元的個數。所以,存儲單元的個數=2^地址線的條數 

常說:8K可以用13根地址線實現。因爲1K=1024=2^10單位,所以8K=2^13單位,即13根地址線  【注意是K,而不是Kb】 

----------------------------------------------------------------------------------------------------------------------------------------------------------------------   

地址線:用於傳輸地址信號,可以指向主存儲器的每一個單元。

數據線:用於傳輸數據,數據信號可傳送到各個寄存器,存儲器的各個單元,各個端口。

地址線20根,表示能指示2^20個內存單元;

數據線32根,表示通過數據線每次可以傳送32位(每根線每次只能傳送1位),即4B(32bit= 4*8bit = 4B),4B表示4字節

地址線20,數據線32,所以主存容量爲2^20*4B=4MB。

字節尋址,尋址範圍爲4MB / 4 = 2^20,注意範圍沒有單位,標識內存地址範圍,即爲0~2^20-1

【不是用4MB/8b嗎,一字節是8b,爲什麼要除以4啊?】

默認是按內存單元大小(4B)尋址;按字節尋址,一個內存單元4個字節,標識這四個字節需要佔用原有地址額外的後兩位(可以分別使用00,01,10,11標識這4個字節);

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------   

芯片容量=2的地址線位數次方乘以數據線位數;比如地址線8位,數據線4位,芯片容量:2^8×4=1024位

存儲容量的定義 :存儲容量是指主存能存放二進制代碼的總位數

存儲器容量計算公式:

   按位計算 (b)   :        存儲容量 = 存儲單元個數 x 存儲字長

   按字節計算(B):        存儲容量 = 存儲單元個數 x 存儲字長 / 8

存儲單元 :CPU訪問存儲器的最小單位,每個存儲單元都有一個地址。

存儲字長 :存儲器中一個存儲單元(存儲地址)所存儲的二進制代碼的位數。

例題:一個存儲器有16根地址線,8根數據線,求此存儲器存儲容量?

答:按位求取  2^16 x 8位 =64K x 8位 

      按字節求取   2^16 x 8位/8 = 64K x B = 64kB

分析:

存儲單元與地址線的關係:  我們知道CPU訪問存儲器的最小單位是存儲單元且每個存儲單元都有一個地址,1 根地址線可以查找 2 個地址既2個存儲單元,16根地址線則可以查找 2^16個存儲單元。

存儲字長與數據線的關係 :  我們知道存儲字長是指存儲器中一個存儲單元(存儲地址)所存儲的二進制代碼的位數,而二進制代碼的位數是由數據線的根數決定的,也就是說: 存儲字長 = 數據線根數

字節(B)與位(b)的關係  :    計算機裏規定 1Byte = 8bit ,沒有爲什麼就是這樣規定定的!!!

所以存儲器容量就有;兩種表示方法 64K x 8位 = 64KB

我們常見的內存容量表示方法 是以字節爲單位的。例如 1GB  ,4MB, 512KB

1GB = 10^3MB =10^6KB = 10^9B = 10^9 x 8b 

----------------------------------------------------------------------------------------------------------------------------------------------------------------------   

3、【問題】某計算機內存按字節編址,內存地址區域從44000H到6BFFFH,共有 160 K字節。 若採用16K×4bit的SRAM芯片,構成該內存區域共需 多少 片?

【回答】實際的存儲器總是由一片或多片存儲器配以控制電路構成的。其容量爲W×B,W表示存儲單元(word)的數量,B表示每個單元(word)由多少位(bit)組成。如果一個芯片的規格是a×b,則組成W×B的存儲器需要用(W / a)×(B / b)個芯片。

本題中內存片數:(160K / 16K)×(8bit / 4bit) = 20片

【內存地址區域從44000H到6BFFFH,共有 160 K字節,爲什麼?】 (0x和H符號,都是16進制的表示符號)

16進制:(6BFFF+1 - 44000) H= (6C000 - 44000)H = 28000H     (+1是因爲要包含6BFFFH這個地址) 

轉10進制:28000H = 2*16^4 + 8*16^3 + 0*16^2 + 0*16^1 + 0*16^0

                                = 2*16^4 + 8*16^3

1MB = 2^10KB 

1KB = 2^10byte

(2*16^4 + 8*16^3) / 2^10  = 160KB           (B就表示題目中的字節)

 

 

參考博文鏈接:
 https://blog.csdn.net/dingjiawang6/article/details/72860759 

https://bbs.csdn.net/topics/391842109

 

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