Методические указания, страница 2
Описание файла
Документ из архива "Методические указания", который расположен в категории "". Всё это находится в предмете "цифровые устройства и микропроцессоры (цуимп)" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "цифровые устройства и микропроцессоры" в общих файлах.
Онлайн просмотр документа "Методические указания"
Текст 2 страницы из документа "Методические указания"
1.3.4. Составление операционного описания
Операционное описание синтезируемого устройства составляется на учебном языке операционного описания (УЯОО), разработанным на каф. 403.
В ходе операционного описания производят запись алгоритма в терминах операций (преобразований: доступных в операционных регистровых элементах или в специально синтезируемых операционных комбинационных элементах) и переходах.
При составлении операционного описания могут быть выявлены неточности в решающем алгоритме, которые потребуют либо изменения последовательности микрокоманд, либо включения новых микрокоманд. В этом случае исходный алгоритм обязательно исправляется. Таким образом, должно строго соблюдаться однозначное соответствие схемы алгоритма и операционного описания. Если замечено хоть малейшее отклонение одного от другого, то соответствие должно быть восстановлено изменением либо схемы алгоритма, либо операционного описания.
При переходе от схемы алгоритма к операционному описанию необходимо учитывать параллельность протекавших в устройстве процессов. Это обстоятельство заставляет особенно внимательно подходить к последовательной записи одновременно реализуемых операторов.
Для упрощения управляющего автомата выделяют совместные, условно-эквивалентные и эквивалентные по управлению микрокоманды. Операционное описание переписывают в терминах эквивалентных управляющих сигналов, учитывая, что условно-эквивалентные сигналы формируются непосредственно в операционном автомате.
Микропрограмма состоит из трех основных частей: заголовка, описания переменных и процедуры.
Заголовок микропрограммы представляет собой одно предложение, начинающееся ключевым словом МИКРОПРОГРАММА, далее следует имя операции, реализуемой данной микропрограммой. Имя может содержать произвольное число символов любого типа (первый символ обязательно буква), кроме скобок.
Описание переменных в микропрограмме содержит ключевые слова (ПЕРЕМЕННЫЕ, ВНЕШНИЕ, ВНУТРЕННИЕ) и имеет следующую структуру:
ПЕРЕМЕННЫЕ
ВНЕШНИЕ < список переменных >
ВНУТРЕННИЕ
ВЫХОДНЫЕ
Строка ВНЕШНИЕ содержит список описаний всех внешних переменных. Так, для рассматриваемого примера эта строка может иметь вид:
ВНЕШНИЕ А{0:31}, В{0:31}, С{0:31}.
Строка ВНУТРЕННИЕ содержит список описаний всех внутренних переменных микропрограммы. Описываемый язык не допускает неявного задания переменных. Задание каждой переменной определяет некоторый операционный элемент, содержащий регистр. Таким образом, задание внутренних переменных по - существу является заданием всех регистров операционного устройства, участвующих в выполнении микропрограммы. Аналогично строка ВНЕШНИЕ для данной микропрограммы определяет используемые регистры внешней среды.
Процедурная часть микропрограммы начинается ключевым словом ПРОЦЕДУРА, после которого со следующей строки начинается построчная запись микроопераций. Последним предложением процедуры является предложение КОНЕЦ.
Процедура содержит микрооперации двух типов: операционные и управляющие. Все операционные микрооперации записываются по правилам, приведенным в работе [4]. При этом допускается использование микроопераций, выполняемых только в операционных элементах регистрового типа. Преобразования, выполняемые в комбинационных операционных элементах, могут включаться только в выражения в правых частях предложений присваивания микроопераций в регистровых операционных элементах. Это ограничение означает необходимость фиксации (запоминания) результата любой микрооперации, выполняемой в операционном устройстве. Вся совокупность операционных микроопераций, входящих в процедурную часть микропрограммы, должна использовать весь список описанных ранее внутренних переменных, определяя вместе с тем все связи между операционными элементами регистрового и комбинационного типов. Внешние входные переменные - аргументы микропрограммы могут встречаться только в правых частях микроопераций. Внешние выходные переменные - результаты микропрограммы должны определяться в левых частях микроопераций.
Управляющие микрооперации предназначаются для управления ходом выполнения микропрограммы. Они включают в себя предложения двух основных типов: безусловной и условной передачи управления. Управление передается по метке микрооперации. Метка является мнемоническим именем микрооперации и семантически отождествляется с управляющим сигналом или с микрокомандой.
Микрооперация безусловной передачи управления имеет вид:
: ИДТИ К
Первая метка в определяемой строке является именем самой микрооперации безусловной передачи управления, а завершающая метка - меткой (именем) той микрооперации, которой передается управление.
Микрооперации условной передачи управления имеют две формы. Первая из них, связанная с передачей управления на одно из двух возможных направлений выполнения микропрограммы, имеет вид
: ЕСЛИ ( ), ТО , ИНАЧЕ
Как и в предыдущем случае, первая метка в строке - мнемоническое имя самой микрооперация условной передачи управления. Логическая переменная, следующая за ЕСЛИ, является именем признака, который может принимать значения 1 или 0. Этот признак должен быть определен до выполнения настоящей микрооперации и должен храниться в соответствующем одноразрядном регистре - регистре признака, именем которого является имя этой логической переменной. Если признак равен 1, то управление передается микрокоманде с меткой, расположенной между словами ТО и ИНАЧЕ. Если же признак равен 0, то управление передается микрооперации с меткой, следующей за словом ИНАЧЕ.
Если слово ИНАЧЕ не указано то управление передается на следующую строку микропрограммы.
Операционное описание синтезируемого устройства выполняют в двух вариантах: в исходном виде (при записи алгоритма на языке УЯОО каждая микрооперация записывается в отдельную строчку) и в преобразованном виде (микрооперации преобразуются с учетом эквивалентности и совместимости).
Преобразования микроопераций операционного типа
При построении реальных устройств многие микрооперации могут выполняться параллельно, т.е. одновременно. Если две или несколько микроопераций всегда выполняются одновременно, то они являются эквивалентными по отношению к единой микрокоманде, вызывающей их выполнение. Обязательными условиями эквивалентности являются:
-
Результат выполнения микрооперации не используется как операнд для выполнения эквивалентной ей микрооперации, т.е. микрооперация не содержит в себе цепочки последовательных вычислений. Это означает, что внутри некоторого сегмента микропрограммы эквивалентные микрооперации могут менять порядок своего следования.
-
Совокупность эквивалентных микроопераций всегда расположена между микрооперациями условной передачи управления.
-
В совокупности эквивалентных микроопераций передача управления может осуществляться только в начало (первой микрооперации).
Установление эквивалентности позволяет уменьшить количество микрокоманд (управляющих сигналов) и осуществить управление несколькими регистровыми ОЭ по одному проводу. Эквивалентные микрооперации записываются в одну строчку, для них генерируется единый управляющий сигнал. Имя этого сигнала (имя микрооперации) может строиться по именам составляющих его эквивалентных сигналов, однако допускается введение нового имени, желательно подчеркивающего факт эквивалентности.
Пусть следующие три микрооперации являются эквивалентными:
У1 : F1 = F1(A1)
У2 : F2 = F2(A2)
УЗ : F3 = F3(A3)
Тогда их можно записать в одну общую строчку:
У123 : F1 = F1(A1); F2=F2(A2); F3 = F3(A3)
или при У1 = У2 = У3 = УЭ
УЭ : F1 = F1(A1) ; F2 = F2(A2); F3 = F3(A3)
Если две или несколько микроопераций в некоторых сегментах микропрограммы могут выполняться одновременно, а в других сегментах обязательно выполняются раздельно, то они являются совместимыми. Другими словами, совместимость может рассматриваться как "местная эквивалентность", что влечет за собой выполнение трех рассмотренных условий. Установление совместимости не уменьшает количества микрокоманд - количество управляющих сигналов остается прежним, однако позволяет некоторые операции выполнять одновременно, что положительно сказывается на увеличении быстродействия ОУ.
Совместимые операции также записываются в одну строчку, однако в отличие от эквивалентных операций все управляющие сигналы сохраняются.
Пусть, например, на некотором сегменте микропрограммы установлена совместимость двух микроопераций:
У1 : F1 = F1(A1)
У2 : F2 = F2 (А2)
тогда можно записать
У1, У2 : F1 = F1 (А1) ; F2 = F2(A2)
Если микрооперации всегда выполняются раздельно, то они являются несовместимыми. Это соответствует случаю, когда либо результат выполнения предыдущей микрооперации используется для выполнения следующей, либо микрооперации разделены микрооперацией условной передачи управления, либо на следующую микрооперацию передается управление по метке.
Тем не менее, и здесь возможна оптимизация ОУ. Если две или несколько микроопераций образуют цепочку последовательных преобразований, постоянную для всех сегментов микропрограммы, то они могут рассматриваться как эквивалентные по последовательности микрооперации. Выполнение таких микроопераций связано с генерацией фиксированной пачки управляющих сигналов. Эквивалентные по последовательности микрооперации записываются в одну строчку, в имени управляющего сигнала указывается сдвиг этих сигналов во времени.
Пусть, например, в сегменте микропрограммы
У1 : А1 = F1 (А0)
У2 : А2 = F2 (А1)
УЗ : A3 = F3 (А2)
микрооперации могут считаться эквивалентными по последовательности, тогда можно записать
У(τ1, τ2, τ3) : A1=F1(A0) ; A2=F2(A1); A3=F3(A2).
1.3.5. Построение функциональной схемы операционного автомата
Функциональная схема операционного автомата (ОА) должна включать набор операционных элементов, связи между ними, связи этих элементов с входными и выходными шинами устройства, связи с управляющим автоматом (УА).
Для выполнения операционным элементом всех его функций (запись, хранение и обработка информации) он должен содержать две основные части: комбинационную (обрабатывающую) - в виде логической цепи и автоматную (запоминающую) - в виде регистра. В частных случаях при неполном выполнении упомянутых функций операционный элемент может быть представлен или комбинационной частью, или регистром.
В процессе функционирования операционного устройства обрабатываемая информация под воздействием управляющих сигналов передается от элемента к элементу. При этом собственно преобразования информации, как правило, выполняются в комбинационных цепях, а регистры обычно служат только для фиксации (записи и хранения) результатов преобразований. Иными словами, функционирование операционного устройства может рас сматриваться как процесс передачи информации из одних регистров в другие с промежуточным преобразованием информации в комбинационных цепях.
Номенклатура операционных элементов используемых в разрабатываемом устройстве находится в строке ПЕРЕМЕННЫЕ ВНУТРЕННИЕ (в нем приводится список всех переменных, являющихся выходными сигналами операционных элементов). Такими элементами могут быть как регистровые устройства (статические и сдвигающие регистры, счетчики, накапливающие сумматоры, элементы памяти и другие), так и комбинационные устройства, выполняющие операции межрегистрового преобразования кодов. К ним могут относиться схемы установления логических и арифметических отношений, комбинационные сумматоры, комбинационные множительные устройства, арифметико-логические устройства (АЛУ), дешифраторы, программируемые матрицы и многие другие.
Установление характера связей между операционными элементами и построение реальных шин связей базируется на правилах записи предложений операционного преобразования [4]. Напомним, что слева от знака присваивания помещается выходное слово операционного элемента, справа - входные слова и/или слово внутреннего состояния. Поскольку входное слово, если оно не описывает константу, формируется некоторым другим операционным элементом (назовем его источником), то каждое предложение операционного описания однозначно указывает на связь описываемого операционного элемента (назовем его приемником) с операционным элементом-источником.
Рассмотрим предложение
УСМ : СМ{1:16} = СМ{1:16} + РЕГ1{1:16}
Оно описывает работу сумматора СМ, накапливающего коды, обозначаемые как РЕГ1. Одновременно это предложение указывает, что для организации накопления необходимо подключить выходы регистра РЕГ1 к информационным входам сумматора СМ, т.е. соединить эти операционные элементы шестнадцатиразрядной шины связи.
Различают четыре вида связей: индивидуальные, разветвляющиеся, соединяющиеся и магистральные.
Индивидуальная связь применяется для передачи информации между двумя (и только двумя) операционными элементами, один из которых является источником, а другой - приемником. В микропрограмме источник и приемник описываются лишь в одном предложении комбинационного или регистрового преобразования, что может быть использовано как признак индивидуальной связи.
Индивидуальная связь между сумматором СМ и регистром РЕГ1 изображена на рис. 2,а. Здесь шине связи присваивается имя источника, т.е. регистра РЕГ1.