Силин В.Б., Мельников Б.С. Операционный синтез цифровых устройств - файл n1.doc

Силин В.Б., Мельников Б.С. Операционный синтез цифровых устройств
скачать (742.5 kb.)
Доступные файлы (1):
n1.doc743kb.02.11.2012 23:17скачать

n1.doc

  1   2

МИНИСТЕРСТВО

ВЫСШЕГО И СРЕДНЕГО СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ СССР

МОСКОВСКИЙ

ОРДЕНА ЛЕНИНА И ОРДЕНА ОКТЯБРЬСКОЙ РЕВОЛЮЦИИ

АВИАЦИОННЫЙ ИНСТИТУТ имени СЕРГО ОРДЖОНИКИДЗЕ

В.Б. СИЛИН, Б.С. МЕЛЬНИКОВ, P.M. КОНДРАТЬЕВ

ОПЕРАЦИОННЫЙ СИНТЕЗ ЦИФРОВЫХ УСТРОЙСТВ

Учебное пособие

Утверждено

на заседании редсовета

26 апреля 1984 г.

МОСКВА 1985
681.142 (075) С 362

УДК: 681.32.066 (075.8)

Силин В.Б., Мельников Б.С., Кондратьев P.M. Операционный синтез цифровых устройств: Учебное пособие.- М.: МАИ, 1985.-55 с, ил.

Пособие предназначено для студентов факультета радиоэлек­троники летательных аппаратов специальности " Конструирование и производство электронной вычислительной аппаратуры. Оно также может быть полезно студентам других специальностей дневного отделения факультета.

Рецензент: Бигдай Л.К., Давидов П.Д.

(С) Московский авиационный институт, 1985 г.

ПРЕДИСЛОВИЕ

Учебным пособием по курсу "Электронные вычислительные устрой­ства", входящим в учебные планы по специальностям факультета ра­диоэлектроники летательных аппаратов МАИ, завершается изложение материалов по операционному синтезу цифровых устройств. В последнем пособии по этому курсу, вышедшем в 1982 г., был рассмотрен первый раздел операционного синтеза, посвященный операционным эле­ментам - структурному базису операционного синтеза. В настоящем пособии излагаются основы синтеза структурной и принципиальной схем операционного устройства, являющегося центральным ядром любых вычислительных структур, в том числе и входящих составной частью в радиоэлектронные комплексы. Синтез осуществляется по заданным алгоритмам функционирования операционных устройств. Изложение ма­териала ведется с привлечением современных формальных средств, позволяющих непосредственно переходить к автоматизированным про­цедурам проектирования.
Глава 1. АБСТРАКТНЫЙ СИНТЕЗ ОПЕРАЦИОННЫХ УСТРОЙСТВ

1.1. ОПЕРАЦИОННЫЕ УСТРОЙСТВА КАК ОБЪЕКТ ПРОЕКТИРОВАНИЯ
1.1.1. Назначение операционных устройств

Операционное устройство (ОУ) является важнейшей частью любой аппаратуры для переработки дискретной информации. Именно в ОУ реализуется основная функция цифровых вычислительных устройств - операционное преобразование информации. На основе общего принципа программного управления вычислительными устройствами эта обработ­ка осуществляется путем выполнения на каждом шаге реализуемого ал­горитма некоторой операции из фиксированного набора - системы опе­раций или команд данного вычислительного устройства. Операционные устройства универсальных ЭВМ пригодны для выполнения широкого на­бора самых разнообразных команд, при помощи которых возможно вы­полнение любых алгоритмов. Так, в ЭВМ EC-I таких команд - 143, в ЕС-2 - 179. В специализированных цифровых устройствах число раз­личных операций и соответствующих им команд может быть значитель­но меньше. В предельном случае для узко специализированных уст­ройств ОУ может быть рассчитано на выполнение одной единственной операции, как это имеет место в специализированных ОУ - цифровых фильтрах.

В соответствии с общим назначением операционного устройства в состав выполняемых в нем операций могут входить операции, раз­личающиеся содержанием (сложение, вычитание, умножение и пр.), ти­пом операндов (операнды с фиксированной и плавающей запятыми, де­сятичные операнды, операнды с различным числом разрядов и пр.), направлением перемещений результатов операций, типом признаков результата (больше-меньше нуля, равно нулю, переполнение и пр.). Широкий набор реализуемых операций обеспечивает удобство выполне­ния программ, однако требует значительных аппаратурных затрат.
1.1.2. Общая структура операционного устройства. В процессе развития методов проектирования, производства и эксплуатации ЭВУ сложились принципы рациональной организации струк­туры ОУ. Реализация этих принципов обеспечивает целый ряд удобств специалистам, связанным с различными этапами жизни ЭВУ. В конечном итоге это сказывается на качестве проектирования, производства и эксплуатации ЭВУ, понижает их стоимость, повышает функциональные возможности и надежность. Упомянутые принципы прежде всего можно представить - канонической структурой ОУ, изображенной на рис.1. ОУ состоит из двух основных частей - операционного и управляющего автоматов, между которыми и разделены все функции ОУ.



Рис. 1. Общая структурная схема операционного устройства

Операционный автомат предназначен для выполнения собственно преобразований информации. Он состоит из операционных элементов (ОЭ) автоматного (регистрового) и комбинационного типов, соединен­ных между собой управляемыми коммутируемыми связями. Общая конфи­гурация операционного автомата непосредственно определена соста­вом реализуемых в ОУ операций.

Управляющий автомат предназначен для выработки всей совокуп­ности управляющих сигналов, распределенных во времени и простран­стве, обеспечивающих необходимое управление всеми ОЭ операционно­го автомата и их связями. Каждая операция, предназначенная для вы­полнения в ОУ, распадается на последовательность элементарных ша­гов - микроопераций, выполняемых в операционном автомате с помощью управляющих сигналов - микрокоманд, в определенной последо­вательности вырабатываемых в управляющем автомате. Вся совокупность микрокоманд, необходимых для выполнения какой-либо операции в ОУ, называется микропрограммой. По этой причине управляющий автомат часто называют микропрограммным.

В процессе функционирования ОУ между его частями, а также между ОУ и внешней средой (другими устройствами ЭВУ или устройства­ми РЭА) происходит обмен различными информационными и управляющи­ми словами и сигналами, представленными на рис. 1. Входная опера­тивная информация из внешней среды поступает на операционный авто­мат и после соответствующей обработки в нем возвращается во внеш­нюю среду. Управляющая информация о конкретном типе выполняемой операции также из внешней среды подается в виде команды на управ­ляющий микропрограммный автомат, который по этому сигналу начина­ет вырабатывать соответствующую микропрограмму. Микрокоманды, свя­занные с управлением операционным автоматом, поступают на него из управляющего автомата. Обратно из операционного автомата в управ­ляющий подаются осведомительные сигналы, вырабатывающиеся в опера­ционном автомате при выполнении в ней некоторых микроопераций. Эти сигналы могут использоваться управляющим автоматом для измене­ния порядка следования микрокоманд микропрограммы.
1.1.3. Содержание синтеза операционных устройств

Синтез операционных устройств делится на два тесно связанных друг с другом этапа. На первом из них - этапе операционного синте­за - определяется собственно структура операционного устройства, т.е. состав ОЭ и связи между ними. На втором этапе - этапе логи­ческого синтеза - структура операционного устройства детализируется на логическом уровне. В связи с тем, что многие трудности реализа­ции ОУ определяются только на логическом уровне, приходится этап операционного синтеза производить повторно с учетом результатов логического синтеза. Поэтому в целом синтез операционного устрой­ства представляет собой итеративный процесс.

