Entre las palabras del vocabulario informático, “bit” es sin duda una de las más conocidas. Generaciones enteras de consolas de videojuegos y sus estilos de arte pixelado se definen por bits (como 8 bits y 16 bits), y muchas aplicaciones ofrecen versiones tanto de 32 bits como de 64 bits.

Si analizamos la historia, podemos ver que nuestra capacidad para manejar bits ha aumentado con el paso de los años. Sin embargo, aunque los chips de 64 bits se introdujeron por primera vez en los años 90 y se convirtieron en algo habitual en los años 2000, todavía no tenemos CPU de 128 bits. Aunque 128 puede parecer un paso natural después de 64, no lo es en absoluto.

¿Qué es siquiera un poco?

Los bloques de construcción fundamentales

Antes de hablar de por qué no existen las CPU de 128 bits, tenemos que hablar de lo que es un bit. Básicamente, es una unidad de información en informática, que representa un "0" o un "1". Formado a partir de las palabras binario y dígito, es la unidad más pequeña en informática y el punto de partida de toda la programación. Un bit solo se puede definir como 1 o 0 (de ahí su nombre binario), aunque estos números se pueden interpretar como verdadero o falso, encendido o apagado, e incluso como un signo más o un signo menos.

En el contexto de la arquitectura de la CPU, el ancho de bits se refiere comúnmente al tamaño de las direcciones de memoria que la CPU puede manejar. Por ejemplo, una CPU de 64 bits puede manejar 16 exabytes de memoria, lo que supera con creces las necesidades incluso de las supercomputadoras más grandes de la actualidad.

Dicho esto, por sí solo, un solo bit no es muy útil, pero la combinación de varios bits nos permite representar datos más complejos, como números, letras u otros caracteres. Por ejemplo, en la informática de 4 bits, el número entero más grande que se puede representar es 15 (de 0 a 15), calculado mediante la fórmula 2^x - 1, donde x es el número de bits.

Para calcular el número entero máximo que puede consultar una CPU de N bits, se utiliza una fórmula bastante simple 2^x, donde x representa la cantidad de bits que hay. En la informática de 4 bits, el número entero más grande que se puede contar es 15, que es uno menos que el 16 que da la fórmula, pero los programadores comienzan a contar desde 0 y no desde 1.

Si 4 bits solo pueden almacenar 16 números enteros diferentes, entonces podría parecer que pasar a 8, 32 o incluso 128 bits no sería gran cosa. Pero estamos tratando con números exponenciales, lo que significa que las cosas comienzan lentamente pero luego despegan muy rápido. Para demostrarlo, aquí hay una pequeña tabla que muestra los números enteros más grandes que se pueden calcular en binario desde 1 hasta 128 bits.

Poco

Número entero máximo

1 bit

1

2 bits

3

4 bits

15

8 bits

255

16 bits

65.535

32 bits

4.294.967.295

64 bits

18.446.744.073.709.551.615

128 bits

340.282.366.920.938.463.463.374.607.431.768.211.455

Ahora probablemente puedas entender por qué duplicar la cantidad de bits permite manejar números que no solo duplican su tamaño, sino que son órdenes de magnitud mayores. Sin embargo, aunque la computación de 128 bits nos permitiría trabajar con números mucho mayores que los de 64 bits, aún no la usamos.

En cuanto a por qué esta longitud entera es importante, no es tanto la longitud entera en sí lo que importa, sino más bien el espacio direccionable. Es por eso que las máquinas de 32 bits solo pueden direccionar aproximadamente 4 GB de memoria, mientras que una máquina de 64 bits es esencialmente ilimitada en la actualidad.

Cómo pasamos de 1 bit a 64 bits

Es un largo camino para llegar hasta aquí.

Una CPU AMD Athlon 64 FX.
Fuente: AMD

Está bastante claro por qué las CPU pasaron de tener un solo bit a tener más bits: queríamos que nuestros ordenadores pudieran realizar tareas más complejas. No se puede hacer mucho con uno, dos o cuatro bits, pero en el punto de los 8 bits, las máquinas recreativas, las consolas de juegos y los ordenadores domésticos se hicieron factibles. Con el tiempo, los procesadores se volvieron más baratos de producir y físicamente más pequeños, lo que facilitó el aumento de la cantidad de bits que podía manejar una CPU.

La naturaleza exponencial de los bits se hace evidente muy rápidamente al comparar las consolas de 16 bits como la SNES y la Sega Genesis con sus predecesoras de 8 bits, principalmente la NES.Super Mario Bros 3fue uno de los juegos más complejos de la NES en términos de mecánica y gráficos, y quedó completamente eclipsado porSuper Mario World, que se lanzó solo dos años después (aunque las mejoras en la tecnología de la GPU también fueron un factor clave aquí).

Todavía no tenemos CPU de 128 bits, a pesar de que han pasado casi tres décadas desde que los primeros chips de 64 bits llegaron al mercado.

No se trata solo de videojuegos; todo mejoró con más bits. Pasar de 256 valores posibles en 8 bits a 65.536 en 16 bits significó un seguimiento del tiempo más preciso, la visualización de más colores y el manejo de archivos más grandes. Ya sea que estuvieras usando la computadora personal de IBM, impulsada por la CPU 8088 de 8 bits de Intel, o construyendo un servidor para una empresa lista para conectarse a Internet, más bits significaban un mejor rendimiento.

La industria pasó rápidamente de los 16 bits a los 32 bits y, finalmente, a la informática de 64 bits, que se generalizó a finales de los 90 y principios de los 2000. Algunas de las primeras CPU de 64 bits más importantes se encontraban en la Nintendo 64 y en los ordenadores equipados con las CPU Athlon 64 y Opteron de AMD. En cuanto al software, los 64 bits empezaron a recibir un apoyo generalizado de sistemas operativos como Linux y Windows a principios de los 2000. Sin embargo, no todos los intentos de informática de 64 bits tuvieron éxito; las CPU de servidor Itanium de Intel fueron un fracaso de alto perfil y sonalgunos de los peores procesadores de la compañía.

Hoy en día, las CPU de 64 bits están en todas partes, desde los teléfonos inteligentes hasta las PC y los servidores. Todavía se fabrican chips con menos bits y pueden ser deseables para aplicaciones específicas que no manejan grandes cantidades, pero son bastante específicos. Sin embargo, todavía no tenemos CPU de 128 bits, a pesar de que han pasado casi tres décadas desde que los primeros chips de 64 bits llegaron al mercado.

La informática de 128 bits busca un problema que resolver

Realmente no lo necesitamos

Se podría pensar que los 128 bits no son viables porque son difíciles o imposibles, pero no es así. Muchos componentes de los procesadores modernos, como los buses de memoria y las unidades SIMD, ya utilizan 128 bits o tamaños mayores para tareas específicas. Por ejemplo, el conjunto de instrucciones AVX-512 permite el procesamiento de datos de 512 bits de ancho. Estas instrucciones SIMD (instrucción única, datos múltiples) han evolucionado de 32 bits a 64 bits, 128 bits, 256 bits y ahora operandos de 512 bits, lo que demuestra avances significativos en las capacidades de procesamiento paralelo.

Una CPU de 64 bits puede manejar más de 18 trillones de números únicos, desde 0 hasta 18.446.744.073.709.551.615. En cambio, una CPU de 128 bits podría manejar más de 340 undecillones de números, y te garantizo que nunca has visto la palabra "undecillón" en tu vida. Encontrar un uso para calcular números con tantos ceros es bastante complicado, incluso si estás usando uno de los bits para firmar el entero, que tendría su rango desde menos 170 undecillones hasta más 170 undecillones.

Los únicos casos de uso significativos para los números enteros de 128 bits son las direcciones IPv6, los identificadores únicos universales (o UUID) que se utilizan para crear identificadores únicos para los usuarios (Minecraftes un caso de uso destacado para UUID) y los sistemas de archivos como ZFS. El problema es que las CPU de 128 bits no son necesarias para gestionar estas tareas, que han podido existir perfectamente en hardware de 64 bits. En última instancia, la razón principal por la que no tenemos CPU de 128 bits es que no hay demanda de un ecosistema de hardware y software de 128 bits. La industria podría hacerlo si quisiera, pero simplemente no lo hace.

La puerta está ligeramente abierta para 128 bits.

Una representación de un chip RISC-V.
Fuente: Siemens

Aunque las CPU de 128 bits no existen hoy en día y parece que ninguna empresa lanzará una en un futuro próximo, no me atrevería a decir que nunca habrá CPU de 128 bits. La especificación de laISA RISC-Vdeja abierta la posibilidad de una futuraarquitecturade 128 bits , pero no detalla cuál sería en realidad, probablemente porque no había una necesidad apremiante de diseñarla.

Trescientos cuarenta undecillones, el mayor número que se puede crear con 128 bits, tampoco es ni de lejos tanto como la cantidad de átomos que hay en el universo, que se considera el mayor número que tiene alguna importancia en el mundo real. Si alguna vez quisiéramos simular una buena parte del universo hasta el nivel atómico, entonces tal vez una CPU de 128 bits sería realmente útil para eso. Más allá de eso, es difícil decir para qué se usaría una CPU de 128 bits, pero hace muchos años también nos preguntamos para qué podríamos querer un terabyte de RAM.