- •I. Структура и функции процессоров
- •I.I. Процессоры, их назначение и особенности
- •1.2. Операционные устройства их структура и функции
- •I.3. Процессор как операционное устройство
- •1.4. Минимальный набор операций алу
- •1.5. Выбор системы команд специализированной эвм
- •1.6. Форматы команд и операндов
- •2. Проектирование операционных автоматов процессора
- •2.1. Содержательные графы микропрограмм операций алу.
- •2.2. Микропрограммы уцу
- •2.3. Операционные элементы
- •2.4. Синтез операционного автомата с закрепленными микрооперациями.
- •2.6. Синтез операционных автоматов уцу
- •2.7. Закодированные графы микропрограмм
- •2.8. Оценка времени реализации алгоритма
- •3.1. Принцип микропрограммного управления
- •3.3. Управляющие автоматы с принудительной и естественной адресацией мк
- •3.4. Организация муу с ортогональной системой адресации
- •3.5. Организация стека адресов возврата в муу
- •1. Структура и функции процессоров 3
- •1.1. Процессоры, их назначение и особенности . . . . 3
1.5. Выбор системы команд специализированной эвм
П
ри
выборе системы команд будем исходить
из того, что считаются заданными
адресность команд, наличие или отсутствие
признака засылки способ адресации
внутренней памяти и набор операций,
выполняемых АЛУ. С помощью операций
этого набора, по алгоритму решаемой
процессором задачи составляется в
содержательной форме программа работы
процессора. При ее составлении используется
какая-либо форма представления команд
с явным наименованием операций, необходима
посылочные операции, переходы, операции
ввода-вывода и системные операции.
Программа может быть составлена не
единственным способом. В окончательном
варианте нужно стремиться к тому, чтобы
суммарное количество обращений к ОП
было минимальным.
По окончательному варианту программы составляется минимальный список команд всех типов, использованных в программе. Этот список и будет системой команд ЭВМ.
Рассмотрим процесс выбора системы команд на конкретных примерах для набора операций АЛУ, полученного в разд. 1.4.
Одноадресная система команд без признака засылки. Пусть внутренняя память процессора состоит из итогового регистра RG в АЛУ. Результат каждой основной операции остается в RG и может служить операндом следующей операции. Основные операции над двумя операндами выполняются по првилу
RG:=RG*ОП[A] (I .I)
где * - обозначение операции; ОП[A] - ячейка ОП с номером A, представляющая второй операнд.
Для записи команд введем следующую символику.
Обозначение
N. Наименование операции . X (1.2)
будем использовать для команд, соответствующих большинству типов операций. Во всех случаях N означает здесь порядковый номер команды в программе. Для основных операций над двумя операндами под X понимается второй операнд, для команды загрузка - загружаемый операнд, для команды записи - записываемый в ОП результат предыдущей операции, для команд ввода-вывода соответственно вводимая и выводимая переменные, для безусловного перехода (БП) - порядковый номер команды, к которой осуществляется переход, для условного перехода (УП) X также означает порядковый номер команды, к которой осуществляется переход, но в наименование операции включается и условие перехода, следующее за символом УП. В командах соответствующих основным операциям над одним операндом, символ X справа от наименования операции отсутствует. Если в основной операции над двумя операндами одним из операндов является константой она должна быть введена в ОП до начала работы по алгоритму.
Используя эти обозначения, для алгоритма, заданного на рис 1.3- 1.б, можно составить следующую программу:
Из этой программа легко находим, что система команд ЭВМ должна состоять из нульадресных и одноадресных команд.
В программе вместо одноадресных команд с номерами 26 и 35 можно использовать нульадресную команду N. Сложение с I.
Одноадресная система команд с признаком засылки. Внутренняя память и в этом случае пусть состоит только из итогового регистра RG в АЛУ, но результат каждой основной операции в зависимости от значения признака засылки (ПЗ) либо остается в RG , либо записывается в ОП. Будем считать, что основные операции над двумя операндами при ПЗ=О выполняются по правилу (I.I), а при ПЗ=1 по правилу
ОП[A]:=RG*ОП[А]
Для основных операций, выполняемых над одним операндом, операнд находится в RG, а результат при П3=0 остается в RG , а при П3=1 записывается в ОП по адресу, указанному в команде. Содержимое RG при этом не изменяется.
При записи команд после слов "Наименование операции" перед символом .X в (1.2) введем символ. ПЗ. В командах, соответствующих основным операциям над одним операндом, последним в команде теперь может быть как значение символа X , так и значение признака ПЗ.
Для алгоритма, заданного на рис 1.3-1.6, при этих предположениях можно составить следующую программу:
Из программы следует, что система команд ЭВМ должна содержать одну нульадрсную и одноадресные команды, имеющие модификации, определяемые значением признака засылки.
Команды ввода-вывода различаются признаком засылки, поэтому наименования соответствующих операций можно кодировать одним и тем же кодом.
По той же причине наименования обеих посылочных операций могут быть закодированы одними тем же кодом.
Двухадресная система команд без признака засылки. Основные операции над двумя операндами в этом случае выполняются обычно по правилу
ОП[A1]:=ОП[A1]*ОП[A2]
до A1 -первый адрес в команде; А2 - второй адрес. Считаем, что внутренняя память процессора отсутствует. Для основных операций над одним операндом операнд берется из ячейки ОП[A1], Туда же записывается и результат операции.
При двухадресной системе команд бывает удобно в качестве одной и посылочных операций использовать операцию пересылки. Эта операция заключается в том, что в ячейку ОП[A1] записывается содержимое ячейки ОП[A2], причем в ячейке ОП[A2] содержимое не изменяется.
Обозначение
N. Наименование операции .X , Y (1.3)
будем использовать для всех типов команд. Символы N и «Наименование операции» имеют здесь то же самое значение, что и для одноадресных команд, X является первым операндом и результатом операции, Y - второй операнд. Если второй операнд в операции не участвует, вместо Y" будем ставить прочерк.
При этих условиях для алгоритма, заданного на рис 1.3-1,6, получим следующую программу:
Часть команд в этой программа имеют два адреса, а часть - только один, поэтому и система команд ЭВМ должна состоять из одноадресных и двухадресных команд.
Двухадресная система команд с признаком засылки. Пусть внутренняя память состоит из итогового регистра RG в АЛУ. Тогда возможны четыре модификации
основных операций над двумя операндам, каждая из которых определяется соответствующим значением ПЗ. Для основных операций, выполняемых над одним операндом, операнд находится в RG, е результат остается в RG при ПЗ=3 и записывается в ОП [A1] при ПЗ=4. Содержимое RG при этом не изменяется.
Как и в случае одноадресных команд, ПЗ помещается в выражении (1.3) между символами "Наименование операции" и Х и отделяется от них точкой.
В этом случае для алгоритма, представленного на рис 1. 3-1.6, программа имеет следующий вид:
Этой
программе соответствует система команд,
содержащая нульадресные, одноадресные
и двухадресные команды.
