
МПУЭВС. Лекции. Задания / pdf_ПрилПЦиПУ / Приложение_А_МПА
.pdf
1
Приложение А
Вариант МПА
Распространённым методом программирования алгоритмических задач является применение для описания процессов системы внешних команд.
Набор внешних команд, как известно, хранится во внешней, относительно функций процессора, оперативной памяти. Каждая из внешних команд представляется микропрограммой. Алгоритм решения задачи представляется очередью команд, которым в управляющей памяти соответствует очередь микропрограмм.
Упрощенный вариант функциональной схемы автомата с управляющей памятью представлен на рисунке А.1.
Рисунок А.1 - Функциональная схема МПА БМУ
Микропрограммный автомат (МПА) содержит управляющее постоянное запоминающее устройство (ROM) с (n + m) адресными входами и
(m+k+1) разрядами данных, (m+k+1)-разрядный конвеерный регистр (RG),
переключатель начального адреса МК (МХ), тактовый генератор (G) и схему разрешения-сброса на D-триггере (T) и логическом элементе DD3.
Часть m разрядов выходного кода ROM участвует совместно с n –
разрядным кодом отрабатываемой команды в формировании адреса ячейки
2
ROM, содержащей очередную МК. Вторая группа размерности k-линий предназначена для управления операционными элементами ОУ, средствами адресации, средствами коммутации информационных потоков в УУ, ОУ и вне процессора. Выходная линия «Выборка/Исполнение» предназначена для управления переключением двух потоков сообщений через узел МХ.
Переключатель МХ, управляемый специфицированным для этого разрядом в микрокоманде, применён для поддержки переходов между микропрограммой управления приёма первого слова в регистр команды
(регистр команды, не показан на рисунке А.1) и микропрограммами отработки атрибутов этого слова в схеме МПА. Начальные адреса областей микропрограмм извлечения первого слова команды переключателем МХ
подключаются к узлу ROM.
Примечание. Аналогичный переключатель с подобной логикой переключения может быть применён для подключения к адресным входам
ROM линий для управления переходами по условиям ветвлений. Для этого потребуется отдельная управляющая линия «Условие» для внешних команд с ветвлениями программы в дополнение к управляющей линии
«Выборка/Исполнение».
Функционирование БМУ, изображённого на рисунке А.1 можно рассматривать либо с момента подачи сигнала «Внешнее разрешение», либо с любого другого времени, при условии завершения выполнения некоторой внешней команды (и соответствующей ей микропрограммы).
В первом случае по поступлению сигнала «Внешнее разрешение» по фронту первого импульса генератора выполняется сброс регистра RG.
Начальный адрес вместе нулевым смещением m выбирает первую микрокоманду, которая по срезу первого импульса генератора переписывается в регистр МК RG. С этого момента и до следующего среза импульса на выходе регистра RG будет присутствовать код первой МК.
В коде текущей МК поле размерности m содержит смещение для адресации следующей МК, поле k содержит необходимые управляющие
3
сигналы к операционным узлам процессора первого такта, а поле управляющего переключателем МХ сигнала «Выборка/Исполнение» должно соответствовать адресу области для выбора следующей МК. Таким образом,
содержимое полей m и «Выборка/Исполнение» текущей МК определяет
область и смещение адреса МК в области .
Если адрес следующей МК в процессе функционирования БМУ будет соответствовать началу микропрограммы отработки внешней команды, то по
завершению отработки этой микропрограммы по линиям полей m и
«Выборка/Исполнение» БМУ должен быть переведён в состояния нулевого
смещения (m=0) и «Выборка». Процесс с появлением очередного сигнала с генератора повторяется с тем отличием, что состояние нуль смещения m и
«Выборка» устанавливаются в предшествующей команде.
Приведенной схемой без каких-либо дополнений реализуются
микропрограммы управления исполнением «внешних» команд, включая безусловные программные ветвления. Сложнее по этой схеме выполнить переходы на микропрограммы отработки ветвлений процесса управления по условиям, не встроенным в код первого слова «внешних команд».
Известны две модификации состояний процесса программного управления, отработка которого связана с «непредсказуемыми» условиями ветвления программного управления:
-первый вариант соответствует реакции процессора на внешние запросы обслуживания, поступающие в случайные моменты времени по отношению в выполняемой процессором программе;
-второй вариант соответствует реакции процессора на внешнюю принимаемую текущую команду, ветвление процесса управления по которой зависит от заранее сформированных в процессоре условий.
В первом варианте, известном, как «аппаратное прерывание» процесса управления, в аппаратных средствах процессора предусматривается проверка состояния сигналов на входах ввода запросов и сопоставление их с наличием,
по необходимости, внутренних сигналов разрешения в процессе выполнения
4
микропрограммы отработки текущей внешней команды. Этому варианту соответствует завершение подготовки к ветвлению одновременно с завершением выполнения текущей внешней команды. Следующий временной цикл процесса управления назван циклом прерывания.
Микропрограммная поддержка отработки этого варианта ветвления, таким образом, начинается до перехода к циклу прерывания. Определению подлежит начальный адрес микропрограммы исполнения цикла прерывания.
Усложняющими факторами являются множественность входов запросов прерывания и очерёдность обслуживания запросов.
Во втором варианте, которому соответствует отсутствие активных состояний на входах аппаратных запросов прерываний в завершении исполнения предшествующей внешней команды, код текущей «внешней команды» указывает на требование проверки внутренних условий ветвления программы сформированных до приёма команды. Начальный адрес размещения микропрограммы в этом случае определяется видом проверяемого условия и не зависит от состояния проверяемого условия.
После проверки состояния условия выполняется процесс настройки адреса ветвления в зависимости от состояния проверяемого условия. Этот адрес соответствует ветвлению в пространстве внешних команд выполняемой программы.
Вариант размещения областей, отводимых под микропрограммы отработки «условных внешних команд» в управляющей памяти без «пустых окон», показан на рисунке А.2. Для архитектур синхронных процессоров размер областей размещения микропрограмм отработки для всех «внешних команд» фиксирован. Требуемый объём управляющей памяти VM для (N+K) «внешних команд» с учётом известного числа ячеек отдельной микропрограммы M определяется по формуле
VM = M▪ (N + K +1)
и для типового варианта ресурсов N = 100, K=16, M = 12 объём составляет

5
1404 ячеек (≈ 1,4 Кслов). Формат слов (k | m | 1) управляющей памяти определяется составом линий микроопераций k и дополнительными полями двоичными полями разрядности m и 1.
Рисунок А.2 – Линейное распределение управляющей памяти
Адрес следующей микрокоманды в отдельно взятой области микропрограммы определяется МПА по значению поля смещения m в
текущей микрокоманде относительно начального адреса микропрограммы 2(n|m) при m=0. Это поле в управляющей памяти используется для организации линейного счётчика для перехода к адресу следующей микрокоманды. Число разрядов двоичного кода смещения m однозначно определяет разрядность счётчика и размер М (число микрокоманд) одной микропрограммы в соответствии с выражением
M=2m.
Для асинхронных архитектур процессоров с переменным размером микропрограмм отработки внешних команд снижение и исключение потерь на пустые окна достигается применением преобразователей начального адреса (ПНА). В преобразователе ПНА по коду первого слова внешней команды формируется фактический начальный адрес соответствующей ей микропрограммы. После завершения текущей микропрограммы инициируется общая микропрограмма выборки следующей внешней команды, а после извлечения очередной команды процесс повторяется.