Булева алгебра зародилась в XIX веке и изначально носила только теоретический характер. Практическое применение она получила в XX веке в описании функционирования и разработке различных электронных схем. Алгебра логики широко применяется при проектировании различных частей компьютеров (память, процессор). К таким устройствам относятся группы переключателей, триггеры, сумматоры.
Кроме того, связь между булевой алгеброй и компьютерами лежит и в двоичной системе счисления, примпеняемой в ЭВМ. Использование данной системы счисления позволяет хранить и преобразовывать как числа, так и значения логических переменных, которые также могут принимать только одно из значений «0» или «1». Для реализации логических процессов в ЭВМ применяют переключатели, каждый из которых может находится только в одном из двух состояний (включен – выключен). В зависимости от положения переключателей можно получить или не получить сигналы на выходах. Такие переключатели строятся на основе вентилей.
Вентиль представляет собой логический элемент, который принимает одни двоичные значения и выдает другие в зависимости от своей реализации. В качестве вентилей выступают транзисторы, которые могут в течение нескольких наносекунд изменить свое состояние с заряженного на незаряженное. В схемах ЭВМ, применяют вентили, реализующие логическое умножение (конъюнкцию), сложение (дизъюнкцию) и отрицание.
Возможности вентилей не позволяют непосредственно выполнять импликацию и эквиваленцию. Данные операции заменяются комбинациями конъюнкции – AND, дизъюнкции – OR, исключающим или – XOR и отрицанием – NOT.
Вентили, используемые в ЭВМ приведены в таблице 8.
Для лучшего представления функционирования данных устройств их представляют в виде электрических схем, состоящих из ключей замыкания (А, В) и сопротивления (х). Замыканию ключа соответствует «1». Если ключ разомкнут, то это соответствует состоянию «0». Истинностное значение всей схемы оценивается наличием тока на сопротивлении. Ток есть – 1, нет – 0. Причем надо помнить, что при параллельном соединении ток идет по пути наименьшего сопротивления, т.е. через ключ.
Таблица 8.
операция | обозна-чение | схема | таблица истинности | электрическая схема аналог | |||||||||||||||
отрицание (инверсия) | NOT НЕ |
| |||||||||||||||||
конъюнкция (умножение) | AND И |
| |||||||||||||||||
дизъюнкция (сложение) | OR ИЛИ |
| |||||||||||||||||
исключающее и | И-НЕ |
| |||||||||||||||||
ИЛИ-НЕ | ИЛИ-НЕ |
| |||||||||||||||||
исключающее или | XOR |
| – |
На основе вентилей строятся более сложные логические устройства – триггеры и сумматоры.
Сумматоры широко используются в арифметико-логических устройствах (АЛУ) процессора и выполняют суммирование двоичных разрядов.
Триггер способен хранить один двоичный разряд, за счет того, что может находиться в двух устойчивых состояниях. Приняв одно из состояний за «1», а другое за «0», можно считать, что триггер хранит (помнит) один разряд числа, записанного в двоичном коде.
По характеру действия триггеры относятся к импульсным устройствам – их активные элементы (транзисторы, лампы) работают в ключевом режиме, а смена состояний длится очень короткое время. Триггеры применяются в регистрах процессоров, счетчиках, оперативных запоминающих устройствах.
Одним из самых распространенных является RS-триггер. Он имеет два входа S и R, и два выхода Q и выход с его отрицанием .
Данный триггер сохраняет своё предыдущее состояние при нулевых значениях на входах и меняет своё выходное состояние при подаче на один из его входов единицы (см. табл. 9).
Таблица 9.
Таблица истинности RS-триггера на основе вентилей ИЛИ-НЕ
Рис. 4. схема RS-триггера |
|
Одновременная подача на входы «0» недопустима, т.к. приводит к неопределенности состояния системы. Одновременная подача «1» на оба входа не приводит к изменению системы, данное состояние считается неустойчивым и при считывании управляющего сигнала оно переходит в одно из двух устойчивых состояний ( или ). В виду того, что триггер имеет всего два, устойчивых состояния можно сделать вывод что, для запоминания байта нужно 8 триггеров. Соответственно, для запоминания килобайта, 8 х 1024 = 8192 триггеров. В современной вычислительной технике объемы памяти исчисляются мегабайтами и гигабайтами, а это значит, что они содержат миллиарды триггеров.