Обновить
0

Пользователь

Отправить сообщение
Предсказатель переходов увеличивает производительность. Производители процессоров поняли это и столкнулись с тем, какое поведение выбрать при статическом предсказании. Каждый выбрал своё. Затем новые процессорные архитектуры стали требовать определенное поведение. И теперь целые числа кодируют лишь дополнительным кодом, теперь лишь 'backward branches are taken'.
Если предсказатель переходов встретит ветку впервые, то он использует статическое предсказание: backward branches are taken. Другими словами, предсказатель переходов недолюбливает условный переход вперед на старшие адреса, в итоге это медленно. Компилятор знает это и организует циклы таким образом, чтобы тело цикла было likely быстрым, а выход из цикла — unlikely медленным.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность