Студентам > Рефераты > Процессоры нового поколения и перспективы их развития
Процессоры нового поколения и перспективы их развитияСтраница: 3/5
команд помечаются.
Три параллельных декодера принимают поток
отмеченных байтов
и обрабатывают их, отыскивая и декодируя содержащиеся
в потоке
команды. Декодер преобразует команды архитектуры Intel в
микроко-
манды-триады (два операнда, один результат).
Большинство команд
архитектуры Intel преобразуются в одну микрокоманду,
некоторые
требуют четырех микрокоманд, а сложные команды требуют
обращения
к микрокоду, представляющему из себя набор заранее
составленных
последовательностей микрокоманд. Некоторые команды, так
называе-
мые байт-префиксы, модифицируют следующую за ними
команду, что
также усложняет работу декодера. Микрокоманды ставятся в
очередь,
посылаются в таблицу псевдонимов регистров, где ссылки
на логи-
ческие регистры преобразуются в ссылки на физические
регистры P6,
после чего каждая из микрокоманд вместе с дополнительной
информа-
цией о ее состоянии (статусе) посылается в пул команд.
Пул команд
реализован в виде массива контекстно-адресуемой памяти,
называе-
мого также буфером переупорядочивания.
В этой точке заканчивается "упорядоченная"
часть конвейера.
2Устройство
диспетчирования/выполнения
Устройство диспетчирования выбирает микрокоманды из
пула ко-
манд в зависимости от их статуса. Под статусом мы будем
понимать
информацию о доступности операндов микрокоманды и наличии
необхо-
димых для ее выполнения вычислительных ресурсов. Если
статус мик-
рокоманды показывает, что ее операнды уже вычислены и
доступны, а
необходимое для ее выполнения вычислительное устройство
(ресурс)
также доступно, то устройство диспетчирования выбирает
микроко-
манду из пула команд и направляет ее на устройство для
выполне-
ния. Результаты выполнения микрокоманды возвращаются в
пул.
Взаимодействие с вычислительными ресурсами
происходит через
пятипортовую распределительную станцию. Структура
устройства дис-
петчирования/выполнения показана на рисунке 4.
P6 может запускать на выполнение до 5 микрокоманд
за такт,
по одной на каждый порт. Средняя длительно
поддерживаемая про-
пускная способность - 3 микрокоманды за такт. Процесс
планирова-
ния выполнения микрокоманд является принципиально
"беспорядоч-
ным": момент направления микрокоманд на
вычислительные ресурсы
определяется только потоками данных и доступностью
ресурсов, без
какой бы то ни было связи с первоначальным порядком
команд в
программе.
- 9 -
Алгоритм, отвечающий за планирование выполнения
микрокоманд,
является крайне важным для производительности процессора
в целом.
Если в каждом такте для каждого ресурса готова к
выполнению толь-
ко одна микрокоманда, то проблемы выбора не возникает.
Но если
готовых к выполнению на данном ресурсе микрокоманд
несколько, то
какую из них выбрать? Можно доверить выбор случаю.
Можно приме-
нить алгоритм "первый пришел - первый
обслужен". Идеальным был бы
выбор микрокоманды, выполнение которой привело бы к
максимальному
сокращению графа потоков данных выполняемой
программы. Однако
поскольку нет возможности определить такую
микрокоманду в ходе
выполнения программы, используется алгоритм
планирования, имити-
рующий модель "первый пришел - первый
обслужен", предпочитая
смежное выполнение смежных микрокоманд.
Поскольку система команд Intel содержит множество
команд пе-
рехода, многие микрокоманды также являются переходами.
Алгоритм,
реализованный в буфере переходов, позволяет в большинстве
случаев
правильно предсказать, состоится или не состоится
переход, но
иногда он все же будет ошибаться. Рассмотрим для примера
случай,
когда буфер переходов предсказывает переход назад в
конце цикла:
до тех пор, пока условие выхода из цикла не выполняется,
переход
будет предсказываться верно, однако когда это условие
станет ис-
тинным, предсказание будет ошибочным.
Для исправления случаев неверного предсказания
перехода при-
менен следующий подход. Микрокомандам перехода еще в
упорядочен-
ной части конвейера ставятся в соответствие адрес
следующей ко-
манды и предполагаемый адрес перехода. После вычисления
перехода
реальная ситуация сравнивается с предсказанной. Если они
совпада-
ют, то проделанная, исходя из предположения об исходе
перехода,
работа оказывается полезной, так как соответствует
реальному ходу
программы, а микрокоманда перехода удаляется из пула
команд.
Если же допущена ошибка (переход был предсказан, но
не прои-
зошел, или было предсказано отсутствие перехода, а в действитель-
ности он состоялся), то устройство выполнения переходов
изменяет
статус всех микрокоманд, засланных в пул команд после
команды пе-
рехода, чтобы убрать их из пула команд. Правильный адрес
перехода
направляется в буфер переходов, который перезапускает
весь конве-
йер с нового адреса.
2Устройство отката
Структура устройства отката изображена на рисунке 5.
Устройство отката также проверяет статус
микрокоманд в пуле
команд: оно ищет микрокоманды, которые уже выполнены и
могут быть
удалены из пула. Именно при удалении микрокоманды
результаты ее
выполнения, хранящиеся в пуле команд, реально изменяют
состояние
вычислительной системы, например, происходит запись в
регистры.
Устройство отката должно не только обнаруживать
завершившиеся
микрокоманды, но и удалять их из пула команд таким
образом, чтобы
изменение состояния вычислительной системы
соответствовало перво-
начальному порядку команд в программе. При этом оно
должно учиты-
вать и правильно обрабатывать прерывания,
исключительные ситуа-
ции, неправильно предсказанные переходы и другие
экстремальные
- 10 -
случаи.
Процесс отката занимает два такта. В первом такте
устройство
отката считывает пул команд и отыскивает готовые к
откату микро-
команды; затем оно определяет, какие из этих
микрокоманд могут
быть удалены из пула в соответствии с исходным порядком
команд в
программе. Во втором такте результаты отката
записываются в пул
команд и в регистровый файл отката. Устройство отката
может обра-
ботать три микрокоманды за такт.
2Интерфейс шины
Структура интерфейса шины изображена на рисунке 6.
Есть два типа обращений к памяти: чтение из памяти в
регистр
и запись из регистра в память.
При чтении из памяти должны быть заданы адрес
памяти, размер
блока считываемых данных и регистр-назначение. Команда
чтения ко-
дируется одной микрокомандой.
При записи надо задать адрес памяти, размер блока
записывае-
мых данных и сами данные. Поэтому команда записи
кодируется двумя
микрокомандами: первая генерирует адрес, вторая готовит
данные.
Эти микрокоманды планируются независимо и могут
выполняться па-
раллельно; они могут переупорядочиваться в буфере записи.
Запись в память никогда не выполняется опережающим
образом,
так как нет эффективного способа организации отката в
случае не-
верного предсказания. Разные команды записи никогда не
переупоря-
дочиваются друг относительно друга. Буфер записи
инициирует за-
пись, только когда сформированы и адрес, и данные, и нет
ожидаю-
щих выполнения более ранних команд записи.
При изучении вопроса о возможности и
целесообразности переу-
порядочения доступа к памяти инженеры "Intel"
пришли к следующим
выводам.
Команда записи не должна обгонять идущую впереди
команду за-
писи, так как это может лишь незначительно увеличить
производи-
тельность.
Можно запретить командам записи обгонять команды
чтения из
памяти, так как это приведет лишь к незначительной
потере произ-
водительности.
Запрет командам чтения обгонять другие команды
чтения или
команды записи может повлечь существенные потери в
производитель-
ности.
Поэтому была реализована архитектура подсистемы
памяти, поз-
воляющая командам чтения опережать команды записи и
другие коман-
ды чтения. Буфер упорядочения памяти служит в качестве
распреде-
лительной станции и буфера переупорядочивания. В нем
хранятся от-
ложенные команды чтения и записи, и он осуществляет их
повторное
диспетчирование, когда блокирующее условие (зависимость
по данным
или недоступность ресурсов) исчезает.
- 11 -
2Вывод
Таким образом, реализованная в P6 комбинация таких
архитек-
турных методов, как улучшенное предсказание
переходов (почти
всегда правильно определяется предстоящая
последовательность ко-
манд), анализ потоков данных (определяется оптимальный
порядок
выполнения команд) и опережающее выполнение
(предвиденная после-
довательность команд выполняется без простоев в
оптимальном по-
рядке), позволила удвоить производительность по
отношению к Pen-
tium при использовании той же самой технологии
производства. Эта
комбинация методов называется динамическим выполнением.
В настоящее время "Intel" ведет
разработку новой 0,35 мкм
технологии производства, что даст возможность выпускать
процессо-
ры P6 с тактовой частотой ядра свыше 200 МГц.
.
- 12 -
2Р6 как платформа для построения мощных
серверов
Среди наиболее значимых тенденций развития
компьютеров в
последние годы можно выделить как все возрастающее
использование
систем на основе процессоров семейства х86 в качестве
серверов
приложений, так и растущую роль "Intel" как
поставщика непроцес-
сорных технологий, таких как шины, сетевые технологии,
сжатие ви-
деоизображений, флэш-память и средства системного
администрирова-
ния.
Выпуск процессора Р6 продолжает проводимую
"Intel" политику
переноса возможностей, которыми ранее обладали лишь более
дорогие
компьютеры, на массовый рынок. Для внутренних регистров
Р6 пре-
дусмотрен контроль по четности, а соединяющая ядро
процессора и
кэш второго уровня 64-битовая шина оснащена средствами
обнаруже-
ния и исправления ошибок. Встроенные в Р6 новые
возможности диаг-
ностики позволяют производителям проектировать более
надежные
|