Операционный_синтез_цифровых_устройств (Операционный синтез цифровых устройств), страница 2
Описание файла
Документ из архива "Операционный синтез цифровых устройств", который расположен в категории "". Всё это находится в предмете "цифровые устройства и микропроцессоры (цуимп)" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "цифровые устройства и микропроцессоры" в общих файлах.
Онлайн просмотр документа "Операционный_синтез_цифровых_устройств"
Текст 2 страницы из документа "Операционный_синтез_цифровых_устройств"
МИКРОПРОГРАММА СЛОЖЕНИЕ (А, В, С)
В роли разделителей в списке параметров допустимо использование любых других специальных символов алфавита ЯРП, в том числе символов арифметических операций:
МИКРОПРОГРАММА СЛОЖЕНИЕ (А + В = С)
С учетом элементов внешней среды, согласно рис. 3, обращение к микропрограмме с таким заголовком будет иметь вид
СЛОЖЕНИЕ (РЕГ1 + РЕГ2 = РЕГ3)
Описание переменных в микропрограмме содержит ключевые слова (ПЕРЕМЕННЫЕ, ВНЕШНИЕ, ВНУТРЕННИЕ) и имеет следующую структуру:
ПЕРЕМЕННЫЕ
ВНЕШНИЕ < список переменных >
ВНУТРЕННИЕ
Строка ВНЕШНИЕ содержит список описаний всех внешних переменных, совпадающий по составу со списком формальных параметров и отличающийся от него только наличием размерных частей в описании переменных. Так, для рассматриваемого примера эта строка может иметь вид
ВНЕШНИЕ А{0:31}, В{0:31}, С{0:31}.
Строка ВНУТРЕННИЕ содержит список описаний всех внутренних переменных микропрограммы. Описываемый язык не допускает неявного задания переменных. Задание каждой переменной определяет некоторый операционный элемент, содержащий регистр. Таким образом, задание внутренних переменных по - существу является заданием всех регистров операционного устройства, участвующих в выполнении микропрограммы. Аналогично строка ВНЕШНИЕ для данной микропрограммы определяет используемые регистры внешней среды.
Процедурная часть микропрограммы начинается ключевым словом ПРОЦЕДУРА, после которого со следующей строки начинается построчная запись микроопераций. Последним предложением процедуры является предложение КОНЕЦ.
Процедура содержит микрооперации двух типов: операционные и управляющие. Все операционные микрооперации записываются по правилам, приведенным в работе [4]. При этом допускается использование микроопераций, выполняемых только в операционных элементах регистрового типа. Преобразования, выполняемые в комбинационных операционных элементах, могут включаться только в выражения в правых частях предложений присваивания микроопераций в регистровых операционных элементах. Это ограничение означает необходимость фиксации (запоминания) результата любой микрооперации, выполняемой в операционном устройстве. Вся совокупность операционных микроопераций, входящих в процедурную часть микропрограммы, должна использовать весь список описанных ранее внутренних переменных, определяя вместе с тем все связи между операционными элементами регистрового и комбинационного типов. Внешние входные переменные - аргументы микропрограммы могут встречаться только в правых частях микроопераций. Внешние выходные переменные - результаты микропрограммы должны определяться в левых частях микроопераций.
Управляющие микрооперации предназначаются для управления ходом выполнения микропрограммы. Они включают в себя предложения двух основных типов: безусловной и условной передачи управления. Управление передается по метке микрооперации. Метка является мнемоническим именем микрооперации и семантически отождествляется с управляющим сигналом или с микрокомандой.
Микрооперация безусловной передачи управления имеет вид:
: ИДТИ К
Первая метка в определяемой строке является именем самой микрооперации безусловной передачи управления, а завершающая метка - меткой (именем) той микрооперации, которой передается управление.
Микрооперации условной передачи управления имеют две формы. Первая из них, связанная с передачей управления на одно из двух возможных направлений выполнения микропрограммы, имеет вид
: ЕСЛИ ( ), ТО , ИНАЧЕ
Как и в предыдущем случае, первая метка в строке - мнемоническое имя самой микрооперация условной передачи управления. Логическая переменная, следующая за ЕСЛИ, является именем признака, который может принимать значения 1 или 0. Этот признак должен быть определен до выполнения настоящей микрооперации и должен храниться в соответствующем одноразрядном регистре - регистре признака, именем которого является имя этой логической переменной. Если признак равен 1, то управление передается микрокоманде с меткой, расположенной между словами ТО и ИНАЧЕ. Если же признак равен 0, то управление передается микрооперации с меткой, следующей за словом ИНАЧЕ.
Возможности языка ЯООС и его расширения ЯРП ограничены фиксированным набором стандартных преобразований машинных слой, что обусловлено особенностями алфавита, синтаксиса и семантики этих языков. В частности, в компактной форме могут быть представлены только лишь стандартные преобразования типа сложения, вычитания, логические операции конъюнкции и дизъюнкции, отрицания и немногие другие простейшие операции. Вместе с тем при составлении микропрограмм возникает необходимость использования сложных многоступенчатых преобразований машинных слов, в которых сами преобразования носят логический характер.
Включение в текст микропрограмм многоступенных логических преобразований нарушает стройность и четкость микропрограмм, поэтому сложные операционные элементы комбинационного типа предлагается описывать с помощью так называемых внешних определений, которые позволяют расширить список операций языков ЯООС и ЯРП комбинационного типа.
Эти определения по своей структуре напоминают микропрограммы и также содержат три части: заголовок, описание переменных и тело определения.
Заголовок определения начинается ключевым словом ОПЕРАТОР, далее следует символическое обозначение определяемого оператора в той форме, которая может быть удобна для использования в правых частях предложений присваивания в операционных микрооперациях. Описание переменных производится аналогично описанию переменных в микропрограммах. Тело определения содержит совокупность логических преобразований, однозначно описывающих содержание определяемого оператора.
1.3. ЭКВИВАЛЕНТНЫЕ ПРЕОБРАЗОВАНИЯ МИКРОПРОГРАММ
1.3.1. Назначение эквивалентных преобразований микропрограмм
При построении ОУ стремятся к некоторому оптимальному, с точки зрения разработчика, техническому решению. Оптимальность может проявляться в уменьшении количества операционных элементов, сокращении их размеров (разрядности), упрощении связи между ними, использовании стандартных структур, увеличении регулярности в построении устройства, использовании укрупненной элементной базы (БИС, СБИС).
Основные вопросы оптимальности построения ОУ решаются на этапе составления алгоритма его функционирования путем использования стандартных или специализированных процедур преобразования оперативной информации, выбора элементной базы и выявления соотношений между комбинационными и регистровыми преобразованиями.
Дальнейшую оптимизацию ОУ можно производить на уровне его микропрограммы, которая является выражением решающего алгоритма операции в терминах составляющих ОУ операционных элементов.
Естественно предположить, что между микропрограммой и техническим решением имеется определенная связь: изменения в микропрограмме приводят к изменениям технического решения.
Другими словами, поиск оптимального технического решения может производиться на уровне микропрограммы путем ее эквивалентного преобразования. С подобными идеями приходилось встречаться и ранее. Так, построение оптимальных комбинационных схем было связано с минимизацией логических выражений, построение оптимальных автоматов - с минимизацией числа внутренних состояний, выбором типа триггера, оптимизацией логических схем формирования функций возбуждения и функций выхода.
Ниже рассмотрим некоторые эквивалентные преобразования микропрограмм, способствующие оптимизации построения проектируемого ОУ.
1.3.2. Преобразования микроопераций операционного типа
Как было указано ранее, при записи алгоритма на языке ЯРП каждую микрооперацию рекомендуется записывать в отдельную строчку. Это соответствует предположению, что реализация решающего алгоритма осуществляется путем последовательного выполнения микроопераций либо в порядке их записи в микропрограмме, либо в порядке, измененном воздействием управляющих микроопераций. Однако при построении реальных устройств многие микрооперации могут выполняться параллельно, т.е. одновременно.
Если две или несколько микроопераций всегда выполняются одновременно, то они являются эквивалентными по отношению к единой микрокоманде, вызывающей их выполнение. Обязательными условиями эквивалентности являются:
-
Результат выполнения микрооперации не используется как операнд для выполнения эквивалентной ей микрооперации, т.е. микрооперация не содержит в себе цепочки последовательных вычислений. Это означает, что внутри некоторого сегмента микропрограммы эквивалентные микрооперации могут менять порядок своего следования.
-
Совокупность эквивалентных микроопераций всегда расположена между микрооперациями условной передачи управления.
-
В совокупности эквивалентных микроопераций передача управления может осуществляться только в начало (первой микрооперации).
Установление эквивалентности позволяет уменьшить количество микрокоманд (управляющих сигналов) и осуществить управление несколькими регистровыми ОЭ по одному проводу. Эквивалентные микрооперации записываются в одну строчку, для них генерируется единый управляющий сигнал. Имя этого сигнала (имя микрооперации) может строиться по именам составляющих его эквивалентных сигналов, однако допускается введение нового имени, желательно подчеркивающего факт эквивалентности.
Пусть следующие три микрооперации являются эквивалентными:
У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.3. Преобразование описаний комбинационных ОЭ
Описание межрегистровых комбинационных преобразований в ОУ существенно отличается от тех, с которыми приходилось иметь дело при синтезе классических комбинационных логических устройств. Это, с одной стороны, определяется укрупнением элементной базы (выражения преобразования должны рассматриваться в терминах этих укрупненных элементов), а, с другой,- разделением входных сигналов на группы по характеру их использования в комбинационном преобразовании (операционные сигналы, управляющие (коммутирующие) сигналы, вспомогательные сигналы признаков). Наиболее распространенными комбинационными преобразованиями являются те, в которых выходное слово формируется в двух или более вариантах, определяемых значением некоторого набора признаков. Операционное описание такого преобразования может быть выражено в виде предложения, описывающего мультиплексирование результатов многовариантного преобразования при помощи набора коммутирующих сигналов:
У = Y1 & у1 + Y2 & у2 + ... + УN & уN,