作者stevennick (空中精靈小金剛)
看板TransCSI
標題Re: [問題]一題記憶體的迷思...
時間Sat Jun 2 09:40:13 2007
※ 引述《ahongyeh (小葉子)》之銘言:
: 一CPU有30條位址線,32條資料線,可定址之記憶體為:
: (A) 4GB (B) 256MB (C) 512MB (D) 1GB
: 我的問題是...
: 像題目這樣子的問法~~
: 到底是在問有幾個位址,
: 還是在問有多少容量(空間)!?
: 如果是問位址~~應該是1G吧~~
: 如果是問容量~~應該是4GB吧~~
: 我有說錯~~請指正~~
: 麻煩強者了~~
ㄟ 看來答案有出入
我解釋一下為甚麼選A好了...
首先呢,要有個GB、MB....的認知
大家都知道1GB=1024MB
1MB=1024KB
1KB=1024Bytes
1Byte=8Bit
看出來了嗎?
所謂的GB,指的是gigabyte(MB、KB 依此類推)
所以這題題目雖然沒有寫清楚
但是答案已經暗示是在問記憶體容量了
那麼
先不要管什麼記憶體不記憶體的
題目說有30條位址線(Address Line)
而每一條位址線可以表示0跟1兩種狀態
兩條可以表示2^2=4種狀態
三條可以表示2^3=8種..
依此類推,既然有30條位址線
那就可以表示2^30 = 1073741824 種狀態
也就是說可以定址1073741824個記憶體位址
從記憶體位址 0000000 到 3FFFFFF (Hex)
然後,題目又說它有32條資料線(Data Line)
每一條資料線就代表一個位元
而每個位元有兩種狀態,就是0跟1
(好吧我這裡過份簡化了,有興趣的人請自行找相關資料)
兩條資料線就代表兩個位元....
所以32條資料線
代表這個系統對於每一個記憶體位址(透過Address Line指定)
它一次可以存取32個位元的資料(透過Data Line存取)
也就是對這個系統而言
對於每個記憶體位址,記憶體都必須提供32個位元的空間供系統存取
(不然怎樣對應32條位址線?)
而32位元 = 32 Bits = 4 Bytes
所以整個系統所需的記憶體容量
就是 2^30個位址 * 4 Bytes = 4294967296 Bytes
= 4194304 KB
= 4096 MB
= 4 GB
這就是我的答案~
當然,雖然考試大家都是敵人
不過我們還是要懂得相親相愛,教學相長的
所以。。。要是在下不才
有說溜嘴的部份
還請高手趕快指正
免得耽誤大家前程那就糟糕啦
--
空中精靈。SkyElf/Stevennick
要重新在空中飛翔‧遨遊全世界 未來正在我的手中 一點一滴的實現
My Blog:
http://stevennick.dyndns.org/
My Podcasting:
http://podcast.blog.webs-tv.net/skyelf
____________________________________________________________________________
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.68.140.212
推 dgf130:我覺得...題目出的很爛 06/02 11:37
→ dgf130:就"定址"而言應該是1G個word而這邊的word大小是32bits 06/02 11:38