Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Архитектура ЭВМ и систем. Учебное пособие
.pdf
памятью микропрограмм (ПМК). Процесс формирования СУ можно
реализовать, последовательно (с каждым тактовым импульсом) извлекая микрокоманды микропрограммы из памяти и интерпретируя содержащуюся в них информацию о сигналах управления.
Идея заинтересовала многих конструкторов ВМ, но была нереализуема, поскольку требовала использования быстрой памяти относительно большой емкости. Вновь вернулись к ней
в 1964 году в ходе создания системы IBM 360. С тех пор устройства управления с программируемой логикой стали чрезвычайно популярными и были встроены во
многие ВМ. В этой связи следует упомянуть запатентованный академиком В.М. Глушковым принцип ступенчатого микропрограммирования,
который он впервые реализовал в машине «Проминь».
6.2.4. ПРИНЦИП УПРАВЛЕНИЯ ПО ХРАНИМОЙ В ПАМЯТИ
МИКРОПРОГРАММЕ
Отличительной особенностью микропрограммного автомата с
программируемой логикой является хранение микрокоманд в виде
кодов в специализированном запоминающем устройстве – памяти
микропрограмм. Каждой команде ВМ в этом ЗУ в явной форме соответствует микропрограмма, поэтому часто устройства управления, в
состав которых входит микропрограммный автомат с программируемой логикой, называют микропрограммными.
В составе узла присутствуют
: память микропрограмм (ПМП), регистр адреса микрокоманды (РАМ), регистр микрокоманды (РМК),
дешифратор микрокоманд (ДшМК), преобразователь кода операции,
формирователь адреса следующей микрокоманды (ФАСМ), формирователь синхроимпульсов (ФСИ).
Запуск микропрограммы выполнения операции осуществляется
путем передачи кода операции из РК на вход преобразователя, в котором код операции преобразуется в начальный (первый) адрес
микропрограммы Ан. Этот адрес поступает через ФАСМ в регистр адреса
микрокоманды. Выбранная по адресу Ан из ПМП микрокоманда заносится в РМК. Каждая микрокоманда в общем случае содержит микрооперационную (МО) и адресную (А) части. Микрооперационная часть
микрокоманды поступает на дешифратор микрокоманды, на выходе
которого образуются управляющие сигналы Сi, инициирующие
выполнение микроопераций в исполнительных устройствах и узлах ВМ.
Адресная часть микрокоманды подается в ФАСМ, где формируется
адрес следующей микрокоманды Амк. Этот адрес может зависеть от
адреса на выходе преобразователя кода операции Ан адресной части
текущей микрокоманды А и значений осведомительных сигналов
(флагов) X, поступающих от исполнительных устройств. Сформированный адрес
микрокоманды снова записывается в РАМ, и процесс
повторяется до окончания микропрограммы.
131

