¿Qué ventaja tienen los 64 bits? (Guía Notebooks Cap 12)

¿Qué ventaja tienen los 64 bits? (Guía Notebooks Cap 12)

por

Discutiremos que hay detrás de la tecnología de 64-bits, cuáles son sus beneficios y desventajas y qué importancia debería tener este factor en la compra de nuestro futuro notebook

Un problema de registros
En este duodécimo capítulo de la guía de notebooks discutiremos que hay detrás de la tecnología de 64-bits, cuáles son sus beneficios y desventajas y qué importancia debería tener este factor en la compra de nuestro futuro notebook. Adelantando un poco las conclusiones del anexo veremos el porqué este factor no debería ser de mayor importancia en nuestra futura compra en la mayoría de los casos.

Antes de entrar de lleno a la discusión de los 64 bits tenemos que comprender como funciona el sistema de registros de un procesador, un concepto de mucha importancia en todo lo que se refiere a programación pero que nosotros cubriremos de forma superficial para no perdernos y poder llegar a discusiones concretas.

Un registro es una pequeña pero veloz cantidad de memoria que el procesador utiliza para acelerar la ejecución de un programa, dando acceso rápido a valores usados recurrentemente en ciertos segmentos del código de la aplicación. Los procesadores trabajan moviendo información desde la memoria principal (RAM) a los registros y operando sobre ella para luego devolver el resultado a la RAM.

Los registros son la forma más rápida que tiene un procesador (CPU) de acceder a cierta información y la “cantidad de bits” que pueda manejar cierto procesador determina el ancho (o el tamaño si lo prefieren) de estos registros.

Hasta el 2003 todos los procesadores que podíamos encontrar en los computadores personales eran de 32 bits (tecnología que llamaremos x86), algo que por ahora no nos dice mucho, pero que es necesario saber para continuar con nuestra discusión.

Limitaciones de memoria RAM

El ancho del registro que puede manejar un procesador determina la máxima cantidad de RAM a la que puede acceder, en el caso de un procesador de 32 bits este valor es de 4 GB de RAM, de los cuales 2 son reservados por el núcleo del sistema operativo (Windows, Linux, etc) y los 2 restantes se pueden asignar a aplicaciones específicas. En particular Windows XP parece tener problemas con este valor límite y se considera que su máxima cantidad de RAM es de 3 – 3,5 GB. Quizás esto suene como mucho, pero si pensamos que 2 GB ya se considera lo estándar para un equipo moderno entonces nos estamos acercando a los límites que nos ofrecen los 32 bits en lo que respecta a memoria RAM.

Existen métodos específicos para saltarse esta limitación en 32-bits, la más conocida es la tecnología PAE (Physical Address Extension) de Intel, que le permite accesar hasta 64 GB de RAM y que de hecho ha estado disponible desde hace más de 10 años, pero esta tecnología no nos incumbe por su enfoque algo más específico y por las desventajas que presenta.

Como iba diciendo anteriormente, en el 2003 AMD presentó su primer procesador con tecnología de “64 bits”, en teoría un procesador con registros de 64 bits de ancho podría direccionar cerca de 16 mil millones de gigabytes, pero la tecnología de AMD en particular (que llamaremos x86-64) “sólo” puede direccionar mil gigabytes de RAM, pero creo que estarán de acuerdo conmigo con que un terabyte de RAM nos basta a todos los consumidores. Eventualmente Intel implementó una tecnología casi idéntica en sus procesadores y hoy todos los procesadores cuentan con esta extensión.

Beneficios y condiciones de los 64 bits

La tecnología x86-64 no sólo aumenta la cantidad de RAM direccionable, sino que también ofrece mejoras en rendimiento durante la ejecución de programas, pero estas sólo están disponibles para aquellas aplicaciones que estén diseñadas y programadas para x86-64, y lo que es peor aún, estas aplicaciones sólo pueden correr sobre un sistema operativo (Windows, Linux, etc) que también esté creado con x86-64 en mente.

Esto es más malo de lo que suena, mientras que Linux cuenta con distribuciones compatibles con x86-64 desde hace años, en el caso de Windows todas las versiones hogareñas de sus SO (XP Home, XP Professional, Vista Home Premium, etc) están hechas exclusivamente para 32 bits y sus SO para 64 bits están muy poco masificados (Windows XP Professional x64, Windows Vista x64) y nunca se les ve disponibles en los computadores o notebooks que uno compra.

