18+
реклама
18+
Бургер менюБургер меню

Сари Лада – От транзистора до робота (страница 2)

18

Вентиль И: выдаёт сигнал «1» только тогда, когда оба входных сигнала равны «1». То есть: «и то, и другое должно быть включено». Как розетка с двумя выключателями — свет горит, только если оба нажаты.

Вентиль ИЛИ: выдаёт «1», если хотя бы один из входов равен «1». Как дверь, которую можно открыть с любой из двух сторон.

Вентиль НЕ: просто инвертирует сигнал. Было «1» — стало «0», и наоборот.

Из этих трёх типов вентилей можно построить любую логическую схему. Буквально любую. Сложение, вычитание, сравнение, выбор — всё это комбинации И, ИЛИ, НЕ.

Рис. 1.3. Полусумматор: вентили XOR и AND складывают два бита.

Например, сумматор — схема, складывающая два однобитных числа, — требует нескольких вентилей (бит суммы, бит переноса). Сумматор для многозначных чисел — больше. Арифметико-логическое устройство (АЛУ) — сердце процессора, которое выполняет математические операции, — это уже тысячи вентилей, то есть десятки тысяч транзисторов. И так далее, слой за слоем.

Компьютер — это иерархия абстракций. На самом нижнем уровне — физика: электроны, кремний, квантовые эффекты. Чуть выше — транзисторы. Ещё выше — логические вентили. Потом — схемы (сумматоры, регистры, счётчики). Потом — процессор. Потом — машинный код. Потом — операционная система. Потом — приложения. Потом — то, что видишь ты на экране.

Каждый слой скрывает от тебя детали нижнего и предоставляет удобный интерфейс для верхнего. Это принцип абстракции, и он — один из главных секретов того, как люди вообще справляются со сложностью. Никто в мире не держит в голове все слои одновременно. Инженер, разрабатывающий чип, не думает о том, как будет выглядеть пользовательский интерфейс приложения. Разработчик приложения не думает о том, как именно транзисторы хранят биты. Каждый работает на своём уровне.

Закон Мура умирает — и что будет дальше

Мы упоминали закон Мура: каждые два года количество транзисторов на чипе удваивается. Это правило работало с поразительной точностью почти полвека. Именно оно обеспечило тот экспоненциальный рост вычислительной мощи, который привёл нас из эпохи комнатных монстров вроде ENIAC в эпоху смартфонов мощнее суперкомпьютеров прошлого.

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

Индустрия отвечает на это несколькими способами. Первый — усложнение структуры чипа: вместо того чтобы делать транзисторы ещё меньше, их стали складывать в трёхмерные структуры. Так появились трёхмерные NAND-флеш-память и сложные многоуровневые чипы.

Второй способ — специализация. Вместо одного универсального процессора — несколько специализированных. GPU (графический процессор) считает задачи параллельно, что идеально для графики и нейросетей. NPU (нейронный процессор) оптимизирован специально для операций машинного обучения. TPU (тензорный процессор) разработан Google специально для своих нейросетей. Каждый делает своё дело лучше, чем универсальный.

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

Так что закон Мура, может быть, и умирает в своей классической форме. Но инженерная изобретательность — нет. Просто теперь рост идёт не по одной оси (уменьшение транзистора), а сразу по нескольким.

Почему это всё важно для нас

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

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

Ещё одна причина — разговор о будущем. В следующих главах мы дойдём до роботов, до искусственного интеллекта, до вопросов о том, что произойдёт с нашей работой и нашим бытом в ближайшие десятилетия. Эти разговоры намного интереснее, когда ты понимаешь, из чего сделаны эти системы. Из кремния, из единиц и нулей, из логики И/ИЛИ/НЕ.

Итог: от переключателя к миру

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

Транзисторы объединяются в логические вентили (И, ИЛИ, НЕ), те — в схемы, те — в процессоры. Информация кодируется как последовательности битов: тексты, изображения, звук, видео — всё это просто числа, записанные в двоичной системе.

Закон Мура обеспечивал удвоение мощности чипов каждые два года на протяжении полувека. Сейчас классическая миниатюризация замедляется, и индустрия ищет новые пути: трёхмерные структуры, специализированные процессоры, квантовые вычисления.

Ты когда-нибудь замечала, как ноутбук начинает греться, когда открываешь слишком много вкладок? Или как телефон чуть тормозит в момент, когда одновременно снимает видео, загружает файл и проигрывает музыку? Это процессор работает на пределе своих возможностей.

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

Процессор. Центральный процессор. CPU — Central Processing Unit. Это сердце любого вычислительного устройства: компьютера, телефона, умной колонки, банкомата, навигатора в машине. Там, где есть вычисления — есть процессор.

Что делает процессор — в одном предложении

Процессор выполняет инструкции. Одну за другой, невероятно быстро.

Это звучит скромно. На самом деле это — всё. Буквально всё, что происходит в компьютере, сводится к тому, что процессор получает инструкцию, выполняет её и переходит к следующей. Показать пиксель на экране — инструкция. Сложить два числа — инструкция. Открыть файл — тысячи инструкций, следующих одна за другой.

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

Инструкции бывают очень простыми. «Возьми число из ячейки памяти номер 1042». «Прибавь к нему число из ячейки 1043». «Запиши результат в ячейку 1044». «Если результат больше нуля, перейди к инструкции номер 278». Всё. Из таких крошечных шагов складываются операционные системы, игры, нейросети.

Это немного похоже на рецепт. Или на нотный лист. Ноты сами по себе — просто символы на бумаге. Но когда музыкант читает и играет их одну за другой — рождается симфония.

Внутри процессора: анатомия

Процессор — это не однородная пластина кремния. Внутри него несколько чётко разграниченных зон, каждая со своей задачей. Давай пройдёмся по главным.

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

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

Устройство управления — это «дирижёр» внутри дирижёра. Оно читает инструкции из памяти, декодирует их (то есть понимает, что именно нужно сделать) и отдаёт команды АЛУ и другим блокам. Оно не считает само — оно организует счёт.

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

Блок предсказания переходов — один из самых элегантных механизмов. Программы полны условий: «если X, делай A, иначе делай B». Пока процессор выполняет проверку X, блок предсказания угадывает, какая ветка скорее всего понадобится, и заблаговременно начинает её подготавливать. Если угадал — выигрыш в скорости. Если нет — откатывается и начинает правильную ветку. Современные предсказатели угадывают верно в 95–99% случаев.