6.2.5. КОДИРОВАНИЕ МИКРОКОМАНД
Информация о том, какие сигналы управления должны быть
сформированы в процессе выполнения текущей МК, в закодированном
виде содержится в микрооперационной части (МО) микрокоманды.
Способ кодирования микроопераций во многом определяет сложность
аппаратных средств устройства управления и его скоростные характеристики. Применяемые в микрокомандах варианты кодирования сигналов управления можно свести к трем
группам: минимальное кодирование (горизонтальное микропрограммирование), максимальное кодирование (вертикальное микропрограммирование) и групповое кодирование (смешанное микропрограммирование).
При горизонтальном микропрограммировании под каждый сигнал управления в микрооперационной части микрокоманды выделен
один разряд (RMO = Ncy). Это позволяет в рамках одной микрокоманды формировать любые сочетания СУ, чем обеспечивается максимальный параллелизм выполнения микроопераций.
Кроме того, отсутствует необходимость в декодировании МО и выходы регистра микрокоманды могут быть непосредственно подключены к соответствующим управляемым точкам ВМ. Широкому распространению горизонтального микропрограммирования тем не менее препятствуют большие затраты на хранение микрооперационных частей микрокоманд
(Емо = NMK × Ncy), причем эффективность использования ПМП по-
лучается низкой, так
как при большом числе микроопераций в каждой
отдельной МК реализуется лишь одна или несколько из них, т.е. подавляющая часть разрядов МО содержит нули.
При максимальном (вертикальном) кодировании каждой микрооперации присваивается определенный код, например ее порядковый
номер в полном списке возможных микроопераций. Этот код и заносится в МО
. Такой способ кодирования требует минимальных аппаратных затрат в ПМП на хранение микрокоманд, однако возникает
необходимость в дешифраторе ДшМК, который должен преобразовать
код микрооперации в соответствующий сигнал управления. При большом количестве СУ дешифратор вносит значительную временную
задержку, а главное – в каждой МК указывается лишь один сигнал
управления, инициирующий только
одну микрооперацию, за счет чего
увеличиваются длина микропрограммы и время ее реализации.
Последний недостаток устраняется при подключении к выходам
ДшМК шифратора (Ш), что приводит к увеличению количества СУ,
формируемых одновременно. Естественно, что помимо кодов отдельных микроопераций должны быть предусмотрены коды, представляющие и определенные комбинации микроопераций. Для повышения
универсальности шифратор
целесообразно строить на базе запоми-
нающего устройства.
132

Верхний уровень управления образуют микропрограммы, хранящиеся в памяти микропрограмм. В микрокомандах используется вертикальное кодирование микроопераций. Каждой микрокоманде соответствует нанокоманда, хранящаяся в управляющей памяти нижнего
уровня – памяти нанокоманд. В нанокомандах применено горизонтальное кодирование микроопераций. Именно нанокоманды используются для непосредственного формирования сигналов управления.
Микрокоманды вместо закодированного номера СУ
содержат адрес-
ную ссылку на соответствующую нанокоманду.
Такой подход, сохраняя все достоинства горизонтального микропрограммирования, позволяет значительно сократить суммарную емкость управляющей памяти. Дело в том, что число различных сочетаний сигналов управления, а следовательно, количество «длинных»
нанокоманд, обычно невелико. В то же время практически все микрокоманды многократно повторяются
в различных микропрограммах, и
замена в микрокомандах «длинного» горизонтального управляющего
поля на короткую адресную ссылку дает ощутимый эффект.
6.2.6. ОБЕСПЕЧЕНИЕ ПОСЛЕДОВАТЕЛЬНОСТИ
ВЫПОЛНЕНИЯ МИКРОКОМАНД
Содержимое ПМП определяет последовательность микроопераций, которые должны выполняться на каждом этапе цикла команды, а
также последовательность этапов. Каждый этап представлен соответствующей микропрограммой. Микропрограммы завершаются микрокомандой перехода, определяющей последующие действия. В управляющей памяти имеется также специальная микропрограммапереключатель: в зависимости от текущего кода операции она указывает, этап
исполнения какой команды должен быть выполнен.
Большей частью микрокоманды в микропрограмме выполняются
последовательно, однако в общем случае очередность микроопераций
не является фиксированной. По этой причине в УУ необходимо предусмотреть эффективную систему реализации переходов. Переходы как
безусловные, так и условные, являются неотъемлемой частью любой
микропрограммы.
При выполнении микропрограммы адрес очередной микрокоманды относится к одной из трех категорий:
определяется кодом операции команды;
−
является следующим по порядку адресом;
−
является адресом перехода.
−
6.2.7. АДРЕСАЦИЯ МИКРОКОМАНД
133

