¿Diferencia entre la descarga i386 y el amd64?

164

¿Cuál es la diferencia entre la descarga estándar i386 y la descarga amd64 de Ubuntu 11.04? Actualmente estoy ejecutando el i386 en una máquina AMD, ¿funcionaría mejor mi sistema con la descarga AMD64? (mi máquina ejecutaba Windows 7 de 64 bits, pero olvidé mirar eso antes de instalar Ubuntu).

Robar
fuente

Respuestas:

165

i386 se refiere a la edición de 32 bits y amd64 (o x86_64) se refiere a la edición de 64 bits para procesadores Intel y AMD.

Entrada i386 de Wikipedia:

El Intel 80386, también conocido como i386, o solo 386, fue un microprocesador de 32 bits introducido por Intel en 1985 ... Esto se denomina arquitectura x86, IA-32 o i386, según el contexto.

Entrada x86_64 de Wikipedia:

x86-64 es una extensión del conjunto de instrucciones x86. Admite espacios de direcciones físicos y virtuales mucho más grandes que los posibles en x86, lo que permite a los programadores trabajar convenientemente con conjuntos de datos mucho más grandes ... Después de iniciar la arquitectura con el nombre "x86-64", AMD lo renombró AMD64 ... x86 -64 todavía es utilizado por muchos en la industria como un término neutral para el vendedor, mientras que otros, especialmente Sun Microsystems (ahora Oracle Corporation) y Microsoft, usan x64.

Incluso si tiene una CPU Intel, debe usar AMD64 para instalar 64 bits en su computadora (usa los mismos conjuntos de instrucciones).

Recomiendo usarlo. En su mayor parte, no notará una diferencia, pero para grandes cargas de trabajo (como edición de video, juegos, etc.), la computadora funcionará más rápido (la computadora tiene la capacidad de calcular 2 + 2 + 2 = 6 en lugar de tener que hacerlo 2 + 2 = 4 + 2 = 6 en un ejemplo). En el mundo de Windows, un sistema operativo de 32 bits no le permitirá usar más de 3.5 Gigas de RAM en su computadora (¡incluso si tiene 8!). Tendría que usar un sistema operativo de 64 bits para usar completamente toda la RAM. Para Linux, sin embargo, no existe ese límite (gracias, Uri).

De todos modos, el mundo ha cambiado de 32 bits y solo está ahí para admitir máquinas más antiguas que no pueden ejecutar 64 bits.

Jeremy Bicha
fuente
Esa última parte es ahora (en Linux, por supuesto). Simplemente no es cierto, PUEDES usar más de 3.5 GB de RAM con el núcleo PAE en 32 bits.
Uri Herrera
¿No serían los 3.5 gbs de limitación de memoria ram de 32 bits 4 gbs- <memoria de tarjeta gráfica>?
Chriskin
3
En aras de la simplicidad, he omitido tecnicismos como la memoria de la tarjeta gráfica. Mi objetivo era decir "si tienes más de 3.5-4 conciertos, usa 64 bits".
1
@Treefroginc ¿Qué ajustes exactos?
Uri Herrera
1
64 bits es tan útil y estable como 32 bits con la excepción casi insignificante de Flash en ciertas circunstancias durante un cierto momento del día y si los planetas se alinean emitiendo rayos cósmicos.
41

La arquitectura lleva el nombre de AMD porque AMD la inventó, con el Athlon 64. Del mismo modo, la arquitectura i386 de 32 bits lleva el nombre del procesador Intel 386, porque fue el primero de su tipo, pero el i386 también funcionará en procesadores AMD. Entonces sí, puedes usar esa imagen ISO.

Fuente: https://superuser.com/questions/128482/ubuntu-amd64-vs-i386

Mitch
fuente
10

sí, puede instalar amd64 bit en el procesador Intel 64 bit. AMD inventó el procesador de conjunto de instrucciones x86-64 bits, por lo que el nombre es solo un homenaje a AMD.

Roney Thomas
fuente
Gracias por aclararlo. Sé que era una pregunta simple, pero no pude encontrar la respuesta en ningún lado.
Dave Wolover
8

La diferencia entre amd64 e i386 es que amd64 es de 64 bits, mientras que i386 es de 32 bits . Este es el ancho (en bits) de los registros disponibles en el núcleo.

Básicamente, el número más grande que un núcleo de CPU de 32 bits puede manejar de una vez es un poco más de 4.29 mil millones, mientras que un núcleo de 64 bits puede manejar un número de más de 18.44 mil millones, mil millones.

Los núcleos de las PC modernas son capaces de comportarse como un procesador de 64 bits o de 32 bits, según la versión del sistema operativo que haya instalado.

El código de 64 bits tiende a ejecutarse más rápido que el código de 32 bits ya sea porque puede manejar números más grandes en marcha o porque los núcleos de 64 bits tienen más registros, por lo que pueden almacenar más cosas sin necesidad de poner cosas en la memoria externa. Aunque no hay garantía de que el código de 64 bits se ejecutará más rápido si el código no se ha escrito para aprovechar las características adicionales del procesador.

Compilar en un sistema de 32 bits producirá un código diferente al de un sistema de 64 bits. Puede probar esto compilando el código de ensamblaje en los dos sistemas. Suponiendo que su archivo C es myfile.c intente gcc -S myfile.cen ambos sistemas y compare myfile.s

El código bien escrito para un sistema de 32 bits debe compilarse y ejecutarse en un sistema de 64 bits, pero no todo el código está bien escrito. Muchos programadores hacen suposiciones sobre el sistema que pueden no ser ciertas: como el ancho del registro o el orden de los bytes.

Sin acceso a su código fuente, es difícil ver cuál es el problema, pero segmenation faultindica que se ha intentado acceder a la memoria que no pertenece al programa. Esto puede, por ejemplo, indicar que mem_ptr es un puntero de 32 bits que está bien en un sistema de 32 bits pero que debe ser un puntero de 64 bits en un sistema de 64 bits.

Warren Hill
fuente
lo comprobaré y volveré sobre esto ... Thankx
bikram990
La realloc(mem_ptr, 0)función se libera la memoria asignada previamente con malloc, calloc, etc. Si ese indicador se ha dañado de algún modo, usted está tratando de memoria libre no es propietario y esto genera un fallo de segmentación
Warren Hill
6

Sí, puedes usar ese .ISO. amd64 se refiere a la arquitectura. AMD fue el primero en crear una CPU de 64 bits, por lo que creo que se llamó así en ese momento y el nombre se quedó. Parece un poco confuso, pero amd64 solo significa 64 bits.

reverendj1
fuente
10
No fueron los primeros en crear una CPU de 64 bits. Intel tenía uno antes pero no era compatible con versiones anteriores, por lo que no fue ampliamente adoptado. El nombre amd64 era para diferenciar la arquitectura de AMD de la IA64 de Intel, que ahora ha sido descontinuada.
psusi