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