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

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

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

Рассмотрим сначала более простое устройство – полусумматор.

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

ABPS
0000
0101
1001
1110

По данной таблице истинности построим СДНФ (см. алгоритм построения СДНФ):

  1. Для переноса в старший разряд: P = A ∧ B
  2. Для текущего разряда: S = ¬ A ∧ B ∨ A ∧ ¬ B

Преобразуем логическую формулу для S:
(¬ A • B) + (A • ¬ B) = (¬ A • A) + ( ¬ A • B) + (A • ¬ B) + (¬ B • B) =
= ¬ A • (A + B) + ¬ B • (A + B) = (A + B) • ¬ (A • B)

С учетом формулы для переноса имеем:
S = (A + B) • ¬ (A • B) = (A + B) • ¬ P

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

Схема полусумматора

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

Для реализации полного одноразрядного сумматора необходимо учесть перенос из младшего разряда (P0). Поэтому сумматор должен иметь три входа. Построим таблицу истинности для устройства с учетом третьего входа:

ABP0PS
00000
00101
01001
01110
10001
10110
11010
11111

Построим СДНФ для выхода P (перенос в старший разряд):

Системы счисления: Сложение, вычитание и умножение двоичных чисел. Центр онлайн-обучения «Фоксфорд»


P =(¬ A ∧ B ∧ P0) ∨ (A ∧ ¬ B ∧ P0) ∨ (A ∧ B ∧ ¬ P0) ∨ (A ∧ B ∧ P0)
Преобразуем:
1) (A ∧ B ∧ ¬ P0) ∨ (A ∧ B ∧ P0) = (A ∧ B) ∧ (¬ P0 ∨ P0) = A ∧ B
Имеем, P = (¬ A ∧ B ∧ P0) ∨ (A ∧ ¬ B ∧ P0) ∨ (A ∧ B)
2) (¬ A ∧ B ∧ P0) ∨ (A ∧ B) = B ∧(¬ A ∧ P0 ∨ A) = B ∧ (¬ A ∨ A ) ∧ (P0 ∨ A) =
= B ∧ (P0 ∨ A) = (B ∧ P0) ∨ (A ∧ B)
Имеем, P = (A ∧ ¬ B ∧ P0) ∨ (B ∧ P0) ∨ (A ∧ B)
3) (A ∧ B) ∨ (A ∧ ¬ B ∧ P0) = A ∧ (B ∨ ¬ B ∧ P0) = A ∧ (B ∨ ¬ B)(B ∨ P0) =
= A ∧ (B ∨ P0) = (A ∧ B) ∨ (A ∧ P0)
Таким образом, для переноса в старший разряд получили:
P = A ∧ B ∨ A ∧ P0 ∨ B ∧ P0

Проанализируем таблицу истинности для выхода S. Значение S отлично от нуля в том случае, если единица поступает ровно на один вход (при этом на двух других входах фиксируется ноль), или на все три входа сразу, т. е.:
S = ¬ (A ∧ B ∨ A ∧ P0 ∨ B ∧ P0) ∧ (A ∨ B ∨ P0) ∨ (A ∧ B ∧ P0)

С учетом формулы для переноса в старший разряд, имеем:
S = ¬ P ∧ (A ∨ B ∨ P0) ∨ (A ∧ B ∧ P0)

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

Схема сумматора

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

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

Сумматор — это электронная логическая схема, выполняющая суммирование двоичных чисел.

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

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

При сложении чисел A и B в одном i-ом разряде приходится иметь дело с тремя цифрами:

  1. цифра ai первого слагаемого;
  2. цифра bi второго слагаемого;
  3. перенос pi-1 из младшего разряда.
  1. цифра ci для суммы;
  2. перенос pi из данного разряда в старший.
ВходыВыходы
Первое слагаемоеВторое слагаемоеПереносСуммаПеренос
00000
00110
01010
01101
10010
10101
11001
11111

Если требуется складывать двоичные слова длиной два и более бит, то можно использовать последовательное соединение таких сумматоров, причём для двух соседних сумматоров выход переноса одного сумматора является входом для другого. Например, схема вычисления суммы C = (с3 c2 c1 c0) двух двоичных трехразрядных чисел A = (a2 a1 a0) и B = (b2 b1 b0) может иметь вид:

