Изменения

Перейти к: навигация, поиск

Двоичный каскадный сумматор

816 байт добавлено, 13:56, 12 января 2012
Принцип работы
== Принцип работы ==
[[Файл:Полный_сумматор_1.png‎|right|200px|thumb|[[Cумматор#.D0.9F.D0.BE.D0.BB.D0.BD.D1.8B.D0.B9_.D1.81.D1.83.D0.BC.D0.BC.D0.B0.D1.82.D0.BE.D1.80|Полный сумматор]]]]
'''ОбозначенияИспользуемые обозначения:'''* <tex>X_{i}, Y_{i}</tex> {{---}} <tex>i</tex>-ый разряд суммируемых чисел* , <tex>C_{i}, C_{i+1}</tex> {{---}} биты переноса* , <tex>F_{i}</tex> {{---}} результат сложения.
Рассмотрим один элемент [[Каскадный сумматор|линейного каскадного сумматора]]. В некоторых случаях бит переноса <tex>C_{i+1}</tex> зависит только от значений <tex>X_{i}</tex> и <tex>Y_{i}</tex>:
* Generate(g): если <tex>X_{i} = Y_{i} = 1</tex>,&nbsp;&nbsp;то <tex>C_{i+1} = 1</tex>* Kill(k): если <tex>X_{i} = Y_{i} = 0</tex>,&nbsp;&nbsp;то <tex>C_{i+1} = 0</tex>, * PropagateИначе (p): если <tex>X_{i} X_i \ne Y_{i}neq Y_i</tex>) бит переноса не изменяется,&nbsp;&nbsp;то есть <tex>C_{i+1} = C_{i}C_i</tex>, .
Три случая называются следующим образом:
* '''G'''enerate {{---}} "порождение" переноса
* '''K'''ill {{---}} "уничтожение" переноса
* '''P'''ropagate {{---}} "проталкивание" переноса
Обозначим Поскольку последовательное применение этих трёх действий над переносами принадлежит также одному из этих типов, то можно определить композицию действий над переносами . Обозначим композицию значком <tex>\bigotimesotimes</tex> и построим таблицу значений(в столбце первый аргумент, в строке — второй):[[Файл:Пример компазиции.png‎|right|430px|thumb|Пример композиции]]
{| border="1" cellpadding="5"
!<tex>\bigotimesotimes</tex>
!k
!p
|}
  '''Пример''' [[Файл:Пример компазицииПоскольку функция ассоциативна, то можно распространить её на любое количество аргументов.png‎|430px|Пример композиции]] ''' Замечание: ''' так как значение Более того, поскольку для любого действия <tex>x</tex> выполняется равенство <tex>x \otimes p = x</tex>, то функцию от нескольких действий можно определить как "последнее не <tex>\bigotimesp</tex> можно определить как последнее не "p". 
== Схема ==
304
правки

Навигация