今天在做軟考的題目時發現一道題目,做過很多遍了,卻始終會做錯,剛開始我以爲這只是一道記憶性的題目,只要把這個簡單的知識點記住了就行了。然而,我發現,每一次做這種題目,我每一次都沒做錯來,根本記不住,理解纔是王道。
題目如下:
例題:若內存容量爲4GB,字長爲32,則______。 A.地址總線和數據總線的寬度都爲32 B.地址總線的寬度爲30,數據總線的寬度爲32 C.地址總線的寬度爲30,數據總線的寬度爲8 D.地址總線的寬度爲32,數據總線的寬度爲8 答案:A |
由此題目引發如下思考:何爲位?位寬?字?字長?字節?
字長,是CPU一次能處理的二進制數的位數,*字長與之關聯的是數據總線的位數,字長爲32,則數據總線的寬度爲32位。*比如CPU一次可以處理8個1(或者0),那麼我們稱這個CPU是8位的CPU,也就是說這個CPU的字長是8位。如果CPU一次可以處理16個二進制數,這個CPU的字長就是16位。
現在最新的CPU已經到了64位了,它們的字長就是64位。字長越大,CPU的處理能力越強,計算機運行也越快。
位寬就是內存或顯存一次能傳輸的數據量。(這裏我對位寬的理解也僅限於此)簡單地講就是一次能傳遞的數據寬度。字長指的是計算能力,位寬指的是傳輸能力。
在計算機中傳送信息的基本單位是( )
A) 字
B) 字節
C.位
D) 字長
正確答案
A
答案解析
[解析] 位是計算機存儲的最小單位;1個字節是8個相鄰二進制位組成的,是計算機存儲中的基本單位,也是數據處理的基本單位。字是CPU通過數據總線一次存取、加工和傳送時作爲一個單位的一組二進制數。字長是每個字包含的位數。
字:
定義:
計算機在進行數據處理,一次存取、加工、傳送的數據長度稱爲字(word)。
一個字一般由多個(整數倍)字節構成。
性質:
1word=2Byte=16bit
一個字由兩個字節組成,16位組成
通常稱16位是一個字,32位是一個雙字,64位是兩個雙字
計算機的字長決定CPU一次處理實際位數的多少,字長越大,性能越優。
數據總線
(1) 是CPU與內存或其他器件之間的數據傳送的通道。
(2)數據總線的寬度決定了CPU和外界的數據傳送速度。
(3)每條傳輸線一次只能傳輸1位二進制數據。eg: 8根數據線一次可傳送一個8位二進制數據(即一個字節)。
(4)數據總線是數據線數量之和。
地址總線
(1)CPU是通過地址總線來指定存儲單元的。
(2)地址總線決定了cpu所能訪問的最大內存空間的大小。eg: 10根地址線能訪問的最大的內存爲1024位二進制數據(1024個內存單元)(1B)
(3)地址總線是地址線數量之和。
控制總線
(1)CPU通過控制總線對外部器件進行控制。
(2)控制總線的寬度決定了CPU對外部器件的控制能力。
(3)控制總線是控制線數量之和。
最後總結如下: 地址總線的寬度決定CPU的尋址能力; 數據總線的寬度決定CPU與其他元器件一次最大傳送的數據量; 控制總線決定CPU對其他元器件的控制能力。 |
下面結合一些題目來加以理解:
1.地址總線:一個cpu的N根地址總線,則可以說這個CPU的地址總線寬度爲N。這樣cpu最多可以尋址2的N次方個內存單元。
2.8根數據總線傳送一個8位二進制,數據線數量相當於每單元的位數
3.存儲容量=單元數*每單元的位數,一般每單元位數都是8
例1.若256KB的SRAM具有8條數據線,則他具有多少條地址線
分析:256KB爲他的存儲容量,則一般表達爲單元數*每單元位數,8條數據總線代表8位,也就是一個單元
256KB=32KB*8 32KB爲單元數,也就是2的N次方等於32KB
爲了計算方便,可記2的10次方=1K 則32KB=2的5次方*2的10次方
例2.寫出下列的RAM芯片片內的地址線和數據線的條數:(1)4K8位;(2)512K4位;(3)1M1位;(4)2K8位
(1)地址: 4K=2的N次方 N=12 數據:8位,也就是8條
(2)與上題同理: 地址:19 數據:4
(3)地址:20 數據:1
(4)地址:11 數據:8
例3.設有一個具有20位地址和32位字長的存儲器,問:
1.該存儲器能儲存多少個字節信息
解:2的20次方=1M 32位字長,換算成B,32÷8=4B
則
32÷8×(2^20) B = 4×2^20 B = 4^20 B = 4 MB
筆者做到這個題目的時候有個疑問:存儲器存儲的容量與數據線有什麼關係,回看上文中提到數據線是CPU與內存或其他器件之間的數據傳送的通道。既然是傳輸的通道,與存儲器的存儲容量並無關聯。
後來查看資料才得知:
再來看存儲器,存儲器的存儲總量 = 存儲單元個數×存儲字長,存儲單元個數=2^地址總線位數 ,這個好理解;存儲字長和數據總線位數有關,存儲字長的意思是:一個存儲單元存儲一串二進制代碼(存儲字),這串二進制代碼的位數稱爲存儲字長,存儲字長可以是8位、16位、32位等。因此,地址總線爲32位,數據總線爲16位的存儲器,其內存容量是2^32 * 16bit = 64Gb = 8Gb。而理解我們剛纔做的這個題目也就不難了,一共有2^20個存儲單元,存儲字長爲32位,數據總線位數爲32,可表示大小爲32/8=4個字節。
2.如果存儲器由512K*8位SRAM芯片組成,需要多少片
解:4MB=4*1024KB=4096KB 4096KB÷512=8
則需要8片
3.需要多少地址線做芯片選擇
因爲需要8片,則需要2的N次方的N來控制着8片選那一片,則需要3根地址線
關於位寬我的理解也僅限於本文。一起溝通,有待進步!
接下來有關存儲器容量的經典計算題目也會繼續收錄,若有疑問或者不正確的地方,歡迎廣大讀者第一時間與我取得聯繫。一起學習!一起進步!