Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция3.doc
Скачиваний:
6
Добавлен:
11.07.2019
Размер:
196.61 Кб
Скачать

Лекция 3

4 Адресация данных и команд в оперативной

ПАМЯТИ

4.1 Методы адресации

При обмене информацией с памятью процессор обращается к ячейкам ОЗУ по их адресам. Способы задания требуемых адресов в командах компьютера принято называть методами адресации. От видов и разнообразия адресации существенно зависит эффективность работы с дисками.

Сведения об адресе и его составных частях содержится в команде. Любая команда компьютера состоит из двух частей:

  • а д р е с н о й

  • о п е р а ц и о н н о й.

Иначе еще говорят, что команда состоит из адресного кода и кода операции или исполнительного кода.

Адресная часть показывает, где хранится необходимая для выполнения операции информация (данные) и куда (по какому адресу) помещать результат операции.

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

Известны четыре структуры команд:

  • ч е т ы р е х а д р е с н а я,

  • т р е х а д р е с н а я,

  • д в у х а д р е с н а я,

  • о д н о а д р е с н а я.

На рис. 4.1 приведены схемы этих структур.

Код

операции

Адрес

А1

Адрес

А2

Адрес

А3

Адрес

А4

а

Код

операции

Адрес

А1

Адрес

А2

Адрес

А3

б

Код

операции

Адрес

А1

Адрес

А2

в

Код

операции

Адрес

А1

г

Рис. 4.1 Структура команд

а - четырехадресная,

б – трехадресная,

в – двухадресная,

г – одноадресная.

В общем случае адресная часть должна содержать четыре адреса или адресных кода (рис. 4.1а). Адреса А1 и А2 – адреса двух операндов, участвующих в операции, А3 – адрес ячейки, куда помещается результат операции, А4 – адрес ячейки, содержащей следующую команду. Тогда реализацию операции сложения можно изобразить как

А3 = А1 + А2.

Такой порядок выборки называют принудительным, он устарел и в настоящее время не применяется. Учитывая то, что в программе все команды выполняются последовательно, то это означает, что, если выполнялась команда, адрес которой содержался в ячейке к, то адрес следующей команды будет в ячейке к + 1. Такой порядок выборки команд называют естественным. Он нарушается только специальными командами перехода. Поэтому в трехадресной команде, как видно из рис. 4.1б, адрес следующей команды отсутствует. Он «по умолчанию» принимается следующим после адреса предыдущей команды. Этот метод называют косвенной адресацией. Следует иметь в виду, что адреса всех команд содержатся в специальном регистре – счетчике команд, куда они все предварительно заносятся. Характер реализации операции в трехадресной команде такой же как и в четырехадресной.

В двухадресной команде кроме отсутствия адреса следующей команды, еще отсутствует и адрес результата (рис. 4.1в). В этом случае результат заносится по месту одного из операндов (обычно первого). Характер реализации операции с такой командой выглядит следующим образом

А1 = А1 + А2.

В одноадресной команде (рис.4.1г) подразумеваемые адреса имеют не только результат операции, но и один из операндов. Здесь указывается адрес только одного операнда, адресом второго операнда является содержимое триггерного регистра компьютера. Схема реализации операций при одноадресной команде выглядит следующим образом

Рг = Рг + А1.

Здесь Рг обозначен триггерный регистр. Естественно, что при выборе той или иной структуры команды, стремились к сокращению размера ячейки памяти, выделяемой для команды. Исходя из того, что команда представляется в двоичном коде, то разрядность ячейки будет определятся разрядностью кода операции и адресов. Разрядность кода операции зависит от общего количества различных операций. Если таковых, например, N, и оно определяется как N = 2 . где m – количество двоичных разрядов ячейки, то отсюда оно определится как m = log N.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]