AMD убирает из будущих процессоров поддержку набора команд 3DNow!

21/08/2010 15:05

Разрабатывая в свое время ядро K6-2, специалисты AMD расширили его возможности набором команд 3DNow!, относящихся к категории SIMD (Single Instruction Multiple Data — одиночный поток команд, множественный поток данных). Расширение включало два десятка команд и предоставляло программисту возможность использовать регистры MMX для хранения 32-разрядных вещественных чисел (в случае MMX они используются для целочисленных данных и одномерных массивов — векторов). Было также упрощено переключение в режим MMX. Попросту говоря, с помощью 3DNow! возможности MMX были элегантно, без добавления новых регистров и режимов работы, выведены на новый уровень. Это позволило увеличить производительность процессора в задачах, связанных с интенсивной обработкой графических и звуковых данных. Впоследствии были реализованы и другие расширения такого рода, включая Streaming SIMD Extensions (SSE). Как следует из сообщения в блоге для разработчиков программного обеспечения, время 3DNow! уходит. Этот набор команд не будет поддерживаться некоторыми будущими процессорами AMD, о чем будет сигнализировать соответствующий флаг. Речь идет о 31 бите значения регистра EDX, возвращаемого командой CPUID при вызове со значением 8000_0001h. Разумеется, программы, в которых перед использованием того или иного расширения набора команд производится проверка его поддержки, будут работать корректно и на новых процессорах. Интересно, что две команды из набора 3DNow! будут вынесены в собственное подмножество и сохранены. Это команды с мнемониками PREFETCH и PREFETCHW. Их поддержку можно проверить, проанализировав значение восьмого бита регистра ECX после вызова функции CPUID со значением 8000_0001h. В спецификации CPUID соответствующий флаг получил название 3DNowPrefetch.
Источник