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

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 133: Строка 133:
  
 
В отличие от предыдущих бинарных троичных функций с одноразрядным результатом, результат функции занимает <tex>1</tex> и <tex>2/3</tex> троичных разрядов, так как при сложении в троичной несимметричной системе в разряде переноса не бывает значения больше единицы.
 
В отличие от предыдущих бинарных троичных функций с одноразрядным результатом, результат функции занимает <tex>1</tex> и <tex>2/3</tex> троичных разрядов, так как при сложении в троичной несимметричной системе в разряде переноса не бывает значения больше единицы.
{|align="left" style="width:10cm" border=1
 
|+
 
|-align="left"
 
! <tex>x_1=x</tex>||<tex>2</tex>||<tex>2</tex>||<tex>2</tex>||<tex>1</tex> || <tex>1</tex> || <tex>1</tex> || <tex>0</tex> || <tex>0</tex> || <tex>0</tex>
 
|-align="left"
 
| <tex>x_0=y</tex>||<tex>2</tex>||<tex>1</tex>||<tex>0</tex>||<tex>2</tex> || <tex>1</tex> || <tex>0</tex> || <tex>2</tex> || <tex>1</tex> || <tex>0</tex>
 
|-align="left"
 
| <tex>transfer</tex>||<tex>1</tex>||<tex>1</tex>||<tex>0</tex>||<tex>1</tex>||<tex>0</tex> || <tex>0</tex> || <tex>0</tex> || <tex>0</tex> || <tex>0</tex>
 
|-align="left"
 
| <tex>sum</tex>||<tex>1</tex>||<tex>0</tex>||<tex>2</tex>||<tex>0</tex>|| <tex>2</tex> || <tex>1</tex> || <tex>2</tex> || <tex>1</tex> || <tex>0</tex>
 
|}
 
 
 
 
 
 
 
 
 
 
  
 +
{| style="background-color:#CCC;margin:0.5px"
 +
!style="background-color:#EEE"| <tex>\bf{x_1=x}</tex>
 +
!style="background-color:#FFF"| <tex>2</tex>
 +
!style="background-color:#FFF"| <tex>2</tex>
 +
!style="background-color:#FFF"| <tex>2</tex>
 +
!style="background-color:#FFF"| <tex>1</tex>
 +
!style="background-color:#FFF"| <tex>1</tex>
 +
!style="background-color:#FFF"| <tex>1</tex>
 +
!style="background-color:#FFF"| <tex>0</tex>
 +
!style="background-color:#FFF"| <tex>0</tex>
 +
!style="background-color:#FFF"| <tex>0</tex>
 +
!style="background-color:#EEE"| <tex>first</tex>
  
 +
|-
 +
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{x_0=y}</tex>
 +
|style="background-color:#FFF;padding:2px 30px"| <tex>2</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>2</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>2</tex>
 +
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
 +
|style="background-color:#FFF;padding:2px 30px"| <tex>0</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:#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>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:#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>sum</tex>
 +
|-
 +
|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{z_{transfer}}</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>2</tex>
 +
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
 +
|style="background-color:#FFF;padding:2px 30px"| <tex>2</tex>
 +
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
 +
|style="background-color:#FFF;padding:2px 30px"| <tex>2</tex>
 +
|style="background-color:#FFF;padding:2px 30px"| <tex>1</tex>
 +
|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>
 +
|style="background-color:#EEE;padding:2px 30px"| <tex>transfer</tex>
 +
|}
 
''transfer'' — перенос в <tex>n + 1</tex>, несимметричный.
 
''transfer'' — перенос в <tex>n + 1</tex>, несимметричный.
  
 
''sum'' — сумма по модулю <tex>3</tex>, несимметричная.
 
''sum'' — сумма по модулю <tex>3</tex>, несимметричная.
==Троичный вычитатель==
 
Полный троичный одноразрядный вычитатель является неполной тринарной троичной логической функцией, так как в разряде займа только два значения <tex>0</tex> и <tex>1</tex>. Результат имеет длину <tex>1</tex> и <tex>2/3</tex> троичных разряда.
 
Результат изменяется при перемене мест операндов.
 
{|align="left" style="width:10cm" border=1
 
|+
 
|-align="left"
 
! <tex>x_1=x</tex>||<tex>2</tex>||<tex>2</tex>||<tex>2</tex>||<tex>1</tex> || <tex>1</tex> || <tex>1</tex> || <tex>0</tex> || <tex>0</tex> || <tex>0</tex>
 
|-align="left"
 
| <tex>x_0=y</tex>||<tex>2</tex>||<tex>1</tex>||<tex>0</tex>||<tex>2</tex> || <tex>1</tex> || <tex>0</tex> || <tex>2</tex> || <tex>1</tex> || <tex>0</tex>
 
|-align="left"
 
| <tex>transfer</tex>||<tex>1</tex>||<tex>1</tex>||<tex>0</tex>||<tex>1</tex>||<tex>0</tex> || <tex>0</tex> || <tex>0</tex> || <tex>0</tex> || <tex>0</tex>
 
|-align="left"
 
| <tex>sum</tex>||<tex>1</tex>||<tex>0</tex>||<tex>2</tex>||<tex>0</tex>|| <tex>2</tex> || <tex>1</tex> || <tex>2</tex> || <tex>1</tex> || <tex>0</tex>
 
|}
 
 
 
 
 
 
 
 
 
 
 
  
В разряде займа не бывает третьего значения троичного разряда <tex>(2)</tex>, так как в «худшем» случае <tex>0_{10} - 2_{10} - 2_{10} = -4_{10} = -11_3</tex>, то есть в старшем разряде «<tex>1</tex>». Единица займа возникает в <tex>9</tex>-ти случаях из <tex>18</tex>.
 
 
==Источники информации==
 
==Источники информации==
  
 
* [https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%BE%D0%B8%D1%87%D0%BD%D1%8B%D0%B5_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8 Википедия — Некоторые троичные схемы]
 
* [https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%BE%D0%B8%D1%87%D0%BD%D1%8B%D0%B5_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8 Википедия — Некоторые троичные схемы]
 
* [https://ru.wikipedia.org/wiki/%D0%A1%D1%83%D0%BC%D0%BC%D0%B0%D1%82%D0%BE%D1%80#cite_note-9 Википедия — Различные сумматоры]
 
* [https://ru.wikipedia.org/wiki/%D0%A1%D1%83%D0%BC%D0%BC%D0%B0%D1%82%D0%BE%D1%80#cite_note-9 Википедия — Различные сумматоры]

Версия 18:17, 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]\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], несимметричная.

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