Логические уровни и вентили
Урок переводит электронику в мир нулей и единиц и вводит базовые логические вентили.
Логический вентиль — электронная схема, реализующая булеву функцию над сигналами, представленными уровнями напряжения 0 и 1.
Вся цифровая техника — процессоры, память, контроллеры — построена из вентилей. Понять их таблицы истинности — значит понять язык, на котором «думает» железо.
Логические уровни
В цифровой схеме напряжение трактуется как один из двух уровней: низкий ($\approx 0\,\text{В}$) — логический 0, высокий ($\approx 3{,}3$ или $5\,\text{В}$) — логическая 1. Между ними есть «запрещённая зона», чтобы помехи не превращали 0 в 1. Такая бинарность делает цифровые схемы устойчивыми к шуму.
Базовые вентили
Основные вентили и их функции: AND (И) даёт 1 только если оба входа 1; OR (ИЛИ) — 1 если хотя бы один вход 1; NOT (НЕ) инвертирует вход; NAND (И-НЕ) и NOR (ИЛИ-НЕ) — их отрицания; XOR (исключающее ИЛИ) — 1 если входы различны.
Таблицы истинности в Python
def AND(a, b): return a & b
def OR(a, b): return a | b
def XOR(a, b): return a ^ b
def NOT(a): return 1 - a
def NAND(a, b): return NOT(AND(a, b))
print(" a b | AND OR XOR NAND")
for a in (0, 1):
for b in (0, 1):
print(f" {a} {b} | {AND(a,b)} {OR(a,b)} {XOR(a,b)} {NAND(a,b)}")Вывод:
a b | AND OR XOR NAND 0 0 | 0 0 0 1 0 1 | 0 1 1 1 1 0 | 0 1 1 1 1 1 | 1 1 0 0
Как работает под капотом
Каждый вентиль внутри — это несколько транзисторов-ключей. Например, в технологии CMOS вентиль NOT (инвертор) собран из двух транзисторов: когда вход 0, верхний открыт и подтягивает выход к питанию (1), когда вход 1, нижний открыт и сажает выход на землю (0). Удивительный факт: вентиль NAND (или NOR) является универсальным — из одних только NAND можно собрать любую логическую функцию, включая AND, OR, NOT и даже целый процессор. Это сильно упрощает производство микросхем: достаточно отладить один тип вентиля. Комбинируя вентили, строят сумматоры, мультиплексоры, триггеры (память) и в итоге арифметико-логические устройства процессоров.
Частые ошибки
- Путают
ORиXOR:ORдаёт 1 при 1+1, аXOR— 0. - Считают, что между 0 и 1 нет «запрещённой зоны». Она нужна для помехоустойчивости.
- Забывают, что
NANDуниверсален и через него выражается вся логика.
Итог
- Цифровой сигнал — это 0 или 1 (низкий/высокий уровень).
- Базовые вентили: AND, OR, NOT, NAND, NOR, XOR.
- NAND и NOR — универсальные вентили.
- Из вентилей строят всю цифровую технику.