ГоловнаСтаттіЕлектроніка

Логічні Шарніри та Булева Алгебра: Від Транзисторів до ЦП

Кожне обчислення, яке виконує комп'ютер, зводиться до однієї речі: маніпулювання бітами за допомогою AND, OR, NOT і XOR. Ось як вісім простих штурнів стають ЦП.

mysimulator teamОновлено — червень 2026≈ 8 хв читання▶ Відкрити симуляцію

Логічні Шарніри та Булева Алгебра: Від Транзисторів до ЦП

Транзистор - це напівзмінник, що керується напругою: увімкнено (≈3.3 В) або вимкнено (≈0 В). Це природно відображається в 1 та 0. Бінарність також є найбільш стійкою до шуму — проєктування з десяти стабільних рівнів напруги вимагало б значно більшої точності, ніж два. Логічний Шарнір приймає один або два бінарних вхідних значення і видає одне бінарне вихідне значення відповідно до таблиці істинності. AND (A·B) дорівнює 1 тільки якщо обидва входи рівні 1, як дві перемикачі послідовно. OR (A+B) дорівнює 1, якщо хоча б один вхід дорівнює 1, як перемикачі паралельно. NOT (Ā) просто інвертує біт. XOR (A⊕B) дорівнює 1, коли входи відрізняються - шарнір, який робить додавання та виявлення помилок можливими.

NAND, NOR та закони Де Моргана

Додавання етапу NOT до AND або OR дає NAND і NOR. Закони Августа Де Моргана пов'язують їх: NOT(A·B) = Ā+B̄, і NOT(A+B) = Ā·B̄ — заперечення AND є тим самим, що й OR перевірених на негатив інпутів, і навпаки. Через цю подвійність NAND само по собі (або NOR само по собі) функціонально повний: кожна булева функція, включаючи XOR, може бути побудована лише з NAND-гейтів. У кремнії CMOS 2-вхідний NAND потребує лише 4 транзисторів порівняно з 6 для AND, тому справжні мікросхеми синтезуються майже повністю на основі логіки NAND.

Побудова додателя

Половина додавача додає два біти: Сума = A⊕B, Перенос = A·B — але він не приймає перенос. Повний додавач приймає три вхідні дані (A, B, Cᵢₙ) і будується з двох половинок додавачів плюс OR-шлюз, що дає Суму та Вихідний перенос. З’єднайте 64 повних додавача у ланцюг з перенесенням, і ви зможете додати два 64-бітові цілі числа — хоча сума 63-го біта не вирішується доки перенос не протікає через усі попередні 63 етапи. Реальні ЦП використовують додавіть з провідним перенесенням, які обчислюють кожен перенос паралельно, завершуючи додавання 64-бітових чисел приблизно за 5 затримок воріт замість 64.

Half adder:  Sum = A ⊕ B          Carry = A · B
Full adder:  Sum = (A⊕B) ⊕ Cin    Cout = A·B + Cin·(A⊕B)
NAND is universal:
  NOT A   = NAND(A, A)
  A AND B = NAND(NAND(A,B), NAND(A,B))
  A OR B  = NAND(NAND(A,A), NAND(B,B))

Логічний модуль та ключі в кремнії

Арифметико-логічний модуль (ALU) приймає два операнди та вибірник операції, потім маршрутизує їх через мережу правильних ключів для додавання, бітової логіки, зсувів і порівнянь – вибірник керує мультиплексором, який каналізує операнди до відповідного блоку. Фізично кожен ключ є комплементарною парою мереж PMOS та NMOS. Apple M4 чіп (2024) вміщує приблизно 28 мільярдів транзисторів у процесі 3 нм – кожен з них дотримується тих самих таблиць істинності на цій сторінці. Клод Шеннон довів у своїй дисертації-магістерській 1937 року, у віці 21 року, що будь-яку булеву функцію можна побудувати з перемикаючих схем; 87 років інженерії пізніше ця алгебра не змінилася жодним аксиомом.

Часті запитання

Чому NAND називають універсальним гейтом?

NAND (і NOR) функціонально повні: будь-яку булеву функцію – НЕ, І, АБО, XOR – можна побудувати лише з гейтів NAND. У CMOS NAND також є найдешевший гейт для виготовлення (4 транзистори проти 6 для AND), тому справжні мікросхеми майже повністю синтезуються на основі логіки NAND.

Яка різниця між півсуматором і повним суматором?

Півсуматор приймає два біти A та B і видає Суму = A XOR B та Перенос = A AND B, але не може приймати вхідний перенос. Повний суматор приймає три входи (A, B та Вхідний перенос) і будується з двох півсуматорів плюс гейт АБО, тому його можна ланцюжити: 64 повних суматори в ланцюзі «ripple-carry» додають два 64-бітні цілі числа.

Що саме кажуть закони Де Моргана?

NOT(A AND B) дорівнює (NOT A) АБО (NOT B), і NOT(A OR B) дорівнює (NOT A) І (NOT B). Простими словами, відкидання AND еквівалентне OR-інгу відкинутих входів, а відкидання OR еквівалентне AND-інгу відкинутих входів – це причина, чому гейти NAND/NOR самостійно достатні для побудови будь-якого ланцюга.

Спробуйте наживо

Усе, що вище, працює прямо у вашому браузері — відкрийте the simulation і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.

▶ Відкрити симуляцію the simulation

Що ви знайшли?

Додати кроки відтворення (опційно)