Язык микроопераций для представления алгоритмов выполнения арифметических операций
Язык микроопераций (ЯМ) предназначен для описания функционирования цифровых устройств на уровне компонент: регистров, счетчиков, сумматоров. Он представляет собой соглашения по простому и наглядному описанию кодов, регистров, шин массивов данных в памяти и микрокоманд.
Описание кода, регистров и шин. Описание кода (числа, микрокоманды), регистра и шин (совокупности линий для передачи кодов или сигналов, объединенных общим функциональным назначением) содержит название и разрядный указатель. Название – это набор букв и цифр, начинающийся с буквы. Разрядный указатель – это указатель номеров разрядов кода, регистра или шины. Указатель разрядов в названии может опускаться, если это не приводит к разночтению.
Например:
· код Х= х0, … хi, … хn, Х [0÷n], где хi – двоичные разряды,
· регистр команд РегК [0÷31],
· поле регистра команд РегК [0÷7] или РегК [КОп],
· шина данных ШД [0÷31].
Описание массива данных в памяти
Массив данных одинаковой длины определяется двумя параметрами: количеством элементов и разрядностью элементов. В соответствии с этим, разрядный указатель должен указывать размерность массива: количество строк и количество разрядов.
Например:
- страница данных в оперативной памяти: СтОП [0÷4095, 0÷31],
- i-ый элемент массива (слово) в массиве: СтОП [i, 0÷31],
- j-ый столбец в массиве СтОП [0÷4095, j].
Описание микрооперации.
Микрооперации осуществляют элементарные операции над данными. Это может быть передача слова в регистр, инвертирование разрядов, сдвиг слова, составление слова. Микрооперация описывается микрооператором и может сопровождаться меткой.
Для примера рассмотрим схему получения суммы двух операндов, принятых на входные регистры РегА и РегВ с записью результата в регистр РегС. Два варианта структурных схем операционной части представлены на рис. 6.2. (рис. 6.2 a и b). Здесь используется более наглядная структурная схема, которая часто применяется на начальных этапах проектирования. Элементарные элементы в структурных схемах располагаются горизонтально, так чтобы информация передавалась, по возможности, или сверху вниз или снизу вверх.
Структурные схемы на рис.6.2 отличаются тем, что на схеме ауказаны номера разрядов регистров (РегА, РегВ, РегС) и сумматора (SM), с которых передается и на которые принимается информация при выполнении микрооперации. Кроме этого, на схемах а и b по-разному указана точка управления для сигнала Y, по которому производится передача суммы с выхода сумматора SMна входы регистра РегС. На схеме b разрядные вентили обозначены в виде окружностей на шине передачи данных с выхода сумматора. На схеме a точка управления указана в виде вертикальной черты в правом верхнем углу обозначения принимающего регистра (РегС).
Рис. 6.2 Структурная схема сложения двух операндов
Для обеих схем микрооператор, соответствующий управляющему сигналу Y, может быть представлен как:
Y: РегС [0 ÷n] = РегА [0 ÷n] + РегВ [0 ÷n]
или проще, как:
Y: РегС = SM (передача сигналов с выхода сумматора на регистр РегС).
Первая запись понятна и без схемы операционной части. Она может использоваться для записи микропрограммы до составления структурной схемы ОЧ. Вторая запись является приложением к структурной схеме и используется для проектирования УЧ.
Очень часто приходится передавать в регистр информацию с отдельных участков одного или разных регистров. При этом используется конкатенация или составление слова. Знаком операции конкатенации является вертикальная черта.
Примером может служить операция обмена тетрад в однобайтовом регистре:
SW: РегА [0 ÷ 7] := РегА [4 ÷ 7|0 ÷ 3].
Другим примером может служить операция сдвига в регистре, например, на один разряд вправо с дублирование старшего разряда:
R: РегА [0 ÷ 7] := РегА [0|0 ÷ 6]
Для задания большинства сдвигов используются сокращенные формы записей:
СдвАП(N) – сдвиг арифметический вправо на N разрядов.
СдвАЛ(N) – сдвиг арифметический влево на N разрядов.
Аналогично записываются сдвиги логические Л и циклические Ц.
Для записи микропрограмм в язык микроопераций введены микрооперации перехода на метку (идти к М ) и микрооператоры условного перехода (если х=0 то РегА:=РегВ иначе РегА:=РегС).
При проектировании АЛУ обычно используют запись МП в виде графа, отдельные вершины которого соответствуют микрокомандам.
Граф МП – это совокупность вершин четырех видов и однонаправленных связей между ними:
1. Начальная вершина имеет только один выход и определяет начало работы МП.
2. Конечная вершина может иметь любое количество входов и определяет окончание работы МП.
3. Операторная вершина может иметь любое количество входов и один выход. Она определяет микрокоманду (МК: Y := {y1, y2, … yi, … yn, ), выполняемую в текущем такте.
4. Вершина проверки условий (условная вершина) может иметь любое количество входов и не менее двух выходов, в зависимости от количества альтернатив условия. Она проверяет выполняемость условия ветвления МП для текущего такта (Х≥0), передает управление МК одной из операторных вершин или конечной, по результатам проверки условия перехода. и по результатам проверки условия перехода передает управление МК одной из операторных вершин или конечной.
5.
Основные требования к графу МП.
1. В графе МП должна быть только одна начальная и только одна конечная вершины.
2. Для каждой вершины в графе МП должен быть хотя бы один путь, ведущий к конечной вершине.
3. Выход каждой вершины в графе МП должен соединяться только с одним входом другой вершины.
4. Вход каждой вершины должен быть соединен, по крайней мере, с одним выходом другой вершины.
5. Граф МП должен сопровождаться схемой выполнения операции, например структурной. В схеме выполнения операции должны быть указаны основные функциональные элементы, управляемые точки и связи между ними.
Вопросы для самопроверки.
1. Определите основные компоненты АЛУ.
2. Определите точки управления в составе операционной части (название, функционирование).
3. Определите понятие микрооперации и назовите примеры микроопераций.
4. Определите понятие микрокоманды.
5. Определите понятие микропрограммы.
6. Определите устройство формирования и устройство использования микроопераций.
7. Определите устройство формирования и место использования оповещающих сигналов (сигналов условий).
8. Определите язык микроопераций (ЯМ).
9. Приведите пример описания шины, регистра, массива данных на языке микроопераций.
10. Приведите пример действия микрокоманды над содержимом регистра.
11. Приведите фрагмент структурной схемы, включающий точку управления (применения микрооперации).
12. Приведите пример начертания блок-схемы и графа микропрограммы.
13. Определите основные требования к графу микропрограммы.
Дата добавления: 2022-02-05; просмотров: 287;