С точки зрения процессора, оперативная память представляет
собой массив пронумерованных ячеек. Номер каждой ячейки памяти называется
ее адресом. Разрядность адреса является одной
из важнейших характеристик процессора и реализуемой им системы команд.
Разрядность важна не как самоцель, а потому, что ею обусловлен объем адресуемой
памяти — адресного пространства. Системы с
16-разрядным адресом способны адресовать 64 Кбайт (65 536) ячеек памяти,
а с 32-разрядным — 4 Гбайт (4 294 967 296) ячеек. В наше время адресуемая
память в 4 Гбайт для многих приложений считается неприемлемо маленькой
и требуется 64-разрядная адресация.
Процессору обычно приходится совершать арифметические операции над адресами,
поэтому разрядность адреса у современных процессоров обычно совпадает
с разрядностью основного АЛУ.
У некоторых компьютеров адресация (нумерация) ячеек памяти фиксированная:
одна и та же ячейка памяти всегда имеет один и тот же номер. Такая адресация
называется физической. Адрес при этом разбит на битовые поля, которые
непосредственно используются в качестве номера физической микросхемы памяти,
и номеров строки и столбца в этой микросхеме. Напротив, большинство современных
процессоров общего назначения используют виртуальную
адресацию, когда номер конкретной ячейки памяти определяется не
физическим размещением этой ячейки, а контекстом, в котором происходит
адресация. Способы реализации виртуальной памяти и необходимость ее применения
обсуждаются в главе 5.
В старых компьютерах размер адресуемой ячейки памяти данных совпадал с
разрядностью АЛУ центрального процессора и разрядностью шины данных. Адресуемая
ячейка называлась словом. В процессорах манчестерской
архитектуры, которые могут использовать одну и ту же память как для команд,
так и для данных, оба размера определялись длиной команды. Из-за этого
многие процессоры такого типа имели странные по современным представлениям
разрядности — 48, 36, иногда даже 25 бит.
БЭСМ-6
Так, БЭСМ-6 имела слово разрядностью 48 бит и команды длиной 24 бита,
состоявшие из 15-разрядного адресного поля и 9-разрядного кода операции.
Адресное поле позволяло адресовать 32К слов. В одном слове размещалось
две команды, при этом команды перехода могли указывать только на первую
из упакованных в одно слово команд.
У процессоров гарвардской архитектуры (имеющих раздельные памяти для команд и данных) разрядность АЛУ и размер команды не связаны.
Microchip PIC
Микроконтроллеры семейства PIC фирмы Microchip имеют 8-разрядное АЛУ и
накристалльное ОЗУ той же разрядности [www.microchip.com PICMicro]. Команды
этих микроконтроллеров размещаются в ПЗУ (также накристалльном), в котором
каждое слово имеет 12 бит и содержит одну команду. Аналогично БЭСМ-6,
команда микроконтроллера состоит из адресного поля (которое может содержать
как адрес, так и константное значение длиной 1 байт) и кода операции.
Под код операции остается всего четыре бита, поэтому команд, имеющих полное
адресное поле, может быть не более 16. Адресное пространство микроконтроллера
составляет 8 бит, т. е. всего 256 слов кода и 256 байт данных. Однако
при помощи ухищрения, называемого банковой адресацией (подробнее об этом
см. в разд.