Процессоры с принудительным порядком выполнения команд

Упрощенная структура процессора с принудительной адресацией команд приведена на рисунке 2.4.1.

Рисунок 2.4.1- Упрощенная структура процессора с принудительной адресацией

Процесс выполнения команд процессором следующий: при включении процессора в регистр адреса (РА) заносится адрес первой выполняемой команды (по сигналу “Сброс” или “Пуск” или каким либо иным способом). По этому адресу из ОП через шину данных в регистр команд (РК) считывается команда, которая содержат код операции (КОП), адрес операнда (Аоп), а так же адрес следующей команды (Аск). Поле КОП команды используется для формирования управляющих сигналов с помощью дешифратора кода операции (ДшКОП) который вырабатывает нужную последовательность управляющих сигналов (УС) y1...yn, необходимых для выполнения команды в процессоре.

Адрес операнда через РА задает номер ячейки ОП, в которой он хранится. Операнд, считанный из ячейки памяти с заданным адресом, поступает на обработку в АЛУ.

Рассмотрим следующий пример. Положим, что процессор имеет следующую систему команд в машинных кодах (для более краткой записи представим систему команд в шестнадцатеричной системе счисления):

01H- вызов операнда из ОП в аккумулятор;

02H- запись содержимого А в ОП;

1АH- команда сложения;

00H – останов выполнения программы.

Пусть необходимо составить программу сложения 2-х чисел, находящихся соответственно в ячейках ОП с адресами 0841H и 0842H и записать результат в ячейку ОП с адресом 0843H. Программа хранится в смежных ячейках памяти, начиная с адреса 1300H. Разрядность (ширина) чтения команд и данных из ОП и записи данных в ОП за одно обращение процессора к ОШ (за один шинный цикл) - 1 байт. В этих условиях требуемая программа будет иметь следующий вид, представленной в таблице 2.4.1:

Таблица 2.4.1- Пример программы сложения 2-х чисел с использованием принудительной адресации

№ яч КОП Аоп Аск Комментарий
1300 01 0841 1305 Вызов 1-го операнда из ОП и переход к считыванию следующей команды из ячейки ОП с номером 1305H.
1305 0842 130А Вызов 2-го операнда, сложение и переход к считыванию следующей команды из ячейки ОП с номером 130АH.
130А 02 0843 130F Запись результата в ОП и переход к ячейке 130FH.
130F 00 0000 0000 Останов.

 

Нетрудно подсчитать, что при использовании принудительной адресации команд длина программы составляет 20 байт.