Основные законы алгебры логики

В алгебре логики выполняются следующие основные законы, позволяющие производить тождественные преобразования логических выражений: ОСНОВНЫЕ ЗАКОНЫ АЛГЕБРЫ ЛОГИКИ

ЗаконДля ИЛИДля И
Переместительный
Сочетательный
Распределительный
Правила де Моргана
Идемпотенции
Поглощения
Склеивания
Операция переменной с ее инверсией
Операция с константами
Двойного отрицания

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

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

Сумматоры с последовательным переносом. Для вычисления суммы двух л-разрядных двоичных чисел можно использовать неполные и полные одноразрядные сумматоры. На рис. 4,л,б приведены схема 4-разрядного сумматора и его условное обозначение. Схема составлена из четырех полных одноразрядных сумматоров SM путем соединения выхода переноса предыдущего одноразрядного сумматора с входом переноса последующего. Такой сумматор называется сумматором с последовательным переносом. Использование в нулевом разряде полного одноразрядного сумматора расширяет функциональные возможности 4-разрядного сумматора. Сумматор с последовательным переносом обладает низким быстродействием, поскольку сигналы суммы Si и переноса С,+| на выходе /-го одноразрядного сумматора появляются после того, как сформируется сигнал переноса С, в предыдущем (/ — 1 )-м одноразрядном сумматоре.

Четырехразрядный сумматор с последовательным переносом (а) и его условное графическое изображение (б)

Рис. 4. Четырехразрядный сумматор с последовательным переносом (а) и его условное графическое изображение (б)

Сумматоры с параллельным переносом. Рассмотрим способ повышения быстродействия на примере 4-разрядного сумматора. Для этого запишем выходной сигнал переноса (3) в виде

Из (5) следует, что:

=> сигнал G/=l вырабатывается (генерируется) при наличии обоих сигналов в данном разряде (т.е. перенос происходит при At = В , = 1), поэтому он называется функцией генерации переноса;

=> сигнал Pj= 1 разрешает прохождение переноса С,= 1 на выход, поэтому он называется функцией распространения переноса.

Используя (5), запишем следующие выражения для сигналов переноса:

Выражения (6), (7) свидетельствуют о том, что для получения сигналов переноса С,+) (/ = 0, 1,2, 3) достаточно располагать функциями G„ Pt (по сути, входными сигналами АР, разрядов слагаемых) и сигналом внешнего переноса С0. Они описывают двухступенчатые комбинационные устройства, в первой ступени которых формируются логические произведения, а во второй — логические суммы. Поэтому можно считать, что сигналы всех переносов будут сформированы одновременно и за более короткий промежуток времени, чем в схеме многоразрядного сумматора с последовательным переносом. Рассмотренный способ формирования переносов называется параллельным, а сумматоры, построенные по этому способу, — сумматорами с параллельным переносом. Используя соотношения (6), (7), можно построить схему ускоренного (параллельного) переноса для 4-разрядного сумматора.

Путем соединения выводов переноса Со, С* 4-разрядных сумматоров в последовательную цепь можно посгроить сумматоры с разрядностью 8, 12, 16 и т. д. Такой многоразрядный сумматор называют сумматором с последовательным групповым переносом. Для реализации параллельного группового переноса представим (8) в виде

Так как выражения (8) и (5) имеют одинаковую структуру, параллельный групповой перенос между 4-разрядными сумматорами выполняется в соответствии с выражениями (6), (7), т.е. так же, как и параллельный перенос между отдельными разрядами каждого 4-разрядного сумматора. При этом в устройстве переноса каждого 4-разрядного сумматора должны быть дополнительно сформированы сигналы (9). Схема ускоренного переноса, построенная с использованием формул (6), (7), (9), изображена на рис. 5.

Схема ускоренного переноса

Рис. 5. Схема ускоренного переноса