Un sistema operativo de 64 bits sólo puede correr sobre un procesador x86-64 (lo que es lógico) y puede ejecutar aplicaciones de 32 o 64 bits indistintamente, dándoles a estas últimas el beneficio de desempeño del que hablamos inicialmente.

La capacidad de ejecutar programas de 32 bits nativamente en un entorno de 64 bits no parece la gran cosa desde nuestro punto de vista, pero esta característica fue fundamental en la tecnología diseñada por AMD y en los futuros procesadores que fueron incorporándola, pues existen procesadores empresariales (Intel Itanium, por ejemplo) que utilizan tecnología de 64-bits exclusivamente y tienen que “emular” las aplicaciones de 32 bits, con un fuerte impacto en rendimiento, pero esto no pasa de ser una anécdota en nuestra guía. Finalmente es bueno saber que los sistemas operativos de 64 bits de Microsoft recurren a un subsistema llamado WOW64 (Windows-on-Windows 64-bit) para correr las aplicaciones corrientes de 32 bits sin penalizaciones sobre estos procesadores x86-64 comunes y corrientes a los que estamos acostumbrados.

Retomando nuestra discusión, hasta ahora todo suena bastante bien y un SO de 64 bits se ve superior a uno de 32 bits, pero el problema de estas versiones especiales de Windows viene de un viejo conocido: los drivers.

Los drivers (o controladores) de todos los dispositivos de un computador no son una aplicación tradicional y representan una capa entre el sistema operativo y el hardware, bajo este punto de vista resulta razonable el hecho de que los drivers para sistemas operativos de 64 bits deben ser creados específicamente para ser compatibles con los 64 bits.

Desde el punto de vista de un usuario de Windows tenemos versiones para 64 bits con casi nula masificación y drivers específicos que no todas las empresas se preocupan de programar, además las compañías de software ven esto y deciden que simplemente no vale la pena desarrollar programas para 64 bits si no hay usuarios que lo utilicen, luego tenemos efectivamente un círculo vicioso que evita que las plataformas en 64 bits despeguen.

De vuelta a los notebooks y al mundo real

Toda esta charla era necesaria para, finalmente, hablar con propiedad y enfoque realista de los que representa realmente x86-64 para nosotros como usuarios finales. Vamos por partes, los procesadores compatibles con la tecnología x86-64 son todos aquellos de AMD y todas las ofertas actuales de Intel, que incluyen a los Celeron M 500, los Pentium Dual Core nuevos y los Core 2 Duo.

En la práctica casi todos estamos corriendo en este momento un sistema operativo basado en 32 bits, por lo que los beneficios de un procesador compatible con x86-64 quedan anulados para todos nuestros efectos prácticos, además los beneficios de movernos a un SO de 64-bits son discutibles si es que no necesitamos correr programas que realmente tomen provecho de esta tecnología, y muchas veces el paso es un dolor de cabeza, especialmente por el tema de drivers, lo que nos lleva a la conclusión del capítulo.

Resumen: 64-bits es aún pura publicidad

Las presentaciones iniciales del potencial de la tecnología x86-64 para los consumidores finales nos prometían un rendimiento nunca antes visto y la apertura de nuevos horizontes, en la práctica sin embargo nos encontramos con una implementación débil por parte de Microsoft y en menor medida de otros desarrolladores de software, luego la masificación de x86-64 es algo que probablemente no veamos hasta la siguiente encarnación de Windows que seguramente se verá obligada a existir en una versión compatible con x86-64 y con una distribución adecuada pues para entonces los sistemas con 4 GB de RAM serán pan de cada día.

Supongo que a estas alturas tienen todas las piezas para concluir que los famosos y misteriosos “64 bits” en este momento no nos sirven de mucho fuera de poder instalar distribuciones de Linux optimizadas para esta arquitectura y sentirse seguros de poder instalar grandes cantidades de RAM en su equipo si en algún momento se decidan a instalar un SO de 64 bits.

Con esta pequeña aclaración respecto de la tecnología x86-64 cerramos este nuevo anexo de la guía de notebooks de CHW esperando sus comentarios, dudas, críticas y sugerencias.