Байтовая адресация - Byte addressing

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

Базовая единица цифрового хранения называется битом , в котором хранится один 0 или 1. Многие распространенные архитектуры могут адресовать более 8 бит данных одновременно. Например, процессор Intel 386SX может обрабатывать 16-битные (двухбайтовые) данные, поскольку данные передаются по 16-битной шине . Однако данные в памяти могут иметь разную длину. Память с байтовой адресацией относится к архитектурам, в которых данные могут быть доступны и адресованы в единицах, которые уже, чем шина. Восьмиразрядный процессор, такой как Intel 8008, адресует восемь бит, но поскольку это полная ширина шины, это считается адресуемым по словам. 386SX, который адресует память в 8-битных единицах, но может извлекать и сохранять ее по 16 бит за раз, называется байтовой адресацией.

Преимущество адресации слов заключается в том, что за то же количество битов можно адресовать больший объем памяти. IBM 7094 имеет 15-битные адреса, поэтому может адресовать 32 768 слов по 36 бит. Машины часто строились с полным комплектом адресуемой памяти. Обращение к 32 768 байтам из 6 бит было бы гораздо менее полезным для научных и инженерных пользователей. Или рассмотрим 32-битный процессор Pentium . Его 32-битная адресная шина может адресовать 4 миллиарда различных элементов. Используя адресацию слов, 32-битная адресная шина могла адресовать 4 гигафорда; или 16 гигабайт с использованием современного 8-битного байта. Если бы 386SX и его преемники использовали адресацию по словам, ученые, инженеры и геймеры могли бы пользоваться программами, которые были бы в 4 раза больше на 32-битных машинах. С другой стороны, обработка текста, рендеринг HTML и все другие текстовые приложения работали бы медленнее.

Когда компьютеры были настолько дорогими, что использовались только или в основном для науки и техники, адресация слов была очевидным способом. Поскольку использование компьютеров для обработки текста стало рентабельным, разработчики оборудования перешли к байтовой адресации.

Чтобы проиллюстрировать, почему байтовая адресация полезна, рассмотрим IBM 7094 , который адресуется по словам и не имеет понятия байта. Он имеет 36-битные слова и хранит свои шестибитные коды символов по шесть в слово. Чтобы изменить 16-й символ в строке, программа должна определить, что это четвертый символ третьего слова в строке, извлечь третье слово, замаскировать старое значение четвертого символа из значения, хранящегося в регистре, "или" в новом, а затем сохраните измененное слово. Как минимум шесть машинных инструкций. Обычно они относятся к подпрограмме, поэтому каждое сохранение или выборка одного символа включает накладные расходы на вызов подпрограммы и возврат. При побайтовой адресации этого можно добиться с помощью одной инструкции: сохранить этот код символа по этому байтовому адресу. Текстовые программы легче писать, они меньше по размеру и работают быстрее.

Некоторые системы, такие как PDP-10 , используют адресацию слов, но облегчают доступ к отдельным байтам с помощью специальных инструкций, которые могут обращаться к памяти с помощью указателя байта , который содержит как адрес слова, так и индекс определенного байта в слове.

Смотрите также

Ссылки