Как видно из рис. 5, схема ускоренного переноса с помощью входных сигналов С0, Gh Р, (/ = 0, 1,2, 3) формирует переносы в старшие разряды С| + С4, а также функции генерации G и распространения Р переносов, используемые при групповом включении 4-разрядных сумматоров. Формирование сигналов G„ Р, (/ = 0, 1, 2, 3) и сигнала 5, суммы двух одноразрядных двоичных чисел возлагается на формирователь. На рис. 6 представлен один из возможных вариантов схемы формирователя.

При построении этой схемы использовалось тождество Ai’Bi ® (AjvBj) = Gj ® Pj = А, Ф В,.

Для его доказательства воспользуемся выражением (1) и формулами закона двойственности (13.10.4):

Структурная схема 4-разрядного сумматора с ускоренным переносом изображена на рис. 7. Сумматор содержит четыре одинаковых формирователя (Ф0, Ф|, Ф2, Фз) отдельных разрядов суммы S„ функций генерации G, и распространения Р, переноса (рис. 6), а также схему ускоренного переноса (рис. 5), генерирующую, помимо переносов С^-С^ функции генерации G и распространения Р для фуппового переноса.

Схема 4-разрядного сумматора с ускоренным переносом

Рис. 7. Схема 4-разрядного сумматора с ускоренным переносом

Схема формирователя

Рис. 6. Схема формирователя

Сумматор

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

ВходВыход
СлагаемоеПеренос из младшего разрядаСуммаПеренос в старший разряд
X1X2X3Y1Y2
00000
00110
01010
01101
10010
10101
11001
11111

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

По этим функциям можно построить одноразрядный сумматор на элементах И и ИЛИ:

Сумматор

Данная схема может быть заменена одним прямоугольником с пометкой SM — сумматор:

Сумматор-sm

Для сложения двух многоразрядных двоичных чисел соединим последовательно n одноразрядных сумматоров и получим следующую схему:

Сумматор-all

На вход Х3 сумматора нулевого разряда подается постоянный 0. Если в результате сложения на выходе Y2 последнего сумматора n-го разряда появляется 1, то происходит переполнение сумматора. Этот выход обычно заводят в специальную схему ЭВМ, где фиксируется факт переполнения, который может быть проанализирован программистом.

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

Сумматоры

Сумматор предназначен для арифметического сложения двух чисел. Из принципа сложения многоразрядных двоичных чисел следует, что в каждом i-м разряде находится сумма трех чисел по модулю два (слагаемых Ai, Ai и переноса, поступившего из младшего разряда Pi), и формируется сигнал переноса в старший разряд Рi+1 Для примера проанализируем таблицу истинности одноразрядного сумматора и запишем логические выражения для выходных величин
S=A(-B)(-P0)/(-A)B(-P0)/(-A)(-B)P0/ABP0
Pi+1=AB(-P0)/A(-B)(-P0)/(-A)BP0/ABP0 По этим функциям можно построить сумматор на элементах И и ИЛИ Рисунок 1,а. Символическое изображение одноразрядного сумматора приведено на рисунке 1,б. Для сложения двух многоразрядных двоичных чисел используют многоразрядные сумматоры, представляющие собой в простейшем виде последовательное соединение одноразрядных сумматоров рисунок 1,в.

GIG Опубликована: 2005 г. 0 0

Вознаградить Я собрал 0 0

Цифровая электроника

Сумматоры – это класс КЦУ, выполняющих операцию арифметического сложения двух двоичных n-разрядных чисел. Сумматоры бывают полными и неполными. Неполный сумматор или полусумматор — это комбинационное устройство с двумя входами и двумя выходами, выполняющее операцию сложения двух одноразрядных чисел в соответствии с таблицей истинности, где А и В – входные одноразрядные числа, Sп/см. – выход суммы, а Pп/см. – выход переноса в старший разряд:

Записанные по таблице истинности ФАЛ для переменных Sп/см. и Pп/см. имеют вид

Первое уравнение для Sп/см. обозначает операцию Исключающее ИЛИ (Сложение по модулю два), а второе — для Pп/см. – операцию логической конъюнкции. Поскольку во всех сериях микросхем имеются элементы Исключающее ИЛИ, то структурную схему полусумматора удобно синтезировать на основе именно этого элемента и элемента И ( рис. 4.6,а ). Условное графическое обозначение полусумматора приведено на рис. 4.6,б .

