Muchos usuarios se preguntan por qué si hubo un salto de los 32-bit a los 64-bit en las CPUs, por qué no lo hay ahora de los 64-bit a los 128-bit, si ya han pasado años… ¿Es que no se pueden crear procesadores de 128-bit? ¿Ya existen unidades de 128-bit? ¿Qué pasa realmente? Todas esas dudas quedarán resueltas en este artículo…
Índice de contenidos
También te puede interesar conocer qué es una ISA y tipos
La transición desde arquitecturas de 32 bits a 64 bits fue un cambio motivado principalmente por la necesidad de ampliar el espacio de direcciones y mejorar el rendimiento en ciertos tipos de operaciones, es decir, que las CPUs pudieran soportar más capacidad de memoria sin tener que usar técnicas como PAE.
El primero de la historia de 64-bit fue el R4000, producido por la compañía MIPS Technologies en 1991. Para el PC no se alcanzarían los 64-bit hasta que AMD introdujo AMD64 (también llamado EM64T por Intel o x86-64) para sus Athlon64 y Opteron. Esta ampliación de x86 no se debe confundir con IA-64 de Intel, que es la ISA empleada en sus Itanium, y que no es una evolución directa de IA-32 (x86-32).
La idea de dar el salto a 128-bit surge periódicamente en discusiones técnicas, pero sus consecuencias, tanto en software como en hardware, serían drásticamente distintas a la transición previa. A día de hoy, la utilidad práctica de una arquitectura general de 128 bits es cuestionable, la capacidad de memoria soportada ahora por los procesadores de 64-bit es suficiente.
Ten en cuenta que para una CPU de 32-bits en cuanto a la anchura del bus de direcciones, tenemos que 2³² = 4.294.967.296 bytes ≈ 4 GB. Mientras que para una CPU de 64-bit haciendo referencia a su ancho del bus de direcciones, se podrían manejar: 2⁶⁴ = 18.446.744.073.709.551.616 bytes ≈ 16 EB. Con una de 128-bit se alcanzarían aproximadamente 340 billones de billones de billones de bytes, o 256 YB… una auténtica burrada, que hoy por hoy no es necesaria.
Entre los cambios necesarios para dar el salto a los procesadores de 128-bit tenemos:
Por otro lado, los sistemas operativos también tendrían que ser actualizados, al igual que las bibliotecas de software y los programas para que trabajasen de forma nativa con estas longitudes:
También el software tendría que modificarse, lo cual es una modificación de la pila o el ecosistema al completo, desde el hardware al software:
En definitiva, costes económicos para todos los desarrolladores y fabricantes de la pila que serían inasumibles en la actualidad, dado que con 64-bit es suficiente.
Te recomiendo leer microprocesadores que pueden ejecutar varios tipos de instrucciones
Aunque comercialmente se hable de CPU de 64-bit, esta denominación solo describe el tamaño de palabra nativo y el ancho de las direcciones de memoria que maneja la unidad. En la práctica, las arquitecturas modernas de propósito general (x86-64, ARM, RISC-V, POWER, SPARC, etc.) ya procesan datos con anchos muy superiores a 64 bits gracias a extensiones SIMD (Single Instruction, Multiple Data) y otros mecanismos especializados.
Estas extensiones permiten operar con vectores de 128, 256, 512 o incluso 2048 bits en una sola instrucción, sin necesidad de cambiar la arquitectura de la CPU a 128 bits o más a nivel de palabra nativa.
Aquí tenemos que diferenciar varias cosas, para entender lo anterior. El bus del sistema se compone de tres buses elementales, el bus de control, que lleva las señales de control, el bus de direcciones que es el que tiene el tamaño de 64-bit en la actualidad para direccionar la memoria, y el bus de datos, que también tiene 64-bit en la actualidad para datos de ese tamaño.
Cuando se habla de tamaño de palabra, es el número de bits que maneja la unidad aritmético-lógica principal (ALU) para operaciones escalares enteras. Determina el espacio de direcciones y el tamaño de punteros.
En cambio, esto no quiere decir que el ancho de registro SIMD esté limitado a eso. En este caso hablamos del número de bits que puede manipular un registro vectorial en una sola instrucción. No afecta directamente al tamaño de palabra ni al direccionamiento de memoria. Ejemplo: un registro AVX-512 tiene 512 bits y puede contener 8 enteros de 64 bits o 16 enteros de 32 bits para operar en paralelo.
En la actualidad, tenemos muchas ISAs usando extensiones de un tamaño superior a los 64-bit, como por ejemplo:
En definitiva, el tamaño de palabra de 64-bit es ideal para direccionamiento y operaciones escalares generales actuales, que con esa longitud es más que suficiente en la actualidad, no haciendo necesario in incremento por ahora. Además, incluso con la llegada de la IA, hemos visto que se hace uso de enteros y coma flotante aún más pequeños, como los de 8-bit, 16-bit, etc., obligando a los arquitectos de CPUs, NPUs, y GPUs a diseñar unidades y extensiones específicas para estos datos.
Para algunas aplicaciones, como las multimedia, gráficos 3D, simulaciones científicas, etc., se pueden usar las extensiones SIMD. De esta forma, se permite el procesamiento masivo de datos se delega a registros vectoriales anchos, sin penalizar el coste y la complejidad de manejar punteros y estructuras de 128 bits en todo el sistema.
Las extensiones SIMD permiten cambiar el ancho de datos procesados sin rediseñar todo el ISA base, solo agregando extensiones según sea necesario, lo que aporta flexibilidad. Por ejemplo, aunque un compilador para x86-64 use operaciones de 64-bit para un programa concreto, también podría utilizar las AVX-512 solo en aquellos casos donde sea necesario.
Por tanto, no es necesario duplicar el ancho de todos los buses y registros generales, lo que reduce consumo y tamaño de die. Solo las unidades vectoriales, que son opcionales en el pipeline, usan buses más anchos…
¿Qué opinas? Deja tus comentarios…
QNAP también ha reservado una parte importante de su presencia en Computex 2026 a la…
El stand de QNAP en el Computex de este año ha dado de sí. La…
QNAP en el Computex 2026 también se ha enfocado en la inteligencia artificial ejecutada dentro…