Продолжение. Начало см. PC Week/RE, № 4/97, с. 7.
Для демонстрации достоинств новой технологии на совещании были показаны результаты эталонных тестов процессоров Pentium с технологией ММХ и без оной.
Результаты сравнительного тестирования процессоров Pentium заслуживают отдельного рассмотрения. В качестве одного из эталонных тестов для оценки производительности микропроцессоров корпорация Intel использует свой тест iCOMP 2.0. Этот тест представляет собой усреднение целого ряда стандартных тестов, взятых с определенными коэффициентами. Итоговый показатель определяется как сумма 40% результата теста CPUMark32, 15% результата Norton SI32, 20% - SpecInt95, 5% SpecFp95 и 20% - Intel Media Benchmark.
Оценки по iCOMP 2.0. показывают, что даже если вы не используете дополнительные инструкции ММХ, то процессор с этой технологией все равно работает примерно на 10 - 20% быстрее. Это понятно, поскольку сказываются преимущества удвоенного кэша (32 вместо 16 Кб), лишней ступени конвейера и улучшенного предсказания вероятности перехода. А при использовании дополнительных инструкций, согласно этому тесту, MMX-процессор работает на 30% быстрее процессора без технологии ММХ (разумеется, при той же тактовой частоте). Но стоп! Получается, что, согласно iCOMP 2.0, использование дополнительных инструкций дает прирост производительности всего в 10 - 15%! Ведь остальные проценты получены за счет других, уже перечисленных новшеств. Возникает вопрос, стоило ли огород городить? Тем более что без этих инструкций все имеющееся ПО и так работает заметно быстрее, а для использования новых инструкций надо вручную на Ассемблере (пока языки высокого уровня эту технологию не поддерживают и неизвестно, будут ли поддерживать в будущем) переписывать не такие уж малые куски программ. К этому можно добавить еще один вопрос: а какой iCOMP у процессора Pentium Pro? И выясняется, что Pentium Pro на этом тесте показывает результат 220, что на 20% лучше, чем MMX Pentium (данные для Pentium Pro взяты с Web-узла корпорации Intel). Так что, хотя представители Intel на совещании усиленно подчеркивали, что Pentium Pro - это для бизнеса, а для дома и для мультимедиа нужна именно технология MMX, в этом утверждении можно усомниться, тем более что и в домашних условиях важнее всего интегральные параметры компьютера, а не высокая скорость выполнения некоторой отдельной группы операций. Для более точного сравнения процессоров хотелось бы узнать результаты Pentium Pro для специального теста Intel Media Benchmark, поскольку этот тест проверяет именно мультимедийную производительность процессора. Как сообщил нам инженер по применению продукции московского представительства Intel Всеволод Предтеченский, Intel Media Benchmark можно получить с узла http://www.intel.com/procs/perf/ mmx/imb.htm, и в ближайшее время мы попробуем сами провести сравнительные испытания процессоров по этому тесту.
Сейчас процессор Pentium Pro стоит примерно столько же, сколько MMX Pentium, его интегральная производительность выше, он обеспечивает не только многозадачность, но и возможность построения мультипроцессорных систем, и для него не надо переписывать куски программ.
Есть и еще один вопрос, который также поднимался на совещании, но, на мой взгляд, не получил достаточного освещения. Поскольку команды ММХ используют те же регистры, что и операции с плавающей точкой, то специалисты корпорации рекомендуют четко выделять соответствующие сегменты программы и максимально разносить их по времени выполнения. Тут уже возникают интересные мысли. Как бы вы ни изворачивались, вам не удастся написать такую программу, которая на процессоре Pentium работала бы медленнее, чем на процессоре 486 (разумеется, при одинаковых тактовых частотах и одинаковом комплекте остальной аппаратуры). Процессор Pentium Pro можно несколько замедлить, переведя его в 16-разрядный режим работы. А процессор ММХ Pentium можно существенно замедлить, разместив вперемешку команды ММХ и вычисления с плавающей точкой, поскольку на каждое переключение режима (от плавающей запятой к MMX или обратно) тратится 50 тактов. Конечно, этот пример весьма искусственный, но пока неясно, как это может проявиться в многозадачном режиме работы. Для этого необходимо знать количество тактов, затрачиваемых на переключение от одной задачи к другой. Может быть, эти 50 тактов окажутся настолько малой величиной по сравнению с общим временем переключения, что ими можно будет просто пренебречь, а может быть, они замедлят работу на несколько процентов. Здесь также нужно провести дополнительные испытания, причем оценить затраты на переключение процессов как для MMX-процессоров, так и для Pentium Pro.
Следует обратить внимание еще на одну крайне важную проблему. Производительность процессоров удваивается примерно каждые два года, в чем основная заслуга, безусловно, принадлежит корпорации Intel, но вот незадача - за последние несколько лет почти не выросло быстродействие оперативной памяти: было время доступа 120 нс, стало 60 нс. Производительность процессора с инструкциями ММХ при обработке аудио- и видеоинформации просто поразительна, но при этом через процессор нужно прокачивать огромные объемы данных, и внутренний кэш в 16 Кб тут не поможет, а скорее помешает. Да и кэш второго уровня емкостью 256 Кб практически окажется бесполезным, поскольку прокачиваемые объемы данных измеряются мегабайтами. Так что, к сожалению, интегральная производительность процессора с ММХ на реальных задачах мультимедиа может оказаться заметно ниже потенциально возможной, и еще раз напомню, что надо переписывать довольно большие части программ. Конечно, есть класс задач, где эта технология может показать себя в полном блеске. Например, Интернет-телефон на MMX-процессоре будет работать существенно эффективнее, поскольку звуковой диапазон нашей речи весьма ограничен, а изображение выводится в небольшой части экрана, да и для цвета пиксела достаточно 1 байта (256 цветов); технология ProShare, разработанная Intel и позволяющая проводить видеоконференции по локальным сетям или сетям ISDN, также будет работать заметно лучше. Но реальные мультимедийные задачи с двух- или трехбайтовым цветом, полноэкранным изображением и со стереофоническим звуком все-таки потребуют использования отдельных специализированных плат.
На мой взгляд, усиленно пропагандируя технологию MMX, корпорация Intel в определенной степени подставляется, чем могут воспользоваться ее конкуренты на рынке микропроцессоров, которые пока заметно отстают. Если Cyrix и AMD сообразят сделать упор на свои аналоги Pentium Pro (6x86 у Cyrix и K6 у AMD), то, обещая заметное ускорение программного обеспечения без необходимости его переработки, они могут составить Intel уже весьма ощутимую конкуренцию. При этом следует учесть, что цены на свои микропроцессоры эти фирмы стараются держать на более низком уровне, чем у Intel. Правда, скорее всего, этот шанс ни Cyrix, ни AMD не используют, поскольку у них уже выработалась привычка пользоваться результатами рекламных кампаний Intel, поэтому более вероятно, что они также постараются в обозримом будущем создать MMX-процессоры, но тогда их отставание от Intel только увеличится.
Подводя итог, можно сказать, что технология ММХ представляется весьма интересной, но есть ряд серьезных вопросов, которые требуют дополнительных исследований. А стоит ли покупать процессор Pentium с технологией MMX? Тут можно рекомендовать следующий подход: если стоит выбор между процессором MMX Pentium и простым процессором Pentium, то все-таки лучше приобрести MMX-процессор, хотя бы потому, что у него и производительность выше, и срок морального износа значительно больше, т. е., покупая MMX-процессор, вы защищаете ваши инвестиции, тем более что к концу года Intel планирует прекратить выпуск Pentium без технологии MMX (но не спешите переписывать куски вашего ПО); если же выбор стоит между MMX Pentium и Pentium Pro, то тут надо крепко подумать и особенно тщательно взвесить соотношение мультимедийного и обыкновенного ПО, которое вы собираетесь выполнять на вашем ПК.
Дополнительную информацию по технологии ММХ можно получить на узлах Intel: http://www.intel.com и http://www. intel.ru. Телефон московского представительства корпорации: (095) 721-4900.
Михаил Гуткин
СРАВНИТЕЛЬНАЯ ПРОИЗВОДИТЕЛЬНОСТЬ ПРОЦЕССОРОВ PENTIUM
+-------------------------+---------------------------------+
|Тип процессора Pentium | Производительность по индексу |
| | iCOMP 2.0 |
+-------------------------+---------------------------------+
|200 МГц с MMX-командами | 182 |
+-------------------------+---------------------------------+
|166 МГц с MMX-командами | 160 |
+-------------------------+---------------------------------+
|200 МГц | 142 |
+-------------------------+---------------------------------+
|166 МГц | 127 |
+-------------------------+---------------------------------+