2013-05-07 61 views
1

我知道可能重複的問題已經在stackoverflow。但這些問題沒有直接解決我的問題。我的理解是,32位機器使用32位來存儲內存地址,因此,它可以擁有的最大內存是2^32位。但是,2^32位= 2^29字節= 2^29/10^9 = 0.5千兆字節。最大RAM 32位機器

我知道答案應該是4千兆字節。但我根本無法弄清楚我的錯誤在哪裏。幫幫我!

+0

2^32是可尋址*字節*而不是位。而且,1024b = 1KiB,1024KiB = 1MiB,1024MiB = 1GiB(使用十進制K/M/G也會略微減少數學運算,但在命運的轉折中,它被製造商用來報告[主軸] HDD尺寸)。 。 – user2246674 2013-05-07 00:21:52

+0

帶有32位地址寄存器的32位機器可以尋址2^32字節,因爲地址選擇一個字節的所有位。 – fvu 2013-05-07 00:22:30

+0

@ user2246674感謝您的快速回復。但如何理解32位和2^32可尋址字節之間的關係呢?我在這裏只是有點困惑。 – pippo 2013-05-07 00:24:10

回答

1

我認爲2^32是指可尋址字節的數量而不是內存中的總位數。您可以處理40億字節(320億位)或4個內存。例如

Address 0 | Address 1 |... | Address 2^32 
........................................ 

8 bits | 8 bits | ...| 8 bits 

編輯: 32位機通常是指位,你可以塞進CPU的寄存器(未RAM)的數量。因此,1個寄存器允許32位,可以尋址2^32字節的RAM。

編輯: 這裏是關於超級用戶一個很好的解釋: https://superuser.com/questions/56540/32-bit-vs-64-bit-systems

+0

感謝您的鏈接! – pippo 2013-05-07 00:44:55