Подтвердить что ты не робот

Сколько бит является "словом"?

Это из книги Язык сборки Step by Step, Джефф Дантемман:

Это быстрый тур: бит - это одна двоичная цифра, 0 или 1. Байт 8 бит бок о бок. Слово 2 байта бок о бок. Двойное слово 2 слова бок о бок. Квадратное слово - это два двойных слова рядом.

И это из книги Принципы организации компьютеров и языка сборки: использование виртуальной машины Java, Патрик Юола:

Для удобства 8 бит обычно группируются в один блок, обычно называемый байтом. Следующий по величине именованный блок бит слово. Определение и размер слова не являются абсолютными, но варьируются от компьютера к компьютеру. Слово - это размер наиболее удобного блок данных для компьютера, с которым приходится иметь дело.

Итак, это слово 2 байта (16 бит), или это самый удобный блок данных для компьютера? (Я также не уверен, что это значит..)

4b9b3361

Ответ 1

Я не знаком ни с одной из этих книг, но второй ближе к текущей реальности. Первый может обсуждать конкретный процессор.

Процессоры были сделаны с большим разнообразием размеров слов, не всегда кратным 8.

Процессоры 8086 и 8087 использовали 16-битные слова, и, вероятно, это машина, о которой писал первый автор.

Более современные процессоры обычно используют 32 или 64-разрядные слова.

В 50 и 60 были машины с размерами слов, которые сейчас кажутся нам довольно странными, например, 4, 9 и 36. Так как около 70 размер слова обычно имеет мощность 2 и кратность 8.

Ответ 2

Вторая цитата правильная, размер слова варьируется от компьютера к компьютеру. Архитектура ARM NEON является примером архитектуры с 32-разрядными словами, где 64-битные величины называются "двойными словами" и 128- битовые величины называются "четырьмя словами":

Оператор NEON может быть вектором или скаляром. Вектор NEON может быть 64-битным вектором двойного слова или 128-битным квадративом.

Обычно 16-разрядные слова встречаются только в 16-битных системах, таких как Amiga 500.

Ответ 3

Это из книги Стивена Леви " Хакеры: герои компьютерной революции ".

... память была уменьшена до 4096 "слов" по восемнадцать бит каждый. ("Бит" - это двоичная цифра, либо 1, либо 0. Серия двоичных чисел называется "словом").

Как показывают другие ответы, "слово" не имеет фиксированной длины.

Ответ 4

В дополнение к другим ответам, еще один пример изменчивости размера слова (от одной системы к другой) находится в статье " Разбить стек ради удовольствия и прибыли " Алефа Первого:

Мы должны помнить, что память может быть адресована только кратными размеру слова. Слово в нашем случае - 4 байта или 32 бита. Таким образом, наш 5-байтовый буфер действительно будет занимать 8 байтов (2 слова) памяти, а наш 10-байтовый буфер будет занимать 12 байтов (3 слова) памяти.

Ответ 5

На процессорах x86/x64 байт равен 8 битам, и существует 256 возможных двоичных состояний в 8 битах, от 0 до 255. Таким образом, ОС переводит нажатия клавиш клавиатуры в буквы на экране. Когда вы нажимаете клавишу "А", клавиатура отправляет двоичный сигнал, равный числу 97, на компьютер, и компьютер печатает строчную букву "а" на экране. Вы можете подтвердить это в любом программном обеспечении для редактирования текста Windows, удерживая клавишу ALT, набрав 97 на NUMPAD, затем отпустив клавишу ALT. Если вы замените "97" на любое число от 0 до 255, вы увидите символ, связанный с этим номером, на кодовой странице системных символов, напечатанной на экране.

Если символ равен 8 битам или 1 байту, тогда WORD должен содержать не менее 2 символов, то есть 16 бит или 2 байта. Традиционно вы можете думать о слове как о различном количестве символов, но в компьютере все, что можно вычислить, основано на статических правилах. Кроме того, компьютер не знает, что такое буквы и символы, он только умеет считать цифры. Таким образом, в компьютерном языке, если WORD равен 2 символам, тогда двойное слово, или DWORD, равно 2 словам, что равно 4 символам или байтам, что равно 32 битам. Кроме того, четверное слово, или QWORD, составляет 2 слова, то же самое, что 4 слова, 8 символов или 64 бита.

Обратите внимание, что эти термины ограничены по функциональности API-интерфейсом Windows для разработчиков, но могут появляться и в других обстоятельствах (например, команда dd в Linux использует числовые суффиксы для составления байтов и размеров блоков, где c равно 1 байту, а w - байту).