Site Loader

Содержание

Цифровые арифметические схемы — CoderLessons.com

В этой главе давайте поговорим об основных арифметических схемах, таких как двоичный сумматор и двоичный вычитатель. Эти схемы могут работать с двоичными значениями 0 и 1.

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

Самая основная арифметическая операция — сложение. Схема, которая выполняет сложение двух двоичных чисел, называется двоичным сумматором . Во-первых, давайте реализуем сумматор, который выполняет сложение двух битов.

Полумесяц

Половина сумматора представляет собой комбинационную схему, которая выполняет сложение двух двоичных чисел A и B, состоящих из одного бита . Он выдает две выходные суммы, S & carry, C.

Таблица истинности Half сумматора показана ниже.

входные Выходы
В С S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0

Когда мы добавляем два бита, результирующая сумма может иметь значения в диапазоне от 0 до 2 в десятичном виде. Мы можем представить десятичные цифры 0 и 1 одним битом в двоичном виде. Но мы не можем представить десятичную цифру 2 с одним битом в двоичном виде. Итак, нам требуется два бита для представления его в двоичном виде.

Пусть, sum, S — младший значащий бит и перенос, C — старший значащий бит полученной суммы. Для первых трех комбинаций входов, carry, C равен нулю, а значение S будет равно нулю или единице в зависимости от количества единиц,

присутствующих на входах. Но, для последней комбинации входных данных, carry, C равен единице, а sum равен нулю, поскольку результирующая сумма равна двум.

Из таблицы Truth мы можем напрямую записать логические функции для каждого вывода как

S=A oplusB

C=AB

Мы можем реализовать вышеуказанные функции с 2-входным вентилем Ex-OR и 2-входным вентилем AND. Принципиальная электрическая схема полумесяца показана на следующем рисунке.

В приведенной выше схеме два входных логических элемента ИЛИ-И и два входных И логических элемента И дают сумму, S и перенос, C соответственно. Следовательно, Half-сумматор выполняет сложение двух битов.

Полный сумматор

Полный сумматор представляет собой комбинационную схему, которая выполняет сложение трех битов A, B и C в . Где A & B — два параллельных значащих бита, а C in — бит переноса, который генерируется из предыдущего этапа. Этот полный сумматор также выдает две выходные суммы, S & carry, C out , которые аналогичны полумесяцу.

Таблица истинности полного сумматора показана ниже.

входные Выходы
В С в C out S
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

Когда мы добавляем три бита, результирующая сумма может иметь значения в диапазоне от 0 до 3 в десятичном виде. Мы можем представить десятичные цифры 0 и 1 одним битом в двоичном виде. Но мы не можем представлять десятичные цифры 2 и 3 одним битом в двоичном виде. Итак, нам требуется два бита для представления этих двух десятичных цифр в двоичном виде.

Пусть, sum, S — младший значащий бит и перенос, C out — старший значащий бит из результирующей суммы. Легко заполнить значения выходов для всех комбинаций входов в таблице истинности. Просто посчитайте количество единиц на входах и запишите эквивалентное двоичное число на выходах. Если C in равен нулю, то полная таблица истинности сумматора такая же, как в таблице истинной половины сумматора.

Мы получим следующие логические функции для каждого вывода после упрощения.

S=A oplusB oplusCin

cout=AB+ left(A oplusB right)cin

Сумма S равна единице, когда на входах присутствует нечетное число единиц. Мы знаем, что вентиль Ex-OR производит вывод, который является нечетной функцией. Таким образом, мы можем использовать либо два входа Ex-OR с 2 входами, либо один вентиль Ex-OR с 3 входами, чтобы получить сумму S. Мы можем реализовать перенос C , используя два вентиля И с двумя входами И и один вентиль ИЛИ. Принципиальная электрическая схема полного сумматора показана на следующем рисунке.

Этот сумматор называется полным сумматором,

потому что для реализации одного полного сумматора нам нужны два полумесяца и один вентиль ИЛИ. Если C in равно нулю, то Полное сумматор становится Полумесяным. Мы можем легко проверить это из приведенной схемы или из булевых функций выходов полного сумматора.

4-битный двоичный сумматор

4-разрядный двоичный сумматор выполняет сложение двух 4-разрядных чисел . Пусть 4-битные двоичные числа, A=A3A2A1A0 и B=B3B2B1B0. Мы можем реализовать 4-битный двоичный сумматор одним из следующих двух способов.

  • Для суммирования двух старших значащих битов используйте один половинный сумматор и три полных сумматора.

  • Используйте четыре полных сумматора для однородности. Поскольку начальный перенос C

    in равен нулю, полный сумматор, который используется для добавления младших значащих битов, становится половинным сумматором.

Для суммирования двух старших значащих битов используйте один половинный сумматор и три полных сумматора.

Используйте четыре полных сумматора для однородности. Поскольку начальный перенос C in равен нулю, полный сумматор, который используется для добавления младших значащих битов, становится половинным сумматором.

Пока мы рассматривали второй подход. Блок-схема 4-битного двоичного сумматора показана на следующем рисунке.

Здесь 4 полных сумматора расположены каскадом. Каждый полный сумматор получает соответствующие биты двух параллельных входов A и B. Выходной сигнал переноса одного полного сумматора будет входом переноса последующего полного сумматора более высокого порядка. Этот 4-битный двоичный сумматор производит результирующую сумму, имеющую не более 5 бит. Итак, проводить последний этап Полный сумматор будет MSB.

Таким образом, мы можем реализовать любой двоичный сумматор более высокого порядка, просто каскадируя необходимое количество полных сумматоров. Этот двоичный сумматор также называется сумматором с волновым переносом (двоичным), потому что перенос распространяется (колебания) от одного этапа к следующему этапу.

Бинарный вычитатель

Схема, которая выполняет вычитание двух двоичных чисел, известна как двоичный вычитатель . Мы можем реализовать двоичный вычитатель следующими двумя способами.

  • Каскад Полные вычитатели
  • Метод дополнения 2

В первом методе мы получим n-битный двоичный вычитатель путем каскадного вычитания ‘n’ полных вычитателей. Итак, сначала вы можете реализовать Half-вычитатель и Full-вычитатель, аналогично Half-сумматору и полному сумматору. Затем вы можете реализовать n-битный двоичный вычитатель, каскадируя ‘n’ полных вычитателей. Итак, у нас будут две отдельные схемы для двоичного сложения и вычитания двух двоичных чисел.

Во втором методе мы можем использовать один и тот же двоичный сумматор для вычитания двух двоичных чисел, просто выполнив некоторые изменения во втором входе. Итак, внутренне двоичная операция сложения имеет место, но на выходе получается вычитание.

Мы знаем, что вычитание двух двоичных чисел A & B может быть записано как,

AB=A+ left(2′s::compmentofB right)

 RightarrowAB=A+ left(1′s:комплиментofB right)+1

4-разрядный двоичный вычитатель

4-разрядный двоичный вычитатель производит вычитание двух 4-разрядных чисел . Пусть 4-битные двоичные числа, A=A3A2A1A0 и B=B3B2B1B0. Внутренне работа 4-разрядного двоичного вычитателя аналогична работе 4-разрядного двоичного сумматора. Если нормальные биты двоичного числа A, дополненные биты двоичного числа B и начального переноса (заимствования), C

в качестве единицы применяются к 4-разрядному двоичному сумматору, то он становится 4-разрядным двоичным вычитающим веществом. Блок-схема 4-разрядного двоичного вычитателя показана на следующем рисунке.

Этот 4-разрядный двоичный вычитатель выдает выходной сигнал, имеющий не более 5 бит. Если двоичное число A больше двоичного числа B, то значение MSB на выходе равно нулю, а оставшиеся биты содержат величину AB. Если двоичное число A меньше двоичного числа B, то MSB выходного значения равно единице. Итак, возьмите 2-е дополнение вывода, чтобы получить величину AB.

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

Двоичный сумматор / вычитатель

Схема, которую можно использовать для сложения или вычитания двух двоичных чисел в любое время, называется двоичным сумматором / вычитателем . И двоичный сумматор, и двоичный вычитатель содержат набор полных сумматоров, которые каскадируются. Входные биты двоичного числа A непосредственно применяются как в двоичном сумматоре, так и в двоичном вычитателе.

Есть два различия в входах полных сумматоров, которые присутствуют в двоичном сумматоре и двоичном вычитателе.

  • Входные биты двоичного числа B непосредственно применяются к полным сумматорам в двоичном сумматоре, тогда как дополненные биты двоичного числа B применяются к полным сумматорам в двоичном вычитателе.

  • Первоначальный перенос, C 0 = 0, применяется в 4-разрядном двоичном сумматоре, тогда как начальный перенос (C 0) 1 применяется в 4-разрядном двоичном вычитателе.

Входные биты двоичного числа B непосредственно применяются к полным сумматорам в двоичном сумматоре, тогда как дополненные биты двоичного числа B применяются к полным сумматорам в двоичном вычитателе.

Первоначальный перенос, C 0 = 0, применяется в 4-разрядном двоичном сумматоре, тогда как начальный перенос (C 0) 1 применяется в 4-разрядном двоичном вычитателе.

Мы знаем, что вентиль Ex-OR с 2 входами производит выход, который совпадает с выходом первого входа, когда другой вход равен нулю. Точно так же это производит вывод, который является дополнением первого ввода, когда другой ввод — один.

Поэтому мы можем применить входные биты двоичного числа B к 2-входным вентилям Ex-OR. Другим входом для всех этих ворот Ex-OR является C 0 . Таким образом, исходя из значения C 0 , вентили Ex-OR создают либо нормальные, либо дополненные биты двоичного числа B.

4-разрядный двоичный сумматор / вычитатель

4-разрядный двоичный сумматор / вычитатель производит либо сложение, либо вычитание двух 4-разрядных чисел на основе значения начального переноса или заимствования, ? 0 . Пусть 4-битные двоичные числа, A=A3A2A1A0 и B=B3B2B1B0. Работа 4-разрядного двоичного сумматора / вычитателя аналогична работе 4-разрядного двоичного сумматора и 4-разрядного двоичного сумматора.

Примените обычные биты двоичных чисел A и B и начальный перенос или заимствование, C 0 от внешнего к 4-битному двоичному сумматору. Блок-схема 4-битного двоичного сумматора / вычитателя показана на следующем рисунке.

Если начальный перенос, ? 0 равен нулю, то каждый полный сумматор получает нормальные биты двоичных чисел A & B. Таким образом, 4-разрядный двоичный сумматор / вычитатель выдает выход, который является сложением двух двоичных чисел A & B.

Если начальный заем равен 0 , то каждый полный сумматор получает нормальные биты двоичного числа A и дополненные биты двоичного числа B. Таким образом, 4-битный двоичный сумматор / вычитатель выдает результат, который является вычитанием двух двоичных номера A и B.

Следовательно, с помощью дополнительных шлюзов Ex-OR одна и та же схема может использоваться как для сложения, так и для вычитания двух двоичных чисел.

Построение двоичного сумматора в программе Logisim

1. Федеральное агентство железнодорожного транспорта Филиал федерального государственного бюджетного образовательного учреждения высшег

Федеральное агентство железнодорожного транспорта
Филиал федерального государственного бюджетного
образовательного учреждения высшего профессионального образования
«Сибирский государственный университет путей сообщения» в г.Новоалтайске
Лабораторная работа №2. Построение двоичного сумматора в
программе Logisim.
Автор: преподаватель информатики и схемотехники Чебан Олег Олегович
Дата создания: 2015
Цель работы: Изучение правил выполнения арифметических действий над
двоичными числами и исследование принципов построения двоичных
сумматоров.
Оборудование: Программа моделирования цифровых логических схем
Logisim http://www.cburch.com/logisim/ru/
Построение двоичного сумматора в программе Logisim.
Ход работы.
1. Основным элементом используемым в двоичных арифметических
элементах, называется полусумматор. Начнем с так называемой схемы
сравнения:
2. Запустите программу Logisim и с помощью «Панели инструментов»
постройте Схему сравнения, см. Рис. 1.
Рис. 1. Схема сравнения
3. С помощью «Таблицы атрибутов» задать метки: вход X1 и X2, логические
И, ИЛИ и НЕ, выход Y.
4. Проводник — Базовые — Инструмент Текст: Подписать схему, как
«Схема сравнения».
5. С помощью инструмента «Изменять значения в схеме»
поэкспериментируйте с подачей на входы X1 и X2 логической единицы 1 и
логического 0
6. По команде: Проект — Анализировать схему получить Таблицу истинности схемы
сравнения, см. Рис. 2.
Рис. 2. Таблица истинности Схемы сравнения
Комментарий. Схема сравнения получает младший разряд числа при сложении
двух двоичных чисел (бит) без учета переноса! Например: 1 + 1 =
0 младший разряд, перенос 1.
7. С помощью инструмента «Добавить схему» добавим схему «Полусумматор», см. Рис. 3.
Рис. 3. Полусумматор
8. Проект — Анализировать схему — получить Таблицу истинности полусумматора, см. Рис. 4
Рис. 4. Таблица истинности Полусумматора
Комментарий. Схема позволяющая складывать два двоичных числа (бит) называется
полусумматором. В нашем случае P – перенос, S – младший разряд, остаток. Однако, при
сложении двух двоичных чисел недостаточно использовать полусумматор, т. к. полусумматор не
имеет входа для учета переносов из других разрядов.
9. Добавить схему «Сумматор»
10. Используя подсхему «Полусумматор» построить «Сумматор», см. Рис. 5.
Рис. 5. Сумматор.
11. По команде: Проект — Анализировать схему получить Таблицу истинности
«Сумматора», Рис. 6.
Рис. 6. Таблица истинности сумматора.
12. Построим схему из 4-х сумматоров, которые позволят складывать два
четырехразрядных числа.
, где:
X1 и Y1 слагаемые первого сумматора, X2 и Y2 – второго и т. д.
S1, S2, S3 .. S5 – младший разряд суммы
P1, P2, P3 и P4 – перенос, старший разряд сумматора 1, 2, 3 и 4
P0 – всегда равно 0, т. к. в первом сумматоре складываются первые двоичные числа
X1 и Y1, переноса нет.
В нашем примере выполняем сложение двух четырехразрядных числа: 0001 + 0001
= 00010
X4 X3 X2 X1
+ Y4 Y3 Y2 Y1
S5 S4 S3 S2 S1
0001+0001 = 00010
13. Проверим работу микросхемы четырехразрядного двоичного сумматора.
Самостоятельно. Построить схему позволяющую складывать 8 разрядов двоичных
чисел. Контроль осуществите с помощью шестнадцатеричного
индикатора.

Полный одноразрядный двоичный сумматор

         1.4. Полный одноразрядный двоичный сумматор

Одноразрядные двоичные сумматоры строятся по самым различным схемам. Рассмотрим функционирование одноразрядного сумматора, составленного из двух  полусумматоров. Полусумматор — это устройство, производящее сложение двух одноразрядных двоичных чисел без учета переноса предыдущего разряда. Составим таблицу истинности полусумматора и полного одноразрядного двоичного сумматора (таблица 1.2).

Ai, Bi – двоичные цифры i разряда, Pi-1 – перенос из (i-1) разряда, Si – сумма, получившаяся в i разряде, Pi — перенос из i разряда в (i+1)  разряд.

Первые четыре строчки таблицы 1.2 представляют собой таблицу истинности полусумматора.

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

Из таблиц истинности логических элементов и полусумматора видно, что для получения суммы двух одноразрядных двоичных чисел необходимо использовать логический элемент исключающее ИЛИ, а для получения переноса – логический элемент 2И. Схема полусумматора, построенного на указанных логических элементах, приведена на рисунке 1.31.

Схема полного одноразрядного сумматора построенного на двух полусумматорах приведена на рисунке 1.32. Один полусумматор используется для сложения i-го разряда двоичных чисел, а второй полусумматор складывает результат первого полусумматора с переносом из (i-1) разряда.

Показать самостоятельно, что для получения переноса в полном одноразрядном двоичном сумматоре необходимо сигналы переносов от полусумматоров подать на входы логического элемента  2ИЛИ, на выходе которого получится перенос из полного одноразрядного двоичного сумматора.

Рассмотрим следующий пример. Пусть Аi=0, Вi=1, Pi-1=1. В соответствии с таблицами истинности логических элементов 2И и исключающее ИЛИ на выходе элемента DD2.1 будет логический нуль, а на выходе DD1.1 – логическая единица. На входах Х1, Х2 логического элемента DD1.2 сигналы логических единиц, следовательно на выходе этого элемента логический нуль. На выходе элемента DD2.2 сигнал логической единицы. На входе Х1 элемента DD3.1 сигнал логической единицы. Логическая единица на входе логического элемента 2ИЛИ является активным  логическим уровнем и, следовательно, на выходе элемента DD3.1 будет сигнал логической единицы. В результате получим сумму в i-ом разряде, равную нулю, а перенос из i-го разряда равный единице.

Самостоятельно проанализировать работу полного одноразрядного двоичного сумматора для нескольких других примеров.

В главе 2 рассматривается микросхема К155ИМ3, содержащая четырехразрядный двоичный сумматор. Сердцем процессора является арифметико-логическое устройство (АЛУ). АЛУ на микросхеме К155ИП3 изучается с помощью стенда по методике, рассмотренной в главе 2.

 

 

Сумматоры

Построение двоичных сумматоров обычно начинается с сумматора по модулю 2. На рисунке 1 приведена таблица истинности этого сумматора.

 

Рисунок 1. Таблица истинности сумматора по модулю 2.

В соответствии с принципами построения произвольной таблицы истинности получим схему сумматора по модулю 2. Эта схема приведена на рисунке 2.

Рисунок 2. Принципиальная схема, реализующая таблицу истинности сумматора по модулю 2.

Сумматор по модулю 2 (схема исключающего «ИЛИ») изображается на схемах как показано на рисунке 3.