Обычно на этапе операционного синтеза решаются две основные задачи:

  1. определение набора микроопераций (набор типов ОЭ с их описаниями);

  2. построение общей структурной схемы операционного устрой­ства с детализацией до уровня ОЭ и их связей.

Перечисленные задачи в терминах теории автоматов могут рас­сматриваться как задачи абстрактного синтеза ОУ. Этот синтез в об­щем случав выполняется в следующем порядке:

  1. Из заданного набора операций выбирается такая операция, которая одновременно удовлетворяет критериям наибольшей сложности и наиболее частой повторяемости.

  2. Анализируются возможные алгоритмы реализации этой опера­ции с точки зрения аппаратных затрат, времени выполнения и степе­ни близости этих алгоритмов к алгоритмам других операций набора. Из всех рассмотренных алгоритмов выбирается тот, который наиболее полно отвечает указанным требованиям.

  1. Для выбранного алгоритма составляется микропрограмма, и на ее основе определяется структура операционного устройства.

  2. На основе полученной структуры ОУ записываются микропро­граммы всех остальных операций, при этом каждый раз структура ОУ дополняется ОЭ, необходимыми для новых микроопераций.

  3. Определяется полный набор микроопераций и на его основе полная структура ОУ.

Этап логического синтеза ОУ в терминах теории конечных авто­матов может быть назван этапом структурного синтеза. Его результа­ты могут потребовать значительной коррекции структуры ОУ, получен­ной на этапе абстрактного синтеза.

Перечисленные в общем виде этапы синтеза ОУ далее рассматри­ваются подробно.

1.2. ФОРМАЛЬНЫЕ СРЕДСТВА ОПИСАНИЯ ОПЕРАЦИОННЫХ УСТР0ЙСТВ

1.2.1. Общие требования к формальным средствам описания цифровых устройств

На всем протяжении развития цифровой вычислительной техники перед специалистами, работавшими в этой области, стояла задача разработки средств описания, которые могли бы быть использованы при проектировании, документировании и моделировании цифровой ап­паратуры. При этом также учитывались и потребности обучения моло­дых специалистов. В начале развития вычислительной техники единственным средством представления устройств было их схемное описа­ние. Затем стали использоваться логические диаграммы и булевы уравнения. Далее стали применять блок-схемы, временные диаграммы, диаграммы следования и другие типы графического и символического представлений. Недостатком всех этих представлений была необходимость дополнять ее подробным словесным описанием на естественном языке. Однако словесным описаниям присущи определенные недостатки -отсутствие формальной однозначности, стандартности и компактности. Формальные языки, лишенные таких недостатков, стали появляться уже в конце 50-х годов. К настоящему времени подобные языки получили наименование языков регистровых передач (ЯРП) [1, 2].

На развитие ЯРП большое влияние оказало интенсивное развитие языков программирования в силу определенного сходства объектов языка и их процедур. Последние выступали как законодатели норм и правил организации любых формальных языков. В настоящее время ЯРП применяются как для облегчения общения между специалистами, так и для проектирования, моделирования и документирования цифровых уст­ройств. Разработано и находит применение множество ЯРП, различаю­щихся но основному назначению (структурное описание, описание функционирования, моделирование и т.д.), глубине детализации, чис­лу уровней представления цифровых устройств, общей мощности и пр. В Советском Союзе широкое применение находят такие языки, как МОДИС-76 и ОСС-2 [3]. МОДИС-76 представляет собой многоуровневый язык моделирования цифровых устройств, ОСС-2, являясь мощным мно­гофункциональным языком, применяется в автоматизированном проекти­ровании ЭВМ. Среди аналоговых языков, используемых за рубежом, можно назвать CDL (Computer Design Language)[1] и DDL (Digital Design Language)[3]. Общее число ЯРП, практически применяющихся в настоящее время, составляет многие десятки.
1.2.2. Язык регистровых передач

