Троичный сумматор — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Отмена правки 43018 участника Конспектор (обсуждение))
Строка 24: Строка 24:
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|style="background-color:#EEE;padding:2px 30px"| <tex>first summand</tex>
+
|style="background-color:#EEE;padding:2px 30px"| <tex>first</tex>
 
|-
 
|-
 
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_0=y}</tex>
 
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_0=y}</tex>
Строка 33: Строка 33:
 
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|style="background-color:#EEE;padding:2px 30px"| <tex>second summand</tex>
+
|style="background-color:#EEE;padding:2px 30px"| <tex>second</tex>
 
|-
 
|-
 
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{z}</tex>
 
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{z}</tex>
Строка 57: Строка 57:
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|style="background-color:#EEE;padding:2px 30px"| <tex>first summand</tex>
+
|style="background-color:#EEE;padding:2px 30px"| <tex>first</tex>
 
|-
 
|-
 
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_0=y}</tex>
 
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_0=y}</tex>
Строка 66: Строка 66:
 
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|style="background-color:#EEE;padding:2px 30px"| <tex>second summand</tex>
+
|style="background-color:#EEE;padding:2px 30px"| <tex>second</tex>
 
|-
 
|-
 
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{z}</tex>
 
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{z}</tex>
Строка 91: Строка 91:
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|style="background-color:#EEE;padding:2px 30px"| <tex>first summand</tex>
+
|style="background-color:#EEE;padding:2px 30px"| <tex>first</tex>
 
|-
 
|-
 
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_0=y}</tex>
 
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_0=y}</tex>
Строка 100: Строка 100:
 
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|style="background-color:#EEE;padding:2px 30px"| <tex>second summand</tex>
+
|style="background-color:#EEE;padding:2px 30px"| <tex>second</tex>
 
|-
 
|-
 
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{z_{sum}}</tex>
 
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{z_{sum}}</tex>
Строка 144: Строка 144:
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|style="background-color:#EEE;padding:2px 30px"| <tex>first summand</tex>
+
|style="background-color:#EEE;padding:2px 30px"| <tex>first</tex>
 
|-
 
|-
 
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_0=y}</tex>
 
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_0=y}</tex>
Строка 156: Строка 156:
 
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|style="background-color:#EEE;padding:2px 30px"| <tex>second summand</tex>
+
|style="background-color:#EEE;padding:2px 30px"| <tex>second</tex>
 
|-
 
|-
 
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{z_{sum}}</tex>
 
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{z_{sum}}</tex>
Строка 209: Строка 209:
 
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|style="background-color:#EEE;padding:2px 30px"| <tex>first summand</tex>
+
|style="background-color:#EEE;padding:2px 30px"| <tex>first</tex>
 
|-
 
|-
 
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_1}</tex>
 
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_1}</tex>
Строка 230: Строка 230:
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
 
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
|style="background-color:#EEE;padding:2px 30px"| <tex>second summand</tex>
+
|style="background-color:#EEE;padding:2px 30px"| <tex>second</tex>
 
|-
 
|-
 
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_2}</tex>
 
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_2}</tex>

Версия 21:25, 29 декабря 2014

Определение:
Функциональная схема (англ. Functional Flow Block Diagram) — документ, разъясняющий процессы, протекающие в отдельных функциональных цепях изделия (установки) или изделия (установки) в целом. Функциональная схема является экспликацией (поясняющим материалом) отдельных видов процессов, протекающих в целостных функциональных блоках и цепях устройства.

Принципы построения троичной функциональной схемы

Функциональная схема — вид графической модели изделия. Их использование и построение позволяет наглядно отразить устройство функциональных (рабочих) изменений, описание которых оперирует любыми (в том числе и несущественными) микросхемами, БИС и СБИС. Поскольку функциональные схемы не имеют собственной системы условных обозначений, их построение допускает сочетание кинематических, электрических и алгоритмических обозначений (для таких схем более подходящим термином оказывается комбинированные схемы).

