
Евгений Ерохин
Лаборатория Касперского
Современные процессоры — крайне сложные устройства, заточенные на получение максимальной производительности из того кода, который мы запускаем на них. В первой части доклада мы рассмотрели понятия Out of Order (OoO), Super Scalar и базовые принципы и алгоритмы подсистемы процессора Branch predictor. Разобрались, почему branch prediction — это основа спекулятивного выполнения и один из самых важных компонентов производительности.
Во второй части мы дополним наши знания о branch prediction продвинутыми алгоритмами предсказаний. И конечно, state-of-the-art-алгоритмами. Знание это программисту, конечно, не требуется в повседневной практике. Но нужно понимать, до какой степени процессор способен предсказывать поведение вашей программы. То, как он это делает, может помочь соптимизировать код в критических местах.
Мы рассмотрим:

Лаборатория Касперского