div.main {margin-left: 20pt; margin-right: 20pt}
AMD 3DNow! и Intel SSE.
Реальное применение.
В этой статье мы постараемся разобрать, технологии 3DNow! и SSE,
а также реальное применение и прогнозируемое применение этих технологий в
будущем. Начнем с истории:
3DNow!
26 мая 1998 года AMD представила новый процессор К6-2,
включающий мультимедийный набор команд 3DNow!(знак "!" является частью
названия). Презентация технологии состоялась одновременно с выходом игры
Quake2, где эта технология была впервые применена. Прирост
производительности при ее включении составлял до 30%. Это был прорыв: AMD
впервые(но не в последний раз) опередила Intel в представлении нового
индустриального стандарта. 3DNow! содержит 21 инструкцию для выполнения
операций с плавающей запятой одинарной точности.
До этого момента единственным мультимедийным набором был ММХ. Он
не получил широкого распространения, хотя его поддержка встроена во все
современные процессоры. На процессорах Intel, прирост был практически
незаметен, да и этот прирост стал возможен благодаря увеличенному в два
раза кэшу первого уровня(L1) у процессора PentiumMMX, по сравнению с
младшим собратом Pentium. На процессорах других компаний(AMD, Cyrix, а
потом IDT) прирост также был минимален. ММХ содержит 54 инструкции для
выполнения целочисленных операций одинарной точности.
Но вернемся к 3DNow!. За год с небольшим существования этой
технологии, ее поддержку реализовали многочисленные производители
аппаратного и программного обеспечения(в том числе Microsoft). Поддержкой
3DNow! обзавелись и видеокарты на чипах ведущих(nVidia, 3Dfx, S3, ATI)
производителей. Все это время шли разработки нового процессора AMD,
К7(сейчас Athlon). В нем применяется расширенная технология 3DNow!. Новый
процессор был представлен в августе 1999 года. Расширенная 3DNow!(Enhanced
3DNow!) содержит 19 мультимедийных инструкций и 5 DSP(Digital Signal
Processor) инструкций. Эти мультимедийные инструкции переносят понятие 3D
графики на новую высоту. 5 DSP инструкций помогают снизить
утилизацию(загрузку) процессора при использовании софт-модема,
проигрывания МР3 файлов, софт ADSL, Dolby Digital звука
Список оптимизированного программного обеспечения можно посмотреть на
этой странице. Стоит упомянуть,
что GeForce2 GTS оптимизирован только для AMD 3DNow! Оптимизации для SSE
там нет!
Итого: 45 инструкций, более 20 миллионов установленных
процессоров с технологией 3DNow!, поддержка огромного числа производителей
оборудования и программного обеспечения.
SSE
Теперь перейдем к SSE. Технология была представлена в процессоре
Р3, на ядре Katmai(теперь Р3 производится с ядром Coppermine) в конце 1999
года. Помимо новых мультимедийных инструкций, в каждый Р3 встроен
идентификационный номер, который позволяет отследить пользователя. В одной
из стран Европейского Содружества, из-за этого Р3 запретили ввозить. SSE
содержит 71 мультимедийную инструкцию. Технология существует менее одного
года и не успела получить широкого распространения(чему активно мешает
наличие идентификационного номера и производственные проблемы Intel).
Поддержку SSE реализовывают производители аппаратного и
программного обеспечения(и куда же без Microsoft). До недавнего времени
процессоры Celeron не имели SSE, но в начале 2000 года Intel выпустила
новые процессоры Celeron с поддержкой SSE(Coppermine128K). Список
оптимизированного программного обеспечения найти не удалось, однако есть
список оптимизированных Web сайтов.
Итого: 71 инструкция, менее 5 миллионов установленных
процессоров с технологией SSE, ограниченная поддержка производителей
оборудования(nVidia не сделала в GeForce аппаратную поддержку SSE, а это
что-то да значит) и программного обеспечения.
Сравнение соперничающих технологий
Исполняемые функции |
Enhanced 3DNow! |
SSE |
Выполнение SIMD-вычислений с плавающей точкой |
21 (число инструкций в
первоначальном варианте технологии 3DNow!) |
52 |
MMX (целочисленные вычисления),сложение и перемещение
данных |
19(новые инструкции) |
19 |
DSP-расширения для коммуникаций |
5(новые инструкции) |
0 |
Общее число инструкций |
45 |
71 |
Сравнение функциональности: Обе технологии
поддерживают 4 операции за такт и могут выполнять до 4 GFlops на
частоте 1000МГц. Но инструкции 3DNow! проще для исполнения. SSE включает в
себя намного больше инструкций, поскольку архитектура Intel's требует
дублирования управляющих функций MMX, для чего необходимо исполнять две
инструкции, управляющие операциями с плавающей точкой - одну для
SIMD-операций и другую для скалярных операций. Обе технологии имеют
инструкции для работы с кэшем и потоковыми данными.
Вывод: Наиболее применяемой и перспективной
технологией на текущий момент является 3DNow!. SSE на данный момент
поддерживает слишком мало приложений, что объясняется малой
распространенностью процессоров поддерживающих эту технологию, но с
появлением Coppermine128K все может измениться.
Автор: Андрианов Николай(Slayer)
|