Как было показано в работе [4, п. 1.4.1] , для выполнения операционным элементом всех его функций (запись, хранение и обра­ботка информации) он должен содержать две основные части: комби­национную (обрабатывающую) - в виде логической цепи и автоматную (запоминающую) - в виде регистра. В частных случаях при неполном выполнении упомянутых функций операционный элемент может быть представлен или комбинационной частью, или регистром.

В процессе функционирования операционного устройства обраба­тываемая информация под воздействием управляющих сигналов переда­ется от элемента к элементу. При этом собственно преобразования информации, как правило, выполняются в комбинационных цепях, а регистры обычно служат только для фиксации (записи и хранения) результатов преобразований. Иными словами, функционирование операционного устройства может рас сматриваться как процесс передачи информации из одних регистров в другие с промежуточным преобразо­ванием информации в комбинационных цепях. Тогда формальное пред­ставление этих процессов будет собственно описанием регистровых передач. Описание каждой конкретной передачи должно содержать в себе: исходный источник информации, т.е. исходный регистр; получа­тель информации, т.е. конечный регистр в данной передаче, а также описание связи между ними в виде соответствующего функционального преобразования, выполняемого в комбинационных цепях или в операци­онных элементах, входящих непосредственно в состав устройства. Сю­да входят исходный и конечный регистры или безрегистровый комбина­ционный операционный элемент.

Описание всей совокупности регистровых передач, выполняемых в некотором операционном устройстве, будет содержать в себе описа­ние всех регистров и всех связей между ними, а значит, будет пред­ставлять собой описание структуры операционного устройства на ре­гистровом уровне. Нетрудно видеть, что такое описание может быть получено на основе языка описания операционных схем (ЯООС) [4], средства которого достаточны как для описания регистров, так и всех преобразований в логических цепях. Очевидно, возможности это­го языка позволяют исчерпывающим образом описать структуру опера­ционной части уже существующего цифрового устройства, все элемен­ты которого и связи между ними полностью определены. Однако пока остается неопределенным процесс получения такого описания для еще не существующего проектируемого устройства, для которого сам выбор операционных компонентов и их связей является целью проектирова­ния.

Такой процесс может быть организован как процесс отображения алгоритма, реализуемого в проектируемом устройстве, на множества операционных элементов и видов их связей. Практически это означа­ет запись алгоритма в терминах операций и преобразований в доступ­ных операционных регистровых элементах или в специально синтезиру­емых операционных комбинационных элементах. Для обеспечения воз­можности такого отображения нужно иметь средства определения по­следовательности выполнения отдельных шагов алгоритма, необходимых разветвлений и организации циклических преобразований, словом, все средства управления ходом выполнения алгоритма. Очевидно, эти средства должны позволить описывать уже не только операционную, но и управляющую часть операционного устройства. Все это в целом ведет к необходимости расширения описанного ранее ЯООС путем вклю­чения в него средств, связанных с организацией управления. Такое расширение означает переход к более широкому языку, который на ос­нове содержания п.1.2.1 будем называть языком регистровых передач. Учебная версия этого языка будет рассмотрена ниже.
1.2.3. Учебный язык регистровых передач

