Интернет магазин китайских планшетных компьютеров



Компьютеры - Внеочередное исполнение

23 января 2011





Внеочередное исполнение — парадигма, применяемая при разработке вычислительных устройств, с целью повышения производительности. Её особенность в том, что инструкции поступают в исполнительные модули не в порядке их следования, как было в концепции выполнения инструкций по порядку, а по готовности к выполнению. Среди широко известных машин впервые эта парадигма была в существенной мере реализована в машинах CDC 6600 фирмы Cоntrol Data и IBM 360/91 фирмы IBM.

Концепция

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

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

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

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

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

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

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




Просмотров: 1377


<<< Вероятностный процессор
Вычислительный конвейер >>>