3DNow!: Разлика между версии
Изтрито е съдържание Добавено е съдържание
м Унифициране на заглавия на раздел Вижте също |
Vodnokon4e (беседа | приноси) {{без източници|~~~~~}}; форматиране: 7x тире, 6x нов ред, интервал (ползвайки Advisor) |
||
Ред 1:
{{без източници|09:58, 6 октомври 2017 (UTC)}}
'''3DNow!''' са специални [[SIMD]] инструкции, създадени от [[AMD]] за техните процесори. Тези инструкции разширяват [[MMX]] инструкциите, добавяйки възможност за обработка на числа с плаваща запетая. 3DNow! инструкциите са част от процесорната архитектура [[x86]].
== История ==
В края на 90-те години на 20-и век [[AMD]] има голям проблем
Всъщност анализите показват, че блока за изчисления с плаваща запетая на K6 е дори по-бърз от този на основния му конкурент [[Pentium II]], но не използва конвейер и в резултат успява да завърши по-малко инструкции на такт от конвейерния блок на Pentium II. Така или иначе, K6 е по-бавен и AMD вземат решение да добавят нови [[SIMD]] инструкции към процесорната архитектура [[x86]], които да позволяват паралелната обработка на 2 числа с плаваща запетая наведнъж. Резултатът от тази инициатива са 3DNow! инструкциите. Те са подобни на [[MMX]] (дори използват същите регистри), но боравещи и с числа с плаваща запетая.
Първият процесор, който поддържа 3DNow! e пуснатият на 28 май 1998 процесор [[K6-2]]. Скоро след това се появяват и няколко приложения, които демонстрират ефекта от 3DNow! инструкциите.
Почти година по-късно Intel въведе подобен (но по-разширен и несъвместим с 3DNow!) набор от SIMD инструкции, наречени [[SSE]]. SSE инструкциите позволяват едновременната обработка на до 4 числа с плаваща запетая наведнъж.
В процесорите [[K6-2|K6-2+]], [[K6-III]] и първите [[Athlon]], AMD добави още 19 инструкции за предварително зареждане на данни и др. подобни. Разширеният по този начин набор от инструкции получи името
В крайна сметка 3DNow! инструкциите загубиха битката с SSE и в момента се поддържат само от процесорите на AMD и [[VIA]] и от години не са били добавяни нови инструкции към тях. Като се добави факта, че AMD процесорите вече поддържат и SSE, бъдещето на 3DNow! изглежда мрачно. В последните няколко поколения AMD процесори вече няма поддръжка на 3DNow инструкции, въпреки че флаговете за тяхното присъствие са вдигнати.
== Технология ==
3DNow! инструкциите добавят следните разширения към [[MMX]] инструкциите:
* 1 тип данни.
* 21 инструкции (плюс още инструкции в
=== Типове данни ===
Единственият нови тип данни, който е въведен от 3DNow! инструкциите са 2 32-битови числа с плаваща запетая, които са пакетирани в един 64-битов MMX/3DNow! регистър. Форматът на двете 32-битови числа е идентичен с този на число с плаваща запетая с единична точност на [[x87]] инструкциите. Въпреки това, 3DNow! не е напълно съвместим със стандарта [[IEEE 754]], защото има само един метод за закръгляне на резултата, не може да представя ненормализирани числа и не поддържа софтуерни изключения при операции с числата.
Обхватът на числата в 3DNow! инструкциите е от 2<sup>-126</sup> (прибл. 1.17 * 10<sup>-38</sup>) до 2<sup>127</sup> * (2
=== Инструкции ===
Имената на повечето 3DNow! инструкции започват '''PF'''. 3DNow! инструкциите могат да се разделят на няколко групи. Инструкциите, които са налични само в '''Enhanced 3DNow!''' са отбелязани по съответния начин в текста. Някои от инструкциите липсват от последните версии на официалната документация на AMD, но се поддържат и в най-новите процесори на компанията за обратна съвместимост.
==== Инструкции за преобразуване ====
* PF2ID – преобразува 2 пакетирани числа с плаваща запетая в 2 пакетирани 32-битови цели числа.
*
*
*
*
[[Категория:Компютърен хардуер]]
|