Устройство управления
Компьютер условно можно разделить на два основных блока: операционный и управляющий. Для реализации любой команды необходимо на соответствующие управляющие входы любого устройства компьютера подать определенным образом распределенную во времени последовательность управляющих сигналов. Часть цифрового вычислительного устройства, предназначенная для выработки этой последовательности, называется устройством управления .
Любое действие, выполняемое в операционном блоке, описывается некоторой микропрограммой и реализуется за один или несколько тактов. Элементарная функциональная операция, выполняемая за один тактовый интервал и приводимая в действие управляющим сигналом, называется микрооперацией [7]. Например, в спроектированном АЛУ для умножения чисел в первом такте выполняются следующие микрооперации : TX=0 , TY=0 , RGX=|X| , RGY=|Y| , RGZ=0 . Совокупность микроопераций , выполняемых в одном такте, называется микрокомандой (МК). Если все такты должны иметь одну и ту же длину, а именно это имеет место при работе компьютера, то она устанавливается по самой продолжительной микрооперации . Микрокоманды , предназначенные для выполнения некоторой функционально законченной последовательности действий, образуют микропрограмму . Например, микропрограмму образует набор микрокоманд для выполнения команды умножения.
Устройство управления предназначено для выработки управляющих сигналов, под воздействием которых происходит преобразование информации в арифметико-логическом устройстве, а также операции по записи и чтению информации в/из запоминающего устройства.
Устройства управления делятся на:
- УУ с жесткой, или схемной логикой и
- УУ с программируемой логикой ( микропрограммные УУ ).
В устройствах управления первого типа для каждой команды, задаваемой кодом операции , строится набор комбинационных схем , которые в нужных тактах вырабатывают необходимые управляющие сигналы.
В микропрограммных УУ каждой команде ставится в соответствие совокупность хранимых в специальной памяти слов — микрокоманд . Каждая из микрокоманд содержит информацию о микрооперациях , подлежащих выполнению в данном такте, и указание, какое слово должно быть выбрано из памяти в следующем такте.
Схемное устройство управления
Устройство управления схемного типа (рис. 4.1) состоит из:
- датчика сигналов , вырабатывающего последовательность импульсов, равномерно распределенную во времени по своим шинам ( рис. 4.2) ( n — общее количество управляющих сигналов, необходимых для выполнения любой операции; m — количество тактов, за которое выполняется самая длинная операция);
- блока управления операциями, осуществляющего выработку управляющих сигналов, то есть коммутацию сигналов, поступающих с ДС, в соответствующем такте на нужную управляющую шину;
- дешифратора кода операций, который дешифрирует код операции команды, присутствующей в данный момент в регистре команд , и возбуждает одну шину, соответствующую данной операции; этот сигнал используется блоком управления операциями для выработки нужной последовательности управляющих сигналов.
Датчик сигналов обычно реализуется на основе счетчика с дешифратором или на сдвиговом регистре .
Датчик сигналов на основе счетчика с дешифратором
Реализация датчика сигналов на основе счетчика с дешифратором представлена на рис. 4.3. По заднему фронту каждого тактового импульса, поступающего на устройство управления с системного генератора импульсов , счетчик увеличивает свое состояние; выходы счетчика соединены со входами дешифратора, выходы которого и являются выходами датчика сигналов (рис. 4.4).
Источник
Устройства управления (стр. 1 )
| Из за большого объема этот материал размещен на нескольких страницах: 1 2 3 |
Данная глава освещает различные аспекты структурной организации и функционирования устройства управления вычислительной машины.
Функции центрального устройства управления
Устройство управления (УУ) вычислительной машины реализует функции управления ходом вычислительного процесса, обеспечивая автоматическое выполнение команд программы. Процесс выполнения программы в ВМ представляет собой последовательность машинных циклов. Детализируем основные целевые функции, реализуемые устройством управления в ходе типового машинного цикла [25]. Для простоты примем, что ВМ обеспечивает одноадресную систему команд. При этом, в частности, полагается, что до начала выполнения двухоперандной арифметической команды второй операнд уже находится в процессоре.
Первым этапом в машинном цикле является выборка команды из памяти (этап ВК). Целевую функцию этого этапа будем обозначать как ЦФ — ВК.
За выборкой команды следует этап декодирования ее операционной части (кода операции). Для простоты пока будем рассматривать этот этап в качестве составной части этапа ВК.
Вторая целевая функция — формирование адреса следующей команды. На это выделяется специальный такт работы — этап ФАСК, которому соответствует целевая функция ЦФ-ФАСК.
Далее следует этап формирования исполнительного адреса операнда или адреса перехода, (этап ФИА), на котором УУ реализует функцию ЦФ-ФИА. Функция имеет столько модификации, сколько способов адресации (СА) предусмотрено в системе команд ВМ.
На четвертом этапе реализуется целевая функция выборки операнда (ЦФ-ВО) из памяти по исполнительному адресу, сформированному на предыдущем этапе.
Наконец на последнем этапе машинного цикла действия задаются целевой функцией исполнения операции — ЦФ-ИО. Очевидно, что количество модификаций ЦФ-ИО равно количеству операций, имеющихся в системе команд ВМ.
Порядок следования целевых функций полностью определяет динамику работы устройства управления и всей ВМ в целом. Этот порядок удобно задавать и отражать в виде граф-схемы этапов исполнения команды (ГСЭ). Как и граф микропрограммы, 1СЭ содержит начальную, конечную, операторные и условные вершины. В начальной и конечной вершинах проставляется условное обозначение конкретной команды, а в условной вершине записывается логическое условие, влияющее на порядок следования этапов. В операторные вершины вписываются операторы этапов.
По форме записи оператор этапа — это оператор присваивания, в котором:
* слева от знака присваивания указывается наименование результата действий выполненных на этапе;
* справа от знака присваивания записывается идентификатор целевой функции определяющей текущие действия, а за ним (в скобках) приводится список исходных данных этапа.
Исходной информацией для первого этапа служит хранящийся в счетчике команд адрес AKj текущей команды К(. Процесс выборки команды отображается оператором первого этапа: К, := BK(AKi).
Адрес AKj обеспечивает также второй этап, результатом которого является адрес следующей команды AKi+1, поэтому оператор второго этапа имеет вид: Акы := ФАСК(АК,). В качестве исходных данных для третьего этапа машинного цикла выступают содержащиеся в коде текущей команды способ адресации CAS (он определяет конкретную модификацию ЦФ-ФИАО) и код адресной части А,. Результатом становится исполнительный адрес операнда Аисп := ФИА(САi, Ai).
Полученный адрес используется на четвертом этапе для выборки операнда
Результат исполнения операции Р0i, получаемый на пятом этапе машинного цикла, зависит от кода операции i-й команды КОп, (определяет модификацию ЦФ-ИО), кода первого операнда 0, и кода второго операнда — результата предыдущей (i-1)-и операции
В соответствии со структурой граф-схемы этапов все команды ВМ можно разделить на три типа:
* команды типа «Сложение» (Сл);
* команды типа «Запись» (Зп);
* команды типа «Условный переход» (УП).
Типовые граф-схемы этапов представлены на рис. 6.1.
Видно, что количество этапов в командах типа «Сл» (см. рис. 6.1, а) колеблется от трех (для непосредственной адресации НА) до пяти. При непосредственной адресации второй операнд записан в адресной части команды, поэтому нет необходимости в реализации устройством управления целевых функций ЦФ-ФИА, ЦФ-ВО. Количество этапов для команд типа «Зп» постоянно и равно четырем (см. рис. 6.1,б) здесь отсутствует необходимость в ЦФ-ВО. Машинный цикл команд типа «УП» состоит из трех этапов (см. рис. 6.1, в), поскольку здесь, помимо выборки операнда, можно исключить и этап ФАСК — действия, обычно выполняемые на этапе, фактически реализуются на этапе ИО.
Рис. 6.1. Типовые граф-схемы этапов исполнения команды: а — «Сложение»; б — «Запись»;
в — «Условный переход»
Оператор этапа исполнения операции для команд «Зп* имеет смысл записи результата предыдущей операции Р0м в ячейку с адресом Аисп:
Местоположение РО^^ определяется кодом операции Копi. Оператор этапа ИОдля команд «УП» обеспечивает формирование адреса следующей (i + 1)-й команды в зависимости от Аисп и значения проверяемого условия перехода Уел:
Местоположение проверяемого условия также определяется кодом операции КОп,.i
Модель устройства управления
Для выполнения своих функций УУ должно иметь входы, позволяющие определить состояние управляемой системы, и выходы, через которые реализуется управление поведением системы. Модель УУ показана на рис. 6.2 [200]. Годной информацией для устройства управления служат:
* тактовые импульсы — с каждым тактовым импульсом УУ инициирует выполнение одной или нескольких микроопераций;
* код операции — код операции текущей команды поступает из регистра команды и используется, чтобы определить, какие микрооперации должны выполняться в течение машинного цикла;
Рис.6.2 Модель устройства управления
* флаги — требуются устройству управления для оценки состояния ЦП и результата предшествующей операции, что необходимо при выполнении команд условного перехода;
* сигналы из системной шины — часть сигналов с системной шины, обеспечивающая передачу в УУ запросов прерывания, подтверждений и т. п.
В свою очередь, УУ, а точнее микропрограммный автомат, формирует следующую выходную информацию:
* внутренние сигналы управления — эти сигналы воздействуют на внутренние схемы центрального процессора и относятся к одному из двух типов: тем, которые вызывают перемещение данных из регистра в регистр, и тем, что инициируют определенные функции операционного устройства ВМ;
* сигналы в системную шину — также относятся к одному из двух типов: управляющие сигналы в память и управляющие сигналы в модули ввода/вывода.
Структура устройства управления
Как уже отмечалось ранее, процесс функционирования ВМ состоит из последовательности элементарных действий в ее узлах. Такие элементарные преобразования информации, выполняемые в течение одного такта сигналов синхронизации. называются микрооперациями (МО). Совокупность сигналов управления, вызывающих одновременно выполняемые микрооперации, образует микрокоманду (MК). В свою очередь, последовательность микрокоманд, определяющую содержание и порядок реализации машинного цикла, принято называть микропрограммой. Сигналы управления вырабатываются устройством управления, а точнее одним из его узлов— микропрограммным автоматом (МПА). Название отражает то, что МПА определяет микропрограмму как последовательность выполнения микроопераций.
Микропрограммы реализации перечисленных ранее целевых функций инициируются задающим оборудованием, которая вырабатывает требуемую последовательность сигналов управления и входит в состав управляющей части УУ.
Выполняются микропрограммы исполнительным оборудованием, входящим в состав основной памяти (для ЦФ-ВК и ЦФ-ВО) и операционного устройства ЦФ-ИО). Исполнительным оборудованием для целевых функций ЦФ-ФАСК, ЦФ-ФИА служит адресная часть устройства управления. В обобщенной структуре УУ (рис. 6.3) можно выделить две части: управляющую и адресную.
Управляющая часть УУ предназначена для координирования работы операционного блока ВМ, адресной части устройства управления, основной памяти и других узлов ВМ.
Адресная часть УУ обеспечивает формирование адресов команд и исполнительных адресов операндов в основной памяти.
В состав управляющей части УУ входят:
* регистр команды (РК), состоящий из адресной (Адрес) и операционной (КОп, СА) частей;
* микропрограммный автомат (МПА);
* узел прерываний и приоритетов УПП
Регистр команды РК предназначен для приема очередной команды из запоминающего устройства. Микропрограммный автомат на основании результатов расшифровки операционной части команды (КОп, СА) вырабатывает определенную последовательность микрокоманд, вызывающих выполнение всех целевых функций УУ.
В зависимости от способа формирования микрокоманд различают микропрограммные автоматы:
*с жесткой или аппаратной логикой;
*с программируемой логикой.
Организация МПА этих двух типов будет рассмотрена в последующих разделах.
Узел прерываний и приоритетов позволяет реагировать на различные ситуации, связанные как с выполнением рабочих программ, так и с состоянием ВМ.
Адресная часть УУ включает в себя:
* операционный узел устройства управления (ОПУУ);
* регистр адреса (РгА);
* счетчик команд (СК).
Регистр адреса используется для хранения исполнительных адресов операндов, а счетчик команд — для выработки и хранения адресов команд. Содержимое РгА и СК посылается в регистр адреса основной памяти (ОП) для выборки операндов и команд соответственно.
ОПУУ, называемый иначе узлом индексной арифметики или узлом адресной арифметики, обрабатывает адресные части команд, формируя исполнительные адреса операндов, а также подготавливает адрес следующей команды при выполнении команд перехода. Состав ОПУУ может быть аналогичен составу основного операционного устройства ВМ (иногда в простейших ВМ с целью экономии затрат на оборудование ОПУУ совмещается с основным операционным устройством).
Сказанное об адресной части УУ проиллюстрируем примерами. Пусть в ОПУУ входят два индексных регистра ИР1, ИР2 и индексный сумматор СМИ, как показано на рис. 6.4.
Рис. 6.4. Пример реализации адресной части УУ
Для данной схемы микропрограмма формирования исполнительного адреса имеет вид, представленный на рис. 6.5, а.
ПРИМЕЧАНИЕИндексы при сокращениях П. (Прием) и В (Выдача) обозначают фазность передаваемого кода. Каждый двоичный разряд однофазного код передается по одной цепи (и поступает только на вход S соответствующего триггера). Каждый двоичный разряд парафазного кода передается по двум цепям (и поступает на входы S н R соответствующего триггер, при этом не требуется предварительное обнуление триггера-приемника.
Выполняемые действия определяются полем способа адресации. Если СА указывает на индексную адресацию относительно ИР1 или ИРг (СА = 1, СА = 2), то по
Рис. 6.5. Микропрограмма формирования: a — исполнительного адреса; б— адреса
управляющему сигналу В1ИР1 (В1ИР2) индекс адреса из ИРа (ИРг) подается на левый вход сумматора СМИ. Одновременно по управляющему сигналу В1РК на правый вход СМИ поступает адресная часть команды из регистра команды — РК(а). Осуществляется микрооперация сложения, результат которой (Аисп) по управляющему сигналу П2РгА заносится в РгА. Если СА = 3, то адрес формируется по способу прямой адресации. В этом случае по управляющему сигналу B1PK выполняется микрооперация сложения адресной части РК с нулем. Результат сложения по управляющему сигналу П2РгАс выхода СМИ записывается в РгА.
Микропрограмма формирования адреса следующей команды (ЦФ-ФАСК) изображена на рис. 6.5, б. Видим, что естественное формирование адреса следующей команды (с помощью СК) не производится, если исполняется команда безусловного (БП) или условного (УП) перехода. Такой адрес формируется на этапах ФИА и ИО, он равен исполнительному адресу (если это УП и условие перехода выполняется, или если это БП),
В состав УУ могут также входить дополнительные узлы, в частности узел организации прямого доступа к памяти. Этот узел обычно реализуется в виде самостоятельного устройства — контроллера прямого доступа к памяти (КПДП). КПДП обеспечивает совмещение во времени работы операционного устройства с процессом обмена информацией между ОП и другими устройствами ВМ, тем самым повышая общую производительность машины.
Довольно часто регистры различных узлов УУ объединяют в отдельный узел управляющих (специальных) регистров устройства управления.
Все множество технологий, используемых при реализации микропрограммных автоматов устройств управления.
Все множество технологий, используемых при реализации микропрограммных автоматов управления, можно свести к двум категориям:
*МПА «жесткой» логикой или аппаратурной реализацией;
*МПА с программируемой логикой.
Микропрограммный автомат с жесткой логикой
Обычно тип микропрограммного автомата (МПА), формирующего сигналы управления, определяет название всего УУ. Так, УУ с жесткой логикой управления имеет в своем составе МПА с жесткой (аппаратной) логикой. При создании такого. МПА выходные сигналы управления реализуются за счет однажды соединенных между собой логических схем.
Типичная структура микропрограммного автомата с жесткой логикой управления показана на рис. 6.6.
Исходной информацией для УУ (см. рис. 6.2) служат: содержимое регистра команды, флаги, тактовые импульсы и сигналы, поступающие с шины управления.
Код операции, хранящийся в РК, используется для определения того, какие СУ и в какой последовательности должны формироваться, при этом, с целью упрощения логики управления, желательно иметь в УУ отдельный логический сигнал для каждого кода операции (I0, I1, . Ik). Это может быть реализовано с помощью дешифратора. Дешифратор кода операции преобразует код j-й операции, поступающей из регистра команды (РК), в единичный сигнал j’-м выходе.
Машинный цикл выполнения любой команды состоит из нескольких тактов. Сигналы управления, по которым выполняется каждая микрооперация, должны вырабатываться в строго определенные моменты времени, поэтому все СУ «привязаны» к импульсам синхронизации (СИ), формируемым узлом синхроимпульсов. Период СИ должен быть достаточным для того, чтобы сигналы успели распространиться по трактам данных и другим цепям. Каждый СУ ассоциируется одним из тактовых периодов в рамках машинного цикла. Формирование сигналов, отмечающих начало очередного тактового периода, возлагается на синхронизатор. Синхронизатор содержит счетчик тактов, осуществляющий подсчет СИ. Узел синхроимпульсов после завершения очередного такта работы добавляет к содержимому счетчика тактов единицу. К выходам счетчика подключен дешифратор, с которого и снимаются сигналы тактовых периодов: Tlt. Т„. В i
u состоянии счетчика тактов, то есть во время i-ro такта, дешифратор тактов вырабатывает единичный сигнал на своем i-м выходе. При такой организации в УУ должна быть предусмотрена обратная связь, с помощью которой по окончании цикла команды счетчик тактов опять устанавливается в состояние Тi.
Дополнительным фактором, влияющим на последовательность формирования СУ являются состояние осведомительных сигналов (флагов), отражающих ход вычислений, и сигналы с шины управления. Эта информация также поступает на вход УУ, причем каждая линия здесь рассматривается независимо от остальных.
Процесс синтеза схемы МПА с жесткой логикой называется структурным синтезом и разделяется на следующие этапы:
* выбор типа логических и запоминающих элементов;
* кодирование состояний автомата;
* синтез комбинационной схемы, формирующей выходные сигналы.
Чтобы определить способ реализации МПА с жесткой логикой, необходимо описать внутреннюю логику УУ, формирующую выходные сигналы управления, как булеву функцию входных сигналов. Канонический метод структурного синтеза МПА был предложен .
Рис.6.7.Фрагмент схемы управления сигналом
Согласно этому методу, задача синтеза автомата сводится к синтезу комбинационной схемы путем построения системы логических функций с последующей их минимизацией. Принцип построения логических схем формирования управляющих сигнал поясняется на рис. 6.7. Здесь показан фрагмент схемы, обеспечивающей выработку управляющего сигнала Ск в /-м и S-м тактах выполнения команды с кодом о рации/ причем сигнал Сk появляется в i-м такте только при значениях осведомительных сигналов х1 = 1 и х3 = 1, а в S-м такте всегда.
Таким образом, название «жесткая логика» обусловлено тем, что каждой микропрограмме здесь соответствует свой набор логических схем с фиксированными связями между ними. При реализации простой системы команд узлы МПА с жесткой логикой экономичны и позволяют обеспечить наибольшее быстродействие из всех возможных методов построения МПА. Однако с возрастанием сложности системы команд соответственно усложняются и схемы автоматов с жесткой логикой, в результате чего уменьшается их быстродействие. Второй недостаток МПА с жесткой логикой — малая регулярность, а следовательно, и большие трудности при размещении УУ такого типа на кристалле интегральной микросхемы.
Микропрограммный автомат с программируемой логикой
Принципиально иной подход, позволяющий преодолеть сложность УУ с жесткой логикой, был предложен британским ученым М. Уилксом в начале 50-х годов [224]. В основе идеи лежит тот факт, что для инициирования любой микрооперации достаточно сформировать соответствующий СУ на соответствующей линии управления, то есть перевести такую линию в активное состояние. Это может быть представлено с помощью двоичных цифр 1 (активное состояние — есть СУ) и О (пассивное состояние — нет СУ). Для указания микроопераций, выполняемых в данном такте, можно сформировать управляющее слово, в котором каждый бит соответствует одной управляющей линии. Такое управляющее слово называют микрокомандой (МК). Таким образом, микрокоманда может быть представлена управляющим словом со своей комбинацией нулей и единиц. Последовательность микрокоманд, реализующих определенный этап машинного цикла, образует микропрограмму. В терминологии на английском языке микропрограмму часто называют firmware, подчеркивая тот факт, что это нечто среднее между аппаратур Идея заинтересовала многих конструкторов ВМ, но была нереализуема, поскольку требовала использования быстрой памяти относительно большой емкости. Вновь вернулись к ней в 1964 году, в ходе создания системы IBM 360. С тех пор устройства управления с программируемой логикой стали чрезвычайно популярными и были встроены во многие ВМ. В этой связи следует упомянуть запатентованный академиком принцип ступенчатого микропрограммирования, который он впервые реализовал в машине «Проминь». Принцип управления по хранимой в памяти микропрограмме Отличительной особенностью микропрограммного автомата с программируемой логикой является хранение микрокоманд в виде кодов в специализированном запоминающем устройстве — памяти микропрограмм. Каждой команде ВМ в этом ЗУ в явной форме соответствует микропрограмма, поэтому часто устройства управления, в состав которых входит микропрограммный автомат с программируемой логикой, называют микропрограммными. Типичная структура микропрограммного автомата представлена на рис. 6.8. В составе узла присутствуют: память микропрограмм (ПМП), регистр адреса микрокоманды (РАМ), регистр микрокоманды (РМК), дешифратор микрокоманд (ДшМК), преобразователь кода операции, формирователь адреса следующей микрокоманды (ФАСМ), формирователь синхроимпульсов (ФСИ). Рис.6.8. Микропрограммный автомат с программируемой логикой Запуск микропрограммы выполнения операции осуществляется путем передачи кода операции из РК на вход преобразователя, в котором код операции преобразуется в начальный (первый) адрес микропрограммы Д. Этот адрес поступает через ФАСМ в регистр адреса микрокоманды. Выбранная по адресу А из ПМП микрокоманда заносится в РМК. Каждая микрокоманда в общем случае содержит микрооперационную (МО) и адресную (А) части. Микрооперационная часть микрокоманды поступает на дешифратор микрокоманды, на выходе которого образуются управляющие сигналы Сi, инициирующие выполнение микроопераций в исполнительных устройствах и узлах ВМ. Адресная часть микрокоманды подается ФАСМ, где формируется адрес следующей микрокоманды Амк. Этот адрес может зависеть от адреса на выходе преобразователя кода операции Ан адресной части текущей микрокоманды А и значений осведомительных сигналов (флагов) X, поступающих от исполнительных устройств. Сформированный адрес микрокоманды снова записывается в РАМ, и процесс повторяется до окончания микропрограммы. Разрядность адресной (RA) и микрооперационной (RM0) частей микрокоманды определяются из соотношений где NMK — общее количество микрокоманд; Ncy — общее количество формируемых сигналов управления. .В свою очередь, необходимая емкость памяти микропрограмм равна Информация о том, какие сигналы управления должны быть сформированы в процессе выполнения текущей МК, в закодированном виде содержится в микрооперационной части (МО) микрокоманды. Способ кодирования микрооперации во многом определяет сложность аппаратных средств устройства управления и его скоростные характеристики. Применяемые в микрокомандах варианты кодирования сигналов управления можно свести к трем группам: минимальное кодирование (горизонтальное микропрограммирование), максимальное кодирование (вертикальное микропрограммирование) и групповое кодирование (смешанное микропрограммирование). Структуры микропрограммных автоматов при различных способах кодирования микроопераций показаны на рис. 6.9 [12, 28]. При горизонтальном микропрограммировании (см. рис. 6.9, а) под каждый сигнал управления в микрооперационной части микрокоманды выделен один разряд (RMO = Ncy). Это позволяет в рамках одной микрокоманды формировать любые сочетания СУ, чем обеспечивается максимальный параллелизм выполнения микроопераций. Кроме того, отсутствует необходимость в декодировании МО и выхода регистра микрокоманды могут быть непосредственно подключены к соответствующим управляемым точкам ВМ. Широкому распространению горизонтален микропрограммирования тем не менее препятствуют большие затраты на хранение микрооперационных частей микрокоманд Рис. 6.9. Структуры МПА при различных способах кодирования микроопераций: а — минимальном; б — максимальном; е — максимальном с шифратором; г— горизонтально-вертикальном; д — вертикально-горизонтальном При максимальном (вертикальном) кодировании (см. рис. 6.9, б) каждой микрооперации присваивается определенный код, например, ее порядковый номер в полном списке возможных микроопераций. Этот код и заносится в МО. Микрооперационная часть МК имеет минимальную длину, определяемую как двоичный логарифм от числа управляющих сигналов (микроопераций) по формуле (6.2). такой способ кодирования требует минимальных аппаратных затрат в ПМП на хранение микрокоманд, однако возникает необходимость в дешифраторе ДшМК, который должен преобразовать код микрооперации в соответствующий сигнал управления. При большом количестве СУ дешифратор вносит значительную временную задержку, а главное — в каждой МК указывается лишь один сигнал управления, инициирующий только одну микрооперацию, за счет чего увеличиваются длина микропрограммы и время ее реализации. Последний недостаток устраняется при подключении к выходам ДшМК шифратора (Ш) (см. рис. 6.9, в), что приводит к увеличению количества СУ, формируемых одновременно. Естественно, что помимо кодов отдельных микроопераций должны быть предусмотрены коды, представляющие и определенные комбинации микроопераций. Для повышения универсальности шифратор целесообразно строить на базе запоминающего устройства. Вариант, представленный на рис. 6.9, в, рационален, если Однако полная емкость используемой памяти равна откуда ясно, что при близких NMK и ND вариант теряет смысл. Минимальное и максимальное кодирование являются двумя крайними точками широкого спектра возможных решений задачи кодирования СУ. Промежуточное положение занимает групповое или смешанное кодирование. Здесь все сигналы управления (микрооперации) разбиваются на К групп В зависимости от принципа разбиения микроопераций на группы различают горизонтально-вертикальное и вертикально-горизонтальное кодирование. В горизонтально-вертикальном методе (см. рис. 6.9, г) в каждую группу включаются взаимно несовместимые сигналы управления (микрооперации), то есть СУ, которые никогда не встречаются вместе в одной микрокоманде. При этом сигналы, обычно формируемые в одном и том же такте, оказываются в разных группах. Внутри каждой группы сигналы управления кодируются максимальным (вертикальным) способом, а группы — минимальным (горизонтальным) способом. Каждой группе У, выделяется отдельное поле в микрооперационной части МК, общая разрядность которой равна где Nсу — количество СУ, представляемых 1-м полем (группой). Общая емкость памяти микропрограмм рассмотренного варианта кодирования определяется из выражения: При вертикально-горизонтальном способе (см. рис. 6.9, д) все множество сигналов управления (микроопераций) также делится на несколько групп, однако в группу включаются сигналы управления (микрооперации), наиболее часто встречающиеся вместе в одном такте. Поле МО делится на две части: MO1 и М02. Поле М01, длина которого равна максимальному количеству сигналов управления (микроопераций) в группе, кодируется горизонтально, а поле М02, указывающее на принадлежность к определенной группе, — вертикально. Со сменой группы меняются и управляемые точки, куда должны быть направлены сигналы управления из каждой позиции М01. Это достигается с помощью демультиплексоров (Дмп), управляемых кодом номера группы из поля М02. При горизонтальном, вертикальном и горизонтально-вертикальном способах кодирования микроопераций каждое поле микрокоманды несет фиксированные функции, то есть имеет место прямое кодирование. При косвенном кодировании одно из полей отводится для интерпретации других полей. Примером косвенного кодирования микрооперации может служить вертикально-горизонтальное кодирования Иногда используется двухуровневое кодирование микроопераций. На первого уровне с вертикальным кодированием выбирается микрокоманда, поле МО которой является адресом горизонтальной микрокоманды второго уровня — нанокоманды Данный способ сочетания вертикального и горизонтального микропрограммирования часто называют нанопрограммированием. Метод предполагает двухуровневую систему кодирования микроопераций и, соответственно, двухуровневую организацию управляющей памяти (рис 6.10). Верхний уровень управления образуют микропрограммы, хранящиеся в памяти микропрограмм. В микрокомандах используется вертикальное кодирование микроопераций. Каждой микрокоманде соответствует нанокоманда, хранящаяся в управляющей памяти нижнего уровня — памяти нанокоманд. В нанокомандах применено горизонтальное кодирование микроопераций. Именно нанокоманды используются для непосредственного формирования сигналов управления. Микрокоманды вместо закодированного номера СУ содержат адресную ссылку на соответствующую нанокоманду. Такой подход, сохраняя все достоинства горизонтального микропрограммирования, позволяет значительно сократить суммарную емкость управляющей памяти. Дело в том, что число различных сочетаний сигналов управления, а следовательно количество «длинных» нанокоманд, обычно невелико. В то же время практически все микрокоманды многократно повторяются в различных микропрограммах, и замена в микрокомандах «длинного» горизонтального управляющего поля на короткую адресную ссылку дает ощутимый эффект. Проиллюстрируем это примером. Пусть в системе вырабатывается 200 управляющих сигналов, а общая длина микропрограмм составляет 2048 микрокоманд. Предположим также, что реально используется только 256 различных сочетаний сигналов управления. В случае обычного УУ с горизонтальным микропрограммированием емкость управляющей памяти составила бы 2048 х 200 = бит. При нанопрограммировании требуется память микропрограмм емкостью 2048 х 8 =бит и память нанокоманд емкостью 256 х 200 =бит. Таким образом, суммарная емкость обоих видов управляющей памяти равнабитам. ИсточникАналогичную идею, независимо от Уилкса, в 1957 голу выдвинул российский ученый Н. Матюхин. Предложенное им УУ с программируемой логикой было реализовано в 1962 году в специализированной ВМ «Тетива», предназначенной для системы противовоздушной обороны.
6
, причем эффективность использования ПМП получается низкой, так как при большом числе микроопераций в каждой отдельной МК реализуется лишь одна или несколько из них, то есть подавляющая часть разрядов МО содержит нули.
где ND — количество выходов дешифратора. При этих условиях аппаратные затраты на хранение микрооперационных частей МК относительно малы: