martes, 2 de octubre de 2007

[64 y 32 bits. No sólo es el doble][autor:stk_mx]

Las diversas generaciones de computadoras se han distinguido, entre otros factores, por el tipo de unidad de procesamiento central más relevante, en un momento determinado. Cuando analizamos un poco la historia del cómputo pasamos por la era de los bulbos, los transistores y los microchips. Sin embargo, es complicado distinguir un salto generacional cuando se es parte del mismo —como si los tiranosaurios hubieran sabido que vivieron en lo que nosotros llamamos el final del cretácico—. Somos testigos de un cambio en este momento: la generalización del cómputo de 32 bits hacia el de 64. ¿Qué significa ello y qué impacto tendrá en la evolución inmediata de las tecnologías de la información y la comunicación?
Bits van y bits vienen
La misión del procesador central de una computadora es la ejecución de instrucciones indicadas en un código nativo, también denominado código máquina. A partir de lo señalado por las instrucciones, el procesador realiza operaciones matemáticas en su Unidad Aritmético Lógica (ALU), que pueden ir desde una serie de sumas, restas, multiplicaciones y divisiones en los modelos más sencillos, hasta operaciones de punto flotante con números más grandes. Los resultados los ubica en la memoria inmediata (caché) o en la RAM del sistema, así como también toma decisiones lógicas a partir de los resultados y otras instrucciones.
Tanto las instrucciones como los resultados del procesamiento tienen longitudes distintas en términos de bits. A esta longitud de entrada y salida de información se le conoce como bus. Un procesador con bus de 8 bits necesitará, entonces, de más ciclos de reloj para admitir una instrucción completa y colocar el resultado en la memoria, si se le compara con un procesador de 16, 32 o 64 bits, asumiendo que funcionarán todos con la misma velocidad de reloj, situación que impacta el desarrollo y uso del software y el funcionamiento de un sistema operativo. Los programas diseñados para plataformas de 32 bits fraccionan mucho más la comunicación con el procesador, si se les analiza con respecto a un procesador de 64 bits.
Pero no hay una sola longitud de datos en la mayoría de las arquitecturas de computadoras personales; por un lado, está el bus interno del procesador (ALU y caché) y en el otro, el bus de datos para comunicarse con la tarjeta madre. Modelos anteriores de procesadores de 32 bits operan en tarjetas madre de 64 bits, por citar un ejemplo.
Los procesadores de 64 bits no son nuevos, han estado en el mercado desde 1992. Sin embargo, en fechas recientes, su producción a gran escala se ha acelerado, especialmente por su presencia no sólo en computadoras de alto desempeño (supercomputadoras, servidores y estaciones de trabajo) sino también, en equipos de escritorio o portátiles y, en ocasiones, a un costo menor si se les compara con los tradicionales procesadores de 32 bits.
¿Por qué 64 bits?
Un procesador de 64 bits funciona enteramente con esta arquitectura, esto es, la ALU, los registros y los bus de datos son de 64 bits. Pero la principal razón por la que serán más requeridos estos procesadores es debido a su mayor capacidad de direccionamiento.
Por ejemplo, los procesadores de 32 bits, a lo más, pueden operar con 2 y algunos hasta 4 GB de RAM, derivado de un acuerdo entre varios fabricantes de computadoras en los años 80 del siglo pasado (4 GB de RAM era mucho más de lo que las aplicaciones de ese entonces demandaban), y aunque esto parece ser suficiente para aplicaciones personales, pronto la tendencia a ejecutar programar más complejos, llenos de audio y video, las comunicaciones ubicuas y el mejoramiento de interfaces humano —computadoras más transparentes (como la eliminación del teclado, el dictado de comandos por voz o la traducción simultánea de un idioma a otro con voz sintética) requerirán equipos que puedan ubicar (direccionar)— más datos en la RAM.
Por su parte, un procesador de 64 bits es capaz de funcionar hasta con 264 bytes de memoria, 18 446 744 073 709 600 000 bytes, o más en breve: casi 16 Exabytes. Un ejemplo práctico de esta capacidad es la ventaja de los procesadores de 64 bits para leer y ubicar archivos mayores a 4GB (nada difíciles de encontrar en el mundo actual altamente audiovisual), tarea complicada para los sistemas de 32 bits.
Pero el procesador de 64 bits no puede estar solo, requiere que el resto del equipo se comunique con similar rendimiento. Las tarjetas de video de 64 bits son comunes desde hace tiempo, y las de 128 bits cada vez son más estándares en los sistemas nuevos. De igual forma, discos duros más rápidos, memoria de acceso directo y periféricos de alta velocidad complementan el hardware del cómputo de 64 bits. Cabe mencionar que la mayoría de los fabricantes han limitado los 16 Exabytes de capacidad de direccionamiento del procesador por algo mucho más modesto para las necesidades actuales, llegando sólo a 16 \o 64 Gigabytes.
Claro está, componentes físicos de mayor capacidad requieren sistemas operativos y aplicaciones que les exijan. En el caso de los primeros, ya existen las versiones de 64 bits, cuya principal diferencia con sus antecesoras radica en el uso que hacen del procesador para la comunicación entre los dispositivos del equipo e incluso, hay versiones que administran procesadores simultáneos de 64 bits. Los programas de escritorio también se están rescribiendo para ser más óptimos y ofrecer mejores funciones, gracias a la combinación de hardware y sistema operativo de alto rendimiento. Y para no perder compatibilidad, varias plataformas de 64 bits, como la AMD64 y la EM64T, permiten la ejecución de programas de 32 bits de forma transparente.
Un prejuicio popular es que una computadora es “más rápida” si tiene un reloj más rápido. De hecho, en cierta medida, algunos fabricantes de microprocesadores han estimulado el concepto, colocando ante todo a cuántos Megahertz o Gigahertz funciona el procesador. Pero, por lo antes expuesto, es claro determinar que el rendimiento general de una computadora no se encuentra definido de manera exclusiva por el reloj o por cuántos millones de transistores hay en el núcleo del procesador, el cual puede estar tan acelerado como los componentes lo permitan y, no necesariamente, ser más rápido, ya sea por requerir de más ciclos para ejecutar las instrucciones (en buena medida, determinado por la longitud del bus) o también, por tener una ALU de instrucciones básicas.
Otros factores que influyen en este rendimiento es el bus interno, el tamaño del caché, la forma de comunicación entre el procesador y el bus externo (unidireccional o bidireccional), el tipo de controlador de la tarjeta madre (también llamado chipset), el ciclaje de operación de la memoria RAM y cuánta de ella hay instalada.
Los usuarios tradicionales de navegadores de web, procesamiento de texto o correo electrónico no notarán grandes diferencias al tener una computadora de 64 bits. Estos procesadores despliegan toda su capacidad cuando se requiere un alto nivel de procesamiento de datos complejos, como serían programas científicos, simulaciones, grandes bases de datos, edición de video o análisis de imágenes de alta definición.
Otra área de aplicación de estos procesadores está en el entretenimiento, donde varios fabricantes de las antes llamadas “consolas de videojuegos” los han integrado para crear toda una experiencia de información y diversión en el hogar, como recientemente Sony, IBM y Toshiba lo hicieron con el procesador Cell y Microsoft con el PowerPC Xenon, fabricado por IBM, incluidos en nuevos sistemas con capacidades de alta definición. No pasará mucho tiempo para que los 64 bits sean lo común en el hogar, la oficina y la escuela.
¿Serán necesarios 128 bits de direccionamiento?
En algún momento, aunque ya existen computadoras de 128 bits (tal es el caso del IBM System z9, clase Enterprise) todo parece indicar que el direccionamiento de 64 bits será suficiente para los siguientes 40 o 50 años, de conformidad con la Ley de Moore, desarrollada en 1965 y que establece que “el número de transistores en un circuito integrado se duplica cada 24 meses”. Será interesante conocer el funcionamiento de Internet controlada por ruteadores, con procesador de 128 bits, y que podrán almacenar cada dirección IPv6 en un solo registro de la memoria.

No hay comentarios: