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