Внеочередное исполнение

Внеочередное исполнение

Внеочередное исполнение (англ. Out-of-order execution) — парадигма, применяемая при разработке вычислительных устройств, с целью повышения производительности. Её особенность в том, что инструкции поступают в исполнительные модули не в порядке их следования, как было в концепции выполнения инструкций по порядку (англ. In-Order execution), а по готовности к выполнению. Среди широко известных машин впервые эта парадигма была в существенной мере реализована в машинах CDC 6600 фирмы Control Data и IBM 360/91 фирмы IBM.

Содержание

Концепция

Выполнение инструкций по порядку

  1. Считывание инструкции
  2. Если все операнды инструкции доступны, то она передаётся на выполнение соответствующему исполнительному модулю, иначе процессор останавливается, ожидая готовности операндов.
  3. Инструкция выполняется в соответствующем модуле.
  4. Модуль записывает результат обратно в регистровый файл.

Выполнение не по порядку

  1. Считывание инструкции
  2. Помещение инструкции в очередь
  3. Инструкция находится в очереди до тех пор пока её операнды не станут доступны. Таким образом инструкция может покинуть очередь прежде, чем попавшая туда раньше.
  4. Выбранная из очереди инструкция выполняется в соответствующем модуле.
  5. Результат помещается в очередь.
  6. Только после того, как все инструкции, которые были в очереди впереди данной, выполнятся, её результат помещается в регистровый файл.

Ключевая идея внеочередного выполнения заключается в возможности избежать простоя процессора в тех случаях, когда данные, необходимые для выполнения очередной инструкции, недоступны. Как можно видеть выше, процессор избегает простоев, которые возникают в пункте 2 для очередного выполнения инструкций в случае, когда инструкция не может быть выполнена из-за недоступности ее операндов.

Процессор с внеочередным выполнением кода выполняет те инструкции, которые готовы, вне зависимости от их порядка следования в коде программы. Инструкции выполняются не в порядке их следования в коде программе, а в порядке доступности данных в регистрах процессора. После выполнения процессор меняет порядок результатов выполнения инструкций так, чтобы создавалась видимость нормального, очередного выполнения.

Внеочередное выполнение тем эффективнее, чем длиннее конвейер процессора, и чем больше разница в скорости между памятью (оперативной или кэшем) и процессором. В современных компьютерах процессоры работают намного быстрее памяти, поэтому во время ожидания поступления данных процессор может выполнить множество инструкций, операнды которых доступны.

Литература

  • John Hennessy, David Patterson, Computer Architecture: A Quantitative Approach (5th Edition), 2011, ISBN 978-0123838728



Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное


Смотреть что такое "Внеочередное исполнение" в других словарях:

  • ГАРАНТИИ ПРЕЗИДЕНТУ, ПРЕКРАТИВШЕМУ ИСПОЛНЕНИЕ ПОЛНОМОЧИЙ — совокупность закрепленных в законодательстве правовых, социальных и иных гарантий, предоставляемых Президенту, прекратившему исполнение своих полномочий в связи с истечением срока пребывания в должности либо досрочно в случае отставки либо… …   Энциклопедический словарь «Конституционное право России»

  • Микроархитектура — Схема, иллюстрирующая место микроархитектурного уровня в многоуровневой структуре компьютера. В компьютерной инженерии …   Википедия

  • X86 — 80486 DX2 x86 (Intel 80x86)  аппаратная платформа: архитектура микропроцессора и соответствующий набор инструкций, как разработанных и выпускаемых компанией Intel, так и совместимых с ними процессоров других производителей (AMD, VIA …   Википедия

  • x86 — 80486 DX2 x86 (англ. Intel 80x86)  архитектура процессора c одноимённым наборо …   Википедия

  • Переименование регистров — (англ. Register Renaming)  метод ослабления взаимозависимостей команд, применяемый в процессорах, осуществляющих их внеочередное исполнение (англ. Out of order execution). В том случае, если в соответствии с двумя или более… …   Википедия

  • Intel P6 — P6  суперскалярная суперконвейерная архитектура, разработанная компанией Intel и лежащая в основе микропроцессоров Pentium Pro, Pentium II, Pentium III, Celeron и Xeon. В отличие от x86 совместимых процессоров предыдущих поколений с CISC… …   Википедия

  • NetBurst — (рабочее название P68) суперскалярная гиперконвейерная микроархитектура, разработанная компанией Intel и лежавшая в основе микропроцессоров Pentium 4, Pentium D, Celeron и Xeon. Содержание 1 История 2 …   Википедия

  • Larrabee — Эта статья содержит информацию о запланированном или ожидаемом будущем чипе. Статья может содержать предварительную и недостоверную информацию и не отображать правильную окончательную спецификацию чипа …   Википедия

  • Intel Larrabee — Демонстрационный стенд Intel Larrabee Larrabee (Intel Larrabee)  кодовое обозначение проекта по разработке новой архитектуры Many Integrated Core (MIC) для микропроцессоров американской компании Intel. Изначально данные чипы создавались как… …   Википедия

  • Суперскалярность — Плата CRAY T3E 136/ac (1995) Суперскалярность  архитектура вычислительного ядра, использующая несколько декодеров команд, к …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»