Рисунок 3 Изображение схемы, выполняющей логическую функцию исключающего «ИЛИ».

Сумматор по модулю 2 выполняет суммирование без учЈта переноса. В обычном двоичном сумматоре требуется учитывать перенос, поэтому требуются схемы, позволяющие формировать перенос в следующий двоичный разряд. Таблица истинности такой схемы, называемой полусумматором приведена на рисунке 4.

Рисунок 4. Таблица истинности полусумматора.

В соответствии с принципами построения произвольной таблицы истинности получим схему полусумматора. Эта схема приведена на рисунке 5.

Рисунок 5. Принципиальная схема, реализующая таблицу истинности полусумматора.

Полусумматор изображается на схемах как показано на рисунке 6.

Рисунок 6 Изображение полусумматора на схемах. 

Схема полусумматора формирует перенос в следующий разряд но не может учитывать перенос из предыдущего разряда, поэтому она и называется полусумматором. Таблица истинности полного двоичного одноразрядного сумматора приведена на рисунке 7.

 

Рисунок 7. Таблица истинности полного двоичного одноразрядного сумматора.

В соответствии с принципами построения схемы по произвольной таблице истинности истинности получим схему полного двоичного одноразрядного сумматора. Эта схема приведена на рисунке 8.

Рисунок 8. Принципиальная схема, реализующая таблицу истинности полного двоичного одноразрядного сумматора.

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

Рисунок 9 Изображение полного двоичного одноразрядного сумматора на схемах.

Для того, чтобы получить многоразрядный сумматор, необходимо соединить входы и выходы переносов соответствующих двоичных разрядов. Схема соединения приведена на рисунке 10.

Рисунок 10. Принципиальная схема многоразрядного двоичного сумматора.

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

 

Рисунок 11. Изображение полного двоичного многоразрядного сумматора на схемах.

Естественно в этой схеме рассматриваются только принципы работы двоичных сумматоров. В реальных схемах для увеличения скорости работы применяется отдельная схема формирования переносов для каждого двоичного разряда. Таблицу истинности для такой схемы легко получить из принципов суммирования двоичных чисел, а затем применить хорошо известные нам принципы построения схемы по произвольной таблице истинности.


[Назад] [Содержание] [Вперёд]

Сумматор

Аналоговый сумматор

Думаю, все из вас помнят

Если, допустим, цена нашего квадратика 1 В, то на данной картинке мы видим постоянное напряжение амплитудой в 1 В. Суммировать постоянное напряжение – одно удовольствие. Для этого достаточно сложить амплитуды этих сигналов в любой момент времени.

На рисунке ниже мы видим два сигнала A и B и сумму этих сигналов: A+B. Если сигнал A = 2 В, сигнал B = 1 В, то сумма этих сигналов составит 3 В.

Все то же самое касается и сигналов с отрицательной полярностью

Как вы видите, при сложении сигналов с равной амплитудой, но разной полярности, мы в сумме получаем 0. То есть эти два сигнала взаимно себя скомпенсировали: 1 +(-1)=0. Все становится намного веселее, если мы начинаем складывать сигналы, которые меняются во времени, то есть переменные сигналы. Они могут быть как периодические, так и непериодические. 

Давайте для начала рассмотрим самый простой пример. Пусть у нас будут два синусоидальных сигнала с одинаковыми амплитудами, частотами и фазами. Подадим их на сумматор. Что получится в итоге?

Получим синусоиду с амплитудой в два раза больше. Как вообще она получилась? Вычисления производятся довольно просто. Каждая точка синусоиды A+B  – это сложение точек в одинаковый момент времени синусоид А и B. Для наглядности мы взяли 3 точки: t1 , tи t3 .

Как вы видите, в момент времени t1 у нас амплитуда сигнала А была равна 1 В, амплитуда сигнала В тоже 1 В. В сумме их результат в момент времени t1 будет равен 2 В, что мы и видим на сигнале A+B. В момент времени t2 амплитуда сигнала A была 0 В, амплитуда сигнала В тоже 0 В. Как нетрудно догадаться, 0+0=0, что мы и видим на сигнале A+B в момент времени t2 . Ну а в момент времени t3 амплитуда сигнала А = -1 В, амплитуда сигнала В = -1 В, в результате их сумма -1+(-1) = – 2 В, что мы как раз и видим на синусоиде А+B в момент времени t3 . Отсюда напрашивается вывод: для сложения сигналов надо суммировать амплитуды сигналов в одинаковые моменты времени.

А давайте сместим фазу одного из сигналов на 180 градусов, относительно другого, но при этом амплитуды и частоты сигналов оставим без изменения. Про такие сигналы говорят, что они находятся в противофазе. Как думаете, чему будет равняться их сумма? Долго не думая, смещаем второй сигнал на 180 градусов и суммируем их амплитуды в каждый момент времени. Нетрудно догадаться, что их сумма будет равняться нулю, что мы и видим на рисунке ниже.

Что дальше

Ком­би­ни­руя эти три логи­че­ские схе­мы (там есть ещё чет­вёр­тая, она дела­ет­ся из трёх основ­ных), мы смо­жем собрать такой кас­кад тран­зи­сто­ров, кото­рый помо­жет нам скла­ды­вать чис­ла. Забе­гая немно­го впе­рёд, вот кас­кад, кото­рый спо­со­бен сло­жить два чис­ла, если эти чис­ла — еди­ни­цы или ноли:

Этот кас­кад может сло­жить чис­ло раз­ме­ром 1 бит (еди­ни­ца или ноль). Его воз­мож­ные резуль­та­ты:

00 — ноль

01 — еди­ни­ца

10 — двой­ка в дво­ич­ном счис­ле­нии

Если такой кас­кад «схлоп­нуть» до одной коро­боч­ки (и немно­го допи­лить), а потом соеди­нить меж­ду собой несколь­ко коро­бо­чек, мож­но скла­ды­вать более слож­ные чис­ла. Напри­мер, такой кас­кад сло­жит два чис­ла до 4 бит, от 0 до 15:

Что мы узна­ли на этом эта­пе.

  1. Тран­зи­сто­ры мож­но соеди­нять по-разному: по цепоч­ке, парал­лель­но, как-то ещё хит­ро.
  2. В зави­си­мо­сти от схе­мы соеди­не­ния эта кон­струк­ция из тран­зи­сто­ров будет давать раз­ные резуль­та­ты. Напри­мер, лам­поч­ка будет гореть при выклю­чен­ном выклю­ча­те­ле. Или будет гореть, когда вклю­чён хотя бы один. Или когда вклю­че­ны оба.
  3. Эти схе­мы соеди­не­ний помо­га­ют вос­про­из­ве­сти про­стые логи­че­ские опе­ра­ции: НЕ, И, ИЛИ.
  4. Из этих логи­че­ских опе­ра­ций мож­но собрать про­стей­ший сум­ма­тор еди­ни­цы и ноля.
  5. Из про­стей­ше­го сум­ма­то­ра мож­но кас­ка­дом собрать более слож­ный, напри­мер, для чисел от 0 до 15.
  6. А даль­ше про­сто насла­и­ва­ешь эти сум­ма­то­ры друг на дру­га, соеди­ня­ешь раз­ны­ми хит­ры­ми обра­за­ми, и у тебя полу­ча­ет­ся всё более и более слож­ная вычис­ли­тель­ная маши­на.

Кому нужны эти транзисторы? Тем, кто будет управлять миром

В буду­щем оста­нет­ся две про­фес­сии: про­грам­мист и мас­са­жист для его утом­лен­ной шеи. Если у вас силь­ные руки и хоро­шая вынос­ли­вость, про­ли­сты­вай­те. Если нет — вот билет в про­фес­сию буду­ще­го.
Попро­бо­вать

Двоичный сумматор / вычитатель

Схема, которую можно использовать для сложения или вычитания двух двоичных чисел в любое время, называется двоичным сумматором / вычитателем . И двоичный сумматор, и двоичный вычитатель содержат набор полных сумматоров, которые каскадируются. Входные биты двоичного числа A непосредственно применяются как в двоичном сумматоре, так и в двоичном вычитателе.

Есть два различия в входах полных сумматоров, которые присутствуют в двоичном сумматоре и двоичном вычитателе.

  • Входные биты двоичного числа B непосредственно применяются к полным сумматорам в двоичном сумматоре, тогда как дополненные биты двоичного числа B применяются к полным сумматорам в двоичном вычитателе.

  • Первоначальный перенос, C = 0, применяется в 4-разрядном двоичном сумматоре, тогда как начальный перенос (C 0) 1 применяется в 4-разрядном двоичном вычитателе.

Входные биты двоичного числа B непосредственно применяются к полным сумматорам в двоичном сумматоре, тогда как дополненные биты двоичного числа B применяются к полным сумматорам в двоичном вычитателе.

Первоначальный перенос, C = 0, применяется в 4-разрядном двоичном сумматоре, тогда как начальный перенос (C 0) 1 применяется в 4-разрядном двоичном вычитателе.

Мы знаем, что вентиль Ex-OR с 2 входами производит выход, который совпадает с выходом первого входа, когда другой вход равен нулю. Точно так же это производит вывод, который является дополнением первого ввода, когда другой ввод — один.

Поэтому мы можем применить входные биты двоичного числа B к 2-входным вентилям Ex-OR. Другим входом для всех этих ворот Ex-OR является C . Таким образом, исходя из значения C , вентили Ex-OR создают либо нормальные, либо дополненные биты двоичного числа B.

4-разрядный двоичный сумматор / вычитатель

4-разрядный двоичный сумматор / вычитатель производит либо сложение, либо вычитание двух 4-разрядных чисел на основе значения начального переноса или заимствования, ? . Пусть 4-битные двоичные числа, A=A3A2A1A и B=B3B2B1B. Работа 4-разрядного двоичного сумматора / вычитателя аналогична работе 4-разрядного двоичного сумматора и 4-разрядного двоичного сумматора.

Примените обычные биты двоичных чисел A и B и начальный перенос или заимствование, C от внешнего к 4-битному двоичному сумматору. Блок-схема 4-битного двоичного сумматора / вычитателя показана на следующем рисунке.

Если начальный перенос, ? равен нулю, то каждый полный сумматор получает нормальные биты двоичных чисел A & B. Таким образом, 4-разрядный двоичный сумматор / вычитатель выдает выход, который является сложением двух двоичных чисел A & B.

Если начальный заем равен , то каждый полный сумматор получает нормальные биты двоичного числа A и дополненные биты двоичного числа B. Таким образом, 4-битный двоичный сумматор / вычитатель выдает результат, который является вычитанием двух двоичных номера A и B.

Следовательно, с помощью дополнительных шлюзов Ex-OR одна и та же схема может использоваться как для сложения, так и для вычитания двух двоичных чисел.

Направления развития сумматоров

Быстродействия параллельных сумматоров вполне достаточно для быстрого сложения небольшого количества чисел фиксированной длины.
Так как поразрядное сложение по природе своей последовательно, то при очень большом количестве сложений более выгодно перенастроить то же самое оборудование (АЛУ) для одновременного или не очень одновременного параллельного выполнения нескольких последовательных сложений.

Например, параллельный 64-х разрядный двоичный сумматор из 64-х двоичных сумматоров со сложными схемами ускоренного переноса сложит 1 пару 64-х битных чисел в лучших схемах приблизительно за 5dt, а 32 пары 64-х битных чисел приблизительно за 32*5dt=160dt.
32 последовательных двоичных сумматора без схем ускоренного переноса бит за битом сложат 32 пары 64-х битных чисел приблизительно за 64*2dt=128dt.
32 последовательных четверичных сумматора без схем ускоренного переноса сложат 32 пары 64-х битных чисел приблизительно за (64/lg24)*2dt=64dt.
32 последовательных шестнадцатиричных сумматора без схем ускоренного переноса сложат 32 пары 64-х битных чисел приблизительно за (64/lg216)*2dt=32dt.
32 последовательных двухсотпятидесятишестиричных сумматора без схем ускоренного переноса сложат 32 пары 64-х битных чисел приблизительно за (64/lg2256)*2dt=16dt, т.е. приблизительно в десять раз быстрее, чем параллельный 64-х битный сумматор со схемами ускоренного переноса.
32 последовательных четыретысячидевяностошестиричных сумматора без схем ускоренного переноса сложат 32 пары 64-х битных чисел приблизительно за (64/lg24096)*2dt=10,67dt.

Классификация сумматоров

В зависимости от формы представления информации различают сумматоры аналоговые и цифровые.

По способу реализации


  • механические.
  • электромеханические.
  • электронные.
  • пневматические.
По принципу действия

  • На счётчиках, считающие количества импульсов входного сигналах.
  • Функциональные, выдающие на выходах значения логической функции суммы по модулю и логической функции разряда переноса:
    • логические, каждый раз вычисляющие функцию разряда суммы по модулю и функцию разряда переноса
    • табличные, с таблицами заранее вычисленных значений функции разряда суммы по модулю и значений функции разряда переноса записанных:
      • в ПЗУ, ППЗУ (аппаратные) (надёжнее и дешевле логических, так как вместо полупроводников, выполняющих логические вычисления, в ПЗУ используются проводники и изоляторы («прошивки»)) или
      • в ОЗУ (аппаратные и программные).

Табличные сумматоры впервые были применены в калькуляторах построенных на реле в США до второй мировой войны.

По архитектуре


  • Четвертьсумматоры — бинарные (двухоперандные) сумматоры по модулю без разряда переноса, характеризующиеся наличием двух входов, на которые подаются два одноразрядных числа, и одним выходом, на котором реализуется их арифметическая сумма по модулю.
  • Полусумматоры — бинарные (двухоперандные) сумматоры по модулю с разрядом переноса, характеризующиеся наличием двух входов, на которые подаются одноимённые разряды двух чисел, и двух выходов: на одном реализуется арифметическая сумма по модулю в данном разряде, а на другом — перенос в следующий (старший) разряд.
  • Полные сумматоры — тринарные (трёхоперандные) сумматоры по модулю с разрядом переноса, характеризующиеся наличием трёх входов, на которые подаются одноимённые разряды двух складываемых чисел и перенос из предыдущего (более младшего) разряда, и двумя выходами: на одном реализуется арифметическая сумма по модулю в данном разряде, а на другом — перенос в следующий (более старший разряд). Такие сумматоры изначально ориентированы только на показательные позиционные системы счисления[источник не указан 2874 дня].
  • Накапливающие сумматоры — снабжённые собственной внутренней памятью.

По способу действия


  • Последовательные (одноразрядные), в которых обработка разрядов чисел ведётся поочерёдно, разряд за разрядом, на одном и том же одноразрядном оборудовании.
  • Параллельнопоследовательные, в которых одновременно параллельно последовательно складываются разряды нескольких пар чисел.
  • Параллельные (многоразрядные), в которых слагаемые складываются одновременно по всем разрядам, и для каждого разряда имеется своё оборудование.

По способу организации переноса


  • С (Ripple-carry adder, Схема последовательного переноса).
  • С ускоренным групповым переносом (с предвидением переноса) (, CLA-adders).
  • С пропуском переноса (Carry-skip adder).
  • Сумматор с условным сложением (Conditional sum adder).
  • С переключением переноса (с выбором переноса) (Carry-select adder).
  • С сохранением переноса (Carry-save adder).
  • Двоичные
  • Троичные
  • Четверичные
  • Восьмеричные
  • Десятеричные (десятичные)
  • Шестнадцатеричные
  • Тридцатидвухричные
  • Шестидесятичетырёхричные
  • Стодвадцативосмиричные
  • Двухсотпятидесятишестиричные
  • Шестьдесятпятьтысячпятьсоттридцатишестиричные

Как работает сумматор на ОУ на примере

Симуляция работы инвертирующего сумматора

Давайте рассмотрим работу нашего сумматора на ОУ в симуляторе Proteus.

На вход такого сумматора будет подавать синусоидальные сигналы с амплитудой в 1 В, но с разной частотой. На in1 у нас будет сигнал с частотой в 50 Гц, на in2 сигнал с частотой в 100 Гц и на in3 сигнал с частотой в 150 Гц. Как вы видите, все 3 резистора после сигналов имеют одинаковый номинал в 1 кОм для удобства расчета коэффициента усиления. То есть все сигналы будут усиливаться одинаково. Резистор R2 имеем номинал в 2 кОм. Это значит, что коэффициент усиления на выходе будет равен 2. То есть сумма сигналов будет помножена на коэффициент 2 и инвертирована.

Итак, для того, чтобы посмотреть сигналы как на экране осциллографа, можно также воспользоваться инструментом аналоговым анализатором

на рабочем поле появится окно Analogue Analysis

Для того, чтобы анализировать входы, просто переносим в наше окошко входы in1, in2, in3 и выход out, удерживая левую кнопку мыши

В результате увидим это

Разворачиваем окно

Потом нажимаем пробел и в большом окне уже видим все наши сигналы: и входные, и выходной. (нажмите на картинку, откроется в новом окне)

черная осциллограмма – это и есть сумма всех трех синусоид усиленная в 2 раза, но со знаком “минус”.

В чистом виде на выходе ОУ у нас будет только черная осциллограмма. Она является суммой всех входных сигналов, помноженная на 2, но со знаком “минус”.

Работа неинвертирующего сумматора

Итак, давайте соберем простой нормальный сумматор для, который бы просто складывал сигналы и на выходе выдавал нормальный неинвертированный сигнал. Для того, чтобы создать такой сумматор, наш коэффициент усиления должен быть равен единице, а на выходе мы должны инвертировать такой сигнал. Настало время использовать схему для неинвертирующего сумматора

Итак, все что мы хотим – это просто сложить три сигнала и посмотреть их сумму. И все! Не надо ничего усиливать и инвертировать. Поэтому, наша схема будет выглядеть вот так:

