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




 

При горизонтальном микропрограммировании (рис.2.1) каждому разряду операционной части микрокоманды ставится в соответствие определённый управляющий функциональный сигнал, то есть определённая микрооперация. При таком микропрограммировании операционная часть содержит m разрядов (m - общее число микроопераций).

 

Рис. 2.1. Горизонтальное микропрограммирование

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

 

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

 

При вертикальном микропрограммировании (рис.2.2) микрооперация определяется двоичным кодом, содержащимся в операционной части микрокоманды. Количество разрядов операционной части - mo = int (log2m).

Рис.2.2. Вертикальное микропрограммирование

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

 

Пример. Пустьмикропрограмма выполнения операции содержит 22 различных микроопераций. В алгоритме выполнения операции на определенном шаге возможно одновременное выполнение 4 микроопераций. При вертикальном микропрограммировании будет выделено 5 битов (int (log222)=5) в операционной части микрокоманды. Микропрограммирование будет заключаться в указании двоичного кода микрооперации. В микрокоманде будет указана только одна микрооперация.

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

Микрооперации внутри каждой группы кодируются либо горизонтальным, либо вертикальным методом. Можно выделить два способа: горизонтально-вертикальный и вертикально-горизонтальный.

 

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

 

Рис. 2.3. Горизонтально-вертикальное микропрограммирование

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

 

Пример. Пустьмикропрограмма выполнения операции содержит 22 различных микроопераций. В алгоритме выполнения операции возможно одновременное выполнение 4 микроопераций. Все множество микроопераций необходимо разбить на 4 подмножества. Одновременно выполняемые микрооперации микрокоманды размещаются в разные группы. Микрооперации внутри группы кодируются двоичным кодом. Для данного примера при горизонтально-вертикальном способе выделим 4 группы (зоны) в микрокоманде. Если в микрокоманде можно выполнить несколько микроопераций, то в соответствующих полях будут запрограммированы двоичные коды микроопераций данной группы.

 

При вертикально - горизонтальном микропрограммировании (рис.2.4) подмножества микроопераций (номер группы) кодируются вертикально, а микрооперации внутри группы кодируются горизонтально.

Рис. 2.4. Вертикально-горизонтальное микропрограммирование

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

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

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

 

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

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

 

Адресация микрокоманд

 

При принудительной адресации в каждой микрокоманде содержится операционная и адресная части. Если микрокоманда не изменяет линейного порядка микрокоманд, то в операционной части указаны микрооперации, в адресной части поле логических условий пусто и указан только один адрес следующей микрокоманды. Если микрокоманда изменяет линейный порядок микрокоманд, то наряду с микрооперациями в поле U’ содержится код логического условия и указываются два адреса. Условно можно принять, что при подтверждении проверяемого условия адрес следующей микрокоманды определяется полем адреса А1, а при невыполнении условия - адрес следующей микрокоманды определяется полем адреса А0.

Схемная реализация автомата с принудительной адресацией показана на рис.2.5.

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

Рис. 2.5. Автомат с принудительной адресацией

условия выход элемента НЕ разрешает поступление адреса А0 в РгА.Таким образом происходит формирование адреса следующей микрокоманды. Синхронизацию чтения следующей микро-команды из памяти можно определить выбором максимального из времени выполнения микрокоманды в операционном блоке и времени формирования адреса микрокоманды в автомате.

 

При естественной адресации используются микрокоманды двух типов: операционная и управляющая. В микрокоманду вводится бит признака Р микрокоманды. В структуре операционной микрокоманды (Р=0) нет адресного поля, указаны только микрооперации. По умолчанию адрес следующей микрокоманды образуется инкрементированием адреса текущей микрокоманды – СчА:=СчА+1. Управляющая микрокоманда (Р=1) изменяет линейный порядок следования микрокоманд. В управляющей микрокоманде содержится код логического условия U’и адрес следующей микрокоманды. При выполнении условия в счетчик адреса заносится адрес следующей микрокоманды - СчА:=В. При невыполнении условия адрес следующей микрокоманды образуется инкрементированием адреса текущей микрокоманды - СчА:=СчА+1. Схемная реализация автомата с естественной адресацией показана на рис. 2.6. На схеме не представлена обработка операционной части микрокоманды.

 

Рис. 2.6. Автомат с естественной адресацией

 

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

 

Задание к работе

 

Оценить емкость (количество микрокоманд и разрядность микрокоманды) микропрограммного устройства управления арифметическими операциями.

 

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

Варианты задаются преподавателем индивидуально.

 

Исходными данными для проектирования МПУУ являются:

алгоритмы выполнения операций, реализуемых АЛУ;

перечень состава и типов управляющих сигналов, необходимых для функционирования АЛУ;

список логических условий, анализ которых предусмотрен в алгоритмах.

 

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

 

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

 

Необобщенная граф-схема предполагает несколько точек входа в микропрограммы. Для каждой арифметической операции формируется начальный адрес памяти микропрограммы выполнения операции.

 

Методические указания

 

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

1. Для заданного списка арифметических операций выбрать граф-схему выполнения операций:

а) на основе алгоритмов выполнения операций определить число функциональных сигналов-микроопераций;

б) определить частоту однотипных микроопераций и блоков однотипных микроопераций в различных операциях;

