Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпаргалка по теории автоматов (ТА).doc
Скачиваний:
204
Добавлен:
11.04.2014
Размер:
864.77 Кб
Скачать

Вопрос 25. Уа с программируемой логикой (уапл)

Строится на базе памяти микропрограмм, в в качестве которых обычно выступает однократно программир. или перепрограммир. ПЗУ.

Обладает большей универсальностью и меньшим быстродействием по срав. с автоматами с ЖЛ. В отличии от ЖЛ, ПЛ может выполнять разнообразные алгоритмы, ограниченные опр. кол-вом операндов и проверяемых логических условий (опр. кол-во упр. сигналов.)

Различают УАПЛ :

  1. с естественной адресацией

  2. с принудительной адресацией

В автоматах с естественной адресацией используется одно поле адреса перехода. Если переход не выполняется автоматически извлекается по адресу микрокоманда (в порядке еств. адресации). В автоматах принудит. адрес – 2 поля адреса перехода. Одно задает адресные переход в случае выполнения, а второе – не выполнения условия. Если микроком. не является командой перехода в кач-ве сл. адреса используется адрес в одном из полей.

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

Особое внимание (по сравнению с тем, что излагается в пособии !) следует обратить на поле признаков (ПП). Дело в том, что при анализе поступающих извне (например, из операционного автомата ОА) признаков (информационных сигналов Xi) каждый конкретный признак (флаг, условие) xi ­ можно обрабатывать по-разному : 1) проверять на установку (xi = = 1); 2) проверять, что не установлен (xi = = 0); 3) игнорировать. При этом на каждый признак в поле признаков можно выделять по 1 биту, по 2 бита или – вообще использовать общие коды для кодирования всех необходимых комбинаций условий (например : 000 – безусловный переход, 001 – x1 = = 1, x2 = = 0, x3 – игнорировать и т.д.) . При выделении 1 бита на каждый признак (как в пособии) нужно учесть, что мы должны выделить 1 вариант бита (0 или 1) для кодирования "игнорирования" этого флага, а противоположное значение использовать для указания на то, что мы проверяем установку (или сброс) этого флага. То есть, если нам нужно закодировать для 3 флагов, что "x3 = = 1, x2 и x1 – не исп.", то мы должны указать, например, такую комбинацию в поле признаков : 100, но при этом мы никак не сможем закодировать условие "x3 = = 0, x2 и x1 – не исп." , так как комбинация 000 будет означать безусловный переход, а комбинация 011 – "x3 – не исп., x2 = = 1, x3 = = 1" (по логике схемы сравнения, с учетом выбранного варианта кодирования условия "x3 = = 1, x2 и x1 – не исп."). В этом случае необходимо проверять флаги всегшда только на сброс, или только на установку, а обратные логические значения проверять искуственно добавляя безусловные переходы в микропрограмме.

Вопрос 26. Алгебраическая и структурная теория ка.

Конгруэнция КА:

Разбиение на множестве состояний КА А является конгруэнцией, если под воздействием любого входного сигнала автомат из любых двух состояний ε одному и тому же блоку разбиения π, переходит в состояния, так же принадлежащие одному и тому же (произвольному) блоку этого разбиения : (xεX)(∀s,rεS) [s]π=[r]π=>[δx(s)]π= [δx(r)π]

Минимальное разбиение 0,I} – тривиальные конгруэнции. Если имеется автомат А=(x,s,s0,δ), то конгруэнция π задает фактор-автомат A/π=( π, x, [s0]π, δπ), состояниями которого являются блоки разбиения π, а функция переходов переходов δπ для каждого входного сигнала из Х и каждого блока π индуцирована конгруэнцией π : (∀xεX)(∀sεS) δ π ([s] π , x) = [δ(s, x)] π .

Последовательная декомпозиция автомата

По нетривиальной конгруэнции можно построить последовательную декомпозицию автомата.

Для этого необходимо выбрать любое разбиение ρ, ортогональное конгруэнции π, т.е. такое, что (π*ρ) = 0, затем провести двоичное кодирование блоков разбиения π и ρ как для двух последовательно включенных автоматов.

Рассмотрим пример для того же автомата А1:

π1={<0,7>;<1,2>;<3,4>;<5,6>}

ρ={<0,1,3,6>;<2,4,5,7>}

π1 * ρ= {<0>;<1>;<2>;<3>;<4>;<6>;<5>} = 0

Проведем двоичное кодирование состояний автомата таким образом, чтобы Q0≠f(Q2), Q1≠f(Q2). Для этого закодируем состояния автомата π1 двумя битами Q­1 и Q0, а затем – два состояния для разбиения ρ с помощью бита Q2. В результате для исходного автомата все состояния, входящие в один блок разбиения автомата π1, будут закодированы одинаковым кодом Q0 Q1 , а все состояния, входящие в один блок разбиения автомата ρ – одинаковым кодом Q2 и итоговые функции для этих разрядов кодов состояний будут иметь более простой вид.

A/π

A/ρ

Состояния

Q0

Q1

Q2

0

0

0

0

1

1

0

0

2

1

0

1

3

0

1

0

4

0

1

1

5

1

1

1

6

1

1

0

7

0

0

1

Параллельная декомпозиция автомата

Если на множестве состояний А существует две ортогональные конгруэнции π и ρ, т.е. π*ρ=0, то пара независимо работающих фактор-автоматов А/π и А/ρ реализуют исходный автомат. Получаем параллельную декомпозицию.

Рассмотрим пример для того же автомата А1:

π1={<0,4>;<1,2>;<3,4>;<5,6>} и π2={<0,2,4,5>;<1,3,6,7>} – ортогональные конгруэнции автомата А1. В результате двоичного кодирования состояний исходного автомата таким образом, чтобы все состояния, входящие в один блок разбиения автомата π1, были бы закодированы одинаковым кодом Q0 Q1 , а все состояния, входящие в один блок разбиения автомата π2 – одинаковым кодом Q2 , мы получим совсем простой вид ф-ций для этих разрядов, так как согласно теории мы построили параллельную декомпозицию автомата.

Алгоритм поиска конгруэнции КА: Замыкание [[π]]A на разбиения π на множестве состояний автомата А. А=(s,x, δ) это такая конгруэнция что π≤[[ π]]A [[ π]]A – наименьшее из разбиений, обладающее свойством 1.

Алгоритм поиска замыканий. π0= π Для i≥0: πi+1= π1+∑[r] πi=[s] πi ∑xεXρ(δ(v,x)δ(s,x))