В форуме периодически мелькает неприязнь дзенствующих к циклам и переходам - объясните популярно почему? Насколько я понимаю, переход тормозит если он сопровождается кэш-промахом, а если это короткий цикл (т.е. переход назад менее чем на кэш страницу), то промах практически исключён, или что-то не так?
Y_Mur Кэш-промахи и тем более подкачка страниц кода с диска это отдельная песня А тормоза при непредсказанных переходах возникают за счет конвеерного принципа обработки. Решение о том будет переход или нет принимается в конце конвеера после исполнения инструкции и анализа флагов, поэтому при наличии перехода нужно загрузить новый блок инструкций и дождаться пока они пройдут все стадии конвеера от декодера до исполнительного блока - чем длиннее конвеер, тем больше дырка\пузырь\штраф А вообще-то не мешало бы поиском пользоваться, см.например предсказания переходов того или иного процессора А насчет циклов ты видать чего-то не понял Существует лишь проблема "тонких" циклов, когда затраты на управление циклом сравнимы с задержкой его полезной начинки. Для этого существует стандартный прием - разворот цикла
Leo Спасибо за разьяснение про циклы А под кэш страницами подразумевались именно страницы кэш, а не страници памяти\файла_подкачки.
Y_Mur В кэше никаких страниц нет - есть строки, наборы и банки, но это вообще к делу не относится Недавняя тема: Понятия "КЭШ-Промах" и "КЭШ-попадание" ?
Помогите разобраться с Table C-8 IA-32 General Purpose Instructions (continued) в ftp://download.intel.com/design/Pentium4/manuals/24896613.pdf Почему под временем ожидания (Latency) и производительностью (Throughput) по 2-3 значения и когда на какое смотреть? Или киньте плиз ссылку на таблицу тиков в человечьем виде (если таковая есть в природе), хорошо бы в виде сравниловки для разных процов.
Y_Mur Эти цифры относятся к разным моделям процессоров - смотри в начале раздела и номера моделей в начале каждой таблицы. Смотреть ес-но на ту модель, которя интересует
угу, причем иногда с точностью до степпинга (((((((( Y_Mur Мне больше всего понравилось в оформлении Агнера Фога - http://www.agner.org/optimize/ часть 4. Только получить из этих цифирек реальное время выполнения кода может разве что leo Это я не издеваюсь, это я завидую.
Ustus Оформление и часть 4 это хорошо, но не мешало бы на досуге и всего Фога почитать, чтобы понимать в какое место эти цифирьки можно засунуть )) Это я не издеваюсь, это я просто размышляю ))