Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Арифметические_и_логические основы_микропроцесс....doc
Скачиваний:
25
Добавлен:
18.04.2019
Размер:
307.2 Кб
Скачать

8. Математическая логика

Любая, даже самая примитивная ЭВМ — сложнейшее техническое устройство. Но даже такое сложное устройство, как и все в природе и в технике, состоит их простейших элементов. Все устройства ЭВМ состоят из десятков и сотен тысяч элементарных логических схем, так называемых вентилей, объединяемых по правилам и законам (аксиомам) алгебры логики в схемы и модули.

Автором алгебры логики является английский математик Джордж Буль. Занимаясь исследованием законов мышления, он применил в логике систему формальных обозначений и правил, близкую к математической. Впоследствии эту систему назвали логической алгеброй или булевой алгеброй. Правила этой системы применимы к самым разнообразным объектам и их группам (множествам, по терминологии автора). Основное назначение системы Буля состояло в том, чтобы кодировать логические высказывания и сводить структуры умозаключений к простым выражениям, близким по форме к математическим формулировкам. Результатом формального расчета логического выражения является одна из двух логических констант: истина или ложь.

Значение логической алгебры долгое время игнорировалось, поскольку ее приемы и методы не содержали практической пользы для науки и техники того времени. Однако, когда появилась принципиальная возможность создания средств вычислительной техники на электронной базе, операции введенные Булем, оказались весьма полезны. Они изначально ориентированы на работу только с двумя понятиями: истинности и ложности высказывания. Нетрудно понять, как они пригодились для работы с двоичным кодом, который в современных компьютерах тоже представляется всего двумя сигналами: 0 и 1.

Под высказыванием понимается повествовательное предложение, в котором что-либо утверждается или отрицается. В соответствии с такой двоичной природой высказываний условились называть их логическими двоичными переменными и обозначать «1» в случае истинности и «0» в случае ложности. Примерами логических переменных являются высказывания: X = «5 – это четное число», Y = «Квадрат – это геометрическая фигура». На основании этих высказываний можно записать X = 0, Y = 1, так как высказывание X ложно, а высказывание Y истинно.

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

Высказывания строятся над множеством {B, , , , 0, 1}, где B — непустое множество, над элементами которого определены три операции:  — отрицание (НЕ),  — конъюнкция (И),  — дизъюнкция (ИЛИ), а также две константы — логический ноль 0 и логическая единица 1.

Отрицание (инверсия). В русском языке логической операции отрицание соответствует частица НЕ (в некоторых высказываниях применяется оборот «неверно, что…»). Отрицание — унарная (одноместная) операция. Записывается в виде:  X или .

Конъюнкция (логическое умножение). В русском языке она выражается союзом И. В математической логике используются знаки , & или . Конъюнкция — бинарная (двухместная) операция. Записывается в виде: X  Y, X & Y или X  Y. Значение такого выражения будет Ложь, если значение хотя бы одного из операндов ложно.

Дизъюнкция (логическое сложение). В русском языке она выражается союзом ИЛИ. В математической логике используются знаки  или +. Дизъюнкция — бинарная операция. Записывается в виде: X  Y или X + Y. Значение такого выражения будет Истина, если значение хотя бы одного из операндов истинно.

Простейшим и наиболее широко применяемым примером такой алгебраической системы является множество B, состоящее всего из двух элементов: B = {0 (Ложь), 1 (Истина)}. Легко показать, что на данном множестве B можно задать четыре унарные и шестнадцать бинарных отношений, представленных в таблице, однако все они могут быть получены через суперпозицию трёх выбранных операций.

Функции и их обозначение

Аргументы

Название функции

X

Y

X

Y

X

Y

X

Y

0

0

0

1

1

0

1

1

f1 (XY)

0

0

0

1

Конъюнкция (логическое И)

f2 (XY)

0

1

1

1

Дизъюнкция (логическое ИЛИ)

f3 (XY)

1

0

0

1

Эквивалентность

f4 (XY)

0

1

1

0

Сумма по модулю 2

f5 (XY)

1

0

1

1

Импликация от y к x

f6 (XY)

1

1

0

1

Импликация от x к y

f7 (XY)

1

0

0

0

Стрелка Пирса («антидизъюнкция»)

f8 (XY)

1

1

1

0

Штрих Шеффера («антиконъюнкция»)

f9 (XY)

0

0

1

0

Инверсия импликации f5

f10 (YX)

0

1

0

0

Инверсия импликации f6

f11 ( )

1

1

0

0

Отрицание Х

f12 ( )

1

0

1

0

Отрицание Y

f13 (X)

0

0

1

1

Переменная Х

f14 (Y)

0

1

0

1

Переменная Y

