AMD 64

AMD 64

AMD64

Logo AMD64

AMD64 est le nom de l'architecture des premiers microprocesseurs 64 bits de la société Advanced Micro Devices. Son nom de code est Hammer (de l'anglais marteau) remplaçant l'appellation x86-64.

Cette architecture est compatible avec le standard 32 bits x86 d'Intel. Elle est utilisée par les Athlon 64, Athlon FX, Athlon X2, Sempron 64, Turion et Opteron.

Intel a par la suite adopté cette architecture, sous le nom de Intel 64, EM64T ou IA-32e, dans ses processeurs récents de type Pentium 4, Pentium D, Pentium Extreme Edition, Celeron D, et Xeon. Microsoft communique sur cette technologie sous le nom de x64.

Dirk Meyer, ingénieur ayant travaillé sur les processeurs Alpha de chez DEC, a participé au projet.

Sommaire

Architecture

Le jeu d'instruction de l'architecture AMD x86-64 est une extension de l'architecture Intel IA-32 (x86-32). Les caractéristiques principales de l'architecture AMD64 sont le support de registres généraux de 64 bits, de l'arithmétique des entiers et des opérations logiques 64 bits ainsi que des adresses virtuelles 64 bits. Les créateurs ont profité de l'opportunité d'une nouvelle architecture pour proposer d'autres améliorations, incluant principalement :

  • Support complet des entiers 64 bits : tous les registres généraux (GPRs : General Purpose Registers) passent de 32 à 64 bits et toutes les opérations logiques et arithmétiques, de la mémoire vers les registres et des registres vers la mémoire, etc. sont disponibles nativement pour les entiers 64 bits. Les push (empilement) et les pop (dépilement) sur la pile sont toujours d'une largeur de 8 octets (64 bits), de même que les pointeurs.
  • Registres supplémentaires : le nombre des registres généraux est doublé pour atteindre 16. Il y a par conséquent moins besoin de sauvegarder les registres, de les restaurer et plus généralement de les manipuler ; la plupart des arguments de la plupart des fonctions peut de même être passée par les registres plutôt que sur la pile. À titre de comparaison l'architecture PowerPC 970 dispose de 32 GPRs. La taille et le nombre de registre est en effet un des points faible du x86. Avec des applications optimisées, on peut attendre un gain de performances, notamment pour les programmes disposant de nombreuses boucles.
  • Registres XMM supplémentaires : de manière similaire, le nombre de registres XMM (utilisés pour les instructions SIMD) est aussi augmenté de 8 à 16.
  • Espace mémoire virtuel plus grand : les modèles de processeurs implémentant actuellement l'architecture AMD64 peuvent adresser jusqu'à 256 tebioctets d'adresse mémoire virtuelle (248 octets). Cette limite peut être étendue dans de futures implémentations à 16 exbioctets (264 octets). Ceci peut être comparé aux gibioctets pour les architectures x86 32 bits.
  • Espace mémoire physique plus grand : les modèles de processeurs implémentant actuellement l'architecture AMD64 peuvent adresser tebioctet d'adresse mémoire physique. Cette limite peut être étendue dans de futures implémentations à pebioctets (252 octets) (limités par le format des entrées de la table de page). En legacy mode (mode compatible x86), l'extension PAE (Physical Address Extension) est supportée, comme sur les processeurs x86 32 bits les plus courant, autorisant l'accès à un maximum de 64 gibioctets.
  • Accès aux données relatifs au pointeur d'instruction : les instructions peuvent désormais référencer les données relativement au pointeur d'instruction (registre RIP). Ceci permet de générer du code indépendant de la position du programme en mémoire (PIC, ou Position Independent Code) plus efficace ; ceci est souvent utilisé dans les bibliothèques partagées ou les codes chargés à l'exécution.
  • Instructions SSE : l'architecture originale AMD64 a adopté les instructions SSE et SSE2 au sein du cœur du processeur. Les instructions SSE3 ont été ajoutées en avril 2005. SSE2 remplace le jeu d'instructions x87 de 80 bits de précision, incluant le choix d'opérations mathématiques flottantes en 32 ou 64 bits. Ceci permet des opérations en virgule flottante compatibles avec les autres CPUs modernes. Les instructions SSE et SSE2 ont aussi été étendues pour supporter les huis nouveaux registres XMM. SSE et SSE2 sont disponibles en 32 bits sur les processeurs x86 modernes ; cependant s'ils sont utilisés par des programmes 32 bits, ces derniers ne pourront fonctionner que sur des processeurs supportant ces instructions. Ceci n'est pas un problème pour des programmes 64 bits, du fait que tous les processeurs AMD64 supportent ces jeux d'instructions. Utiliser les instructions SSE et SSE2 au lieu des x87 ne réduit alors pas le nombre de plates-formes sur lesquelles les programmes pourront fonctionner. Du fait que les instructions SSE et SSE2 sont généralement plus rapides et fournissent les mêmes fonctionnalités que les jeux MMX et 3DNow!, ces derniers sont considérés comme dépassés sur AMD64.
  • No-Execute bit : le bit 'NX' (bit 63 des entrées de la table des pages) permet au système d'exploitation de spécifier quelles pages d'adresse mémoire virtuelle peuvent contenir du code exécutable et quelles pages ne le peuvent pas. Une tentative d'exécuter du code d'une page identifiée comme ‘no execute’ provoquera une violation d'accès mémoire, identique à celle générée lors d'une tentative d'écriture sur une page en mode « lecture seule ». Ceci devrait rendre plus difficile pour un code malicieux de prendre le contrôle du système via les attaques par « buffer overrun » ou liées à des problèmes de vérifications des tampons mémoire. Une fonctionnalité identique était déjà disponible sur les processeurs x86 depuis le 80286 à l'aide d'un attribut des descripteurs de segment, mais ne peut alors s'appliquer qu'à un segment entier. L'adressage par segment est considéré comme obsolète depuis longtemps et tous les systèmes d'exploitation actuels pour PC ne l'utilisent effectivement pas, en plaçant l'adresse de base de chacun d'entre eux à 0 et sa taille à 4 giga-octets. AMD a été le premier vendeur de la famille x86 à supporter l'accès non exécutable en mode d'adressage linéaire. Cette fonctionnalité est aussi disponible en mode ‘legacy’ sur les processeurs AMD64, ainsi que les processeurs Intel x86 récents, avec l'utilisation du mode PAE.
  • Suppression de fonctionnalités anciennes : un certain nombre de fonctionnalités de programmation système de l'architecture x86 non utilisées dans les systèmes d'exploitation moderne ne sont plus disponibles sur AMD64 en « long mode ». Ceci inclut l'adressage mémoire segmenté (bien que les segments FS et GS subsistent, pour la compatibilité avec le code Windows), le mécanisme de changement de tâches (task switch) et le Mode virtuel 8086. Ces fonctionnalités subsistent en « legacy mode », pour permettre à ces processeurs d'exécuter complètement les codes 32 et 16 bits sans modification. Si, dans le futur, ne devrait plus subsister de code 32 bits utilisant ces fonctionnalités, leur support pourrait être supprimé des processeurs pour améliorer la conception des processeurs et économiser sur les coûts de production. Ces fonctionnalités pourraient de plus être émulées par le système d'exploitation pour préserver la compatibilité avec les applications « legacy ».

