Булевы переменные и операции.
Базовые элементы ЭВМ.
Немного о логике.
Логика - наука древняя. Исходя из дошедших до нашего времени высказываний, ссылок и оригинальных источников считается, что основоположником этой науки был древнегреческий мыслитель - Аристотель (384 -322гг. до н. э.). Он пытался найти ответ на вопрос: "Как мы рассуждаем? ". Изучая правила мышления, Аристотель впервые дал систематическое изложение логики. Так возникла формальная логика - наука пытавшаяся найти ответ на вопрос, как мы рассуждаем, изучающая логические операции и правила мышления. После падения античной цивилизации в Европу пришла власть религии, формы мышления которой нередко вступали в противоречие с новыми логическими идеями, и развитие математики, и особенно логики, замедлилось.
Любопытно отметить, что с окончанием безраздельного господства церкви, первое, что было восстановлено из античной науки, - это логика Аристотеля.
Если обратиться к эпохе Возрождения, к истокам науки нового времени, нетрудно установить, что и в этом случае первыми восстанавливались и использовались именно разработанные в античной логике методы. С этого начиналась философия и математика Рене Декарта (1596-1650).
Он считал, что человеческий разум может постигнуть истину, если будет следовать следующим правилам:
· исходить из достоверных положений;
· сводить сложные идеи к простым;
· переходить от известного и доказанного к неизвестному, избегая каких-либо пропусков в логических звеньях исследований.
Фактически Декарт рекомендовал использовать математические принципы в науке о мышлении - логике.
Продолжение развития логики начинается с появления математической, или символической, логики. Основоположником математической логики считают великого немецкого математика и философа Готфрида Вильгельма Лейбница (1646-1716). Он попытался построить первые логические исчисления: арифметические и буквенно-алгебраические, что можно заменить простые рассуждения действиями со знаками, и привел соответствующие правила.
Но Лейбниц высказал только идею, а развил ее окончательно англичанин Джордж Буль (1815-1864). Буль считается основоположником математической логики как самостоятельной дисциплины. Он вывел для логических построений особую алгебру (алгебру логики). В отличии от обычной логики, в ней символами обозначаются не числа, а высказывания.
Математическая логика - это раздел математики, изучающий:
· булеву алгебру;
· алгебру отношений;
· теорию доказательств.
Булева алгебра, которая состоит из алгебры множеств и алгебры высказываний. Из этих разделов берет начало алгебра релейных схем.
В 1938 году выдающийся американский математик и инженер Клод Шеннон обнаружил, что алгебру логики можно применить к любым переменным, которые могут принимать только два значения, что и нужно для логических элементов ЭВМ.
Булевы переменные и операции.
Булева переменная – это переменная, которая может принимать только два значения: 0 и 1.
0 иногда называют «Ложь» или «False».
1 иногда называют «Истина» или «True».
Для булевых переменных определены следующие операции:
Логическое НЕ: обозначают или или ~;
Логическое ИЛИ: обозначают или | или V;
Логическое И: обозначают или &| или Λ;
Логическое ИСКЛЮЧАЮЩЕЕ ИЛИ: обозначают или " или Å.
Каждая операция определяется следующим образом:
НЕ: 1 = 0; 0 = 1;
ИЛИ: a V b = 1, если a и b одновременно не равны 0;
a V b = 0, если a = b = 0;
И: a Λ b = 0, если a и b одновременно не равны 1;
a Λ b = 1, если a = b = 1;
ИСКЛЮЧАЮЩЕЕ ИЛИ: a Åb = 1, если a ≠ b;
a Å b = 0, если a = b.
В алгебре логики логические операции часто описываются при помощи так называемых таблиц истинности.
Таблица истинности представляет собой таблицу, устанавливающую соответствие между возможными значениями набора переменных и значениями функции.
Таблицы истинности логических функций позволяют определить значения, которые принимают эти функции при различных значениях переменных, сравнивать функции между собой, определять, удовлетворяют ли функции заданным свойствам.
В табл.2.2 показана таблица истинности для логических операций над переменными a и b.
Таблица 2.2. Таблица истинности для переменных a и b.
Переменные | Полученное значение после операций | |||||
a | b | НЕ | ИЛИ (a | b) | И (a & b) | ИСКЛЮЧАЮЩЕЕ ИЛИ (a Å b) | |
(a) | (b) | |||||
Нужно отметить, что только операция НЕ применяется к одной переменной.
Логические элементы.
Логические элементы - это электронные схемы с одним или несколькими входами и одним выходом, через которые проходят электрические сигналы, представляющие 0,1.
Опираясь на логические операции, построены следующие логические элементы:
· Схема И (Рис. 2.4.) (реализует конъюнкцию (логическое умножение) двух или более логических значений).
Единица на выходе схемы И будет тогда и только тогда, когда на всех входах будут единицы. Когда хотя бы на одном входе будет ноль, на выходе также будет ноль.
В табл.2.3 показана таблица истинности для логической функции "И".
Таблица 2.3. Таблица истинности для логической функции "И".
X1 | X2 | Y = X1 & X2 |
· Схема ИЛИ(Рис. 2.5.) (реализует дизъюнкцию (логическое сложение) двух или более логических значений)
Когда хотя бы на одном входе схемы ИЛИ будет единица, на её выходе также будет единица.
В табл.2.4 показана таблица истинности для логической функции "ИЛИ".
Таблица 2.4. Таблица истинности для логической функции "ИЛИ".
X1 | X2 | Y = X1 | X2 |
· Схема НЕ(Рис. 2.6.) ((инвертор) реализует операцию отрицание двух или более логических значений.)
В табл.2.5 показана таблица истинности для логической функции "НЕ".
Таблица 2.5. Таблица истинности для логической функции "НЕ".
X | Y = X |
Очень часто вместо Y = X пишут Y = X.
В чистом виде логические элементы "И", "ИЛИ", "НЕ" используются очень редко. А наиболее часто в реализации логических элементов используются комбинированные логические элементы, выполняющие две функции.
Для реализации сколь угодно сложных функций удобно использовать элементы, обладающие логической полнотой (способность функции выражать все логические функции). Это функции "И-НЕ" и "ИЛИ-НЕ".
· Схема И-НЕ(Рис. 2.7.) (операция Шеффера).
Схема И-НЕсостоит из элементовИ и НЕ. Она осуществляет отрицание результата схемы И. Связь между выходом Y и входами X1 и X2 схемы записывают следующим образом: Y =( X1 & X2) или Y = ( X1 & X2).
В табл.2.6 показана таблица истинности для логической функции "И-НЕ".
Таблица 2.6. Таблица истинности для логической функции "И-НЕ".
X1 | X2 | Y = X1 & X2 | Y =( X1 & X2) |
· Схема ИЛИ-НЕ(Рис. 2.8.) (Стрелка Пирса).
Схема ИЛИ-НЕсостоит из элементовИЛИ и НЕ. Она осуществляет отрицание результата схемы ИЛИ. Связь между выходом Y и входами X1 и X2 схемы записывают следующим образом: Y =( X1|X2) или Y = ( X1|X2).
В табл.2.7 показана таблица истинности для логической функции "ИЛИ-НЕ".
Таблица 2.7. Таблица истинности для логической функции "ИЛИ-НЕ".
X1 | X2 | Y = X1 | X2 | Y =( X1|X2) |
Из логических элементов путем их комбинации стоятся основные схемы компьютера:
Триггер - электронный прибор, имеющий два устойчивых состояния (0 и 1), является типичным запоминающим элементом.
Регистр- совокупность триггеров, предназначенных для хранения числа в двоичном коде.
Сумматор - устройство, обеспечивающее суммирование двоичных чисел с учетом переноса из предыдущего разряда.
Эти схемы входят в состав разнообразных цифровых устройств.