web-dev-qa-db-fra.com

Différence entre le téléchargement i386 et le AMD64?

Quelle est la différence entre le téléchargement standard i386 et le téléchargement AMD64 d'Ubuntu 11.04? J'utilise actuellement l'i386 sur une machine AMD. Mon système fonctionnerait-il mieux avec le téléchargement AMD64? (Ma machine fonctionnait sous Windows 7 64 bits, mais j’ai négligé de regarder cela avant d’installer Ubuntu).

162
Rob

i386 fait référence à l'édition 32 bits et AMD64 (ou x86_64) à l'édition 64 bits pour les processeurs Intel et AMD.

L'entrée i386 de Wikipedia:

L'Intel 80386, également appelé i386, ou tout juste 386, était un microprocesseur 32 bits introduit par Intel en 1985 ... Ce processus s'appelle x86, IA-32 ou architecture i386, en fonction du contexte.

L'entrée x86_64 de Wikipedia:

x86-64 est une extension du jeu d'instructions x86. Il prend en charge des espaces d'adresses virtuels et physiques beaucoup plus vastes que ceux possibles sur x86, permettant ainsi aux programmeurs de travailler aisément avec des ensembles de données beaucoup plus volumineux ... Après avoir lancé l'architecture sous le nom "x86-64", AMD l'a renommé AMD64 ... x86 -64 est toujours utilisé par de nombreux acteurs du secteur comme terme indépendant du vendeur, tandis que d'autres, notamment Sun Microsystems (maintenant Oracle Corporation) et Microsoft, utilisent x64.

Même si vous avez un processeur Intel, vous devez utiliser AMD64 pour installer 64 bits sur votre ordinateur (il utilise les mêmes jeux d'instructions).

Je recommande fortement de l'utiliser. La plupart du temps, vous ne remarquerez pas de différence, mais pour les charges de travail importantes (telles que le montage vidéo, les jeux, etc.), l’ordinateur fonctionnera plus rapidement (l’ordinateur peut calculer 2 + 2 + 2 = 6 au lieu d’avoir à le faire). 2 + 2 = 4 + 2 = 6 dans un exemple). Dans le monde Windows, un système d'exploitation 32 bits ne vous laissera pas utiliser plus de 3,5 Go de RAM sur votre ordinateur (même si vous en avez 8!). Vous devez utiliser un système d'exploitation 64 bits pour utiliser pleinement toute la mémoire vive. Pour Linux, cependant, il n'y a pas de telle limite (merci, Uri).

Quoi qu’il en soit, le monde est passé de 32 bits et il n’est là que pour prendre en charge les anciennes machines incapables d’exécuter en 64 bits.

161
user6658

L’architecture porte le nom d’AMD parce qu’AMD l’a inventée, avec l’Athlon 64. De même, l’architecture i386 32 bits porte le nom du processeur 386 d’Intel, car c’était le premier du genre, mais l’i386 fonctionnera également avec les processeurs AMD. Alors oui, vous pouvez utiliser cette image ISO.

Source: https://superuser.com/questions/128482/ubuntu-AMD64-vs-i386

41
Mitch

oui, vous pouvez installer AMD64 bit sur un processeur Intel 64 bit. AMD a inventé le processeur de jeu d'instructions x86-64 bits, son nom n'est donc qu'un hommage à AMD.

10
Roney Thomas

La différence entre AMD64 et i386 est que AMD64 est 64 bits alors que i386 est 2 bits. C'est la largeur (en bits) des registres disponibles dans le noyau.

Fondamentalement, le plus grand nombre qu'un cœur de processeur 32 bits peut gérer en une fois dépasse un peu plus de 4,29 milliards de dollars, tandis qu'un cœur de 64 bits peut gérer un nombre légèrement supérieur à 18,44 milliards de milliards.

Les cœurs des ordinateurs modernes sont capables de se comporter comme un processeur 64 bits ou 32 bits en fonction de la version du système d'exploitation que vous avez installée.

Le code 64 bits a tendance à être plus rapide que le code 32 bits, soit parce qu'il peut traiter de plus grands nombres à la volée, soit parce que les cœurs 64 bits ont plus de registres, ce qui permet de stocker davantage d'éléments sans avoir à les stocker dans la mémoire externe. Bien que rien ne garantisse que le code 64 bits fonctionnera plus rapidement si le code n'a pas été écrit pour tirer parti des fonctionnalités supplémentaires du processeur.

La compilation sur un système 32 bits produira un code différent de celui d'un système 64 bits. Vous pouvez le prouver en compilant le code d'assemblage sur les deux systèmes. En supposant que votre fichier C est myfile.c essayez gcc -S myfile.c sur les deux systèmes et comparez myfile.s

Un code bien écrit pour un système 32 bits doit être compilé et exécuté sur un système 64 bits, mais tout le code n'est pas bien écrit. De nombreux programmeurs font des hypothèses sur le système qui peuvent ne pas être vraies: telles que la largeur du registre ou l'ordre des octets.

Sans accès à votre code source, il est difficile de voir quel est le problème, mais un segmenation fault indique qu'une tentative d'accès à une mémoire n'appartenant pas au programme a été effectuée. Cela peut, par exemple, indiquer que mem_ptr est un pointeur 32 bits qui convient parfaitement à un système 32 bits mais qui doit être un pointeur 64 bits sur un système 64 bits.

8
Warren Hill

Oui, vous pouvez utiliser ce .ISO. AMD64 fait référence à l'architecture. AMD a été le premier à créer un processeur 64 bits. Je pense donc qu'il s'appelait ainsi à l'époque et que le nom était resté. Cela semble un peu déroutant, mais AMD64 signifie simplement 64 bits.

6
reverendj1