Процессоры нового поколения и перспективы их развития — страница 9

  • Просмотров 3618
  • Скачиваний 318
  • Размер файла 44
    Кб

Результаты выполнения микрокоманды возвращаются в пул. Взаимодействие с вычислительными ресурсами происходит через пятипортовую распределительную станцию. Структура устройства дис- петчирования/выполнения показана на рисунке 4. P6 может запускать на выполнение до 5 микрокоманд за такт, по одной на каждый порт. Средняя длительно поддерживаемая про- пускная способность - 3 микрокоманды за такт. Процесс планирова- ния выполнения

микрокоманд является принципиально "беспорядоч- ным": момент направления микрокоманд на вычислительные ресурсы определяется только потоками данных и доступностью ресурсов, без какой бы то ни было связи с первоначальным порядком команд в программе. - 9 - Алгоритм, отвечающий за планирование выполнения микрокоманд, является крайне важным для производительности процессора в целом. Если в каждом такте для каждого ресурса

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

возможности определить такую микрокоманду в ходе выполнения программы, используется алгоритм планирования, имити- рующий модель "первый пришел - первый обслужен", предпочитая смежное выполнение смежных микрокоманд. Поскольку система команд Intel содержит множество команд пе- рехода, многие микрокоманды также являются переходами. Алгоритм, реализованный в буфере переходов, позволяет в большинстве случаев правильно

предсказать, состоится или не состоится переход, но иногда он все же будет ошибаться. Рассмотрим для примера случай, когда буфер переходов предсказывает переход назад в конце цикла: до тех пор, пока условие выхода из цикла не выполняется, переход будет предсказываться верно, однако когда это условие станет ис- тинным, предсказание будет ошибочным. Для исправления случаев неверного предсказания перехода при- менен следующий

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