Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Число внутренних состояний ОА можно определить как




(4.1)

 

Так, при n =32, k =16 имеем M=2512. Очевидно, что при таком числе состояний канонический метод синтеза применить нельзя. Поэтому ОА синтезируются с использованием некоторого набора элементов, называемого структурным базисом. Наиболее часто для этих целей используется следующий набор элементов:

1. Регистры – для приёма, хранения и выдачи информации.

2. Комбинационные схемы – для вычисления новых значений слов информации.

3. Шины – для передачи информации между отдельными частями ОА.

Все эти элементы присутствуют в схеме на рис. 4.1. Отметим, что микрооперации y nÎY формируются управляющим автоматом (УА) и логические условия x lÎX является входными сигналами УА. Остановимся более подробно на организации шин.

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

Простейшим видом является асинхронная шина, выполняющая микрооперацию передачи информации B=A. Условное обозначение шины приведено на рис. 4.2,а

 

 

Рис. 4.2. Условное обозначение (а) и организация (б) асинхронной шины

 

Каждый провод этой шины организован идентично и k -й проводник (Рис. 4.2,б) выполняет операцию b [ k ]= a [ k ].

Управляемая шина выполняет операцию передачи информации только при наличии специального управляющего сигнала. Управляемая шина выполняет операцию

где уAB - управляющий сигнал, инициирующий передачу информации. Таким образом, можно написать, что B= уAB ×A, то есть b [ k ]= уAB × a [ k ], k =1,…K. На рис. 4.3 приведено условное обозначение управляемой шины и схемы её k-го разряда.

 

 

Рис. 4.3. Условное обозначение (а) и организация (б) управляемой шины

 

Для передачи информации от нескольких источников информации одному приёмнику используется сборка шин. Например, если информация из источника Ai передаётся к приёмнику B по сигналу yi (i=1,…,I), то сборка выполняет функцию

 

Следовательно, каждый разряд сборки выполняет функцию

На рис. 4.3 приведено условное обозначение и схема k-го разряда сборки шин

 

 

Рис. 4.3. Условное обозначение (а) и организация (б) сборки

 

Очевидно, функции сборки шин аналогичны функциям мультиплексора, рассмотренного в главе 2. Пусть I=3, закодируем наборы, < y1y2y3 > двухразрядными кодами z1z2 следующим образом: 100®01, 010®11, 001®11, 000®00. В этом случае каждый элемент сборки реализуется следующим образом (Рис. 4.4,а)

 

 

Рис. 4.4. Реализация сборки шин на мультиплексорах(а) и тристабильных элементах (б)

 

Наиболее часто для организации сборки используют элементы с трёмя состояниями. Одно из состояний соответствует логическому нулю, второе - единице, третье - высокоимпедансное состояние, в котором элемент отключён от шины. Для перевода схемы в третье состояние используется специальный сигнал, в нашем случае это сигнал передачи информации (Рис. 4.4,б). Если yi =1, то слово Ai передаётся на выход B (i=1,2,3). Если yi =0, то элемент передачи информации переводится в третье состояние и передачи не происходит. Условимся в дальнейшем именовать сборки шин мультиплексорами.

Так как в OA имеется обратная связь между комбинационной схемой и памятью, то регистры памяти должны состоять из двухтактных триггеров. В противном случае - как и в любом структурном автомате - возможны сбои в работе OA.

Формальные методы синтеза операционных автоматов, рассматриваемые в данной книге, разработаны С.А.Майоровым и Г.И.Новиковым [10]. Основой для синтеза схем OA являются функциональные микропрограммы, которые состоят из логических условий и типовых микроопераций.

 

 

4.2. Типовые микрооперации и функциональные микропрограммы

 

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

1. Микрооперация установки.

В результате её выполнения слову информации (регистру) присваивается значение константы. Например, A:=01.

2. Микрооперация передачи.

Микрооперация инициирует передачу информации между регистрами (A:=B), в процессе которой некоторые разряды источника могут меняться.

3. Микрооперация инвертирования.

После выполнения операции значение слова изменяется на инверсное (A:=ùA). Микрооперация выполняется при помощи многоразрядного инвертора, включённого в цепь обратной связи регистра A (Рис. 4.5). Если y1 =1, то выполняется поразрядное

 

 

