Премия «Грэмми» за лучшее рэп-исполнение
- 1 year ago
- 0
- 0
Внеочередное исполнение ( англ. out-of-order execution ) машинных инструкций — исполнение машинных инструкций не в порядке следования в машинном коде (как было при выполнении инструкций по порядку ( англ. in-order execution )), а в порядке готовности к выполнению. Реализуется с целью повышения производительности вычислительных устройств.
Среди широко известных машин впервые в существенной мере реализована в машинах CDC 6600 компании Control Data и IBM System/360 Model 91 компании IBM .
При выполнении инструкций по порядку ( англ. in-order ) осуществляются следующие действия:
При выполнении инструкций не по порядку ( англ. out-of-order ) осуществляются следующие действия:
Особенности внеочередного исполнения:
Основная идея внеочередного выполнения заключается в возможности избежать простоя процессора в тех случаях, когда данные, необходимые для выполнения очередной инструкции, недоступны. Как можно видеть выше, процессор избегает простоев, которые возникают в пункте 2 для очередного выполнения инструкций в случае, когда инструкция не может быть выполнена из-за недоступности её операндов.
Процессор с внеочередным выполнением кода выполняет те инструкции, операнды которых готовы, вне зависимости от порядка следования инструкций в коде программы. Инструкции выполняются не в порядке их следования в коде программы, а в порядке доступности данных в регистрах процессора. С помощью очереди II процессор записывает результаты выполнения инструкций так, чтобы создавалась видимость нормального, очередного выполнения.
Внеочередное выполнение тем эффективнее, чем длиннее конвейер процессора , и чем больше разница между скоростью работы памяти ( оперативной или кэшем ) и скоростью работы процессора. В современных [ когда? ] компьютерах процессоры работают намного быстрее памяти , поэтому во время ожидания поступления данных процессор может выполнить множество инструкций, операнды которых доступны.