Способы кодирования микроопераций и схемы формирования управляющих сигналов

Автор работы: Пользователь скрыл имя, 05 Ноября 2013 в 20:47, реферат

Краткое описание

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

Прикрепленные файлы: 1 файл

Способы кодирования микроопераций.docx

— 30.59 Кб (Скачать документ)

.Способы кодирования микроопераций

и схемы формирования управляющих  сигналов.

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

Разрядность операционной части  МК зависит не только от количества МО, управление которыми осуществляет МПУУ,но и от способа указания в операционной части набора управляющих сигналов (микроопераций),вырабатываемых при выполнении конкретной микрокоманды.Такие способы будем называть способами кодирования микроопераций.

Разрядность операционной части  МК определяет емкость ПЗУ,необходимую для хранения микропрограмм.Чем большее количество микрокоманд содержится в МП, которые реализует МПУУ,тем более значительной будет экономия емкости ПЗУ за счет уменьшения числа разрядов МК.

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

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

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

Существуют четыре основных способа кодирования микроопераций:

- унитарное кодирование  (иногда называемое горизонтальным  микропрограммированием);

- максимальное кодирование  (которое иначе называют вертикальным микропрограммированием);

- кодирование полей совместимых  микроопераций;

- кодирование совместимых  полей микроопераций. Два последних  способа являются промежуточными  вариантами между первыми. Унитарное кодирование микроопераций.При этом способе каждой мик-

рооперации yi,i=1,-n соответствует  отделный i-й разряд в операционной части микрокоманды. Единичное значение этого разряда указывает на то,что микрооперация yi выполняется при выполнении данной МК.И наоборот,если i-й разряд имеет нулевое значение,то микрооперация yi не вы-

полняется. Разрядность операционной части МК в этом случае максимальна  и равна количеству различных  микроопераций n.Гибкость микропрограммирования при данном способе кодирования также максимальна,так как в одной МК может быть задан произвольный набор МО.

рис.19.Схема формирования управляющих сигналов для способа  унитарного кодирования микроопераций.

Схема формирования управляющих  сигналов при унитарном кодировании не нужна и вырождается в набор вентилей по числу разрядов операционной части МК (регистра МК),как показано на рис.19.Назначение вентилей заключается в том, чтобы подать в процессор сигналы микроопераций в соответствующие моменты времени, поскольку цикл процессора может состоять из нескольких тактов.Для этой цели на вентили подаются тактирующие синхроимпульсы Tj,в те моменты времени,когда это необходимо,исходя из логики работы процессора.

В общем случае количество различных тактирующих синхроимпульсов p меньше количества различных микроопераций n,а сигналы на вы-

полнение микроопераций yi,и yi+1 не обязательно подаются в одном  и том же такте Tj,j=1,-p.Поэтому на рис.19 синхроимпульсы,поступающие на вентили различных МО,имеют индексы, совпадающие с символом,но не с  индексом микрооперации.Однако это не означает, что все синхроимпульсы поступают в различные моменты времени.В предельном случае они могут подаваться в одно и то же время.

Максимальное кодирование  микрокоманд (в данном случае следует  использовать термин <<микрокоманда>>,а  не <<микрооперация>>).Это такой способ кодирования,при котором каждый элемент (микрокоманда) wi всего множества W различных различным по задаваемым микрооперациям микрокоманд кодируется позиционным двоичным кодом - кодом МК (аналогично коду операции в команде).

рис.20.Схема  формирования  управляющих  сигналов  для

способа максимального кодирования  микрокоманд.

Разрядность кода МК при данном способе кодирования зависит  от количества различных микрокоманд N и равна int(log2N),где int(x) обозначено ближайшее большее целое,т.е.такое целое число,для которого выполняется соотношение x<=int(x)<x+1.Разрядность операционной части микрокоманды при таком кодировании минимальна.

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

Схема формирования управляющих  сигналов для рассматриваемого способа  представлена на рис.20.Каждый выход  дешифратора (если нет незадействованных кодов МК) соответствует определенной микрокоманде,т.е.определенному набору микроопераций,задаваемому этой МК.Шифратор имеет столько же входов,сколько дешифратор выходов,и преобразует поступающий на любой из его входов сигнал в набор сигналов соответствующих микроопераций.Учитывая,что в различных микрокомандах могут встречаться одинаковые микрооперации,шифратор функционально представляет собой набор схем ИЛИ по числу повторяющихся в различных МК микроопераций. Вентили на выходе шифратора используются для той же цели,что и в случае унитарного кодирования МО.

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

Кодирование полей совместимых  операций.При этом способе кодирования все множество микроопераций Y разбивается на несколько подмножеств Yj так,что в каждое из подмножеств входят микрооперации,не встречающиеся вместе ни в одной из микрокоманд МПУУ.Эти подмножества называют подмножествами совместимых МО.

Такое разбиение позволяет  закодировать МО каждого подмножества и исключает необходимость использования шифраторов.

Операционная часть МК при данном способе кодирования  разбивается на несколько подмножеств,и в каждом поле записывается код какой-либо из микрооперации (КМО) соответствующего подмножества.Разрядность b операционной части в этом случае определяется количеством полученных подмножеств L и количеством микроопераций в каждом из подмножеств

b=E..............(61  стр.)  где  [Yj]  -

