- •1. Классификация и информационно-логические основы построения эвм
- •1.5. Представление информации в вычислительных машинах
- •Представление чисел с фиксированной и плавающей запятой
- •Выполнение операций над числами с плавающей запятой
- •Алгебраическое представление двоичных чисел
- •Арифметические операции в двоичной системе счисления
- •Выполнение арифметических операций в дополнительных кодах
- •Особенности выполнения операций в обратных кодах
- •Представление информации в других системах счисления
- •Арифметические операции в шестнадцатеричной системе счисления
- •1.6. Особенности кодирования информации в персональном компьютере
- •1.7. Логические основы построения вычислительной машины
- •Элементы алгебры логики
- •Выполнение логических операций в компьютере
- •Xor (исключающее или)
- •Логический синтез вычислительных схем
Выполнение логических операций в компьютере
В перечень машинных команд, которые используются при программировании, обязательно входят и некоторые логические операции. Чаще всего это операции OR (ИЛИ), AND (И), NOT (HE) и XOR (исключающее ИЛИ).
OR (ИЛИ) — логическое сложение
Команда выполняет поразрядную дизъюнкцию (логическое сложение — операцию «ИЛИ») битов двух чисел; устанавливает 1 в тех битах результата, в которых была 1 хотя бы у одного из исходных операндов.
|
a |
0 |
0 |
1 |
1 |
|
b |
0 |
1 |
0 |
1 |
|
a OR b |
0 |
1 |
1 |
1 |
AND (И) — логическое умножение
Команда выполняет поразрядную конъюнкцию (логическое умножение — операцию «И») битов двух чисел; устанавливает 1 в тех битах результата, в которых у обоих исходных операндов были 1.
|
a |
0 |
0 |
1 |
1 |
|
b |
0 |
1 |
0 |
1 |
|
a AND b |
0 |
0 |
0 |
1 |
Xor (исключающее или)
Команда выполняет операцию сложения по модулю 2 (отрицание равнозначности), устанавливает 1 в тех битах результата, в которых исходные числа отличались друг от друга.
|
a |
0 |
0 |
1 |
1 |
|
b |
0 |
1 |
0 |
1 |
|
a XOR b |
0 |
1 |
1 |
0 |
NOT (НЕ) – операция отрицания
Команда устанавливает обратное значение битов (операция инверсии).
|
a |
0 |
1 |
|
NOT a |
1 |
0 |
Для реализации логических операций «ИЛИ», «И» и «НЕ» применяют унифицированные интегральные системы элементов, которые в качестве базовой логической схемы используют всего одну из схем: «И — НЕ» (штрих Шеффера), «ИЛИ — НЕ» (стрелка Пирса) или «И — ИЛИ — НЕ» (рис. 6).
|
1 |
Схема «ИЛИ», реализующая операцию логического сложения |
|
&
|
Схема «И», реализующая операцию логического умножения |
|
|
Схема «НЕ», реализующая операцию инверсии |
Рис. 6. Обозначения
базовых логических схем
Логический синтез вычислительных схем
Рассмотрим логический синтез (создание) вычислительных схем на примере одноразрядного двоичного сумматора, имеющего два входа (а и b) и два выхода (S и Р) и выполняющего операцию сложения в соответствии с заданной табл. 4.
Таблица 4. Логический синтез (создание) вычислительных схем
|
a |
b |
f1(a, b) = S |
f2(a, b) = P |
|
0 |
0 |
0 |
0 |
|
0 |
1 |
1 |
0 |
|
1 |
0 |
1 |
0 |
|
1 |
1 |
0 |
1 |
В этой таблице f1(а, b) = S – значение цифры суммы в данном разряде; f2(а, b) = Р — цифра переноса в следующий (старший) разряд.
Согласно соотношению (3), можно записать:
![]()
![]()
Логическая блок-схема устройства, реализующего полученную функцию, представлена на рис. 7.


a
b
1
![]()
&
![]()
1

a
![]()
&


1
![]()
&


![]()

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

a 
b
a+b
a
b
a∙b
a1
a
о