Микропрограмма центрального устройства управления ЭВМ

 

Выполнение каждой команды в ЭВМ происходит в соответствии с микропрограммой ЦУУ. Управляющие сигналы, вырабатывающие УА, вызывают выполнение микроопераций в последовательности, определяемой значениями логических условий.

Граф-схема микропрограммы ЦУУ показана на рис. 3.1. Условные вершины, изображаемые ромбами, обозначают анализ значений логических условий. Операторные вершины, изображаемые прямоугольниками, обозначают выполнение одной или нескольких микроопераций. Данная граф-схема представляет укрупненный алгоритм функционирования ЦУУ, так как в этом алгоритме выделены, но не раскрыты детально, такие действия как выборка команды, формирования исполнительного адреса (ИА), выполнение операций ввода-вывода (ОВВ), арифметических операций (АОП), посылочных операций (ПО), операций передачи управления (ОПУ). Каждое из этих действий может быть представлено в виде отдельного алгоритма, детализация тих действий приведена на рис. 3.2 – 3.7.

В общем случае, процесс выполнения команды (основной машинный цикл) может быть представлен следующей последовательностью этапов ( см. рис. 3.1.):

1. Выборка команды;

2. Подготовка адреса следующей команды;

3. Формирование исполнительного адреса;

4. Выполнение операции.

Под выборкой команды понимается чтение кода команды из ОП и передача его в РК.

Подготовка адреса следующей команды заключается в увеличении на I содержимого счетчика адреса команды (СЧАК), что соответствует естественному порядку следованию команд.

Формирование исполнительного адреса заключается в определении исполнительного адреса ОП (для арифметических и посылочных операций) либо исполнительного адреса следующей команды (для операций передачи управления).

При выполнении операции осуществляются действия, предписанные КОП. Каждая из групп операций: ОВВ, АОП, ПО, ОПУ – выполняется в соответствии с определенным алгоритмом.

Примечание. В циклах команд типа 1 исполнительный адрес не формируется

Рассмотрим микрооперации и логические условия, необходимые для понимания общего алгоритма ЦУУ (см. рис. 3.1). Микрооперации РАБОТА, ОСТАНОВ, СООБЩЕНИЕ ОБ ОШИБКЕ относятся к группе микроопераций установки. РАБОТА и ОСТАНОВ – выполняют установку соответствующего состояния ЭВМ, СООБЩЕНИЕ ОБ ОШИБКЕ заключается в установке признака останова по ошибке, что в реализованной модели ЭВМ приводит к выдаче на терминал пользователя текстового сообщения «ПРОГРАММНАЯ ОШИБКА». Микрооперация СЧАК:=СЧАК+1 является микрооперацией счета и обеспечивает подготовку адреса следующей команды.

Логические условия СТАРТ, СТОП, ПП принимают значение 1 при единичных значения соответствующих сигналов. Условие СТАРТ проверяется перед выполнением микрооперации РАБОТА и, если сигнал СТАРТ = 1, то ЭВМ переключается в состояние РАБОТА. Условие СТОП проверяется после выполнения операции и, если сигнал СТОП = 1, то ЭВМ переключается в режим ОСТАНОВ, если СТОП = 0, то основной машинный цикл повторяется и начинается выборка следующей команды. Условие ПП проверяется после выполнения АОП и, если АУ вырабатывает сигнал ПП = 1, то на экран терминала выдается сообщение об ошибке и ЭВМ переключается в состояние ОСТАНОВ.

Значения логических условий РЕЖИМ = ЦИКЛ и РЕЖИМ = АВТ \/ ТАКТ определяются режимом работы ЭВМ и проверяются после выборки команды. В режиме ЦИКЛ по завершении выборки команды ЭВМ переключается в состояние ОСТАНОВ и работа может быть продолжена по сигналу СТАРТ = 1.

Значение логического условия СЧАК = АО определяется содержимым СЧАК (АО не изменяется в процессе выполнения программы) и может быть равно 1, если задан останов по адресу команды. Останов по адресу команды происходит после выборки команды, адрес которой равен АО. После останова работа может быть продолжена по сигналу СТАРТ = 1.

Значения 0-го и 1-го разрядов РК определяют логические условия 02 < КОП < I2, КОП = НЕКОРР. КОП, КОП = НОП, КОП= ОВВ, КОП=АОП, КОП=ПО, КОП=ОПУ, КОП=ОСТ. Условие 02<КОП<I2 проверяется с целью определения типа выполняемой команды. Для команд типа 1 (безадресных команд) формирование ИА не осуществляется, после выборки команды и подготовки адреса следующей команды начинается выполнение операции. Если КОП=НЕКОРР. КОП, что соответствует условию КОП > I2, на экран терминала выдается сообщение о программной ошибке и ЭВМ переключается в состояние ОСТАНОВ. Проверка остальных логических условий, связанных с КОП, позволяет выявить группу операций или отдельную операцию, подлежащих выполнению.

Значение 2-го разряда РК определяет логические условия ТА=НЕКОРР. ТА, ТА=НА\/ ПА, ТА=ОА\/КА. Если ТА=НЕКОРР. ТА, что соответствует условию ТА > 3, на экран терминала выдается сообщение о программной ошибке и ЭВМ переключается в состояние ОСТАНОВ. Условие ТА=ОА\/КА проверяется с целью определения необходимости формирования ИА, которое при выполнении команд типа 2 (адресных команд) осуществляется только в случае относительной или косвенной адресации. При выполнении условия ТА = НА\/ ПА исполнительный адрес не формируется, так как при прямой адресации после выборки команды содержимое поля адреса РК уже является исполнительным адресом, а при непосредственной адресации понятие ИА не существует, поскольку в поле адреса РК записан операнд.

Номер микрооперации останова микропрограммы записывается в регистр МКО (см. рис. 1.1). Это значит, что после выполнения микрооперации с номером, равным МКО, работа ЦУУ может быть продолжена сигналу СТАРТ= 1.