Внеочередное исполнение (out-of-order)
Когда процессор выполняет инструкции не в том порядке, в котором они написаны, чтобы не простаивать. Пока одна инструкция ждёт данные из памяти, процессор бежит вперёд по независимым командам, а снаружи результаты выглядят в правильном порядке.
Проблема: процессор с порядковым исполнением полностью встаёт, когда инструкция чего-то ждёт, например при промахе кэша. Out-of-order (OoO) просматривает окно ближайших инструкций, находит те, что не зависят от ожидающей, и выполняет их сразу. «Буфер переупорядочивания» гарантирует, что результаты фиксируются (становятся видимыми) в программном порядке, так что корректность сохраняется.
Классические приёмы — алгоритм Томасуло и переименование регистров, снимающее ложные зависимости. Выигрыш: исполнительные блоки заняты, производительность заметно растёт. Цена — сложная и прожорливая логика; поэтому энергоэффективные ядра и некоторые микроконтроллеры остаются порядковыми. Родственны спекулятивное исполнение и суперскалярность.