Из чего на самом деле сделан компьютер

Урок показывает нижний этаж башни: как транзистор-переключатель превращается в логику, оперирующую нулями и единицами.

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

Почему именно два состояния

Компьютер мог бы хранить десятичные цифры (десять уровней напряжения), но это ненадёжно: помехи легко спутают «3 вольта» с «3,2 вольта». Куда устойчивее различать всего два состояния: «есть напряжение» и «нет напряжения», то есть 1 и 0. Эта надёжность — главная причина, по которой вся цифровая техника двоичная. Транзистор идеально подходит: он либо проводит ток (включён), либо нет (выключен).

Современный транзистор (MOSFET) имеет три вывода: исток, сток и затвор. Напряжение на затворе решает, потечёт ли ток между истоком и стоком. По сути это кран, которым управляет не рука, а электрический сигнал. Именно «электричество управляет электричеством» позволяет строить из транзисторов схемы, вычисляющие функции.

Как из ключа получается вентиль NOT

Простейшая логика — инвертор (NOT): на входе 1, на выходе 0, и наоборот. Схема из CMOS использует пару транзисторов так, что выход всегда соединён либо с «1» (питание), либо с «0» (земля), но не с обоими. Идея на ASCII:

        +V (логическая 1)
         │
       [p-транзистор]   <- открыт, когда вход = 0
         │
вход ────┼──────── выход
         │
       [n-транзистор]   <- открыт, когда вход = 1
         │
        GND (логический 0)

вход=0 -> верхний открыт -> выход подключён к +V -> выход=1
вход=1 -> нижний открыт -> выход подключён к GND -> выход=0

Два транзистора — и мы получили операцию NOT. Из похожих комбинаций (несколько транзисторов последовательно или параллельно) собираются вентили AND, OR, и особенно удобные NAND/NOR. Всю арифметику и логику процессора можно построить из одних только NAND — это свойство называется функциональной полнотой.

Как работает под капотом: масштаб

Цифры впечатляют. Современный процессор содержит десятки миллиардов транзисторов, каждый размером в единицы нанометров. Если бы транзистор был размером с песчинку, процессор занял бы футбольное поле. Закон Мура десятилетиями обещал удвоение числа транзисторов каждые ~2 года — отсюда взрывной рост вычислительной мощности.

Смоделируем работу CMOS-инвертора как чистую логику, чтобы увидеть таблицу истинности «снизу»:

def cmos_inverter(vin):
    # vin: 0 или 1. Возвращаем выход инвертора.
    p_open = (vin == 0)   # p-транзистор открыт при низком входе
    n_open = (vin == 1)   # n-транзистор открыт при высоком входе
    if p_open and not n_open:
        return 1          # выход подтянут к +V
    if n_open and not p_open:
        return 0          # выход подтянут к GND
    return None           # короткое замыкание (так не бывает в CMOS)

print("вход | выход")
for vin in (0, 1):
    print(f"  {vin}  |   {cmos_inverter(vin)}")

Вывод:

вход | выход
  0  |   1
  1  |   0

Историческая справка: от ламп до кремния

Транзистор — не первый переключатель в истории вычислений. До него роль ключа играли электромеханические реле (щёлкающие контакты) и электронные лампы (вакуумные триоды). Машина ENIAC (1945) содержала около 18 000 ламп, занимала зал, потребляла киловатты и регулярно ломалась: лампа перегорала в среднем каждые пару дней. Транзистор, изобретённый в Bell Labs в 1947 году Бардином, Браттейном и Шокли, делал ровно то же — управлял током малым сигналом, — но был крошечным, холодным, надёжным и не имел нити накала, которая перегорает. Это изобретение получило Нобелевскую премию и буквально создало современную электронику.

Понимать эту родословную полезно, потому что логика осталась той же: и реле, и лампа, и транзистор — это управляемый ключ с двумя устойчивыми состояниями. Менялась лишь физика и масштаб. Когда вы рисуете схему инвертора на двух транзисторах, вы повторяете идею, которой больше семидесяти лет, — просто теперь таких ключей на чипе десятки миллиардов вместо тысяч ламп в зале.

Зачем нужна CMOS и почему она почти не греется в покое

Технология CMOS, использованная в уроке для инвертора, победила конкурентов по одной ключевой причине — экономии энергии. В установившемся состоянии (когда вход стабильно 0 или стабильно 1) ровно один из двух транзисторов закрыт, поэтому сквозного тока от питания к земле почти нет. Энергия тратится в основном в момент переключения, когда заряжаются и разряжаются крошечные ёмкости. Отсюда фундаментальный вывод: потребление процессора растёт с тактовой частотой — чем чаще переключаются транзисторы, тем больше тепла. Именно этот предел в середине 2000-х остановил гонку гигагерц и заставил индустрию перейти к многоядерности.

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

Аналогия: водопроводный кран и предел миниатюризации

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

Но у миниатюризации есть физический потолок, и он близок. Когда канал транзистора сжимается до единиц нанометров — это уже считанные десятки атомов кремния, — начинают мешать квантовые эффекты: электроны «туннелируют» сквозь закрытый ключ, и кран перестаёт надёжно держать. Именно поэтому закон Мура в его исходном виде замедлился, а инженеры перешли к трёхмерным транзисторам (FinFET, GAA) и наращиванию числа ядер вместо простого уменьшения. Знание физики ключа объясняет, почему «просто сделать ещё меньше» больше не работает само собой.

Частые ошибки

  • Думать, что 0 и 1 — это «настоящие» числа в проводах. На самом деле это диапазоны напряжения: например, 0–0,4 В считается нулём, а 0,8–1,2 В — единицей.
  • Считать, что один транзистор = один бит. Один бит памяти (SRAM) — это обычно 6 транзисторов; логический вентиль — 2–6 транзисторов.
  • Игнорировать, что переключение требует энергии. Каждое переключение транзистора рассеивает тепло — отсюда нагрев и пределы тактовой частоты.

Итог

  • Транзистор — электрически управляемый ключ; два устойчивых состояния дают двоичную логику.
  • Пара транзисторов образует инвертор NOT; из вентилей строится вся логика процессора.
  • NAND функционально полон: из него одного можно собрать любую цифровую схему.
Проверьте себя
1. Почему цифровая техника использует именно два состояния, а не десять?
AДва состояния (есть/нет напряжения) гораздо устойчивее к помехам
BПотому что у транзистора два вывода
CПотому что так требует двоичная математика
DДесять состояний невозможно реализовать физически
2. Сколько транзисторов минимально нужно для вентиля NOT в CMOS?
A1
B2
C6
D8
3. Что означает функциональная полнота вентиля NAND?
ANAND работает быстрее других вентилей
BИз одних только NAND можно собрать любую логическую функцию
CNAND потребляет меньше энергии
DNAND не нуждается в транзисторах