3DNå!

3DNå! er en multimedieutvidelse med 21 instruksjoner , laget av AMD for sine egne prosessorer, opprinnelig designet for K6-2 . Mer teknisk sett er det et SIMD -instruksjonssett , i tillegg til x86 , rettet mot å forbedre vektordatabehandlingsytelsen som kreves av mange grafikkapplikasjoner. Det var i utgangspunktet bare en forbedring av Intels MMX ved å legge til flytende kommaberegning i tillegg til heltallsberegning. Intel skulle senere introdusere et veldig likt, men inkompatibelt sett, kalt SSE , med Pentium III .

Historie

AMD har forbedret dette instruksjonssettet over tid. Den første oppdateringen ble ganske enkelt kalt Enhanced 3DNow! (noen ganger også kalt Extended 3DNow! eller 3DNow! + ): med den første generasjonen av Athlon ble 24 nye instruksjoner introdusert (5 3DNow! og 19 MMX). K6-2 + / III + -serien (prosessorer designet for bærbare datamaskiner) hadde bare fordel av de 5 nye DSP-instruksjonene, men ikke de 19 MMX-instruksjonene. Den andre oppdateringen ble kalt 3DNow! Profesjonell , og debuterte med Athlon XP . I praksis inkluderte denne versjonen Intels SSE fullt ut og integrerte den med 3DNow!.

I 2010 kunngjorde AMD at 3DNow! den er offisielt avviklet, så fremtidige prosessorer støtter kanskje ikke den, med unntak av to instruksjoner. [1]

Funksjoner

En fordel med 3DNow! er at den kan addere og multiplisere to tall på samme register, mens SSE bare kan håndtere operander i like posisjoner på forskjellige registre. Denne funksjonen, kalt horisontal av Intel, er det viktigste tillegget til SSE3 , som ble gjort tilgjengelig tidlig i 2004 med den Prescott kjernebaserte Pentium 4 , og implementert i Athlon 64 "Revision E" i april 2005.

På den annen side 3DNow! den kan bare lagre to numre i et register mot de fire i SSE, men instruksjonene er generelt raskere i utførelse.

Pluss 3DNow! deler de samme registrene som MMX, mens SSE har egne registre. Siden 3DNow! og MMX brukes av tradisjonelle x86 FPUer , instruksjonene til disse og 3DNow! de kan ikke kjøres samtidig. Men siden 3DNow! den ligner på en FPU, den kan bruke x86-instruksjonene FNSAVE og FRSTR for å lagre og laste inn informasjonen som finnes i registrene. Dette betyr at det ikke kreves endringer i operativsystemet for å støtte 3DNow!.

Tvert imot bruker SSE å lagre og laste registrene til de originale instruksjonene, kalt FXSAVE og FXRSTR, lagt til x86 -instruksjonssettet for å lagre kun SSE-registrene og ikke også x86-registrene (de som brukes av FPU, MMX og fra 3DNow!). For å bruke disse FX*-instruksjonene, måtte en modifisert beskyttet modus introduseres , kalt " forbedret modus "; den eneste forskjellen var at i sistnevnte muliggjorde det bruk av SSE- og FX*-instruksjoner, mens førstnevnte forhindret det. Operativsystemene som støttet SSE gikk inn i den forbedrede modusen , i de andre var denne muligheten ikke forutsett.

Merknader

  1. ^ Sharon Troia , 3DNow ! Instruksjoner blir avviklet , på blogs.amd.com , AMD, 18. august 2010.

Relaterte elementer