В этой схеме первый каскад на ОУ суммирует входные сигналы, а второй каскад просто инвертирует получившийся сигнал. В каждом усилителе коэффициент передачи равен 1, поэтому, никакого усиления сигнала в данной схеме не происходит.

Итак, осциллограмма со всеми сигналами

Если оставить на экране только осциллограмму выходного сигнала

Тот же самый эффект мы можем получить и с помощью схемы на одном ОУ, о которой я упоминал выше:

Давайте на его входы подадим два одинаковых синусоидальных сигнала, но в противофазе. То есть мы должны получить что-то типа этого

Проверяем симуляцию и видим, что сумма двух одинаковых сигналов в противофазе действительно равняется нулю

История

Подробнее по этой теме см. История компьютера.
См. также: История АВМ

  • 1623 год и 1624 год — Вильгельм Шиккард в двух письмах Кеплеру описывает считающие часы, в которых одной из трёх главных частей был механический десятичный 6-ти разрядный сумматор.
  • 1645 год — Паскаль создал механическую суммирующую машину «Паскалину» с механическим десятичным сумматором.
  • 1673 год — Лейбниц создал механический калькулятор, в котором был механический цифровой десятичный сумматор на механическом счётчике.
  • 1938 год — в телефонной компании Bell Laboratories создали первый электронный двоичный сумматор, автором идеи был Джордж Штибиц.

Схема на миллион

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

В комбинационных схемах состояние сигналов на выходе зависит только от состояния на входе. В последовательностных схемах выход зависит не только от входа, но еще и от внутреннего состояния схемы

В любом случае важно понимать, что сигналы на выходе зависят от входа, не наоборот

В этой статье мы будем рассматривать только комбинационные схемы. Они проще для понимания и наглядней. Кстати, в отечественной литературе нет устоявшегося перевода для последовательностных схем. Кто-то называет их последовательными, кто-то предпочитает кальку с английского языка и использует термин «секвенциальные схемы» (sequential). Разницы нет никакой, но все равно учти это, когда будешь читать дополнительные источники.

Полусумматор

Теперь не будем обращать внимание на перенос из предыдущего разряда и рассмотрим только, как формируется сумма текущего разряда. Если были даны две единицы или два нуля, то сумма текущего разряда равна 0

Если одно из двух слагаемых равно единице, то сумма равна единице. Получить такие результаты можно при использовании вентиля ИСКЛЮЧАЮЩЕГО ИЛИ.

Перенос единицы в следующий разряд происходит, если два слагаемых равны единице. И это реализуемо вентилем И.

Тогда сложение в пределах одного разряда (без учета возможной пришедшей единицы из младшего разряда) можно реализовать изображенной ниже схемой, которая называется полусумматором. У полусумматора два входа (для слагаемых) и два выхода (для суммы и переноса). На схеме изображен полусумматор, состоящий из вентилей ИСКЛЮЧАЮЩЕЕ ИЛИ и И.

Сумматор на ОУ

Инвертирующий сумматор

Как мы уже говорили еще в начале статьи: сумматор – это схема, которая суммирует два и более сигналов. Базовая схема сумматора на ОУ выглядит вот так:

Как и у инвертирующего усилителя, в схеме есть одна особенность. В точке E, где соединяются резисторы, находится потенциал виртуальной земли, о котором мы говорили еще в прошлой статье. Еще эту точку называют точкой суммирования сигналов.

Поэтому, сколько бы мы входных сигналов не подавали на такой сумматор, они не будут влиять друг на друга.

Не будем здесь делать сложные математические выкладки, а просто предоставим вам готовую формулу расчета выходного напряжения Uвых .

Как не трудно догадаться, для сложения двух сигналов

Формула примет вот такой вид:

Откуда в формуле знак “минус”? Так как эта схема сумматора построена на схеме инвертирующего усилителя, то на выходе будет сигнал со знаком “минус”.

Как можно просто сложить два сигнала без всякого усиления?

Как вы заметили, выходное напряжение будет со знаком “минус”. Добавив после такого сумматора инвертирующий усилитель на ОУ с  R3 = R, можно добиться того, что у нас на выходе сигнал будет без знака “минус”. То есть мы получим неинвертирующий сумматор.

Неинвертирующий сумматор

Базовая схема будет выглядеть вот так:

Формулы для расчета

Поэтому, сумматор для двух сигналов будет выглядеть вот так:

Если взять R5 = R2 = R3, то у нас будет простой сумматор с единичным коэффициентом усиления, который на выходе даст просто сумму двух входных сигналов. 

где

Причем должно выполняться условие:

то есть в нашем случае отношение этих резисторов должно равняться 2.

Определение слова «Сумматор» по БСЭ:

Сумматор (от позднелат. surnmo — складываю, от лат. summa — сумма, итог)основной узел арифметического устройства ЦВМ, посредством которого осуществляется операция сложения чисел. При поразрядном сложении десятичных чисел (например, 157, 68 и 9) складывают сначала цифры разрядов единиц всех слагаемых (7 + 8 + 9). результат, если это однозначное число, записывают в разряд единиц итоговой суммы, если же результат — двузначное число (как в данном примере, 7 + 8 + 9 = 24), то в итог записывают только единицы (4), а десятки (2) переносят (добавляют) в разряд десятков слагаемых (5 + 6 + 2). Затем операция сложения повторяется, но уже над десятками, после этого — над сотнями и т. д., до получения итоговой суммы (234). При поразрядном сложении чисел, представленных в двоичном коде, также складываются цифры слагаемых в данном разряде и к полученному результату прибавляется единица переноса (если она имеется) из младшего разряда. В результате формируются (по правилам сложения в двоичной системе счисления) значения суммы в данном разряде и переноса в старший разряд.Многоразрядный С. для поразрядного сложения обычно состоит из соответствующим образом соединённых одноразрядных суммирующих устройств. Простейшее из них, часто называют полусумматором (ПС), в случае сложения двоичных чисел может быть собрано, например, из 4 логических элементов (рис. 1):«и» (2 элемента типа совпадений схемы), «или» (Вентиль электрический), «не» (Инвертор). Схема ПС может видоизменяться в зависимости от используемой системы логических элементов. ПС производит суммирование двух чисел x и y с образованием цифр суммы S и переноса c (см. табл. 1). Однако для реализации многоразрядных С. необходимо иметь суммирующее устройство на 3 входа (для суммирования трёх чисел — слагаемых xi и yi и переноса Ci-1 из младшего разряда), на выходах которого образуется сумма Si и перенос Ci+1 в старший разряд. Работа такого С. отражена в табл. 2, а пример схемы дан на рис. 2.

xiyici-1Sici+1
11
11
111
11
111
111
11111

обработкиВыборсистемабыстродействияэкономичностиБыстродействиеПоэтомупоколенияускорениясразубольшинствоумноженияделения,КарцевАрифметикаКаганКаневскийвычислительныемашиныПреснухинНестеровiii-1ii+1

технические науки

  • , кандидат наук, доцент, преподаватель
  • , магистр, студент
  • Волгоградский государственный технический университет, Волжский политехнический институт (филиал)
  • СУММАТОР
  • СЛОЖЕНИЕ
  • ПОЛУСУММАТОР
  • АРИФМЕТИКО-ЛОГИЧЕСКОЕ УСТРОЙСТВО

Основной элементарной операцией, которую можно выполнять с числами в цифровых устройствах — это арифметическое сложение двух одноразрядных двоичных чисел. АЛУ — Арифметико-логическое устройство процессора, будет обязательно содержать в составе своём такие элементы как сумматоры. Такие схемы позволят, к примеру, складывать двоичные числа. Но помимо сложения они обладают есть еще множеством функций.

Базовые блоки

Все цифровые схемы сводятся к нескольким стандартным логическим элементам. Это примерно как кубики Lego в детском конструкторе. Их можно комбинировать, соединять друг с другом и получать новые схемы. Для каждого элемента я привел таблицу истинности — соответствие между входными и выходными сигналами.

Существуют еще диаграммы Венна, но, на мой взгляд, они совершенно лишние и только осложняют дело. Впрочем, если ты предпочитаешь графическое представление, то можешь ознакомиться и с ними.

NOT

Самый простой вентиль, представляет собой логическое отрицание и инвертирует сигнал на единственном входе. Так как у нас всего два возможных состояния, таблица истинности совсем крохотная. В С/C++ это оператор , хотя там его действие распространяется на любые переменные с числовым значением, не только бинарные.

Обрати внимание, что на рисунке выше (и на всех последующих) приведены два символа для обозначения конкретного элемента на схемах. Слева — американский вариант (ANSI), справа — его европейский аналог (МЭК и ГОСТ)

Второй стандарт сейчас уже редко где применяется, и даже в русскоязычной литературе почти всегда используется графически более наглядный стандарт ANSI.

AND

Сигнал на выходе этого вентиля равен логической единице только тогда, когда на всех входах присутствует высокий уровень. При этом количество входов может быть любым — таблица истинности изменится незначительно. Кроме того, ничто не мешает каскадировать такие элементы, подавая выход одного вентиля на вход другого.

Традиционно таблица рисуется именно таким образом: сперва все входы находятся в состоянии логического ноля, а затем последовательно инвертируется один из разрядов, начиная с младшего. Можно смотреть на это и с другой стороны — как будто все входы кодируют какое-то число (в двоичном представлении) и в каждой строке мы прибавляем к нему по единичке, проходя все возможные значения.

В С/С++ существует аж два аналога для этого вентиля: булево И (оператор &) и логическое И (оператор &&). Первый применяется для проверки флагов и других операций над отдельными битами числа, тогда как второй используется в логических выражениях.

OR

Здесь выход находится в состоянии логического ноля, только когда все входы равны нулю. Остальные комбинации приводят к высокому уровню на выходе.

Вместе и — это два основных строительных «кирпичика» цифровой логики. Сразу возникает вопрос, как их отличать друг от друга на схемах. Конечно, все решает практика, и со временем они запомнятся сами собой, но можно воспользоваться простым правилом: форма элемента со стороны входов соответствует первой букве в английском обозначении.

Так, округлость вентиля напоминает очертания буквы O, а прямая линия элемента явно позаимствована из буквы А. Звучит немного нелепо, но главное, что это работает.

Аналогично ситуации с для вентиля в языках программирования С/С++ используется булево ИЛИ (оператор ) и логическое ИЛИ (оператор ).

XOR

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

В общем случае (больше двух входов) этот вентиль реализует самую неочевидную функцию из рассмотренных: если на входах нет логических единиц или если их количество четное, то на выходе ноль, в любом другом случае — единица.

В C/C++ это оператор и с ним связана забавная возможность обменять значения двух числовых переменных без участия временной переменной для промежуточного хранения (свойство самообратимости). И все в одной строчке:

Но вернемся к нашим вентилям. Иногда в их список добавляют также сочетания с : , и . При желании можешь вывести их таблицы истинности самостоятельно, это не составляет никакого труда.

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!
Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя!
Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

Я уже участник «Xakep.ru»

Оцените статью:

5.5 Проектирование сумматоров

Пример. Вычесть 56 из 23, используя 8-битовые числа со знаком. Поскольку

56 = 00111000 и 23 = 00010111, имеем

Сначала находим двоичное дополнение числа 00111000, которое равно 11001000, а затем выполняем сложение:

Так как двоичным дополнением числа 11011111 является 00100001, которое равно 33, число 11011111 равно -33.

Пример. Вычесть 7328 из 3614, воспользовавшись 16-битовыми шестнадцатеричными числами со знаком. Поскольку 732810 = 1CA016 и 3614 = E1E16, имеем

Сначала находим двоичное дополнение числа 1СА0, которое равно E35F, а затем выполняем сложение:

Поскольку двоичным дополнением числа F1E является 0E82 и 0Е82 = 371410,

то 3614 — 7328 = –3714.

Ранее мы рассматривали функциональные схемы с одним выходом, т.е. схемы, которые соответствовали одной булевой функции нескольких булевых аргументов. Но часто требуется построить схемы с несколькими выходами, сигнал на каждом из которых соответствует своей булевой функции, а значения аргументов (сигналов на входе) общие. Важным примером таких схем являются арифметические регистры микропроцессоров. Здесь мы рассмотрим способ конструирования функциональных схем простейших сумматоров – полубитного, одноразрядного, двухбитного, трехбитного и n – битного сумматоров.

Полубитный сумматор. Пусть p и q обозначают двоичные цифры, которые предстоит сложить, а d1 и d0 — двоичные цифры суммы, получающейся на выходе сумматора (здесь d1 будет представлять старший разряд, а d0 – младший разряды суммы )

Полусумматор находит сумму двух двоичных чисел (единиц и/или нулей) согласно таблице сложения

Таблицы истинности для булевых функций d0 и d1 должны иметь вид

Следовательно, d0 ≡ p q’+p’ q и d1 = p q . Тогда функциональную схему полусумматора можно представить следующим образом

Поскольку

p q’+p’ q ≡(p + q) (p q)’

(это

проверяется,

например,

построением

таблиц

истинности),

то

для

булевых

функций

d0 ≡ (p + q) (p q)’ и d1 = p q схему полусумматора можно построить также в следующем виде

Полусумматор часто обозначается символом, изображенным на следующем рисунке

Одноразрядный (полный) двоичный сумматор складывает три двоичных одноразрядных числа. Он производит сложение двух бинарных чисел p, q (обычно это i – е двоичные разряды многоразрядных двоичных чисел) и учитывает еще перенос r из предыдущего разряда (добавляет двоичную цифру). На выходе одноразрядного сумматора выдается сумма

p +2 q +2 r = d0# и еще вычисляется перенос d1# в следующий разряд. На схемах его часто обозначают следующим образом

Пусть р,q и r обозначают одноразрядные двоичные числа, которые необходимо сложить, а d1# ,d0# — первый (старший) и второй (младший) разряды их суммы. Построим следующие таблицы истинности:

Здесь d0 ≡(p + q) (p q)’ младший разряд суммы р+2 q и d1 = p q — старший разряд этой суммы. Тогда d0# (младший разряд суммы трех чисел) есть

младший разряд результата сложения

d0+2 r – это видно из приведенной

таблицы.

d1#

 

Из приведенной таблицы для

(старший разряд суммы трех чисел)

имеем такое представление

в

виде дизъюнкции минтермов

d1# = p q r + p q r’+p q’r + p’q r . Для упрощения этого выражения составляем карту Карно.

Из нее получаем d1# ≡ p q + p r + q r ≡ p q + (p + q)r . Поэтому схема может быть приведена к виду, показанному на следующем рисунке, в который мы включили два полубитных сумматора.

Заметим, что старший разряд (выход) второго полубитного сумматора мы игнорируем. Более подробно эта схема представлена на следующем рисунке

Здесь схемы полусумматоров мы отметили пунктирными прямоугольниками,

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

Двухбитный сумматор — это устройство, которое вычисляет сумму двух двоичных чисел, выдавая в качестве ответа трехзначное двоичное число. На вход он получает два двузначных двоичных числа, а на выходе у него оказывается трехзначное число, равное сумме вводимых чисел. Иными словами, 2-битный сумматор складывает числа в двоичной системе счисления. Например, 102+112=1012.

Обозначим через а и b цифры первого вводимого в сумматор числа, а через с и d — цифры второго (см. рисунок). Пусть e,f,g — цифры вычисляемой суммы.

Составим следующую таблицу истинности

 

b

c d

 

 

ab+2 cd

 

 

a+2 c

b+2 d

u2+2 v1

 

u1 V u3

a

e f g

u1

v1

u2

v2

u3

v3

 

1

1

1

1

 

1

 

 

1

 

 

0

 

1

0

1

0

0

1

 

1

1

1

1

0

 

1

 

 

0

 

 

1

 

1

0

0

1

0

0

 

1

1

1

0

1

 

1

 

 

0

 

 

0

 

0

1

1

0

1

0

 

1

1

1

0

0

 

0

 

 

1

 

 

1

 

0

1

0

1

0

1

 

0

1

0

1

1

 

1

 

 

0

 

 

1

 

1

0

0

1

0

0

 

1

1

0

1

0

 

1

 

 

0

 

 

0

 

1

0

0

0

0

0

 

1

1

0

0

1

 

0

 

 

1

 

 

1

 

0

1

0

1

0

1

 

0

1

0

0

0

 

0

 

 

1

 

 

0

 

0

1

0

0

0

1

 

0

0

1

1

1

 

1

 

 

0

 

 

0

 

0

1

1

0

1

0

 

1

0

1

1

0

 

0

 

 

1

 

 

1

 

0

1

0

1

0

1

 

0

0

1

0

1

 

0

 

 

1

 

 

0

 

0

0

1

0

0

1

 

0

0

1

0

0

 

0

 

 

0

 

 

1

 

0

0

0

1

0

0

 

0

0

0

1

1

 

0

 

 

1

 

 

1

 

0

1

0

1

0

1

 

0

0

0

1

0

 

0

 

 

1

 

 

0

 

0

1

0

0

0

1

 

0

0

0

0

1

 

0

 

 

0

 

 

1

 

0

0

0

1

0

0

 

0

0

0

0

0

 

0

 

 

0

 

 

0

 

0

0

0

0

0

0

 

0

Здесь ab – первый двоичный операнд и a – его старшая двоичная цифра, а b – младшая. Также cd – второй двоичный операнд и c – его старшая двоичная цифра, а d – младшая. Результат efg=ab+2 cd, где g,f,e – младшая, средняя и старшая цифры результата суммирования. В таблице также заполнены столбцы для двоичных сумм a+2 c, b+2 d, u2+2 v1. Очевидно, что в функциональной схеме они могут быть получены с использованием полубитных сумматоров. Значения последнего столбца u1 V u3 могут быть получены с использованием двоичного элемента ИЛИ.

Из таблицы видно, что столбец v2 совпадает со столбцом g. Поэтому младший разряд результата может быть получен как младший разряд суммы цифр b+2 d. Столбец v3 совпадает со столбцом f. Поэтому средняя цифра результата может быть получена как сумма u2+2 v1. Также из таблицы видно, что старшая цифра суммы может быть получена бинарным сложением e=u1 V u3. Исходя из всего сказанного функциональная схема 2-битного сумматора может быть представлена следующей схемой

На следующем рисунке представлена функциональная схема 3-битного сумматора, складывающего два трехзначных двоичных числа с цифрами a,b,с и d,е,f соответственно. В качестве суммы получается четырехзначное число с цифрами g,h,i,j .

Мы не будем строить таблицы истинности для этого сумматора, а проанализируем его работу на примере сложения двух трехзначных двоичных чисел, например, 110+2 011=1001. Для этого мы проставили значения сигналов на предыдущей схеме. В общем случае мы, конечно, должны составить таблицы истинности для булевой функции, соответствующей каждому выходу, и убедиться, что при любых входных значениях (двоичных аргументах) мы получаем двоичные цифры суммы на соответствующих выходах.

n – разрядный двоичный сумматор суммирует два n – разрядных двоичных числа и возвращать их сумму, и еще, возможно, разряд переполнения (переноса). Для построения его схемы мы используем одноразрядный двоичный сумматор. Напомним, что он производит сложение двух двоичных цифр xi,yi и учитывает еще перенос pi из предыдущего разряда. На выходе одноразрядного сумматора выдается сумма xi+2 yi+2 pi=zi и вычисляется

31

перенос pi+1 в следующий разряд. На схемах такой сумматор часто обозначается следующим образом

Пусть первое слагаемое n – разрядного сумматора имеет вид xn xn−1 xn−2 …x2 x1 ,

второе – yn yn−1 yn−2 …y2 y1 и сумма – zn zn−1 zn−2 …z2 z1 , где xi , yi , zi — i-е двоичные цифры (0 или 1) слагаемых и результата. Построим последовательную схему из одноразрядных сумматоров следующего вида

Здесь р1 = 0, z1 = x1 y1 – младшая двоичная цифра результата сложения

младших разрядов слагаемых (символ обозначает сложение по модулю 2, т.е. младшую двоичную цифру сложения), p2 – цифра переноса из младшего разряда. Далее z2 = x2 y2 – вторая цифра результата и p3 – цифра переноса

из второго разряда. И так далее. Если значение pn+1=1, то это сигнал о переполнении сумматора. Важно, что каждый очередной одноразрядный сумматор вступает в работу только после окончания работы предыдущего одноразрядного сумматора, который вырабатывает перенос. Поэтому на рисунке изображены элементы задержки в виде кружков на входе переноса очередного одноразрядного сумматора. Этот элемент запирает каждый одноразрядный сумматор до тех пор, пока не закончилось суммирование в предыдущем разряде. Синхронизация этого процесса характеризуется тактовой частотой процессора. Быстродействие компьютера зависит от тактовой частоты процессора и от величины разрядности n сумматора.

Одноразрядные двоичные сумматоры

Реализация логических схем на компьютере с использование программы

Electronics Workbench

Правила сложения двоичных и десятичных чисел одинаковы:

1. сложение производиться поразрядно — от младшего разряда к старшему;

2. в младшем разряде вычисляется сумма младших разрядов слагаемых А; и Bj. Эта сумма в данной системе счисления может быть записана однозначным числом Si либо двухзначным числом PiS,. Функция Р называется переносом;

3. во всех последующих разрядах находиться сумма данных разрядов слагаемых А; и В„ причем при Ри-1 к этой сумме добавляется единица (в числовых примерах, приведенных выше, этот случай выделен жирным шрифтом, результат сложения в i-м разряде записывается в виде однозначного Si или двухзначного PjSi числа.

Таким образом, в каждом разряде необходимо найти сумму A;, Bi иРм (если Рм=1), т.е. определить Si и Pj. По числу входов различают полусумматоры, одноразрядные сумматоры (ОС) и многоразрядные сумматоры.

Полусумматоры


 

Рис. 6.10 Схема полусумматора


 

Рис. 6.11 Схема полусумматора с использованием стандартной схемы сложения по

модулю 2

Таблица 6.4 Таблица истинности полусумматора


Рис. 6.12 Диаграмма работы полусумматора Логические уравнения: S=xA*y+x*yA P=x*y 6.6.2 Одноразрядный двоичный сумматор

Рис. 6.13 Схема одноразрядного двоичного сумматора

Рис. 6.14 Диаграмма работы одноразрядного двоичного сумматора

Таблица 6.В), минимизируем их используя законы алгебры логики.




 
 

Рис. 6.18 Диаграмма работы цифровой схемы сравнения

Таблица 6.5 — Таблица истинности цифровой схемы сравнения

Приложение 2

Микросхемы представляют собой четырехразрядный (двоичный) полный сумматор. Содержат 781 интегральный элемент. Корпус К155ИМЗ типа 238.16-2, масса не более 2 г., КМ155ИМЗ типа 201.16-6, масса не более 2,5 г.


Корпус ИМС К155ИМЗ

238.16-1 238.16-2

Условное графическое обозначение вход слагаемого А4; выход суммы S3;

3 — вход слагаемого A3;

4 — вход слагаемого ВЗ;

5 — напряжение питания;

6 — выход суммы S2;

7входслагаемого В2;

8входслагаемого A3;

9 — выход суммы S1;

 

10вход слагаемого А1;

11 — вход слагаемого В1;

12 — общий;

13 — вход переноса РО;

14 — выход переноса четвкртого разряда Р4;

15 — выход суммы S4;

16 — вход слагаемого В4; Электрические параметры

 


 

к-:-»»:-:-:-:-:-:.:-»:-:-»:-:-»

Время задержки распространения по цепи переноса Зарубежные аналоги

SN7483N, SN7483J

Устройство.

Работа выполняется на плате П6 с использованием одной технологической карты VI-1.

Карта VI-1 позволяет исследовать АЛУ. При не нажатой кнопке SB2 общая шина подключается к выходу счетчика 10. Набирая любую необходимую информацию (кнопкой -SB1), контролируемую по индикатору HG-1 переписывают ее в регистры кода операций или операндов. Выход информации из АЛУ на индикатор HG-1 осуществляют сигналом, подаваемым на вход V микросхемы счетчика.

Стандартное АЛУ типа К155ИПЗ, как известно [2] , может выполнять 64 логических или арифметическо-логических операции, в зависимости от сигналов, подаваемых на управляющие входы S, М и вход переноса Р().

Для знакомства с принципом действия АЛУ можно ограничиться значительно меньшим набором операций. Список этих операций и соответствующие им коды приведены в таблице 2.

Таблица входных кодов и выполняемых операций.

Таблица 7.2

I

При работе со стендом карта (VI-1) удобнее пользоваться, шестнадцатеричным

кодом операции, который набирается кнопкой, SB1 с контролем по индикатору

HG1.

Приложение 1

Приложение

Микросхема представляет собой арифметико-логическое устройсво (АЛУ). Корпус К155ИПЗ типа 201.14-1, масса не более 1 г.

Корпус ИМС К155ИПЗ


Условное графическое обозначение информационный вход младшего разряда ВО; информационный вход младшего разряда АО;


 

Одноразрядные двоичные сумматоры

Вцифровых устройствах применяются одноразрядные суммирующие схемы на два и три входа, причем первую называют полусумматором, вторую — полным

одноразрядным сумматором. 6.3.1 Полусумматоры

Простейшим суммирующим элементом является полусумматор. Он имеет (рис.6.3) два входа А и В для двух слагаемых и два выхода : Б(сумма) и РО (перенос). Обозначением полусумматора служат буквы HS (HalfSum — полусумма), работу прибора отражает таблица истинности таблица 6.1


 

Рис. 6.3 Полусумматор Полусумматор имеет два входа и пригоден для использования только в младших разряде.

Рассмотрим синтез полусумматоров, имеющихдва входа А и В. Выходными сигналами такого устройства являются сумма S и перенос РО, которые вырабатываются согласно таблице 1 функционирования данного устройства.

Таблица 6.1



 



Рис. 6.4 Реализация полусумматора на элементах И-НЕ, И-ИЛИ-НЕ (а) и его

условное обозначение (б)

Сумматор в отличие от полусумматорадолжен воспринимать не два, а три

входных сигнала: два слагаемых А, В и сигнал переноса с предыдущего разряда Р.

Вообще говоря, сумматор можно построить из двух полусумматоров и одной схемы

ИЛИ (рис. 6.5).


 

Рис.6.5 Полный одноразрядный сумматор на основе полусумматоров (а) и его

условное обозначение (б)
Составим таблицу функционирования полного одноразрядного сумматора
(табл. 6.2). Таблица 6.2

Рассмотрим работу сумматора состоящего из двух полусумматоров, (рис 6.6)


 



Таблица 6.3

Рис. 6.7 Схема одноразрядного сумматора с парафазными входными сигналами 6.4 Параллельные многоразрядные сумматоры

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

Простейшими из параллельныхсумматоров (ПС) являются ПС с последовательной передачей сигналов переноса (рис. 6.8).

При последовательном вводе используется один,общий для всех разрядов полный сумматор с дополнительной цепью задержки. Оба слагаемых кодируются последовательностями импульсов, которые синхронно вводятся в сумматор через входы А и В, начиная с младших разрядов. Цепь задержки обеспечивает хранение импульса переноса Р на время одного такта, т.е. до прихода пары слагаемых следующего разряда, с которыми он будет просуммирован. Задержку обеспечивает D-триггер (триггер задержки). Для хранения и ввода слагаемых А и В, а так же для преобразования последовательного кода выходных импульсов в параллельный применяют регистры сдвига. Работа регистров и схемы задержки синхронизируется общим генератором тактовых импульсов.

Сигнал переноса, образованный в младшем разряде, распространяется

последовательно по цепям переноса к старшим разрядам. Время распространения переноса определяется суммарной задержкой этих цепей.

Ь2 Ьп

Рис. 6.8 Комбинационный n-разрядный сумматор с последовательным переносом

Быстродействие сумматора при сложении двух n-разрядных чисел характеризуется временем суммирования, которое в наихудшем случае равно

ts=(n-l)tP+tiS

где tis, tP — задержки формирования одноразрядным сумматором суммы и переноса соответственно. Следовательно, сумматоры с последовательным переносом обладают низким быстродействием. С целью повышения быстродействия (сокращения времени сложения) применяются сумматоры с одновременным переносом.

Серьезным недостатком сумматоров с одновременным переносом является значительный рост аппаратурных затрат при построении схем межразрядных переносов. Поэтому на практике применяют метод построения сумматоров с комбинированным переносом.

В сумматорах с комбинированным переносом полные одноразрядные сумматоры объединяются в группы. Внутри группы, как правило, осуществляется одновременный перенос. Между группами перенос может быть как последовательный, так и одновременный. На рис.6.9 в качестве примера приведена схема 16-разрядного двоичного сумматора с комбинированным переносом на базе четырехразрядных схем сумматоров АЛУ (микросхем ИГО). Здесь внутри групп организован одновременный перенос, между группами -последовательный.


Рис.6.9 16-разрядный сумматор с комбинированным переносом Для удобства построения сумматоров с одновременным переносом в ряде серий микросхем логические функции, формирующие переносы, реализуются в виде отдельной микросхемы.

6.5ЛАБОРАТОРНАЯ РАБОТА № 6 Цель работы: Исследовать четырехразрядный параллельный сумматор. Объем заданий к работе:

1. На примерах рассмотрения арифметических действий над двоичными числами обоснуйте утверждение, что наиболее часто встречающейся операцией над числами в вычислительных устройствах и в ЭВМ является операция сложения.

2. Ответить, чем отличаются операции параллельного и последовательного суммирования.

3. По таблице вариантов, возникающих при сложении двух одноразрядных чисел, составить и объяснить буревые выражения для описания одноразрядного сумматора.

4. Продумать и зарисовать в тетради рабочие схемы для изучения работы параллельного 4-х разрядного сумматора. Зарисовать условно-графическое обозначение изучаемого устройства.

5. Продумать формы отчетных таблиц.
При выполнении работы:

1. Собрать схему стенда для исследования работы 4-х разрядного параллельного сумматора (карта Ш-3).

2. Провести исследование работы 4-х разрядного параллельного сумматора. В процессе исследования провести суммирование 4-5 пар 4-х разрядных двоичных чисел (операндов). Формирование и промежуточное хранение операндов выполнять соответственно с помощью регистра RG и тумблеров SA4…SA1. Суммирование производить с учетом сигнала переноса (SB3).

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

3. Провести вычисление 3-4 пар 4-х разрядных операндов, используя перевод вычитаемого в дополнительный код. Результаты вычитания проверить при переводе значений операндов в десятичный код.

4. Результаты исследования представить соответствующими таблицами.

5. Просмотр состояний входов и выходов SM производить с помощью устройства цифровой индикации в режимах представления информации в двоичном и шестнадцатеричном кодах.

При зачете:

1. Произвести сравнительную оценку используемых ИС для построения сумматоров.

2. Указать, возможно, ли создание на базе ИС К155ИМЗ сумматоров большой разрядности.

Работа выполняется на плате ПЗ с использованием технологической карта Ш-3

Карта Ш-3предназначена для исследования работы сумматора двух 4-х разрядных двоичных чисел на ИМС типа К155ИМЗ (D2). Для задания двух 4-х разрядных слагаемых используются тумблеры SA1 — SA4 (слагаемое А) и регистр D1 (слагаемое В). Ввод слагаемого В в регистр может осуществляться как в параллельном (с тумблеров SA1-SA4), так и в последовательном (с кнопки SB2) режимах. Сигнал начального переноса Р0 подается с кнопки.SB3 через инвертор D 2.3, имеющийся в основном блоке. Индикация входных операндов А и В осуществляется двоичным восьмиразрядным индикатором HL2 — HL9, Сигнал переноса в сстарший (пятый) разряд подается на индикатор HL1. Сумма в четырех первых разрядах дешифруется в блоке индикации и высвечивается в виде шестнадцатеричного числа на семисегментном индикаторе. Приложение 1 Технологическая карта (шаблон) Ш-3


Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:

Двоичное суммирование и двоичное сложение с использованием шлюзов Ex-OR

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

Базовая схема двоичного сумматора может быть сделана из стандартных логических элементов И и Ex-OR, что позволяет нам «складывать» два однобитовых двоичных числа, A и B.

Сложение этих двух цифр дает вывод, называемый СУММОМ сложения, и второй вывод, называемый битом CARRY или переносом, (C OUT ) в соответствии с правилами для двоичного сложения.Одно из основных применений двоичного сумматора — в арифметических и счетных схемах. Рассмотрим простое сложение двух десятичных чисел (с основанием 10) ниже.

123 A (Augend)
+ 789 Б (добавление)
912 СУММ

На уроках математики в школе мы узнали, что каждый числовой столбец складывается, начиная с правой стороны, и что каждая цифра имеет взвешенное значение в зависимости от ее положения в столбцах.

Когда каждый столбец складывается, генерируется перенос, если результат больше или равен 10, основному числу. Затем этот перенос добавляется к результату добавления следующего столбца слева и так далее, простое сложение по школьной математике, складывается числа и переносится.

Сложение двоичных чисел — это точно такая же идея, что и сложение десятичных чисел, но на этот раз перенос генерируется только тогда, когда результат в любом столбце больше или равен «2», базовому числу двоичного числа.Другими словами, 1 + 1 создает перенос.

Сложение двоичных файлов

Бинарное сложение следует тем же основным правилам, что и денарное сложение, указанное выше, за исключением того, что в двоичном формате используются только две цифры, причем самая большая цифра — «1». Таким образом, при сложении двоичных чисел перенос создается, когда «СУММ» равно или больше двух (1 + 1), и он становится битом «ПЕРЕНОС» для любого последующего добавления, передаваемого в следующий столбец для сложения, и поэтому на. Рассмотрим добавление одного бита ниже.

Двоичное сложение двух битов

0 0 1 1
+ 0 + 1 + 0 + 1
0 1 1 (перенос) 1 ← 0

Когда два отдельных бита, A и B складываются вместе, сложение «0 + 0», «0 + 1» и «1 + 0» приводит либо к «0», либо к «1», пока вы не дойдете до последний столбец «1 + 1», тогда сумма равна «2».Но число два не существует в двоичном формате, однако 2 в двоичном формате равно 10, другими словами, ноль для суммы плюс дополнительный бит переноса.

Тогда для работы простого сумматора требуются два входа данных, дающие два выхода, сумму (S) уравнения и бит переноса (C), как показано.

Блок-схема двоичного сумматора

Для простой задачи 1-битового сложения, описанной выше, результирующий бит переноса можно было бы проигнорировать, но вы могли заметить кое-что еще в отношении сложения этих двух битов: сумма их двоичного сложения напоминает сумму логического элемента Исключающее ИЛИ.Если мы помечаем эти два бита как A и B, то результирующая таблица истинности представляет собой сумму двух битов, но без окончательного переноса.

Вентиль с двумя входами, исключающее ИЛИ

Символ Таблица истинности

Ворота Ex-OR с 2 входами

B A S
0 0 0
0 1 1
1 0 1
1 1 0

Из приведенной выше таблицы истинности видно, что вентиль «Исключающее ИЛИ» производит выход «1» только тогда, когда любой из входов имеет логическую «1», но не то же самое, что и для двоичного сложения двух предыдущих битов.Однако, чтобы выполнить сложение двух чисел, микропроцессорам и электронным калькуляторам требуется дополнительный бит переноса для правильного вычисления уравнений, поэтому нам нужно переписать предыдущее суммирование, чтобы включить два бита выходных данных, как показано ниже.

00 00 01 01
+ 00 + 01 + 00 + 01
00 01 01 10

Из приведенных выше уравнений мы теперь знаем, что вентиль «Исключающее ИЛИ» будет генерировать выход «1» только тогда, когда «ЛЮБОЙ» вход имеет логическую «1», поэтому нам нужен дополнительный выход для создания бита переноса, когда входы «ОБА» A и B находятся на уровне логической «1».Один цифровой вентиль, который идеально соответствует всем требованиям, производящий выход «1», когда оба его входа A и B равны «1» (ВЫСОКИЙ), является стандартным вентилем AND.

2 входа И ворота

Символ Таблица истинности

2 входа И ворота

B A С
0 0 0
0 1 0
1 0 0
1 1 1

Комбинация логического элемента «Исключающее ИЛИ» с логическим элементом И приводит к простой схеме цифрового двоичного сумматора, широко известной как «полусумматор ».

Схема половинного сумматора

Полусумматор — это логическая схема, которая выполняет операцию сложения двух двоичных цифр. Полусумматор выдает сумму и значение переноса, которые являются двоичными цифрами.

Таблица истинности полусумматора с выносом

Символ Таблица истинности
B A СУММ ПЕРЕНОСКА
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1

Из таблицы истинности полусумматора мы видим, что выход СУММ (S) является результатом логического элемента Исключающее ИЛИ, а перенос (Cout) — результатом логического элемента И.Тогда логическое выражение для полусумматора выглядит следующим образом.

Для SUM бит:

СУММ = A XOR B = A ⊕ B

Для CARRY бит:

ПЕРЕНОСИТЬ = A И B = A.B

Одним из основных недостатков схемы полусумматора , когда она используется в качестве двоичного сумматора, является то, что в предыдущей схеме не предусмотрен «перенос» при сложении нескольких битов данных.

Например, предположим, что мы хотим сложить вместе два 8-битных байта данных, любой результирующий бит переноса должен иметь возможность «колебаться» или перемещаться по битовым комбинациям, начиная с младшего значащего бита (LSB).Самая сложная операция, которую может выполнить полусумматор, — это «1 + 1», но, поскольку полусумматор не имеет ввода переноса, результирующее добавленное значение будет неверным. Один простой способ решить эту проблему — использовать схему двоичного сумматора типа Full Adder .

Полная схема сумматора

Основное различие между Full Adder и предыдущим Half Adder состоит в том, что полный сумматор имеет три входа. Те же два входа однобитовых данных A и B, что и раньше, плюс дополнительный вход Carry-in (C-in) для приема переноса с предыдущего этапа, как показано ниже.

Блок-схема полного сумматора

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

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

Полная логическая схема сумматора

Поскольку приведенная выше схема полного сумматора представляет собой в основном два полусумматора, соединенных вместе, таблица истинности для полного сумматора включает дополнительный столбец для учета ввода Carry-in , C IN , а также суммированного вывода, S и Выполнение, C OUT бит.

Полная таблица истинности сумматора с переноской

Символ Таблица истинности
C-дюйм B A Сумма C-выход
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

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

Для бита SUM (S):

СУММ = (A XOR B) XOR Cin = (A ⊕ B) ⊕ Cin

Для бит CARRY-OUT (Cout):

ВЫВОД = A И B ИЛИ Cin (A XOR B) = A.B + Cin (A ⊕ B)

n-битный двоичный сумматор

Выше мы видели, что одиночные 1-битные двоичные сумматоры могут быть построены из базовых логических вентилей. Но что, если мы хотим сложить два n-битных числа, тогда n 1-битных полных сумматоров необходимо соединить или «каскадировать» вместе, чтобы получить так называемый сумматор Ripple Carry Adder .

«Сумматор с неравномерным переносом» — это просто «n» 1-битных полных сумматоров, соединенных каскадом вместе, причем каждый полный сумматор представляет один взвешенный столбец в длинном двоичном сложении. Это называется сумматором переноса с пульсацией, потому что сигналы переноса создают эффект «пульсации» через двоичный сумматор справа налево (от LSB к MSB).

Например, предположим, что мы хотим «сложить» вместе два 4-битных числа, два выхода первого полного сумматора предоставят сумму цифр первого разряда (S) сложения плюс бит переноса, который действует как перенос -в разряде следующего двоичного сумматора.

Второй двоичный сумматор в цепочке также производит суммированный вывод (2-й бит) плюс еще один бит переноса, и мы можем продолжать добавлять больше полных сумматоров к комбинации для добавления больших чисел, связывая вывод бита переноса с первым полным двоичным кодом. сумматор к следующему полному сумматору и так далее. Пример 4-битного сумматора приведен ниже.

4-битный сумматор пульсации

Одним из основных недостатков «каскадирования» 1-битных двоичных сумматоров для сложения больших двоичных чисел является то, что при изменении входов A и B сумма на его выходе не будет действительной до тех пор, пока какой-либо вход переноса не «пройдёт» через каждые полный сумматор в цепочке, потому что старший бит (старший значащий бит) суммы должен ждать каких-либо изменений от входа переноса младшего разряда (младшего значащего бита).Следовательно, будет конечная задержка, прежде чем выход сумматора отреагирует на любое изменение на его входах, что приведет к накопленной задержке.

Если размер добавляемых битов не слишком велик, например 4 или 8 бит, или скорость суммирования сумматора не важна, эта задержка может не иметь значения. Однако, когда размер битов больше, например 32 или 64 бита, используемых в многобитовых сумматорах, или требуется суммирование при очень высокой тактовой частоте, эта задержка может стать недопустимо большой, так как процессы сложения не будут завершены правильно в пределах одного такт.

Это нежелательное время задержки называется Задержка распространения . Также другая проблема, называемая «переполнение», возникает, когда n-битовый сумматор складывает вместе два параллельных числа, сумма которых больше или равна 2 n

Одно из решений состоит в том, чтобы генерировать входные сигналы переноса непосредственно со входов A и B, а не использовать схему пульсаций, описанную выше. Затем это создает другой тип схемы двоичного сумматора, называемый двоичным сумматором с упреждением с переносом данных , где скорость параллельного сумматора может быть значительно улучшена с помощью логики с прогнозированием вперед.

Преимущество сумматоров с упреждающим переносом состоит в том, что время, необходимое сумматору с упреждающим переносом для получения правильной СУММ, не зависит от количества битов данных, используемых в операции, в отличие от времени цикла, которое требуется параллельному сумматору пульсаций. заполните СУММ, которая является функцией общего количества битов в слагаемом.

4-битные схемы полного сумматора с функциями упреждающего переноса доступны как стандартные пакеты IC в виде 4-битного двоичного сумматора TTL 74LS83 или 74LS283 и CMOS 4008, которые могут складывать вместе два 4-битных двоичных числа и генерировать SUM и вывод CARRY, как показано.

74LS83 Логический символ

Сводка двоичных сумматоров

В этом руководстве мы видели около двоичных сумматоров , что схемы сумматора можно использовать для «сложения» двух двоичных чисел, производящих «перенос». В самом простом виде сумматоры могут быть созданы путем соединения логического элемента «Исключающее ИЛИ» с логическим элементом И для создания схемы полусумматора . Два полусумматора можно объединить для получения полного сумматора .

Существует ряд 4-битных интегральных схем с полным сумматором, таких как 74LS283 и CD4008.который добавит два 4-битных двоичных числа и предоставит дополнительный входной бит переноса, а также выходной бит переноса, поэтому вы можете каскадировать их вместе для создания 8-битных, 12-битных, 16-битных сумматоров, но распространение переноса задержка может быть серьезной проблемой в больших n-битных сумматорах пульсации.

Половинный и полный сумматор, вычитатель

В этом руководстве мы рассмотрим схемы двоичного сумматора и вычитателя.Мы узнаем о полусумматоре, полном сумматоре, параллельном сумматоре (с использованием нескольких полных сумматоров), половинном вычитателе, полном вычитателе и схеме комбинации параллельного сумматора / вычитателя.

Двоичные схемы сложения

Сложение и вычитание — это две основные арифметические операции, которые должны выполняться любым цифровым компьютером. Если обе эти операции могут быть правильно реализованы, тогда задачи умножения и деления станут легкими (поскольку умножение — это повторное сложение, а деление — это повторное вычитание).

Рассмотрим операцию сложения двух двоичных чисел, которая является одной из основных задач, выполняемых цифровым компьютером. Четыре основные операции сложения двух однобитовых двоичных чисел:

  • 0 + 0 = 0
  • 1 + 0 = 1
  • 0 + 1 = 1
  • 1 + 1 = (Перенести) 1 0

В первых трех операциях каждое двоичное сложение дает сумму как один бит, то есть либо 0, либо 1. Но для четвертой операции сложения (где входы — 1 и 1) результат состоит из двух двоичных цифр.Здесь младший значащий бит называется «Sum Bit», а старший значащий бит — «Carry Bit».

Для однобитового сложения проблем может не быть. Проблема может возникнуть, когда мы пытаемся сложить двоичные числа с более чем одним битом.

Логические схемы, которые предназначены для выполнения сложения двух двоичных чисел, называются схемами двоичного сумматора. В зависимости от того, как они обрабатывают выход сложения «1 + 1», они делятся на:

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

Полусумматор

Логическая схема, используемая для сложения двух одноразрядных чисел или просто двух битов, называется схемой полусумматора. Эта схема имеет два входа и два выхода. Входы — это два 1-битных двоичных числа (известных как Augend и Addend), а выходы — это Sum и Carry.

На следующем изображении показана блок-схема Half Adder.

Таблица истинности полусумматора показана в следующей таблице.

ВХОД ВЫХОД
A B Сумма Carry
017
0 1 1 0
1 0 1 0
1 1 0 1

Если мы наблюдаем значения «Sum» в приведенной выше таблице истинности, они напоминают вентиль Ex-OR.Точно так же значения для «Перенести» в приведенной выше таблице истинности напоминают логический элемент И.

Итак, чтобы правильно реализовать полусумматор, вам понадобятся два логических элемента: вентиль XOR для выхода «Sum» и логический элемент AND для выхода «Carry». На следующем изображении показана логическая схема полусумматора.

В приведенной выше схеме полусумматора входы обозначены как A и B. Выход «Sum» обозначен символом суммирования (∑), а выход Carry — C O .

Полусумматор в основном используется для сложения возрастающего и сложения двоичных чисел первого порядка i.е., 1-битные двоичные числа. Мы не можем складывать двоичные числа с более чем одним битом, поскольку полусумматор не может включать информацию о переносе из предыдущей суммы.

Из-за этого ограничения Half Adder практически не используется во многих приложениях, особенно при сложении многозначных чисел. В таких приложениях перенос предыдущей цифры должен добавляться вместе с двумя битами; следовательно, это трехбитное сложение.

Полный сумматор

Полный сумматор — это комбинационная логическая схема, которая выполняет сложение трех битов и выдает два выхода: сумму и перенос.Как мы видели, полусумматор не может реагировать на три ввода, и, следовательно, полный сумматор используется для добавления трех цифр за раз.

Он состоит из трех входов, два из которых являются входными переменными, представляющими два значащих бита, которые должны быть добавлены, тогда как третий входной терминал является переносом из предыдущего добавления. Два выхода — это выходы Sum и Carry.

На следующем рисунке показана блок-схема полного сумматора, где входы обозначены как A, B и C IN , а выходы обозначены как ∑ и C OUT .

Переходя к таблице истинности, следующая таблица показывает таблицу истинности полного сумматора.

9000 9000 0 900 23
ВХОД ВЫХОД
A B C IN OUT OUT 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

Из приведенной выше таблицы истинности мы можем получить логические выражения для выходов суммы и переноса.Используя эти выражения, мы можем построить логические схемы для полного сумматора. Но, еще более упрощая уравнения, мы можем прийти к выводу, что полный сумматор может быть легко реализован с использованием двух полусумматоров и логического элемента ИЛИ.

На следующем изображении показана схема полного сумматора, реализованная с использованием двух полусумматоров и логического элемента ИЛИ. Здесь A и B — главные входные биты, C IN — вход переноса, ∑ и C OUT — выходы суммы и переноса соответственно.

Параллельные двоичные сумматоры

Как мы уже обсуждали, один полный сумматор выполняет сложение двух однобитовых чисел, а также ввод переноса.Для выполнения сложения двоичных чисел с более чем одним битом требуется более одного полного сумматора, а количество полных сумматоров зависит от количества битов. Таким образом, параллельный сумматор представляет собой комбинацию нескольких полных сумматоров и используется для одновременного сложения всех битов двух чисел.

Путем параллельного соединения n полных сумматоров можно создать n-битный параллельный сумматор. Из рисунка ниже следует отметить, что в наименее значимой позиции нет переноса, поэтому мы можем использовать либо полусумматор, либо сделать ввод переноса полного сумматора как ноль в этой позиции.


На следующем рисунке показан параллельный 4-битный двоичный сумматор, который имеет три полных сумматора и один полусумматор. Два двоичных числа, которые нужно добавить: A 3 A 2 A 1 A 0 и B 3 B 2 B 1 B 0 , которые применяются к соответствующие входы полных сумматоров. Этот параллельный сумматор выдает результат как «C 4 S 3 S 2 S 1 S 0 », где C 4 — окончательный перенос.

В 4-битном сумматоре первый блок представляет собой полусумматор, который имеет два входа как A 0 B 0 и производит сумму S 0 и бит переноса C 1 . Первый блок также может быть полным сумматором, и если это так, то вход Carry C 0 должен быть 0.

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

Следовательно, полный сумматор второго блока производит сумму S 1 и перенос C 2 .За ним последуют два других полных сумматора, и, таким образом, окончательный результат будет C 4 S 3 S 2 S 1 S 0 .

Обычно полные сумматоры разрабатываются в виде двухрядных интегральных схем. 74LS283 — популярная ИС 4-битного полного сумматора. Арифметико-логический блок или АЛУ модульного компьютера состоят из этих параллельных сумматоров для выполнения сложения двоичных чисел.

Схемы двоичного вычитания

Другая основная арифметическая операция, выполняемая цифровыми компьютерами, — это вычитание.Вычитание — это математическая операция, при которой одно целое число вычитается из другого для получения эквивалентной величины. Число, из которого должно быть вычтено другое число, называется «Minuend», а число, вычитаемое из minuend, называется «Subtrahend».

Подобно двоичному сложению, двоичное вычитание также имеет четыре возможных основных операции. Это:

  • 0-0 = 0
  • 0-1 = (Заимствование) 1 1
  • 1-0 = 1
  • 1-1 = 0

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

Но во втором правиле уменьшаемый бит меньше, чем бит вычитания, поэтому для выполнения вычитания заимствуется 1. Подобно схемам сумматора, основные схемы вычитания также бывают двух типов:

  • Половинный вычитатель
  • Половинный вычитатель

Половинный вычитатель

Половинный вычитатель — это комбинационная логическая схема с несколькими выходами, которая выполняет вычитание двух 1-битных двоичные числа.Он имеет два входа и два выхода. Два входа соответствуют двум 1-битным двоичным числам, а два выхода соответствуют биту разности и биту заимствования (в отличие от суммирования и переноса в половинном сумматоре).

На следующем изображении показана блок-схема полувычитателя.

Изображение

В следующей таблице показана таблица истинности полувычитателя.

ВХОД ВЫХОД
A B Разница Заем 0
0 1 1 1
1 0 1 0
1 1 0 0

Из приведенной выше таблицы истинности мы можем сказать, что вывод «Разница» полувычитателя аналогичен выходному сигналу XOR (который также совпадает с выходом суммы полусумматора).Таким образом, половинное вычитание также выполняется логическим элементом Ex-OR с логическим элементом И с одним инвертированным входом и одним нормальным входом, что требует выполнения операции заимствования.

На следующем рисунке показана логическая схема полусумматора.

Эта схема похожа на схему полусумматора, с той лишь разницей, что это минимальный вход, то есть A дополняется перед подачей на логический элемент AND для реализации вывода заимствования.

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

Полный вычитатель

Полный вычитатель — это комбинационная логическая схема, которая выполняет вычитание между двумя 1-битными двоичными числами, а также учитывает заимствование предыдущего бита, то есть заимствовано ли 1 предыдущим уменьшенным битом.

Итак, полный вычитатель имеет три входа, в которых два входа соответствуют двум вычитаемым битам (уменьшение A и вычитание B) и бит заимствования, обычно представленный как B IN , соответствующий операции заимствования.Имеется два выхода, один соответствует разности выходов D, а другой — заимствованным выходам B O .

На следующем изображении показана блок-схема полного вычитателя.

В следующей таблице показана таблица истинности полного вычитателя.

ВХОД ВЫХОД
A B B IN D B D 9000 0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1

Выводя логическое выражение для полного вычитателя из приведенной выше таблицы истинности, мы получаем выражение, которое говорит, что полный вычитатель может быть реализован с половинными вычитателями с логическим элементом ИЛИ, как показано на рисунке ниже.


Сравнивая схемы сумматора и вычитателя и таблицы истинности, мы можем заметить, что выход D полного вычитателя точно такой же, как выход S полного сумматора. И единственное отличие состоит в том, что входная переменная A дополняется полным вычитателем.

Следовательно, можно преобразовать полную схему сумматора в полный вычитатель, просто дополнив вход A перед тем, как он будет применен к вентилям для получения окончательного выходного бита заимствования Bo.

Параллельные двоичные вычитатели

Чтобы выполнить вычитание двоичных чисел с более чем одним битом, мы должны использовать параллельные вычитатели.Этот параллельный вычитатель может быть спроектирован несколькими способами, включая комбинацию половинного и полного вычитателей, всех полных вычитателей, всех полных сумматоров с входом вычитаемого дополнения и т.д. и три полных вычитателя.

В этом вычитателе 4-битное вычитание ‘A 3 A 2 A 1 A 0 ‘ вычитается на 4-битное вычитание ‘B 3 B 2 B 1 B 0 ‘И результатом является разностный вывод’ D 3 D 2 D 1 D 0 ‘.Выход заимствования каждого вычитателя подключается как вход заимствования к следующему вычитателю.

Также можно спроектировать 4-битный параллельный вычитатель с использованием 4 полных сумматоров, как показано на рисунке ниже. Эта схема выполняет операцию вычитания, учитывая принцип, согласно которому добавление minuend и дополнение вычитаемого эквивалентно процессу вычитания.

Мы знаем, что вычитание A на B получается добавлением 2 дополнения B к A.Дополнение B до 2 получается добавлением 1 к младшей паре битов.

Следовательно, в этой схеме 1 дополнение B получается с помощью инверторов (НЕ вентиль), и 1 может быть добавлена ​​к сумме через входной перенос.

Параллельный сумматор / вычитатель

Операции сложения и вычитания могут выполняться одним общим двоичным сумматором. Такая двоичная схема может быть спроектирована путем добавления логического элемента Ex-OR с каждым полным сумматором, как показано на рисунке ниже.На рисунке ниже показан 4-битный параллельный двоичный сумматор / вычитатель, который имеет два 4-битных входа как ‘A 3 A 2 A 1 A 0 ‘ и ‘B 3 B 2 B 1 Б 0 ‘.

Линия управления входом режима M соединена с входом переноса младшего бита полного сумматора. Эта контрольная линия определяет тип операции: сложение или вычитание.

Когда M = 1, схема является вычитателем, а когда M = 0, схема становится сумматором.Элемент Ex-OR состоит из двух входов, один из которых подключен к B, а другой — к входу M. Когда M = 0, B Ex-OR 0 дает B. Затем полные сумматоры складывают B с A с нулевым входом переноса. и, следовательно, выполняется операция сложения.

Когда M = 1, B Ex-OR 0 создает дополнение B, а также вход переноса равен 1. Следовательно, дополненные входы B добавляются к A, а 1 добавляется через входной перенос, не что иное, как операция дополнения до 2. Следовательно, выполняется операция вычитания.

Заключение

Полное руководство для начинающих по двоичным сумматорам и вычитателям.Вы изучили различные схемы двоичного сумматора, такие как полусумматор, полный сумматор, параллельный сумматор и различные двоичные вычитатели, такие как полувычитатель, полный вычитатель, параллельный вычитатель, а также схему комбинированного параллельного сумматора / вычитателя.

Двоичный сумматор | Принципы цифровых вычислений

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

Символ Σ представляет собой «сумму» на выходе полусумматора, наименее значимый бит суммы (LSB).C out представляет собой выход «переноса» полусумматора, старший бит суммы (MSB).

Если бы мы реализовали ту же функцию в релейной логике, это выглядело бы так:

Любая схема может складывать две двоичные цифры вместе. Математические «правила» сложения битов являются неотъемлемой частью аппаратной логики схем.

Если бы мы хотели выполнить другую арифметическую операцию с двоичными битами, такую ​​как умножение, нам пришлось бы построить другую схему.Вышеупомянутые схемы будут выполнять только одну функцию: складывать два двоичных бита вместе. Чтобы заставить их делать что-то еще, потребовалось бы переподключение и, возможно, другие компоненты.

В этом смысле цифровые арифметические схемы мало чем отличаются от аналоговых арифметических схем (операционные усилители): они делают именно то, для чего они запрограммированы, не больше и не меньше. Однако мы не ограничиваемся проектированием цифровых компьютерных схем таким образом.

Можно встроить математические «правила» для любой арифметической операции в форме цифровых данных, а не в проводных соединениях между вентилями.Результатом стала беспрецедентная гибкость в эксплуатации, что привело к появлению совершенно нового типа цифрового устройства: программируемого компьютера .

Хотя эта глава ни в коем случае не является исчерпывающей, она дает то, что я считаю уникальным и интересным взглядом на природу программируемых компьютерных устройств, начиная с двух устройств, которые часто упускаются из виду во вводных учебниках: памяти справочной таблицы и конечной- Государственные автоматы .

СВЯЗАННЫЙ РАБОЧИЙ ЛИСТ:

4-битный двоичный сумматор-вычитатель — GeeksforGeeks

В цифровых схемах двоичный сумматор-вычитатель — это тот, который способен как складывать, так и вычитать двоичные числа в одной схеме.Выполняемая операция зависит от двоичного значения, которое удерживает управляющий сигнал. Это один из компонентов ALU (Arithmetic Logic Unit).

Эта схема требует предварительных знаний Exor Gate, двоичного сложения и вычитания, полного сумматора.

Давайте рассмотрим два 4-битных двоичных числа A и B как входы в цифровую схему для работы с цифрами

 A0 A1 A2 A3 для A
B0 B1 B2 B3 для B 

Схема состоит из 4 полных сумматоров, поскольку мы выполняем операцию с 4-битными числами.Существует линия управления K, которая содержит двоичное значение 0 или 1, которое определяет, что выполняемая операция является сложением или вычитанием.


Как показано на рисунке, первый полный сумматор имеет линию управления непосредственно в качестве входа (входной перенос Cin), вход A0 (младший значащий бит A) напрямую вводится в полный сумматор. Третий вход — это exor B0 и K. Два полученных результата — это сумма / разность (S0) и перенос (C0).

Если значение K (Контрольная линия) равно 1, вывод B0 (exor) K = B0 ′ (Дополнение B0).Таким образом, операция будет A + (B0 ′). Теперь вычитание дополнения до 2 для двух чисел A и B дается как A + B ’. Это говорит о том, что когда K = 1, операция, выполняемая над четырехбитовыми числами, является вычитанием.

Аналогично Если значение K = 0, B0 (exor) K = B0. Это операция A + B, которая представляет собой простое двоичное сложение. Это говорит о том, что когда K = 0, операция, выполняемая с четырьмя битовыми числами, является сложением.

Затем C0 последовательно передается на второй полный сумматор в качестве одного из его выходов.Сумма / разность S0 записывается как младший бит суммы / разности. A1, A2, A3 являются прямыми входами для второго, третьего и четвертого полных сумматоров. Затем третий вход — это B1, B2, B3, EXOR с K ко второму, третьему и четвертому полному сумматору соответственно. Переносы C1, C2 последовательно передаются последующему полному сумматору в качестве одного из входов. C3 становится общим переносом суммы / разницы. S1, S2, S3 записываются для формирования результата с S0.

Для n-битного двоичного сумматора-вычитателя мы используем n полных сумматоров.

Пример:
Давайте возьмем два 3-битных числа A = 010 и B = 011 и введем их в полный сумматор с обоими значениями контрольных линий.

 Для K = 0:
B0 (exor) K = B0 и C0 = K = 0

Таким образом, от первого полного сумматора
= A0 + B0
= 0 + 1
= 1,

S0 = 1
C1 = 0
Сходным образом,
S1 = 0 с C2 = 1
S2 = 1 и C2 = 0
 
Таким образом,
А = 010 = 2
В = 011 = 3
Сумма = 0101 = 5


Для K = 1
B0 (exor) K = B0 'и C0 = k = 1

Таким образом
S0 = 1 и C1 = 0
сходным образом
S1 = 1 и C2 = 0
S3 = 1 и c3 = 1

Таким образом,
А = 010 = 2
В = 011 = 3
Сумма (разница) = 1111 = -1 

Вниманию читателя! Не прекращайте учиться сейчас.Практикуйте экзамен GATE задолго до самого экзамена с помощью предметных и общих викторин, доступных в курсе GATE Test Series .

Изучите все концепции GATE CS с бесплатными живыми классами на нашем канале YouTube.

Двоичный сумматор Половина и полный сумматор

Двоичный сумматор — одна из основных схем комбинационной логики. Выходы комбинационной логической схемы зависят только от текущего входа. Другими словами, выходы схемы комбинационной логики не зависят от каких-либо ранее примененных входов.Он не требует какой-либо памяти, как компонент. Двоичный сумматор — одна из основных схем комбинационной логики как текущее состояние входных переменных.

Разработка двоичного сумматора

Полусумматор

Перед проектированием двоичного сумматора дайте нам знать некоторые основные правила двоичного сложения. Самым простым двоичным сложением является сложение двух однобитовых двоичных чисел, то есть сложение двух двоичных цифр.

Двоичные цифры — это 0 и 1. Следовательно, должно быть четыре возможных комбинации двоичного сложения двух двоичных битов

В приведенном выше списке первые три двоичные операции приводят к одному биту, а четвертая — к двум.В одинарном двоичном сложении, если augend и addend равны 1, сумма будет состоять из двух цифр. Старший значащий бит (HSB) или левый бит называется переносом, а старший значащий бит (LSB) или правый бит результата называется суммирующим битом. Логическая схема, выполняющая одноразрядное двоичное сложение, называется полусумматором .

Конструкция полусумматора

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

Таблица истинности для полусумматора

K-карта для полусумматора

Теперь из этой таблицы истинности мы можем извлечь K -карта для переносов и сумм отдельно.

Для приведенных выше K-карт мы получаем,

Следовательно, логическая схема Half Adder будет

Хотя из таблицы истинности ясно видно, что столбец переноса (C) означает операцию И, а столбец суммы (S) означает XOR. операция между входными переменными, но пока мы не прошли через K-карту, поскольку это обычная практика для более сложных операций с двоичной логикой.

Полное сложение

Прежде чем узнать о полном сумматоре, дайте нам знать, что такое полное сложение? Для этого давайте рассмотрим пример

Здесь есть два четырехбитных двоичных числа 1101 и 0111, которые мы должны сложить. Процесс двоичного сложения выглядит следующим образом:

  1. Мы должны сначала добавить первый значащий бит списка (LSB) обоих 4-битных двоичных чисел, и в результате получится двухбитовое двоичное число.

    Здесь младшие биты 1101 и 0111 равны 1, следовательно, 1 + 1 = 10. Младший бит 10 равен 0, а старший значащий бит (HSB) равен 1.
  2. Младший бит результата представляет собой сумму и должен быть помещен в значимую позицию списка окончательного результата суммы, а HSB двух битовых результатов будет перенесен и добавлен со следующим старшим значащим битом из двух 4-битных расширений и addend — это 0 и 1, и перенос предыдущего результата, то есть 1, должен быть добавлен к 0 и 1.

  3. После этого добавления, это следующий старший бит, чем значащий бит списка двоичных augend и addend, и это предыдущий перенос мы получаем еще два бита результата.Здесь также есть перенос и сумма. Здесь также мы запишем сумму в конечном результате и добавим перенос к следующим старшим значащим битам augend и addend. Это будет продолжаться до самого старшего бита дополнения и дополнения.

Полный сумматор

Полный сумматор — это условная схема, которая выполняет полное двоичное сложение, что означает, что она добавляет два бита и перенос и выводит бит суммы и бит переноса.
Любой бит дополнения может быть либо 1, либо 0, и мы можем представить с помощью переменной A, аналогично любой бит слагаемого, который мы представляем с помощью переменной B.Перенос после добавления одного и того же значащего бита увеличивающего числа и сложения может быть представлен с помощью C. Следовательно, таблица истинности для всех комбинаций A, B и C выглядит следующим образом:

Из приведенной выше таблицы мы можем нарисовать K-карту для суммы (s ) и окончательный перенос (C из ).

Следовательно, из K-карт,



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

Полный двоичный сумматор выполняет сложение любого единственного бита одного двоичного числа, того же значащего или того же разряда позиции другого двоичного числа, и перенос происходит из результата сложения предыдущих правых битов обоих двоичных чисел.Но один полный сумматор не может мгновенно добавить более одного бит двоичного числа. Это можно сделать, только подключив столько полных сумматоров, сколько разрядов двоичных чисел, сложение которых должно быть выполнено. Эта параллельная комбинация полных сумматоров, которая выполняет сложение определенных битов двоичных чисел, называется двоичным параллельным сумматором. Для сложения двух 4-битных двоичных чисел нам нужно подключить 4 полных сумматора, чтобы получился 4-битный параллельный сумматор.
Взаимодействие 4 полных сумматоров с 4-битным параллельным сумматором показано ниже:

Давайте рассмотрим обоснование вышеупомянутой схемы на примере сложения двух 4-битных двоичных чисел.
Давайте сложим 1011 с 1101.


Поскольку предыдущего переноса нет C 0 = 0.

Таким образом, окончательный результат сложения будет

Есть 1 бит, 2 бита и 4 бита параллельных сумматора На рынке имеется ИС. Для n-битного параллельного сумматора необходимо количество таких микросхем, соединенных между собой.
ИС 4-битного параллельного сумматора — это 4008. В n-битном параллельном сумматоре выходной контакт переноса одной ИС будет соединен с входным выводом переноса следующей ИС.

Сумматоры — обзор | Темы ScienceDirect

3.1 Сумматоры

В конструкции сумматора переполнение является первой проблемой, которую мы должны рассмотреть. Давайте посмотрим на следующие примеры. ( B = 4 бита)

Пример 1

Пусть a = -0,5 = 1,100 и b = 0,75 = 0,110. Бинарное сложение 1,100 и 0,110 дает 10,010. Если отбросить старший бит (в данном случае 1), мы получим 0,010 = 0,25, что является правильным ответом.

Пример 2

Пусть a = 0.5 = 0,100 и b = 0,75 = 0,110. Бинарное сложение 0,100 и 0,110 дает 01,010. Если снова отбросить старший бит, получим 1,010 = -0,75, что, очевидно, неверный ответ. Это называется проблемой переполнения при двоичном сложении, потому что ответ a + b больше 1, что не может быть представлено в системе счисления, хотя и a, и b находятся в системе счисления. Обычный способ избежать этой проблемы — масштабировать входные данные двоичного сумматора с коэффициентом 0,5, чтобы результат гарантированно был в системе счисления.Это можно назвать масштабированием входа, потому что входы двоичного сумматора масштабируются. Проблема, связанная с такой схемой масштабирования входных данных, заключается в потере точности. Если несколько добавлений выполняются подряд, конечный результат может пострадать от потери значимости. В следующем примере показан крайний случай.

Пример 3

Пусть a = 0,001 и b = 0,001. Если бы в этом добавлении использовалась схема масштабирования входа, 0,000 и 0,000 были бы входами 4-битного сумматора, и результатом было бы 0.000. Ненулевой результат стал бы нулем.

Лучшим способом решения проблемы переполнения является использование масштабирования вывода. В предыдущем примере a + b без масштабирования ввода должно быть 00,010. Масштабирование вывода с коэффициентом 0,5 дает 0,001, что является лучшим результатом. Применение этой схемы к примеру 2 дает правильный результат. Однако эта схема, по-видимому, дает неправильный ответ для случая из примера 1. Причина в том, что знаковый бит обрабатывается так же, как и другие биты, хотя символ «1» в знаковом бите представляет собой значение — 1, в то время как символ «1» в других местах представляет собой значение 1.Следовательно, с помощью специальной конструкции сумматора знаковых битов эта проблема может быть решена.

Таблица истинности для обычного полного сумматора показана в таблице 3. Из этой таблицы истинности можно вывести логическую взаимосвязь входов и выходов следующим образом:

Таблица 3. Таблица истинности для обычного полного сумматора

900
a b cin cout sum
0 0 0 0 0
0 0 1 0
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 90 018 1 1 1 1

сумма = проверка на четностьabcincount = большинство-голосованиеabcin

где проверка четности (a, b, cin) может быть реализована с помощью (a xor b xor cin) и мажоритарное голосование (a, b, cin) может быть реализовано с помощью ((a и b) или (b и cin) или (a и cin)).Для знакового бита в масштабировании вывода таблица истинности выглядит следующим образом, имея в виду, что символ «1» означает значение — 1 для входов a и b, значение — 2 для выходных cout и значение 1 для входных cin. и итоговая сумма.

Таблица 4. Таблица истинности для сумматора полного бита знака

a b cin cout sum
0 0 0 0 0 0 0
0 0 1 0 1
0 1 0 1 1
0 1 1 0 0
1 0 0 1 1
1 0 1 0 0
1 1 0 1 0
1 1 1 1 1

Из этой таблицы истинности можно определить логическую взаимосвязь входов и выходов. определяется следующим образом:

сумма = проверка четностиabcincount = большинство-голосованиеabcin ¯

Логика для суммы такая же, как и в обычном полном сумматоре.Единственное отличие состоит в логике для cout, где требуется еще один инвертор для генерации cin¯ для схемы с большинством голосов. На рисунке 34 показаны обычный полный сумматор и знаковый полный сумматор для масштабирования выходного сигнала.

Рис. 34. Обычный полный сумматор (a) и знаковый полный сумматор (b) для масштабирования вывода

На рис. 35 показаны параллельные реализации схем масштабирования входных и выходных данных. Для масштабирования входных данных a B –1 и b B –1 отбрасываются до того, как a и b перейдут к B -битному сумматору, a 0 и b 0 расширены по знаку к крайнему левому сумматору.Бит суммы самого левого полного сумматора является битом знака результата, а бит cout отбрасывается. Для масштабирования вывода на входе не сбрасываются никакие биты, а также нет знаковых расширений. Суммарный бит крайнего правого полного сумматора отбрасывается, и бит cout крайнего левого полного сумматора, у которого на один инвертор больше, чем у обычного полного сумматора, является битом знака результата.

Рисунок 35. Параллельные реализации сумматора с масштабированием входа (a) и масштабированием выхода (b)

Рисунок 36 показывает последовательную реализацию схем масштабирования входа и выхода.Для масштабирования входа управляющий сигнал con1 определяет, должен ли «0» или предыдущий перенос быть входом для переноса полного сумматора. В начале цикла каждого сложения con1 позволяет пройти «0». Во время остальных циклов сложения con1 позволяет пройти предыдущее выполнение. Управляющий сигнал con2 подает квалифицированный сигнал 1 во входные регистры, чтобы предотвратить попадание младших битов входа в полный сумматор, так что расширение знака автоматически выполняется для предыдущего добавления.Для каждого добавления требуется всего B циклов, а результат вывода получается с задержкой в ​​два цикла.

Рис. 36. Последовательные реализации сумматора с масштабированием входа (a) и масштабирования выхода (b)

Для масштабирования выхода требуется дополнительный вентиль XOR в качестве условного инвертора для генерации дополнительного сигнала для большинства голосов. схема при поступлении знаковых битов. Управляющий сигнал con1 синхронизирует «0» в регистре за один цикл до поступления младших битов входов.Сигнал con1 также управляет условным инвертором (вентиль XOR), потому что в конвейерной операции цикл до прибытия новых данных — это цикл со знаковыми битами предыдущих входных данных. Управляющий сигнал con2 определяет, следует ли пропускать выход проверки четности или выход большинства голосов. В момент поступления новых данных выполнение предыдущего добавления должно пройти, а в течение остальных циклов сумма должна пройти. Хотя сигнал con2 позволяет пройти предыдущему выполнению, он фактически предотвращает передачу младшего разряда нового результата на выход.Это эквивалентно отбрасыванию младшего разряда вывода, что является частью схемы масштабирования вывода. Так же, как реализация масштабирования входных данных, требуется B циклов для выполнения B -битного сложения, а выход получается с задержкой в ​​два цикла.

Альтернативный подход к разработке оптического двоичного сумматора с использованием обратимого Переса Гейтса

Полностью оптические устройства будут играть очень важную и решающую роль в современной полностью оптической сети, устраняя узкое место опто-электро-опто-преобразования (OEO-) .К сожалению, обычные логические элементы теряют информацию на выходе, и состояния выходов не могут дать каких-либо достоверных впечатлений о состояниях входов. В данной статье авторы впервые предложили метод построения оптического реверсивного вентиля Переса с тремя входами и тремя выходами. Авторы применили характеристику переключения поляризации полупроводникового оптического усилителя (SOA) для разработки этой схемы. Авторы также предложили метод создания оптического реверсивного полного сумматора с использованием двух таких вентилей Переса и, соответственно, схемы восстановления данных, которая может восстанавливать входные данные сумматора.Для обработки операции авторами были выбраны частотно-кодированные данные. Предложенная схема подтверждена результатами моделирования.

1. Введение

В современной сети связи, где система обрабатывает большое количество данных, обратимая логическая схема предпочтительнее традиционной логической схемы из-за низкого энергопотребления. Обычные логические элементы, такие как AND, OR, EX-OR и т. Д., Обычно генерируют меньше выходной информации, чем входные. Таким образом, на выходе происходит потеря информации.Потеря информации приводит к потере энергии. Принцип Ландауэра показывает, что система генерирует джоули тепловой энергии на каждую потерю бита [1]. Хотя при комнатной температуре тепловая энергия, рассеиваемая из-за потери одного бита, очень мала, когда система имеет дело с большим объемом данных и существует большее количество логических процессоров, потеря битов больше. Тогда тепло, выделяемое из-за потери долота, больше, что, в свою очередь, увеличивает температуру системы. Следовательно, этот совокупный процесс рассеивает больше энергии.Беннетт продемонстрировал, что джоулей рассеяния энергии в необратимой цепи можно избежать, если вычисления будут выполняться обратимым образом [2]. В случае обратимого логического элемента существует прямое отображение между входами и выходами, и поэтому в идеале нет возможности потери битов. Это еще не все и не все. Выходная информация обычных логических вентилей не дает четкого представления о входной информации. В случае реверсивного логического элемента входы могут быть индивидуально извлечены из выходов.Следовательно, обратимый логический вентиль может быть счастьем преодолеть такие недостатки. В сети электронной связи были разработаны различные типы арифметических и логических устройств с использованием реверсивных логических вентилей [3–5]. Ван Рентергем и Де Вос разработали реверсивный полный сумматор, реализованный в электронных схемах на основе технологии КМОП и конструкции проходного транзистора [3]. Aradhya et al. разработан блок управления АС малой мощности с использованием реверсивной логики для реализации в электронике [4]. Но в 21 веке ученые имеют дело с оптическими сигналами в сети связи.Основным требованием для создания полностью оптической сети являются оптические устройства. В случае оптических устройств сигналы остаются в фотонном состоянии, тем самым устраняя «узкое место в электронике». Следовательно, скорость системы может достигать ТГц.

Вентиль Переса — это реверсивный логический вентиль с тремя входами и тремя выходами с квантовой стоимостью «4». Блок-схема ворот Переса показана на рисунке 1. Три входных сигнала «A», «B» и «C» подаются в вентиль Переса через три входных клеммы «1», «2» и «3». соответственно, и три выходных сигнала «P», «Q» и «R» принимаются от трех выходных клемм «1», «2» и «3» соответственно.Логические выражения выходов через входы следующие: P = A , Q =, R =; то есть вывод «P» всегда дает результат, такой же, как «A», а «Q» дает «A» EX-OR «B». Если оба входа «A» и «B» находятся в состоянии двоичной «1», тогда «R» будет «», то есть не что иное, как. Когда хотя бы один из входов «A» и «B» находится в состоянии двоичного «0», тогда «R» будет «»; то есть «R = C». Здесь легко определить вход «A» из «P», вход «B» из «P» и «Q», вход «C» из «P», а также «Q» и «R.В этой статье авторы сначала разработали оптический вентиль Переса с использованием переключателя поляризации (PSW), а затем они также разработали оптическую схему полного сумматора с использованием двух таких вентилей Переса и, впоследствии, схему восстановления данных, которая может восстанавливать входные данные сумматор. Принцип нелинейного вращения поляризации зондирующего луча в присутствии луча накачки в полупроводниковом оптическом усилителе (ПОУ) используется здесь для объяснения характеристики переключения PSW. Смоделированные результаты переключающего действия PSW показаны на рисунках в соответствующих разделах.Авторы имеют дело с частотно-кодированными данными, поскольку частота является основным признаком сигнала и не изменяется из-за отражения, преломления или затухания. Для выполнения операции двоичное состояние «1» представлено оптическим лучом частоты, а двоичное состояние «0» представлено оптическим лучом частоты. Смоделированные спектры мощности входа-выхода затвора Переса представлены на рисунках в соответствующих разделах, что подтверждает реализуемость предложенных схем. Некоторые оптические мультиплексоры (MUX) и демультиплексоры (DMUX) использовались для построения оптических цепей.MUX и DMUX также работают с частотно-кодированными данными. DMUX направляет оптический сигнал частоты в его канал 1. Если частота оптического сигнала равна, то он передается по каналу 2. Для подключения оптических каналов используются мультиплексоры.


Многие исследователи создали ворота Переса, используя различные методы. Kotiyal et al. разработали вентиль Переса с использованием четырех интерферометров Маха-Цендера (ИМЦ) [6]. Maity et al. также разработал вентиль Переса с использованием интерферометров Маха-Цендера (MZI) [7].Kotiyal et al. разработан двоичный сумматор с использованием MZI [8]. Mandal et al. также разработали полностью оптическую схему полного сумматора с использованием пяти обратимых вентилей Тоффоли [9]. Но в этой статье схемная сложность предлагаемого полного сумматора снижена, поскольку здесь авторы разработали полный сумматор, использующий только два элемента Переса. Квантовая стоимость ворот Тоффоли больше, чем ворот Переса. Полная схема сумматора с использованием реверсивного логического элемента разработана на основе КМОП-технологии и конструкции проходного транзистора [3, 10] в электронной области, но в этой статье авторы использовали SOA в качестве ключевого элемента, и вся схема была оптической и частотно-кодированной. .SOA — достойный выбор для разработки различных типов оптических устройств благодаря компактности, возможностям интеграции, высокому коэффициенту усиления и большой рабочей полосе пропускания. Из выходов предлагаемой схемы полного сумматора можно легко извлечь входы, что делает схему новой. Скорость переключения PSW очень высока и составляет около 0,01 нс. Таким образом, предлагаемый полный сумматор будет очень полезен при разработке различных типов оптических процессоров с меньшим рассеиванием энергии. Моделируемые спектры мощности входов-выходов затвора Переса и полного сумматора делают схему более надежной и показаны в соответствующем разделе статьи.Статья устроена следующим образом: Раздел 1 — вводная часть статьи. Принцип работы предложенной схемы поясняется в разделе 2. Схема оптического затвора Переса обсуждается в разделе 3. Предлагаемый оптический полный сумматор, использующий элементы Переса, разработан и объяснен в разделе 4. Разделы 5 и 6 являются частью обсуждения, а заключительная часть статьи соответственно.

2. Принцип работы

В этой статье предлагаемая работа фокусируется на переключателях поляризации (PSW).PSW работает по принципу нелинейного вращения поляризации полупроводникового оптического усилителя (ПОУ). Многие исследователи уже объяснили нелинейное вращение поляризации, характерное для SOA, по-разному [11–13], но в этой статье основная теория нелинейного вращения поляризации объясняется с помощью простой модели скоростного уравнения, как было заявлено Дорреном и др. . [14].

Чтобы объяснить основную теорию, рассматриваются два разных оптических луча. Один — это менее интенсивный пробный пучок, а другой — высокоинтенсивный пучок накачки, и они подаются в SOA с двух противоположных направлений SOA, как показано на рисунке 2.Зондирующий луч вводится в SOA через контроллер поляризации (ПК), который управляет направлением поляризации падающего зондирующего луча под углом 45 ° к ориентации слоя SOA. На пути прохождения зондирующего луча размещается аттенюатор, который ослабляет мощность зондирующего луча до желаемого значения, так что SOA работает линейно в отсутствие луча накачки. В присутствии очень интенсивного луча накачки ПОУ вызывает нелинейность, что приводит к поляризационно-зависимому усилению на выходе.Выходной пробный луч SOA подается в поляризационный светоделитель (PBS). PBS передает выходной луч в порт 1 или порт 2 в соответствии с направлением поляризации выходного луча. PBS и PC настроены таким образом, что в отсутствие пучка накачки полная мощность вырабатывается на входе 2, но при наличии пучка накачки выходной пучок достигает порта 1. Блок-схема PSW показана на рисунке 3.



Подробная теория нелинейного вращения поляризации в SOA продемонстрирована с использованием простой модели скоростного уравнения [14–17].Если оптический пробный луч в SOA разделен на два взаимно перпендикулярных компонента, называемых TE-модой и TM-модой, то эти два компонента обладают разными оптическими свойствами в присутствии луча накачки. Согласно модели Доррена, коэффициент усиления SOA для режима TE равен [14]. Аналогично, для режима TM коэффициент усиления будет равен в режим TE). Здесь и обозначены как количество дырок, участвующих в -переходах и -переходах соответственно, а — электрон в зоне проводимости.Общее количество электронных состояний, участвующих в переходах, составляет. — коэффициент усиления, соответствующий режиму TM / TE. Фактически, в этом случае считается, что валентная зона разделена на две подзоны: зона тяжелых дырок (HHB) и зона легких дырок (LHB). -Переходов, имеющих место с тяжелыми дырками, намного больше, чем -переходов, тогда как -переходов, имеющих место с легкими дырками, намного больше, чем -переходов. Когда в SOA нет анизотропии, -переходы и -переходы происходят симметрично.Но в случае SOA с анизотропией -переходы будут иметь больший приоритет, чем -переходы. На самом деле, в этом случае распределение носителей, соответствующее -переходу () и -переходу, не одно и то же. Коэффициент дисбаланса населения «» означает соотношение распределения несущих в режиме TE и режиме TM; это, .

Теперь уравнения скорости для и могут быть выражены как где и — время электронно-дырочной рекомбинации и время межскважинной релаксации, соответственно. «» — коэффициент дисбаланса заселенности дыр.- количество фотонов, пропорциональное мощности входного сигнала.

и являются соответствующими равновесными значениями, и они зависят от тока электрического смещения () следующим образом: где «» — заряд электрической единицы.

Теперь решая уравнение (3) в стационарном режиме (пренебрегая сверхбыстрыми нелинейными оптическими процессами), плотность носителей для соответствующих мод равна Здесь полная плотность фотонов пучка накачки и пробного пучка. Теперь мощность каждой моды связана с плотностью фотонов уравнением, где «» — длина SOA, — групповая скорость соответствующей моды, а ω — частота оптического сигнала.

Таким образом, коэффициент усиления SOA можно выразить через мощность входного сигнала, а также через ток электрического смещения, используя (5), (6) и (7). Когда электрический ток достаточно высок (более 160 мА), а мощность зондирующего луча очень мала, тогда усиление SOA зависит только от мощности луча накачки. Вариации усиления SOA для разных режимов разные. На рисунке 4 показаны изменения коэффициента усиления ПОУ для различных режимов в зависимости от мощности пучка накачки.


Теперь, если это слабо изменяющаяся компонента электрического поля, зависящая от времени и пространства, для луча, распространяющегося вдоль направления, тогда уравнение движения может быть записано в виде значения символов, используемых в приведенном выше уравнении, и их значения приведены в таблице 1 [14].


Параметр Символ Значение Ед. Режим TE 0.2
Для режима TM 0,14
Коэффициент фазовой модуляции
Для режима TE 5
Для TM режим 5
Модальные потери
Для режима TE 0.27 пс −1
Для режима TM 0,27 пс −1
Коэффициент усиления
Для режима TE пс −1
Для режима TM пс −1
Групповая скорость
Для режима TE 100 μ м / пс
Для режима TM 100 μ м / пс
Фактор дисбаланса заселенности отверстий 0.5
Время рекомбинации электрон-дырка 500 пс
Время релаксации дырка-дырка 0,1 пс
Номер состояния оптического перехода 10 8
Длина SOA 800 μ м

Каждый режим связан с интенсивностью уравнением Из (5), фаза каждого режима на выходе может быть выражена как где «» — длина SOA.

Таким образом, разность фаз между режимами TE и TM на выходе определяется как Разность фаз между двумя режимами зависит от усиления соответствующих режимов. Для SOA с анизотропией коэффициенты усиления разных мод не равны и также зависят от мощности входных лучей (с использованием (5), (6) и (7)). Если мощность зондирующего луча очень мала, а вводимый на входе ток фиксирован (более 160 мА), то разность фаз между двумя режимами зависит от мощности луча накачки.

Теперь выходная интенсивность «» различных режимов зондирующего луча может быть выражена через входную интенсивность «» уравнением. Результирующий выходной сигнал может быть выражен следующим образом: Таким образом, усиление в децибелах с помощью SOA: Использование (1) — (7) и (11), изменение разности фаз между TE-модой и TM-модой в зависимости от мощности пучка накачки показано на рис. 5. Из рис. 5 можно увидеть, что когда мощность пучка накачки составляет 0,5 мВт, то разность фаз между двумя модами становится почти 180 градусов.Из-за наличия PBS выходной пробный луч передается на порт 1 или порт 2 в соответствии с направлением поляризации выходного луча. Изменение выходной мощности на порте 2 относительно луча накачки показано на рисунке 6. Когда мощность луча накачки составляет 0,4 мВт или более, мощность на порте 2 почти равна нулю. Затем полная мощность вырабатывается на порте 1.



В вышеупомянутой теории линейно поляризованный входной пробный сигнал подается в SOA, а затем этот сигнал разлагается на две взаимно перпендикулярные линейно поляризованные компоненты (режим TE и Режим TM).Эти два компонента движутся через SOA с неодинаковой скоростью из-за наличия анизотропии в SOA и разной динамики носителей. Эти два компонента снова рекомбинируют на выходе SOA с определенной разностью фаз между ними. Направление поляризации выходного сигнала зависит от разности фаз между двумя модами, поэтому направление поляризации выходного сигнала меняется. Поскольку разность фаз между двумя режимами зависит от мощности луча накачки для фиксированного входного тока смещения, направление поляризации выходного сигнала SOA также зависит от мощности входного луча накачки.Теперь PBS настроен таким образом, что в отсутствие луча накачки PBS пропускает выходной луч в порт 2.

Итак, исходя из вышеуказанного принципа работы, действие переключения PSW может быть указано следующим образом: в наличие пучка накачки, мощность вырабатывается на порте 1; то есть порт-1 остается «ВКЛЮЧЕННЫМ», а порт-2 остается «ВЫКЛЮЧЕННЫМ», и в отсутствие пучка накачки мощность вырабатывается на порте 2; то есть порт 2 находится в состоянии «ВКЛ», а порт 1 — в состоянии «ВЫКЛ». Таким образом, PSW может быть достойным выбором в качестве оптического переключающего элемента для создания различных типов оптических процессоров.В этой статье оптический вентиль Переса спроектирован с использованием PSW, а методика конструирования оптического затвора Переса обсуждается в следующем разделе.

3. Схема оптического затвора Переса

