3DNow !

3DNow ! est le nom d'une prolongation de multimédia créée par AMD pour ses processeurs, commençant par le K6-2 en 1998. C'est une addition des instructions du SIMD à l'ensemble d'instruction traditionnel de du X86 , conçue pour améliorer le capacité de s d'unité centrale de traitement un 'd'exécuter le vecteur de traitant des conditions de de beaucoup d'applications graphique-intensives.

Histoire

3DNow ! a été à l'origine développé comme perfectionnement à l'ensemble d'instruction du MMX ; pour le prolonger seulement de l'opération sur des maths du nombre entier aux calculs également de accélération de la virgule flottante . Ceci était nécessaire particulièrement par AMD à l'heure de l'introduction parce que leur processeur du K6 n'était pas bien équipé pour des mathématiques intensives de virgule flottante par rapport au Intel Pentium II . C'avait lieu pendant la fin des années 1990 où les graphiques du 3D éclataient dans la popularité en raison du jeu 3D, et les jeux 3D emploient fortement l'arithmétique de virgule flottante. Considérant que plus tôt dans les années 90 AMD pourrait facilement passer avec l'exécution limitée de virgule flottante, parce que la grande majorité de logiciel nombre-calcul-a été basée, avec laquelle le K6 était extrêmement compétent, le jeu 3D et les applications avancées de multimédia changeaient rapidement le paysage.

Vue d'ensemble

Le 3DNow ! la technologie contient 21 nouvelles instructions qui soutiennent des opérations à point mobile du SIMD et inclut des opérations de nombre entier du SIMD , le prefetch de données, et la commutation plus rapide de MMX-à-flotter-point. Plus tard, le Intel ajouterait les instructions semblables (mais incompatibles) au Pentium III , connu sous le nom de SSE .

AMD a amélioré l'ensemble d'instruction avec le temps. Le premier perfectionnement s'est appelé tout simplement le 3DNow augmenté par ! (parfois 3DNow prolongé ! ou 3DNow ! + ), présenté avec le de première génération Athlons qui a ajouté 24 nouvelles instructions traitant la plupart du temps l'instruction de prefetching et mettant en application un ensemble d'instruction partiel du SSE1 . La série du K6-2+/III+ a ajouté seulement les 5 nouvelles instructions de DSP, mais pas les 19 nouvelles instructions MMX. Le deuxième perfectionnement s'est appelé le 3DNow ! Professionnel , qui a été présenté avec les processeurs d'Athlon XP ; cette version a fondamentalement intégré la pleine technologie SSE1 d'Intel et l'a combinée avec 3DNow augmenté !. AMD a ajouté deux nouveaux 3DNow ! pfrsqrtv (approximation réciproque de d'instructions de racine carrée pour une paire de flotteurs à 32 bits) et pfrcpv (approximation réciproque de pour une paire de flotteurs à 32 bits) dans son Geode GX et Geode LX qui sont actuellement absents dans tous les autres processeurs.

Avantages et inconvénients

Un avantage de 3DNow ! est ce qu'il est possible d'ajouter ou multiplier les deux nombres qui sont stockés dans le même registre . Avec SSE, chaque nombre peut seulement être combiné avec un nombre en même position dans un autre registre. Ces possibilités, connues sous le nom de horizontal dans la terminologie d'Intel, étaient l'addition principale à l'ensemble d'instruction du SSE3 .

Un inconvénient avec 3DNow ! est comparé à SSE qu'il stocke seulement deux nombres dans un registre, par opposition à quatre dans SSE. Cependant, 3DNow ! des instructions peuvent généralement être exécutées avec une latence inférieure et une sortie plus rapide que des instructions de SSE.

3DNow ! partage également les mêmes registres physiques que MMX, alors que SSE a ses propres registres indépendants. Puisque ces MMX et 3DNow ! des registres sont également employés par le standard X87 FPU, 3DNow ! des instructions et les instructions x87 ne peuvent pas être exécutées simultanément. Cependant, parce qu'il aliased au x87 FPU, le 3DNow ! Et MMX des états de registre peuvent être sauvés et reconstitués par le x87 traditionnel FNSAVE et des instructions de FRSTR. Using x87 les instructions préexistantes ont signifié qu'aucune modification du système d'exploitation du n'a dû être apportée pour soutenir 3DNow !.

En revanche, sauver et reconstituer l'état de registres de SSE ont exigé l'utilisation des instructions nouvellement supplémentaires de FXSAVE et de FXRSTR ; les instructions de FX* sont une mise à niveau au x87 plus ancien sauf et reconstituent des instructions parce que ceux-ci pourraient sauver non seulement des états de registre de SSE mais également ces états du registre x87 (par conséquent qui ont signifié qu'ils pourraient sauver MMX et 3DNow ! registres trop).

Sur le Athlon XP d'AMD et les noyaux de K8-based (c. Athlon 64 ), programmeurs d'assemblée ont noté qu'il est possible d'employer réellement les deux 3DNow ! et SSE en même temps. Bien que les deux la part la même unité fonctionnelle, ceci puisse permettre plus d'exécution en évitant une certaine pression de registre de , mais elle il est difficile accomplir.

Processeurs soutenant 3DNow !


Tous les processeurs du AMD après le K6-2 (inclus)
national Geode , AMD postérieur Geode de semi-conducteur.
PAR L'INTERMÉDIAIRE de C3 (également connu sous le nom de " de Cyrix III) ; Samuel" ; , " ; Ezra" ; , et " ; Eden" ; noyaux.
IDT Winchip 2

.

Random links:Inua | Patron Pointu-D'une chevelure | Terrier de Norwich | Liste de leaders d'État en 1016 | Pierres de Mora | ¡3DNow!