Центральный процессор (CPU)

Главная микросхема компьютера, которая выполняет команды программ: считает, сравнивает, управляет памятью и устройствами.

Центральный процессор (CPU, Central Processing Unit) — микросхема, которая выполняет команды программ. Все, что делает компьютер, — открытие страницы, расчет отчета, обработка запроса к базе данных — в итоге превращается в миллиарды простых команд процессора: сложить два числа, сравнить, прочитать из памяти, перейти к другой команде.

Как работает процессор

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

Главные характеристики

  • Ядра. Каждое ядро — самостоятельный исполнитель. Восемь ядер одновременно обрабатывают восемь независимых задач; подробнее — в терминах «Потоки и процессы» и «Параллелизм».
  • Аппаратные потоки. Технология одновременной многопоточности (у Intel — Hyper-Threading) позволяет одному ядру вести два потока, используя простаивающие части ядра.
  • Частота — сколько тактов в секунду, обычно 2–5 ГГц.
  • Кэш — сверхбыстрая память прямо на процессоре, уровни L1, L2, L3. Обращение к оперативной памяти в десятки раз медленнее, поэтому от размера кэша сильно зависит реальная скорость.

Архитектуры

  • x86-64 — процессоры Intel и AMD, стандарт серверов и настольных компьютеров.
  • ARM — смартфоны, ноутбуки Apple на чипах M-серии и все больше серверов; отличается энергоэффективностью.
  • RISC-V — открытая архитектура, которую может использовать любой производитель без лицензионных отчислений; применяется в микроконтроллерах и набирает популярность.
  • Российские процессоры — «Эльбрус» с собственной архитектурой и «Байкал» на архитектуре ARM; их используют в системах с требованиями к отечественной элементной базе.

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

Процессор и сервер

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