Вентили, которые не протекают (Часть 1)
- Халиуллин Марсель
- 25 янв. 2016 г.
- 4 мин. чтения
При рассмотрении процессов, происходящих на уровне микропроцессора, можно невольно задаться вопросом — неужели компьютер настолько умный, что может автоматически выполнять различные операции над данными?

В основе работы практически любых современных вычислительных систем положена двоичная логика. Этот основополагающий принцип заложил еще в первой половине XX столетия фон Нейман, Голдстайн и Бёркс в своей статье «Предварительное рассмотрение логической конструкции электронно-вычислительного устройства». Плодом этого труда стала первая в мире машина, основанная на двоичной логике — EDVAC. Раньше вычислительные машины хранили обрабатываемые числа преимущественно в десятичном виде (например, знаменитая ENIAC — первый электронный цифровой компьютер общего назначения).
Выбор двоичной логики как столпа, на котором будет стоять работа всей машины, был сделан неспроста: данные могут быть записаны плотнее и проще, так как распространенные сегодня логические элементы могут принять лишь два состояния. Вообще, стоит сразу оговориться, что удельная натуральнологарифмическая плотность записи информации может быть описана следующей функциейПри рассмотрении процессов, происходящих на уровне микропроцессора, можно невольно задаться вопросом — неужели компьютер настолько умный, что может автоматически выполнять различные операции над данными? В основе работы практически любых современных вычислительных систем положена двоичная логика. Этот основополагающий принцип заложил еще в первой половине XX столетия фон Нейман, Голдстайн и Бёркс в своей статье «Предварительное рассмотрение логической конструкции электронно-вычислительного устройства». Плодом этого труда стала первая в мире машина, основанная на двоичной логике — EDVAC. Раньше вычислительные машины хранили обрабатываемые числа преимущественно в десятичном виде (например, знаменитая ENIAC — первый электронный цифровой компьютер общего назначения). Выбор двоичной логики как столпа, на котором будет стоять работа всей машины, был сделан неспроста: данные могут быть записаны плотнее и проще, так как распространенные сегодня логические элементы могут принять лишь два состояния.Вообще, стоит сразу оговориться, что удельная натуральнологарифмическая плотность записи информации может быть описана следующей функцией

Булева алгебра и реле
Логическая основа современных вычислительных систем — вентили, которые реализуют булеву алгебру в реальном мире.
Вскользь познакомимся с алгеброй Буля. Булева алгебра оперирует высказываниями, причем учитывается не их смысл, а истинность или ложность. Если высказывание истинно, то его приранвивают к одному, если же оно ложно, то к нулю. Любое высказывание может быть либо истинным, либо ложным, третьего не дано.
Над высказываниями можно совершать операции, например, перемножать. Делается это с помощью союза «И» и выглядит так:
A^B
Если подставить вместо букв «А» и «В» высказывания, например «5 > 2» и «10 < 12», то результатом перемножения будет «1», так как оба высказывания истинны, то есть равны одному.
1*1=1
Если сделать одно из высказываний ложным, то и результат перемножения станет нулем, так как
1*0=0
0*1=0
Если оба высказывания будут ложными, то результат будет также «ложным», то есть нулем
0*0=0
Кроме умножения в булевой алгебре также присутствует оператор сложения, который соответствует логическому "ИЛИ":
A V B
Результат будет также зависеть от истинности высказываний, только в этом случае результат будет ложным только тогда, когда оба высказывания будут ложными
1+1=1 (не забываем, этане совсем та алгебра, к которой мы привыкли)
1+0=1
0+1=1
0+0=0
Так работает элементарная булева алгебра. Попробуем теперь воплотить ее в жизнь в виде электрических схем и цепей.
Чтобы на интуитивном уровне начать понимать простейшие принципы логики вентилей, образуем простую электрическую цепь с последовательным способом подключения.

В начальном состоянии мы имеем разомкнутую цепь. Лампочка не горит, так как нет электрической цепи.

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

Ключевое слово — "И".
На самом деле эта элементарная электрическая цепь решает простую логическую задачу. Иначе говоря, лампочка отвечает на вопрос «Оба ли переключателя замкнуты?».
Составим таблицу состояний переключателей и лампочки.

Которую можно переписать так:

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

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


Или даже оба:

Событие (горение лампы) будет происходить в случае, если включен или нижний переключатель, или верхний. Как уже можно было догадаться, эта цепь реализует логическую операцию "ИЛИ".

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

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

Немного упростим схему. Заземлим наш магнит, а батарейку представим в виде буквы «V»

Теперь попробуем реализовать логический вентиль И (AND) с помощью реле.

Видно, что лампочка загорается только тогда, когда «защелкнуты» оба реле одновременно. На схемах вентиль "И" выглядит так.

Как можно было заметить, вентиль имеет два входа, на которые подается либо «0», либо «1», и один выход.
Теперь попытаемся реализовать вентиль ИЛИ (OR).

Логика вентиля ИЛИ отличается от логики вентиля И. Теперь, чтобы лампочка загорелась, нам нужно защелкнуть лишь одно реле. На схемах вентиль ИЛИ выглядит так.

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