Результаты поиска по запросу "branch-prediction"

4 ответа

Оптимизация производительности сборки x86-64 - выравнивание и прогноз ветвления

В настоящее время я пишу высокооптимизированные версии некоторых строковых функций стандартной библиотеки C99, таких какstrlen(), memset()и т. д. с использованием сборки x86-64 с инструкциями SSE-2. До сих пор мне удавалось добиться отличных ...

3 ответа

@PeterCordes TAGE использует (частичные) теги, а BTB часто (частично) помечают (для обеспечения ассоциативности). В случае пропуска BTB может возникнуть подозрение на то, что ответвление выполнено (статический прогноз может быть сделан в то же время, когда целевой адрес будет доступен). Кстати, теплые ветви могут быть достаточно частыми как класс и индивидуально достаточно статически смещенными, чтобы сделать статическое предсказание полезным. (Процессор SPEC известен своими небольшими размерами веток; даже в gcc может быть не так много активных веток, как в некотором общем коде. Тесты руководствуются продуктами.)

тЯ знаю, что Intel внедрила несколько статических механизмов прогнозирования ветвлений в эти годы: [https://groups.google.com/forum/#!topic/mechanical-sympathy/pMN6TbXwOUc]80486 возраст: всегда не принимается Pentium4 возраст: назад взяты / ...

22 ответа

Почему обрабатывать отсортированный массив быстрее, чем несортированный?

Вот фрагмент кода C ++, который кажется очень своеобразным. По какой-то странной причине сортировка данных чудесным образом делает код почти в шесть раз быст...

ТОП публикаций

3 ответа

Реальные примеры оптимизации через удаление веток

Согласно сIntel [http://software.intel.com/en-us/articles/avoiding-the-cost-of-branch-misprediction] Удаление ветвей является одним из наиболее эффективных способов оптимизации кода на C для использования в тесных циклах. Однако примеры на ...

7 ответов

Есть ли подсказка компилятора для GCC, чтобы заставить предсказание ветвления всегда идти определенным путем?

Для архитектур Intel есть ли способ дать указание компилятору GCC генерировать код, который всегда заставляет предсказывать переходы определенным образом в м...

4 ответа

Прогноз ветки префикса Intel x86 0x2E / 0x3E действительно используется?

В последнем руководстве разработчика программного обеспечения Intel описываются два префикса кода операции: Group 2 > Branch Hints 0x2E: Branch Not Taken 0x3E: Branch TakenОни позволяют явное предсказание перехода команд перехода (коды операций, ...

4 ответа

Как работать с предсказанием ветвлений при использовании переключателя в эмуляции процессора

Я недавно прочитал вопрос здесьПочему обрабатывать отсортированный массив быстрее, чем несортированный? и нашел ответ абсолютно захватывающим, и он полностью...

2 ответа

Понимание прогноза ветвления

1 ответ

Могу ли я использовать GCC __builtin_expect () с троичным оператором в C

Руководство GCC [http://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html]показаны только примеры, где __builtin_expect () помещается вокруг всего условия оператора if. Я также заметил, что GCC не жалуется, если я использую его, например, с ...

3 ответа

Реальные примеры оптимизации через удаление веток

В соответствии сIntelУдаление ветвей является одним из наиболее эффективных способов оптимизации кода на C для использования в тесных циклах. Однако примеры ...