2015-08-23 4 views
0

32-разрядный регистр может хранить 232 разных значения. Подписанный диапазон значений , которые могут быть сохранены в 32 битах, составляет -2147,483,648 по 2,147,483,647 (без знака: от 0 до 4 294 967 295). Следовательно, процессор с 32-разрядными адресами памяти может напрямую обращаться к 4-гигабайтным байт-адресуемой памяти.Почему адресное пространство 32-битного процессора 4Gibibytes, а не 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 отдельных байтов.

 Смежные вопросы

  • Нет связанных вопросов^_^