RSS    

   Реферат: Процессор пентиум

При оценке соотношения стоимость/производительность  следует

учитывать, что, хотя Р6 может оказаться дороже своих конкурентов,

большая часть других процессоров должна  быть  окружена  дополни-

тельным набором чипов памяти и контроллером кэша. Кроме того, для

достижения сравнимой производительности работы  с  кэшом,  другие

процессоры  должны  будут  использовать кэш большего,  чем 256 кб

размера.

«Intel», как  правило,  предлагает  многочисленные  вариации

своих процессоров. Это делается с целью удовлетворить разнообраз-

ным  требованиям  проектировщиков систем и оставить меньше прост-

ранства для моделей конкурентов.  Поэтому можно предположить, что

вскоре  после начала выпуска Р6 появятся как модификации с увели-

ченным объемом вторичной кэш-памяти,  так и более дешевые модифи-

кации с внешним расположением вторичного кэша, но при сохраненной

выделенной шине между вторичным кэшом и процессором.

2Pentium как точка отсчета

Процессор Pentium со своей конвейерной и суперскалярной  ар-хитектурой достиг впечатляющего уровня производительности.

Pentium содержит два 5-стадийных  конвейера,  которые  могут

работать параллельно и выполнять две целочисленные команды за ма-

шинный такт.  При этом параллельно может выполняться только  пара

команд,  следующих  в  программе друг за другом и удовлетворяющих

определенным правилам,  например,  отсутствие регистровых зависи-

мостей типа «запись после чтения».

В P6 для увеличения пропускной способности осуществлен пере-

ход  к  одному  12-стадийному конвейеру.  Увеличение числа стадий


·     5 -

приводит к уменьшению выполняемой на каждой стадии работы и,  как

следствие, к уменьшению времени нахождения команды на каждой ста-

дии на 33 процента по сравнению с Pentium.  Это означает, что ис-

пользование при производстве P6 той же технологии, что и при про-

изводстве 100 МГц Pentium,  приведет к получению  P6  с  тактовой

частотой 133 МГц.

Возможности суперскалярной архитектуры Pentium, с ее способ-

ностью к выполнению двух команд за такт, было бы трудно превзойти

без совершенно нового подхода. Примененный в P6 новый подход уст-

раняет жесткую зависимость между традиционными фазами «выборки» и

«выполнения»,  когда последовательность прохождения команд  через

эти две фазы соответствует последовательности команд в программе.

Новый подход связан с использованием так называемого пула  команд

и  с  новыми эффективными методами предвидения будущего поведения

программы.  При этом традиционная фаза «выполнение» заменяется на

две: «диспетчирование/выполнение» и «откат». В результате команды

могут начинать выполняться в произвольном порядке,  но  завершают

свое  выполнение  всегда  в соответствии с их исходным порядком в

программе.  Ядро P6 реализовано как три  независимых  устройства,

взаимодействующих через пул команд (рис. 1).

2Основная проблема на пути повышения

2производительности

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

 r1 <- mem[r0]            /*  Команда 1   */

 r2 <- r1 + r2            /*  Команда 2   */

 r5 <- r5 + 1             /*  Команда 3   */

 r6 <- r6 - r3            /*  Команда 4   */

Предположим, что при выполнении первой команды  фрагмента  -

загрузки из памяти в регистр r1 - оказалось, что содержимое соот-

ветствующей ячейки памяти отсутствует в  кэше.  При  традиционном

подходе  процессор  перейдет  к выполнению команды 2 только после

того, как данные из ячейки mem[r0] основной памяти будут прочита-

ны через интерфейс шины. Все время ожидания процессор будет прос-

таивать.

В то  время как скорость процессоров за последние 10 лет вы-

росла по меньшей мере в 10 раз,  время доступа к основной  памяти

уменьшилось только на 60 процентов.  Это увеличивающееся отстава-

ние скорости работы с памятью по отношению к скорости  процессора

и было той фундаментальной проблемой, которую пришлось решать при

проектировании P6.

Один из возможных подходов к решению этой проблемы - перенос


·     6 -

ее центра тяжести на разработку высокопроизводительных  компонен-

тов, окружающих процессор. Однако массовый выпуск систем, включа-

ющих и высокопроизводительный процессор,  и высокоскоростные спе-

циализированные микросхемы окружения,  был бы слишком дорогостоя-

щим.

Можно было  попытаться решить проблему с использованием гру-

бой силы,  а именно увеличить размер кэша второго  уровня,  чтобы

уменьшить  процент  случаев отсутствия необходимых данных в кэше.

Это решение эффективное,  но тоже чрезвычайно дорогостоящее, осо-

бенно  учитывая  сегодняшние  скоростные требования к компонентам

кэша второго уровня. P6 проектировался с точки зрения эффективной

реализации целостной вычислительной системы, и требовалось, чтобы

высокая производительность системы в целом достигалась с  исполь-

зованием дешевой подсистемы памяти.

2Решение, принятое в P6

Решение сформулированной в предыдущем разделе проблемы памя-ти,  принятое в P6, заключается в обращении к пулу команд, извле-чении из него команд,  следующих за командой, требующей обращения к памяти, и выполнения до момента завершения команды-тормоза мак-симума полезной работы. В приведенном в предыдущем разделе приме-ре процессор не может выполнить команду 2 до  завершения  команды 1,  так  как команда 2 зависит от результатов команды 1.  В то же время процессор может выполнить команды 3 и 4,  не  зависящие  от результата выполнения команды 1. Мы будем называть такое выполне-ние команд опережающим выполнением.  Результаты опережающего  вы-полнения  команд  3  и 4 не могут быть сразу записаны в регистры, поскольку мы должны  изменять  состояние  вычислительной  системы только в соответствии с правильным порядком выполнения программы.  Эти результаты хранятся в пуле команд и извлекаются оттуда  позд-нее. Таким образом,  процессор выполняет команды в соответствии с их готовностью к выполнению, вне зависимости от их первоначально-го порядка в программе,  то есть с точки зрения реального порядка выполнения команд P6 является машиной,  управляемой потоком  дан-ных.  В  то  же время изменение состояния вычислительной системы, например запись в регистры, производится в строгом соответствии с истинным порядком команд в программе.

Чтение из памяти данных,  необходимых для команды  1,  может

занимать достаточно много тактов. Тем временем P6 продолжает опе-

режающее выполнение команд,  следующих за командой 1,  и успевает

обработать,  как правило,  20-30 команд.  Среди этих 20-30 команд

будет в среднем пять команд перехода,  которые устройство  выбор-

ки/декодирования должно правильно предсказать для того, чтобы ра-

бота устройства диспетчирования/выполнения не оказалась бесполез-

ной.  Небольшое  количество  регистров  в архитектуре процессоров

«Intel» приводит к интенсивному использованию каждого из  них  и,

как следствие, к возникновению множества мнимых зависимостей меж-

ду командами, использующими один и тот же регистр. Поэтому, чтобы

исключить задержку в выполнении команд из-за мнимых зависимостей,

устройство диспетчирования/выполнения работает с дублями  регист-

ров,  находящимися в пуле команд (одному регистру может соответс-


·     7 -

твовать несколько дублей). Реальный набор регистров контролирует-

ся устройством отката,  и результаты выполнения команд отражаются

на состоянии вычислительной системы только после того, как выпол-

ненная команда удаляется из пула команд в соответствии с истинным

порядком команд в программе.

Таким образом, принятая в P6 технология динамического выпол-

нения может быть описана как оптимальное выполнение  программы  ,

основанное на предсказании будущих переходов, анализе графа пото-

ков данных с целью выбора наилучшего порядка исполнения команд  и

на опережающем выполнении команд в выбранном оптимальном порядке.

2Архитектура P6

На рисунке 2 приведена более подробная блок-схема P6,  вклю-чающая кэши и интерфейс с основной памятью.

Далее мы будем понимать под «упорядоченным» устройство,  ко-

торое работает в соответствии с исходным порядком команд в  прог-

рамме,  а  под «беспорядочным» - устройство,  которое не обращает

внимания на исходный порядок команд в программе.

Устройство выборки/декодирования   является  «упорядоченным»

устройством,  которое воспринимает на входе поток команд из прог-

раммы  пользователя  и декодирует их,  превращая в последователь-

ность микрокоманд,  соответствующих  потоку  данных  в  программе

пользователя.

Устройство диспетчирования/выполнения является  «беспорядоч-

ным»  устройством,  которое воспринимает поток данных и планирует

выполнение микрокоманд с учетом зависимостей по данным и  доступ-

ности ресурсов, а также временно сохраняет результаты опережающе-

Страницы: 1, 2, 3, 4, 5


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.