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

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

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 Sa1:=jm(Sa2,…,Sab) и SbI:=jm(Sb2,…,Sbq) считаются эквивалентными, когда операторы содержат одну и ту же функцию jm, т.е. функции в операторах имеют одинаковые имена.

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

Двоичные выражения Ca1*Ca2*…*Cap и Cb1*Cb2*…*Cbq, где Ca,Cb - аргументы, представляемые словами, их инверсиями и константами; * - знаки двоичных операций называются эквивалентными, если одно из двоичных выражений может быть приведено к другому путём:

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

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

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

4) равносильными преобразованиями выражения Ca1*Ca2*…*Cap.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: