Перечислите основные узлы блока микропрограммного управления

Перечислите основные узлы блока микропрограммного управления

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

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

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

Особенности программного и микропрограммного управления

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

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

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

При микропрограммной реализации устройства управления в состав последнего вводится ЗУ, каждый разряд выходного кода которого определяет появление определенного функционального сигнала управления. Поэтому каждой микрооперации ставится в соответствие свой информационный код — микрокоманда. Набор микрокоманд и последовательность их реализации обеспечивают выполнение любой сложной операции. Набор микроопераций называют микропрограммами. Способ управления операциями путем последовательного считывания и интерпретации микрокоманд из ЗУ (наиболее часто в виде микропрограммного ЗУ используют быстродействующие программируемые логические матрицы), а также использования кодов микрокоманд для генерации функциональных управляющих сигналов называют микропрограммным, а микроЭВМ с таким способом управления — микропрограммными или с хранимой (гибкой) логикой управления.

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

Преобразование информации выполняется в универсальном арифметико-логическом блоке микропроцессора. Он обычно строится на основе комбинационных логических схем.

Для ускорения выполнения определенных операций вводятся дополнительно специальные операционные узлы (например, циклические сдвигатели). Кроме того, в состав микропроцессорного комплекта (МПК) БИС вводятся специализированные оперативные блоки арифметических расширителей.

Операционные возможности микропроцессора можно расширить за счет увеличения числа регистров. Если в регистровом буфере закрепление функций регистров отсутствует, то их можно использовать как для хранения данных, так и для хранения адресов. Подобные регистры микропроцессора называются регистрами общего назначения (РОН). По мере развития технологии реально осуществлено изготовление в микропроцессоре 16, 32 и более регистров.

В целом же, принцип микропрограммного управления (ПМУ) включает следующие позиции:
1) любая операция, реализуемая устройством, является последовательностью элементарных действий — микроопераций;
2) для управления порядком следования микроопераций используются логические условия;
3) процесс выполнения операций в устройстве описывается в форме алгоритма, представляемого в терминах микроопераций и логических условий, называемого микропрограммой;
4) микропрограмма используется как форма представления функции устройства, на основе которой определяются структура и порядок функционирования устройства во времени.

ПМУ обеспечивает гибкость микропроцессорной системы и позволяет осуществлять проблемную ориентацию микро- и миниЭВМ.

Блок микропрограммного управления микропроцессора

Блок микропрограммного управления предназначен для формирования последовательности микрокоманд блока обработки сигналов. В простейшем случае его можно построить на счетчике с возможностью предзаписи и ПЗУ. Схема такого блока приведена на рисунке 3.


Рисунок 3. Блок микропрограммного управления микропроцессора.

В этой схеме адрес очередной микрокоманды формирует двоичный счётчик. Если требуется осуществить безусловный или условный переход, то новый адрес записывается из ПЗУ в этот счётчик как в обычный параллельный регистр по сигналу параллельной записи V. Переход к следующему адресу микрокоманды производится по сигналу общей синхронизации CLK.


Рисунок 4. Формат микрокоманды процессора

Понравился материал? Поделись с друзьями!

  1. Микушин А.В. Занимательно о микроконтроллерах. СПб, БХВ-Петербург, 2011.
  2. Микушин А.В., Сажнев А.М., Сединин В.И. Цифровые устройства и микропроцессоры. СПб, БХВ-Петербург, 2015.
  3. Шило В. Л. Популярные цифровые микросхемы. М, Радио и связь, 1987.
  4. Лехин С. Н. Схемотехника ЭВМ. СПб, БХВ-Петербург, 2015.
  5. С.А. Майоров, В.В. Кириллов, А.А. Приблуда Введение в микро ЭВМ. Ленинград, Машиностроение, 1988.
  6. Михаил Гук Аппаратные средства IBM PC. СПб, Питер, 2006.
  7. http://ru.wikipedia.org/wiki/RISC

Вместе со статьей «Блок микропрограммного управления микропроцессора» читают:

Устройства микропрограммного управления

Принципиально иной подход, позволяющий преодолеть сложность УУ с жесткой логикой, был предложен британским ученым М. Уилксом в начале 50-х годов. В основе идеи лежит тот факт, что для инициирования любой микрооперации достаточно сформировать соответствующий сигнал управления (СУ) на соответствующей линии управления, то есть перевести такую линию в активное состояние. Это может быть представлено с помощью двоичных цифр 1 (активное состояние — есть СУ) и 0 (пассивное состояние — нет СУ). Для указания микроопераций, выполняемых в данном такте, можно сформировать управляющее слово, в котором каждый бит соответствует одной управляющей линии. Такое управляющее слово называют микрокомандой (МК). Таким образом, микрокоманда может быть представлена управляющим словом со своей комбинацией нулей и единиц. Последовательность микрокоманд, реализующих определенный этап машинного цикла, образует микропрограмму. В терминологии на английском языке микропрограмму часто называют firmware, подчеркивая тот факт, что это нечто среднее между аппаратурой (hardware) и программным обеспечением (software). Микропрограммы для каждой команды ВМ и для каждого этапа цикла команды размещаются в специальном ЗУ, называемом памятью микропрограмм (ПМК). Процесс формирования СУ можно реализовать, последовательно (с каждым тактовым импульсом) извлекая микрокоманды микропрограммы из памяти и интерпретируя содержащуюся в них информацию о сигналах управления. Идея заинтересовала многих конструкторов ВМ, но была нереализуема, поскольку требовала использования быстрой памяти относительно большой емкости. Вновь вернулись к ней в 1964 году, в ходе создания системы IBM 360. С тех пор устройства управления с программируемой логикой стали чрезвычайно популярными и были встроены во многие ВМ.

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

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

Рис. 1. Микропрограммный автомат с программируемой логикой.

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

Разрядность адресной (RA) и микрооперационной (RMO) частей микрокоманды определяются из соотношений

где NMK — общее количество микрокоманд; NСУ — общее количество формируемых сигналов управления.

В свою очередь, необходимая емкость памяти микропрограмм равна

Информация о том, какие сигналы управления должны быть сформированы в процессе выполнения текущей МК, в закодированном виде содержится в микрооперационной части (МО) микрокоманды. Способ кодирования микроопераций во многом определяет сложность аппаратных средств устройства управления и его скоростные характеристики. Применяемые в микрокомандах варианты кодирования сигналов управления можно свести к трем группам: минимальное кодирование (горизонтальное микропрограммирование), максимальное кодирование (вертикальное микропрограммирование) и групповое кодирование (смешанное микропрограммирование). Структуры микропрограммных автоматов при различных способах кодирования микроопераций показаны на рис. 2.

При горизонтальном микропрограммировании (см. рис. 2, а) под каждый сигнал управления в микрооперационной части микрокоманды выделен один разряд (RMO = NСУ ). Это позволяет в рамках одной микрокоманды формировать любые сочетания СУ, чем обеспечивается максимальный параллелизм выполнения микроопераций. Кроме того, отсутствует необходимость в декодировании МО и выходы регистра микрокоманды могут быть непосредственно подключены к соответствующим управляемым точкам ВМ. Широкому распространению горизонтального микропрограммирования тем не менее препятствуют большие затраты на хранение микрооперационных частей микрокоманд (ЕПМП = NMK ´ NСУ), причем эффективность использования ПМП получается низкой, так как при большом числе микроопераций в каждой отдельной МК реализуется лишь одна или несколько из них, то есть подавляющая часть разрядов МО содержит нули.

Рис. 2. Структуры МПА при различных способах кодирования микроопераций:

а — минимальном; б — максимальном; в — максимальном с шифратором;

г— горизонтально-вертикальном; д — вертикально-горизонтальном.