Рис. 4.5. Выполнение микрооперации инвертирования

 

инвертирования слова A и новое значение слова заносится в регистр по сигналу Clock. Знак „:=” означает, что в операции участвует регистр и слева в выражении находится содержимое регистра в момент времени t, а справа - t +1 (t =0,1,…). Если At=0101, то в результате выполнения микрооперации инвертирования At+1=1010 будет записано в регистр A.

4. Микрооперация сдвига.

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

Сдвиг на n разрядов вправо (A:=Rn(A)) приводит к потере n младших разрядов слова и заполнению старших n разрядов нулями. Например, R2(110110)=001101, R3(A)=000110.

Сдвиг на n разрядов влево (A:=Ln(A)) приводит к потере n старших разрядов слова и заполнению младших n разрядов нулями. Например, L1(110110)=101100, L2(110110)=011000.

Циклический сдвиг на n разрядов вправо (A:=СRn(A)) приводит к заполнению n старших разрядов слова значениями n младших разрядов слова. Например, CR2(110110)=101101, то есть четыре старших разряда 1101 переместились на две позиции вправо, а младшие два разряда 10 переместились на место двух старших разрядов.

Циклический сдвиг на n разрядов влево (A:=СLn(A)) приводит к заполнению n младших разрядов слова значениями n старших разрядов слова. Например, CL2(110110)=011011, то есть четыре младших разряда 0110 переместились на две позиции влево, а старшие два разряда 11 переместились на место двух младших разрядов.

Арифметический сдвиг (B:=ARn(B)), при котором значение старшего разряда дублируется в n старших разрядах. Например, AR3(100100)=111100, AR2(100100)=111001.

5. Микрооперации счёта.

В результате их выполнения происходит изменение значения слова на единицу. Микрооперация A:=A+1 называется инкрементированием слова, микрооперация A:=A-1 называется декрементированием слова.

6. Логические микрооперации.

Эти микрооперации присваивают слову значение, получаемое при поразрядном выполнении булевых операций Например, . Выполнение логических операций иллюстрируется на рис. 4.6,а, фрагмент схемы ОА, требуемый для выполнения операции , приведён на рис. 4.6,б

 

 

Рис. 4.6. Выполнение логических микроопераций(а) и фрагмент схемы автомата (б)

 

Выполнение микрооперации инициируется сигналом y2. Отметим, что для всех остальных ранее рассмотренных микроопераций используются фрагменты схемы OA, аналогичные рис. 4.5, при этом в комбинационной схеме пишется знак соответствующий микрооперации (R2,L1,+1 и т.д.).

7. Микрооперация сложения.

Эта микрооперация присваивает слову значение суммы слагаемых. Например, S:=S+A, S:=A+B, . Как видно из этих примеров, приёмник S может служит и источником одного из слагаемых, а значение слагаемых могут инвертироваться. Фрагмент схемы OA для выполнения микрооперации y3# S:=A+B приведён на рис. 4.7.

 

 

Рис 4.7. Схема OA для выполнения операции сложения

 

Как правило, среди типовых микроопераций нет вычитания S:=A-B, так как вычитание в OA сводится к сложению с обратным знаком S:=A+ (-B). К этому классу относится и микрооперация S:=A+B+1.

8. Комбинированные микрооперации.

Эти микрооперации присущи специализированным устройствами каждая из них содержит несколько действий, присущих микрооперациям классов 1-7. Например, S:=R1(A+B), S:=R1(C)+L2(B). Эти микрооперации не относятся к типовым.

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

Как уже отмечалось ранее, для индикации хода процесса выполнения операции операционным автоматом используются логические условия, образующие множество X={ x1,…, xL }. В общем случае, логическое условие - это булева функция yl (S1,…,SI), где S1,…,SI - слова информации. Для вычисления логических условий используются комбинационные схемы, задаваемые соответствующими булевыми функциями. Например, x1 =1, если разряд A[0]=0, приводит к схеме (Рис. 4.8,а), задаваемой функцией Пусть x2 =1, если значения разрядов A[0] и B[0] совпадают. Очевидно, , что приводит к схеме (Рис. 4.8,б). Пусть , если все разряды слова A равняются нулю. Следовательно, , где k-разрядность слова A (Рис. 4.8,в).

 

 