Первый случай имеет место только один раз в каждом цикле команды, сразу же вслед за ее выборкой. Как уже отмечалось ранее, каждой команде из системы команд ВМ соответствует «своя» микропрограмма в памяти микропрограмм, поэтому первое действие, которое
нужно произвести после выборки команды, – преобразовать код операции в адрес
первой МК соответствующей микропрограммы. Это
может быть выполнено с помощью аппаратного преобразователя кода
операции. Такой преобразователь обычно реализуется в виде специального ЗУ, хранящего начальные адреса микропрограмм в ПМП. Для
указания того, как должен вычисляться адрес следующей МК в микрокоманде, может быть выделено специальное однобитовое поле. Единица в
этом поле означает, что Амк должен быть сформирован на основании кода операции. Подобная МК обычно располагается в конце
микропрограммы этапа выборки или в микропрограмме анализа кода
операции.
Дальнейшая очередность выполнения микрокоманд микропрограммы может быть задана путем указания в каждой МК адреса следующей микрокоманды (принудительная адресация) либо путем авто
матического увеличения на единицу адреса текущей МК (естественная
адресация).
В обоих случаях необходимо предусмотреть ситуацию, когда адрес следующей микрокоманды зависит от состояния осведомительных
сигналов – ситуацию перехода. Для указания того, какое условие
должно быть проверено, в МК вводится поле условия перехода (УП).
Поле УП определяет номер i осведомительного сигнала хi, значение
которого анализируется при формировании адреса следующей микрокоманды. Если поле УП = 0, то никакие условия не проверяются и Амк
либо берется из адресной части микрокоманды (при принудительной
адресации), либо формируется путем прибавления единицы к адресу
текущей микрокоманды. Если УП ≠ 0, то Амк = А + хi. В результате
этого осуществляется условный переход: при х
i = 0 к микрокоманде с
адресом Амк = А, а при xi = 1 – к микрокоманде с адресом Амк = А + 1.
Рассмотренный способ позволяет в каждой команде учесть состояние только одного из осведомительных сигналов. Более гибкий
подход реализован в ряде ВМ фирмы IBM. В нем адреса микрокоманды разбиваются на две составляющие. Старшие n разрядов обычно
остаются неизменными.
В процессе выполнения микрокоманды эти
разряды просто копируются из адресной части МК в аналогичные позиции РАМ, определяя блок из двух микрокоманд в памяти микропрограмм. Остальные (младшие) k разрядов РАМ устанавливаются в 1 или
0 в зависимости от того, проверка каких осведомительных сигналов
была задана в поле УП и в каком состоянии
эти сигналы находятся.
Такой метод позволяет в одной микрокоманде сформировать 2k вариантов перехода.
134
-

Теперь рассмотрим возможные способы реализации принудительной и естественной адресации. Известные подходы сводятся к
трем типовым вариантам:
−
два адресных поля;
−
одно адресное поле;
−
переменный формат.
Два первых метода представляют принудительную адресацию, а
третий – естественную адресацию микрокоманд.
С помощью мультиплексора в регистр адреса микрокоманды
(РАМ) может быть загружен либо адрес, определяемый кодом операции выполняемой команды, либо содержимое одного из адресных полей микрокоманды. Выбор источника адреса осуществляется сигналом
«Выбор адреса», вырабатываемым логикой перехода
, на основании
состояния осведомительных сигналов и поля УП микрокоманды. Если
УП = 0 или УП = i, но xi ≠ 0, то в РАМ заносится адрес А1 либо адрес,
полученный из кода операции. В противном случае в РАМ переписывается адрес А2.
Более распространен вариант принудительной адресации с одним
адресным полем. Здесь в адресной части МК
указан адрес следующей
микрокоманды, который в случае условного перехода может быть модифицирован. Возможен и иной подход, в чем-то близкий естественной адресации, когда в адресной части МК задается лишь адрес возможного перехода. При естественном следовании микрокоманд адрес
очередной МК формируется путем прибавления единицы к адресу текущей микрокоманды
.
Главное достоинство принудительной адресации – высокая универсальность и быстродействие. Здесь изменение участка микропрограммы не затрагивает остальных микрокоманд, а совмещение в одной
МК условного перехода с формированием сигналов управления
уменьшает общее время выполнения микропрограммы.
Основной недостаток принудительной адресации – повышенные
требования к емкости памяти для хранения адресов МК.
При естественной адресации
отпадает необходимость во введении
адресной части в каждую МК. Подразумевается, что микрокоманды
следуют в естественном порядке и процесс адресации реализуется
счетчиком адреса микрокоманды (СЧAM). Значение СЧАМ увеличивается на единицу после чтения очередной МК.
Однако после выполнения МК с адресом А может потребоваться
переход к МК с адресом В ≠ А
+ 1. Переход может быть безусловным
или зависеть от текущего значения xi (если хi = 1, то Aмк = А + 1; если
xi = 0, то АMK = В). Для реализации условных и безусловных переходов используются специальные управляющие микрокоманды, состоя-
135

