PC Magazine/RE logo (С) СК Пресс 12/95
PC Magazine September 12, 1995,p. 102

P6: процессор нового поколения

Себастьян Рапли, Джон Клаймен


Преемник процессора Pentium не обязательно оправдает все ваши ожидания. Чтобы этот процессор по-настоящему "показал себя", вам потребуются 32-разрядные прикладные программы и полностью 32-разрядная операционна система - даже Windows 95 не подойдет.

Искушенные пользователи-профессионалы, возможно, с нетерпением предвкушают встречу с новым поколением процессоров x86. Процессор P61 фирмы Intel, представителя следующего поколения, приходящего на смену Pentium, определенно можно считать технологическим шедевром своего времени. Но если вы рассчитываете, что P6 вдвое превзойдет по производительности Pentium, то будете разочарованы. Мы ожидаем, что быстродействие первых систем на базе P6 при выполнении типичных прикладных программ делового назначения будет в лучшем случае на 40-60% выше, чем поставляемых одновременно с ними ПК с процессором Pentium.

Звучит, возможно, не так уж и плохо, но приведенна оценка основывается на важном предположении: а именно что вы применяете 32-разрядные программы под управлением полностью 32-разрядной операционной системы, такой, как Microsoft Windows NT или OS/2. По нашим оценкам, при выполнении 32-разрядных программ в среде Microsoft Windows 95 микропроцессор P6 превзойдет по производительности быстрые процессоры Pentium не более чем на 20-30%. Корпорация Intel признает, что, работая с 16-разрядными прикладными программами и Microsoft Windows 3.1, P6 будет, скорее всего, даже уступать процессору Pentium. P6, возможно, удостоитс сомнительной чести стать первым в семействе x86 процессором, который выполняет существующие программы медленнее, чем его предшественники.

Учитывая, что P6 содержит вдвое больше транзисторов, чем Pentium, его производство обойдется значительно дороже. Таким образом, после появления P6 осенью 1996 г. компании Intel придется вступить в позиционную войну как против собственных уже существующих изделий, так и против растущей конкуренции со стороны других изготовителей процессоров x86. Поэтому рыночна стратегия Intel предусматривает использование P6 не в качестве прямого преемника Pentium, а как его высококлассную - почти уровня рабочих станций - альтернативу.

Нет ничего удивительного в том, что новые процессоры обычно предназначаются для применения в дорогих высокопроизводительных персональных компьютерах и серверах - и это объясняется их высокой начальной стоимостью и ограниченной доступностью. Но на этот раз у фирмы Intel не было выбора: архитектурные решения, направленные на повышение производительности P6 при работе с 32-разрядными программами, оказались серьезной помехой при выполнении существующих 16-разрядных программ. (Подавляющее большинство поставляемых сегодн прикладных программ подготовлено в 16-разрядном коде, хотя 32-разрядные программы, по-видимому, получат большее распространение после выхода в свет Windows 95.)

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

Хронология ЦП

За 17 лет семейство процессоров x86 проделало длинный путь: процессор P6 обеспечивает почти в тысячу раз более высокое быстродействие, чем 8086. Вот несколько важных дат из истории эволюции индустрии ПК.

1978 - Intel 8086. 16-разрядные регистры, 16-разрядная шина данных. Выпущен в июне 1978 г. 29 тыс. транзисторов, 4,77-10 МГц, менее 1 млн. операция/с. Начальная цена: 360 долл.

1979 - Intel 8088. Процессор 8086 с 8-разрядной шиной данных. Выпущен в июне 1979 г. 4,77-8 МГц.

1981 - выпущен IBM PC с процессором 8088.

1982 - Intel 80286. 16-разрядные регистры, 16-разрядная шина данных, работа в защищенном режиме. Выпущен в феврале 1982 г. 134 тыс. транзисторов, 6-12 МГц, 1-2 млн. операция/с. Начальная цена: 360 долл.

1984 - выпущен IBM PC AT с процессором 80286.

1985 - Intel 80386. 32-разрядные регистры, 32-разрядная шина данных, работа в защищенном режиме. Выпущен в октябре 1985 г. 275 тыс. транзисторов, 16-33 МГц, 6-12 млн. операция/с. Начальная цена: 299 долл.

1985 - выпущена Microsoft Windows.

1986 - выпущена модель Compaq DeskPro 386/16.

1987 - выпущено семейство IBM PS/2 с архитектурой Micro Channel и операционной системой OS/2.

1988 - Intel 80386SX. Процессор 80386 с 16-разрядной шиной данных. Выпущен в июне 1988 г., 16-33 МГц.

1989 - Intel 486DX. 32-разрядные регистры, 32-разрядная шина данных. Встроенный математический сопроцессор. Выпущен в апреле 1989 г., 1,2 млн. транзисторов, 25-50 МГц, 20-40 млн. операция/с. Начальная цена: 950 долл.

1990 - Выпущены ПК с процессором 486DX/25.

1991 - Intel 486SX. Процессор 486DX без математического сопроцессора. Выпущен в апреле 1991 г., 16-33 МГц.

1992 - Intel 486DX2. Процессор 486DX с удвоением тактовой частоты. Выпущен в марте 1989 г., 50-66 МГц.

1993 - Intel Pentium. 32-разрядные регистры, 64-разрядная шина данных. Суперскалярна архитектура. Выпущен в марте 1993 г., 3,2 млн. транзисторов, 60-133 МГц, 100 - 200 и более млн. операция/с. Начальная цена: 878 долл.

1994 - Intel 90-МГц Pentium "P54C". Pentium с напряжением питания 3,3 В.

1994 - Intel DX4. Процессор 486DX с утроением тактовой частоты и кэш-памятью увеличенной емкости. Выпущен в марте 1994 г., 75-100 МГц.

1994-1996
- Конкуренты Pentium:

1995 - Intel P6. 32-разрядные регистры, 64-разрядная шина данных.Суперскалярная архитектура; исполнение с изменением последовательности команд; встроенный кэш второго уровня. Должен появитьс во второй половине 1995 г. 5,5 млн. транзисторов (исключая кэш второго уровня). Начальные тактовые частоты: 133 и 150 МГц.

Оперативная информация о производительности P6

Для получения самых последних данных о производительности опытных образцов P6 обратитесь к нашим оперативным источникам. Вы можете получить результаты из нашего архива World-Wide Web (http://www.ziff.com/~pcmag) с помощью анонимного FTP (ftp.pcmag.ziff.com) или в библиотеке аппаратных средств Hardware Library форума Editorial Forum (GO EDITOR) журнала PC Magazine сети ZiffNet/CompuServe.

Согласно прогнозам компании International Data Corp., микропроцессор Pentium останется лидером на рынке процессоров даже в 1997 г. Для P6 ожидаетс умеренный рост объема продаж: прогнозируемая на 1997 г. его доля рынка составляет 25%.

Доля рынка ПК на базе процессоров фирмы Intel, %
1994 1995 1) 1996 1) 1997 1)
386, % 1 - - -
486, % 87 57 21 5
Pentium, % 13 43 72 70
P6, % - - 7 25
P7, % - - - 1
1) Прогноз
Суммы долей в процентах могут отличаться от 100% из-за погрешности округлени Источник: International Data Corp.

НАСЛЕДИЕ RISC

В погоне за высокой производительностью разработчики P6 позаимствовали многие приемы RISC-технологии. P6 не только имеет ярко выраженную суперскалярную архитектуру - он может обрабатывать за один такт три команды x86, в то время, как процессор Pentium - лишь две - но и предусматривает суперконвейерную обработку данных, т. е. конвейеры P6 более "дробные", чтобы можно было повысить тактовую частоту. Фирма Intel считает, что благодаря суперконвейерной организации быстродействие процессора P6 на треть превзойдет производительность Pentium при той же технологии изготовления. Правда, оказалось, что применение суперконвейерной обработки стало одним из источников проблем, связанных с производительностью P6 при выполнении 16-разрядных программ (см. "Почему P6 предпочитает NT").

Первоначально P6 будет работать с тактовыми частотами 133 и 150 МГц; вероятно, появятся и варианты процессора с частотой более 200 МГц. (Для сравнения, в конце 1995 г. фирма Intel обещает выпустить 150-МГц Pentium и ожидает, что предельными частотами для этого процессора станут 180 и 190 МГц.) Связь P6 с внешним миром осуществляется на частотах, составляющих доли внутренней тактовой частоты, что соответствует частоте системной шины в диапазоне от 55 до 66 МГц. Рабоча частота различных реализаций шины PCI составит примерно половину этого значения.

Сначала ЦП P6 будут изготавливаться по той же 0,6-мкм BiCMOS технологии, что применялась дл большинства процессоров Pentium. К 1996 г. Intel перейдет на 0,35-мкм процесс (в настоящее врем применяемый для производства некоторых 120-МГц и 133-МГц процессорах Pentium), который который позволит повысить тактовые частоты.

Суперконвейерная архитектура P6 дополнена средствами изменения последовательности команд (out-of-order execution). Откладывая команды, которые нельз исполнить немедленно, и обрабатывая последующие, допускающие немедленное исполнение, процессору P6 удается избежать некоторых ситуаций, приводящих к замедлению работы процессора Pentium и ему подобных, чьи конвейеры работают строго упорядоченно. Безусловно, P6 гарантирует, что в итоге все команды будут выполнены до конца и дадут верные результаты.

Внутри процессора P6 происходит подразделение команд x86 на RISC-подобные операции, которые фирма Intel именует микро-командами (micro-ops); этот прием упрощает обработку кодов из замысловатого набора x86. (В процессорах K5 фирмы AMD и Nx586 фирмы NexGen, который на рынке ожидается в скором будущем, используется похожий метод.) В P6 реализовано отображение регистров (register renaming), чтобы можно было организовать исполнение с изменением последовательности и обойти еще одно классическое "узкое место" процессоров x86: ограниченное число "архитектурных" регистров (т. е. определенных в системе команд).

Уникальность P6 среди других серийно выпускаемых процессоров состоит также в том, что он фактически объединяет два кристалла в одном корпусе: собственно ЦП и 256-Кбайт либо 512-Кбайт быстродействующую кэш-память второго уровня. (См. "Шина P6: быстродействующий интерфейс для мультипроцессорных систем.") Фирма Intel именует примененную в процессоре P6 конструкцию "сдвоенной камерой" (dual-cavity); другие поставщики иногда называют подобную сборку многокристальным модулем (multichip module).

КАКИМИ СТАНУТ СИСТЕМЫ?

Встроенный кэш второго уровня процессора P6 помимо повышения производительности оказывает огромное влияние на системное проектирование. В машинах класса Pentium архитектура подсистем памяти - куда входят процессор, внешний кэш и основная память - стала важнейшим фактором, определяющим характеристики системы. Высококлассные системы объединяют 120-МГц и 130-МГц процессоры Pentium с 256-Кбайт или 512-Кбайт конвейерным синхронно-пакетным кэшем и динамическим ОЗУ со средствами расширенного вывода данных (EDO DRAM). В машинах массового спроса используются менее дорогостоящее асинхронное статическое ОЗУ и стандартное динамическое ОЗУ, работающее в режиме быстрого страничного доступа. Некоторые изготовители вообще отказываются от внешнего кэша, чтобы добитьс приемлемой цены для системы начального уровня.

