2015-08-23 83 views
0

一個32位寄存器可以存儲232個不同的值。可以存儲在32位中的 整數值的符號範圍是-2,147,483,648到 2,147,483,647(無符號:0到4,294,967,295)。因此,具有32位存儲器地址的處理器 可以直接訪問4字節的可尋址字節存儲器。爲什麼32位處理器的4Gbibytes而不是4Gibibits的地址空間?

https://en.wikipedia.org/wiki/32-bit

什麼讓我困惑的是,我們是在談論一個32 處理器,能夠滿足2^32個不同的地址。但現在2^32是以字節爲單位,而不是位,爲什麼?

+3

因爲通常不能尋址小於內存中的字節的任何內容。如果你需要一個特定的位,讀一個字節/半字/字/任何,並使用按位邏輯提取你需要的位。 – Michael

+0

@Michael:將其作爲答案! – icktoofay

回答

1

內存中最小的可尋址單元是一個字節(該規則的例外情況存在,但您特別針對x86)。所以如果你的地址是N位,你可以表示2^N個不同的地址,這意味着你可以處理2^N個單獨的字節。

相關問題