ИЛИ (OR)

Входы (Inputs)

ПинТипОписание
AbitПервый входной сигнал
BbitВторой входной сигнал

Выходы (Outputs)

ПинТипОписание
Qbit1 если A=1 или B=1

Логика работы

Вентиль ИЛИ — это «хотя бы один». Сигнализация сработает, если открыта дверь ИЛИ окно — неважно, что именно из этого. В схеме это два выключателя, подключённых параллельно: ток дойдёт до лампочки, если замкнут хотя бы один из них.

Главное свойство OR: выход равен 1, если хотя бы один вход равен 1, и только комбинация 0 и 0 даёт 0. Его называют логическим сложением, но с оговоркой: 1+1 даёт не 2, а снова 1 — вентиль не умеет считать, он лишь отвечает на вопрос «есть ли хоть одна единица?». Пример: проверка «нажата ли хотя бы одна из двух кнопок».

Любопытно, что OR можно собрать вообще без вентиля ИЛИ. По законам де Моргана OR(A,B) = NOT(AND(NOT A, NOT B)): инвертируем оба входа, пропускаем через NAND — и получаем честное ИЛИ. В игре это не просто теория: именно так OR и собирается на уровне 4 из уже знакомых элементов.

Таблица истинности и примеры

ABQ
000
011
101
111

Пример объединения тревог: лампа «Внимание» горит, если перегрет процессор (A=1) ИЛИ упало напряжение (B=1). Оба сбоя сразу зажгут ту же лампу — OR не различает, сколько именно проблем, он сообщает лишь о факте хотя бы одной.

Применение

OR открывается на уровне 4 «Хотя бы один» и с тех пор встречается постоянно: в полном сумматоре он объединяет два частичных переноса, в шинах BusOR смешивает несколько источников данных, а в дешифраторах помогает собирать сложные условия из простых сигналов.

Вторая типичная роль — работа с флагами. Процессор хранит признаки результата в отдельных битах: «ноль», «перенос», «переполнение». Команда «прервать программу, если сработал флаг переполнения ИЛИ флаг деления на ноль» — это буквально один вентиль OR над двумя битами. Так из отдельных сигналов собирается единое решение.

Интерактивная демонстрация

Кликайте по входам, чтобы переключить значение (0 / 1)

Собери это сам →

Смежные компоненты

Статьи по теме

Частые вопросы

Чем OR отличается от XOR?

OR даёт 1, если хотя бы один вход равен 1 — в том числе когда оба входа единицы. XOR такой случай исключает.

Как собрать OR из NAND?

Инвертируй оба входа через NOT и подай их на NAND: по де Моргану NOT(AND(NOT A, NOT B)) — это в точности OR. Всего три вентиля.

Что будет, если подать один и тот же сигнал на оба входа?

OR(A,A) = A: единица проходит через любой из входов, ноль — тоже. С продублированным сигналом вентиль становится прозрачным повторителем.