щие только из двух полей: адресного поля В и поля УП, выделяющего
номер условия перехода. Алгоритм выполнения управляющей МК:
– если УП = 0, то СЧАМ := В;
– если УП ≠ 0, то если xi = 1, то СЧАМ := В, иначе СЧАМ :=
=СЧАМ + 1.
Таким образом, при естественной адресации должны применяться
МК двух типов: управляющие и операционные. Операционная
микрокоманда содержит только микрооперационную часть и не имеет адресной части. Тип МК задается ее первым разрядом: если МК(1) = 1, то
это управляющая микрокоманда.
Достоинство естественной адресации – экономия памяти микропрограмм, а основной недостаток состоит в том, что для любого перехода требуется полный тактовый период, в то время как при
принудительной адресации переход выполняется одновременно с формированием управляющих сигналов без дополнительных обращений к управляющей памяти. Кроме того, при сильно разветвленных микропрограммах требуются большие дополнительные затраты памяти.
Таким образом, можно сделать вывод, что по своим возможностям базовые функции управления микрокоманд близки к командам
переходов программного уровня
управления.
6.2.8. ОРГАНИЗАЦИЯ ПАМЯТИ МИКРОПРОГРАММ
Функциональные возможности и структура микропрограммных
автоматов в значительной степени зависят от организации памяти для
хранения микропрограмм. Основные способы организации памяти
микропрограмм можно свести к следующим вариантам.
1. Каждое слово ПМП содержит одну микрокоманду. Это наиболее простая организация ПМП. Основной недостаток – в каждом такте
работы МГЛА требуется обращение к памяти микропрограмм,
приводит к снижению быстродействия МПА.
2. Одно слово ПМП содержит несколько микрокоманд. В результате осуществляется одновременное считывание из ПМП нескольких МК, что позволяет повысить быстродействие УУ.
3. Сегментация ПМП, при которой память разделяется на сегменты, состоящие из 2q соседних слов, при этом адрес слова АМК
разделяется на два поля
: 5 и A. Поле S определяет адрес сегмента, а
поле А – адрес слова в сегменте. Адрес S устанавливается специальной
микрокомандой. В последующих микрокомандах указывается только
адрес слова А в сегменте. Таким образом, разрядность адресной части
МК уменьшается.
А. Двухуровневая память. Первый уровень – микропамять, хранящая микрокоманды. Второй уровень – нанопамять, содержащая нанокоманды.
136
что

МК выбирается из микропамяти и служит для адресации слова
нанопамяти, которое включает в себя необходимые сигналы управления. После выполнения микроопераций из микропамяти выбирается
следующая МК. Иначе говоря, нанопамять реализует функцию шифратора управляющих сигналов. Двухуровневая память рассматривается
как способ для уменьшения необходимой емкости ПМП, ее использование целесообразно только при
многократном повторении микроко-
манд в микропрограмме.
6.3. КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Охарактеризуйте основные функции устройства управления.
2.
Какие аргументы и результат имеет функция ЦФ-ВК?
3.
Какие аргументы и результат имеет функция ЦФ-ФАСК?
4.
Какие аргументы и результат имеет функция ЦФ-ФИА?
Сколько модификаций она поддерживает?
5.
Какие аргументы и результат имеет функция ЦФ-ВО?
6.
Какие аргументы и результат имеет функция ЦФ-ИО? Сколь-
ко модификаций она поддерживает?
7.
Какие этапы включаются в машинный цикл команды типа
«Сложение»?
8.
Какие этапы входят в машинный цикл команды типа «За-
пись»? Обоснуйте отсутствие одного из этапов.
9.
Какие этапы входят в машинный цикл команды типа «Услов-
ный переход»? Обоснуйте отсутствие двух этапов.
10.
Дайте характеристику входной и выходной информации мо-
дели УУ.
11.
На какие две части делится структура УУ? Что входит в со-
став каждой части? Какое назначение имеют элементы частей УУ?
12.
Обоснуйте название МПА с жесткой логикой.
13.
Перечислите достоинства и недостатки МПА с жесткой логикой.
14.
Обоснуйте название МПА с программируемой логикой.
Сформулируйте достоинства и недостатки таких МПА.
15.
Дайте характеристику элементов структуры МПА с програм-
мируемой логикой.
16.
Объясните принцип управления на основе МПА с програм-
мируемой логикой.
17.
Какие способы кодирования микрокоманд вы знаете? Пере-
числите их достоинства и недостатки.
18.
Чем отличается принцип прямого кодирования микрокоманд
от принципа косвенного кодирования?
19.
В чем заключается суть нанопрограммирования?
137

