Pull to refresh
0

User

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

Information

Rating
Does not participate
Registered
Activity