[問題] 有關於 CPU 與 RAM 定址問題
因為初學 C 語言,另外自學相關 作業系統、計算機組織的課程
學習的教材就是各校的開放式課程、講義、網路資料這樣
有些地方看完不太確定,身邊又沒人可以問 QQ
所以想來問一下版友一些基礎問題
就是有關 CPU 32-bit & RAM 定址問題
之前有看到說 32 bit CPU 只能夠定址到 4GB的記憶體
1.原本的思考
所以我就做了一下算數
1 byte 1 KiB 1 MiB 1 GiB
2^32 bits x ---------- x ---------- x ---------- x ---------- == 0.5
8 bits 1024 bytes 1024 KiB 1024 MiB
QQ 怎麼不是 4 GB ...... 後來想了一下
2.後來的思考
CPU 的 32 bits 跟 記憶體容量沒關係,而是指可以定址的數量
那每個記憶體位址的空間是 1 byte,
可以定址到一個記憶體位址,就等於可以存取 1 byte 的資料
所以 2^32 的定址量,就等於可以存取 2^32 bytes 的資料量
改一下算式,就變成
1 KiB 1 MiB 1 GiB
2^32 bytes x ---------- x ---------- x ---------- == 4 GiB
1024 bytes 1024 KiB 1024 MiB
請問 32-bit CPU 架構只能夠拿到 4 GB 記憶體的說法,是這個意思嗎?
QQ
如果有錯或那裡認知錯誤的話,
再麻煩各位解惑了。
謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.195.54.122
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1505704740.A.EE8.html
→
09/18 11:28, , 1F
09/18 11:28, 1F
→
09/18 12:07, , 2F
09/18 12:07, 2F
→
09/18 12:07, , 3F
09/18 12:07, 3F
→
09/18 12:08, , 4F
09/18 12:08, 4F
→
09/18 15:37, , 5F
09/18 15:37, 5F
→
09/18 15:38, , 6F
09/18 15:38, 6F
→
09/18 15:40, , 7F
09/18 15:40, 7F
→
09/18 19:23, , 8F
09/18 19:23, 8F
→
09/18 21:17, , 9F
09/18 21:17, 9F
→
09/18 21:18, , 10F
09/18 21:18, 10F
→
09/18 21:20, , 11F
09/18 21:20, 11F
→
09/18 21:57, , 12F
09/18 21:57, 12F
→
09/19 14:27, , 13F
09/19 14:27, 13F