Учебная версия ЯРП , используемая в настоящем пособии, предназначается прежде всего для иллюстрации перехода от описания алгоритма операции, которая должна быть реализована в проектируе­мом операционном устройстве, к структуре самого операционного уст­ройства. Как отмечалось в п. 1.2.2, эта версия ЯРП получается пу­тем определенного расширения ЯООС, описанного в работе [4] . Та­кое расширение позволит описать процесс выполнения заданной опера­ции через последовательность микроопераций, реализуемых на опера­ционных элементах, множество которых заранее определено. В таком случав можно говорить, что алгоритм операции описывается в терми­нах допустимых микроопераций. Расширение ЯООС. содержит определе­ния некоторых синтаксических конструкций и семантических отноше­ний. Все эти определения приводятся ниже.

  1. Предполагается, что проектируемое операционное устройство, которое должно выполнять заданную операцию, связано с внешней сре­дой (радиоэлектронной системой, вычислительным комплексом, объек­том управления и т.д..) некоторыми информационными шинами, которые во внешней среде начинаются или заканчиваются выходными или вход­ными регистрами. Одновременно к операционному устройству подхо­дят управляющие шины, по которым на него подаются общие тактирую­щие сигналы начала и завершения обработки оперативной информации. Все указанные элементы внешней среды - регистры и шины считаются заданными и соответственно формально описаны до начала проектиро­вания операционного устройства.

  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. Результат выполнения микрооперации не используется как операнд для выполнения эквивалентной ей микрооперации, т.е. микро­операция не содержит в себе цепочки последовательных вычислений. Это означает, что внутри некоторого сегмента микропрограммы экви­валентные микрооперации могут менять порядок своего следования.

  2. Совокупность эквивалентных микроопераций всегда расположе­на между микрооперациями условной передачи управления.

  3. В совокупности эквивалентных микроопераций передача управ­ления может осуществляться только в начало (первой микрооперации).

Установление эквивалентности позволяет уменьшить количество микрокоманд (управляющих сигналов) и осуществить управление не­сколькими регистровыми ОЭ по одному проводу. Эквивалентные микро­операции записываются в одну строчку, для них генерируется единый управляющий сигнал. Имя этого сигнала (имя микрооперации) может строиться по именам составляющих его эквивалентных сигналов, одна­ко допускается введение нового имени, желательно подчеркивающего факт эквивалентности.

Пусть следующие три микрооперации являются эквивалентными:

У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,

где Y1, Y2, ... , YN - функции преобразования входной информации в выходную;

у1, у2, ... уN - коммутирующие сигналы мультиплексора.

Для упрощения этого выражения можно рекомендовать две проце­дуры:

Действенность эквивалентных преобразований, приводящих к упро­щению структуры комбинационных ОЭ и устройств, будет в дальнейшем продемонстрирована на конкретных примерах.
Глава 2. СТРУКТУРНЫЙ СИНТЕЗ ОПЕРАЦИОННОЙ ЧАСТИ ОПЕРАЦИОННЫХ УСТРОЙСТВ

2.1. ПРЕДВАРИТЕЛЬНЫЕ ЗАМЕЧАНИЯ

Под структурным синтезом операционного устройства будем пони­мать построение реального цифрового устройства, реализующего за­данный алгоритм функционирования, выраженный в виде микропрограм­мы. При этом будем полагать, что такие вопросы, как разбиение ОУ на операционную и управляющую части, выделение оперативных, управ­ляющих и вспомогательных сигналов, выбор элементной базы уже реше­ны на этапе абстрактного синтеза операционного устройства.

Различают три задачи структурного синтеза ОУ:

  1. определение номенклатуры и количества операционных элемен­тов ОУ;

  2. организация связей между операционными элементами;

  3. построение управляющих устройств, генерирующих необходи­мые управляющие сигналы.

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

Полученное в результате структурного синтеза цифровое устрой­ство, несмотря на свою "принципиальную работоспособность", не всег­да удовлетворяет разработчика. Чаще всего это устройство оказывает­ся либо чрезмерно сложным (а следовательно, и дорогим), либо не­достаточно быстродействующим. В этом случае приходится возвращать­ся к абстрактному синтезу - изменять элементную базу и разрабаты­вать новые алгоритмы функционирования.
2.2. ОПРЕДЕЛЕНИЕ НОМЕНКЛАТУРЫ ОПЕРАЦИОННЫХ ЭЛЕМЕНТОВ