Les différents modes de fonctionnement

Mode de fonctionnement Système d'exploitation requis Recompilation requise Taille des adresses par défaut Taille des opérandes par défaut Extensions de registres Taille typique des registres GPR
Long mode 64-bit mode OS compatibles 64-bit (x86-64) (par exemple Win XP Pro x64, Linux x86-64) oui 64 32 oui 64
Compatibility mode non 32 32 non 32
16 16 16
Legacy Mode Protected Mode OS « Legacy 16-bit ou 32-bit » non 32 32 non 32
16 16 16
mode virtuel 8086 16 16 16
Real mode Legacy 16-bit OS

Description de ces modes

Implémentations

Les processeurs suivants implémentent l'architecture AMD64 :

Implémentations sur une autre architecture commune : Intel 64

Les processeurs suivants implémentent l'architecture Intel 64 :

Nomenclature Industrielle

Puisque les architectures AMD64 et Intel 64 sont relativement similaires, beaucoup de produits logiciels et matériels utilisent un terme commercial neutre pour indiquer leur compatibilité avec les deux implémentations. La désignation d'origine d'AMD pour l'architecture de e processeur, "x86-64", est encore parfois utilisée dans ce but, tout comme x86_64".[1] d'autres entreprises, comme Microsoft et Sun Microsystems, utilisent la contraction "x64" au niveau marketing.