Рис. 4.8. Схемы формирования логических условий

 

При проектировании операционных автоматов удобно представлять алгоритм выполнения операции в виде содержательного графа. Содержательный граф, представленный в терминах микроопераций и логических условий, называется содержательной граф-схемой алгоритма (ГСА).

Граф-схема алгоритма - это ориентированный связный граф, содержащий вершины четырёх типов: начальную, конечную, операторную и условную (Рис. 4.9).

 

 

Рис. 4.9. Типы вершин ГСА

 

Начальная вершина не имеет входа и соответствует началу описания алгоритма. Конечная вершина имеет только вход и соответствует окончанию алгоритма. Операторная вершина имеет один вход и один выход, она соответствует одному такту работы автомата. Условная вершина имеет один вход и два выхода, один из которых отмечен символом "1", второй - "0". Один из выходов условной вершины может быть связан с её входом, что недопустимо для операторной вершины. ГСА удовлетворяет следующим условиям:

1. Содержит конечное число операторных и условных вершин, одну начальную и конечную вершину.

2. Входы и выходы вершин соединяются дугами, направленными от выхода ко входу.

3. Каждый выход соединён только с одним входом.

4. Любой вход соединён по крайней мере с одним выходом.

5. Для любой вершины ГСА существует по крайней мере один путь к конечной вершине.

6. В каждой условной вершине записывается одно логическое условие. Выход вершины, отмеченный символом "1", соответствует истинности этого условия, выход, отмеченный символом "0" – ложности.

7. В каждой операторной вершине записывается набор (возможно пустой) одновременно выполняемых микроопераций.

Если все микрооперации ГСА Г относятся к типовым микрооперациям, то такая ГСА называется функциональной. Рассмотрим пример синтеза функциональных ГСА.

Пример 4.1. Синтезировать функциональную ГСА Г1 для вычисления функции

 

Формирование ГСА является процессом, который трудно формализуется и во многом подобен процессу разработки программ. Функциональная ГСА Г1 приведена на рис. 4.10.

В процессе разработки ГСА Г1 выдержано следующее условие - минимизация числа блоков ГСА без введения дополнительных слов. Другими словами - оптимизация быстродействия (каждая операторная вершина соответствует одному регистру памяти OA).

Первая вершина после начальной называется вершиной инициализации и соответствует присвоению словам A,B,C начальных значений d1, d2, d3 ÎD, где D-множество входных слов. Для выполнения операции S1:=5S1 используется операция S1:=4S1+S1=L2(S1)+S1. Это связано с отсутствием операций умножения среди типовых микроопераций. Отметим, что микрооперация Ln(A) эквивалентна умножению числа A на 2n. Например, A=10102=1010 L2(A)=1010002=4010. Так как 510=1012, то 5A=22×A+20×A=L2(A)+1. Сдвиг вправо на n разрядов соответствует делению числа на 2n, поэтому операция B/4 выполняется как R2(B).

Пример 4.2. Синтезировать функциональную ГСА Г2 для вычисления функции

 

При разработке ГСА Г2 как и ранее будем стремиться к минимизации числа блоков без увеличения числа регистров памяти. Обе части выражения S2 содержат операции A+B и CÅB, которые можно вычислить до проверки условия A>B (Рис. 4.11).

 

 

Рис. 4.10. Функциональная граф-схема алгоритма Г1

 

Задача формирования функциональной ГСА Г является задачей синтеза, для решения которой имеется:

1. Набор типовых микроопераций, который может быть различен для конкретных условий.

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

3. Формулировка задачи.

Отметим, что процесс синтеза функциональной ГСА является искусством, однако необходимые навыки достаточно просто появляются за счёт тренировок.

 

 

Рис. 4.11. Функциональная граф-схема алгоритма Г2

 

 

4.3. Типовые структуры операционных автоматов

 

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

Производительность. Это среднее число микроопераций, выполняемых за один такт работы. Если память автомата состоит из K регистров, то производительность может находиться в пределах от одного до K. Чем выше производительность, тем сложнее комбинационная схема автомата.

Быстродействие. Это величина, обратная длительности такта автомата, которая зависит от структуры КС и времени срабатывания логических элементов и триггеров регистров. Чем выше быстродействие, тем сложнее КС и/или тем дороже составляющие её компоненты.

