La différence la plus importante entre x86 et x64 est que la première est l'architecture 32 bits et la seconde est l'architecture d'instructions 64 bits. Une architecture d'instructions (ISA) est un terme très important qui s'applique à tout processeur. Les instructions, l'adressage de la mémoire, les registres et de nombreuses autres sections architecturales d'un CPU sont spécifiées par l'ISA. x86 est une ISA de renommée mondiale introduite par Intel en 1978 avec le processeur 8086. Ensuite, diverses extensions se sont produites et, en 2000, AMD a créé la spécification pour étendre l'ensemble d'instructions x86 à 64bit sous le nom d'AMD64. Plus tard, d'autres sociétés telles que Intel ont également mis en œuvre cette spécification et cet AMD64 est celui qui est identifié par le nom x64.
x86 est Une architecture d'instructions introduite par Intel avec le célèbre processeur 8086. En 1978, Intel a introduit le processeur 8086 qui était un processeur 16 bits. Plus tard, ils ont introduit divers processeurs tels que 80186, 80286, 80386 et 80486, et tous étaient en arrière compatibles avec l'ensemble d'instructions d'origine utilisé dans le processeur 8086. Étant donné que tous ces processeurs se terminent par le numéro 86, l'architecture d'instructions a été identifiée par le nom x86. Avec l'introduction du 80386, l'instruction x86 a été étendue à un système de 32 bits. Ici, 32 bits signifie que tous les registres, bus mémoire et bus de données sont 32 bits. Ensuite, les processeurs du Pentium sont venus alors que Pentium I, Pentium II, Pentium III, Pentium IV et tout cela ont également suivi une architecture 32 bits. Mais diverses autres extensions sont arrivées à l'architecture x86, comme l'ajout d'instructions comme MMX, SSE et SSE2. En dehors de cela, de nombreuses autres améliorations ont également été réalisées. Ensuite, l'ensemble d'instructions x86 a été étendu à un ensemble d'instructions 64 bits et à partir de ce point, il a été appelé X64, dont nous allons discuter dans la section suivante. Quoi qu'il en soit, en général, X86 fait référence à l'architecture 32 bits qui a évolué à partir d'une architecture 16 bits qui a créé le processeur 8086.
Processeur 8086
Un système 32 bits ne peut représenter que 232 valeurs distinctes et, par conséquent, l'adressage de la mémoire est limité à ce nombre d'adresses. 232 Les octets sont égaux à 4 Go et, par conséquent, x86 avait une limite de mémoire adressable maximale de 4 Go. Afin de surmonter cela, d'autres extensions ont été effectuées à l'architecture x86. AMD, vers l'année 2000, a introduit ces spécifications qui ont étendu l'architecture x86 à 64 bits. Cela a été introduit sous le nom AMD64. x64 est un autre nom donné à cette architecture AMD64. Cette architecture AMD64 ou X64 est également connue sous le nom x86_64. Avec l'architecture 64 bits, tous les registres sont devenus 64 bits et le bus mémoire et le bus de données sont également devenus 64 bits. Maintenant 264 Les valeurs distinctes peuvent être traitées et cela donne une énorme limite supérieure à la mémoire maximale possible. AMD K8 a été le premier processeur qui a implémenté cette architecture 64 bits. Puis Intel a également adopté cette architecture. Avec des processeurs Intel Core qui ont commencé à partir d'Intel Core 2, Intel a commencé à utiliser cette architecture dans leurs processeurs. Actuellement, tous les processeurs Intel tels que Core i3, Core i5 et Core i7 utilisent cette architecture x64. Une chose importante à souligner est que cette architecture X64 est toujours en arrière compatible avec l'ancien ensemble d'instructions x86.
Processeur 64 bits
• x86 a été introduit vers l'année 1978 tandis que x64 est arrivé plus récemment en 2000.
• x86 est sorti du célèbre processeur Intel 8086 et, par conséquent, x86 a été introduit par Intel. Mais x64, qui a été une extension de x86, a été introduit par AMD.
• L'architecture x86 est de 32 bits. (Les premiers processeurs x86 étaient 16 bits mais, dans les processeurs ultérieurs, une extension à 32 bits a été effectuée). L'architecture x64 est à 64 bits.
• Les processeurs avec architecture de jeu d'instructions x86 ont donc des registres 32 bits, un bus mémoire 32 bits et un bus de données 32 bits. Mais X64 a des registres 64 bits, un bus mémoire 64 bits et un bus de données 64 bits.
• x86 a une limitation de la mémoire adressable maximale qui est une limite supérieure de 4 Go (232 octets). Mais, sur les systèmes x64, cette limite est énorme, ce qui est 264 octets.
• x64 est une expansion de x86; Par conséquent, il est bien amélioré et puissant que l'ancien x86.
• Les valeurs qui peuvent être stockées dans un registre, dans un système x64, sont supérieures à une valeur qui peut être stockée dans un registre basé sur X86. Par conséquent, x64 peut gérer le calcul d'entiers plus grands beaucoup plus rapidement, car il n'est pas nécessaire d'utiliser plusieurs registres dans un tel cas pour diviser la valeur et le stockage comme dans x86.
• x64 peut transmettre des données de plus grande taille le long du bus de données. C'est-à-dire qu'un bus de données de 64 bits peut transmettre parallèle 64 bits tandis que l'architecture x86 qui a un bus 32 bits ne peut que transmettre parallèle 32 bits.
Résumé:
L'architecture de jeu d'instructions x86 est 32 bits tandis que l'architecture de jeu d'instructions x64 est de 64 bits. x64 est venu comme une extension de l'architecture x86 existante. Les registres, le bus mémoire, le bus de données sur les architectures x86 sont de 32 bits alors qu'il s'agit de 64 bits sur x64. Par conséquent, la quantité maximale de mémoire adressable est très plus élevée dans les systèmes x64 que dans les systèmes x86. X86 a été introduit par Intel avec le processeur 8086 qui était un processeur 16 bits et avec le temps, ce x86 a été étendu à 32 bits. Puis plus tard, AMD a introduit l'architecture x64 en étendant l'architecture x86 existante et ce x64 est entièrement compatible avec le jeu d'instructions x86.
Images gracieuseté: