Сложность машины с точки зрения пользователя
Основная память
Регистры
Каналы ввода-вывода
Абсолютная и относительная адресация
Базовый регистр
Индексный регистр
Другие способы адресаций
Типы команд
Команды с фиксированной точкой
Команды десятичной арифметики
Логические команды
Команды передачи управления
Команды арифметики с плавающей точкой
Привилегированные команды и команды управления процессором
Еще один способ классификации команды
Форматы команд машин, память которых организована словами
Набор команд IBM часть 1
Формат команд ЭВМ UNIVAC 1100
Управляющее и арифметическое устройство

Абсолютная и относительная адресация

Любая программа выполняет действия надданными. Устройство управления должно определить, какую команду необходимо выполнить в данный момент, и найти данные, указанные в этой команде. Для этих целей вся основная память машины делится на отдельные адресуемые единицы — байты или слова. В традиционной схеме адресации эти единицы нумеруются, начиная с нуля, с шагом: единица.

Основная память может рассматриваться программистом как линейная последовательность ячеек, хотя в действительности физическая картина .памяти может быть совершенно иной.

Каждому байту или слову присвоен уникальный адрес. Таким образом, к любому данному (сами команды можно трактовать тоже как данные) можно обратиться по адресу его самого левого элемента, т. е. по адресу самого левого байта или слова.

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

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

b)         Большинство серий вычислительных машин характеризуются большим диапазоном размеров оперативной памяти — от нескольких килобайтов или килослов для малых моделей До нескольких мегабайтов для больших. Для обеспечения машинной совместимости в рамках данной серии ЭВМ должно выполняться следующее требование: малые модели серии должны иметь такую же схему адресации, что и большие. Для того чтобы адресовать 16 Мбайт, т. е. 2 4 ячеек памяти методом абсолютной адресации, понадобится 24 бит. Это означает, что адресная часть двухадресной команды будет занимать 48 бит (=6 байт). Так как большинство машин данной серии имеют гораздо меньшую память, чем самые большие модели серии, то большое количество памяти будет уходить на запись таких недопустимо длинных команд.
Ниже несколько более подробно будет изложено решение поставленных проблем для машин с побайтовой организацией памяти.

Hosted by uCoz