В системах с процессорами P6 выбор подсистемы памяти по существу сводится к выбору 256-Кбайт или 512-Кбайт варианта; изготовители уже не смогут, как раньше, варьировать эти характеристики, чтобы получить приемлемое соотношение между ценой и производительностью. Поначалу поставщики систем будут даже лишены возможности применять динамическое ОЗУ со средствами расширенного вывода данных (EDO DRAM), поскольку P6 PCIset фирмы Intel - набор логики ядра системы, ранее известный под названием Orion и связывающий процессор с шинами памяти и ввода-вывода - не может работать с EDO-памятью или ее более современным, пакетным, вариантом. Независимые поставщики логики ядра, такие, как OPTi, SIS и VLSI, смогут предложить альтернативные наборы микросхем не ранее, чем в 1996 г.

Intel выпускает также кристалл кэш-памяти второго уровня, объясняя это отсутствием подходящих изделий у независимых поставщиков. Практически все системы P6, выпущенные в 1995 г., будут использовать не только процессоры, кэш-память и наборы ИС фирмы Intel; в них будут установлены полные системные платы фирмы Intel. Фактически от трети до половины стоимости системы придется, по всей видимости, на компоненты, корпорации Intel.

Поставщики систем самого высокого класса, в особенности компания Compaq, в прошлом стремились, чтобы их машины отличала специально разработанна системная архитектура. Однако разработка и испытание специальной архитектуры требуют больших затрат и отнимают много времени; немногие захотят поступитьс объемом продаж своих изделий немедленно после выхода в свет P6. Необходимость быстро выпустить на рынок новые компьютеры заставит применять системные платы Intel до конца 1995 г. даже тех изготовителей, которые традиционно воздерживались от этого.

Что же вы обнаружите внутри машины с процессором P6? В общем компоненты будут похожи на те, что применяютс в высококлассных Pentium-системах: ОЗУ повышенной емкости, большой жесткий диск, быстродействующие графические платы. Разработчики систем на базе P6 будут широко использовать шину PCI: во многих случаях будут применяться PCI-мосты, чтобы соединить между собой две шины PCI и предоставить шесть гнезд PCI вместо трех или четырех, имеющихся в большинстве сегодняшних систем. Чтобы обеспечить совместимость со старыми или медленными периферийными устройствами, по-прежнему будут предусматриваться гнезда ISA.

Что можно сказать о стоимости машин на базе P6? Возросшее до 5,5 млн. число транзисторов на одном лишь кристалле ЦП процессора - почти вдвое больше, чем в процессоре Pentium - приведет к увеличению размера кристалла и, следовательно, удорожит его производство. Встроенный кэш второго уровня (который содержит еще 15,5 млн. транзисторов для 256-Кбайт варианта и 31 млн. транзисторов для 512-Кбайт варианта) также стоит денег. Мы ожидаем, что цена первых вариантов P6 после начала массового производства упадет до уровня 1200-1600 долл. за кристалл. Для сравнения, перед понижением цен, которое произошло 1 августа 1995 г., 133-МГц процессоры Pentium продавались по 935 долл. за штуку партиями по 1000 приборов, а средняя цена 256-Кбайт статических ОЗУ составила около 100 долл.

На системном уровне это соответствует цене примерно 5000 долл. за системы с 16-Мбайт ОЗУ, 2-Гбайт жесткими дисками и 17-дюйм мониторами. Минимальные конфигурации систем на базе P6 могут стоить до 3000 долл., но, принимая во внимание, для какого рода применений предназначается P6, мы советуем не скупиться.

Вам, наверное, будет небезынтересно узнать, предполагает ли фирма Intel вынести кэш второго уровн за пределы процессора, чтобы сделать возможным выпуск менее дорогостоящих (и обладающих пониженной производительностью) вариантов микросхемы. Intel утверждает, что такое решение маловероятно, так как удаление кэша с кристалла приведет к недопустимому снижению производительности процессора. А учитыва постоянный рост быстродействия процессоров семейства Pentium, становится неясным, будет ли соотношение цены и производительности машин P6 с внешним кэшем второго уровня достаточно привлекательным в сравнении с технико-экономическими показателями его конкурентов. И все же такое не исключено.

СЕРВЕРЫ: СМЕЛЫЙ ШАГ ВПЕРЕД

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

Начнем с того, что P6 позволяет "бесшовную" организацию четырехканальных симметричных многопроцессорных систем. Выражение "бесшовная" организация в данном случае означает, что дл совместной работы четырех ЦП не требуетс дополнительной логики; в них уже предусмотрены все необходимые схемы, и создать - теоретически - многопроцессорный сервер на основе P6 можно, просто соединив между собой соответствующие выводы нескольких ЦП. На практике, конечно, все гораздо сложнее, так как правильный расчет электрической нагрузки и обеспечение охлаждения нескольких процессоров P6 - задача непростая. Очевидно, однако, что к концу 1995 г. можно ожидать распространения многопроцессорных серверов на базе P6.

Преимущества реализованного в P6 подхода к организации мультипроцессорных систем позволяют рекомендовать этот процессор как открывающий новые перспективы для повышения производительности. Индивидуальные кэши процессоров безусловно более эффективны, нежели архитектура с разделяемым кэшем, используемая в большинстве двупроцессорных Pentium-серверов. А благодаря предусмотренной в процессоре P6 шине, ориентированной на обработку транзакций, удается довольно легко объединять несколько серверов в кластер. Могут быть построены сети многопроцессорных P6-серверов, соединенных скоростным каналом передачи данных, таким, как ATM или волоконно-оптический, которые лягут в основу высококлассных серверов приложений.

КАКИМИ СТАНУТ ПРОГРАММЫ?

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

Немногие разработчики взяли на себя труд занятьс перекомпиляцией. Однако это не помешало широкому признанию процессора Pentium, который, несмотря ни на что, сумел обеспечить существенный выигрыш в производительности по сравнению с процессором 486. Ситуация с P6 несколько иная: большинство существующих сегодня 16-разрядных прикладных программ, по утверждению фирмы Intel, просто не будут выполняться на P6 быстрее, чем на Pentium. А программное обеспечение требует гораздо более глубокой переработки, а не просто прогона его через новый компилятор. Чтобы полностью использовать возможности P6, нынешние 16-разрядные прикладные программы и операционные системы потребуют серьезных переделок.

Разработчики должны выпускать 32-разрядные программы вместо 16-разрядных, преобладавших с начала 1980-х годов. Появившийся десять лет назад процессор 386 был первым в семействе x86, работающим с 32-разрядным кодом, который манипулирует сразу четырьмя байтами вместо двух, и преодолевает многие ограничения, присущие системам адресации ранних процессоров x86. (P6, кстати, все еще 32-разрядный процессор, хотя он и связан с внешним миром посредством 64-разрядной шины данных, как и Pentium.) Но требования совместимости сверху вниз и отсутствие получившей массовое распространение операционной системы задержало разработку 32-разрядных прикладных программ. Исключение составляют лишь специализированные сферы применения, где необходимо в полной мере использовать все возможности ЦП.

Выход Windows 95, которая полностью совместима с 32-разрядными прикладными программами, хотя сама содержит значительный объем 16-разрядного кода, по-видимому, даст разработчикам программного обеспечения необходимый стимул.

Пользующиеся наибольшим спросом прикладные программы корпорации Microsoft - Word for Windows и Excel - уже были преобразованы в 32-разрядный формат с тем, чтобы они могли выполняться в среде Windows NT. Большинство систем на базе P6 будут поставляться с уже установленными Windows 95 или Windows NT и набором программ для офиса. Тем не менее многие пользователи столько потратили на основные 16-разрядные прикладные пакеты, что неохотно пойдут на обновление своего программного обеспечения.

Наиболее вероятные пользователи машин на базе P6 будут работать не с программами автоматизации конторской деятельности, а с прикладными пакетами высокого класса, ориентированными на такие применения, как САПР, графика, научное моделирование, финансы и статистика, нейронные сети. Для приложений такого класса несомненным преимуществом процессора P6 станет его высокая скорость вычислений с плавающей точкой. По мнению фирмы Intel, помимо названных категорий продуктов процессор P6 найдет применение в мультимедиа-системах и позволит поднять технологии мультимедиа на качественно новый уровень. Выпуск P6 знаменует собой важный этап в деятельности корпорации Intel, направленной на реализацию концепции "естественной обработки сигналов" (native signal processing, NSP). NSP - эталонная платформа, состояща из наборов микросхем, драйверов и ядра ОС реального времени, разработанная с тем, чтобы помочь ввести функции мультимедиа в ЦП, не прибегая к специализированным аппаратным средствам мультимедиа. Появление NSP не означает отказа от специализированных подсистем мультимедиа, но объединение P6, средств P6 PCIset и интерфейсов прикладных программ NSP (NSP API) фирмы Intel может существенно повысить минимальный уровень возможностей обработки сигналов мультимедиа, обеспечиваемых самим кристаллом. Блок вычислений с плавающей точкой кристалла P6 содержит схемы, предназначенные для того, чтобы ускорить выполнение так называемых множительно- аккумулятивных последовательностей (multiply- accumulate sequences), которые часто используются в прикладных программах дл обработки сигналов.

Главными претендентами на использование собственной обработки сигналов в P6 Intel считает прикладные программы для систем распознавания речи, декодировани видеоинформации в формате MPEG, аудио- и видеомиксеров и телефонии. Эти программы позволяют преодолеть ограничения, присущие ЦП Pentium, не использу дополнительных аппаратных средств.

ПРОБЛЕМА ДОСТОВЕРНОСТИ

Одна из самых больших трудностей при создании процессора - просто обеспечить, чтобы он работал должным образом. И давление со стороны заказчиков, которое испытывает корпорация Intel, усугубляется к тому же ее прошлогодней неудачей, связанной с обнаружением ошибки в блоке вычислений с плавающей точкой процессора Pentium. В результате фирма Intel еще более повысила требования к и без того жесткому процессу контроля качества и отладки. В дополнение к тестированию триллионов командных последовательностей на сотнях машин компания организовала программу пользовательских тестов, в соответствии с которой первые системы с процессорами P6 были разосланы пользователям, работающим с самыми изощренными прикладными программами. В число испытателей попали такие специалисты, как д-р Томас Найсли - математик, первым обнаруживший ошибку в Pentium.

Даже учитывая беспрецедентную по своим масштабам программу испытаний на совместимость, проводимую корпорацией Intel, столь сложное устройство, как ЦП P6, непременно будет иметь какой-нибудь скрытый изъян. Если ошибка будет обнаружена после начала поставок процессора, компания обязуется без промедлени документировать ее.

МЕНЯЮЩИЙСЯ РЫНОК

Означает ли выпуск P6 закат славы процессора Pentium? Едва ли. Мы ожидаем, что поначалу реакци потенциальных покупателей на его появление будет весьма сдержанной, что объясняется его высокой ценой и 32-разрядной архитектурой, все еще недостаточно обеспеченной программными средствами. Очевидно, многие пользователи будут по-прежнему отдавать предпочтение ПК на базе Pentium - и главным образом потому, что фирма Intel продолжает выпускать все более быстродействующие варианты этого процессора. P6 найдет применение на рынке серверов и ПК класса рабочих станций, где его преимущества более очевидны, а фактор стоимости играет не такую важную роль.

Когда в 1996 г. Intel перейдет на 0,35-мкм технологию производства МП P6, увеличив тактовую частоту последнего до 166 или 180 МГц, P6 может стать более приемлемым в качестве массового (хотя все еще дорогостоящего) процессора.

Широкое признание P6 потребует определенного времени, особенно из-за его "приверженности" к Windows NT, OS/2 и UNIX - операционным системам, ни одна из которых не играет доминирующей роли на рынке программных средств для настольных ПК. Заглядывая на несколько лет вперед, мы ожидаем, что P6 в итоге заменит Pentium - точно так же, как в свое врем Pentium вытеснил процессор 486. И произойдет это прежде всего благодаря широкому распространению 32-разрядных прикладных программ и 32-разрядных операционных систем.

Первые год-полтора после начала поставок P6 фирма Intel посвятит наращиванию объемов его производства и повышению тактовой частоты. Следите за отчетами о сравнительной производительности P6-систем по мере их выпуска в ближайшие несколько месяцев.

Себастьян Рапли - старший редактор, а Джон Клаймен - помощник редактора PC Magazine. Ник Стам - технический директор, ответственный за аппаратные средства в лаборатории PC Magazine Labs.

Почему P6 предпочитает NT

Джон Клаймен и Ник Стам

Фирма Intel ясно определила назначение своего процессора P6: это ЦП не для массового потребителя, а для тех, кто работает с мощными вычислительными средствами и прикладными программами высокого класса. Новые процессоры (хотя бы по причине их дороговизны) традиционно предназначаются для наиболее требовательных пользователей, и случай с выходом P6 на рынок процессоров для ПК особенно показателен. С самого начала архитектура процессора была оптимизирована дл 32-разрядных прикладных программ, поэтому первые системы на базе P6 будут выполнять 16-разрядные прикладные программы медленнее, чем высококлассные Pentium-машины.

Это означает, что процессор P6 не даст выигрыша при выполнении подавляющего большинства существующих программ, которые содержат 16-разрядный код и обычно выполняются в 16-разрядной операционной среде, например Microsoft Windows 3.1. Чтобы реализовать заложенные в P6 возможности, вам понадобятся как 32-разрядна операционная система, так и 32-разрядные прикладные программы. Сегодня это фактически сводится к Microsoft Windows NT, OS/2 или UNIX и ограниченному кругу программных пакетов для автоматизации офиса, систем автоматизированного проектирования и графики.

Что можно сказать о Windows 95? Мы предполагаем, что P6 будет выполнять 32-разрядные прикладные программы в среде Windows 95 лишь на 20-30% быстрее, чем Pentium. Windows 95 важна для P6 не потому, что эта операционна система подготовлена в основном в 32-разрядном коде, а так как новая ОС стимулирует разработку множества 32-разрядных прикладных программ. Опытные пользователи, нуждающиеся в мощных вычислительных инструментах, захотят работать с 32-разрядными прикладными программами в среде с Windows NT, чтобы получить наибольшую отдачу от P6.

В чем проблема?

Ограниченная производительность P6 при выполнении 16-разрядных программ - не следствие ошибки, а результат сознательного решения, принятого, по утверждению Intel, еще на ранних стадиях разработки P6. Тогда, заглядывая на годы вперед, компани предполагала, что к сегодняшнему дню большинство пользователей ПК завершат переход на 32-разрядные операционные системы и прикладные программы. Но многочисленные причины, в том числе задержка с выходом в свет Windows 95, замедлили развитие событий.

Разработчики P6 стремятся добиться максимальной производительности с помощью метода исполнения с изменением последовательности команд, с тем чтобы конвейеры работали с максимальной загрузкой. Однако определенные команды не могут быть выполнены вне очереди. Эти команды превращают суперконвейерную архитектуру в серьезную помеху, вынуждая процессор останавливать выполнение всех других операций до завершения выполнения единственной "особенной" команды.

В число особых случаев входит, например, операци чтения из полного регистра. Она может быть задержана, если перед этим выполнялась запись в одну из частей этого регистра, например в 8-разрядную часть 16-разрядного регистра. (Программистам, работавшим с ассемблером, возможно, приходилось использовать регистры, представляющие собой составную часть другого регистра (такие, как AL), для хранения однобайтовых величин.) Обращения к "частичным" регистрам в 16-разрядных программах встречаются нечасто, но они оказывают существенное влияние на выполнение команд процессором: по существу, эти команды могут задержать работу процессора на семь и более тактов, что означает потерю времени, достаточного для выполнения, возможно, двадцати команд x86. (Операции чтения из полного регистра, следующие за записью в 8- или 16-разрядные регистры, в 32-разрядной программе могут служить источником такой же проблемы, но, как утверждает фирма Intel, в большинстве 32-разрядных программ применение указанного метода не принято.)

Еще более вредное влияние оказывают команды загрузки сегментных регистров и команды ввода-вывода, которые не только задерживают выборку и обработку следующих за ними команд, но и влекут за собой полную очистку начальных ступеней конвейера. Все эти проблемы характерны для большинства 16-разрядных программ, существующих сегодня.

Фирма Intel сообщает, что разработчики рассматривали возможность изменения архитектуры процессора, с тем чтобы добиться лучшей производительности при работе с 16-разрядными программами, но пришли к выводу, что внесение изменений будет трудноосуществимо и чрезмерно дорого. Конкурирующие изделия фирм AMD, Cyrix и NexGen, по всей видимости, не имеют таких ограничений.

Массовые пользователи: оставайтесь с pentium

Пользователи, не готовые работать в полностью 32-разрядной операционной среде, предпочтут в обозримом будущем сохранить верность процессору Pentium. И в самом деле, в конце 1995 г. фирма Intel, по-видимому, объявит о выпуске усовершенствованного варианта Pentium с условным названием P55C, оснащенного первичным кэшем большей емкости, чтобы удовлетворить именно эту потребность рынка.

Даже тем, кто готов перейти на 32-разрядные программы и 32-разрядную операционную систему, следует внимательно сопоставить получаемый выигрыш в производительности с возросшими затратами, прежде чем остановить свой выбор на системе с процессором P6.


Архитектура конвейера P6

Принцип действия

В P6 реализован 14-ступенный конвейер, разделенный на три блока: упорядоченной обработки, обработки с изменением последовательности и выводной. Блоки упорядоченной обработки и обработки с изменением последовательности разделены буфером микрокоманд так называемой станции-резервуаре (reservation station). Разделение позволяет трем блокам функционировать до определенной степени независимо, повышает эффективность их одновременной работы.

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

При выполнении 32-разрядных программ архитектура процессора P6 с обработкой в измененной последовательности и разделением исполнительных блоков должна обеспечить умеренный выигрыш в производительности по сравнению с процессором Pentium при одинаковой тактовой частоте. Однако существующие 16-разрядные программы могут вызывать остановы конвейера и приводить к необходимости его перезагрузки, что может понизить производительность до такой степени, что P6 будет работать даже медленнее, чем процессор Pentium. Останов, возникающий при выполнении операций с частичными регистрами, происходит, когда на одной из ступеней конвейера, следующей за ступенью I7, обрабатываетс команда, изменяющая содержимое частичного регистра, а команда, обращающаяся к полному регистру (надмножеству частичного регистра), находится на ступени I7. Затор, порождаемый операциями с частичными регистрами, вызывает приостановку всех обращений к командам и их декодирование на ступенях с I1 по I7 до тех пор, пока операция с частичным регистром не пройдет ступень R3 и не изменит содержимое архитектурного регистра.

Когда на ступени 17 встречается команда загрузки сегментного регистра или команда ввода-вывода, блок упорядоченной обработки останавливает свою работу до тех пор, пока микрокоманды в блоках обработки с изменением последовательности и вывода не пройдут до конца блока вывода. Затем команды загрузки сегментного регистра и ввода-вывода самостоятельно проходят по оставшейся части конвейера, и их результаты записываются в память или архитектурные регистры. Помимо этого, команды, находившиеся в этот момент в блоке упорядоченной обработки, удаляются и туда загружаются новые целевые команды, подлежащие обработке.

Блок упорядоченной обработки _______ | | | | I1 | |- Архитектура конвейера P6 |----|--| | I2 | | Определение указателя на |____| | следующую команду.Обращение к | | | кэш-памяти команд. Создаетс | I3 | |- буфер команд емкостью 16 байт. |____| | Команды процессора x86 вырав- | | | ниваются перед посылкой в де- | I4 |--| шифраторы. |____| | | | |- Команды x86 декодируются и | I5 | | преобразуются в микрокоманды. |____| | | | | | I6 | | |____|__| | | | Регистры переименовываются с помощью | I7 | |- таблицы псевдонимов регистров (RAT - |____|__| register alias table). | | | | I8 | | Микрокоманды выдаются и запи- | | |- сываются в станцию-резервуар, |____|__| статус команд записывается в буфер восстановления последо- вательности. Блок обработки с изменением последовательности ____ __ | O1 | | Микрокоманды направляются из |____| |__ станции-резервуара в исполни- | O2 | | тельные блоки. |____|__| | | | | O3 | |__ Микрокоманды выполняются (один |____|__| или более тактов). Блок вывода ____ _ | R1 | | Результаты становятся доступными |____| | для пересылки в буфер восстанов- | | | ления последовательности. Прове- | R2 | | __ ряются взаимозависимости. Со- |____| | тавляется очередь на удаление | | | микрокоманд. Обновляется содер- | R3 | | жимое реальных регистров и па- |____|_| мяти.

Самое важное: процессор P6

Процессор P6 фирмы Intel, представитель следующего после Pentium поколения, предназначен для наиболее взыскательных пользователей, работающих с 32-разрядными прикладными программами и 32-разрядными операционными системами, такими, как Microsoft Windows NT. Производительность P6 в идеальном случае может оказаться на 40-60% выше, чем у Pentium. Существующие 16-разрядные программы выполняются на P6 в его собственной системе команд, но лишь со скоростью, примерно равной скорости быстрых версий Pentium. Для массовых пользователей, включая тех, кто работает с Microsoft Windows 95, наиболее подходящим процессором по-прежнему останется Pentium.

Первые системы на базе P6 - как настольные ПК, так и серверы - должны появиться осенью 1995 г. Почти все они будут содержать системные платы, изготовленные фирмой Intel, на базе набора ИС P6 PCIset (известного под своим кратким первоначальным условным названием Orion). Предполагаемая первоначальная цена составит примерно 5 тыс. долл. за систему полной конфигурации.

"Динамическое исполнение" позволяет P6 в большинстве случаев обрабатывать команды с более высокой скоростью, чем это делает процессор Pentium. В P6 используется так называемое выполнение команд с изменением последовательности, которое дает возможность выполнять три команды за один такт, с меньшим числом остановов конвейера, чем у процессора Pentium (это не распространяется на 16-разрядные программы). В P6 также применяется переименование регистров и усовершенствованные методы предсказани переходов. Благодаря тому что P6 преобразует команды в RISC-подобные микрокоманды, удается избежать возникновения многих проблем, свойственных командам из набора x86. Однако суперконвейерная архитектура P6 ограничивает производительность процессора при выполнении распространенных сегодня 16-разрядных программ.

Уникальная конструкция P6: в его состоящем из двух отсеков корпусе размещаются собственно ЦП и 256-Кбайт или 512-Кбайт кэш второго уровня, работающий со скоростью процессора. Шина кэш-памяти отделена от шины основной памяти, кэш как первого, так и второго уровня - неблокируемый. Шина основной памяти P6 может работать с различными частотами, составляющими доли тактовой частоты ЦП, которая для первых моделей составит 133 МГц и 150 МГц.

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

Поколения процессоров x86

Для повышения производительности P6 при работе с 32-разрядной кэш-памятью применяется ряд конструктивных решений, распространенных в высокопроизводительных RISC-процессорах. P6 - это первый представитель семейства x86, в котором объединены процессор и кэш второго уровня.

