3DNu!

3DNu!  er en forældet x86- instruktionssætudvidelse udviklet af Advanced Micro Devices . Det føjer yderligere SIMD -instruktioner til basis x86-instruktionssættet, hvilket gør det muligt at udføre vektor-floating point-behandling ved hjælp af vektorregistre , hvilket forbedrer ydeevnen af ​​mange grafikintensive applikationer. Den første mikroprocessor til at implementere 3DNow var AMD K6-2 , som blev introduceret i 1998. Ved brug af instruktioner i passende opgaver steg behandlingshastigheden med 2-4 gange [1] .

3DNu ! introduceret 21 nye processorinstruktioner og muligheden for at operere på 32-bit reelle typer i standard MMX registre. Der er også tilføjet særlige instruktioner for at optimere skiftet til MMX/3DNow! (femms, som erstattede standard emms-instruktionen) og arbejde med processorcachen . Således 3DNow! udvidet MMX-teknologiens muligheder uden at kræve introduktion af nye processortilstande og nye registre.

Fra og med Bulldozer-mikroarkitekturen understøttes udvidelsen ikke (undtagen prefetch-kommandoen). [2]

Tjek 3DNow! processor

Før du begynder at arbejde med 3DNow! sørg for, at CPU'en understøtter dem. Dette gøres ved hjælp af CPUID- instruktionen . Den generelle procedure for verifikation er som følger:

  1. Sørg for, at processoren understøtter CPUID- instruktionen . Hvis ikke, understøtter CPU'en ikke 3DNow! .
  2. Udfør cpuid-instruktionen med EAX = 0 - dette er påkrævet til næste trin.
  3. Udfør CPUID med værdi EAX = 80000000h. Hvis EAX efter at have udført instruktionen har en værdi mindre end 1, så 3DNow! ikke understøttet.
  4. Udfør CPUID med EAX = 80000001h. Hvis bit 31 i EDX-registret er sat til 1 efter udførelse, så 3DNow! understøttes. Ellers nej.

3DNu!

Processorer, der understøtter 3DNow!

Se også

Noter

  1. Effektiv udnyttelse af 3DNow i  Linux . Linux Journal (1. december 1999). Hentet 3. oktober 2010. Arkiveret fra originalen 7. juni 2011.
  2. [1] Arkiveret 28. marts 2017 på Wayback Machine side 207: "19 AMD Bulldozer, Piledriver, Steamroller and Excavator pipeline: 3DNow-instruktionerne understøttes ikke længere, med undtagelse af prefetch-instruktionerne."

Links