[Перевод] Ошибочно предсказанное ветвление может в разы увеличить время выполнения программы

Джерело:
Хабрахабр / Захабренные / Тематические / Посты

Дата публікації:
23/10/2019 07:30

Постійна адреса новини:
http://www.vsinovyny.com/6329068

[Перевод] Ошибочно предсказанное ветвление может в разы увеличить время выполнения программы

 

23/10/2019 07:30 // Хабрахабр / Захабренные / Тематические / Посты

image

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

В то же время, код часто содержит ветвления (операторы if–then). Такие ветвления часто реализуются как «переходы», при которых процессор или переходит к выполнению инструкции ниже по коду, или продолжает текущий путь.

При суперскалярном выполнении команд вне порядка с ветвлениями справляться сложно. Для этого у процессоров имеются изощрённые блоки предсказания ветвления. То есть процессор пытается предсказать будущее. Когда он видит ветвление, а значит, переход, то пытается догадаться, каким путём пойдёт программа.
Читать дальше →

 

» Читати повністю

 

« Наступна новина з архіву
Eerste laptop met 10e generatie Intel Core i5 leverbaar
  Попередня новина з архіву
Ask HN: What are your predictions for the next 50 years?
»

 

 
© 2025 www.vsinovyny.com