ВУЗ:
Составители:
49
тем самым двойную работу. Если бы такая ситуация наблюдалась часто, то
использование этой методики было бы невыгодно. Судя по тому, что
концепция "предсказания переходов" активно используется производителями
процессоров, соответствующая алгоритмика развита достаточно хорошо. В
\
процессоре Pentium II за предсказание переходов "отвечает" Fetch/Decode Unit
(модуль загрузки/декодирования инструкций).
Динамический анализ потока данных включает в себя выполняемый в
режиме реального времени анализ зависимости инструкций от исходных
данных и значений регистров процессора, а также определение возможности
исполнения и непосредственное исполнение инструкций в порядке, отличном
от порядка их первоначальной постановки в
очередь на исполнение, (out-of-
ordere execution).
Dispatch/Execute Unit (модуль диспетчеризации/исполнения инструкций)
процессора Pentium II может одновременно следить за ходом исполнения
множества инструкций и выполнять их в таком порядке, который позволяет
оптимизировать загрузку вычислительных ресурсов процессора. В это же самое
время Dispatch/Execute Unit следит за целостностью данных, над которыми
проводятся вычисления.
Выполнение инструкций в порядке, отличном от порядка их
постановки в
очередь на исполнение (out-of-order execution), позволяет избежать простоя
вычислительных ресурсов даже в том случае, когда в L1-кэше нет данных,
необходимых для исполнения инструкции, или между инструкциями есть
зависимость данных, и зависимая инструкция не может быть исполнена.
Например, в результате исполнения инструкции "А" получаются данные,
которые используются при исполнении инструкции "В";
соответственно,
инструкция "В" не может быть исполнена раньше, чем инструкция "А".
Спекулятивное выполнение инструкций — это способность процессора
исполнить инструкции в порядке, отличном (как правило, с опережением) от
порядка во входном потоке инструкций (что определяется кодом исполняемой
программы), но завершить и возвратить (commit) результаты исполнения
инструкций в порядке, соответствующем оригинальному входному потоку
инструкций
.
В процессоре Pentium II спекулятивное выполнение инструкций
возможно благодаря тому, что этап "диспетчеризации и выполнения
инструкций" (dispatching and executing of instructions) отделен от этапа
"завершения и возвращения результатов" (commitment of results).
Используя динамический анализ потока данных, Dispatch/Execute Unit
процессора исполняет все инструкции, находящиеся в пуле инструкций
(instruction pool) и готовые к исполнению, после чего записывает результаты их
исполнения во временные регистры.
В это
время Retire Unit (модуль завершения и удаления инструкций)
последовательно просматривает пул инструкций и ищет исполненные
инструкции, которые не имеют зависящих от них других инструкций,
тем самым двойную работу. Если бы такая ситуация наблюдалась часто, то
использование этой методики было бы невыгодно. Судя по тому, что
концепция "предсказания переходов" активно используется производителями
процессоров, соответствующая алгоритмика развита достаточно хорошо. В\
процессоре Pentium II за предсказание переходов "отвечает" Fetch/Decode Unit
(модуль загрузки/декодирования инструкций).
Динамический анализ потока данных включает в себя выполняемый в
режиме реального времени анализ зависимости инструкций от исходных
данных и значений регистров процессора, а также определение возможности
исполнения и непосредственное исполнение инструкций в порядке, отличном
от порядка их первоначальной постановки в очередь на исполнение, (out-of-
ordere execution).
Dispatch/Execute Unit (модуль диспетчеризации/исполнения инструкций)
процессора Pentium II может одновременно следить за ходом исполнения
множества инструкций и выполнять их в таком порядке, который позволяет
оптимизировать загрузку вычислительных ресурсов процессора. В это же самое
время Dispatch/Execute Unit следит за целостностью данных, над которыми
проводятся вычисления.
Выполнение инструкций в порядке, отличном от порядка их постановки в
очередь на исполнение (out-of-order execution), позволяет избежать простоя
вычислительных ресурсов даже в том случае, когда в L1-кэше нет данных,
необходимых для исполнения инструкции, или между инструкциями есть
зависимость данных, и зависимая инструкция не может быть исполнена.
Например, в результате исполнения инструкции "А" получаются данные,
которые используются при исполнении инструкции "В"; соответственно,
инструкция "В" не может быть исполнена раньше, чем инструкция "А".
Спекулятивное выполнение инструкций — это способность процессора
исполнить инструкции в порядке, отличном (как правило, с опережением) от
порядка во входном потоке инструкций (что определяется кодом исполняемой
программы), но завершить и возвратить (commit) результаты исполнения
инструкций в порядке, соответствующем оригинальному входному потоку
инструкций.
В процессоре Pentium II спекулятивное выполнение инструкций
возможно благодаря тому, что этап "диспетчеризации и выполнения
инструкций" (dispatching and executing of instructions) отделен от этапа
"завершения и возвращения результатов" (commitment of results).
Используя динамический анализ потока данных, Dispatch/Execute Unit
процессора исполняет все инструкции, находящиеся в пуле инструкций
(instruction pool) и готовые к исполнению, после чего записывает результаты их
исполнения во временные регистры.
В это время Retire Unit (модуль завершения и удаления инструкций)
последовательно просматривает пул инструкций и ищет исполненные
инструкции, которые не имеют зависящих от них других инструкций,
49
Страницы
- « первая
- ‹ предыдущая
- …
- 47
- 48
- 49
- 50
- 51
- …
- следующая ›
- последняя »