в) на основе анализа частоты выбрать граф-схему выполнения операций (обобщенную или необобщенную);

г) определить число логических условий в каждом алгоритме выполнения операций;

д) в обобщенной граф-схеме определить число логических условий и дополнительное число условий ветвления для выполнения микроопераций заданной извне операции.

 

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

 

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

 

4. При горизонтально - вертикальном микропрограммировании определить:

а) число групп, которое определяется оптимальным количеством одновременно выполняемых микроопераций (число групп определяет число полей микрокоманды – число дешифраторов);

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

в) определить разрядность каждой группы при вертикальном кодировании. Определить тип дешифратора (полный, неполный) для каждой группы;

г) определить разрядность операционной части микрокоманды для всех групп при полевой структуре микрокоманды;

д) нарисовать схему реализации дешифрирования управляющих сигналов при горизонтально-вертикальном кодировании.

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

 

5. При вертикально - горизонтальном микро­программировании определить:

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

б) определить возможные сочетания микроопераций и разрядность, соответствующую максимальному числу микроопераций в группе;

в) число групп, которое определяется совокупностью микроопераций списка операций;

г) определить разрядность вертикального кодирования числа групп;

д) определить разрядность операционной части микрокоманды при горизонтальном кодировании микроопераций в группе и вертикальном кодировании номера группы;

е) определить тип дешифратора (полный, неполный), количество и разрядность комбинационных схем, необходимых для формирования управляющих сигналов для АЛУ. Реализовать схему.

 

6. Определить разрядность адресной части микрокоманды при принудительной адресации микрокоманд:

а) для каждого метода формирования управляющих сигналов написать микропрограммы выполнения выбранной граф-схемы операций;

б) из анализа совокупности логических условий уточнить число логических условий в микропрограмме для выбранной граф-схемы операций;

в) определить, необходимо ли кодирование логических условий. При кодировании определить тип дешифратора. Определить число логических элементов И для проверки выполнения логических условий;

в) на основе анализа числа микрокоманд микропрограммы определить разрядность адресной части микрокоманды при принудительной адресации;

г) определить разрядность регистра адреса следующей микрокоманды и схему засылки адреса от двух источников;

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

 

7. Определить разрядность адресной части микрокоманды при естественной адресации микрокоманд:

а) определить количество и разрядность операционных микрокоманд;

б) из анализа алгоритма уточнить количество логических условий и число управляющих микрокоманд. Дополнительно ввести логические условия безусловных переходов и конца операций;

в) для каждого метода формирования управляющих сигналов написать микропрограммы выполнения выбранной граф-схемы алгоритма операций;

г) определить разрядность поля логических условий и разрядность поля адреса управляющей микрокоманды;

д) из анализа разрядностей операционных и управляющих микрокоманд выбрать разрядность микрокоманды при естественной адресации;

е) для операционных микрокоманд определить схему инкремента счетчика адреса для выборки следующей микрокоманды;

ж) для управляющих микрокоманд определить схему засылки адреса при выполнении условия и схему инкремента счетчика адреса следующей микрокоманды при невыполнении условия.

 

8. Для каждого метода формирования микроопераций и способа адресации оценить емкость микропрограммного устройства управления:

а) на основе разработанных форматов операционной и адресной частей микрокоманды определить формат микрокоманды - её разрядность n;

б) определить число микрокоманд - М для выполнения заданного списка операций;

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

 

 

Содержание отчета

 

1. Титульный лист.

2. Словесная постановка задачи.

3. Алгоритм выполнения операций.

4. Микропрограмму (микропрограммы) для каждого метода формирования управляющих сигналов и способа адресации.

5. Для каждой микропрограммы привести формат микрокоманды - разрядность микрокоманды n и число микрокоманд М.

6. Привести схемные реализации микропрограммных устройств управления для каждой микропрограммы. На схеме показать разрядность операционной и адресной частей микрокоманды.

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

8. Составить таблицу оценки емкости МПУУ. В таблице емкость V = n *М записать в виде сомножителей. Таблицу оформить в следующем виде:

 

Метод формирования управляющих сигналов Способ адресации
Принудительная адресация V = n *М Естественная адресация V = n *М
Горизонтальное микро-программирование    
Вертикальное микропрограммирование    
Горизонтально - вертикальное микропрограммирование    
Вертикально - горизонтальное микропрограммирование    

Список литературы

1. Каган Б.М. Электронные вычислительные машины и системы: Учеб. пособие для вузов. - 2-е изд., перераб. и доп.-М.: Энергоатомиздат.-1985.

2. Майоров С. А., Новиков Г. И. Принципы организации цифровых машин.-Л.:Машиностроение.-1974.

3. Угрюмов Е. П. Проектирование элементов и узлов ЭВМ. Учеб. пособие для спец. ЭВМ вузов.- М.: Высшая школа.- 1986.

 

 


 

ОЦЕНКА ЕМКОСТИ МИКРОПРОГРАММНОГО

УСТРОЙСТВА УПРАВЛЕНИЯ

 

Методические указания к выполнению самостоятельной расчётной работы по дисциплине "Теория проектирования ЭВМ" для студентов специальности 220100 "Вычислительные машины, комплексы, системы и сети"



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-10-21 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: