Технический обзор
Pentium Pro будет состязаться с NexGen Nx686 за роль подающего в команде серверов и настольных систем
Новейший процессор Pentium корпорации Intel, может быть, и Pro, но он вовсе не обязательно станет отправной точкой для создания семейства высокопроизводительных моделей. В отрасли появилось еще одно действующее лицо: Nx686 фирмы NexGen, выпуск которого планируется на середину этого года.
У Nx686 нет репутации Pro, но зато есть неоспоримые достоинства, и он сможет составить серьезную конкуренцию Pentium Pro благодаря более низким ценам.
Масса кремния в Pentium Pro затрачена на дополнительные средства, улучшающие производительность на системном уровне, хотя процессор и не поставил рекордов в обычных эталонных тестах на общую производительность. Учитывая хорошо разработанный интерфейс с полуинтегрированной 256 Кб кэш-памятью и широкополосной шиной, которая позволяет сочетать несколько процессоров, не используя дополнительных "склеивающих" микросхем, Pentium Pro готов занять свое место на рынке.
У нового Pro корпорации Intel с мозгами тоже все в порядке. Его основа была первой из семейства Х86 разработана командой Intel, также занимающейся RISC-процессорами семейства i960. В результате получился мощный, но изящный игрок, трепетно берегущий совместимость с Х86 вовне и ведущий неожиданную игру с тонко разработанными инструкциями "микроопераций" внутри.
Nx686, возможно, не так совершенен - его системная шина может выполнять только один доступ к памяти зараз, и поэтому ему недостает пропускной способности для быстрой многопроцессорной работы, однако производительность делает выгодным его применение в однопользовательских рабочих станциях и даже портативных системах.
Nx686 тоже стремится в будущее. Не дожидаясь, пока Intel разработает стандарт, Nx686 уже готов к созданию мультимедийных расширений в наборе команд: NexGen уже заявляет о том, что разработчики ПО выражают готовность развивать код, который сможет задействовать весь его потенциал.
Всегда в работе
Высокая скорость обоих конкурирующих продуктов объясняется хорошей работой при быстрых перемещениях. Когда Pentium первого поколения стопорится из-за отсутствия кэш-памяти или из-за какой-нибудь операции с большими задержками, он пыхтит и топчется на месте. Pentium Pro или Nx686 в таком случае находят другое занятие, выполняя другие инструкции, и возвращаются к застопорившейся команде, когда с ней можно продолжить работу.
Бдительные будут возмущены - и зря - мыслью о выполнении с нарушением очередности. В отличие от реальной жизни мир внутри Pentium Pro или Nx686 в некоторой степени допускает путешествия во времени. Команды-инструкции, которые выполняются с нарушением очередности, не имеют долговременного эффекта до тех пор, пока не будут формально завершены. ROB, или буфер переупорядочивания, в Pentium Pro может управлять 40 операциями, а соответствующий буфер Instruction Control Unit в Nx686 - 24; в обоих случаях теоретические результаты совпадали, только если предположения были правильными. Если процессор делает неверное предположение о последовательности событий в будущем, он просто возвращается к последнему моменту, когда предположение и реальность совпадали, и делает новую попытку.
Однако необходимость вызывать больше одного набора сигналов одновременно требует очень большой концентрации. Можно сказать, что у Pentium Pro три мозга: в нем скомбинированы один декодер команд общего назначения и два декодера с более ограниченными возможностями, которые часто могут работать одновременно.
Те, кому никогда не приходилось программировать на машинном уровне, не смогут понять сложности декодирования команд в программной среде Х86. Она объясняется очень нерегулярным форматом команд разной длины, модифицируемых байтами префикса, которые изменяют значение того, что следует за ними.
Если вы не знаете длины каждой команды-инструкции, то представить поток байтов, состоящий из машинных команд, и понять, что будет дальше, весьма сложно.
Поэтому определить, чья интеллектуальность более адекватна, очень нелегко: у Pentium Pro с одним целым и двумя половинками декодера или у Nx686 с двумя декодерами общего назначения. Два меньших декодера Pentium Pro из-за своих ограниченных возможностей не могут работать одновременно, кроме случаев выполнения команд-инструкций, преобразующих единичную Х86-команду в единичную внутреннюю микрооперацию.
Основываясь на моделировании, выполненном Micro Design Resources (организация, публикующая бюллетень Microprocessor Report), можно заключить, что Pentium Pro в среднем будет выполнять 2,1 Х86-команды на цикл в 32-разрядном коде, а Nx686 - 1,9 Х86-команды на цикл. С другой стороны, Nx686 при выполнении Х86-команд в 16-разрядном коде теряет в скорости совсем немного: он выполняет примерно 1,8 команд за цикл, а производительность Pentium Pro падает очень сильно, до 1,5. При любой тактовой частоте каждый процессор может показать лучшее время в зависимости от того, какой смешанный код выполняется.
Обязательно обратите внимание на то, что при эквивалентной технологии обработки при технологической норме около 0,35 микрон свойственная Pentium Pro более глубокая конвейерная обработка должна позволять ему работать с тактовой частотой примерно на 15% выше, чем та, которой может достигнуть Nx686.
Это в значительной степени сводит на нет любые преимущества, которые Nx686 может демонстрировать при измерении скорости выполнения на цикл. При меньших размерах кристалла стоимость производства Nx686 будет меньше, что сделает конкуренцию между этими двумя высокотехнологичными Х86-совместимыми архитектурами очень жесткой.
Питер Коффи