Agregar comentarioRegresarIr al inicio del exploradorIr a la página principal
Secretos del computo de 64 bits

Creación: 2008-04-19 23:38

Última edición: 2008-06-21 00:55

Hola. Llevaba tiempo con ganas de escribir esto. Al fin me he puesto serio y lo he hecho. Leanlo es muy interesante lo que descubrí.

Las computadoras de 64 bits, hablando de las computadoras personales, llevan ya algunos años entre nosotros.

El computo de 64 bits se refiere a que tiene 64 bits (o más) en todos los registros de datos, así como los registros de direccionamiento. Esto también significa que la ALU puede hacer operaciones con valores de 64 bits en una sola operación. Anteriormente esto también era posible sólo que haciendola por partes (32 bits primero y luego 32) lo que llevaba a un desempeño inferior. Con más bits ahora es posible direccionar más memoria RAM, con 32 bits puedes tener máximo 4GB o menos (ya que algunos Sistemas Operativos reservan direcciones para ellos).

Simplemente con esto uno a primera vista entiende que las computadoras de 64 bits son lo mejor en cuestión de rendimiento. Hacen operaciones de 64 bits de un solo tiro, pueden manejar más RAM. Yo lo creía. Hasta que noté que algunas cosas eran mas lentas en comparación con máquinas de 32 bits.

Ahora veamos por qué.

Cuando empece a usar computo de 64 bits sabía que no todo se vería beneficiado. Programas que no usan los 64 bits o programas que no hacen calculo intenso de números flotantes no ganarían rendimiento. (Sería como poner un anciano a manejar un mustang, no usa el poder que tiene). Teniendo esto en mente sabía que el beneficio sería en aplicaciones pesadas como CAD, juegos 3D, compresión de video/audio, renderizado de imagenes y cosas por el estilo. Tambien imaginaba que las aplicaciones ligeras seguirian normal (no se notaria mejora).

Bueno, ahora estas eran las espectativas pero la realidad es otra.

Luego de usar mi sistema de 64 bits empece a notar que no era lo que esperaba. Después de investigar y ver algunos "benchmarks" me dí cuenta que algunas (casi todas) aplicaciones de 32 bits eran más rápidas que su version de 64 bits. No entendía por qué y tampoco se explicaba por qué. En esos "benchmarks" suponian que era porque aún no estaban bien optimizados. Aunque a mi se me hacía raro. Después de una investigación ardua encontre mi respuesta.


-Las aplicaciones de 64 bits son más grandes que las de 32 bits:

Al ser aplicaciones de 64 bits los registros de direccionamiento son de 64 bits. Estos en los programas se ven reflejados como punteros y ahora son del doble que antes. Así que hay un incremento sustancial en tamaño.

Esto genera 3 problemas. Primero al ser más grande ocupa más espacio en disco(no tan grave), también ocupa más espacio en RAM (grave).

Ahora si recuerdan que su CPU tiene una cache de nivel L1 y L2 integrada que hace que se reduzcan los accesos a la RAM (que es bastante lenta comparada con la cache L1 y L2) y que mientras esta sea mayor el rendimiento se ve beneficiado. El problema radica ahí.

Al ser más grande los punteros la cache se llena más rapidamente obligando a accesar más veces a la RAM.

Ahora chequé que esto fuera cierto y sí. Un programa de 32 bits corriendo en un CPU (AMD Athlon 64 capaz de ejecutar programas en modo de 32 bits y 64 bits) fue superior en velocidad que su versión de 64 bits corriendo en el mismo procesador.

Ahora ya saben la razón de que no haya cambio radical. Pero no se sientan estafados. Con esto también se nota que es cuestión de tiempo para que el computo de 64 bits se instaure completamente. Ahora los procesadores nuevos estan saliendo con memoria cache más grandes. Lo que mejora directamente esto.

Así que para disfrutar del poder prometido por los 64 bits deben buscar procesadores con memoria cache grande y tener al menos 1GB de RAM (ya que por lo mismo ahora caben menos programas en ella).

Finalmente quiero aclarar que si no tienes sistema operativo que este trabajando a 64 bits y aplicaciones de 64 bits en tu máquina de 64 bits no significa que ya estes usando los beneficios de los 64 bits. Debes instalar un sistema operativo para aprovecharlo. El problema es que actualmente el software de 64 bits permanece en estado fetal principalmente en programas comerciales (Microsoft Windows y todo lo relacionado con él). Afortunadamente hace tiempo hay mucho software de 64 bits del lado OpenSource. Si quieren comenzar a usar su máquina de 64 bits prueben alguna versión de 64 bits de alguna distribución de Linux.

Es todo. Bye.



Agregar comentarioRegresarIr al inicio del exploradorIr a la página principal