При максимальном (вертикальном) кодировании (см. рис. 2, б) каждой микрооперации присваивается определенный код, например, ее порядковый номер в полном списке возможных микроопераций. Этот код и заносится в МО. Микрооперационная часть МК имеет минимальную длину, определяемую как двоичный логарифм от числа управляющих сигналов (микроопераций). Такой способ кодирования требует минимальных аппаратных затрат в ПМП на хранение микрокоманд, однако возникает необходимость в дешифраторе ДшМК, который должен преобразовать код микрооперации в соответствующий сигнал управления. При большом количестве СУ дешифратор вносит значительную временную задержку, а главное — в каждой МК указывается лишь один сигнал управления, инициирующий только одну микрооперацию, за счет чего увеличиваются длина микропрограммы и время ее реализации.

Последний недостаток устраняется при подключении к выходам ДшМК шифратора (Ш) (см. рис. 2, в), что приводит к увеличению количества СУ, формируемых одновременно. Естественно, что помимо кодов отдельных микроопераций должны быть предусмотрены коды, представляющие и определенные комбинации микроопераций. Для повышения универсальности шифратор целесообразно строить на базе запоминающего устройства.

Минимальное и максимальное кодирование являются двумя крайними точками широкого спектра возможных решений задачи кодирования СУ. Промежуточное положение занимает групповое или смешанное кодирование.

Здесь все сигналы управления (микрооперации) разбиваются на К непересекающихся групп.Чаще всего применяется горизонтально-вертикальный метод (см. рис. 2, г) При этом в каждую группу включаются взаимно несовместимые сигналы управления (микрооперации), то есть СУ, которые никогда не встречаются вместе в одной микрокоманде. При этом сигналы, обычно формируемые в одном и том же такте, оказываются в разных группах.

Иногда используется двухуровневое кодирование микроопераций. На первом уровне с вертикальным кодированием выбирается микрокоманда, поле МО которой является адресом горизонтальной микрокоманды второго уровня — нанокоманды. Данный способ сочетания вертикального и горизонтального микропрограммирования часто называют нанопрограммированием. Метод предполагает двухуровневую систему кодирования микроопераций и, соответственно, двухуровневую организацию управляющей памяти (рис 3).

Рис. 3. Нанопрограммное устройство управления

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

Такой подход, сохраняя все достоинства горизонтального микропрограммирования, позволяет значительно сократить суммарную емкость управляющей памяти. Основным недостатком нанопрограммирования является невысокое быстродействие, поскольку для выполнения микрокоманды требуются два обращения к памяти, что, однако, частично компенсируется исключением из схемы дешифратора, свойственного вертикальному микропрограммированию.

Память микропрограмм может быть реализована запоминающими устройствами различных типов. В зависимости от типа применяемого ЗУ различают МПА со статическим и динамическим микропрограммированием. В первом случае в качестве ПМП используется постоянное ЗУ (ПЗУ) или программируемая логи­ческая матрица (ПЛМ), во втором — оперативное ЗУ.

Динамическое микропрограммирование в отличие от статического позволяет оперативно модифицировать микропрограммы УУ, меняя тем самым функцио­нальные свойства ВМ. Основное препятствие на пути широкого использования динамического микропрограммирования — энергозависимость и относительно невысокое быстродействие ОЗУ.

В УУ со статическим микропрограммированием более распространены ПЛМ. Программируемая логическая матрица является разновидностью ПЗУ, в котором программируются не только данные, но и адреса, благодаря чему на ПЛМ можно реализовал» как память микропрограмм, так и формирователь адреса следующей микрокоманды.

Рис. 4. Организация управляющей памяти

На рис. 4 показано возможное размещение микрокоманд в памяти микропрограмм. Содержимое ПМП определяет последовательность микроопераций, которые должны выполняться на каждом этапе цикла команды, а также последовательность этапов. Каждый этап представлен соответствующей микропрограммой. Микропрограммы завершаются микрокомандой перехода, определяющей последующие действия. В управляющей памяти имеется также специальная микропрограмма-переключатель: в зависимости от текущего кода операции она указывает, этап исполнения какой команды должен быть выполнен.

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


источники:

http://digteh.ru/proc/BMU.php

http://poisk-ru.ru/s2770t7.html