edubun
Русский

Логические вентили

Первый микропроцессор Intel, 4004 1971 года, содержал 2300 транзисторов. Они были соединены в вентили, а из вентилей и состоит весь процессор.

КонтекстВ 1854 году математик Джордж Буль опубликовал «Исследование законов мышления» (An Investigation of the Laws of Thought), алгебру, в которой утверждения либо истинны, либо ложны и соединяются связками «и», «или» и «не». Десятилетиями это была тема для логиков. В 1938 году Клод Шеннон, тогда студент MIT, опубликовал статью на основе своей магистерской диссертации и показал, что цепи из реле и переключателей подчиняются именно этой алгебре: последовательно включённые переключатели работают как AND, параллельные как OR. Теперь конструкторы могли рассчитать схему на бумаге и упростить её ещё до сборки. В декабре 1947 года Джон Бардин и Уолтер Браттейн в Bell Labs создали первый точечный транзистор, маленький электронный переключатель, который позже заменил в компьютерах реле и электронные лампы.

Две схемы Шеннона на столе

Две схемы Шеннона можно собрать из батарейки, лампочки и двух переключателей. Поставь переключатели друг за другом, и лампочка загорится, только если замкнуты и первый, и второй. Поставь их рядом, параллельно, и лампочка загорится, если замкнут хотя бы один. Эти схемы уже принимают решения. Логический вентиль является маленькой схемой того же рода, собранной из транзисторов вместо ручных переключателей. Он берёт один или два входных бита и по постоянному правилу выдаёт один выходной бит.

Шесть вентилей и таблицы, которые их задают

AND даёт 1, только когда оба входа равны 1, как переключатели друг за другом. OR даёт 1, когда хотя бы один вход равен 1, как переключатели рядом. У NOT один вход, и он его переворачивает: 0 становится 1, а 1 становится 0. XOR, сокращение от «исключающее или», даёт 1, когда два входа различаются. NAND и NOR являются AND и OR с NOT на конце, поэтому их выходы ровно противоположны. Таблица истинности перечисляет все сочетания входов и выход для каждого. Два входа дают четыре строки, три дают восемь, а n входов дают 2 в степени n.

Загрузка

Перетащи, чтобы повернуть. Колёсико или щипок для масштаба.

Нажимай на A или B (или на кнопки) и следи за лампочкой выхода и выделенной строкой таблицы истинности. Выбери в меню другой вентиль. Последний вариант, «Полусумматор», соединяет XOR и AND; в следующем уроке он нужен для сложения.
ABANDORXORNANDNOR
0000011
0101110
1001110
1111000

Сигнализация, проверка равенства и проверка пароля

Вентили складываются в правила любого размера. Возьмём охранную сигнализацию. Она должна звенеть, когда система включена AND (открыта дверь OR открыто окно). Это один вентиль OR, который подаёт сигнал на один вентиль AND. Чтобы проверить, равны ли два бита, поставь NOT после XOR, потому что XOR даёт 1 ровно тогда, когда биты различаются. Поставь восемь таких схем рядом, соедини их выходы через AND, и схема скажет, совпадают ли два целых байта. Каждое сравнение в программе, от «правильный ли пароль» до «дошёл ли таймер до нуля», в итоге становится такой схемой.

Почему производителям микросхем хватает одного NAND

У NAND есть удобное свойство: любой другой вентиль можно собрать из одних вентилей NAND. Соедини оба входа NAND вместе, и он станет NOT, потому что NAND от 1 и 1 равен 0, а NAND от 0 и 0 равен 1. Поставь этот NOT после ещё одного NAND, и снова получится AND. Ещё несколько дают OR и XOR. Производителям микросхем это нравится, потому что можно размещать огромное количество одной хорошо проверенной формы. В настоящей микросхеме вентиль состоит из нескольких транзисторов. У 4004 их было 2300, а для своего процессора Core второго поколения 2010 года Intel указывает 1.16 миллиарда. Это примерно в 500 000 раз больше за 39 лет.

Частые ошибки
  • «OR означает одно или другое, но не оба». Бытовое «или» часто так и работает: «чай или кофе?» обычно значит «выбери одно». В логике такое правило называется XOR. OR даёт 1 и тогда, когда оба входа равны 1.
  • «В таблице истинности для 3 входов 6 строк». 3 × 2 является неверным подсчётом. Каждый новый вход удваивает число строк, потому что каждая прежняя строка появляется один раз с новым входом 0 и один раз с 1. 2³ = 8. Для четырёх входов нужно уже 16.
  • «NAND и NOR являются новыми видами переключателей». NAND является AND с NOT на конце, а NOR является OR с NOT на конце. Внутри ничего нового не происходит. NAND особенный тем, что одного его достаточно, чтобы собрать любой другой вентиль.
Заметка для учителяСначала прочитайте историю, потом соберите две схемы с переключателями, хотя бы на рисунке, и только потом показывай обозначения вентилей. Ученики, которые видели последовательное и параллельное соединение, принимают AND и OR как должное. Проблемы создаёт пара OR и XOR, потому что бытовое «или» обычно означает XOR. Спроси «чай или кофе?», а потом «а если я скажу: и то и другое?». При записи таблиц истинности требуй порядок строк 00, 01, 10, 11; это счёт в двоичной системе из прошлого урока, и он не даёт строкам потеряться. Собрать NOT из одного NAND является хорошей пятиминутной задачей в конце.
  1. Что даёт AND при входах 1 и 0?
  2. Что даёт OR при входах 1 и 0?
  3. Что даёт XOR при входах 1 и 1?
  4. Что даёт NAND при входах 1 и 1?
  5. Что даёт NOR при входах 0 и 0?
  6. Сколько строк в таблице истинности вентиля с 3 входами?
  7. Какому вентилю соответствуют два переключателя, включённые с лампочкой друг за другом?
    • AND
    • OR
    • XOR
    • NOT
  8. Ты соединил оба входа вентиля NAND вместе. Какой вентиль получился?
    • NOT
    • AND
    • OR
    • XOR
  9. Сколько транзисторов было в Intel 4004 1971 года?
  10. Что показала статья Шеннона 1938 года?
    • Переключательные схемы подчиняются алгебре истины и лжи Буля
    • Транзисторы быстрее реле
    • Двоичные числа изобрели в 1938 году
    • Компьютерам нужны десятичные цифры
Главное
  • Вентиль превращает входные биты в выходной бит по постоянному правилу.
  • AND: оба 1. OR: хотя бы одна 1. NOT: переворот. XOR: входы различаются.
  • NAND и NOR представляют собой AND и OR с перевёрнутым выходом; из одних NAND можно собрать любой вентиль.
  • В таблице истинности с n входами 2ⁿ строк.
Источники курса (9)
  • (checked 2026-10-17; reordered 2026-10-19: standards first, then official documentation, then the teaching model and calculations, history sources last)
  • Standards: NIST, "Prefixes for binary multiples" (physics.nist.gov/cuu/Units/binary.html: IEC approved kibi, mebi, gibi in December 1998; 1 B = 8 bit; 1 MiB = 1 048 576 B; 1 MB = 1 000 000 B; 1 GiB = 1 073 741 824 B; historical note: memory makers usually mean 2²⁰ bytes by megabyte, storage makers 1 000 000, and the "1.44 MB" diskette uses a megabyte of 1 024 000 bytes)
  • IETF RFC 20 "ASCII format for Network Interchange" (1969, 7-bit codes, A = 65, a = 97, 0 = 48)
  • IETF RFC 3629 "UTF-8, a transformation format of ISO 10646" (2003: 1 to 4 octets per character, ASCII unchanged, code points up to U+10FFFF, U+0800 to U+FFFF take three octets, "the first octet of a multi-octet sequence indicates the number of octets", example U+D55C U+AD6D U+C5B4 = ED 95 9C EA B5 AD EC 96 B4)
  • Official documentation: MDN Web Docs, "<color>" (hexadecimal colour notation #RRGGBB)
  • Intel, "Intel Chips" timeline poster (2012: Intel 4004 of 1971 with 2,300 transistors; 2nd generation Core 2010 with 1.16 billion)
  • Claude E. Shannon, "A Symbolic Analysis of Relay and Switching Circuits", Transactions of the AIEE vol. 57 (1938)
  • abstract of his MIT master's thesis. Computer History Museum, The Silicon Engine, "1947: Invention of the Point-Contact Transistor" (Bardeen and Brattain, December 1947, germanium)
  • John von Neumann, "First Draft of a Report on the EDVAC" (30 June 1945, Moore School, reprinted in IEEE Annals of the History of Computing 15:4, 1993).

Проверено: 2026-10-17