мощность (количество микроопераций) подмножества Yj.Аргументом логарифма здесь является ([Yj]+1) вследствие того,что в каждое подмножество необходимо включить пустую микрооперацию (см.с.65).Разрядность операционной части при кодировании полей совместимых МО меньше,чем в случае унитарного кодирования,но больше,чем при максимальном кодировании.Анализируя гибкость микропрограммирования,можно отметить,что при данном способе кодирования микрокоманды могут включать не более L микроопераций - по одной из каждого подмножества.Сочетание МО,относящихся к различным подмножествам,в одной МК может быть произвольным.Схема формирования управляющих сигналов для рассматриваемого случая приведенана рис.21.Схема включает L дешифраторов кода микрооперации ДшКМО - по одному на каждую группу разрядов операционной части МК. Количество входов и выходов каждого ДшКМО определяется количеством МО,включенных в соответствующее подмножество.Индексы у микроопераций на рис.21 - буквенные, так как МО с соседними номерами не обязательно попадут в одно подмножество и микрооперации на схеме не будут упорядочены по своим номерам (индексам). Тактирующие синхросигналы для микроопераций одного и того же подмножества часто совпадают,хотя на приведенной схеме они показаны раздельными.

рис.21.Схема формирования управляющих сигналов для способа  кодирования полей совместимых операций.

рис.22.Схема формирования управляющих сигналов для способа  кодирования совместимых полей микроопераций.

В общем случае схема формирования управляющих сигналов для данного  способа проще,чем для максимального  кодирования.

Кодирование совместимых  полей микроопераций.При этом способе  кодирования все множество микроопераций Y разбивается на L' подмножеств Yj',j=1,-L' так,что на заданном множестве микрокоманд W каждая МО любого подмножества не встречается в одной микрокоманде ни с одной микрооперацией любого другого подмножества.Эти подмножества МО называют совместимыми (в отличие от подмножества совместимых МО в предыдущем способе кодирования).При таком разбиении микрооперации каждого подмножества кодируются унитарным кодом.

Операционная часть МК в этом случае делится на три поля.В  первом поле указывается номер подмножества.Это поле имеет b1=int(log2L') двоичных разрядов, а номер подмножества кодируется позиционным двоичным кодом.Второе поле имеет столько разрядов b2,сколько микроопераций содержит самое большое подмножество,

т.е.иb2=max[Yj'],где [Yj'] - мощность подмножества  Yj'.Каждый  разряд

этого поля соответствует  одной из микроопераций всех или  части подмножеств.Какую именно МО задает разряд,определяет код номера подмножества,указываемый в первом поле.

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

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

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

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

3.3.Методы кодирования  полей совместимых микроопераций.

Кодитрование микроопераций  имеет целью сокращение разрядности  операционной части микрокоманд  и за счет этого уменьшения объема ПЗУ,используемого для хранения микропрограмм.С точки зрения аппаратурных затрат влияние этого параметра на стоимость МПУУ является более значительным,чем сложность схемы формирования управляющих сигналов.Особенно это характерно при проектировании МПУУ на основе больших интегральных схем (БИС).В этом случае экономия даже одного разряда микрокоманды может привести к сокращению количества БИС постоянной памяти,тогда как экономия нескольких десятков комбинационных элементов в схеме формирования может не дать,в конечном счете,уменьшения числаконструктивных элементов устройства.

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

Заданы множества микроопераций Y=y1,y2,...,yn и микрокоманд W=w1,w2,...,wN,различающиеся  своей операционной частью.Требуется  построить набор подмножеств  МО У=Y1,Y2,...,YL таким образом,чтобы  выполнялись условия:

1) в каждое из подмножеств  входят только те микрооперации,которые не встречаются вместе ни в одной из микрокоманд множества W (т.е.так называемые совмемтимые микрооперации);

2) каждая из микроопераций  множества Y входит хотя бы  в одно из подмножеств Yj,и  только в это подмножество;

3) сумма разрядов,необходимых  для кодирования микроопераций  каждого подмножества позиционным  двоичным кодом (разрядность операционной части микрокоманды), минимальна.

Условие (2) можно записать в виде стр64

где L - количество построенных  подмножеств; условие (3) - стр65

где [Yj] - мощность (количество микроопераций) подмножества  Yj;int(x)

- ближайшее большее целое  к х.

В записи условия (3) аргумент логарифма представляет собой увеличенное  на единицу количество микроопераций  подмножества Yj.Увеличение производится для того,чтобы в каждое подмножество можно было включить и закодировать <<пустую>> микрооперацию,т.е.не задающую никаких действий.Если не предусмотреть этого,то будет невозможно записать микрокоманду,в которую не входит ни одна из микроопераций какого- либо одного или нескольких подмножеств.

Условием (1) вводитсссся отношеник S совместимости микроопераций,определяемое на заданном множестве микроопераций Y=y1,y2,...yn по заданному множеству микрокоманд W=w1,w2,...wN.Совместимыми называют такие микрооперации yi и yj, которые не встречаются вместе ни водной из микрокоманд заданного множества W. (В [8,9] совместимость микроопераций понимается в противоположном смысле,как совмещаемость или одновременное выполнение микроопераций в одной микрокоманде.)

Информация о работе Способы кодирования микроопераций и схемы формирования управляющих сигналов