Метод синтеза М-автоматов включает следующие этапы.
⇐ ПредыдущаяСтр 2 из 2 1. Формирование памяти автомата. Этот этап выполняется также как и для I-автомата. Пусть М(Г) означает М-автомат, синтезируемый по ГСА Г, тогда М(Г3) имеет память, состоящую из 16-разрядных регистров RA,RB,RC,RD,RS1 и RS2. 2. Распределение регистров по шине. В структуре на рис. 4.14 для передачи информации из регистров к операционным элементам используются шины А1 и А2, которые являются выходами мультиплексоров М1 и М2, поэтому целесообразно разбить множество регистров на два непересекающихся подмножества. Если это невозможно из-за особенностей ГСА, то распределение регистров необходимо выполнить так, чтобы пересечение множеств А1ÇА2 было минимальным. Здесь Аi означает множество регистров, связанных с мультиплексором Мi (i=1,2). Определяющим фактором при распределении регистров являются бинарные операции. Например, если S=A+B, то регистры RA и RB должны быть помещены в разные множества А1 и А2. Так, для автомата М(S3) имеем А1={A,C,S1,S2},A2={A,B,C,D,S2}, причём S2 помещено в оба множества из-за необходимости выполнить микрооперацию L1(S2)=S2+S2, A,B,C помещены в множество А2, чтобы операции выполнялись одним инвертором, связанным с шиной А2. В нашем случае шины А1 и А2 имеют разрядность n =16, совпадающую с разрядностью слов. Если в ОА имеются регистры, разрядность которых меньше разрядности шин, то необходимо осуществлять выравнивание информации, например, по правому краю. 3. Формирование таблицы операторов М-автомата. Как видно из рис. 4.14, для выполнения микроопераций yn ÎY необходимо выработать сигналы ai, bj, ck,jg, называемые операторами. Для определения операторов необходимо построить таблицу со столбцами yn, A1, A2, Z, RS, отражающую структуру М-автомата. Например, чтобы выполнить микрооперацию y7 #C:=A+B, необходимо выполнить совокупность операторов A1:=RA, A2:=RB, Z:=A1+A2, RC:=Z, которые должны быть записаны в соответствующих столбцах таблицы. Естественно, что одинаковые операторы должны быть обозначены буквами с одинаковыми индексами. Результирующую таблицу назовём таблицей операторов. Таблица операторов М(Г3) автомата (Табл. 4.2) содержит N=18 строк, что совпадает с числом микроопераций исходной функциональной ГСА Г3.
4. Формирование логических условий. Как видно из структуры М-автомата, все логические условия формируются схемами, связанными с шиной Z. Поэтому формулы для логических условий функциональной ГСА должны быть преобразованы. Так, условие x1 # A>0 преобразуется в условие x1 # Z >0. Для формирования условия x2 # S1>S2 необходимо, чтобы на шину Z были одновременно поданы регистры RS1 и RS2, что невозможно. Очевидно, что для хранения одного из слов будет необходим дополнительный регистр RZ, связанный с шиной Z. Если в RZ занести слово S2,то условие x2 будет вычисляться как x2 # Z>RZ. Информация в регистр RZ должна заносится по оператору с6. 5. Синтез функциональной схемы автомата. Схема М-автомата строится непосредственно по таблице операторов. Здесь столбец RS определяет память автомата и сигналы загрузки информации в память из шины Z. Столбцы А1 и А2 определяют мультиплексоры А1 и А2, а также сигналы передачи информации из памяти через мультиплексоры к комбинационной схеме. Столбец Z определяет операционные элементы и сигналы, передающую информацию от комбинационной схемы к мультиплексору Z. Схема формирования логических условий реализует условия xl ÎX, изменённые с учётом структуры схемы ОА. Функциональная схема автомата М(Г3) приведена на рис. 4.23.
Таблица 4.2 Таблица операторов автомата М(Г3)
6. Формирование преобразованной граф-схемы алгоритма. Очевидно, что управляющий автомат для М-автомата должен формировать операторы ai, bj, ck, jg вместо микроопераций yn ÎY, содержащихся в функциональной ГСА. Кроме того, в М-автомате допускается выполнение только одной микрооперации за один такт работы. Для проверки значений логических условий также могут понадобиться дополнительные такты работы. Например, для формирования условия x1 # A>0 необходимо переслать информацию из регистра RA на шину Z. Таким образом, для формирования преобразованной ГСА необходимо: - представить каждую вершину функциональной ГСА как последовательность операторных вершин, каждая из которых содержит только одну микрооперацию; - заменить микрооперации в каждой вершине соответствующим набором операторов М-автомата; - ввести дополнительные операторные вершины для формирования логических условий.
Рис. 4.23. Функциональная схема М-автомата, реализующего граф-схему алгоритма Г3
При „расщеплении” вершин исходной ГСА необходимо учитывать зависимость микроопераций по данным. Микрооперация yn ÎY зависит по данным от микрооперации ym ÎY, если результата выполнения микрооперации y m является операндом для микрооперации yn. Рассмотрим некоторые примеры (Рис. 4.24)
Рис. 4.24. Формирование преобразованной ГСА
Микрооперации y3 и y4 не зависят по данным (Рис. 4.24,а), поэтому в преобразованной ГСА они могут следовать в произвольном порядке, например < y3, y4 > (Рис. 4.24,б). Микрооперация y5 зависит по данным от микрооперации y3 (Рис. 4.24,в), поэтому вначале должна выполняться микрооперация y5, в которой используется значение S1, не изменённое микрооперацией y3. Микрооперации y6 и y7 взаимосвязаны по данным (Рис. 4.24,д), поэтому любой порядок их выполнения - < y6, y7 > или < y7, y6 > - приведёт к ошибке. Для устранения этого конфликта необходимо ввести дополнительное слово D, то есть регистр, и дополнительную микрооперацию y8 # D:=S1 (Рис4.24,е). Тогда микрооперация y7 преобразуется к виду y9 # S2:=D+C, что приводит к последовательности < y8, y6, y9 >. Такое преобразование связано с увеличением времени выполнения алгоритма и введением дополнительного регистра.
Для формирования логических условий также может потребоваться введение дополнительных вершин. Например, для выполнения проверки x1 # A>0 (Рис. 4.25,а) в преобразованную ГСА необходимо ввести дополнительную вершину для передачи содержимого регистра А на шину Z (Рис. 4.25,б). Исходя из того, что к моменту проверки операнд должен находиться на шине Z, вершину (Рис. 4.25,в) необходимо преобразовать в последовательность < y4, y3 >, что приводит к результату (Рис. 4.25,г) с двумя операторными вершинами. Если же последовательность микроопераций будет иметь вид < y3, y4 >, то перед проверкой необходимо выполнить действие Z:=RS, что увеличивает время выполнения алгоритма. Отметим, что порядок выполнения микроопераций - < y3, y4 > или < y4, y3 > - не будет иметь значения, если в схеме иметься дополнительный регистр RZ, выходы которого связаны со схемой формирования логических условий (Рис. 4.26,а). В этом случае при выполнении микрооперации y3 необходимо занести в регистр RZ содержимое шины Z, что приводит к двум вариантам преобразованной ГСА (Рис. 4.26,б - 4.26,в).
Рис. 4.25. Формирование логических условий
Рис. 4.26. Формирование логических условий с дополнительным регистром
Преобразуем с учётом этих замечаний функциональную ГСА Г3. Для проверки x1 # A>0 (Z>0) необходимо, чтобы микрооперация y1 выполнялась непосредственно перед проверкой логического условия, то есть вершина b1 представляется последовательностью < y2, y3, y4, y1 >. Для проверки x2 # S1>S2 (Z>RZ) необходимо выполнить микрооперацию y11 (вершина b8) непосредственно перед этой проверкой. Следовательно, вершина b8 преобразуется в последовательность < y9, y18, y11 >. Как показывает анализ вершин b2 - b9 ГСА Г3, в них отсутствует зависимость по данным, поэтому вершина b2 =< y5, y6, y7 > (то есть представляется в виде трёх операторных вершин, соответствующим микрооперациям в векторе b2), b3 =< y8, y9, y10 >, b4 =< y11, y12, y13 >, b5 =< y8 >, b6 =< y14, y15 >, b7 =< y16, y17 >, b9 =< y12 >. Замена микроопераций ynÎY совокупностью операторов из табл. 4.2 приводит к преобразованной ГСА Г3(М) (Рис. 4.27) здесь символ „М” подчёркивает тот факт, что ГСА преобразована для выполнения алгоритма М-автоматом.
Определим характеристики автомата М(Г3), используя методику, рассмотренную для I-автомата. Производительность Ем(Г3)=1, так как каждая операционная вершина преобразованной ГСА содержит по одной микрооперации и ни одной дополнительной вершины не было введено. Схема включает один сумматор, один инвертор, один сумматор по модулю 2, один многоразрядный инвертор и три мультиплексора. Следовательно, затраты оборудования Ом(Г3)=1,6. Длительность такта Т м(Г3) определим по формуле (4.2), где tкс = = tS +2 tМ + tR =20 t +4 t +6 t =30 t. Как и ранее существует три ветви алгоритма, однако в М-автомате они существенно длиннее, чем в I-автомате.
Рис. 4.27. Преобразованная граф-схема алгоритма Г3(М)
Итак в ГСА Г3(М) существуют ветви: a1 =< b1,…, b4, b5,…, b14 >, a2 =< b1,…, b4, b15,…, b22 >, a3 =< b1,…, b4, b15,…, b21, b14 >, n1 =14, n2 =12, n3 =12. Исходя из (4.3), имеем:
Итак, автомат М(Г3) имеет следующие характеристики: - производительность ЕМ(Г3)=1; - затраты оборудования Ом(Г3)=1,6; - длительность такта ТМ(Г3)=30 t; - время выполнения алгоритма ФМ(Г3)= 378 t +12,6 tуа.
Отметим, что в М-автомате существует возможность использования однотактных триггеров в регистрах памяти. С этой целью в схему вводится регистр RZ, синхронизируемый сигналом Clock1 (Рис. 4.28). Информация с выходов регистра RZ заносится в регистры памяти R1,…,RK по сигналу Clock2. При этом все регистры строятся по однотактных триггерах. Если при обычной организации (Рис. 4.14) требуется 2 n K однотактных триггеров, то при использовании дополнительного регистра RZ требуется только n K+ n = n (K+1) триггеров. Такой подход даёт выигрыш в числе триггеров, определяемой как Очевидно, что стоимость памяти пропорциональна числу триггеров. Поэтому использование дополнительного регистра позволяет уменьшить стоимость памяти М-автомата почти в два раза по сравнению с I-автоматом.
Рис. 4.28.Оптимизация памяти М-автомата
4.6. Синтез IM-автоматов с параллельной комбинационной схемой
Как уже отмечалось IMp-автомат представляет собой композицию двух М-автоматов с общей памятью. Рассмотрим метод синтеза IMp-автомата на примере ГСА Г3 (Рис. 4.18), используя для него обозначение IMp(Г3). 1. Формирование памяти автомата. Анализ слов ГСА Г3 показывает, что память IMp(Г3) - автомата содержит шесть 16-разрядных регистров. 2. Разбиение множества микроопераций на классы. В данном случае множество Y необходимо разбить на два класса - класс одноместных микроопераций Y1 и класс двухместных микроопераций Y2. Для ГСА Г3 имеем: Y1={ y5, y6, y10, y11, y14, y15, y1, y2 } и Y2={ y7, y8, y9, y12, y13, y16, y17, y18, y3, y4 }. Отметим, что микрооперация y12 помещена в класс Y2, так как она выполняется путём сложения S2+S2. Микрооперации занесения начальных значений y1 - y4 равномерно распределены на множества Y1 и Y2, что способствует ускорению алгоритма по сравнению с М-автоматом. 3. Распределение регистров по шинам. Для этой цели формируются множества А1-А3, соответствующие мультиплексорам М1-М3 схемы IMp-автомата (Рис. 4.15). При распределении используются те же правила, что и для М-автомата. Для автомата IMp(Г3) имеем A1={A,C,S1,S2}, A2={A,B,S1,S2}, A3={A,B,C,S1}. 4. Формирование таблицы операторов для одноместных микроопераций. Для решения этой задачи строится таблица со столбцами yn, A3, Z2, RS, отражающая элементы М-автомата, выполняющего одноместные микрооперации. Для автомата IMp(Г3) эта таблица имеет восемь строк, что соответствует мощности множества Y1 (Табл. 4.3). 5. Формирование таблицы операторов для двухместных микроопераций. Эта таблица имеет столбцы yn, A1, A2, Z1, RS и отражает элементы М-автомата, выполняющего двухместные микрооперации. Для автомата IMp(Г3) эта таблица имеет десять строк, что соответствует мощности множества Y2 (Табл. 4.4). Отметим, что суммарно табл. 4.3 и табл. 4.4 имеют 18 строк, что соответствует мощности множества Y=Y1ÈY2 и совпадает с длиной таблицы операторов автомата М(Г3). 6. Формирование логических условий. Так как информация в регистр RA заносится через шину Z2, то условие x1 # A>0 вычисляется, как x1 # Z>0. Так как содержимое регистров RS1 и RS2 может быть одновременно передано на шины Z1 и Z2, то условие x2 # S1>S2 вычисляется, как x2 # Z1>Z2, то есть в IMp(Г3)-автомате не требуется дополнительный регистр RZ, используемый автоматом M(Г3).
Таблица 4.3 Таблица операторов для одноместных микроопераций
Таблица 4.4 Таблица операторов автомата М(Г3)
7. Синтез функциональной схемы автомата. Этот этап выполняется так же, как для М-автомата. Вначале формируется память автомата, затем строится комбинационная схема. Столбец А1 определяет связи между регистрами и мультиплексором А1, столбец А2-А2, столбец RS задаёт связи между шиной Z1 и регистрами памяти, столбец Z1 задаёт операционные элементы для выполнения двухместных микроопераций. Столбец А3 задаёт связи между памятью и мультиплексором А3, столбец Z2 задаёт операционные элементы для выполнения одноместных микроопераций, столбец RS задаёт связи между шиной Z2 и памятью автомата. Функциональная схема автомата IMp(Г3) представлена на рис. 4.29. Отметим, что как и для М-автомата, память IMp-автомата может быть синтезирована на однотактных триггерах, однако в этом случае необходимо вводить два однотактных регистра RZ1 и RZ2, связанных с соответствующими шинами (Рис. 4.30). 8. Формирование преобразованной граф-схемы алгоритма. В каждом такте IMp-автомат может выполнять пару микроопераций < yn, ym >, где yn ÎY1, ym ÎY2. Следовательно, в операторных вершинах преобразованной ГСА должно быть не более двух микроопераций, представленных соответствующими операторами. При преобразовании ГСА необходимо учитывать зависимость между микрооперациями по данным. Например, микрооперации y1 #S1:=A+B и нельзя выполнять одновременно, если в y1 используется инверсное значение слова А. Преобразованная граф-схема алгоритма Г3(IMp) приведена на рис. 4.31. Отметим, что в ГСА Г3(IMp) введена дополнительная вершина для передачи содержимого регистров RS1 на шину Z1 и RS2 - Z2. Для осуществления передачи Z2:=RS2 введены дополнительные связи с5, y5, которые отсутствуют в таблице операторов. Для передачи Z1:=RS1 используется операция сложения Z2:=RS2+0. Вершина b14 введена для возможности проверки условия x2 # Z1>Z2. Определим характеристики автомата IMp(Г3), используя формулы (4.1) - (4.3). Производительность Ер(Г3) автомата IMp(Г3) определяется по формуле (4.1). Преобразованная ГСА Г3(IMp) содержит О(Г3)=15 операторных вершин, содержащих суммарно N(Г3)=22 микрооперации исходной ГСА Г3. Отметим, что вершина b14 не содержит микрооперации yn ÎY. Итак, Ер(Г3)=22/15=1,47. Схема автомата IMp(Г3) содержит по одному сумматору, сумматору по модулю два, инвертору и сдвигателю, а также пять мультиплексоров. Следовательно, затраты оборудования Ор(Г3)=1,8. Время такта Тр(Г3)= tS +2 tM + tR =20 t +4 t +6 t =30 t.
Рис. 4.29. Функциональная схема автомата IMp(Г3)
Рис. 4.30. Оптимизация памяти IMp-автомата
Рис. 4.31. Преобразованная граф-схема алгоритма Г3(IMp) Как и ранее, ГСА Г3(IMp) содержит три ветви: a1 =< b1,…, b8 >, a2 =< b1, b2, b9,…, b14, b8 >, a3 =< b1, b2, b9,…, b15 >, n1 =8, n2 = n3 =9. Исходя из (4.3), имеем
Итак, автомат М(Г3) имеет следующие характеристики: - производительность ЕМ(Г3)=1,47; - затраты оборудования Ом(Г3)=1,8; - длительность такта ТМ(Г3)=30 t; - время выполнения алгоритма ФМ(Г3)= 260 t + 8,7 tуа.
4.7. Синтез IM-автомата с последовательной комбинационной схемой
Комбинационная схема IMs-автомата состоит из трёх схем Ф1 - Ф3, включённых последовательно (Рис. 4.16). Для эффективного использова-ния этих схем необходимо сформировать комбинированные микрооперации, соответствующие этой структуре. Рассмотрим метод синтеза IMs-автомата на примере ГСА Г3 (Рис. 4.18), используя для него обозначение IMs(Г3). 1. Формирование памяти автомата. Как и в предыдущих случаях, память IMs(Г3)-автомата состоит из регистров RA,RB,RC,RD,RS1,RS2. 2. Разбиение регистров по шинам. Для этой цели формируются множества А1 и А2, соответствующие мультиплексорам М1 и М2. Мультиплексор М1 связан со схемой Ф1, осуществляющей операцию инвертирования, поэтому регистру RA,RB и RC должны входить в множество А1. Итак, для автомата IMs(Г3) имеем А1={A,B,C,S1,S2}, А2={A,B,D,S2}. 3. Формирование комбинированных микроопераций. Структура IMs-автомата соответствует последовательности микроопераций <инверсия, двухместная операция, сдвиг>. Комбинированные микрооперации соответствуют последовательностям < инверсия, двухместная операция сдвиг >,< инверсия, двухместная операция >,< инверсия, сдвиг >. В ГСА Г3 можно выделить следующие последовательности: S1=<y5(b2), y8(b3), y11(b4)>, S2=<y6(b2), y9(b3), y12(b4)>, S3=<y10(b3), y13(b4)>, S4=<y15(b6), y17(b7)>, S5=<y16(b7), y11(b8)>. Здесь yn(bi) обозначает микрооперацию yn из вершины bi. В последовательность S2 введена микрооперация y12, что требует введения в ОА операционного элемента - сдвигателя на один разряд влево. Такое введение оправдано тем, что назначение IMs-автомата - уменьшение времени выполнения алгоритма. Полученные последовательности порождают комбинированные микрооперации. Последовательности S1 соответствует комбинированная микрооперация Сформируем модифицированное множество микроопераций Y0 IMs-автомата, исключив из Y микрооперации, входящие только в последовательности Sj. Так, микрооперация y5 входит в S1 и не входит ни в один блок ГСА Г3, кроме блока b2. Поэтому микрооперация y5 исключается из Y. Микрооперация y8 входит в блок b3 (последовательностью S1) и в блок b5, следовательно, микрооперацию y8 исключить нельзя. Итак, для ГСА Г3 имеем Y0={ y1,…, y4, y7, y8, y9, y12, y14, y18, y19,…, y23 }. 4. Формирование таблицы операторов IMs-автомата. Эта таблица отражает выполнение микроопераций yn ÎY0 операционным автоматом с заданной структурой (Рис. 4.16). Таблица имеет столбцы yn, A1, A2, A3, A4, Z, RS (Табл. 4.5). Как видно из табл. 4.5, если микрооперация yn не использует ресурсы схемы Фi (i=1,2,3), то схема Фi служит просто для передачи информации. Это соответствует прямой связи, например, между А1 и А3, управляемой оператором a1. Чтобы не вводить такую связь в схему Ф2, при выполнении операции А4:=А1 (микрооперация y14) используется сумматор схемы Ф2. Так как информация на шине А2 отсутствует и А3ºА1 (по оператору a1), то имеем b1 # А4:=А2+А3=0+А3=А1. Такое выполнение микрооперации не влияет на длительность такта автомата, так как этот параметр расчитывается, исходя из времени выполнения самой медленной микрооперации на каждом из уровней Ф1-Ф3. 5. Формирование логических условий. Этот этап выполняется аналогично его выполнению в М-автомате. Схема y связана с шиной Z, поэтому проверяемая информация должна быть передана на эту шину. Условие x1 # A>0 вычисляется как x1 # Z>0, а для проверки условия x2 # S1>S2 необходимо ввести в схему регистр RZ, в который по оператору с6 заносится новое значение слова S2, вычисленное комбинационной схемой. Теперь условие x2 вычисляется как x2 # Z>RZ. 6. Синтез функциональной схемы автомата. Схема строится по таблице операторов, используя те же правила, что и для IMp-автомата. Отметим, что схема IMS(Г3)-автомата (Рис. 4.32) содержит сдвигатель L1, чего не было в M(Г3)- и IMр(Г3)-автоматах, для уменьшения числа вершин.
Таблица 4.5 Таблица операторов автомата IMS(Г3)
7. Формирование преобразованной граф-схемы алгоритма. Преобразованная ГСА IMS(Г3) содержит микрооперации yn ÎY0, выраженные через операторы IMS-автомата. При формировании ГСА Г(IMS) необходимо учитывать зависимость по данным между микрооперациями yn ÎY0. Для нашего примера ГСА Г3(IMS) представлена на рис. 4.33. Определим характеристики автомата IMS(Г3), используя формулы (4.1) - (4.3). Преобразованная ГСА Г3(IMS) содержит О(Г3)=15 операторных вершин, в которых содержится N(Г3)=22 микрооперации из исходной ГСА Г3. Таким образом, производительность автомата IMS(Г3) ЕS(Г3)=22/14=1,46.
Рис. 4.32. Функциональная схема IMS(Г3)-автомата
Схема автомата IMS(Г3) содержит один сумматор, один инвертор, один сумматор по модулю 2, сдвигатель вправо и сдвигатель влево, а также пять мультиплексоров. Следовательно, затраты оборудования ОS(Г3)=1,9. Время такта ОА в данном случае складывается из 4 tM, tI, tS, tSh и tR. Следовательно время такта Тр(Г3)=38 t. Как и ранее, ГСА Г3(IMp) содержит три ветви: a1 =< b1,…, b9 >, a2 =< b1,…, b4, b10,…, b14, b9 >, a3 =< b1,…, b4, b10,…, b15 >, n1 =9, n2 = n3 =10. Итак, суммарное число вершин в ветвях n(Г3)=29, среднее число вершин в ветви nS (Г3)=9,7. По формуле (4.3) имеем время выполнения алгоритма Итак, IМ(Г3)-автомат имеет характеристики: - производительность ЕМ(Г3)=1,46; - затраты оборудования Ом(Г3)=1,9; - длительность такта ТМ(Г3)=38 t; - время выполнения алгоритма ФМ(Г3)= 328,6 t +9,7 tуа. Естественно, параметр ФS(Г ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|