ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.12.2021
Просмотров: 5270
Скачиваний: 8
Микрооперации и микропрограммы
адреса памяти, преобразующим поступивший из РАП адрес ячейки в разрешающие
сигналы, подаваемые в горизонтальную и вертикальную линии, на пересечении
которых расположена адресуемая ячейка. При современной емкости ОП для реа-
лизации данных сигналов
использовать несколько микросхем запо-
минающих устройств (ЗУ). В этих условиях процесс обращения к ячейке состоит
из выбора нужной микросхемы (на основании старших разрядов адреса) и выбора
ячейки внутри микросхемы (определяется младшими разрядами адреса). Первая часть
процедуры производится внешними схемами, а вторая — внутри микросхем ЗУ.
Модуль ввода/вывода
Структура приведенного
рис.
модуля ввода/вывода
(МВБ) обеспечивает толь-
ко пояснение логики работы ВМ. В реальных ВМ реализация этого устройства
машины может существенно отличаться от рассматриваемой. Задачей
явля-
ется обеспечение подключения к ВМ различных периферийных устройств (ПУ)
и обмена информацией с ними. В рассматриваемом варианте МВВ состоит из де-
шифратора номера порта ввода/вывода, множества портов ввода и множества пор-
тов вывода.
Порты ввода и порты
Портом называют схему, ответственную за передачу информации из периферий-
ного устройства ввода в аккумулятор АЛУ (порт ввода) или
аккумулятора на
периферийное устройство вывода (порт вывода). Схема обеспечивает электричес-
кое и логическое сопряжение ВМ с подключенным к нему периферийным устрой-
ством.
Дешифратор номера порта ввода/вывода
В модуле ввода/вывода рассматриваемой ВМ предполагается, что каждое ПУ под-
ключается к своему порту. Каждый порт имеет уникальный номер, который указы-
вается в адресной части команд ввода/вывода.
Дешифратор номера порта ввода/
вывода
(ДВВ) обеспечивает преобразование номера порта в сигнал, разрешающий
операцию ввода или вывода на соответствующем порте. Непосредственно ввод
(вывод) происходит при поступлении из МПА сигнала Bв (Выв).
Микрооперации и микропрограммы
Для пояснения логики функционирования ВМ ее целесообразно
в
виде совокупности узлов, связанных между собой коммуникационной сетью (рис. 3.2).
Процесс функционирования вычислительной машины состоит из последова-
тельности пересылок информации между ее узлами и
действий,
выполняемых в узлах. Понятие
здесь трактуется весьма широко: от регистра
до
или основной памяти. Также широко следует понимать и термин «элемен-
тарное действие». Это может быть установка регистра в некоторое состояние или
выполнение операции в АЛУ. Любое элементарное действие производится
поступлении соответствующего сигнала управления (СУ) из микропрограммного
автомата устройства управления. Возможная частота формирования сигналов на
Глава 3. Функциональная организация фон-неймановской ВМ
Рис.
3.2.
машина с позиций микроопераций и сигналов управления
выходе автомата определяется синхронизирующими импульсами, поступающими
от генератора тактовых импульсов (ГТИ). Элементарные пересылки или преобра-
зования информации, выполняемые в течение одного такта сигналов синхрониза-
ции, называются
микрооперациями.
В течение одного такта могут одновременно
выполняться несколько микроопераций. Совокупность сигналов управления, вы-
зывающих микрооперации, выполняемые в одном такте, называют
микрокоман-
дой.
Относительно сложные действия, осуществляемые вычислительной машиной
в процессе ее работы, реализуются как последовательность микроопераций и мо-
гут быть заданы последовательностью микрокоманд, называемой
мой.
Реализует микропрограмму, то
вырабатывает управляющие сигналы, за-
даваемые ее микрокомандами,
микропрограммный автомат
(МПА).
Способы записи микропрограмм
Для записи микропрограмм в компактной форме используются граф-схемы алго-
ритмов и языки микропрограммирования.
Граф-схемы алгоритмов
Граф-схема алгоритма
имеет вид ориентированного графа. При построе-
нии графа оперируют пятью типами вершин (рис. 3.3).
Начальная вершина
рис. 3.3,
а)
определяет начало микропрограммы не имеет
входов. Конечная вершина (см. рис. 3.3,
указывает конец микропрограммы, по-
Микрооперации и микропрограммы
этому имеет только вход. В операторную вершину (см. рис. 3.3, в) вписывают мик-
рооперации, выполняемые в течение одного машинного такта. С вершиной связа-
ны один вход и один выход. Условная* вершина (см. рис. 3.3,
г)
используется для
ветвления вычислительного процесса. Она имеет один вход и два выхода, соответ-
ствующие позитивному
и негативному («Нет») исходам проверки усло-
вия, записанного в вершине. С помощью ждущей вершины (см. рис. 3.3,
д)
можно
описывать ожидание в
устройств. В этом случае выход «Да» соответствует
снятию причины, вызвавшей ожидание.
Граф-схемы алгоритмов составляются в соответствии со следующими
лами:
ГСА должна содержать одну начальную, одну конечную и конечное множество
операторных и условных
2. Каждый выход вершины ГСА соединяется только с одним входом.
3. Входы и выходы различных вершин соединяются дугами, направленными от
выхода к входу.
4. Для любой вершины ГСА существует, по крайней мере, один путь из этой вер-
шины к конечной вершине, проходящий через операторные и условные верши-
ны в направлении соединяющих их дуг.
5. В каждой операторной вершине записываются микрооперации соответству-
ющие одной микрокоманде
6. В каждой условной вершине записывается один из элементов множества логи-
ческих условий
х.
7. Начальной вершине ставится в соответствие фиктивный оператор
у
0
а конеч-
ной — фиктивный оператор
На рис. 3.4 показан пример микропрограммы,
записанной на языке ГСА.
3.4:
граф-схемы микропрограммы
Глава 3. Функциональная организация фон-неймановской ВМ
В примере микрокоманда
инициирует
y
1
микрокоманда
—
микрооперацию
Y
3
микрооперации
у
4
,
и
Языки микропрограммирования
Для детализированного задания микропрограмм используют языки микропро-
граммирования.
Языки микропрограммирования
(ЯМП) обеспечивают описание
функционирования ВМ в терминах микроопераций.
Если средства языка ориентированы на запись микропрограммы без привязки
к конкретным структурам для реализации этой микропрограммы, то такой ЯМП
называют
языком функционального микропрограммирования,
а соответствующие
микропрограммы —
функциональными микропрограммами
Функциональная
микропрограмма используется как исходная форма для описания функциониро-
вания
В случае когда средства языка нацелены на описание микропрограмм, привя-
занных к конкретной реализующей их структуре, ЯМП называют
языком струк-
турно -функционального микропрограммирования.
В последующих разделах для описания функционирования ВМ будет исполь-
зоваться именно язык микропрограммирования, а конкретно вариант ЯМП, пред-
ложенный в [25]. Ниже рассматриваются основные средства языка.
Описание слов, шин, регистров
Основным элементом данных, с которым оперирует микропрограмма, является
Описание слова состоит из названия (идентификатора) и разрядного указателя.
Идентификатором может быть произвольная последовательность букв и цифр,
начинающаяся с буквы. Разрядный указатель состоит из номеров старшего и млад-
шего разрядов слова, разделенных горизонтальной чертой (дефис). Номер стар-
шего разряда записывается слева от черты, а номер младшего — справа. Указатель
заключается в круглые скобки. Так, описание слова, представляющего 32-разряд-
ный адрес
=
а
31
,а
30
,...,
а
0
записывается в
Разрядный указатель
может опускаться, если это не вызывает недоразумений (например, если слово уже
было описано раньше).
В структуре вычислительной машины важную роль играют шины. Шиной на-
зывается совокупность цепей, используемых для передачи слов. Одна цепь обес-
печивает передачу бита информации. Описание шины, как и слова, состоит из иден-
тификатора и разрядного указателя. Например, описание 32-разрядной шины
адреса имеет
ША(31-0).
Описание регистра также включает в себя названия регистра и разрядного ука-
зателя. Приведем примеры. Так, пусть команда имеет длину 32 бита и состоит из
8-разрядного кода операции, 4-разрядного поля способа адресации и 20-разрядного
поля адреса. Тогда описание регистра команды выглядит следующим
а описания его отдельных элементов и соответственно полей команды
имеют вид: РК(31-24), РК(23-2О), РК(19-О). Вместо номеров разрядов в разрядном
указателе можно записывать наименование поля слова. Тогда два первых поля
регистра команды могут быть представлены так: РК(КОП), РК(СА).
Микрооперации и микропрограммы
Описание 32-разрядного регистра РПЗ для хранения чисел с плавающей запя-
той, где число состоит из трех полей: s (поле знака мантиссы, бит 31), р (поле по-
рядка, биты 30-23) и m (поле мантиссы, биты 22-0), задается в виде РПЗ(31 • 30-
-23
или
• р • m). Здесь точка обозначает операцию составления целого
слова из его частей.
Описание памяти, слова памяти
В самом общем виде описание памяти емкостью 1000 16-разрядных слов имеет
вид:
(15-0). Здесь ПАМ — стандартное название
Мы в даль-
нейшем будем использовать следующие идентификаторы памяти: ОП (основная
память), ОЗУ (модуль оперативного запоминающего устройства), ПЗУ (модуль
постоянного запоминающего устройства). В квадратных скобках записывается
адресный указатель (слева от двоеточия адрес первого, а справа — адрес последнего
слова памяти). Наконец, в круглые скобки заключается разрядный указатель сло-
ва (все слова памяти имеют одинаковую разрядность).
Примеры.
Описания модулей ОЗУ, содержащих по 1 Кбайт (1024 байта):
[0000:1023](7-0); 03У2[1024:2047](7-0).
Описания модулей ПЗУ, содержащих по 8192 32-разрядных слова:
ПЗУ1[000016:0FFF16](0-31),ПЗУ2[100016:lFFFl6](0-31).
Здесь адреса слов указаны в шестнадцатеричном коде, в каждом слове старший
разряд имеет номер 0, а младший —
Описание слова памяти поделено на
части: идентификатор области памяти
и адресный указатель слова (в квадратных скобках). Допускается символическая
запись адреса, а также косвенное указание адреса слова.
Примеры описаний слов памяти: 03У1[211], или
[Аисп], или 03У1[(РАП)], где
— символический
— косвенный адрес, значение которого содер-
жится в регистре РАП.
Описание микроопераций
Здесь под микрооперацией понимается элементарная функциональная операция,
выполняемая над словами под воздействием одного сигнала управления, который
вырабатывается устройством управления ВМ. В зависимости от количества пре-
образуемых слов (операндов)
одноместные, двухместные и трехмест-
ные микрооперации.
Описание микрооперации складывается из двух частей, разделяемых двоето-
чием
МЕТКА: МИКРООПЕРАТОР.
Метка — это обозначение сигнала управления, вызывающего выполнение мик-
рооперации. Метка принимает два значения: 1 — микрооперация выполняется, 0 —
не выполняется.
Микрооператор определяет содержимое производимого элементарного действия
(микрооперации).