+ ДА - НЕТ P6Pentium486
Выполнения существующих программ, ориентированных на x86+++
Разрядность регистров, бит323232
Разрядность шины данных, бит64 (плюс ECC)6432
Разрядность шины адреса, бит363232
Число транзисторов, млн.5,5*3,1-3,31,6 (DX4)
Максимальное число команд x86 за один такт321
Исполнение с изменением последовательности+--
Продвижение данных++-
Динамическое предсказание переходов++-
Переименование регистров+--
Стек возвратов+--
Емкость встроенного кэша первого уровня, Кбайт8 для команд, 8 для данных8 для команд, 8 для данных8 или 16 общая
Емкость встроенного кэша второго уровня, Кбайт256 или 512N/AN/A
Неблокируемый кэш+--
Шина транзакций+--
Средства для построения мультипроцессорных систем4-канальный раздельный кэш2-канальный общий кэшОтсутствует
Встроенный блок вычислений с плавающей точкой+++ (некоторые модели)
* - только ЦП; вторичный кэш содержит еще 15,5 млн. транзисторов (256-Кбайт вариант) или 31 млн. транзисторов (512-Кбайт вариант).
ECC - код с исправлением ошибок.
N/A - неприменимо; этот кристалл не имеет встроенного кэша второго уровня.

Что предлагают конкуренты Intel?

Джон Клаймен

Фирма Intel по-прежнему остается лидером в производстве процессоров семейства x86, но конкуренты гиганта полупроводниковой индустрии усиленно пытаютс сократить разрыв. Компании AMD, Cyrix и NexGen покушаются на доминирующее положение процессора Pentium на рынке ПК массового спроса. Ниже мы

рассмотрим сложившуюся в этом противостоянии ситуацию, а также сообщим последние новости о единственном семействе RISC-процессоров, которое с наибольшей вероятностью окажется непосредственным соперником P6: кристаллах PowerPC, совместно разработанных фирмами Apple, IBM и Motorola.

AMD
Процессор K5 фирмы AMD, который должен появиться в начале 1996 г., имеет архитектуру, подобную P6, в которой предусмотрен механизм исполнения с изменением последовательности. Процессор совместим с существующими системными платами Pentium.

Процессор K5 фирмы AMD концептуально поразительно похож на ЦП P6 с внешним интерфейсом процессора Pentium. Первоначально его поставки были запланированы на лето 1995 г., но теперь сроки перенесены на начало 1996 г. K5 преобразует команды x86 в более компактные операции (AMD называет их ROP, или RISC-операциями) и использует механизм исполнени с изменением последовательности - в точности, как P6. Однако детали реализации различаются: K5 имеет четыре преобразователя ROP, каждый из которых может выполнить преобразование любой команды x86, в то время как преобразователи микрокоманд P6 асимметричны. В K5 используется станция-резервуар перед входом в каждый исполнительный блок вместо одного объединенного большого резервуара. Кроме того, в K5 применяется существенно иная схема предсказани переходов.

Важнее всего то, что K5 имеет не суперконвейерную архитектуру, и потери времени при обработке команд, не подлежащих исполнению с изменением последовательности, будут не столь велики, как у P6.

Cyrix
Компания Cyrix решительно приступает к выпуску своих разработок пятого поколения: 5x86 дл настольных компьютеров и настольных ПК начального уровня, и M1 для высокопроизводительных настольных компьютеров.

Cyrix выходит на рынок с двумя различными процессорами класса Pentium. Первый из них - 5x86, ранее известный под названием M1sc. Планируется, что 5x86 достигнет производительности Pentium, сочета высокую тактовую частоту с возможностями предсказани переходов и продвижения данных. Однако 5x86 - не суперскалярный процессор. Первоначально будет поставляться кристалл с 32-разрядным интерфейсом, а в 1996 г. появится вариант с 64-разрядной шиной. 5x86 будет предназначаться для ноутбуков и дешевых настольных ПК.

Вслед за 5x86 появится долгожданный процессор M1, который, как мы предполагаем, получит название 6x86, чтобы заявить о нем как о непосредственном конкуренте P6. M1 - суперскалярный процессор, в нем предусмотрены два конвейера, отображение регистров и исполнение с ограниченным изменением последовательности. Cyrix предполагает приступить к поставкам процессора M1 примерно в конце 1995 г. и утверждает, что по производительности он превзойдет Pentium на 30% и более.

NexGen
Фирме NexGen в свое время удалось предложить первый процессор, ставший конкурентом Pentium. Более высокое быстродействие и шина PCI должны повысить привлекательность этого устройства.

NexGen была первой, выпустившей процессор, непосредственно конкурирующий с микропроцессором Pentium. ЦП Nx586, как и K5 фирмы AMD, и P6 фирмы Intel преобразует команды x86 в RISC-подобные внутренние команды (NexGen называет их операциями RISC86). Хотя для команд RISC86 процессор Nx586 имеет суперскалярную организацию, он способен выполнять не более одной команды x86 за один такт, поэтому "суперскалярность" у него выражена значительно слабее, нежели в процессорах K5 или P6.

Как и P6, Nx586 имеет отдельную шину, работающую на частоте процессора и обслуживающую кэш второго уровня, хотя этот кэш расположен вне ЦП. Это конструктивное решение может дать преимущества в производительности, но налагает жесткое ограничение: Nx586 не совместим с процессором Pentium по выводам и не позволяет использовать стандартные схемные наборы, предназначенные для процессоров Pentium. Поэтому в настоящее время фирма NexGen - единственный поставщик интерфейсной логики, необходимой для построени системной платы. Но компания наконец-то приступает к поставкам комплектов ИС, совместимых с шиной PCI, что намного предпочтительнее прежнего варианта, совместимого с шиной VL-Bus.

Фактически Nx586 успешно конкурирует с процессорами Pentium начального и среднего уровней производительности, но нам пока не встречались процессоры NexGen, которые могли бы сравниться с наиболее быстродействующими кристаллами Pentium.

PowerPC
Семейство процессоров PowerPC принесло успех компьютерам Power Macintosh, но может ли оно соперничать с Pentium? Непременное условие дл этого - наличие программного обеспечения в собственной системе команд этого процессора.

Процессор PowerPC, долгое время усиленно рекламировавшийся как наиболее многообещающа RISC-альтернатива архитектуре x86, постепенно начинает оправдывать возлагавшиеся на него надежды. Корпорация Microsoft выпускает Windows NT 3.51, дела эту достаточно широко распространенную операционную систему доступной для пользователей PowerPC, а несколько поставщиков компьютеров объявили о выпуске систем на базе PowerPC, способных работать с этой ОС.

132-МГц PowerPC 604, самый быстрый из выпускаемых в настоящее время кристаллов PowerPC, станет достойным соперником по производительности процессора Pentium и, возможно, P6. Однако есть одно "но": PowerPC 604 (и все другие модели PowerPC) может выйти на этот уровень производительности лишь выполн программы, подготовленные специально для него. Как и другие RISC-процессоры, семейство PowerPC позволяет исполнять x86-программы только в режиме эмуляции - в сущности, машина PowerPC, работающая в среде Windows NT, использует программный транслятор, преобразующий команды x86 в команды PowerPC.

Это означает, что системы PowerPC заинтересуют только тех пользователей, которые хотят работать с Windows NT и чьи конкретные прикладные программы были перекомпилированы для совместимости с архитектурой PowerPC. На сегодня список таких программ невелик и включает в себя программы высокого класса для САПР и графики. Потребуются годы, чтобы PowerPC стал доступным для массового пользователя.


Процессоры: словарь терминов

Буфер восстановления последовательности (reorder buffer) - структура, которая управляет исполнением с изменением последовательности, отслеживая состояние команд, которые были переданы на исполнение, но удалены.

Взаимозависимость (dependency) - ситуация, делающая невозможным выполнение одной команды до тех пор, пока не будет завершена другая команда. Истинна взаимозависимость (true dependency) имеет место, когда результат выполнения одной команды служит исходной информацией для другой команды. Ложные взаимозависимости (false dependencies) могут возникнуть в процессе исполнения команд с изменением последовательности, предписанной программой, но их можно избежать с помощью переименования регистров (register renaming).

Выборка (fetch) - извлечь код команды из кэша или памяти при подготовке к декодированию.

Вывод (retire) - передача результатов в архитектурные регистры и память. Команды, которые по предположению были исполнены, не могут быть удалены, до тех пор пока нет гарантии, что все взаимозависимости разрешены.

Дешифрация (decode) - исследование формата команды для того, чтобы определить тип операции и операнды, оговоренные в ней.

Исполнение по предположению (speculate execution) - совокупность методов, позволяющая ЦП обрабатывать команды, не будучи "уверенным" в том, что они когда-либо будут выполнены, - например, после условного перехода.

Исполнение с изменением последовательности (out-of-order execution) - совокупность методов, позволяющих передавать команды в исполнительные блоки в порядке, отличном от предписанного программой. После завершения исполнения команды вновь располагаются в надлежащем порядке.

Исполнительный блок (execution unit) - часть процессора, предназначенная для выполнения операций определенного типа, таких, как арифметические функции, сохранение и извлечение данных из памяти, либо обработка ветвлений.

Команда (instruction) - основная составляюща единица программы; содержит один или более байт информации, указывающей процессору на необходимость выполнения конкретной операции.

Конвейер (pipeline) - "сборочная линия", где обработка команд разбивается на ряд небольших шагов или ступеней (stages), выполняемых отдельными схемами. Пройдя одну ступень, команда передается на следующую, а предыдущая ступень начинает обработку следующей команды.

Микрокоманда (micro-op) - здесь термин фирмы Intel для обозначения RISC-подобных внутренних операций, в которые преобразуются команды x86 с целью повышени скорости их обработки.

Микропрограмма (microcode) - последовательность микрокоманд (наборов управляющих битов), используемых для координации выполнения сложных команд путем разбиения их на меньшие сегменты.

Неблокируемый (nonblocking) - позволяющий выполнять последующие операции, даже если выполнение предшествующей операции не может быть полностью завершено. Этот термин применяется для кэша, который может продолжать работу даже после безрезультатного обращения к кэшу (miss).

Останов (stall) - останов части конвейера на один или несколько периодов тактовых импульсов. Переход, или ветвление (branch) - точка, в которой возможно изменение последовательности выполнени команд программы. Переход может быть либо безусловным, либо условным, когда изменить порядок выполнения программы меняется или остается прежним в зависимости от определенного условия.

Плавающая точка (floating point) - метод представления любого числа в виде одной цифры с десятичной дробью, за которой следует множитель (порядок числа 2 или другого, взятого за основание).

Предсказание переходов (branch prediction) - процессор пытается "угадать", будет ли совершен конкретный переход.

Преобразовать в последовательную форму (serialize) - заставить процессор приостановить передачу команд на исполнение до тех пор, пока не будет выведена определенная команда. Преобразование в последовательную форму требуется для определенных команд, которые нельзя обрабатывать вне установленного порядка.

Регистр (register) - небольшой быстродействующий элемент памяти, расположенный на кристалле процессора. В дополнение к регистрам специального назначения процессоры x86 имеют восемь 32-разрядных регистров общего назначения, в которых хранятс величины, используемые в текущих вычислениях. Программы работают с архитектурными (architectural) регистрами. Благодаря переименованию регистров (register renaming) эти архитектурные регистры могут отображаться на большее число физических (physical) регистров, имеющихся в процессоре.

Станция-резервуар (reservation station) - буфер, содержащий команды, которые дешифрованы, но еще не выполнены.

Суперконвейерный (superpipelined) - имеющий конвейер существенно глубже пяти или шести ступеней. Суперконвейерные архитектуры обычно позволяют использовать более высокие тактовые частоты, чем прочие конвейерные архитектуры.

Суперскалярный (superscalar) - имеющий несколько конвейеров и способный исполнять более одной команды за один такт (в идеальных условиях).