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

Сдавался/использовался1. Базовое предприятие МИРЕА (НИИ "ВОСХОД"), преподаватель Клименко А.В. 2. МЭИ, преп. Кузовкин, 1997
Примечаниеот автора: В связи с постоянным усовершенствованием процессоров текст требует некоторой правки и внесения некоторых свежих данных
Загрузить архив:
Файл: ref-2399.zip (43kb [zip], Скачиваний: 60) скачать

                           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 Кбайт

памяти (25160=65536).1978 год ознаменовался выпускомпроцессора

8086 с размером слова в 16 бит (два байта),20-разрядной шиной и

мог оперировать уже с 1Мбайтпамяти  (25200=1048576,или1024

Кбайт),разделенной на блоки (сегменты) по 64 Кбайт каждый. Про-

цессором 8086 комплектовались компьютеры,совместимые с IBM PC и

IBMPC/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 -

     Алгоритм, отвечающий за планирование выполнения микрокоманд,

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

Если в каждом такте для каждого ресурса готова к выполнению толь-

коодна микрокоманда,то проблемы выбора не возникает.Но если

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

какую из них выбрать?Можно доверить выбор случаю.Можно приме-

нить алгоритм "первый пришел - первый обслужен". Идеальным был бы

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

сокращению графа потоковданныхвыполняемой  программы.Однако

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

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

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

смежное выполнение смежных микрокоманд.

     Поскольку система команд 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 новые возможности диаг-

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

системы.В Р6 предусмотрена возможность получения через контакты

процессораили  спомощью программного обеспечения информации о

более чем 100 переменных процессора или происходящих в нем  собы-

тиях,таких как отсутствие данных в кэше,содержимое регистров,

появление самомодифицирующего кода и так далее. Операционная сис-

темаи другие программы могут считывать эту информацию для опре-

деления состояния процессора.В Р6 также реализованаулучшенная

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

отката компьютера в зафиксированное ранее состояние в случае воз-

никновения ошибки.

     Р6 поддерживает те же возможностипо  контролюприпомощи

функциональной избыточности (FRC),что и Pentium.Это означает,

что в P6 предусмотрена возможность построения систем с параллель-

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

имным контролем результатов и сообщением об ошибке в случае  рас-

хождения.При  этом,к сожалению,P6 по-прежнему не сообщает о

причине ошибки.

     В модели  Р54С процессора Pentium "Intel" предложила простой

и недорогой способ организации двухпроцессорной работы: ведущий и

ведомый процессоры используют общий кэш и невидимо для приложений

разделяют программу на потоки.Однако использовать такую органи-

зацию работы могут лишь многопоточные операционные системы.

     Р6 переводит организацию многопроцессорной работынановый

уровень,соответствующий определенной "Intel" мультипроцессорной

спецификации MPS 1.1.Одним из наиболее сложных аспектов симмет-

ричноймногопроцессорнойработы  является поддержание кэш-соот-

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

Р6поддерживает кэш-соответствие для вторичного кэша на внутрен-

нем уровне, а внешняя шина P6 выступает как симметричная мультип-

роцессорная шина.

     Раньше проектировщики мультипроцессорных систем должныбыли

создаватьсобственные шины для связи процессоров,либо приобре-

тать лицензию на ужесуществующиерешения,  напримерCorollary

C-bus II.Теперь средства, реализованные "Intel" в Р6, позволяют

объединить четыре процессора в мультипроцессорную систему. Четыре

- это предел, обуславливаемый принятой в Р6 логикой арбитража.


                             - 13 -

     Еще одна проблема для производителей многопроцессорныхсис-

темна  базе Р6 состоит в том,что для эффективной работы таких

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

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

Р6. Таким образом, проектировщики высокопроизводительных серверов

будутвынуждены использовать внешние контроллеры кэша и дополни-

тельные микросхемы статической памяти.

     Эта проблемабудет разрешена,если "Intel" увеличит размер

кэша второго уровня в корпусе Р6, что достижимо либо за счет уве-

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

тюрной технологии производства.Сегодняпроизводители,которые

хотятстроить системы с более чем четырьмя процессорами,должны

объединять две или более четырехпроцессорныхсистемыс  помощью

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

ализации таких соединений для PCI ожидаются в этом году.

                      2Системы на основе Р6

     Можно предположить,что компьютеры на базе P6 первоначально

будутнапоминать сегодняшние наиболее мощные Pentium-компьютеры:

по меньшей мере 1 Гб жесткий диск, 32 Мб оперативной памяти, мощ-

ныеграфические  контроллеры.Появятся первые многопроцессорные

серверы на Р6.

     Улучшенная диагностика и средства обработки ошибок в Р6 поз-

воляют проектировать на базе Р6 надежные серверы уровня предприя-

тия. Улучшенная поддержка симметричной многопроцессорной работы в