Нестандартное построение операционной части ОУ требует опре­деления номенклатуры составляющих ее операционных элементов. Для этого достаточно обратиться к той части микропрограммы, где в стро­ке ПЕРЕМЕННЫЕ ВНУТРЕННИЕ приводится список всех переменных, явля­ющихся выходными сигналами операционных элементов. Такими элемента­ми могут быть как регистровые устройства (статические и сдвигающие регистры, счетчики, накапливающие сумматоры, элементы памяти и дру­гие), так и комбинационные устройства, выполняющие операции межре­гистрового преобразования кодов. К ним могут относиться схемы уста­новления логических и арифметических отношений, комбинационные сум­маторы, комбинационные множительные устройства, арифметико-логичес­кие устройства (АЛУ), дешифраторы, программируемые матрицы и многие другие.

Вид операционного элемента может быть идентифицирован по име­ни переменной, его разрядность - по полю разрядности переменной. На этом этапе может быть определен набор интегральных схем, необ­ходимых для построения реального устройства. Для этого достаточно расчленить описание переменных на сегменты, разрядность которых совпадает с разрядностью используемых ИС и подсчитать их суммарное количество. Так, например, шестнадцатиразрядный сдвигающий регистр может быть построен на четырех ИС К155ИР1 или двух ИС К155ИР13, что следует из предложений операционного описания:

РЕГ{1:16} = РЕГ{1:4}.РЕГ{5:8}.РЕГ{9:12}.РЕГ{13:16}

РЕГ{1:16} = РЕГ{1:8}.РЕГ{9:16}

Здесь знак тождества устанавливает равнозначность описания выходного слова регистра; знак сцепления указывает, что отдельные ИС регистров связаны в единую структуру.
2.3. ОРГАНИЗАЦИЯ СВЯЗЕЙ МЕЖДУ ОПЕРАЦИОННЫМИ ЭЛЕМЕНТАМИ

Установление характера связей между операционными элементами и построение реальных шин связей базируется на правилах записи предложений операционного преобразования [4]. Напомним, что слева от знака присваивания помещается выходное слово операционного эле­мента, справа - входные слова и/или слово внутреннего состояния. Поскольку входное слово, если оно не описывает константу, формиру­ется некоторым другим операционным элементом (назовем его источни­ком), то каждое предложение операционного описания однозначно ука­зывает на связь описываемого операционного элемента (назовем его приемником) с операционным элементом-источником.

Рассмотрим предложение

УСМ : СМ{1:16} = СМ{1:16} + РЕГ1{1:16}

Оно описывает работу сумматора СМ, накапливающего коды, обозначае­мые как РЕГ1. Одновременно это предложение указывает, что для орга­низации накопления необходимо подключить выходы регистра РЕГ1 к информационным входам сумматора СМ, т.е. соединить эти операцион­ные элементы шестнадцатиразрядной шины связи.

Различают четыре вида связей: индивидуальные, разветвляющие­ся, соединяющиеся и магистральные.
2.3.1. Индивидуальная связь между операционными элементами

Индивидуальная связь применяется для передачи информации меж­ду двумя (и только двумя) операционными элементами, один из кото­рых является источником, а другой - приемником. В микропрограмме источник и приемник описываются лишь в одном предложении комбина­ционного или регистрового преобразования, что может быть использо­вано как признак индивидуальной связи.

Индивидуальная связь между сумматором СМ и регистром РЕГ1 изображена на рис. 2,а. Здесь шине связи присваивается имя источ­ника, т.е. регистра РЕГ1.

Рис. 2 Виды связей: а - индивидуальная; б - разветвляющаяся; в - соединительная; г - магистральная

2.3.2. Разветвляющаяся связь между операционными элементами

Разветвляющаяся связь применяется для передачи информации между одним источником и несколькими приемниками. Признаком развет­вляющейся связи является наличие в микропрограмме нескольких пред­ложений операционного описания с разными левыми частями и одинако­выми правыми, описывающими одно и то же выходное слово источника.

Например, предложения

УСМ: СМ{1:8} = СМ{1:8} + РЕГ2{1:8}

УЗАП: РЕГ5{1:8} = РЕГ2{1:8}

……………………………………………
  1   2


Учебный материал
© bib.convdocs.org
При копировании укажите ссылку.
обратиться к администрации