7. СИСТЕМЫ ВВОДА/ВЫВОДА
Помимо центрального процессора (ЦП) и памяти, третьим ключевым элементом архитектуры ВМ является система ввода/вывода (СВВ).
Система ввода/вывода призвана обеспечить обмен информацией между
ядром ВМ и разнообразными внешними устройствами (ВУ). Технические и программные средства СВВ несут ответственность за физическое
и логическое сопряжение ядра вычислительной машины и ВУ.
В
процессе эволюции вычислительных машин системам ввода/вывода по сравнению с прочими элементами архитектуры уделялось несколько меньшее внимание. Косвенным подтверждением этого
можно считать, например, то, что многие программы контроля производительности (бенчмарки) вообще не учитывают влияние операций
ввода/вывода (В/ВЫВ) на эффективность ВМ. Следствием подобного
отношения стал существенный
сора и памяти, с одной стороны, и скоростью ввода/вывода – с другой.
Технически система ввода/вывода в рамках ВМ реализуется комплексом модулей ввода/вывода (МВБ). Модуль ввода/вывода выполняет сопряжение ВУ с ядром ВМ и различные коммуникационные
операции между ними. Две основные функции МВВ:
−
обеспечение интерфейса с ЦП и памятью («большой» интер-
фейс);
−
обеспечение интерфейса с одним или несколькими перифе-
рийными устройствами («малый» интерфейс).
Анализируя архитектуру известных ВМ, можно выделить три основных способа подключения СВВ к ядру процессора.
В варианте с раздельными шинами памяти и ввода/вывода обмен
информацией между ЦП и памятью физически отделен от ввода/вывода,
поскольку обеспечивается полностью независимыми шинами
возможность осуществлять обращение к памяти одновременно с выполнением ввода/вывода. Кроме того, данный архитектурный вариант
ВМ позволяет специализировать каждую из шин, учесть формат пересылаемых данных, особенности синхронизации обмена и т.п. В частности, шина ввода/вывода с учетом характеристик реальных ВУ может иметь меньшую
пропускную способность, что позволяет снизить
затраты на ее реализацию. Недостатком решения можно считать большое количество точек подключения к ЦП.
Второй вариант – с совместно используемыми линиями данных и
адреса. Память и СВВ имеют общие для них линии адреса и линии
данных, разделяя их во времени. В то же время управление памятью
СВВ, а также синхронизация их взаимодействия с процессором осуще-
разрыв в производительности процес-
. Это дает
и
138

