- •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
2.2. Микропрограммы уцу
Пусть процессор состоит из АЛУ и УЦУ, причем эти устройства связаны между собой и с ОП согласно рис 1.2.
Будем считать, что в АЛУ для основных операций над одним операндом (001) значение операнда перед началом операции присваивается слову RG , для основных операций над двумя операндами (002) значения первого операнда присваивается слову RG , а значения второго - слову RG1. Результат всякой основной операции присваивается слову RG. Код операции КО подается в АЛУ из УЦУ. Запуск АЛУ производится поступающим из УЦУ управляющим сигналом АЛУ, возбуждающим начало операции, заданной кодом операции КО. В АЛУ формируется осведомительные сигналы, определяющие признаки результата (неотрицательность, равенство нулю и т.д.), и осведомительный сигнал АЛО, идентифицирующий состояние устройства, Устройство считается занятым выполнением операции, если АЛО=1. Если же АЛО=0 считается, что устройство закончило операцию, т.е. результат операции присвоен слову RG.
У
ЦУ
выбирает команды из ОП в требуемой
последовательности, определяемой
естественным порядком выполнения команд
или командами переходов; выбирает
операнды, заданные адресами; запускает
в АЛУ выполнение основной операции,
предписанной выбранной командой;
записывает результат и переходит к
выборке следующей команды из ОП.
ОП является самостоятельным устройством. В нем выделяется регистр адреса RGA, регистр слова RGC, управляющие входы ЗП и Ч осведомительный выход 0П0. Сигналы ЗП и ЧТ возбуждают в ОП операции записи и чтения слова:
ЗП)
ЧТ)
Если ОП работает с отдельными байтами, а слово, представляющее команду или операнд, состоит из нескольких байтов, то это слово выбирается из ОП за несколько обращений. Будем считать, что байты одного и того же слова располагаются в ОП по соседним адресам последовательно, так что после выборки первого байта слова адрес следующего байта получается прибавлением единицы к адресу выбранного байта и т.д. В том же порядке осуществляется и записи слов.
Пусть в УЦУ значения выбранных из ОП команд присваиваются слову RGK , значения адресов команд присваиваются слову СТАК. Пусть также имеется возможность с пульта управления процессором слову СТАК присвоить начальное значение адреса программы (пусковой адрес) и остановить работу процессора после выполнения любой команды нажатием кнопки "Останов". Ситуация, при которой во время выполнения основной операции признаку переполнения разрядной сетки ПП присвоено значение I, пусть считается аварийной и приводит к прекращению работы процессора с выдачей сигнала на пульт управления. Работа процессора при этом должна автоматически возобновиться после присваивания вручную с пульта управления признаку значения 0.
Будем считать, что специализированный процессор взаимодействует с единственным устройством ввода и единственным устройством вывода.
Операция ввода (ВВД) состоит из трех частей.
1. В УЦУ одноразрядному слову ВВО присваивается значение I. Это служит сигналом, запускающим устройство ввода, которое присваивает слову BRG1 из УЦУ значение вводимой переменной, после чего присваивает слову ВВО значение 0.
2. Проверяется значение слова ВВО. Если ВВО=О, то слову RG присваивается значение слова BRG1 .
3. Ячейке ОП с указанным в команде ввода адресом присваивается значение слова RG.
Операция вывода (ВЫВ) пусть также состоит из трех частей.
1. Слову RG из АЛУ присваивается значение ячейки ОП с указанным в команде вывода адресом.
2. В УЦУ проверяется значение одноразрядного слова ВЫО. Если ВЫО=0, слову BRG2 из УЦУ присваивается значение слова RG.
3. Слову ВЫО присваивается значение I, что служит сигналом, запускающим устройство вывода. Это устройство записывает значение слова BRG2 после чего присваивает слову ВЫО значение О.
Считая, что ОП работает побайтно и выполнены все перечисленные здесь условия, составим содержательные графы микропрограмм работы УЦУ для систем команд, найденных в подразд.1.5, и форматов команд и операндов, принятых в подразд 1.6. При этом будем объединять одинаковые части микропрограмм различных операций, выполненные в УЦУ.
Для одноадресной системы команд без признака засылки содержательная граф-схема микропрограммы УЦУ приведена на рис.2.11
На этой граф-схеме ждущая вершина 2 определяет готовность процессора к работе. Путь, состоящий из вершин 3-7(0), 8,9(0), определяет порядок выборки из ОП однобайтных команд, а путь, состоящий из вершин 3-7(0),8,9(I),4-7(I),I0 - порядок выборки двухбайтовых команд. Выполнение основной операции над двумя операндами определяется последовательностью вершин II(Да), 12-16(0), 17, 18(Да), 19,13-16(1), 20(Да), 21-23. Последовательность вершин, определяющих порядок выполнения операции загрузки, частично совпадает с последовательностью вершин, определяющих выполнение основной операции над двумя операндами, и состоит из вершин 24(Да) 12-16(0), 17, 18(Нет), 25, 13-16(1), 20(Нет), 26, 27(Нет). Операция вывода состоит из последовательности действий, соответствующих вершинам 28(Да), 17-16(0), 17, 18(Нет), 25, 13-16(1), 20(Нет), 26, 27(ДА), 29-31.
Путь, проходящий через вершины 32(Да), 22, 23, задает порядок выполнения основных операций над одним операндом. Порядок выполнения операции записи определяется последовательностью вершин 43(Да),37-42; операции ввода последовательностью вершин ЗЗ(Да), 34-42. Вершины 44(Да), 45 определяют безусловный переход, а вершины 46(Да), 47, 45 - условный переход по нулевому результату. Вершина 48 соответствует кнопке "Останов". Если эта кнопка не нажата (выход-Нет), процессор после выполнения очередной команды переходит к проверке возможности выполнения следующей команды (вершина 2). Если ПП=0, то процессор начинает выборку этой команды (вершины 3, 4 и т.д.). Если ПП=1, он прекращает работу до тех пор, пока с пульта управления признаку ПП не будет присвоено значение 0.
В микропрограмме, представленной на рис.2.11, одноразрядному слову CT2 присваивается значение номера байта слова, загружаемого из ОП в процессор. Слово RGK(A) является полем адреса команды (слова RGK).
Содержательная граф-схема микропрограммы УЦУ для одноадресной системы команд с признаком засылки приведена на рис.2.12.
В
этой микропрограмме выборка команд
осуществляется точно так же, как и на
рис.2.11. Поскольку операции загрузки и
записи в этом случае имеют одинаковое
наименование (ПОС) и различаются только
значением признака засылки, операция
загрузки начинается с вершин 24, 43(0), а
затем продолжается, как и на рис.2 11.
Операция записи начинается с вершин 24, 43(1) и переходит к вершинам 37-42. Операции ввода и вывода также имеют в данном случае одинаковое наименование (ВВ) Операции ввода соответствует путь, состоящий из вершин 28, 33(1), 34-42. Операции вывода - путь, состоящий из вершин 28, 33(0), а далее, как и на рис.2.11, начиная с вершины 12. Порядок выполнения основных операций над одним и двумя операндами отличается от случая системы команд без признака засылки только тем, что после ждущей вершины 23 введена вершина 50 проверки значения признака засылки. При П3=0 операция заканчивается. При ПЗ-I результат записывается в ОП (вершины 37-42). Безусловный и условный переходы выполняются, как и на рис.2.11.
Содержательная граф-схема микропрограммы УЦУ для двухадресной системы команд без признака засылки приведена на рис.2.13.
Команды в этом случае состоят из двух и трех байтов, поэтому слово СТ2. имеет два разряда, а поле КДК - один разряд. Выборка двухбайтовой команды определяется последовательностью вершин 3- 7(Да), 8, 3-7(Нет), 9(Да), 10, 11(1). При выборке трехбайтовой команды после вершины 10 следует вершины 11(0), 3-7(Нет)-9(Нет),12.
Для каждой основной операции (00) после дешифрования кода 00 (вершина 13) сначала осуществляется выборка одного или двух oneрандов. Выборке единственного операнда соответствуют вершины 14- 18(Да)-20(0), 21, 15-18(Нет), 22(0)-24(1). Выборке первого операнда для операций над двумя операндами соответствует та же последовательность вершин, только вместо 24(1) используется выход 24(0). Затем осуществляется выборка второго операнда (вершины 25, 15-18(Да). 19. 20(1), 26, 15-18(Нет), 22(1), 27). Одноразрядное слово СТЗ используется для указания количества выбранных операндов. Собственно выполнение основной операции определяется вершинами 28, 29, Вершине 30(Нет) соответствует передача результата основной операции на запись в ОП (вершины 31-37). Операция пересылки осуществляется через АЛУ, как и 002. Условный переход предполагает после вершины 43 выборку ячейки ОП по адресу второго операнда (начиная с вершины 25), присваивание ее содержимого слову RG1 из АЛУ, а затем действия, предусмотренные последовательностью вершин 28, 29(RG:=RG1 ), З0(Да), 44, 45.
Операция вывода после вершины 39 предполагает присваивание слову RG значения ячейки ОП c адресом A1 ,а затем переход от вершины 24(1) к вершинам 38(Да)-42. Операция ввода и безусловный переход выполняются точно так же, как и для одноадресной системы команд без признака засылки.
Содержательная граф-схема УЦУ для двухадресной системы команд с признаком засылки приведена на рис.2.14.
В этом случае команды могут иметь длину 1, 2 и 3 байта, поэтому поле КДК имеет два разряда. Выборка трехбайтовой и двухбайтовой команд, как и в предыдущем случае, заканчивается соответственно вершинами 12 и 11(Да). Для выборки однобайтовых команд введена вершина 59(Да). Выборка операндов осуществляется точно так же, как и в случае двухадресной системы команд без признака засылки, за исключением того, что вместо одной вершины 24 здесь приходится использовать две вершины 24 и 57. Запись результата операции ничем не отличается от предыдущего случая. Она осуществляется лишь при П3=4 (вершина З0(Да)). Операции ввода-вывода различаются только значением ПЗ, поэтому введены вершины 54 и 47. Точно также вершины 55, 56 введены для различения посылочных операций. Выполнение УП и БП ничем не отличается от случая одноадресных систем команд.
По каждой из микропрограмм, представленных на рис.2.11-2.14, как и в разд.2.1, можно составить свой список использованных в микропрограмме слов, описок микроопераций и список логических условий.
Для реализаций микроопераций и логических условий необходим соответствующий набор элементов.
