Кіріспе
AMD 3DNow! – x86 нұсқаулар жиынтығына AMD компаниясы жасаған кеңейтім. Бұл x86 нұсқаулар жиынтығының ескірген кеңейтімі болып табылады. Ол негізгі x86 нұсқаулар жиынтығына бір нұсқамалық бірнеше дерек (SIMD) нұсқауларын қосады, осы арқылы векторлық тіркегіштерді пайдаланып, қозғалатын нүктелік векторлық операцияларды векторлық өңдеуге мүмкіндік береді. Бұл жақсарту графикалық қолданбалардың өнімділігін арттырады. 3DNow! нұсқауларын қолдайтын алғашқы микропроцессор 1998 жылы ұсынылған AMD K6 2 болды. Тиісті қолданбаларда бұл жақсарту жылдамдықты 2-ден 4 есеге дейін арттырды. Дегенмен, бұл нұсқаулар жиынтығы кең танылмады, және AMD 2010 жылдың тамызында 3DNow! қолдауын болашақ процессорларында тоқтатуды жариялады, PREFETCH және PREFETCHW нұсқауларынан басқа. Бұл екі нұсқау Bay Trail Intel процессорларында да қолжетімді.
3DNow! is a deprecated extension to the x86 instruction set developed by Advanced Micro Devices (AMD). It adds single instruction multiple data (SIMD) instructions to the base x86 instruction set, enabling it to perform vector processing of floating point vector operations using vector registers. This improvement enhances the performance of many graphics intensive applications. The first microprocessor to implement 3DNow! was the AMD K6 2, introduced in 1998. In appropriate applications, this enhancement raised the speed by about 2–4 times. However, the instruction set never gained much popularity, and AMD announced in August 2010 that support for 3DNow! would be dropped in future AMD processors, except for two instructions, PREFETCH and PREFETCHW. These two instructions are also available in Bay Trail Intel processors.
Тарих
3DNow! 3D графикасы компьютерлік мультимедиа мен ойындарда кеңінен қолданыла бастаған кезде әзірленді. 3D графиканы нақты уақыт режимінде көрсету үшін негізгі процессордың (CPU) қозғалатын нүктелік блогына (FPU) үлкен тәуелділік болды, бұл тапсырмада AMD-нің K6 процессоры өзінің бәсекелесі Intel Pentium II-ге қарағанда нашар жұмыс істеді. MMX нұсқаулар жиынтығын жақсарту ретінде 3DNow! нұсқаулар жиынтығы MMX SIMD регистрлерін жалғыз дәлдіктегі (32 бит) қозғалатын нүктелік деректердегі ортақ арифметикалық операцияларды (қосу/азайту/көбейту) қолдау үшін кеңейтті. AMD-нің 3DNow! нұсқауларын пайдалануға арналған бағдарламалық құралдар x87 FPU-дан гөрі төрт есе жылдам жұмыс істей алады, бұл нұсқаулар жиынтығына байланысты.
3DNow! Кәсіби
3DNow! Professional – 3DNow! технологиясын толыққанды SSE нұсқаулар жиынтығымен (мысалы, SSE, SSE2 немесе SSE3) үйлестіретін процессорларды көрсету үшін қолданылатын сауда атауы. Athlon XP – 3DNow! Professional сауда атауын алғаш рет қолданған процессор және Athlon отбасында толыққанды SSE нұсқаулар жиынтығын қолдаған алғашқы өнім болды (барлығы: 21 түпнұсқа 3DNow! нұсқауы; 5 3DNow! кеңейтімді DSP нұсқауы; 19 MMX кеңейтімді нұсқауы; және толық SSE үйлесімділігі үшін 52 қосымша SSE нұсқауы).
Артықшылықтары мен кемшіліктері
3DNow!-тің бір артықшылығы – бір тіркелімде сақталған екі санды қосу немесе көбейту мүмкіндігі. SSE-де әрбір сан тек басқа тіркелімдегі бірдей орналасқан санмен ғана біріктіріледі. Intel терминологиясында «горизонталь» деп аталатын бұл мүмкіндік SSE3 нұсқаулар жиынтығына енгізілген маңызды жаңалық болды. 3DNow!-тің кемшілігі – 3DNow! және MMX нұсқаулары бір тіркелімдік файлды пайдаланады, ал SSE 8 жаңа тәуелсіз тіркелімді (XMM0–XMM7) қосады. MMX/3DNow! тіркелімдері стандартты x87 FPU-мен ортақ болғандықтан, 3DNow! және x87 нұсқауларын бір уақытта орындау мүмкін емес. Бірақ, x87 FPU-мен байланысты болғандықтан, 3DNow! және MMX тіркелімдерінің күйін дәстүрлі x87 F(N)SAVE және F(N)RSTOR нұсқаулары арқылы сақтауға және қалпына келтіруге болады. Бұл, операциялық жүйелерге 3DNow!-ты ешқандай тікелей өзгеріссіз қолдау көрсетуге мүмкіндік берді, ал SSE тіркелімдерін дұрыс сақтау және қалпына келтіру үшін операциялық жүйенің тікелей қолдауы қажет болды (қосылған FXSAVE және FXRSTOR нұсқаулары арқылы). SSE-дің FX* нұсқаулары ескі x87 сақтау және қалпына келтіру нұсқауларының функционалдық жиынтығын ұсынады. Олар тек SSE тіркелімдерінің күйін ғана емес, сонымен қатар x87 тіркелімдерінің күйін де сақтай алады (соның салдарынан MMX және 3DNow! операциялары үшін де қолданылады). AMD Athlon XP және K8 негізіндегі процессорларда (яғни Athlon 64) құрастырушы бағдарламалаушылар 3DNow! және SSE нұсқауларын біріктіру арқылы тіркелімге түсетін жүктемені азайтуға болатынын байқады, бірақ нұсқаулар ортақ функционалдық бөлімдерде орындалғандықтан, практикада өнімділікті жақсарту қиын.