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