f15 (1)

1

1

1

1

Константа 1

f16 (0)

0

0

0

0

Константа 0

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

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

Логическое отрицание НЕ переменной X есть логическая функция F, которая истинна только тогда, когда переменная X имеет значение Ложь, и наоборот.

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

X

F

0

1

1

0

Графически эта функция обозначается кружком на входе или выходе логического символа (рис. 1).

Рис. 1. Графическое изображение функции логического отрицания НЕ

Логическое умножение И двух переменных X и Y есть логическая функция F, которая истинна тогда и только тогда, когда одновременно истинны входные переменные. Для функции логического умножения И таблица истинности имеет вид:

X

Y

F

0

0

0

0

1

0

1

0

0

1

1

1

Графическое изображение функции логического умножения И представлено на рис. 2.

Рис. 2. Графическое изображение функции И

Логическое сложение ИЛИ двух переменных X и Y есть логическая функция F, которая истинна, когда хотя бы одна из входных переменных истинна. Для функции логического сложения ИЛИ таблица соответствия имеет вид:

X

Y

F

0

0

0

0

1

1

1

0

1

1

1

1

На рис. 3 представлено графическое изображение функции логического сложения ИЛИ.

Рис. 3. Условно-графическое изображение функции логической суммы

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

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

Это возможно еще и потому, что базовый набор логических схем (инвертор, конъюнктор, дизъюнктор) является функционально полным (любую логическую функцию можно представить через эти базовые вентили), представление логических констант в них одинаково (одинаковы электрические сигналы, представляющие 1 и 0) и различные схемы можно «соединять» и «вкладывать» друг в друга (осуществлять композицию и суперпозицию схем). На их основе можно сделать все вышеперечисленные элементы. Таким способом конструируются более сложные узлы микропроцессорных систем— ячейки памяти, регистры, шифраторы, дешифраторы, а также сложнейшие интегральные схемы.

Кроме того, широкое распространение получили в реализации современных логических схем функции И-НЕ, ИЛИ-НЕ, исключающее ИЛИ.

«И-НЕ» — это схема И и схема НЕ, сложенные вместе. Операция, которую производит такой элемент, называется инверсией логического умножения или отрицанием логического умножения, или инверсией конъюнкции, а также штрих Шеффера. В виде формулы операция И-НЕ записывается так: F = X | Y.

Таблица истинности для этой функции представлена в следующем виде:

X

Y

F

0

0

1

0

1

1

1

0

1

1

1

0

Графическое изображение функции И-НЕ представлено на рис. 4.

Рис. 4. Графическое представление функции И-НЕ

Операция, выполняемая элементом ИЛИ-НЕ, называется инверсией логического сложения или инверсией дизъюнкции и еще словосочетанием «стрелка Пирса». В виде формулы эта функция записывается так: F = X↓Y.

Значения этой функции при различных X и Y могут быть представлены в таблице истинности:

X

Y

F

0

0

1

0

1

0

1

0

0

1

1

0

На рис. 5 представлено графическое изображение инверсии логического сложения.

Рис. 5. Графическое изображение функции ИЛИ-НЕ

Операция, выполняемая таким элементом как «ИСКЛЮЧАЮЩЕЕ ИЛИ», обозначается плюсиком в кружочке, т. е. вот таким символом . В виде уравнения функция записывается так: F = XY. Читается это, как «либо икс, либо игрек». Таблица истинности элемента ИСКЛЮЧАЮЩЕЕ ИЛИ следующая:

X

Y

F

0

0

0

0

1

1

1

0

1

1

1

0

Элемент ИСКЛЮЧАЮЩЕЕ ИЛИ может быть представлен следующее схемой (рис. 6).

Рис. 6. Графическая реализация ИСКЛЮЧАЮЩЕГО ИЛИ

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

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

Аналогично обычной алгебре, в булевой действительны свойства перестановки, сочетательности и распределительности:

a + b = b + a;

a  b = b  a;

a + (b + c) = (a + b) + c;

a  (b  c) = (a  b)  c;

a  (b + c) = a  b + a  c.

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

— Законы одинарных элементов:

a  1 = a;

a + 1 = 1;

a  0 = 0;

a + 0 = a;

— Законы отрицания (правила де Моргана):

— Распределительность дизъюнкции:

a + (b  c) = (a  b) + (a  c);

— Правила поглощения:

a + (a  b) = a;

a  (a + b) = a.

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

Упражнения

1.Чему равно количество различных комбинаций переменных для таблицы истинности логической функции а)F (a,b,c); б) F (k,l,m,n). Ответ представить в восьмеричной системе счисления.

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

а) XYZ;

б) XYZ;

в) XYZ;

г) XYZ.