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

 

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

Аргументами функций переходов и выходов автомата являются входные переменные Z(t) и U(t) и переменные Q(t), задающие своими значениями состояния автомата A(t). Набор значений аргументов обычно интерпретируется как адрес микрокоманды в блоке памяти микропрограммного автомата. Этот адрес заносится в регистр адреса микрокоманды (РгАМК) на время одного такта. В управляющей (или микропрограммной) памяти (УП) по заданному адресу хранится набор значений выходных сигналов W(t+1) управления операционным блоком (или блоком обработки данных(БОД)) и набора значений переменных Q(t+1), представляющих состояние A(t+1). Значения W(t+1) и A(t+1) и определяются функциями переходов и выходов. Структурная схема простейшего варианта управляющего автомата с хранимой в памяти логикой приведена на рис.64. В управляющем автомате синхросигнал CLK определяет такты работы, при этом значение CLK=1 выделяет такт, а значение CLK=0 - паузу между тактами. Значения входных и выходных сигналов и состояние автомата должны быть неизменными во время импульса такта, но могут изменяться только в паузах. Состояние автомата A(t) представляется набором значений переменных Q(t). Пусть в такте (t-1) в РгАМК занесены U(t-1) , Z(t-1) и набор (возможно - код) Q(t-1). Тогда в паузе перед тактом t при CLK=0 на РгАМК эти значения сохранятся и из УП выбираются наборы W(t), которые как и Q(t) зависят от предыдущих значений Q(t-1), Z(t-1) и U(t-1). Эти наборы (возможно - коды) при CLK=0 заносятся в регистр микрокоманды (РгМК) и одновременно изменяются значения входных сигналов. После, при CLK=1, задающего такт t в РгМК хранятся наборы W(t) и Q(t), при этом сигналы W(t) используются при выполнении микроопераций в БОД а набор Q(t) переносится в РгАМК, после чего цикл работы управляющего автомата повторяется.

Воздействие управляющих сигналов W(t) на операционный блок синхронизируется сигналом CLK=1, обеспечивающим выдачу W(t) строго в такте t из РгМК, находящегося в режиме хранения.

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

Анализируя структурную схему рис.64, можно заметить, что число требуемых слов, хранимых в УП, велико из-за большой разрядности РгАМК (это можно назвать большой шириной адресного пространства УП), обусловленной значительным числом используемых формирующих адрес сигналов U(t), Z(t), Q(t). Сократить объём УП можно, если учесть, что для каждого Q(t) существенными являются только некоторые переменные Z(t) и U(t), задающие различные переходы из Q(t) в Q(t+1). Количество типов таких переходов обычно невелико и, поэтому для каждого Q(t) можно выделить лишь небольшую группу адресов УП, хранящих наборы (или коды) только отличающихся переходов Q(t+1). Объём УП при этом во много раз сокращается, так как в УП не будут храниться многократно повторяющиеся наборы (или коды), описывающие одинаковые переходы автомата. Адрес микрокоманды при таком подходе формируется специальной комбинационной схемой формирования адреса микрокоманды (СхФАМК на рис.64) по значениям Q(t), U(t), Z(t). Схема СхФАМК подключается ко входам РгАМК, как показано штриховыми линиями на рис.64.

 

 

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

Для упрощения СхФАМК обычно используется своеобразный способ формирования очередного адреса. В микрокоманде выделяется помимо операционной части (поля) ещё и адресная часть (поле). Адресная часть содержит несколько полей (групп разрядов):

- поле типа формирования адреса (ТФА);

- поля формирования отдельных групп разрядов адреса (ПФА).

При определённых значениях типа формирования адреса (ТФА) очередной адрес формируется только из значений бит полей формирования адреса (ПФА), а в простейшем случае в РгАМК переносятся значения бит ПФА, заданные в микрокоманде.

Если адрес очередной микрокоманды должен формироваться с учётом значений входных сигналов, то в поле типа формирования адреса (ТФА) заносится специальный набор бит (или код), настраивающий СхФАМК на обработку полей формирования адреса (ПФА) по какому-либо алгоритму. При этом содержимое некоторых ПФА по-прежнему переносится в РгАМК, а биты из других полей ПФА обеспечивают занесение в РгАМК значений, указываемых этими ПФА входных переменных.

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

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

Иногда формирование адреса следующей микрокоманды выполняется способом естественной адресации с помощью программного счётчика (PC). Безусловный переход от микрокоманды с адресом i осуществляется к микрокоманде с адресом i+1, что позволяет иметь в микрокоманде только операционную часть. Однако, для принятого единственным такого формата микрокоманды, позволяющего уменьшить объём микропрограммной памяти, приходится в микропрограммы, помимо операционных, включать и адресные микрокоманды, отличающиеся специальными признаками (атрибутами) от операционных команд. В адресных микрокомандах отсутствует операционная часть, а все биты используются в качестве полей типа формирования адреса (ТФА) и полей формирования адреса (ПФА), таких же, как и в адресной части рассмотренных ранее комплексных микрокоманд.

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

Управляющие автоматы с хранимой в памяти логикой различаются по способу формирования управляющих функциональных сигналов. Для этого возможно использование

- горизонтального,

- вертикального,

- смешанного микропрограммирования.