Организация ЭВМРефераты >> Программирование и компьютеры >> Организация ЭВМ
Команда состоит из операционной части- кода операции (КОП) и адресной части. В операционной части указывается тип выполняемой операции в виде двоичного числа. В адресной части указывается адрес ячейки памяти, в которой размещается операнд (одноадресная команда). Если в команде указывается адреса 1-го и 2-го операнда, то такая команда называется двухадресной. В трехадресной машине указывается еще и адрес результата, то есть ячейка ОП, куда помещается результат.
Какая из систем лучше? В современных машинах большого класса могут сочетаться все типы. Приведенные типы команд относятся к так называемым машинам с естественной адресацией, когда команды из программы выбираются последовательно одна за другой. Адресация производится с помощью счетчика команд СчК (PC- Program Count). Однако существовали машины и с принудительной адресацией, в которых очередная команда выбиралась по адресу, указанному в предыдущей команде (такой способ адресации сохранен в настоящее время только в так называемых микропрограммных устройствах управления).
Структура команд такой машины:
КОП |
А1 |
А2 |
Ар |
Аск |
где Ар- адрес результата;
Аск -адрес следующей команды .
Если операндов два, и еще существует поле адреса результата, то команда становится четырехадресной:
2.4 Способы адресации команд
Процессоры в зависимости от реализации УУ бывает двух видов: с принудительным порядком выполнения команд (принудительной адресацией команд) и с естественным порядком выполнения команд (естественной адресацией команд).
2.4.1 Процессоры с принудительным порядком выполнения команд
Структура процессора с принудительной адресацией команд приведена на рисунке 2.4.1.
Рисунок 2.4.1- Структура процессора с принудительной адресацией
Процесс выполнения команд процессором следующий: в начальный момент в регистр команд (РК) заносится адрес первой выполняемой команды (по сигналу “Сброс” или “Пуск” или каким либо иным способом). По этому адресу считываются команда, которая содержат код операции (КОП), адрес операнда (Аоп), а так же адрес следующей команды (Аск). Поле КОП команды поступает на схему формирования управляющих сигналов (ДшКОП- дешифратор КОП) которая вырабатывает нужную последовательность управляющих сигналов y1 .yn, необходимых для выполнения команды в процессоре.
Адрес операнда через РА задает номер ячейки ОП, в которой он хранится. Операнд, считанный из ячейки памяти с заданным адресом, поступает на обработку в АЛУ.
Рассмотрим следующий пример. Положим, что процессор имеет следующую систему команд в машинных кодах (для более краткой записи представим ее в шестнадцатеричной системе счисления):
01H- вызов операнда из ОЗУ в аккумулятор;
02H- запись содержимого А в ОЗУ;
1АH - команда сложения;
00H – остановка выполнения программы.
Пусть необходимо составить программу сложения 2-х чисел, находящихся в ячейках ОЗУ с адресами 0841H и 0842H и записать результат в ячейку 0843H. Программа хранится в ячейках памяти с начальным адресом 1300H. Ширина выборки команд и данных из ОЗУ - 1 байт.
№ яч |
КОП |
Аоп |
Аск |
Комментарий |
1300 |
01 |
0841 |
1305 |
Вызов 1-го операнда из ОЗУ и переход к считыванию следующей команды из ячейки ОП с номером 1305H. |
1305 |
1А |
0842 |
130А |
Вызов 2-го операнда, сложение и переход к считыванию следующей команды из ячейки ОП с номером 130АH. |
130А |
02 |
0843 |
130F |
Запись результата в ОЗУ и переход к ячейке 130FH. |
130F |
00 |
0000 |
0000 |
Остановка. |
Нетрудно подсчитать, что при использовании принудительной адресации команд длина программы составляет 20 байт.
2.4.2 Процессоры с естественной адресацией команд
Структура процессора с естественной адресацией команд
приведена на рисунке 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 |
Остановка. |