Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Определение формата микрокоманды




Пример проектирования УАПЛ

Мы уже говорили, Что исходным для проектирования УА является микропрограмма, представленная, например, в форме ГСА. На рис. 4.14 изображена некоторая микропрограмма, которую мы будем считать исходной для проектирования нашего автомата.

Заметим, что на этапе проектирования управляющего автомата семантика ГСА не рассматривается; сейчас нас уже не интересует "правильность" микропрограммы относительно реализуемого алгоритма. Просто имеется син таксически правильно построенная ГСА и требуется разработать устройство, реализующее это поведение.

В качестве управляющего устройства будем проектировать управляющий микропрограммный автомат с программируемой логикой.

Общая структура такого устройства представлена на рис. 4.8. Исходя из описанных выше вариантов организации адресации и способов кодирования поля микроопераций, выберем естественную адресацию и смешанный способ кодирования микроопераций. Ограничимся единственным форматом микрокоманды.

(Страница117)

Рис 4.14. Исходная микропрограмма для проектирования автомата

На разрядность полей микрокоманды влияют следующие параметры:

□количество различных микроопераций, формируемых УА, в конечном итоге определяет (с учетом выбранного способа кодирования) длину поля микроопераций;

□ количество различных логических условий определяет длину поля x;

□ количество вершин ГСА связано с общим числом микрокоманд, а следовательно, с объемом памяти микропрограмм и разрядностью поля адреса микрокоманды.

Множество микроопераций Y, используемых в заданной ГСА Y= {y1, y2,...y13}, мощность множества .При горизонтальном кодировании поле микроопераций будет занимать 13 разрядов. Вертикальный способ кодирования микроопераций к заданной ГСА неприменим, поскольку ГСА содержит вершины с двумя и тремя микрооперациями. Попробуем реализовать разбиение множества Y на подмножества несовместимых микроопераций. Воспользуемся методом прямого включения, учитывая, что отношение совместимости задано на самой ГСА. Строго говоря, следовало бы построить матрицу совместимости микроопераций, но в рассматриваемом примере небольшой размер алгоритма позволяет определять отношение совместимости непосредственно по ГСА.

На сколько подмножеств следует разбивать исходное множество? По меньшей мере, на s=3 в нашем случае. Образуем три подмножества — Y 1, Y 2, Y3 и разместим в них микрооперации операторной вершины, имеющей s микроопераций. Если в ГСА таких вершин несколько — выберем любую из них.

Теперь разместим по множествам микрооперации следующей вершины, содержащей (в нашем случае) три микрооперации:

Заметим, что первая микрооперация второй рассматриваемой вершины совпадает с первой микрооперацией первой вершины. Она уже присутствует в множестве поэтому не включается вторично. Наконец, разместим микрооперации третьей "тройной" вершины:

Теперь нераспределенными остались микрооперации (некоторые) "двойных" и "одинарных" вершин. Вершина 2, у6) — обе микрооперации несовместимы с уже распределенными, поэтому могут располагаться произвольно, лишь бы они находились в разных подмножествах:

Вершина 2, у9)у9 нельзя помещать в Y1, поскольку совместимая с ней . Подмножества лучше заполнять равномерно, поэтому разместим у9 в Y 3:

Остались две нераспределенные микрооперации — y3 и y10, первая из которых совместима с у5, поэтому ее нельзя помещать в Y 2, а вторая несовместима ни с какими другими и может размещаться произвольно. Поместим их в множество, имеющее пока наименьшую мощность — Y1:

Все 13 микроопераций распределились по трем подмножествам, при этом выполняются условия (4.8) (т. е. имеет место разбиение исходного множества Y), однако УА обычно должен вырабатывать еще одну микрооперацию, свидетельствующую об окончании выполнения алгоритма и предназначенную для использования не в ОА, а в управляющем автомате верхнего уровня иерархии. Назовем эту микрооперацию ук и включим в произвольное множество (например, в Y2), поскольку она, естественно, несовместима ни с одной микрооперацией. Итак, имеем следующее распределение:

Для кодирования элементов каждого из трех подмножеств потребуется по три двоичных разряда. Может показаться, что для Y 3 хватит и двух, ведь однако следует учесть, что в каждом подмножестве необходимо предусмотреть один код для случая отсутствия микрооперации из этого подмножества в микрокоманде. Оптимальным разбиением исходного множества будет такое, когда где r— натуральное число.

В подмножестве Y3 всего одна "лишняя" микрооперация, а среди кодов Y1 и Y2 есть свободные. Попробуем перенести одну из микроопераций из Y3 в другое подмножество, сохраняя, естественно, требование к попарной несовместимости всех микроопераций одного подмножества. Очевидно, первые три элемента подмножества Y3 нельзя перенести в другое, т. к. они являются микрооперациями из "тройных" вершин. Зато микрооперация у9 совместима только с , поэтому у9 можно перенести в Y2. Окончательно получим, предварительно упорядочив элементы подмножеств в порядке возрастания индексов:

Теперь мы можем определить размеры полей микрокоманды. Поле микроопераций будет состоять из трех подполей — Y1, Y2, Y3 (назовем их по именам соответствующих подмножеств), размером в 3, 3 и 2 двоичных разрядов соответственно,

Поле номера условия x должно содержать номер одного из двух логических условий — х1, х2 (один разряд?), однако для повышения гибкости процесса микропрограммирования удобно иметь возможность выбирать еще и тождественно истинное и тождественно ложное условия. Итак, поле x занимает два разряда.

Наконец, поле адреса определяется объемом памяти микропрограмм. Если в нашем примере мы будем считать, что разрабатываем УА только для реали зации микропрограммы рис. 4.14, а она содержит 8 вершин, не считая начальной, конечной и условных, количество микрокоманд (каждая микрокоманда — ячейка памяти, имеющая свой адрес), выдаваемых УА, будет никак не менее 8, а реально — (1, 2,..., 1, 3)х8, то для поля адреса в микрокоманде следует отвести 4 разряда (24=16>1, 3х8≈11).

В поле адреса будет располагаться адрес памяти — двоичный номер ячейки, а в полях Yi и x — коды микроопераций и логических условий. Окончательно формат микрокоманды будет иметь вид, приведенный на рис. 4.15.

Рис. 4.15. Формат микрокоманды




Поделиться с друзьями:


Дата добавления: 2015-04-25; Просмотров: 1680; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.