看板 TransCSI 關於我們 聯絡資訊
※ 引述《stevennick (空中精靈小金剛)》之銘言: : ※ 引述《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存取) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 上述這2行我就不能接受了 一個記憶體位址就只能放1Byte 怎麼可能一次存取4Byte資料呢? 一個word定義是說一次抓連續4個記憶體位址吧 : 也就是對這個系統而言 : 對於每個記憶體位址,記憶體都必須提供32個位元的空間供系統存取 : (不然怎樣對應32條位址線?) : 而32位元 = 32 Bits = 4 Bytes : 所以整個系統所需的記憶體容量 : 就是 2^30個位址 * 4 Bytes = 4294967296 Bytes : = 4194304 KB : = 4096 MB : = 4 GB : 這就是我的答案~ : 當然,雖然考試大家都是敵人 : 不過我們還是要懂得相親相愛,教學相長的 : 所以。。。要是在下不才 : 有說溜嘴的部份 : 還請高手趕快指正 : 免得耽誤大家前程那就糟糕啦 因此我的結論是2^30 = 1GB 我以前所學到就是假如問題是問最大記憶體位址定址空間 那就是算位址線有幾條來決定 這是我個人的意見 所以假如還是有問題還是可以再提出來討論 就如同上面大大所說的"教學相長"嘛 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.232.149
aubr3:所謂的定只是指有記憶體編號的locate 而32條資料線是說每一 06/02 14:49
aubr3:locate有32bits 06/02 14:50
aubr3:不然換個想法 只有lG那麼多的地址 最多也只能分給1g那麼多人 06/02 14:51
aubr3:一人有四敗特 06/02 14:52
aubr3:除非它加了特別的電路可以分兩次傳送位置訊號 不然也只能1G 06/02 14:53
aubr3:google了一下台東大學的題目 06/02 15:55
aubr3:是可以一次存取四個BYTES的 比較方便 一個INTEGER是4bytes 06/02 15:59
aubr3:不過那又是另一回事了 06/02 16:02