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

Подробнее о конференции C++ Russia:
— — Скачать презентацию с сайта C++ Russia —
Современные процессоры являются крайне сложными устройствами, заточенными на получение максимальной производительности из того кода, который мы запускаем на них. Понятия Out of Order (OoO), Super Scalar на слуху, и многие знают про Branch predictor, но мало кто представляет, как он устроен. А между тем, Branch prediction — это основа спекулятивного выполнения, которая является одним из самых важных компонентов производительности. Конечно, это знание не требуется программисту в повседневной практике. Но понимание, до какой степени процессор способен предсказывать поведение вашей программы и как он это делает, может помочь оптимизировать код в критических местах. В докладе рассматриваем: — Общее устройство процессора. — Как работает OoO и где в нем место для Branch predictor. — Как работает спекулятивное исполнение. — Базовые алгоритмы предсказаний ветвлений. — Некоторые продвинутые методы предсказания ветвлений. — Как это влияет на исполение нашего кода.

Смотрите также