Микропроцессорные системы и программное обеспечение в средствах связи. Гребешков А.Ю. - 268 стр.

UptoLike

Составители: 

Рубрика: 

Микропроцессорные системы и программное обеспечение в средствах связи
268
Как видно из рис. 5.7, при использовании суперскалярной архитек-
туры МПр содержит несколько конвейеров и несколько АЛУ. Это позво-
ляет одновременно исполнять смежные арифметико-логические опе-
рации, что соответствует реализации явного параллелизма при выпол-
нении вычислений. Для разных операцийнапример с целыми числа-
ми и обработки мультимедиа АЛУконвейер имеет различную
длину.
Для оптимальной загрузки конвейеров можно разработать мето-
ды, позволяющие с вероятностью до 95% (на примере Intel Pentium 4)
предсказать направление условного перехода в программе. Эта веро-
ятность повышается, если имеется информация о предыдущих перехо-
дах. Для реализации данной процедуры применяется блок прогнозиро-
вания ветвлений, который использует блок предварительной дешиф-
рации команд. В результате команды
загрузки данных из ОЗУ и/или кэш
памяти выполняются задолго до команды (инструкции), использующей
эти данные. Особенно это относится к командам условного перехода.
В процедурах предсказания переходов применяется т.н. «спекуля-
тивное» исполнение команд. Суть спекулятивного исполнения со-
стоит в том, что после сделанного предположения об адресе перехода
МПр выполняет
операции по предсказанному направлению перехода.
Иными словами, МПр выполняет действия, не предписанные в данный
момент загружаемой программой. При этом неизвестно, будет ли дей-
ствительно, по мере исполнения программы, передано управление в
выбранном направлении или нет. Тем не менее, обработка данных про-
должается. Если управление на самом деле будет передано на пред
-
сказанное направление, то результаты выполнения команд будут уже
готовы. Если управление будет передано в другое место программы, то
полученные ранее результаты уничтожаются. Последствием ошибки
предсказания перехода может быть образование нескольких пустых
стадий «пузырьков» в конвейере, что снижает производительность
МПр.
  Микропроцессорные системы и программное обеспечение в средствах связи
       Как видно из рис. 5.7, при использовании суперскалярной архитек-
туры МПр содержит несколько конвейеров и несколько АЛУ. Это позво-
ляет одновременно исполнять смежные арифметико-логические опе-
рации, что соответствует реализации явного параллелизма при выпол-
нении вычислений. Для разных операций – например с целыми числа-
ми и обработки мультимедиа АЛУ – конвейер имеет различную длину.
       Для оптимальной загрузки конвейеров можно разработать мето-
ды, позволяющие с вероятностью до 95% (на примере Intel Pentium 4)
предсказать направление условного перехода в программе. Эта веро-
ятность повышается, если имеется информация о предыдущих перехо-
дах. Для реализации данной процедуры применяется блок прогнозиро-
вания ветвлений, который использует блок предварительной дешиф-
рации команд. В результате команды загрузки данных из ОЗУ и/или кэш
памяти выполняются задолго до команды (инструкции), использующей
эти данные. Особенно это относится к командам условного перехода.
       В процедурах предсказания переходов применяется т.н. «спекуля-
тивное» исполнение команд. Суть спекулятивного исполнения со-
стоит в том, что после сделанного предположения об адресе перехода
МПр выполняет операции по предсказанному направлению перехода.
Иными словами, МПр выполняет действия, не предписанные в данный
момент загружаемой программой. При этом неизвестно, будет ли дей-
ствительно, по мере исполнения программы, передано управление в
выбранном направлении или нет. Тем не менее, обработка данных про-
должается. Если управление на самом деле будет передано на пред-
сказанное направление, то результаты выполнения команд будут уже
готовы. Если управление будет передано в другое место программы, то
полученные ранее результаты уничтожаются. Последствием ошибки
предсказания перехода может быть образование нескольких пустых
стадий «пузырьков» в конвейере, что снижает производительность
МПр.

                                   268