Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

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

Из Википедии — свободной энциклопедии

Внеочередное исполнение (англ. out-of-order execution) машинных инструкций — исполнение машинных инструкций не в порядке следования в машинном коде (как было при выполнении инструкций по порядку (англ. in-order execution)), а в порядке готовности к выполнению. Реализуется с целью повышения производительности вычислительных устройств.

Среди широко известных машин впервые в существенной мере реализована в машинах CDC 6600 компании Control Data и IBM System/360 Model 91 компании IBM.

Описание и сравнение

Классическое поочерёдное выполнение

При выполнении инструкций по порядку (англ. in-order) осуществляются следующие действия:

  1. считывание инструкции;
  2. остановка процессора в ожидании для загрузки операндов инструкции;
  3. передача инструкции на выполнение соответствующему исполнительному модулю;
  4. выполнение инструкции соответствующим модулем;
  5. запись результата выполнения инструкции модулем в регистровую ячейку.

Внеочередное выполнение

При выполнении инструкций не по порядку (англ. out-of-order) осуществляются следующие действия:

  1. считывание инструкции;
  2. помещение инструкции в очередь I (называемую англ. instruction queue, instruction buffer или reservation stations);
  3. ожидание, пока операнды любой инструкции, находящейся в очереди I, станут доступны;
  4. передача инструкции, операнды которой доступны, на выполнение соответствующему исполнительному модулю;
  5. выполнение инструкции соответствующим модулем;
  6. запись результата выполнения инструкции модулем в очередь II;
  7. извлечение из очереди II результатов выполнения тех инструкций, перед которыми в очереди I не осталось невыполненных инструкций, и запись результатов в регистровый файл; удаление таких инструкций из очереди I.

Особенности и внутренняя работа

Особенности внеочередного исполнения:

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

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

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

Оценка эффективности

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

См. также

Примечания

Литература

  • David A. Patterson, John L. Hennessy. Computer Architecture: A Quantitative Approach, 5th Edition. — Morgan Kaufmann, 2011. — 856 p. — ISBN 012383872X. (англ.)

Ссылки

Эта страница в последний раз была отредактирована 11 июня 2021 в 00:15.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).