Затраты оборудования. Это суммарные затраты оборудования в КС и памяти, она имеет денежное выражение. Чем выше производительность и быстродействие автомата, тем выше и затраты оборудования.

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

Универсальность. Это возможность реализации достаточно широкого класса алгоритмов без изменения структуры ОА. Чем выше универсальность, тем менее специализирована структура. Универсальный ОА может выполнять любые вычисления, однако производительность вычислений всегда будет ниже, чем для специализированной структуры.

Пусть память ОА состоит из K регистров R1,…,RK, выходы которых обозначены S1,…,SK соответственно, и пусть каждый регистр содержит n разрядов. Тогда ОА может быть реализован как канонический автомат (Рис. 4.12).

 

Рис. 4.12. Структурная схема канонического автомата

 

Выходы регистров S1,…,SK объединены в общую выходную шину разрядности n K, через которую информация подаётся к комбинационным схемам. Комбинационная схема Фk формирует новое значение слова SK (обозначенное как ), для чего используются слова, образующие множество SkÍS={S1,…,SL} (k =1,…,K). Вычисление слов происходит под воздействием микроопераций, образующих множество Yk, причём yk ÍY является k -м классом разбиения множества Y (k =1,…,K). Комбинационная схема yl формирует значение логического условия xl Î x с использованием подмножества Sk+lÍS, где l =1,…,L. По сигналу Clock новые значения слов заносятся в соответствующие регистры через n K-разрядную входную шину. Перед выполнением операции в регистр Rk заносится начальное значение < dk > слова Sk (k =1,…,K).

Недостаток канонического автомата - избыточность оборудования, что связано с использованием одинаковых элементов (сумматоров, сдвигателей) в разных схемах Фk (k =1,…,K). За счёт такой избыточности достигается максимальная производительность (до К микроопераций за один такт) и быстродействие.

Затраты оборудования можно уменьшить, если в одной схеме Фk использовать только один сумматор, сдвигатель и т.д. Это приводит к появлению мультиплексоров MX1,…,MXK, подсоединяющих к одному операционному элементу различные слова. Такой подход порождает I-автомат (Рис. 4.13), где I - означает „individual”, то есть для вычислений значений каждого слова используется индивидуальная комбинационная схема.

 

 

Рис. 4.13. Структурная схема I-автомата

 

Каждый из мультиплексоров MXk управляется микрооперациями из подмножества Yk и формирует множество слов , поступающих на вход операционных элементов схемы Фk (k =1,…,K).

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

Число операционных элементов в КС можно свести до минимума, если сделать операционные ресурсы (сумматоры, сдвигатели и т.д.) общими для всех регистров. При этом КС будет включать один сумматор, один сдвигатель и т.д. Такой подход порождает M-автомат (Рис. 4.14), где M - означает „Mutual”, то есть для вычисления значения любого слова используется одна общая комбинационная схема Ф:

 

 

Рис. 4.14. Структурная схема M-автомата

 

Информация из регистра Rk поступает в КСФ либо через мультиплексор M1 по сигналу ak, либо через мультиплексор M2 по сигналу bk. Комбинационная схема Ф принимает информацию с выхода A1 и A2 мультиплексоров и выполняет элементарную обработку информации, формируя выходные значения Z1,…,ZI (Например, Z1:=A1+A2, Z2:=R1(A1)). Результат выполнения требуемой операции выбирается на шину Z через мультиплексор M3 по сигналу ji (i =1,…,I). Начальные значения слов < d1 >,…,< dK > поступают на шину Z по сигналу jI+1,…, jI+K соответственно. Новые значения слов заносятся в регистры R1,…,RK по сигналу C1,…,CK соответственно. Логические условия x1,…, xy формируются схемой y, при этом y £L. Это связано с тем, что, например, условие x1 # R1[0]=1 и x2 # R2[0]=1 отображаются одним условием xj # Z[0]=1. Отметим, что шины A1,A2 и Z имеют размерность n, что в K раз меньше размерности шин I-автомата.

Анализ схемы M-автомата показывает, что в каждом такте здесь выполняется только одна микрооперация исходной функциональной ГСА. Следовательно, M-автомат имеет минимальную производительность, что компенсируется высокими регулярностью и универсальностью структуры, а также минимально возможными аппаратурными затратами. Наличие мультиплексора M3 вносит дополнительную задержку в такт работы M-автомата по сравнению с I-автоматом.

