ИЛИ (OR)
Входы (Inputs)
| Пин | Тип | Описание |
|---|---|---|
| A | bit | Первый входной сигнал |
| B | bit | Второй входной сигнал |
Выходы (Outputs)
| Пин | Тип | Описание |
|---|---|---|
| Q | bit | 1 если 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 из уже знакомых элементов.
Таблица истинности и примеры
| A | B | Q |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
Пример объединения тревог: лампа «Внимание» горит, если перегрет процессор (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: единица проходит через любой из входов, ноль — тоже. С продублированным сигналом вентиль становится прозрачным повторителем.