ствляются независимо по раздельным линиям управления. Это позволяет учесть особенности процедур обращения к памяти и к модулям
ввода/вывода и добиться наибольшей эффективности доступа к ячейкам памяти и внешним устройствам.
Последний тип архитектуры ВМ предполагает подключение СВВ
к системной шине на общих правах с процессором и памятью. Преимущества
и недостатки такого подхода обсуждались при рассмотрении вопросов организации шин (глава А). Потенциально возможен
также вариант подключения внешних устройств к системной шине
напрямую, без использования МВВ, но против него можно выдвинуть
сразу несколько аргументов. Во-первых, в этом случае ЦП пришлось
бы оснащать универсальными схемами для управления любым ВУ.
При большом разнообразии внешних устройств, имеющих к тому же
различные принципы действия, такие схемы оказываются чересчур
сложными и избыточными. Во-вторых, пересылка данных при вводе и
выводе происходит значительно медленнее, чем при обмене между ЦП
и памятью, и было бы невыгодно задействовать для обмена информацией с ВУ высокоскоростную системную шину
. И, наконец, в ВУ часто используются иные форматы данных и длина слова, чем в ВМ, к
которым они подключены.
7.1. АДРЕСНОЕ ПРОСТРАНСТВО
Как и обращение к памяти, операции ввода/вывода также предполагают наличие некоторой системы адресации, позволяющей выбрать
один из модулей СВВ, а также одно из подключенных к нему внешних
устройств. Адрес модуля и ВУ является составной частью соответствующей команды, в то время как расположение данных на внешнем
устройстве определяется пересылаемой
Адресное пространство ввода/вывода может быть совмещено с
адресным пространством памяти или быть выделенным.
При совмещении адресного пространства для адресации модулей
ввода/вывода отводится определенная область адресов. Обычно все
операции с модулем ввода/вывода осуществляются с использованием
входящих в него внутренних регистров: управления, состояния, данных. Фактически
ции в одни регистры МВВ и считыванию ее из других регистров. Это
позволяет рассматривать регистры МВВ как ячейки основной памяти и
работать с ними с помощью обычных команд обращения к памяти, при
этом в системе команд ВМ вообще могут отсутствовать специальные
команды ввода и
производить непосредственно с помощью арифметических и логиче-
СИСТЕМЫ ВВОДА/ВЫВОДА
на ВУ информацией.
процедура ввода/вывода сводится к записи информа-
вывода. Так, модификацию регистров МВВ можно
139

ских команд. Адреса регистрам МВВ назначаются в области адресного
пространства памяти, отведенной под систему ввода/вывода.
Такой подход представляется вполне оправданным, если учесть,
что ввод/вывод обычно составляет малую часть всех операций, выполняемых вычислительной машиной, чаще всего не более 1% от общего
числа команд в программе.
Реализация концепции совмещенного адресного пространства
в
ВМ с кэш-памятью и виртуальной адресацией сопряжена с определенными проблемами. В частности, усложняется отображение виртуального адреса устройства ввода/вывода на физическое ВУ. Сложности
также возникают и с кэшированием регистров МВВ.
Сформулируем преимущества и недостатки совмещенного адрес-
ного пространства.
Достоинства совмещенного адресного пространства:
−
расширение набора команд для обращения к внешним устрой-
ствам, что позволяет сократить длину программы и повысить быстродействие;
−
значительное увеличение количества подключаемых внешних
устройств;
−
возможность внепроцессорного обмена данными между внеш-
ними устройствами, если в системе команд есть команды пересылки
между ячейками памяти;
−
возможность обмена информацией не только с аккумулято-
ром, но и с любым регистром центрального процессора.
Недостатки совмещенного адресного пространства:
−
сокращение области адресного пространства памяти;
усложнение декодирующих схем адресов в СВВ;
−
трудности распознавания операций передачи информации при
−
вводе/выводе среди других операций. Сложности в чтении и отладке
программы, в которой простые команды вызывают выполнение сложных операций ввода/вывода;
−
трудности при построении СВВ на простых модулях вво-
да/вывода: сигналы управления не смогут координировать сложную
процедуру ввода/вывода. Поэтому МВБ часто должны генерировать
дополнительные сигналы под управлением программы.
Совмещенное адресное пространство используется в вычисли-
тельных машинах MIPS и SPARC.
В случае выделенного адресного пространства для обращения к
модулям ввода/вывода применяются специальные
команды и отдельная система адресов. Это позволяет разделить шины для работы с памятью и шины ввода/вывода, что дает возможность совмещать во времени обмен с памятью и ввод/вывод. Кроме того, адресное простран-
140
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
