Почему два байта — это слово?

Автор: | 26.10.2023

Сегодня любой школьник, знакомый с информатикой, знает, что минимальная единица измерения и хранения информации — это бит, а 8 бит составляют один байт. С байтами и кратными им единицами — килобайтами, мегабайтами и т.д. — сталкивались все, кто хоть немного “общался” с компьютером. Однако порой люди встречают такое обозначение единицы измерения данных, как слово или машинное слово, и с этим термином иногда возникает непонимание, а часто даже путаница.

Давайте немного порассуждаем на эту тему.

С интуитивным пониманием, что такое бит, обычно ни у кого проблем не возникает. А вот с байтом уже начинаются вопросы. И первый — что же такое байт? На этот вопрос можно ответить простыми словами: это минимальное количество данных, обрабатываемое компьютером одновременно. То есть, можно считать, что компьютер умеет хранить, перемещать,  складывать или еще как-нибудь по-другому обрабатывать данные порциями не меньше одного байта. Следующий вопрос: почему байт содержит именно 8 бит? Почему не 10, по числу цифр в общепринятой системе счисления? Почему не 7 или 9? Ладно, пусть в цифровой технике используется двоичная система, но тогда почему не 4 и не 16 бит, а все же именно 8?

Чтобы не просто запомнить, а немного разобраться, слегка отвлечемся и порассуждаем. Как люди издревле общались и передавали информацию? Правильно, голосом и жестами. Может, поначалу больше жестами, но постепенно перешли к голосу. То есть начали общаться словами, состоящими из отдельных звуков. Еще позже научились записывать слова, сопоставляя звуки и графические знаки — буквы и иероглифы. По сути, почти любая информация, которую человек может передать другому человеку, может быть описана и, как правило, изначально описывается словами.

В наше время больше половины населения земли использует для общения языки с буквенным алфавитом (испанский, английский, хинди, арабский, бенгальский, португальский, русский и т.д.), а для языков с иероглифами существуют системы приведения их к буквенной записи. В то же время письменные алфавиты основных языков содержат 3-4 десятка знаков (например, английский — 26, русский — 33, арабский — 28, хинди — 47).

В двоичной системе счисления, используемой при цифровом кодировании информации, для обозначения 32 различных символов достаточно 5 двоичных разрядов, а добавление 6-го разряда позволяет хранить и обрабатывать уже 64 символа. То есть, 6 бит вполне достаточно для хранения всех букв любого алфавита. Это значит, из 6-битных знаков можно составлять слова и фразы, то есть таким образом можно хранить и передавать информацию, ведь, как мы знаем, почти все можно описать словами. А если какого-то символа будет недоставать, то можно договориться обозначать его некоторой последовательностью, которая не встречается в используемом языке, например, ъъ.

Возможно, вы сейчас удивитесь, но многие компьютеры в 1950-1960-х годах действительно использовали 6-битную кодировку данных, поскольку этого было достаточно для обработки текстовой информации. Еще интереснее, что из-за отсутствия общепринятых стандартов некоторые образцы компьютерной техники в те годы использовали разное количество разрядов для обработки данных. Например, часть компьютеров Burroughs Corporation кодировала символы 9 битами, а в нашей ЭВМ “Минск-32” использовался 7-битный байт.

И все же, если подумать, 64 символов мало даже для письма. Во многих языках существуют заглавные и строчные буквы, есть пробелы, есть знаки препинания, диакритические знаки, да и числа удобнее записывать цифрами, а не словами. По этой причине с середины 1960-х годов в компьютерах системы IBM System/360 стали применяться 8-битные байты, позволяющие закодировать 256 различных знаков. Уже можно писать слова на многих языках.

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

До появления системы IBM System/360 вычислительная техника была очень разнообразной. Создавая центральные части компьютеров — процессоры — разработчики закладывали в них различные технические возможности. В первую очередь это разрядность. Если говорить простыми словами, то процессор в рамках одной команды управляющей программы может одновременно обработать только заложенное разработчиком количество разрядов данных. Например, нынешние процессоры в большинстве своем 64-разрядные, то есть они могут за один шаг прочитать из памяти или обработать или записать в память 64 бита данных. Ни больше, ни меньше.

В 50-60-х годах XX века встречались процессоры с 12, 18, 20, 32, 36, 48, 60 разрядами. Уже тогда количество разрядов процессора договорились называть машинным словом. Так что никакой связи с обычным языковым словом здесь нет. Поскольку процессор обрабатывал машинное слово зараз, то и обмен данными с памятью производился такими же порциями, а это затрудняло хранение в памяти привычных нам букв и прочих знаков, для которых хватало одного байта. В компьютерах системы IBM System/360 применили байтовую адресацию памяти, то есть можно было обратится к любой ее ячейке, содержащей один 8-битный байт информации. Со временем использование 8-битных байтов стало стандартом.

Так а что же с машинным словом? Процессор компьютера системы IBM System/360 имел 32 разряда, то есть машинное слово на таких компьютерах состояло из 4 байт. Почему же во многих источниках утверждается, что слово — это 2 байта?

Все дело в переходе к микропроцессорам. Поначалу ведь компьютеры были огромными, весили тоннами и занимали целые здания. Лишь в начале 1970-х с развитием микроэлектроники начали появляться первые микропроцессоры, представляющие собой небольшой элемент размером с современную флешку. Первопроходцем и лидером в этом деле была и остается фирма Intel, а их первые микропроцессоры имели лишь 4 (Intel 8004) и 8 (Intel 8008, Intel 8080) разрядов. Но самым коммерчески успешным и, как следствие, распространенным, стал процессор Intel 8086, выпущенный в 1978 году и содержащий 16 разрядов. Именно он стал основой до сих пор повсеместно используемой в компьютерах архитектуры процессоров x86, и именно с его распространением закрепилось утверждение, что машинное слово составляет ровно 2 байта. Хотя, как вы уже поняли, это лишь частный случай.

Воистину, вначале было слово…

Share

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *