- •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 b a+b |
Схема «ИЛИ», реализующая операцию логического сложения |
& b a∙b
|
Схема «И», реализующая операцию логического умножения |
a1 a о
|
Схема «НЕ», реализующая операцию инверсии |
Рис. 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
&
1
&
Рис. 7. Логическая блок-схема сумматора
Примечание. В ряде случаев, логическую функцию, на основе которой строится блок-схема устройства, следует, пользуясь соотношениями алгебры логики, преобразовать к более простому виду (минимизировать).