Предлагаемый оптический затвор Переса состоит из пяти PSW (P1, P2, P3, P4 и P5), трех MUX (M1, M2 и M3) и двух DMUX (D1 и D2), как показано на рисунке 7. Три входа элемента Переса обозначены как входы «A», «B» и «C», а выходы элемента Переса обозначены как выходы «P», «Q», и «R», как указано во введении к статье.В этой схеме сначала входной сигнал «А» разделяется на две равные части с помощью светоделителя. Одна часть этого сигнала дает выход «P». Другие части входного сигнала «A» и входного сигнала «B» подаются в DMUX (D1) через MUX (M1). Канал 1 на D1 подает луч накачки для PSW (P1), а канал 2 — пробный луч для PSW (P1). DMUX направляет оптические сигналы в указанный канал в соответствии с частотой входных сигналов. Поскольку канал 2 передает оптический сигнал частоты, PSW (P1) получает зондирующий луч частоты только тогда, когда, по крайней мере, любой из входных сигналов «A» и «B» имеет частоту.Аттенюатор размещен на канале 2 D1. Таким образом, мощность зондирующего луча P1 достаточно мала. Поскольку луч накачки для P1 подается через канал 1 D1, когда любой из двух входов «A» и «B» имеет частоту, тогда P1 получает мощность накачки. Выход порта 1 P1 дважды усиливается усилителем, а затем делится поровну с помощью светоделителя. Одна часть подается как луч накачки PSW (P2), а другая часть служит одним входом MUX (M2). Порт 2 P2 подключен к входу M2.Зондирующий луч частоты подается в P2. Выход M2 дает выход «Q» схемы. С другой стороны, порт 2 P1 обеспечивает мощность накачки для PSW (P4), где вход «C» действует как его зондирующий луч. Порт 1 P4 подается в DMUX (D2), тогда как порт 2 P4 подается в MUX (M3). Канал 1 и канал 2 D2 питают насосные балки для PSW P3 и P5 соответственно. Два оптических луча (с очень низкой интенсивностью) частот и, соответственно, действуют как зондирующий луч для P3 и P5 соответственно.Выходы порта 1 P3 и P5 подаются на MUX (M3). Выход M3 дает выход «R» схемы. Выходные клеммы порта 2 P3 и P5 разомкнуты. Порт 1 P2 также открыт. Таблица истинности ворот Переса с частотным кодированием показана в Таблице 2. Теперь некоторые случаи обсуждаются ниже.

1 99 918 918 918

09

2 1 1

Частота входного луча Частота выходного луча
A B C P R

ν 1 ν 1 ν 1 ν 1 9 ν 1
ν 1 ν 1 ν 2 ν ν 2
ν 1 ν 9 0009 2 ν 1 ν 1 ν 2 ν 1
ν

68

ν 2 ν 1 ν 2 ν 2
ν

68

ν 1 ν 2 ν 2 ν 1
ν

68

ν 2 ν 2 ν 2 ν 2
ν 2 ν 2 ν 1 ν 2 918 918 918 918 9189 ν 2
ν 2 ν 2 ν 2 ν 2 918 918 918 9189 ν 1


Во всех случаях выход «P» такой же, как вход «A.»

Случай 1 (оба входных сигнала« A »и« B »имеют частоту, а вход« C »- частоту /). Здесь оба входа «A» и «B» подаются на D1 через M1. D1 направляет оба сигнала в канал 1. Таким образом, в этом случае луч не передается через канал 2 D1. Таким образом, P1 не получает пробного луча. В отсутствие зондирующего луча выход отсутствует. Таким образом, питание не вырабатывается на порте 1, а также на порте 2 P1. Таким образом, P2 не получает мощности в качестве пучка накачки. В отсутствие луча накачки мощность вырабатывается на входе 2, и этот выходной луч идет на выход M2.Поскольку частота зондирующего луча соответствует P2, выходной сигнал M2 является частотным. Таким образом, выход «Q» будет частотным.
Здесь порт 2 P1 выключен. Таким образом, P4 не получает никакой мощности в качестве мощности накачки. При отсутствии луча накачки входной сигнал «C» переключается на порт 2. Если частота входа «C» равна, то выход порта 2 имеет частоту, и этот луч идет на выход M3. Таким образом, выход «R» будет частотным. Если частота входного сигнала «C» равна, то выходной сигнал «R» будет частотным.В случае P3 и P5 балки накачки отсутствуют. Таким образом, эти PSW ничего не вносят на вход M3.

Случай 2 (любой из входов «A» и «B» имеет частоту, а другой — частоту; вход «C» имеет частоту /). Здесь оба входа «A» и «B» подаются на D1 через M1. D1 направляет входную частоту в канал 1, и этот луч служит лучом накачки P1. Другой ввод частоты направляется через канал 2, и этот сигнал обрабатывается как пробный луч P1 после прохождения аттенюатора.Итак, здесь P1 получает луч накачки, а также зондирующий луч частоты. При наличии луча накачки зондирующий луч переключается на его порт 1. Таким образом, P1 дает оптический луч частоты на порте 1. Этот луч усиливается усилителем и делится поровну на две части с помощью светоделителя. Одна часть луча служила лучом накачки P2 и переключает зонд на порт 1, который открыт. Другая часть выхода P1 подается в M2 и дает выход «Q» на выходе M2.Таким образом, выход «Q» является частотным для этого случая.
Здесь луч накачки присутствует для P1, и, таким образом, порт 2 P1 не подает луч для P4. Как и в предыдущем случае, выход «R» такой же, как и вход «C.»

Случай 3 (оба входа «A» и «B» частотные; вход «C» частотный). Здесь оба входных луча «A» и «B» проходят через канал 2 D1 и служат в качестве датчика P1. Но P1 не получает мощности как луч накачки. Измерительный луч частоты переключается на порт 2.Таким образом, P2 не получает никакого луча накачки, и поэтому мощность вырабатывается на порте 2 P2. Когда зондирующий луч частоты подается в P2, выход (на порте 2) становится частотным, и этот луч достигает выхода «Q» через MUX (M2).
Здесь P4 получает достаточную мощность в качестве пучка накачки от порта 2 P1. Этот луч накачки переключает входной сигнал «C» на порт 1 P4. Выходной луч из порта 1 P4 подается в DMUX D2. Поскольку частота входа «C» равна, выходной луч P4 направляется через канал 1 D2, и этот сигнал служит лучом накачки P3.Зондирующий луч для P3 имеет частоту. Из-за наличия луча накачки выходной сигнал поступает на порт 1, и этот выходной сигнал имеет частоту. Этот выходной сигнал достигает выхода M3 и дает выход «R» логического элемента Переса. Таким образом, для этого условия выходной сигнал «R» является частотным.
Здесь P5 не получает никакого луча накачки и, таким образом, не вносит никакого вклада в выходной сигнал «R».

Случай 4 (все входные сигналы частотные). Как и в случае 3, здесь также оба входа «A» и «B» имеют частоту, и, следовательно, выход «Q» имеет частоту.В этом случае также P4 получает достаточную мощность, поскольку луч накачки из порта 2 P1, и поэтому входной сигнал «C» переключается на порт 1 P4. Поскольку частота входного сигнала «C» соответствует этому случаю, этот сигнал направляется через канал 2 D2 и служит лучом накачки P5. Зондирующий луч для P5 имеет частоту. Таким образом, луч частоты достигает выхода M3 через порт 1 P5. Выход M2 дает выход «R» элемента Переса. С другой стороны, P3 не получает никакого луча накачки и, таким образом, не вносит никакого вклада в M2.
Смоделированные спектры мощности входов и выходов вентиля Переса показаны на рисунках 8 (a), 8 (b), 8 (c) и 8 (d). Авторы представили входы гауссовыми импульсами с шириной луча 0,4 нм (полуширины на полувысоте, то есть на полувысоте). Здесь оптические лучи с длиной волны 1557 нм (соответствующая частота 1,9255 × 10 14 , т.е.) кодируются как двоичное состояние «1», а состояние «0» кодируется оптическим лучом с длиной волны 1552 нм и частотой 1,9317 × 10 14 Гц ().Требуемая мощность для входных сигналов рассчитана в Обсуждении статьи.
Импульсы синего и красного цвета относятся к длинам волн 1552 нм (представляя двоичное состояние «0») и 1557 нм (представляющее двоичное состояние «1»), соответственно. На рисунке 8 (а) все входы логического элемента Переса находятся в двоичном состоянии «0», и, таким образом, они представлены гауссовыми импульсами с длиной волны 1552 нм. Выходные сигналы также имеют длину волны 1552 нм для этого условия. Этот результат моделирования соответствует таблице истинности частотно-кодированного вентиля Переса.На рисунке 8 (b) оба входных сигнала «A» и «C» имеют длину волны 1552 нм (представляя двоичное состояние «0»), а входной сигнал «B» имеет длину волны 1557 нм (представляя двоичное состояние «1»). . Результаты моделирования показывают, что выходные сигналы «P» и «R» имеют длину волны 1552 нм (представляя двоичное состояние «0»), а выходной сигнал «Q» имеет длину волны 1557 нм (представляющую двоичное состояние «1»). На рисунке 8 (c) оба входных сигнала «A» и «B» имеют длину волны 1557 нм (представляя двоичное состояние «1»), а входной сигнал «C» имеет длину волны 1552 нм (представляя двоичное состояние «0»). .Результаты моделирования показывают, что выходные сигналы «P» и «R» имеют длину волны 1552 нм (представляя двоичное состояние «0»), а выходной сигнал «Q» имеет длину волны 1557 нм (представляющую двоичное состояние «1»). На рисунке 8 (d) все входные сигналы имеют длину волны 1557 нм; то есть все входы находятся в двоичном состоянии «1». В этом случае выходной сигнал «P» имеет длину волны 1557 нм, а выходные сигналы «Q» и «R» имеют длину волны 1552 нм. Все результаты моделирования соответствуют таблице истинности ворот Переса (Таблица 2).

4. Схема оптической схемы полного сумматора, использующей вентиль Переса

Предлагаемый оптический полный сумматор построен с использованием двух вентилей Переса (PG1 и PG2). Для каждого затвора Переса есть три входных терминала («1», «2» и «3») и три выходных терминала («1», «2» и «3»), как показано на рисунке 9. Авторы имеют обозначены входные сигналы полной схемы сумматора оптическими сигналами «A», «B» и «C.» Среди трех входных сигналов полной схемы сумматора входы «A» и «B» подаются на элемент Переса PG1 через входные клеммы «1» и «2».Один постоянный входной сигнал частоты (т. Е. Двоичное состояние «0») также подается в PG1 через входную клемму «3». Первая выходная клемма, то есть клемма 1 PG1, дает результат, аналогичный входному «A.» Выходная клемма 2 PG-1 подключена к PG2 через входную клемму 1 PG2. Выходная клемма 3 PG-1 подключена к PG2 через входную клемму 3 PG2. Входной сигнал «C» подается на PG2 через входную клемму 2.


Выходная клемма 2 PG1 выдает сигнал, аналогичный.Это сумма «А» и «Б». Этот сигнал подается на PG2 как первый вход, тогда как вход «C» полного сумматора действует как второй вход PG2. Таким образом, первая выходная клемма PG2 дает результат, а выходная клемма 2 PG2. Выходная клемма 2 PG2 не дает ничего, кроме суммы «A», «B» и «C.»

Теперь третий вход элемента PG1 Переса имеет частоту, то есть находится в двоичном состоянии «0». Таким образом, логическое выражение третьего выхода этого вентиля Переса: A · B .Это перенос «А» и «В». Этот результат передается в PG2 через входную клемму 3. Здесь выходная клемма 3 PG2 дает перенос входов «A», «B» и «C» для всех возможных комбинаций входов. Этот результат соответствует таблице истинности полного сумматора, показанной в Таблице 3. Следует отметить, что, поскольку выходная клемма 2 PG-1 дает сумму входов «A» и «B» и выходной клеммы 3 PG-1 дает перенос входов «A» и «B», этот элемент Переса PG-1 действует как схема полусумматора.

Carry

ν 1

ν 1 1 99 1 9 2 2 1 900 17 ν 2

Частота входных сигналов Частота выходных сигналов
A B C Сумма

ν 1 ν 1 ν 1 ν 1 9 ν 2 ν 1 ν 2 ν 1
918 918 917 ν 1 ν 2 9001 8 ν 1
ν 2 ν 2 ν 1 1 9
ν 1 ν 1 ν 2 ν 2 ν 1 ν 2 ν 2 ν 1 ν 2
ν ν 2 ν 1 ν 2
ν 2 ν 2 ν 2 ν 2

Смоделированные спектры мощности входов и выходов полного сумматора с использованием вентилей Переса показаны на рисунках 10 (a), 10 (b) и 10 (c).Подобно оптическому вентилю Переса, здесь авторы также представили входы и выходы гауссовыми импульсами с шириной луча 0,4 нм (полуширины на полувысоте, то есть на полувысоте). Здесь также оптический луч с длиной волны 1557 нм (соответствующая частота 1,9255 × 10 14 , то есть) кодируется как двоичное состояние «1», а состояние «0» кодируется оптическим лучом с длиной волны 1552 нм и частотой 1,9317 × 10 14 Гц ().

На рисунке 10 (a) оба входных сигнала «A» и «C» находятся в двоичном состоянии «0», тогда как вход «B» находится в двоичном состоянии «1», и они представлены соответствующими гауссовыми импульсами.В этом состоянии, согласно результатам моделирования, сумма входных сигналов находится в двоичном состоянии «1», и, таким образом, это представлено гауссовым импульсом с длиной волны 1557 нм, а поскольку перенос находится в двоичном состоянии «0», это представлен гауссовым импульсом с длиной волны 1552 нм. На рисунке 10 (b) входы «A» и «B» имеют длину волны 1557 нм (т. Е. Двоичное состояние «1»), вход «C» имеет длину волны 1552 нм (т. Е. Двоичное состояние «0»). , и, таким образом, результаты моделирования показывают, что сумма входов имеет длину волны 1552 нм, а перенос — длину волны 1557 нм для этого случая.На рисунке 10 (c) все входы имеют длину волны 1557 нм (то есть двоичное состояние «1»), и, таким образом, как сумма, так и перенос имеют длину волны 1557 нм. Импульсы синего и красного цвета принадлежат длинам волн 1552 нм (представляя двоичное состояние «0») и 1557 нм (представляющее двоичное состояние «1»), соответственно.

Можно легко получить входную информацию из выходной информации предлагаемого полного сумматора. Для извлечения входной информации авторы разработали схему восстановления данных (как показано на рисунке 11), которая является не чем иным, как зеркальным отображением предложенной схемы полного сумматора.На рисунке 11 все выходы схемы полного сумматора подаются в схему восстановления данных в качестве ее входов, а на выходе схемы восстановления данных восстанавливаются входные сигналы «A», «B» и «C». . Блок-схемы реверсивного полного сумматора и схемы восстановления данных показаны на рисунках 12 и 13 соответственно.




5. Обсуждение

Коммерчески доступный растягивающий объемный JDS-однофазный SOA может быть использован для построения PSW для затвора Переса и полного сумматора.Для этого типа ПОУ мощность луча накачки должна быть не менее 0,4 мВт, а мощность зондирующего луча не должна превышать 0,03 мВт. В случае ворот Переса входной луч «А» делится на две равные части. Таким образом, мощность входа «A» должна быть не менее 0,8 мВт, мощность входа «B» — 0,4 мВт, а мощность входного луча «C» не должна превышать 0,03 мВт. Для схемы сумматора один входной пучок постоянной частоты подается на элемент Переса PG1. Этот луч действует как зондирующий, поэтому мощность этого луча не должна быть больше 0.03 мВт. Усилитель должен использоваться для усиления выходного сигнала выходной клеммы 2 «PG-1», чтобы этот сигнал мог действовать как первый входной сигнал PG-2, а также аттенюатор должен использоваться на выходной клемме 3 PG-1. так что этот сигнал может действовать как третий входной сигнал PG-2.

Когда присутствует луч накачки, SOA показывает нелинейность, и на выходе имеет место как перекрестная модуляция усиления, так и перекрестная фазовая модуляция. SOA демонстрирует некоторый нежелательный эффект шаблона из-за медленного времени восстановления усиления.Это можно уменьшить, используя несколько методов [18–22]. Из-за спонтанной рекомбинации электронно-дырочных пар в среде усиления SOA возникает спонтанное излучение, и это спонтанное излучение также усиливается входным сигналом. Усиленное спонтанное излучение (ASE) создает шум на выходе SOA, и это основной источник шума в SOA. Этим шумом нельзя пренебрегать, но, используя подходящий полосовой фильтр с наименьшей шириной полосы, этот шум можно уменьшить [23, 24].

Состояние поляризации (СОП) света может быть определено с помощью матрицы Мюллера, матрицы Джонса, сферы Пуанкаре и т. Д. [25].Если один представляет состояние поляризации (СОП) сигналов ввода-вывода матрицей Джонса, то каждый элемент матрицы зависит от фазы и амплитуды сигналов. Таким образом, можно определить изменение СОП. Точно так же по точкам на поверхности сферы Пуанкаре можно определить изменение состояния поляризации.

Также возможно измерить вращение состояния поляризации зондирующего луча, заменив PBS экспериментальной установки на рис. 2 оптическим анализатором [26].

Первоначально оси прохода поляризатора и анализатора параллельны, а линейно поляризованный пробный луч падает под углом 45 градусов к активному слою SOA. Теперь падающий луч будет распадаться на TE и TM моды с равными амплитудами и распространяться с равными скоростями в отсутствие луча накачки, а на выходном конце SOA они будут рекомбинировать без изменения его состояния поляризации и, наконец, пройдут через ось прохода. анализатор с максимальной интенсивностью.В присутствии луча накачки возникает двулучепреломление, и поэтому ТЕ-мода и ТМ-мода распространяются с неодинаковыми скоростями. Следовательно, между режимами TE и TM возникает разность фаз в зависимости от мощности пучка накачки и длины пути SOA. Наконец, они рекомбинируют на выходе SOA с разностью фаз. Поскольку две моды имеют равные амплитуды, результирующая вибрация будет вращаться на угол «», такой что «.» Теперь, если повернуть ось прохода анализатора на угол δ вдоль направления вращения состояния поляризации, будет получена максимальная интенсивность результирующего луча.Таким образом, можно измерить угол поворота состояния поляризации луча, используя соотношение «.»

6. Заключение

Предлагаемая схема полного оптического сумматора, использующая обратимые логические элементы, фактически имеет четыре входа и четыре выхода. В дополнение к трем входным сигналам («A», «B» и «C») в схеме применяется один входной сигнал постоянной частоты. На выходе мы получаем сумму и перенос входов полного сумматора, а схема дает еще два мусорных выхода («A» и «»).Но с помощью этих двух мусорных выходов можно легко восстановить входы «A» и «B». Таким образом, использование этой схемы — это та схема, которая может получить полную информацию о входах из знания выходной информации.

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *