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

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

18

Классическая задача для GPU — отрисовка 3D-сцены. На экране миллионы пикселей. Цвет каждого пикселя нужно вычислить на основе геометрии, источников света, текстур, теней. Это независимые вычисления — каждый пиксель не зависит от соседнего. GPU запускает тысячи таких вычислений параллельно и за долю секунды рисует кадр.

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

Смартфоны и современные ноутбуки всё чаще объединяют CPU и GPU в один чип — систему на кристалле (SoC, System on Chip). Кроме того, туда добавляют специализированные блоки: нейронный процессор (NPU) для задач ИИ, видеодекодер, сигнальный процессор для камеры. Это называется гетерогенная архитектура: не один универсальный блок, а оркестр специалистов.

Как процессор «общается» с остальными частями

Процессор — главный, но не единственный. Ему нужно постоянно взаимодействовать с памятью, хранилищем, экраном, клавиатурой, сетью. Как это происходит?

Всё общение идёт через шины — наборы электрических проводников, по которым передаются данные и команды. Главная шина соединяет процессор с оперативной памятью и называется шиной памяти или системной шиной. Есть шины для периферии: PCIe (по ней подключается видеокарта и быстрые SSD), USB, SATA.

Рис. 2.4. Процессор как город: специализированные кварталы соединены шинами данных.

Но современные чипы уходят от классических шин в сторону более сложных межсоединений прямо на кристалле. В упомянутых чипах Apple M вся система — процессор, графика, память — находится на одном кристалле, и данные между ними передаются по внутренним высокоскоростным шинам. Это называется unified memory architecture, единая архитектура памяти: CPU и GPU видят одну и ту же оперативную память без необходимости копировать данные туда-обратно. Отсюда и эффективность.

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

Немного истории: как процессоры стали такими

Intel 4004, 1971 год. Первый коммерческий микропроцессор. 2300 транзисторов, тактовая частота 740 килогерц. Разработан для японского калькулятора Busicom. Производительность — примерно 60 000 операций в секунду.

Intel 8086, 1978 год. Предок всей архитектуры x86, которая до сих пор используется в большинстве персональных компьютеров. 29 000 транзисторов, 5–10 МГц.

Intel Pentium, 1993 год. 3,1 миллиона транзисторов, 60–66 МГц. Первый процессор, который появился в домах по-настоящему массово.

Intel Core 2 Duo, 2006 год. Первый массовый двухъядерный процессор для настольных ПК. Переломный момент: индустрия признала, что путь «быстрее и горячее» исчерпан, и перешла к пути «больше ядер».

Apple M1, 2020 год. 16 миллиардов транзисторов, 5-нанометровый техпроцесс, 8 ядер CPU плюс 8 ядер GPU на одном кристалле. Переломный момент другого рода: в реализации Apple — с унифицированной памятью, тесной интеграцией CPU и GPU на одном кристалле и широким конвейером — ARM-архитектура оказалась эффективнее традиционных x86-ноутбуков.

Apple M4 Max, 2025 год. Около 92 миллиардов транзисторов, 3-нанометровый техпроцесс, до 16 ядер CPU и 40 ядер GPU на одном кристалле. Производительность, которая ещё десять лет назад требовала стойки серверного оборудования.

За 54 года — от 2300 транзисторов до 200 миллиардов. Рост в 87 миллионов раз. Ни одна другая технология в истории человечества не демонстрировала ничего подобного.

Что происходит за долю секунды

Давай пройдём весь путь один раз — медленно, чтобы почувствовать масштаб.

Ты пишешь в мессенджере букву «п» и нажимаешь клавишу.

Контроллер клавиатуры фиксирует нажатие и посылает процессору прерывание. Процессор откладывает текущую задачу, переключается на обработчик прерывания клавиатуры. Обработчик определяет, какая клавиша нажата, — смотрит в таблицу кодов. Код «п» — это число 1087 в кодировке Unicode.

Процессор передаёт это число операционной системе. Та — в фокусное окно (мессенджер). Программа мессенджера принимает символ, добавляет его в строку вводимого текста, просит операционную систему перерисовать текстовое поле. Операционная система передаёт задачу системе отрисовки, которая вычисляет, какие пиксели должны измениться. GPU получает команду отрисовки — и за следующий кадр (менее 16 миллисекунд при 60 кадрах в секунду) обновляет экран.

Ты видишь букву «п» на экране.

Всё это — от нажатия до отображения — занимает единицы миллисекунд. За это время процессор выполнил миллионы инструкций.

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

Почему это важно понимать

Мы живём в мире, где вычислительная мощь стала дешёвой и повсеместной. Смартфон в твоём кармане мощнее суперкомпьютеров 1990-х годов. За этой обыденностью стоит невероятная инженерная работа. Каждое поколение процессоров — это годы исследований, миллиарды долларов инвестиций, решение задач, которые ещё недавно казались нерешаемыми.

Понимать, как работает процессор, полезно не только само по себе. Это меняет то, как ты думаешь о производительности, о том, почему одни программы работают быстро, а другие медленно, о том, почему «больше ядер» не всегда значит «быстрее» для твоей конкретной задачи.

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

Итог: дирижёр миллиардного оркестра

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

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

Конвейер позволяет обрабатывать несколько инструкций одновременно на разных стадиях. Несколько ядер позволяют выполнять несколько потоков инструкций параллельно. Тактовая частота задаёт ритм, но не является единственным показателем скорости.

CPU и GPU — два разных подхода: несколько умных и быстрых ядер против тысяч простых и параллельных. Разные задачи требуют разного.

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

Ты работаешь над презентацией. Открыто несколько вкладок с референсами, текстовый редактор, таблица с данными, мессенджер. Потом внезапно отключается свет. Компьютер гаснет.

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

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

Два типа памяти: рабочий стол и архив

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

Самая простая аналогия — рабочий стол и архив.

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

SSD (или жёсткий диск) — это архив. Шкаф с папками, где хранится всё, что ты когда-либо сохранила: файлы, фотографии, программы, операционная система. Архив медленнее стола — нужно встать, найти нужную папку, достать документ. Зато он никуда не исчезает. Ты можешь уйти на год, вернуться — а все файлы на месте.

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