Упрощенная структура процессора с естественной адресацией команд приведена на рисунке 2.4.2.
Рисунок 2.4.2- Упрощенная структура процессора с естественной адресацией команд
В таких процессорах в регистре команд (РК) отсутствует поле с адресом следующей команды. Вместо этого поля РК в процессор включается счетчик команд СчК (PC- Program Counter), указывающий на адрес текущей команды. СчК при инициации работы программы загружают начальным адресом, по которому выбирается первая команда. После выполнения очередной команды к содержимому СчК автоматически добавляется шаг адресации – обычно это число, равное длине выполняемой команды в байтах. По модифицированному адресу выбирается на выполнение следующая команда и т.д.
№ яч. памяти | КОП | Аоп | Комментарий |
1300: | 01 | 08 41 | Вызов 1-го операнда из ОП в аккумулятор и переход к считыванию следующей команды из ячейки ОП с номером 1303H. |
1303: | 1А | 08 42 | Вызов 2-операнда, сложение его с 1- м операндом и переход к считыванию следующей команды из ячейки ОП с номером 1306H. |
1306: | 02 | 08 43 | Запись вычисленного результата в ячейку ОП с адресом 0843H и переход к считыванию следующей команды. |
1309: | 00 | 00 00 | Останов. |
Предыдущая программа для этого типа процессора будет иметь вид (см. таблицу 2.4.2):
Таблица 2.4.2- Пример программы сложения 2-х чисел с использованием естественнной адресации
Нетрудно подсчитать, что длина последней программы составляет 12 байт. Уменьшение длины программы достигается благодаря отсутствию в командах поля с адресом следующей команды.
В процессорах с естественной адресацией длина программы и требуемый под неё объем памяти сокращаются, но система команд усложняется. Так, например, для организации ветвлений в программах требуются специальные команды - условных и безусловных переходов. Однако первое обстоятельство оказалось более весомым и традиционные машины выполняются по второму способу.