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 remplaçant l'appellation x86-64.
Recherche sur Google Images :
Source image : www.tt-hardware.com Cette image est un résultat de recherche de Google Image. Elle est peut-être réduite par rapport à l'originale et/ou protégée par des droits d'auteur. |
Page(s) en rapport avec ce sujet :
- 4 messages - Dernier message : 20 fév Le pingouin le plus célèbre du monde, je veux évidemment... L'ensemble des processeurs 32 bits Intel, AMD, (cyrix, ibm, .... Par conséquent ta version iso " amd64" est autant compatible avec les processeurs Intel... (source : presence-pc)
- AMD64 : l'architecture définit, en long mode, 64- bit virtuel et 52- bit physique.... Intel a été plus ou moins obligé de suivre et d'implémenter un truc... (source : linuxfr)
- ... Présenté en mai 2001, Itanium d'Intel était le premier vrai processeur 64- bit pour la.... Long mode est conçu pour utiliser des OS 64- bit natifs, ... L'un des aspects principaux de la plate-forme AMD64 est ... (source : windowsitpro.itpro)
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 ensuite 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.
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 mais aussi des adresses virtuelles 64 bits. Les créateurs ont profité de l'opportunité d'une nouvelle architecture pour proposer d'autres améliorations, incluant essentiellement :
- Support complet des entiers 64 bits : l'ensemble des registres généraux (GPRs : General Purpose Registers) passent de 32 à 64 bits et l'ensemble des 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 donc moins besoin de sauvegarder les registres, de les restaurer et d'une façon plus générale de les manipuler ; la majorité des arguments de la majorité 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, surtout pour les programmes disposant de nombreuses boucles.
- Registres XMM supplémentaires : de manière identique, 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 aujourd'hui 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 4 gibioctets pour les architectures x86 32 bits.
- Espace mémoire physique plus grand : les modèles de processeurs implémentant aujourd'hui l'architecture AMD64 peuvent adresser 1 tebioctet d'adresse mémoire physique. Cette limite peut être étendue dans de futures implémentations à 4 pebioctets (252 octets) (limités par le format des entrées de la table de page). En legacy mode (mode compatible x86), l'extension PÆ (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 assez au pointeur d'instruction (registre RIP). Ceci sert à générer du code indépendant de la position du programme en mémoire (PIC, ou Position Independent Code) plus efficace ; ceci est fréquemment 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 l'ensemble des 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 le plus souvent plus rapides et fournissent les mêmes fonctionnalités que les jeux MMX et 3DNow!, ces derniers sont reconnus comme dépassés sur AMD64.
- No-Execute bit : le bit'NX' (bit 63 des entrées de la table des pages) permet au dispositif 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, semblable à celle générée lors d'une tentative d'écriture sur une page en mode «lecture seule». Ceci devrait rendre plus complexe pour un code malicieux de prendre le contrôle du dispositif via les attaques par «buffer overrun» ou liées à des problèmes de vérifications des tampons mémoire. Une fonctionnalité semblable était déjà disponible sur les processeurs x86 depuis le 80286 avec un attribut des descripteurs de segment, mais ne peut alors s'appliquer qu'à un segment entier. L'adressage par segment est reconnu comme obsolète depuis longtemps et l'ensemble des dispositifs 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, mais aussi les processeurs Intel x86 récents, avec l'utilisation du mode PÆ.
- Suppression de fonctionnalités anciennes : un certain nombre de fonctionnalités de programmation dispositif de l'architecture x86 non utilisées dans les dispositifs 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 totalement 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 perfectionner la conception des processeurs et économiser sur les coûts de production. Ces fonctionnalités pourraient qui plus est être émulées par le dispositif d'exploitation pour préserver la compatibilité avec les applications «legacy».
Les différents modes de fonctionnement
Mode de fonctionnement | Dispositif 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 | |
---|---|---|---|---|---|---|---|
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
- Long Mode : mode 64 bits natif avec compatibilité 32 bits (des programmes non recompilés peuvent être utilisés sans perte de performance notable). Il nécessite un dispositif d'exploitation 64 bits comme GNU/Linux, les BSDs, Solaris 10, Windows XP Pro x64 ou encore Windows Vista 64 bits.
- Legacy Mode : dans ce mode le processeur fonctionne classiquement avec le jeu d'instructions x86, avec l'ensemble des dispositifs d'exploitation qui ont précédé comme MS-DOS et Windows non 64 bits.
Implémentations
Les processeurs suivants implémentent l'architecture AMD64 :
- AMD K8
- AMD Athlon 64
- AMD Athlon 64 X2
- AMD Athlon 64 FX
- AMD Opteron
- AMD Turion 64
- AMD Sempro Palermo
- AMD K10
Implémentations sur une autre architecture commune : Intel 64
Les processeurs suivants implémentent l'architecture Intel 64 :
- Intel NetBurst
- Intel Xeon (quelques modèles depuis'Nocona')
- Intel Celeron D (quelques modèles depuis'Prescott')
- Intel Pentium 4 (quelques modèles depuis'Prescott')
- Intel Pentium D
- Intel Pentium Extreme Edition
- Intel Core
- Intel Core 2 (Quad, Duo, Solo) et dérivés (Celeron 4x0, Celeron Dual Core, Pentium E)
- Intel Xeon
- Intel Atom
- Intel Atom 230
- Intel Atom 330
Recherche sur Amazone (livres) : |
Voir la liste des contributeurs.
La version présentée ici à été extraite depuis cette source le 23/03/2009.
Ce texte est disponible sous les termes de la licence de documentation libre GNU (GFDL).
La liste des définitions proposées en tête de page est une sélection parmi les résultats obtenus à l'aide de la commande "define:" de Google.
Cette page fait partie du projet Wikibis.