В троичной логике "лжи" и "истине" соответствует [math]-[/math] и [math]+[/math]. Третьему состоянию соответствует [math]0[/math].

Мы будем рассматривать простую троичную схему — троичный сумматор. Поэтому, вместо обозначений [math]\{-, 0, +\}[/math], мы используем [math]\{0, 1, 2\}[/math] (несимметричная троичная система счисления).

Составные части полусумматора

Полусумматор состоит из двух частей: сложения по модулю [math]3[/math] и переноса в [math]n + 1[/math] разряд.

Логическое сложение по модулю [math]3[/math] при одном неполном слагаемом

Для сложения одного троичного разряда с разрядом переноса.

Результат не меняется при перемене мест операндов.

[math]\bf{x_1=x}[/math] [math]1[/math] [math]1[/math] [math]1[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]first[/math]
[math]\bf{x_0=y}[/math] [math]2[/math] [math]1[/math] [math]0[/math] [math]2[/math] [math]1[/math] [math]0[/math] [math]second[/math]
[math]\bf{z}[/math] [math]0[/math] [math]2[/math] [math]1[/math] [math]2[/math] [math]1[/math] [math]0[/math] [math]sum[/math]

Разряд переноса при сложении с неполным слагаемым

Для сложения одного троичного разряда с разрядом переноса.

Результат не изменяется при перемене ест операндов.

[math]\bf{x_1=x}[/math] [math]1[/math] [math]1[/math] [math]1[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]first[/math]
[math]\bf{x_0=y}[/math] [math]2[/math] [math]1[/math] [math]0[/math] [math]2[/math] [math]1[/math] [math]0[/math] [math]second[/math]
[math]\bf{z}[/math] [math]1[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]transfer[/math]

Троичный полусумматор с одним неполным слагаемым

Первая ступень полного троичного сумматора.

Для сложения одного троичного разряда с разрядом переноса.

Результат не изменяется при перемене мест операндов.

[math]\bf{x_1=x}[/math] [math]1[/math] [math]1[/math] [math]1[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]first[/math]
[math]\bf{x_0=y}[/math] [math]2[/math] [math]1[/math] [math]0[/math] [math]2[/math] [math]1[/math] [math]0[/math] [math]second[/math]
[math]\bf{z_{sum}}[/math] [math]0[/math] [math]2[/math] [math]1[/math] [math]2[/math] [math]1[/math] [math]0[/math] [math]sum[/math]
[math]\bf{z_{transfer}}[/math] [math]1[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]transfer[/math]

transfer содержит разряд переноса, sum содержит сумму по модулю [math]3[/math].

Результат операции занимает [math]1[/math] и [math]2/3[/math] троичных разряда.

Троичный полусумматор в несимметричной троичной системе счисления

Троичное логическое сложение двух троичных разрядов с разрядом переноса в несимметричной троичной системе счисления.

Результат не изменяется при перемене мест операндов.

Троичный полусумматор можно рассматривать, как объединение двух бинарных троичных функций: «логического сложения по модулю [math]3[/math] в троичной несимметричной системе счисления» и «разряд переноса при сложении двух полных троичных разрядов в троичной несимметричной системе счисления».

В отличие от предыдущих бинарных троичных функций с одноразрядным результатом, результат функции занимает [math]1[/math] и [math]2/3[/math] троичных разрядов, так как при сложении в троичной несимметричной системе в разряде переноса не бывает значения больше единицы.

[math]\bf{x_1=x}[/math] [math]2[/math] [math]2[/math] [math]2[/math] [math]1[/math] [math]1[/math] [math]1[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]first[/math]
[math]\bf{x_0=y}[/math] [math]2[/math] [math]1[/math] [math]0[/math] [math]2[/math] [math]1[/math] [math]0[/math] [math]2[/math] [math]1[/math] [math]0[/math] [math]second[/math]
[math]\bf{z_{sum}}[/math] [math]1[/math] [math]1[/math] [math]0[/math] [math]1[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]sum[/math]
[math]\bf{z_{transfer}}[/math] [math]1[/math] [math]0[/math] [math]2[/math] [math]0[/math] [math]2[/math] [math]1[/math] [math]2[/math] [math]1[/math] [math]0[/math] [math]transfer[/math]

transfer — перенос в [math]n + 1[/math], несимметричный.

sum — сумма по модулю [math]3[/math], несимметричная.

Полное троичное логическое сложение с переносом в несимметричной троичной системе счисления

Полный троичный одноразрядный сумматор является неполной тринарной троичной логической функцией, так как в разряде переноса только два значения [math]0[/math] и [math]1[/math]. В отличие от предыдущих троичных тринарных функций с одноразрядным результатом, результат имеет длину [math]1[/math] и [math]2/3[/math] троичных разряда. Результат не изменяется при перемене мест операндов.

[math]\bf{x_0}[/math] [math]2[/math] [math]1[/math] [math]0[/math] [math]2[/math] [math]1[/math] [math]0[/math] [math]2[/math] [math]1[/math] [math]0[/math] [math]2[/math] [math]1[/math] [math]0[/math] [math]2[/math] [math]1[/math] [math]0[/math] [math]2[/math] [math]1[/math] [math]0[/math] [math]first[/math]
[math]\bf{x_1}[/math] [math]2[/math] [math]2[/math] [math]2[/math] [math]1[/math] [math]1[/math] [math]1[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]2[/math] [math]2[/math] [math]2[/math] [math]1[/math] [math]1[/math] [math]1[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]second[/math]
[math]\bf{x_2}[/math] [math]1[/math] [math]1[/math] [math]1[/math] [math]1[/math] [math]1[/math] [math]1[/math] [math]1[/math] [math]1[/math] [math]1[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]transfer[/math]
[math]\bf{z_{sum}}[/math] [math]2[/math] [math]1[/math] [math]0[/math] [math]1[/math] [math]0[/math] [math]2[/math] [math]0[/math] [math]2[/math] [math]1[/math] [math]1[/math] [math]0[/math] [math]2[/math] [math]0[/math] [math]2[/math] [math]1[/math] [math]2[/math] [math]1[/math] [math]0[/math] [math]sum (mod 3)[/math]
[math]\bf{z_{transfer}}[/math] [math]1[/math] [math]1[/math] [math]1[/math] [math]1[/math] [math]1[/math] [math]0[/math] [math]1[/math] [math]0[/math] [math]0[/math] [math]1[/math] [math]1[/math] [math]0[/math] [math]1[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]transfer[/math]

В разряде переноса не бывает третьего значения троичного разряда [math](2)[/math], так как в «худшем» случае [math]2_{10}+2_{10}+1_{10}=5_{10}=12_3[/math], то есть в старшем разряде [math]«1»[/math]. Единица переноса возникает в [math]9[/math]-ти случаях из [math]18[/math]. Как в двоичной логике двоичный тринарный полный сумматор заменяется двумя бинарными полусумматорами, так и в троичной логике троичный тринарный полный сумматор можно заменить на два троичных бинарных полусумматора, только с той разницей, что два двоичных бинарных полусумматора одинаковые, а два троичных бинарных полусумматора разные. 1. Один полусумматор полный бинарный («сложение двух полных троичных разрядов»). Второй полусумматор — не полный бинарный («сложение одного полного троичного разряда с неполным троичным разрядом (с [math]2/3[/math] от полного троичного разряда)»), так как в разряде переноса не бывает значений больших чем [math]«1»[/math]. 2. Один неполный бинарный «сложение [math]1[/math] троичного разряда с [math]2/3[/math] троичного разряда». Второй бинарный несимметричный «сложение [math]1[/math] троичного разряда с [math]1[/math] и [math]2/3[/math] троичного разряда». Результат — двухразрядный длиной [math]1[/math] и [math]2/3[/math] троичных разряда.

Источники информации