logo search
Ответы на вопросы экз

52. Эквивалентные операции и обобщенный оператор

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

y1: s4:= s1+s2; y2: s5:= s1+s3 +1,

где y1 и y2 – управляющие сигналы, реализующие одну и ту же функцию сложения над различными словами. В канонической структуре для реализации этих микроопераций необходимы две комбинационные схемы – два сумматора (рис. 6. 17а). Чтобы уменьшить затраты оборудования в операционном автомате, можно использовать только один сумматор(рис. 6.17б). В этом случае сумматор подключается к регистрам s2 s3 управляемыми шинами, с помощью которых вход А1 сумматора соединяется с регистром s2или s3. Когда выполняется микрооперация y1, на вход А1 поступает значение s2, а при выполнении микрооперации y2 – значение s3. Аналогичным образом константа 1 поступает на вход А2 сумматора только при выполнении микрооперации y2. Таким образом, одна комбинационная схема может использоваться для выполнения нескольких микроопераций, эквивалентных в смысле реализованных функций. За счет этого могут быть уменьшены затраты оборудования в операционном автомате. Использование одной комбинационной схемы для выполнения нескольких микроопераций исключает совместимость этих микроопераций. Так, функционально совместимые микрооперации в структуре (рис. 6.17а) могут выполняться в одном такте и становятся несовместимыми в структуре (рис. 6.17б), т.е. могут выполняться только в различных тактах. Если в функциональной микропрограмме микрооперации y1 и y2 использовались совместно в одной операторной вершине, то при использовании структуры (рис. 6.17б) время операции увеличивается из-за структурных ограничений на совместимость этой пары микроопераций. Таким образом, экономия оборудования может повлечь увеличение времени выполнения операций.

Рисунок 6.17 – Реализация эквивалентных микроопераций

Микрооперации b S1:=m(S2,…,S) и SI:=m(S2,…,Sq) считаются эквивалентными, когда операторы содержат одну и ту же функцию m, т.е. функции в операторах имеют одинаковые имена.

Эквивалентность устанавливается следующим образом.

Двоичные выражения C1*C2*…*Cp и C1*C2*…*Cq , где C ,C - аргументы, представляемые словами, их инверсиями и константами; * - знаки двоичных операций называются эквивалентными, если одно из двоичных выражений может быть приведено к другому путём:

  1. замены слова С словом С или инверсией ТС;

  2. замены слова С константой (в том числе и нулём) и наоборот;

  3. замены одних констант другими, в том числе и нулевыми;

  4. равносильными преобразованиями выражения C1*C2*…*Cp.

Эквивалентным микрооперациям у1 и у2 соответствует обобщённый оператор S:= S1 + A1 + A2, где