Стремление повысить производительность и сохранить низкие аппаратурные затраты приводит к автоматам, характеристики которых занимают промежуточное значение по сравнению I- и M-автоматами. Такие устройства получили название IM-автоматов, которые разделяются по способу организации комбинационной схемы.

IM-автоматы с параллельной комбинационной схемой (IMp-автоматы) включают комбинационные схемы Ф1 для выполнения двухместных микроопераций (сложение, конъюнкция) и Ф2 для выполнения одноместных микроопераций (инверсия, сдвиг), а также схемы y1 и y2 для вычисления логических условий (Рис. 4.15).

IMp-автоматы можно рассматривать как композицию двух M-автоматов с общей памятью R1,…,RK. Первый автомат включает мультиплексоры M1,M2,M4 и схемы Ф1 и y1, второй - M3,M52 и y2. Назначение управляющих сигналов a, b, c, d, e, j, y очевидно по аналогии с M-автоматом. При такой организации IMp-автомат может выполнять одновременно по две микрооперации исходной функциональной ГСА и результаты появляются параллельно на шинах Z1 и Z2. Удвоение производительности по отношению к M-автомату связано с введением двух дополнительных мультиплексоров, то есть затраты оборудования в IMp-автомате больше, чем в M-автоматах.

 

Рис. 4.15. Структурная схема IM-автомата с параллельной комбинационной схемой

 

Очевидно производительность и затраты оборудования в IMp-автомате растут по мере увеличения числа схем Фi. При i =K IMp-автомат вырождается в I-автомат.

IMp-автоматы с последовательной комбинационной схемой (IMs-автоматы) включают три комбинационные схемы Ф1s для выполнения микроопераций и схему y для вычисления логических условий (Рис. 4.16).

 

 

Рис. 4.16. Структурная схема IM-автомата с последовательной комбинационной схемой

 

Информация из регистров S1,…,SK попадает через M1 и M2 на шины A1 и A2. Схема Ф1 выполняет одноместные микрооперации инверсии слова или некоторых его разрядов. По сигналу ai (i=1,…,I) через M3 на шину A3 передаётся результат выполнения микрооперации ai (A1). Схема Ф2 выполняет двухместные операции, результат которых bj(A2,A3) передаётся на шину A4. Схема Ф3 выполняет операции сдвига и формирует окончательный результат выполнения комплексной микрооперации γg (bj (A2, ai (A1))), передаваемый через мультиплексор M5 на шину Z. Начальные значения для регистров <D>={< d1 >,…,< dK >} также передаются через мультиплексор M5.

Очевидно, IMs-автомат способен выполнить за один такт до трёх микроопераций функциональной ГСА, что связано с увеличением времени такта по сравнению с M-автоматом. Производительность IMs-автомата может быть увеличена за счёт увеличения числа уровней в комбинационной схеме. Предельным случаем IMs-автомата является заказная схема, выполняющая операцию за один такт. Например, для ГСА Г1 (Рис. 4.10) специализированная схема имеет вид (Рис. 4.17).

 

 

Рис. 4.17 Специализированная схема выполняющая вычисление функции

 

Пусть tS, ti, tSh, tM, tR - время выполнения соответствующих микроопераций сумматором, инвертором, сдвигателем, мультиплексором и время записи информации в регистр соответственно. Пусть CK - затраты оборудования в автомате с канонической структурой, CM - затраты оборудования для реализации мультиплексора. Тогда характеристики операционных автоматов можно представить следующим образом (Табл. 4.1).

 

Таблица 4.1

Характеристики операционных автоматов

Тип ав- томата Произ- води-тельность Затраты оборудо- вания Длительность такта Регу-лярность Универсаль-ность
I ≤ K max CK+KCM max tR + tM + tS = tI min Низкая Низкая
M ≤ 1 min CK+3CM min tI + tM + ty Высокая Высокая
IMp ≤ 2 CK+5CM   tI + tM + ty Высокая Высокая
IMs ≤ 3 Cmin+5CM tI +3 tM + ti + tsh + ty Max Высокая Высокая

 