Рис. 4.6.Структурная схема и УГО полусумматора.

Полный одноразрядный сумматор выполняет операцию арифметического сложения двух одноразрядных чисел A и B с учетом переноса из младшего разряда Р-1. Он имеет три входа и два выхода. Работа полного одноразрядного сумматора задается таблицей истинности:

Записав СДНФ для переменных S и P и выполнив ряд тождественных преобразований можно получить следующие ФАЛ для полного сумматора:

Выражение есть ни что иное, как значение выхода переноса полусумматора над величинами Sп/см. и Р-1. Учитывая этот факт и анализируя полученные логические уравнения, можно сделать заключение о возможности реализации полного сумматора на основе двух полусумматоров и одного элемента ИЛИ. Структура полного одноразрядного сумматора представлена на рис. 4.7,а , а его УГО – на рис. 4.7,б .

Рис. 4.7. Схема и УГО полного одноразрядного сумматора.

Из таблицы истинности полного одноразрядного сумматора очевидно, что на выходе суммы S формируется единица, а на выходе переноса Р – нуль при наличии единицы на одном из входах A, B или Р-1. При наличии единиц на любых двух из трех входов полного сумматора, на выходе S будет нуль, а на выходе P – единица. При наличии на всех трех входах логических единиц, на обоих выходах сумматора присутствуют единицы. При нулях на всех трех входах выходы также принимают нулевые состояния. Структура, реализующая описанное правило и положенная в основу микросхем сумматоров 155 и 555 серий, приведена на рис. 4.8 .

Рис. 4.8.Структурная схема одноразрядного полного сумматора, положенная в основу микросхем ТТЛ-типа.

При суммировании многоразрядных двоичных чисел с помощью одноразрядных сумматоров их необходимо соединить в последовательные структуры. Выходы переноса Р микросхем младших разрядов подключаются к входам переноса Р-1 микросхем старших разрядов. Отдельные разряды слагаемых подаются на входы А и В микросхем соответствующих разрядов, а с их выходов S снимаются разряды результата суммирования. Выход переноса P микросхемы самого старшего разряда является выходом переноса результата суммирования всего n-разрядного числа.

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

Введем обозначения и , где gi – функция переноса, hi – функция передачи переноса. Тогда

В общем случае можно записать

где — перенос в самый младший разряд из предыдущего сумматора, если таковой предусмотрен в структуре цифрового устройства. В противном случае =0. Таким образом, сигнал pi можно получить одновременно с появлением всех разрядов аi и вi на входах сумматора, не дожидаясь формирования переноса в отдельных разрядах полных одноразрядных сумматоров. В случае четырехразрядных чисел А и В можно записать

Для построения четырехразрядного сумматора с параллельным переносом необходимо полученные ФАЛ для pi каждого разряда реализовать в каком-либо базисе, например И-НЕ. Далее выходные сигналы pi с каждой части такой комбинационной схемы должны быть поданы на соответствующие входы Р-1 полных одноразрядных сумматоров. Пример такой структуры приведен на рис. 4.9 .

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

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

Рис. 4.9. Схема четырехразрядного сумматора с параллельным переносом.

Второй подход также основан на использовании набора сумматоров с параллельным переносом. Но их объединение в общую структуру основано на принципе параллельной передачи переноса. В этом случае требуется дополнительная комбинационная схема, реализующая параллельный перенос между параллельными сумматорами. Сумматоры с такой структурой называются параллельно-параллельными. Они имеют максимальное быстродействие, но их реализация требует дополнительных аппаратных затрат.

10. Арифметические устройства

К ним относятся устройства для выполнения арифметических действий над двоичными числами. Так же, как и в логических устройствах, в них используются только два значения – «0» и «1», но здесь они понимаются не как логические переменные, а как двоичные цифры. Поэтому действия над ними подчиняются правилам двоичной арифметики.

Двоичная арифметика. Числа, которыми мы привыкли пользоваться, называются десятичными, и арифметика, которой мы пользуемся, также называется десятичной. Это потому, что каждое число можно составить из набора цифр, содержащего 10 символов-цифр-«0123456789».

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

Наиболее простая арифметика получается, если 10 заменить на 2, что и используется в вычислительных устройствах. Полученная система счисления называется двоичной, и число в ней определяется следующим образом:

где ai – это символ из набора «0 или 1», 2 i – весовые коэффициенты.

Эта система самая простая из всех возможных, так как в ней любое число образуется только из двух цифр 0 и 1. Понятно, что проще уже некуда. Примеры двоичных чисел: 10, 111, 101.

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

Двоичное в десятичное. Метод такого перевода даёт наш способ записи чисел. Возьмём следующее двоичное число 1001. Разложим его по степеням двойки. Получим следующее:

1001 = 1 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 .

Выполним все записанные действия и получим:

1 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 8 + 0+ 0 + 1 = 9.

Таким образом, получаем, что 1001(двоичное) = 9(десятичное).

Сразу видно и небольшое неудобство двоичной системы. То же самое число, которое в десятичной системе записано одним знаком, в двоичной системе для своей записи требует четыре знака. Но огромный выигрыш двоичная система даёт в

Сложение двоичных чисел. Способ сложения столбиком, в общем-то, такой же, как и для десятичного числа. То есть сложение выполняется поразрядно, начиная с младшей цифры. Если при сложении двух цифр получается СУММА больше девяти, то записывается цифра = СУММА – 10, а ЦЕЛАЯ ЧАСТЬ (СУММА/10) добавляется к старшему разряду (сложите пару чисел столбиком вспомните, как это делается). Так и с двоичным числом. Складываем поразрядно, начиная с младшей цифры. Если получается больше 1, то записывается 1 и 1 добавляется к старшему разряду (говорят «на ум пошло»).

Выполним пример: 10011 + 10001:

Первый разряд: 1 + 1 = 2. Записываем 0 и 1 перешла в виде переноса в старший разряд.

Второй разряд: 1 + 0 + 1(запомненная единица) = 2. Записываем 0 и 1 также перешла в виде переноса в старший разряд.

Третий разряд: 0 + 0 + 1(запомненная единица) = 1. Записываем 1.

Четвертый разряд 0 + 0 = 0. Записываем 0.

Пятый разряд 1 + 1 = 2. Записываем 0 и добавляем к шестым разрядом 1.

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

10011 = 1*2 4 + 0*2 3 + 0*2 2 + 1*2 1 + 1*2 0 = 16 + 2 + 1 =19;

10001 = 1*2 4 + 0*2 3 + 0*2 2 + 0*2 1 + 1*2 0 = 16 + 1 = 17;

100100 = 1*2 5 + 0*2 4 + 0*2 3 + 1*2 2 + 0*2 1 + 0*2 0 =32+4=36.

В итоге 17 + 19 = 36 – верное равенство.

Примеры для самостоятельного решения:

Вычитание двоичных чисел. Вычитать числа будем также столбиком и общее

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

Первый разряд: 1 – 0 = 1. Записываем 1.

Второй разряд: 0 –1. Не хватает единицы. Занимаем её в старшем разряде. Единица из старшего разряда переходит в младший, как две единицы (потому что старший разряд представляется двойкой большей степ
ени) 2 – 1 = 1. Записываем 1.

Третий разряд. Единицу этого разряда мы занимали, поэтому сейчас в разряде 0 и есть необходимость занять единицу старшего разряда. 2 – 1 = 1. Записываем 1.

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

1101 – 110 = 13 – 6 = 7 (111). Верное равенство.

Еще один интересный способ выполнения вычитания связан с понятием дополнительного кода, который позволяет свести вычитание к сложению. Получается число в дополнительном коде исключительно просто, берём число, заменяем нули на единицы, единицы, наоборот, заменяем на нули и к младшему разряду добавляем единицу. Например, 10010, в дополнительном коде будет 011011.

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

Пример: 34 – 22 = 12.

Запишем этот пример в двоичном виде. 100010 – 10110 = 1100.

