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

В общем случае (без деталей) УА с ПЛ строится (состоит) из трех составляющих: схемы формирования адреса следующей МК, ПЗУ и блока формирования управляющих сигналов для ОА (рисунок 5.26)

 
 

Схема адресации выполняется в виде БИС управления (например К1804 ВУ1, ВУ3), ПЗУ – на основе БИС ПЗУ.

 
 

ОА также выполняется в виде отдельных БИС – БИС МПЭ (микропроцессорных элементов). Все эти БИС и входят в состав МПК БИС. Что касается третьего блока, то здесь возможны разные варианты реализации - в зависимости от способа организации работы ОУ во времени. В простейшем случае используется последовательная организация работы ОА и УА (временная диаграмма – рисунок 5.27). Как видно из временной диаграммы, адрес МК не должен меняться в течение такта работы ОУ. Следовательно, он должен фиксироваться в буферном регистре адреса РА по фронту сигнала синхронизации С. Буферный РА в этом случае входит в состав блока (схемы) адресации. Продолжительность такта при последовательной организации определяется:

T = TУA + TOA. (5.12)

 
 

Для уменьшения Т можно использовать конвейерную организацию работы ОУ:

Tk = max (TУА, ТОА). (5.13)

В этом случае работа ОА и УА совмещаются во времени (временная диаграмма – рисунок 5.26).

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

Занесение результатов МО в память S ОА в этом случае (при конвейерной организации) производится по спаду сигнала С (т. е. по ).

Продолжительность работы УА определяется выражением:

ТУА = tФА + tПЗУ + tРМК (формирование адреса выборка из ПЗУ, занесение в РМК);

и ОА: ТОА = tМО + tрез. (выполнение МО, занесение результата в S ОА).

Максимальное из них определяет продолжительность такта Тк (5.13).

Следует отметить, что дешифрация поля Y МК обычно осуществляется не в блоке формирования сигналов ym УА, а в ОА, т. е. в БИС МПЭ. Такая организация эффективна, т. к. количество входов у дешифратора m, а выходов M = 2m (y1, … ym) и, следовательно, количество проводников, связывающих ОА с УА уменьшается с 2m до m (и количество выходов на корпусе БИС МПЭ). В результате в блоке формирования сигналов ym остается один буферный РМК.

 
 

Недостатки конвейерной организации: потери времени на старт (рестарт) конвейера при выполнении условных и безусловных переходов в микропрограмме. В случае альтернативного перехода из ПЗУ должна извлекаться либо одна МК (по СМК), либо другая (по А перехода), т. е. в соответствии с выражением (5.11). Но на этапе выборки из ПЗУ извлекается только одна МК. Как быть, если не та МК? Начать сначала, с выборки нужной МК:

Здесь В – выборка МК (в РМК), Р – реализация МК (в ОА), 0 – пустой для ОА такт (рестарт конвейера).

Если разветвлений в микрокоманде не очень много, то потери времени небольшие, если много – то потери ощутимые, что снижает быстродействие.

Выход: выбирать в i-ом такте сразу две МК, а использовать только одну из них, в зависимости от условия перехода. Для этого ПЗУ в УА должно иметь два адресных входа и два информационных выхода (двухпортовые ПЗУ): на один адресный вход подается адрес из СМК, на другой – адрес перехода А (из РМК). Другой вариант – использовать два ПЗУ (с одинаковой информацией): одно используется для выбора одной МК, другое для выбора альтернативной МК (если нет двхпортового ПЗУ).