ВУЗ:
Составители:
Порт 0, … , порт 4 – порты вычислительного ядра с неупорядоченным исполнением,
на которых группируются исполнительные устройства:
1.
порт 0 содержит целочисленное АЛУ и устройство выполнения вещественных
операций;
2.
порт 1 – целочисленное АЛУ и устройство выполнения переходов;
3.
порт 2 – блок загрузки данных;
4.
порт 3 – блок записи адреса;
5.
порт 4 – блок записи данных.
Устройство диспетчирования выбирает микрокоманды из пула команд в очередь
микрокоманд RS в зависимости от их статуса. В нем может храниться до двадцати
микрокоманд в единственной централизованной станции RS (центральное окно команд),
обслуживающей все его исполнительные блоки. Станция RS напрямую соединяется со всеми
исполнительными блоками Р6. Он может посылать максимум пять микрокоманд за такт, но
при работе с типичными командными последовательностями х86 более вероятен
непрерывный поток пересылок с интенсивностью в три микрокоманды за такт.
Распределительная станция RS состоит из пяти портов, каждая из которых содержит
позицию для размещения кода операции, наименование первого операнда, самого операнда,
признака доступности первого операнда, наименование второго операнда, самого операнда,
признака доступности второго операнда и наименование регистра результата. При
выполнении всех этих условий микрокоманды получают статус «готовы к выполнению».
Если статус микрокоманды показывает, что ее операнды вычислены и доступны, а
необходимое для ее выполнения вычислительное устройство (ресурс) также доступно, то
устройство диспетчирования направляет ее на выполнение.
Когда микрокоманда завершает исполнение и вырабатывает результат, то
наименование результата сравнивается с наименованиями операндов в распределительной
станции. Если устройство диспетчирования обнаружит микрокоманду, ждущую этого
результата, то данные записываются в соответствующие позиции и устанавливается признак
их доступности. Таким образом, результаты выполнения предыдущих микрокоманд можно
использовать в качестве исходных операндов для последующих, поэтому все результаты из
каждого устройства исполнения посылаются назад в станцию RS.
По сути дела, процессор P6 применяет сложную схему межсоединений, подобную
матричному переключателю, которая связывает все выходные порты исполнительных
блоков со станцией RS. Это позволяет продвигать (data forwarding) результаты в другой
исполнительный блок, которому данный результат требуется в качестве входного операнда,
без задержки, вызванной обновлением и повторным чтением регистров.
Распределительная станция следит за доступностью операндов. Если микрокоманда
попадает в распределительную станцию, все готовые операнды из регистрового файла
переписываются в поля этой микрокоманды. Для P6 распределительная станция содержит не
сами операнды, а указатели на них в переупорядочивающем буфере (ROB W). Когда все
операнды микрокоманды будут доступны, тогда станция RS инициирует исполнение
микрокоманды, и его результаты выполнения будут возвращены в пул (ROB W).
Таким образом, планирование процесса выполнения микрокоманд осуществляет
устройство диспетчирования. При этом момент направления микрокоманд на
исполнительное устройство определяется только потоками данных (у P6 три потока) и
доступностью ресурсов, без какой бы то ни было связи с первоначальным порядком команд в
программе.
Алгоритм, осуществляющий планирование выполнения микрокоманд, является
крайне важным для производительности процессора в целом. Если в каждом такте для
каждого ресурса готова к выполнению одна микрокоманда, то проблема выбора не
возникает. Она возникает в случае, если имеется несколько микрокоманд готовых к
выполнению на данном ресурсе. Идеальным был бы выбор микрокоманды, выполнение
Рис. 6.15. Устройство диспетчирования/выполнения
Рис. 6.15. Устройство диспетчирования/выполнения Порт 0, … , порт 4 – порты вычислительного ядра с неупорядоченным исполнением, на которых группируются исполнительные устройства: 1. порт 0 содержит целочисленное АЛУ и устройство выполнения вещественных операций; 2. порт 1 – целочисленное АЛУ и устройство выполнения переходов; 3. порт 2 – блок загрузки данных; 4. порт 3 – блок записи адреса; 5. порт 4 – блок записи данных. Устройство диспетчирования выбирает микрокоманды из пула команд в очередь микрокоманд RS в зависимости от их статуса. В нем может храниться до двадцати микрокоманд в единственной централизованной станции RS (центральное окно команд), обслуживающей все его исполнительные блоки. Станция RS напрямую соединяется со всеми исполнительными блоками Р6. Он может посылать максимум пять микрокоманд за такт, но при работе с типичными командными последовательностями х86 более вероятен непрерывный поток пересылок с интенсивностью в три микрокоманды за такт. Распределительная станция RS состоит из пяти портов, каждая из которых содержит позицию для размещения кода операции, наименование первого операнда, самого операнда, признака доступности первого операнда, наименование второго операнда, самого операнда, признака доступности второго операнда и наименование регистра результата. При выполнении всех этих условий микрокоманды получают статус «готовы к выполнению». Если статус микрокоманды показывает, что ее операнды вычислены и доступны, а необходимое для ее выполнения вычислительное устройство (ресурс) также доступно, то устройство диспетчирования направляет ее на выполнение. Когда микрокоманда завершает исполнение и вырабатывает результат, то наименование результата сравнивается с наименованиями операндов в распределительной станции. Если устройство диспетчирования обнаружит микрокоманду, ждущую этого результата, то данные записываются в соответствующие позиции и устанавливается признак их доступности. Таким образом, результаты выполнения предыдущих микрокоманд можно использовать в качестве исходных операндов для последующих, поэтому все результаты из каждого устройства исполнения посылаются назад в станцию RS. По сути дела, процессор P6 применяет сложную схему межсоединений, подобную матричному переключателю, которая связывает все выходные порты исполнительных блоков со станцией RS. Это позволяет продвигать (data forwarding) результаты в другой исполнительный блок, которому данный результат требуется в качестве входного операнда, без задержки, вызванной обновлением и повторным чтением регистров. Распределительная станция следит за доступностью операндов. Если микрокоманда попадает в распределительную станцию, все готовые операнды из регистрового файла переписываются в поля этой микрокоманды. Для P6 распределительная станция содержит не сами операнды, а указатели на них в переупорядочивающем буфере (ROB W). Когда все операнды микрокоманды будут доступны, тогда станция RS инициирует исполнение микрокоманды, и его результаты выполнения будут возвращены в пул (ROB W). Таким образом, планирование процесса выполнения микрокоманд осуществляет устройство диспетчирования. При этом момент направления микрокоманд на исполнительное устройство определяется только потоками данных (у P6 три потока) и доступностью ресурсов, без какой бы то ни было связи с первоначальным порядком команд в программе. Алгоритм, осуществляющий планирование выполнения микрокоманд, является крайне важным для производительности процессора в целом. Если в каждом такте для каждого ресурса готова к выполнению одна микрокоманда, то проблема выбора не возникает. Она возникает в случае, если имеется несколько микрокоманд готовых к выполнению на данном ресурсе. Идеальным был бы выбор микрокоманды, выполнение
Страницы
- « первая
- ‹ предыдущая
- …
- 146
- 147
- 148
- 149
- 150
- …
- следующая ›
- последняя »