сочетании с поддерживающими такую работу версиями OS/2 и  NetWare

приведет к построению на Р6 еще более мощных серверов.

     "Intel" предполагает,что первыми Р6-системами будут серве-

ры, однако настольные компьютеры на P6 появятся почти одновремен-

но с ними. Цена первых настольных Р6-компьютеров будет начинаться

с 4000 долларов и расти с ростом мощности конфигурации.С учетом

размера корпуса Р6, его потребления энергии и рассеиваемого тепла

(требуется активное охлаждение),не следует ожидать быстрого по-

явления портативных компьютеров на Р6.

     Как обычно, первыми пользователями настольных компьютеров на

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

печенияи пользователи из таких областей,как САПР,  настольные

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

результатов, статистика, одним словом, те области, которым всегда

недоставало и будет недоставать существующих скоростей.

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

Р6 являются серверы приложений,осуществляющие такие работы, как

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

тов. Системные серверы и серверы печати не привязаны к конкретно-

мутипу процессоров и поэтому не испытывают таких потребностей в

увеличении мощности.

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

сравнительно небольшие организации, где на эти системы будет воз-

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

тельности организации приложений.Большие предприятия будут при-

обретать такие системы несколько позднее, после тщательной оценки


                             - 14 -

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

значительно большее число разработанных на заказ программ и стан-

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

на его совместимость с новыми системами.

     Типичная Р6-система будет включать процессор Р6стактовой

частотой133 МГц,  внешнюю шину,работающую на половине,одной

третьей или одной четверти от этойчастоты,набор  чиповIntel

Р6/PCI по имени Orion,поддерживающий версию 2.1 32-битовой шины

PCI с частотой 33 МГц, но не поддерживающий 64-битовые расширения

PCI.

     Вследствие наличия встроенного кэша второго уровня,в боль-

шинствеР6-систем  будетотсутствовать внешний кэш и контроллер

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

60-наносекундные DRAM или,в некоторых случаях, поддерживаемые в

наборе чипов Intel Triton для Pentium более скоростные EDO  DRAM.

Стандартной будет конфигурация с 16 Мб оперативной памяти при все

возрастающем числе систем с 32 Мб.

     Первоначально Р6-системы будут включать как шину PCI,так и

шины EISA/ISA. Однако по мере роста поддержки PCI необходимость в

EISA и ISA будет уменьшаться.Особенно важным для этого является

появление предусмотренных в PCI 2.1 мостов PCI-PCI. Главной проб-

лемойпри использовании PCI сегодня является ограничения на сте-

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

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

ранства.

     Включение в систему нескольких шин PCI, соединенных мостами,

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

помимо памяти и графики высокоскоростные сетевые интерфейсы (нап-

ример, 100 Мбит/сек Ethernet, FDDI и ATM) и высокоскоростной пос-

ледовательный ввод-вывод.

     Емкость памяти на жестком диске будет по меньшей мере 730 Мб

сиспользованиеминтерфейса IDE или SCSI.Большая часть систем

будет включать 2-скоростные или более быстрые CDROM.  Графика бу-

детобеспечивать  разрешение1024 на 768 пикселов и управляться

картами-акселераторами с 2-4 Мб памяти.

     Более необычныеконфигурации  могутвключать слоты PCMCIA,

4-скоростные CD-ROM,поддержку 40 Мб/сек Ultra SCSI,встроенные

10-100Мбит/сек сетевые порты и встроенные возможности мультиме-

диа,реализованные с помощью цифровых сигнальных процессоров или

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

жений,компрессии/декомпрессии. Некоторые производители, возмож-

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

графических акселераторов,64-битовых расширений шиныи  других

новшеств, допускаемых спецификацией PCI.

                 2Следующее поколение процессоров

                                          

     Технология Р6является логическим развитием технологии Pen-

tium. Ожидается что в процессоре Р7 будет реализована существенно

отличная от Р6 технология, обеспечивающая прорыв в производитель-

ности при сохранении совместимости с семейством x86.

     В прошлом  году"Intel"и "Hewlett-Packard" договорились о


                             - 15 -

совместной разработке нового микропроцессора,  появление которого

планируется на 1997 или 1998 год.О внутреннем устройстве нового

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

RISC-технологию и обеспечивать выполнение всего существующего для

процессоров Intelх86и  Hewlett-PackardPA-RISCпрограммного

обеспечения. Кроме поддержки существующих наборов команд этих се-

мейств, по всей видимости, в Р7 будет введена собственная система

команд.

     Согласно преобладающей точке зрения, "Intel" и "Hewlett-Pac-

kard"ведут эксперименты с технологией VLIW ("very long instruc-

tion word" - очень длинное командное слово).Можно сказать,что

VLIWв определенном смысле прямо противоположна технологии,ис-

