Почему наименьшее значение, которое можно сохранить, - это байт (8 бит), а не бит (1 бит)? - PullRequest
3 голосов
/ 05 января 2011

Почему наименьшее значение, которое может храниться в памяти, - это байт (8 бит), а не бит (1 бит)? Даже логические значения хранятся в байтах. Будем ли мы когда-нибудь увеличивать наименьшее число до 32 или 64 бит, как регистры на процессоре?

Ответы [ 3 ]

5 голосов
/ 05 января 2011

Аппаратное обеспечение построено для чтения данных в блоках (байты, более поздние слова и двойные слова).Это обеспечивает большую эффективность, чем доступ к отдельным битам, а также предлагает больший диапазон адресации.Таким образом, большинство данных выровнено по крайней мере до границы байта.Существуют кодировки, которые работают с битовыми последовательностями, а не байтами, но они довольно редки.

В настоящее время данные чаще всего в любом случае выровнены по границе двойного слова (32 бита).Более того, некоторые аппаратные средства (например, ARM) не могут получить доступ к смещенным многобайтовым переменным, т. Е. 16-разрядное слово не может «пересечь» границу слова - будет выдано исключение.

2 голосов
/ 05 января 2011

Поскольку компьютеры обращаются к памяти на уровне байтов, поэтому все, что меньше байта, не адресуется.

1 голос
/ 05 января 2011

Основные методы доступа к процессору ограничены размером наименьшего используемого регистра.На большинстве архитектур этот размер составляет 8 бит.Вы можете использовать меньшие их части;например, C имеет особенность битовых полей в структурах, которая позволит комбинировать поля, которые должны иметь только определенную длину в битах.Для доступа по-прежнему требуется, чтобы считывался весь байт.

Некоторые старые экзотические архитектуры действительно имели «размер слова».В этих машинах общий размер может составлять 10 бит.

Наконец, процессоры почти всегда имеют обратную совместимость.Например, Intel поддерживает полную совместимость инструкций от 386 и выше.Если вы возьмете программу, скомпилированную для 386, она все равно будет работать на процессоре i7.Изменение размера слова нарушит совместимость.Таким образом, хотя возможно , ни один производитель никогда не сделает этого.

...