Доклад
  • Производительность

Branch prediction, или Откуда процессор берет производительность (Часть 1)

На русском языке

Современные процессоры являются крайне сложными устройствами, заточенными на получение максимальной производительности из того кода, который мы запускаем на них. Понятия Out of Order (OoO), Super Scalar на слуху, и многие знают про Branch predictor, но мало кто представляет, как он устроен. А между тем, Branch prediction — это основа спекулятивного выполнения, которая является одним из самых важных компонентов производительности.

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

В докладе рассмотрим:

  • Общее устройство процессора. 
  • Как работает OoO и где в нем место для Branch predictor.
  • Как работает спекулятивное исполнение.
  • Базовые алгоритмы предсказаний ветвлений.
  • Некоторые продвинутые методы предсказания ветвлений.
  • Как это влияет на исполение нашего кода.

Спикеры

Приглашенные эксперты

Расписание