Hace 7 años | Por --531283-- a genbeta.com
Publicado hace 7 años por --531283-- a genbeta.com

¿Qué diferencia hay entre los sistemas de 32 y 64 bits? Más de las que pueda parecer a simple vista. Para empezar, podemos tirar de lo más evidente: un chip de 64 bits (a cuya arquitectura en ocasiones nos referimos como x64) puede hacer mucho más que uno de 32 bits. Hoy en día es más que probable que ejecutes sistemas de 64 bits en procesadores con arquitecturas de este mismo tipo, algo que incluso ha llegado al mundo móvil.

Comentarios

Xtrem3

#1 ¿No era el largo de palabra? Lo leeré después de comer.

woody_alien

#2 Pero el largo de palabra afecta a la cantidad de memoria direccionable:

32 bits = 4.294.967.295 bytes direccionables
64 bits = 18.446.744.073.709.551.616 bytes direccionables

Otra cosa es que por cuestión de costes los fabricantes capen el tamaño del bus en las cpus de 64, por ejemplo AMD limita las direcciones a 52 bits de memoria ram y 48 bits de memoria virtual.

D

#7 Por si alguno no lo capta:
32 bits = 2^32 bytes direccionables
64 bits = 2^64 bytes direccionables

eso da los numerajos esos tan enormes de arriba

r

#7 puedes usar un puerto de n bits. y cambiar los bancos de memoria. por lo que tendrias n bancos de 4 gb. superando dicha supuesta limitación. el hardware manda y el software se adapta.

D

#21 Sí, pero programar así es un puto coñazo, a menos que lo automatices, en cuyo caso pierdes rendimiento.

Veelicus

#1 Alguna cosilla mas tambien, pero principalmente eso.

makinavaja

#1 ...eso pasa en Windows únicamente, que sigue manteniendo limitaciones de cuando era de 16bits ... En otros sistemas operativos no... hay vida más allá de Windows..

Aokromes

#1 #6 en realidad con windows de 32 bits tambien te podias pasar el limite de 4GB de ram.

gonas

#6 mucho troll es lo que hay más allá de Windows. A ver, ¿que limitaciones tiene Windows?

D

#1 Aparte de que los de 64 no usan más de un core ¿no?

gonas

#8 no.

D

#1 Exepto si el sistema operativo de 32bits y la cpu soportan PAE, entonces pueden llegar a los 64GB de RAM
https://es.wikipedia.org/wiki/Extensi%C3%B3n_de_direcci%C3%B3n_f%C3%ADsica

D

#9 Pero cada proceso no podrá acceder a más de 4GB de ram.

D

#1 Pues no sólo eso. Tu ahorro de click es cómo ahorrar en comer comprando sólo pan.

D

#3 sin calculadora también: el doble de bits

m

Quitando el tema de la memoria, en las cpus de 64 bits cada instrucción puede hacer más cosas que en las de 32 bits. El número de bits es el tamaño de las instrucciones.

Las instrucciones de las cpus hacen rutinas muy básicas, como "coge el valor que hay en el registro 1, súmalo al del registro 3, y pon el resultado en esta dirección de memoria.

En las arquitecturas de 16 bits la cantidad de instrucciones posibles era limitada, en las de 32 bits se amplió el total de instrucciones posibles, ya que las instrucciones son más largas y por lo tanto puedes poner más rutinas en la misma instrucción, y lo mismo al pasar a 64 bits.

Es decir, que puedes hacer más cosas con menos instrucciones y por lo tanto en menos tiempo ya que cada instrucción es un ciclo de reloj.

Así que con una cpu de 64 bits igual de rápida en GHz que otra de 32 bits puedes ejecutar más rutinas en el mismo tiempo, y por lo tanto es más rápida en la realidad.

Nota: explicación muy simplista, pero válida para explicar esta diferencia concreta que es igual de importante o más que el tema de la memoria.

gonas

#12 x64 no es realmente un procesador de 64bit. El juego de instrucciones sigue siendo de 32 bit. Así que hacen lo mismo.

D

#12 #17 Ni lo uno ni lo otro. No es necesario que una instrucción ocupe 64 bits en una arquitectura de 64 bits. De hecho sería un verdadero desperdicio. La clave está en que los registros y el espacio de direcciones sea de 64 bits.

Sakai

Última hora

p

Algo que no se menciona (tampoco va con el artículo) es lo poco óptimo de la arquitectura x86_64 por ir heredando todo su pasado, es un apaño para no tirar todo lo que existe.

Otras CPU 64 bits son mucho más eficientes, véase el caso de las AMR y como están dando el pelotazo

D

...