Использование кеша микроинструкций

528
Kraken

Недавно я узнал, что Sandy Bridge использует кэш микроинструкций, похожий на кэш трассировки выполнения в Netburst. Из того, что я знаю, многие из более простых инструкций x86 (которые переводят в 4 микрокоманды или менее) декодируются аппаратными декодерами без какой-либо помощи из ПЗУ микрокода, что является довольно быстрым и простым процессом, не требующим поиска в таблице. Итак, почему нужно кэшировать декодированные микрокоманды, а затем искать их позже, когда они могут быть легче переведены схемой декодера.

Используется ли кеш только для более сложных инструкций, связанных с поиском в ПЗУ микрокода? Или есть какая-то высшая мудрость?

0
Intel обычно ограничивает выбор инструкций до 16-ти байтовых блоков, кэш микроопераций может обеспечивать до 4 операций в такте из 32-битного блока. Для x86 хранение декодированных команд более энергоэффективно, чем более плотный некодированный кэш команд с динамическим декодированием. Декодированный кеш также может рассматриваться как кэш L0 (более низкая задержка с приличной частотой попаданий). Существует также потенциал для оптимизации времени декодирования. См. Http://www.realworldtech.com/haswell-cpu/2/ Paul A. Clayton 8 лет назад 1
Да уж. Теперь я понял, спасибо. Kraken 8 лет назад 0
Итак, о хранении ... Kraken 8 лет назад 0

0 ответов на вопрос

Похожие вопросы