Beaucoup de systèmes d'exploitation et de produits, spécialement ceux qui introduisirent la prise en charge de x86-64 avant la venue d'Intel sur cette architecture, utilisent le terme "AMD64" ou "amd64" pour se référer à la fois à AMD64 et à Intel 64.

  • Debian, Ubuntu, et Gentoo incluent AMD64 et Intel 64 sous le nom "amd64".
  • Java Development Kit (JDK): Le nom "amd64" est utilisé pour les noms de répertoires contenant des fichiers x86-64 .
  • Mac OS X: Apple parle de "x86_64" notamment dans la commande de Terminal arch et dans la documentation. [1]
  • Microsoft Windows: Les version x64 de Windows utilisent le AMD64 moniker pour designer divers composants qui utilisent la technologie 64-bit pour les processeurs IA-32. Par exemple, le dossier système dans un CD-ROM d'installation du « Windows x64 Edition » est nommé "AMD64", pour le différencier des version "i386" des versions 32-bits .
  • Solaris: La commande "isalist" de Solaris, l'operating system de Sun identifie à la fois les systèmes à base de AMD64- et Intel 64– comme "amd64".

Notes et références

  1. Kevin Van Vechten, « re: Intel XNU bug report », August 9, 2006, Darwin-dev mailing list. Consulté le 2006-10-05. « The kernel and developer tools have standardized on "x86_64" for the name of the Mach-O architecture »

Annexes

Articles connexes

Liens externes

  • Portail de l’informatique Portail de l’informatique
Ce document provient de « AMD64 ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article AMD 64 de Wikipédia en français (auteurs)

Игры ⚽ Нужно решить контрольную?

Regardez d'autres dictionnaires:

  • AMD 64 — AMD Athlon 64 Athlon 64 Emblem Produktion: 2003 bis 2008 Produzent: AMD Prozessortakt: 1,8 GHz bi …   Deutsch Wikipedia

  • AMD-K8 — (auch bekannt als AMD Hammer) ist der Codename einer Prozessorgeneration von AMD, die die Nachfolge der AMD K7 Prozessoren angetreten hat. Die Bezeichnung AMD K8 steht dabei in der Tradition der K5 , K6 und K7 Generationen. Hauptneuerung der K8… …   Deutsch Wikipedia

  • AMD-K9 — lautet die inoffizielle Bezeichnung für AMDs Doppelkernprozessoren auf K8 Basis.[1] Die Bezeichnung AMD K9 steht dabei in der Tradition der K5 bis K8 Generationen. Die Prozessoren der K9 Generation wurden als die „Doppelkernversionen des K8“… …   Deutsch Wikipedia

  • AMD K6-2+ — AMD K6 III Produktion: 1999 bis 2000? Produzent: AMD Prozessortakt: 400 MHz bis 570 MHz FSB Takt: 95 MHz bis 100 MHz L2 Cachegröße: 128 KB bis 256 KB Fer …   Deutsch Wikipedia

  • AMD K6-3 — AMD K6 III Produktion: 1999 bis 2000? Produzent: AMD Prozessortakt: 400 MHz bis 570 MHz FSB Takt: 95 MHz bis 100 MHz L2 Cachegröße: 128 KB bis 256 KB Fer …   Deutsch Wikipedia

  • AMD K6-II — AMD K6 2 Produktion: 1998 bis 2000? Produzent: AMD Prozessortakt: 266 MHz bis 550 MHz FSB Takt: 66 MHz bis 100 MHz L1 Cachegröße: 64 KB Fertigung …   Deutsch Wikipedia

  • AMD K6-2 — <<   AMD K6 2   >> AMD K6 2 Logo Produktion: 1998 bis 2000? Produzent …   Deutsch Wikipedia

  • AMD K6 — <<   AMD K6   >> AMD K6 Logo Produktion: 1997 bis 1999? Produzent …   Deutsch Wikipedia

  • AMD K7 — ist der Codename einer Mikroarchitektur von AMD. Anders als bei den Vorgängern AMD K6 und AMD K5 nutzte AMD beim K7, ähnlich wie Intel beim Pentium, einen vollwertigen Namen – AMD Athlon und verwandte Modelle – als Produktbezeichnung. Der Begriff …   Deutsch Wikipedia

  • AMD K8 — (auch bekannt als AMD Hammer) ist der Codename einer Mikroprozessorgeneration von AMD, die die Nachfolge der AMD K7 Mikroprozessoren angetreten hat. Die Bezeichnung AMD K8 steht dabei in der Tradition der K5 , K6 und K7 Generationen.… …   Deutsch Wikipedia

  • AMD FX — AMD FX XXXX Produktion: seit 2011 Produzent: AMD Prozessortakt: 3,1 GHz bis 3,6 GHz Fertigung: 32 nm Befehlssatz …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”