Принципы построения и работы микропрограммного управляющего автомата

Команда, задающая элементарную операцию (сложение), в действительности задает последовательность еще более элементарных операций. Эти элементарные операции называются микрооперациями, а указания в соответствии с которыми они выполняются – микроприказами.

Микроприказы, совокупность которых образует команду, делятся на совместимые и несовместимые.

Совместимые микроприказы задают микроопрации, которые могут выполняться в ЦПр одновременно без нарушения правильности выполнения команды.

Назовем совокупность совместимых микроприказов, используемую при управлении выполнением различных команд как единое целое и имеющую определенную структурную организацию «микрокомандой».

Будем называть микропрограммой связную последовательность микрокоманд, реализующую определенную команду или отдельные фазы ее выполнения.

Управление последовательностью выполнения микропрограммы и реализацию микрокоманд осуществляет в БЦУ управляющий автомат УА. Последний выбирает микропрограмму, необходимую для выполнения команды, поступившей в регистр РК, формирует набор управляющих сигналов, соответствующий совокупности микроприказов для каждой микрокоманды этой микропрограммы и распределяет эти сигналы во времени, направляя их в нужные моменты в заданные узлы и схемы ЦПр.

В зависимости от способа реализации микропрограммного управления возможны два способа построения УА:

- схемный способ;

- с записанной микропрограммой.

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

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

При микропрограммном управлении быстродействие ЦПр дополнительно ограничивается временем обращения к ПМК. Способ микропрограммного управления нашел широкое применение в процессорах ЭУМ. Основные причины его распространения:

- возможность относительно легкой реализации сложных команд;

- простота и эффективность контроля БЦУ;

- возможность введения в БЦУ встроенной микропрограммной диагностики;

- высокая гибкость БЦУ;

- сокращение сроков разработки ЦПр и простота проектирования аппаратных средств БЦУ.

Покажем на рис. 2.2. структурную схему микропрограммного управляющего автомата.


Рис. 2.2. Структурная схема микропрограммного управляющего автомата

Основными структурными элементами микропрограммного управляющего автомата МУА являются:

1. РАМК – регистр адреса микрокоманды;

2. ДШАМК – дешифратор адреса микрокоманды;

3. ПМК – память микрокоманд;

4. РМК – регистр микрокоманд;

5. УФАСМК – узел формирования адреса следующей микрокоманды;

6. УФПУС – узел формирования последовательности управляющих сигналов.

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

Регистр РАМК предназначен для хранения адреса микрокоманды в ПМК. ПМК состоит из 2-х полей: старших и младших разрядов адреса. Поле старших разрядов адреса МК микрокоманды связано с полем КОП регистра РК и некоторыми полями регистра РМК. Поле младших разрядов адреса МК используется для организации переходов в выполняемой микропрограмме или к другим микропрограммам и связано с УФАСМК.

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

В тех разрядах слова, в которых должна быть записана «1» между шиной этого слова и соответствующей шиной разряда осуществляется соединение с помощью элемента, обеспечивающего передачу сигнала с шины слова в шину данного разряда. Для разрядов слова, содержащих ноль, соответствующие соединения между шиной слова и шинами этих разрядов отсутствуют.

При описанном построении ПМК выходы дешифратора ДШАМК связаны с шинами слов, имеющих соответствующий адрес, и возбуждение (появление «1») какого-либо выхода приводит к возбуждению разрядных шин, соединенных с шиной считываемого слова. Считанное из ПМК слово (микрокоманда) записывается в регистр РМК. Структура РМК определяется форматом МК. Каждая МК должна содержать:

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

- адресную часть, обеспечивающую переход к следующей микрокоманде;

- поле, задающее константы, используемые выполняемыми микрооперациями и при формировании адреса следующей микрокоманды.

Адресная часть МК в соответствии со структурой адреса МК разделяется на два поля:

1) поле АСМК, указывающее старшие разряды адреса следующей микрокоманды;

2) поле УП, задающее условия перехода к следующей МК, которые используются при формировании младших разрядов адреса следующей микрокоманды.

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

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

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

Значительно более сложным по сравнению с адресной частью и полем КОНСТ МК является формат операционной части МК. Существует три основных способа построения операционной части МК:

- прямое управление;

- независимое раздельное кодирование полей;

- групповые форматы.

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

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

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

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

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

Управляющий сигнал для схемы или узла ЦПр, реализующих данную микрооперацию, формируется путем декодирования соответствующего поля МК.

Первые два способа образования формата микрокоманды применяются, как правило, в ЭУМ средней и высокой производительности.

В малых ЭУМ в качестве ПМК часто используются отдельная область в основной памяти.

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

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

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

Одним из наиболее широко используемых способов задания указанных моментов является синхронизация работы ЦПр, основанная на принципе распределения во времени управляющих сигналов. Этот сигнал называется тактовым импульсом (ТИ). Он вырабатывается специальным узлом ЦПр - генератором тактовых импульсов (ГТИ). Управляющие сигналы распределяются во времени узлом УФПУС БЦУ таким образом, что управляющий сигнал, запускающий микрооперации, передается в соответствующую схему, узел или блок только при поступлении в УФПУС тактового импульса от ГТИ.

Для обеспечения правильной работы ЭУМ во времени при выполнении команд, необходимо согласовать длительность t тактового импульса и период Т его поступления со временем выполнения микроопераций.

Длительность ТИ выбирается исходя из длительности микрооперации с минимальным временем выполнения, в качестве которой служит обычно микрооперация пересылки информации между регистрами, регистром и шиной. При этом такт работы ЦПР определяется в основном быстродействием выбранной логической элементной базы.

Период поступления ТИ определяется временем, необходимым для выполнения следующей последовательности действий:

- формирования адреса следующей МК и пересылки его в РАМК;

- чтения МК из ПМК;

- записи считанной МК в РМК;

- декодирования полей МК и запуска заданных микроопераций;

- выполнения заданных микроопераций.

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

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

Покажем на рис. 2.3 пример 4-х-тактной синхронизации с помощью серий С(1) – С(4), задающих последовательность тактов Т(1) – Т(4).

Рис. 2.3. Временная диаграмма четырехтактного цикла синхронизации

В такте Т(1) формируется адрес следующей МК, который затем пересылается в РАМК, в такте Т(2) производится считывание МК из ПМК по адресу в РАМК, в такте Т(3) считанная МК записывается в РМК и в такте Т(4) поля декодируются в РМК и вырабатываются управляющие сигналы, запускающие заданные микрооперации. Заданные микрооперации могут выполняться в течение следующих тактов Т(1) и Т(2).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: