Подсистема исполнения с изменением последовательности

Данная подсистема обеспечивает оптимальную загрузку вычислительных узлов процессора и минимизацию их простоев. Это достигается за счет изменения порядка исполнения команд программы, не приводящего к искажению результата.

Рассмотрим возможность изменения порядка исполнения команд программы на примере.

Пример 5.1

Пусть в программе задана следующая последовательность команд:

  • 1) А = В + С;
  • 2 )К = А+М;
  • 3 )Z=X+ Y.

Предположим, что в процессоре имеется два блока для выполнения арифметических операций, которые могут работать параллельно. Как видно, команды 1 и 3 совершенно не зависят друг от друга. В команде 2 один из операндов (Л) — результат выполнения команды 1, значит, она может быть выполнена только после нее. В такой ситуации целесообразно изменить порядок выполнения. Сначала лучше выполнить команды 1 и 3 двумя параллельно работающими блоками, а затем команду 2, когда операнд А уже будет готов.

К устройствам подсистемы исполнения с изменением последовательности относятся следующие узлы.

Таблица назначения регистров. Устройство задает соответствие между регистрами архитектуры х86, которые, как известно, указываются в командах в качестве источника одного из операндов и приемника результата, и внутренними регистрами процессора, применяемыми при исполнении МО.

Буфер переупорядочивания микроопераций. Он является ассоциативным запоминающим устройством, хранящим подготовленные к исполнению МО, из которых состоят команды программы. Это устройство называют также пулом команд (англ, pool — общий фонд, общий котел). Сюда заносятся подготовленные к исполнению МО вместе с операндами, для хранения которых в буфере есть 40 элементов, размером 256 бит. Каждый из элементов может хранить МО, два связанных с ней операнда, результат ее выполнения и несколько битов состояния.

Станция-резервуар. Устройство выполняет функции диспетчера, определяющего порядок выполнения МО, хранящихся в буфере переупорядочивания. Оно оценивает возможность изменения порядка исполнения МО и обеспечивает их выполнение в оптимальной с точки зрения производительности последовательности, направляя их в вычислительные блоки исполнительного устройства.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >