Процессоры-тяжеловесы семейства x86
Дополнительные инструкции 3DNow! на пути совместимости с SSE
Напомним, что 3DNow! производства AMD и SSE, разработанные Intel, — это наборы SIMD* инструкций, позволяющих повысить производительность процессора на операциях с плавающей точкой (они особенно интенсивны в 3D-играх, пакетах АСУТП и пр.) К уже существующим инструкциям 3DNow! с выходом процессора Athlon добавились 24 новые SIMD. Пополневший набор временно окрестили Enhanced 3DNow!, чтобы отличить от прежнего 3DNow! Однако со временем, когда все привыкнут, приставка Enhanced (от англ. «расширенный», «усовершенствованный») отпадет сама собой. Задачи новых инструкций — повысить производительность встраиваемых потоковых приложений в Internet, улучшить скорость аудио- и видеокомпрессии (требует интенсивных математических вычислений), обеспечить поддержку программных модемов и т.д. А как поддерживать, если платы программных устройств проектируются с учетом поддержки инструкций Intel SSE (Streaming SIMD Extensions)? «Дьявол», как всегда, скрывается в мелочах: не долго думая, AMD скопировала 19 оригинальных инструкций SSE и одним махом обеспечила совместимость по всему спектру MMX-приложений. Теперь разработчикам с учетом общих 19 инструкций удобно писать приложения, одновременно поддерживающие как SSE, так и 3DNow! Получается, что теперь расширенный набор 3DNow! становится куда более универсальным, чем SSE. Разработчики из AMD утверждают, что их инструкции имеют еще и большую эффективность по сравнению с «интеловскими» SSE. Так, например, работу по ускорению обсчета 3D-графики с равной эффективностью выполняют 50 инструкций Intel SSE или 21 инструкция 3DNow!. А пиковая производительность блока операций с плавающей точкой как для чипов AMD с 3DNow!, так и для Pentium III с SSЕ — одинакова и составляет 2 GFLOPs на частоте 500 МГц.
Итак, из 24 добавленных инструкций 3DNow! 12 являются инструкциями MMX, повышающими эффективность целочисленных вычислений. Например, для повышения точности речевого распознавания, кодирования-декодирования. Еще семь относятся к разряду инструкций Data Movement, которые, в частности, обеспечивают сбалансированную нагрузку на процессор при обработке потоковых приложений. Оставшиеся пять SIMD 3DNow! относятся к разряду коммуникационных. Они призваны оказывать содействие при выполнении DSP-подобных функций, которые «любезно» перекладывают на плечи центрального процессора программные модемы, а также вести поддержку программных xDSL-модемов, MP3-кодирования-декодирования. Таким образом, расширенный набор инструкций AMD 3DNow! состоит теперь из 45 инструкций против 71 в Intel SSE. Из них 19 «целочисленных» инструкций 3DNow! полностью идентичны 19 соответствующим инструкциям SSЕ. При этом в случае с SIMD-набором AMD не нужно вносить никаких корректив в операционную систему. Все прекрасно работает даже в Windows 95.