Дополнительный код числа 10110 будет такой: 01001 + 00001 = 01010.

Тогда исходный пример можно заменить сложением так: 100010 + 01010 = = 101100. Далее, необходимо отбросить одну единицу в старшем разряде. Если это сделать, то получим 001100. Отбросим незначащие нули и получим 1100, то есть пример решён правильно.

Выполните вычитания. Обычным способом и в дополнительном коде, переведя предварительно десятичные числа в двоичные:

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

Для представления отрицательных чисел вводится знаковый разряд z. Если число положительное, то он имеет значение «0», если отрицательное – то «1». Например:

+7 → 0 0111; -7 → 1 0111.

Умножение в двоичной системе счисления. Для начала рассмотрим следующий любопытный факт. Для того чтобы умножить двоичное число на 2 (десятичная двойка это 10 в двоичной системе), достаточно к умножаемому числу слева приписать один ноль.

Пример: 10101 * 10 = 101010.

10101 = 1*2 4 + 0*2 3 + 1*2 2 + 0*2 1 + 1*2 0 = 16 + 4 + 1 = 21.

101010 = 1*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 1*2 1 +0*2 0 = 32 + 8 + 2 = 42.

Если мы вспомним, что любое двоичное число разлагается по степеням двойки, то становится ясно, что умножение в двоичной системе счисления сводится к умножению на 10 (то есть на десятичную 2), а стало быть, умножение – это ряд последовательных сдвигов. Общее правило таково: как и для десятичных чисел, умножение двоичных выполняется поразрядно. И для каждого разряда второго множителя к первому множителю добавляется один ноль справа. Пример (пока не столбиком):

1011 * 101. Это умножение можно свести к сумме трёх поразрядных умножений: 1011 * 1 + 1011 * 0 + 1011 * 100 = 1011 +101100 = 110111. В столбик это же самое можно записать так:

101 = 5 (десятичное);

1011 = 11 (десятичное);

110111 = 55 (десятичное);

5*11 = 55 верное равенство.

Примечание: Кстати, таблица умножения в двоичной системе состоит только из одного пункта 1 * 1 = 1.

Деление двоичных чисел. Деление двоичных чисел сводится к выполнению вычитаний и сдвигов. Пример. Выполнить деление 110110 (54) на 110 (6).

Результат: 54:6 = 9(10 c.с.) = 1001(2 с.с.).

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

Используют и другие виды двоичных кодов, некоторые из них приведены ниже.

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

Особое место занимают коды, предназначенные для отображения десятичных чисел (табл.
3.5).

3) Код 2 из 5. Преимущество этого кода состоит в простоте обнаружения ошибок в аппаратуре, поскольку единичное искажение любого символа может быть легко опознано по количеству единиц в слове.

4) Код Джонсона представляет собой чередующиеся “волны” нулей и единиц. Формирование последовательности чисел в таком виде может быть реализовано использованием сдвигающих регистров.

Кроме кодов, перечисленных в табл. 3.5, для отображения десятичной информации используется двоично-десятичный код (ДДК). Он применяется для устройств, использующих декадную форму отображения информации (цифровые измерительные приборы, калькуляторы, аппаратура цифропечати и т.д.). Этот код для отображения каждого десятичного разряда требует четыре двоичных разряда, комбинации двоичных чисел от 10 до 15 включительно считаются избыточными или нештатными и используются для упрощения структурных схем преобразователей кодов или для обнаружения ошибок.

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

При сложении двух одноразрядных двоичных чисел, кроме сигнала суммы, может образовываться сигнал переноса, поэтому полусумматор представляет собой устройство с двумя входами Х1 и Х2 и выходами: S – сигнала суммы и Р – сигнала переноса в старший разряд.

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

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

3.16 Таблица истинности сумматора по модулю 2

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

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

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

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

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

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

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

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

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

Реализуя полученные уравнения, получим схему полного двоичного одноразрядного сумматора. Эта схема приведена на рис. 3.22.

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

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

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

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

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

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

Рис 3.23 Обозначение полного двоичного одноразрядного сумматора на схемах

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

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

Оцените статью
TutShema
Добавить комментарий