Практикум по проверке производительности CPU

Производительность CPU: частота, кэш и реальная нагрузка

Научитесь отделять частоту и кэш от измеримого результата нагрузки, учитывать Turbo, SMT и NUMA и оформлять проверяемое сравнение процессоров.

База → пресейл35 минут5 модулей7 вопросов
После курса

Что вы сможете сделать

  1. Отделять тактовую частоту от времени задачи.
  2. Проверять кэш и рабочий набор по точной модели.
  3. Фиксировать состав и условия испытания.
Модуль 1 из 5

Слой 1. ГГц — это такты, не результат

Сначала отделите частоту от инструкций и времени задачи.

  • Частота считает такты в секунду; инструкция может занимать несколько тактов, а за такт может выполняться несколько инструкций.

  • Для сравнения CPU фиксируют работу и измеряют её время, а не выбирают победителя по одному числу ГГц.

Модуль 2 из 5

Слой 2. Turbo зависит от условий

Паспортный максимум не является постоянным режимом всех ядер.

  • Turbo зависит от условий работы; частоты активных ядер могут различаться.

  • SMT добавляет аппаратные контексты, но не новые физические ядра и не гарантирует одинаковый эффект на любой задаче.

Модуль 3 из 5

Слой 3. Кэш — не один общий счётчик

Уровни и совместное использование зависят от модели CPU.

  • В описанной Intel архитектуре Sandy Bridge у ядра есть отдельные L1 для инструкций и данных, L2 и доступ к общему последнему уровню кэша.

  • Эта схема относится к Sandy Bridge. Иерархию и совместное использование кэша выбранного CPU сверяют по документации его модели.

Модуль 4 из 5

Слой 4. Рабочий набор и путь к памяти

Кэш помогает только для конкретного набора данных и доступа к нему.

  • В примере Sandy Bridge на задержку влияют очереди кэша, кольцо LLC и параметры памяти. Для выбранной системы влияние кэша проверяют измерением задачи.

  • NUMA-политика будущих выделений не переносит уже размещённые страницы автоматически.

Модуль 5 из 5

Слой 5. Измерьте полезную работу

Приёмка закрывает согласованную задачу, а не красивую характеристику.

  • Запуск кода и его время — разные результаты; доступность инструкции не доказывает выбранный программой путь.

  • Число ядер, SMT, NUMA, частота и кэш фиксируют вместе с результатом нагрузки.

Финишная прямая

Проверьте инженерное мышление

Вопросы проверяют не память на аббревиатуры, а умение не делать лишних выводов.

01CPU работает на 3 ГГц. Что уже следует из этого числа?
02В паспорте CPU указана максимальная Turbo-частота. Как её использовать в протоколе испытания?
03Нужна схема кэшей конкретного CPU. Какая запись позволяет установить уровни и их совместное использование?
04У CPU A больше кэша, чем у CPU B. Как проверить, сократит ли это время выбранной задачи?
05Нужно оценить эффект SMT для приложения. Какой план даёт сопоставимые результаты?
06Программа изменила политику будущих выделений памяти на другой NUMA-узел. Явного переноса страниц не было. Что означает это для старых страниц?
07В журнале сравнения уже есть модель CPU и время теста. Какая дополнительная запись позволит воспроизвести условия?

Следующий шаг

Сформулируйте задачу и уточните требования к своей системе.

Подготовить состав проекта

Откроется черновик вопроса. Отправьте его, когда будете готовы.

Проверяемая база

Источники курса

Ссылки приведены один раз для всего курса, чтобы не мешать чтению каждого тезиса.

  • Официальное разъяснение

    CPU Speed: What Is CPU Clock Speed?

    Intel · веб-страница, открыта 2026-09-21

    § What Is Clock Speed: частота измеряет циклы в секунду; несколько инструкций могут завершаться за цикл, а одна инструкция — занимать несколько циклов.

    Открыть первоисточник
  • Официальная документация

    Overview Information for Intel® Turbo Boost Technology

    Intel · веб-страница, открыта 2026-09-21

    FAQ: частота Turbo зависит от спроса нагрузки и рабочих условий; каждое активное ядро может иметь свою частоту.

    Открыть первоисточник
  • Официальная документация

    Intel Hyper-Threading Technology — 12th Generation Intel Core Datasheet

    Intel · Datasheet Volume 1, ID 655258, 22 декабря 2021 года

    Показывает два logical processor, отдельное architectural state и общие ресурсы одного core.

    Открыть первоисточник
  • Официальная документация

    AMD EPYC and SMT Technology Brief

    AMD · Technology Brief, апрель 2025 года

    Описывает 2-way SMT в AMD Zen cores и два hardware thread на core.

    Открыть первоисточник
  • Официальная документация

    АМД Эпик 9004 BIOS and Workload Tuning Guide

    AMD · документ AMD 58011, выпуск на портале 2025-05-09, страница открыта 7 сентября 2026 года

    Фиксирует два hardware thread при SMT и предупреждает о нейтральном или отрицательном эффекте на части workload.

    Открыть первоисточник
  • Официальная документация

    Intel® 64 and IA-32 Architectures Optimization Reference Manual

    Intel · 248966-026, апрель 2012, §2.1.5–2.1.5.1, Sandy Bridge, PDF с. 52–53

    Sandy Bridge: L1I, L1D и L2 у ядра, общий LLC; фактическая задержка зависит от занятости очередей, кольца LLC и параметров памяти. Исторический пример, не паспорт иной модели.

    Открыть первоисточник
  • Официальная документация

    Memory Access Analysis for Cache Misses and High Bandwidth Issues

    Intel · VTune Profiler User Guide 2025.1, How It Works

    Документация описывает метрики промахов LLC, обращений к локальной и удалённой DRAM, а также ограничений L1/L2/L3 и DRAM; набор метрик зависит от микроархитектуры.

    Открыть первоисточник
  • Официальная документация

    NUMA Memory Policy

    Linux kernel documentation · актуальная документация ядра, проверено 29 августа 2026 года

    Разграничивает NUMA memory policy и cpusets и описывает выбор узлов для выделения памяти.

    Открыть первоисточник
  • Официальная документация

    x86 Feature Flags

    Linux kernel documentation · актуальная документация ядра, проверено 29 августа 2026 года

    Описывает обнаружение возможностей процессора через CPUID и условия, при которых feature доступна ОС.

    Открыть первоисточник
  • Официальная документация

    x86 Topology

    Linux kernel documentation · актуальная документация ядра, проверено 29 августа 2026 года

    Определяет package, core и hardware thread в топологии Linux.

    Открыть первоисточник
Сообщить об ошибке

Опишите проблему — постараемся исправить как можно скорее.

Спасибо!

Получили ваше сообщение.
Подтвердите действие