![]() |
|
|
Реферат: Процессор пентиумРеферат: Процессор пентиум2Содержание Вступление 2 Два кристалла в одном корпусе 3 Pentium как точка отсчета 4 Основная проблема на пути повышения производительности 5 Решение принятое в P6 6 Архитектура P6 7 1. Устройство выборки/декодирования 7 2. Устройство диспетчирования/выполнения 8 3. Устройство отката 9 4. Интерфейс шины 10 5. Вывод 11 P6 как платформа для построения мощных серверов 12 Системы на основе P6 13 Следующее поколение процессоров 14 Заключение 17 Приложения 18 Литература 22 . · 2 - ш1.1 2Вступление Все IBM-совместимые персональные компьютеры укомплектованы Intel-совместимыми процессорами. История развития микропроцессо-ров семейства Intel вкратце такова. Первый универсальный микро-процессор фирмы Intel появился в 1970 г. Он назывался Intel 4004, был четырехразрядным и имел возможность ввода/вывода и обработки четырехбитных слов. Быстродействие его составляло 8000 операций в секунду. Микропроцессор Intel 4004 был рассчитан на применение в программируемых калькуляторах с памятью размером в 4 Кбайт. Через три года фирма Intel выпустила процессор 8080, который мог выполнять уже 16-битные арифметические операции, имел 1б-раз- рядную адресную шину и, следовательно, мог адресовать до 64 Кбайт памяти (2 516 0=65536). 1978 год ознаменовался выпуском процессора 8086 с размером слова в 16 бит (два байта), 20-разрядной шиной и мог оперировать уже с 1 Мбайт памяти (2 520 0=1048576, или 1024 Кбайт), разделенной на блоки (сегменты) по 64 Кбайт каждый. Про- цессором 8086 комплектовались компьютеры, совместимые с IBM PC и IBM PC/XT. Следующим крупным шагом в разработке новых микропро- цессоров стал появившийся в 1982 году процессор 8028б. Он обладал 24-разрядной адресной шиной, мог распоряжаться 16 мегабайтами ад- ресного пространства и ставился на компьютеры, совместимые с IBM PC/AT. В октябре 1985 года был выпущен 80386DX с 32- разрядной шиной адреса (максимальное адресное пространство - 4 Гбайт), а в июне 1988 года - 80386SX, более дешевый по сравнению с 80386DX и обладавший 24-разрядной адресной шиной. Затем в апреле 1989 года появляется микропроцессор 80486DX, а в мае 1993 - первый вариант процессора Pentium (оба с 32-разрядной шиной адреса). В мае 1995 года в Москве на международной выставке Комтек-95 фирма Intel представила новый процессор - P6. Одной из важнейших целей, поставленных при разработке P6, было удвоение производительности по сравнению с процессором Pen- tium. При этом производство первых версий P6 будет осуществляться по уже отлаженной «Intel» и используемой при производстве послед- них версий Pentium полупроводниковой технологии (О,6 мкм, З,З В). Использование того же самого процесса производства дает гарантию того, что массовое производство P6 будет налажено без серьезных проблем. Вместе с тем это означает, что удвоение производитель- ности достигается только за счет всестороннего улучшения микроар- хитектуры процессора. При разработке микроархитектуры P6 исполь- зовалась тщательно продуманная и настроенная комбинация различных архитектурных методов. Часть из них была ранее опробована в про- цессорах «больших» компьютеров, часть предложена академическими институтами, оставшиеся разработаны инженерами фирмы «Intel». Эта уникальная комбинация архитектурных особенностей, которую в «In- tel» определяют словами «динамическое выполнение», позволила пер- вым кристаллам P6 превзойти первоначально планировавшийся уровень производительности. При сравнении с альтернативными «Intel» процессорами семейс- тва х86 выясняется, что микроархитектура Р6 имеет много общего с микроархитектурой процессоров Nx586 фирмы NexGen и K5 фирмы AMD, и, хотя и в меньшей степени, с M1 фирмы «Cyrix». Эта общность · 3 - объясняется тем, что инженеры четырех компаний решали одну и ту же задачу: внедрение элементов RISC-технологии при сохранении совместимости с CISC-архитектурой Intel х86. 2Два кристалла в одном корпусеГлавное преимущество и уникальная особенность Р6 - размещен-ная в одном корпусе с процессором вторичная статическая кэш-па-мять размером 256 кб, соединенная с процессором специально выде-ленной шиной. Такая конструкция должна существенно упростить про-ектирование систем на базе Р6. Р6 - первый предназначенный для массового производства микропроцессор, содержащий два чипа в од-ном корпусе. Кристалл ЦПУ в Р6 содержит 5,5 миллионов транзисторов; крис- талл кэш-памяти второго уровня - 15,5 миллионов. Для сравнения, последняя модель Pentium включала около 3,3 миллиона транзисто- ров, а кэш-память второго уровня реализовывалась с помощью внеш- него набора кристаллов памяти. Столь большое число транзисторов в кэше объясняется его ста- тической природой. Статическая память в P6 использует шесть тран- зисторов для запоминания одного бита, в то время как динамической памяти было бы достаточно одного транзистора на бит. Статическая память быстрее, но дороже. Хотя число транзисторов на кристалле с вторичным кэшем втрое больше, чем на кристалле процессора, физические размеры кэша меньше: 202 квадратных миллиметра против 306 у процессора. Оба кристалла вместе заключены в керамический корпус с 387 контактами (“dual cavity pin-drid array”). Оба кристалла производятся с при- менением одной и той же технологии (0,6 мкм, 4- слойная ме- талл-БиКМОП, 2,9 В). Предполагаемое максимальное потребление энергии: 20 Вт при частоте 133 МГц. Первая причина объединения процессора и вторичного кэша в одном корпусе - облегчение проектирования и производства высокоп- роизводительных систем на базе Р6. Производительность вычисли- тельной системы, построенной на быстром процессоре, очень сильно зависит от точной настройки микросхем окружения процессора, в частности вторичного кэша. Далеко не все фирмы-производители компьютеров могут позволить себе соответствующие исследования. В Р6 вторичный кэш уже настроен на процессор оптимальным образом, что облегчает проектирование материнской платы. Вторая причина объединения - повышение производительности. Кзш второго уровня связан с процессором специально выделенной ши- ной шириной 64 бита и работает на той же тактовой частоте, что и процессор. Первые процессоры Рentium с тактовой частотой 60 и 66 МГц обращались к вторичному кэшу по 64-разрядной шине с той же такто- вой частотой. Однако с ростом тактовой частоты Pentium для проек- тировщиков стало слишком сложно и дорого поддерживать такую час- тоту на материнской плате. Поэтому стали применяться делители частоты. Например, у 100 МГц Pentium внешняя шина работает на частоте 66 МГц (у 90 МГц Pentium - соответственно 60 МГц). Penti- um использует эту шину как для обращений к вторичному кэшу, так и · 4 - для обращения к основной памяти и другим устройствам, например к набору чипов PCI. Использование специально выделенной шины для доступа к вто- ричному кэшу улучшает производительность вычислительной системы. Во-первых, при этом достигается полная синхронизация скоростей процессора и шины; во-вторых, исключается конкуренция с другими операциями ввода-вывода и связанные с этим задержки. Шина кэша второго уровня полностью отделена от внешней шины, через которую происходит доступ к памяти и внешним устройствам. 64-битовая внешняя шина может работать со скоростью, равной половине, одной третьей или одной четвертой от скорости процессора, при этом шина вторичного кэша работает независимо на полной скорости. Объединение процессора и вторичного кэша в одном корпусе и их связь через выделенную шину является шагом по направлению к методам повышения производительности, используемым в наиболее мощных RISC-процессорах. Так, в процессоре Alpha 21164 фирмы «Di- gital» кэш второго уровня размером 96 кб размещен в ядре процес- сора, как и первичный кэш. Это обеспечивает очень высокую произ- водительность кэша за счет увеличения числа транзисторов на крис- талле до 9,3 миллиона. Производительность Alpha 21164 составляет 330 SPECint92 при тактовой частоте 300 МГц. Производительность Р6 ниже (по оценкам «Intel» - 200 SPECint92 при тактовой частоте 133 МГц), однако Р6 обеспечивает лучшее соотношение стоимость/произ- водительность для своего потенциального рынка. При оценке соотношения стоимость/производительность следует учитывать, что, хотя Р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, вклю-чающая кэши и интерфейс с основной памятью. Далее мы будем понимать под «упорядоченным» устройство, ко- торое работает в соответствии с исходным порядком команд в прог- рамме, а под «беспорядочным» - устройство, которое не обращает внимания на исходный порядок команд в программе. Устройство выборки/декодирования является «упорядоченным» устройством, которое воспринимает на входе поток команд из прог- раммы пользователя и декодирует их, превращая в последователь- ность микрокоманд, соответствующих потоку данных в программе пользователя. Устройство диспетчирования/выполнения является «беспорядоч- ным» устройством, которое воспринимает поток данных и планирует выполнение микрокоманд с учетом зависимостей по данным и доступ- ности ресурсов, а также временно сохраняет результаты опережающе- го выполнения в пуле команд. Устройство отката - «упорядоченное» устройство, которое зна- ет, как и когда завершить выполнение команды, то есть перевести временные результаты опережающего выполнения в постоянное состоя- ние вычислительной системы. Интерфейс шины является «частично упорядоченным» устройс- твом, отвечающим за связь трех вышеупомянутых устройств с внешним миром. Интерфейс шины взаимодействует непосредственно с кэшем 2-го уровня и поддерживает до 4 параллельных обращений к кэшу. Интерфейс шины также управляет обменом данными с основной па- мятью, который происходит с использованием протокола MESI [1]. 2Устройство выборки/декодированияСтруктура этого устройства приведена на рисунке 3. Команды из кэша команд могут быть быстро выбраны для после- дующей обработки. Указатель на следующую команду - это индекс кэ- ша команд, содержимое которого определяется буфером переходов, состоянием процессора и сообщениями о неправильном предсказании перехода, поступающими из устройства выполнения целых команд. Бу- фер переходов с 512 входами использует расширение алгоритма Йе (Yeh), которое обеспечивает более чем 90-процентную точность предсказания переходов. Предположим, что ничего исключительного не происходит и что · 8 - буфер переходов в своих предсказаниях оказался прав (в P6 предус- мотрены эффективные действия в случае неправильного предсказания перехода). Кэш команд выбирает строку кэша, соответствующую индексу в указателе на следующую команду, и следующую за ней строку, после чего передает 16 выровненных байтов декодеру. Две строки считыва- ются из-за того, что команды в архитектуре Intel выровнены по границе байта, и поэтому может происходить передача управления на середину или конец строки кэша. Выполнение этой ступени конвейера занимает три такта, включая время, необходимое для вращения пред- выбранных байтов и их подачи на декодеры команд. Начало и конец команд помечаются. Три параллельных декодера принимают поток отмеченных байтов и обрабатывают их, отыскивая и декодируя содержащиеся в потоке команды. Декодер преобразует команды архитектуры Intel в микроко- манды-триады (два операнда, один результат). Большинство команд архитектуры Intel преобразуются в одну микрокоманду, некоторые требуют четырех микрокоманд, а сложные команды требуют обращения к микрокоду, представляющему из себя набор заранее составленных последовательностей микрокоманд. Некоторые команды, так называе- мые байт-префиксы, модифицируют следующую за ними команду, что также усложняет работу декодера. Микрокоманды ставятся в очередь, посылаются в таблицу псевдонимов регистров, где ссылки на логи- ческие регистры преобразуются в ссылки на физические регистры P6, после чего каждая из микрокоманд вместе с дополнительной информа- цией о ее состоянии (статусе) посылается в пул команд. Пул команд реализован в виде массива контекстно-адресуемой памяти, называе- мого также буфером переупорядочивания. В этой точке заканчивается «упорядоченная» часть конвейера. 2Устройство диспетчирования/выполненияУстройство диспетчирования выбирает микрокоманды из пула ко-манд в зависимости от их статуса. Под статусом мы будем понимать информацию о доступности операндов микрокоманды и наличии необхо-димых для ее выполнения вычислительных ресурсов. Если статус мик-рокоманды показывает, что ее операнды уже вычислены и доступны, а необходимое для ее выполнения вычислительное устройство (ресурс) также доступно, то устройство диспетчирования выбирает микроко-манду из пула команд и направляет ее на устройство для выполне-ния. Результаты выполнения микрокоманды возвращаются в пул. Взаимодействие с вычислительными ресурсами происходит через пятипортовую распределительную станцию. Структура устройства дис- петчирования/выполнения показана на рисунке 4. P6 может запускать на выполнение до 5 микрокоманд за такт, по одной на каждый порт. Средняя длительно поддерживаемая про- пускная способность - 3 микрокоманды за такт. Процесс планирова- ния выполнения микрокоманд является принципиально «беспорядоч- ным»: момент направления микрокоманд на вычислительные ресурсы определяется только потоками данных и доступностью ресурсов, без какой бы то ни было связи с первоначальным порядком команд в программе. · 9 - Алгоритм, отвечающий за планирование выполнения микрокоманд, Страницы: 1, 2 |
|
|||||||||||||||||||||||||||||
![]() |
|
Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое. |
||
При использовании материалов - ссылка на сайт обязательна. |