пользуемой в Р6.В Р6 изощренно построенный декодертранслирует

сложные команды х86 в более короткие и простые RISC-микрокоманды.

VLIW-процессор основывается на компиляторе нового типа,  который,

наоборот,упаковывает  несколькопростых операций в одну "очень

длинную" команду. Каждая "очень длинная" команда содержит незави-

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

     Иными словами,во VLIW-процессоре ответственность за плани-

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

обеспечение. Планирование осуществляет компилятор, и получающийся

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

формацию о порядке выполнения команд.

     Однако пока VLIW-технология весьма несовершенна.Во-первых,

не разработаны эффективные методы проектирования  VLIW-компилято-

ров.Во-вторых,  вполневероятно,что программное обеспечение,

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

появлении процессора нового поколения.

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

многиеобозреватели сомневаются в том,что Intel и Hewlett-Pac-

kard смогут выпустить жизнеспособный с точки  зренияконкуренции

на рынке VLIW-процессор.Рынок процессоров х86 слишком важен для

Intel, и вряд ли Intel может полностью положиться на неопробован-

ную технологию.Поэтому вполне вероятно,что Intel работает над

параллельным проектом Р7, основанным на более традиционной техно-

логии, чтобы застраховаться на случай неудачи VLIW-проекта.

     Дело в том чтовозможности  усовершенствованияархитектуры

х86не исчерпаны.  Естественное направление ее развития включает

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

манд,увеличение размера первичных кэшей,размещение вторичного

кэша на кристалле процессора,большее число исполнительныхуст-

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

почек выполняемых с опережением команд.

     Конкуренты "Intel"также  несобираются сидеть сложа руки.

"NexGen" планирует выпуск процессора Nx686 в конце  1995годаи

утверждает, что его производительность будет в 2-4 раза превосхо-

дить производительность Nx586. "Cyrix" также работает над процес-

сором-преемником М1, но подробностей пока не сообщает.

     Наиболее подробно сообщает о своих планах AMD.Следующий за

К5 процессор К6 появится в 1996 году, а его массовое производство

начнется в 1997 году. К6 будет изготавливаться по технологии 0,35

мкм и будет содержать около 6,5 миллионов транзисторов. Предпола-


                             - 16 -

гаемая производитель К6 - 300 SPECint92. В 1997 году AMD планиру-

етвыпуск процессора К7,с началом его массового производства в

1998 году. К7 будет изготавливаться по технологии 0,18 мкм; число

транзисторов - 10-15 миллионов.Предполагается, что при тактовой

частоте 400 МГц он достигнетпроизводительности700  SPECint92.

Наконец, в 2001 году AMD планирует выпуск процессора K8, содержа-

щего 20 миллионов транзисторов иобеспечивающегопроизводитель-

ность 1000 SPECint92 на тактовой частоте 600 МГц.

     Возможно и появление новых конкурентов. Процессоры 386 и 486

производят IBM Microelectronics,"Texas Instruments", SGS-Thomp-

son и ряд азиатских фирм.Однако до сих пор никто из них непы-

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

менного процессора семейства х86,который мог бы конкурировать с

новейшими процессорами "Intel", AMD, "Cyrix" и NexGen.

.

                             - 17 -

                           2Заключение

     Процессоры Р6 фирмы Intel выбраны в качестве элементной базы

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

операций в секунду. Уникальная машина предназначена главным обра-

зом для расчетов по ядерной тематике Министерства энергетики США.

     Министерство остановило свой выбор на Intel Corporation, по-

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

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

рыхсовременных  суперкомпьютеров.Новая вычислительная система

будет установлена в Sandia National Laboratories-многоцелевой

лабораторииМинистерства энергетики США в городе Альбукерк (штат

Нью-Мексико).В составе машины Intel/Sandia будет работать свыше

9000 микропроцессоров компании Intel следующего поколения,полу-

чивших кодовое название Р6.

     Замечательно, чтомашина  Intel/Sandiaстроитсяиз тех же

компьютерных "строительных кирпичиков", которые Intel представля-

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

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

рах, рабочих станциях и настольных компьютерах.

     Новая система будетиметь  пиковуюпроизводительность1.8

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

твие при работе с важнымиприкладнымипрограммами  Министерства

энергетики. Машина оснащается системной памятью в 262 Гбайт и бу-

дет сдана в эксплуатацию к концу 1996 года.

     Недавно фирма Intel объявила новое название своего процессо-

ра P6. Теперь он будет называться Pentium Pro.

.

                             - 22 -

                           Литература

     1. Монитор N 3 1995г.

        Д.Бройтман "Микроархитектура процессора P6" с.6-11.

     2. Монитор  N5 1995г.

        Д.Бройтман "Процессор P6: общий обзор" с.8-12.

     3. Hard 'n' Soft N 10 1995г.