Здесь Cmin - минимальные затраты оборудования в комбинационной схеме, когда используется один сумматор, один сдвигатель и т.д., ty - время формирования логических условий схемой y. Время выполнения операции суммирования является максимальным среди всех времён выполнения микрооперации, поэтому при определении длительности такта учитывалось время tS. Для оценки IM-автоматов в табл. 4.1 рассмотрены классические структуры, приведённые на рис. 4.15 и 4.16.

Отметим, что табл. 4.1 даёт только общую характеристику различных операционных автоматов. Значительное воздействие на все характеристики ОА оказывает функциональная ГСА. Поэтому окончательный выбор структуры ОА может быть сделан только на основании критериев эффективности схемы (например, максимальное быстродействие при заданной стоимости) и анализе функциональной ГСА.

Рассмотрим методы синтеза схем операционных автоматов I, M, IMp и IMs, иллюстрируя их на примере ГСА Г3 (Рис. 4.18)

В ГСА Г3 каждой элементарной операции обработки информации поставлено в соответствие микрооперация yn, соответствующая этому действию: yn ÎY={ y1,…, y18 }. При этом одинаковым действиям соответствуют одни и те же микрооперации, например, везде обозначена как y9.

Каждой проверке в ГСА сопоставлено отдельное логическое условие, в нашем случае множество X={ x1, x2 }.

 

 

Рис. 4.18. Функциональная граф-схема алгоритма Г3

Все методы синтеза начинаются с формирования памяти ОА, для чего анализируются типы слов ГСА. Существуют слова трёх типов:

1. Входные слова (тип I) - это слова, для которых выполняются операции инициализации вида Si:=< di >.

2. Выходные слова (тип O) - это результаты выполнения операций.

3. Внутренние слова (тип L) - это слова, значения которых меняются в ходе выполнения алгоритма.

В ГСА Г3 содержатся слова A (тип IL), B(тип IL), C(тип IL), D(тип IL), S1(тип OL) и S2(тип OL). Каждому слову типа L соответствует регистр памяти, разрядность которого совпадает с разрядностью слова. Автоматы, реализующие представленный ГСА Г3 алгоритм, содержат память, состоящую из шести регистров: RA, RB, RC, RD, RS1 и RS2.

 

 

4.4. Синтез I-автоматов

 

Методы синтеза I-автоматов включает следующие этапы.

1. Формирования памяти автомата. В рассматриваемом примере память содержит шесть регистров. Каждому входному слову ставится в соответствие входной полюс автомата, связанный с соответствующим регистром. Каждому выходному слову ставится в соответствие выходной полюс схемы, связанный с соответствующим регистром.

Условимся обозначать I-автомат, схема которого синтезируется по ГСА Г, символом I(Г). Память входные и выходные полюса автомата I(Г3) показаны на рис. 4.19.

 

 

 

Рис. 4.19. Память автомата I(Г3)

 

 

Здесь принято, что регистры имеют разрядность n =16. Автомат имеет четыре входных полюса < d1 >-< d4 >, информация с которых заносится в регистры по сигналам y1 - y4 соответственно, и два выходных полюса <r1> и <r4>.

2. Разбиение множества микроопераций на классы эквивалентных микроопераций. Микрооперации yn, ym ÎY называются эквивалентными, если они вычисляют новое значение одного итого же слова и относятся к одному классу типовых микроопераций. Например, для микроопераций

 

y1 # S1:=A+B,

y2 # S1:=R1(A),

y3 # S2:=A+B,

y4 # S1:=C+D,

 

только y1 и y4 являются эквивалентными. Микрооперации y1 и y2 относятся к разным классам типовых микроопераций, а микрооперации y1 и y3 имеют разный приёмник информации.

Обозначим разбиение множества Y как ПY={B1,…,BJ}, где BjÎ ПY - класс эквивалентных микроопераций. Для автомата I(Г3) ПY={B1,…,B13}, где B1={ y1 },…, B4={ y4 }, B5={ y5 }, B6={ y6, y15 },B7={ y7 }, B8={ y8, y16 }, B9={ y9 }, B10={ y10 }, B11={ y11, y14 }, B12={ y12, y17 }, B13={ y13, y18 }. Микрооперации y12 и y17 помещены в один блок, так как сдвиг влево сводится к сложению L1(S2)=S2+S2.

3. Формирование обобщённых операторов. Обобщённый оператор - это специальная форма представления эквивалентных микроопераций. Например, микрооперации y1 # S1:=A+B и y2 # S1:=C+D, могут быть представлены обобщённым оператором S1:=A1+A2, где

 

 

 

 

Этому оператору соответствует схема (Рис. 4.20,а), где выражение A1 и A2 реализуются мультиплексорами.

 

 

Рис. 4.20. Реализация эквивалентных микроопераций с обобщёнными операторами(а) и без них(б)

 

Такой подход позволяет уменьшить число дорогостоящих операционных элементов, в данном случае - сумматоров. При реализации микроопераций y1 и y2 без использования обобщённых операторов схема включает два сумматора (Рис. 4.20,б). Выражение для A1 может быть записано как .

Для автомата I(Г3) имеем:

4. Разбиение множества микроопераций по признаку результирую-щих слов. Представим множество Y в виде объединения множеств YSÍY, соответствующих микрооперациям, вычисляющим новое значение слова S. В нашем случае , где

5. Синтез комбинационной схемы автомата. Каждому множеству YS, полученному на предыдущем этапе соответствует часть комбинационной схемы. Если множество YS включает более одного элемента, то выходы соответствующих операционных элементов поступают на мультиплексор. Например, классу YD соответствует подсхема (Рис. 4.21). Так как микрооперациям y13 и y18 соответствует обобщённый оператор, то он использован при синтезе схемы. Микрооперация y 4 относится к микрооперациям инициализация и её реализация показана на рис. 4.19.

Рис. 4.21. Фрагмент подсхемы для множества YD

 

Объединение подсхем для всех множеств YSÍY в одну комбинационную схему и её связь с памятью позволяют получить схему автомата (Рис. 4.22).

 

Рис. 4.22. Функциональная схема автомата I(Г3)

В эту схему входят и две комбинационные схемы, формирующие логические условия x1 # A>0 и x2 # S1>S2.

Оценим характеристики этой схемы: EI(Г) - производительность при реализации алгоритма Г; QI(Г) - затраты оборудования при реализации алгоритма Г; TI(Г) - длительность такта при реализации алгоритма Г; ФI(Г) - время выполнения алгоритма Г.

Производительность любого автомата Е(Г) можно оценить по формуле

(4.1)

 

 

где N(Г) - суммарное число микроопераций в операционных вершинах ГСА Г, О(Г) - число операционных вершин. Для автомата I(Г3) имеем N(Г)=22, О(Г)=9, следовательно EI3)=2,44.

Затраты оборудования проще всего оценить в денежном исчислении, однако это можно сделать и в условных единицах. Примем затраты оборудования в сумматоре за единицу, а в остальных операционных элементах за 0.1. Схема I(Г3) включает 4 сумматора, 3 инвертора, один сдвигатель, один сумматор по модулю два и 3 мультиплексора. Таким образом, QI3)=4,8. Так как память у всех автоматов одинакова, то она не принимается во внимание при оценки ОI(Г).

Для определения времени такта необходимо знать время переключения каждой схемы. Пусть t - время переключения схемы И-НЕ. Причем, что время переключения сумматора tS =20 t, а время переключения сдвигателя tsh, инвертора tI и мультиплексора tM равняется 2 t, время переключения триггера tr - 6t. Для I-автомата

(4.2)

 

где tкс =max(ts, tsh, tI)+2 tM = tS +2 tM - время переключения комбинационной схемы. Для рассматриваемого примера TI3)=22 t +6 t =30 t.

Для определения ФI(Г) необходимо найти среднее число тактов работы автомата при выполнении алгоритма Г- nI (Г), и затем умножить nI (Г) на TI(Г). Параметр nI (Г) можно найти статистически, многократно моделируя выполнение алгоритма при разных начальных данных. Этот параметр можно считать, используя следующую процедуру:

1. Найти все пути a1,…, ay, ведущие из начальной ГСА в конечную.

2. Для пути aj найти число входящих в него операционных вершин nj (j=1,…,J).

3. Определить параметр n (Г)= n1 +…+ nJ.

4. Разделить n (Г) на J, полученный результат даёт параметр nI (Г).

 

 

Итак, время выполнения алгоритма можно определить по формуле

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...