Articulo de referencia

computación de 128 bits

En arquitectura informática , los enteros de 128 bits , las direcciones de memoria u otras unidades de datos son aquellas que tienen un ancho de 128 bits (16 octetos ). Asimismo...

En arquitectura informática , los enteros de 128 bits , las direcciones de memoria u otras unidades de datos son aquellas que tienen un ancho de 128 bits (16 octetos ). Asimismo, las arquitecturas de la unidad central de procesamiento (CPU) y la unidad aritmético-lógica (ALU) de 128 bits son aquellas que se basan en registros , buses de direcciones o buses de datos de ese tamaño.

A partir de junio de 2026No existen procesadores convencionales de propósito general diseñados para operar con enteros o direcciones de 128 bits , aunque varios procesadores sí tienen formas especializadas de operar con bloques de datos de 128 bits, como se resume en la sección  Hardware .

Representación

Un procesador con direccionamiento de bytes de 128 bits podría direccionar directamente hasta 2 128 (más de3,40 × 10³⁸ bytes, lo que superaría ampliamente el total de datos capturados, creados o replicados en la Tierra hasta 2024, que se ha estimado en alrededor de 149 zettabytes ( más de 2⁷⁶ bytes). [ 1 ] [ 2 ]  

Un registro de 128 bits puede almacenar 2¹²⁸ (más de 3,40 × 10³⁸ ) valores diferentes. El rango de valores enteros que se pueden almacenar en 128  bits depende de la representación entera utilizada. Con las dos representaciones más comunes, el rango es de 0 a 340 282 366 920 938 463 463 374 607 431 768 211 455 ( 2¹²⁸ − 1) para la representación como un número binario ( sin signo ) , y de −170 141 183 460 469 231 731 687 303 715 884 105 728 ( −2¹²⁷ ) a 170,​141,​183,​460,​469,​231,​731,​687,​303,​715,​884,​105,​727 (2 127 − 1) para la representación como complemento a dos .

Los números de coma flotante de precisión cuádruple (128 bits) pueden almacenar números de coma fija  de 113 bits o enteros con exactitud y sin pérdida de precisión (en particular, enteros de 64 bits). Además, los números de coma flotante de precisión cuádruple pueden representar cualquier posición en el universo observable con una precisión de al menos un micrómetro.

Los números de coma flotante Decimal128 pueden representar números con hasta 34 dígitos significativos.

Hardware

Un multicomparador de 128 bits fue descrito por investigadores en 1976. [ 3 ]

El IBM System/360 Modelo 85 , [ 4 ] y el IBM System/370 y sus sucesores, admiten aritmética de punto flotante de 128 bits.

Los mainframes Siemens de las series 7.700 y 7.500 y sus sucesores admiten aritmética de punto flotante de 128 bits. [ 5 ]

La mayoría de las CPU modernas incorporan conjuntos de instrucciones SIMD ( Single Instruction, Multiple Data ) ( como Streaming SIMD Extensions o AltiVec ), donde se utilizan registros vectoriales de 128 bits para almacenar varios números pequeños, como cuatro números de coma flotante de 32 bits. Una sola instrucción puede operar con todos estos valores en paralelo. Sin embargo, estos procesadores no operan con números individuales de 128 dígitos binarios; solo sus registros vectoriales tienen un tamaño de 128  bits.

El DEC VAX admitía operaciones con tipos de datos enteros de 128 bits ('O' u octaword) y de coma flotante de 128 bits ('H-float' o HFLOAT). La compatibilidad con estas operaciones era una opción de actualización, no una característica estándar. Dado que los registros del VAX tenían un  ancho de 32 bits, una operación de 128 bits utilizaba cuatro registros consecutivos o cuatro palabras largas en la memoria.

La serie ICL 2900 proporcionaba un acumulador de 128 bits, y su conjunto de instrucciones incluía aritmética de punto flotante de 128 bits y aritmética decimal empaquetada .

En 1999, investigadores diseñaron una CPU con extensiones multimedia de 128 bits. [ 6 ]

Entre las consolas de videojuegos de sexta generación , Dreamcast y PlayStation 2 utilizaron el término 128 bits en su publicidad para describir su capacidad. La CPU de PlayStation 2 tenía capacidades SIMD de 128 bits. [ 7 ] [ 8 ] Ninguna de las consolas admitía direccionamiento de 128 bits ni aritmética de enteros de 128 bits.

La especificación RISC-V ISA de 2016 incluye una reserva para una versión de 128 bits de la arquitectura, pero los detalles permanecen sin definir intencionalmente, porque todavía hay muy poca experiencia práctica con un tamaño de palabra tan grande. [ 9 ]

Software

De la misma manera que los compiladores emulan, por ejemplo, la aritmética de enteros de 64 bits en arquitecturas con tamaños de registro menores a 64  bits, algunos compiladores también admiten aritmética de enteros de 128 bits. Por ejemplo, el compilador GCC C 4.6 y posteriores tienen un tipo de entero de 128 bits __int128para algunas arquitecturas. [ 10 ] GCC y los compiladores compatibles señalan la presencia de aritmética de 128 bits cuando __SIZEOF_INT128__se define la macro. [ 11 ] Para el lenguaje de programación C , la compatibilidad con 128 bits es opcional, por ejemplo, a través del int128_ttipo, o puede implementarse mediante una extensión específica del compilador. El lenguaje de programación Rust tiene compatibilidad integrada con enteros de 128 bits (originalmente a través de LLVM ), que está implementada en todas las plataformas. [ 12 ] Un tipo de 128 bits proporcionado por un compilador C puede estar disponible en Perl a través del Math::Int128módulo. [ 13 ] El lenguaje de programación C3 proporciona una implementación de un tipo de datos entero de 128 bits. [ 14 ]

Otros usos

  • Los identificadores universalmente únicos (UUID) constan de un valor de 128 bits.
  • El protocolo IPv6 enruta el tráfico de la red informática dentro de un rango de direcciones de 128 bits.
  • ZFS es un sistema de archivos de 128 bits.
  • En criptografía, 128  bits es un tamaño de clave común para los cifrados simétricos y un tamaño de bloque común para los cifrados de bloques .
  • La interfaz de máquina de IBM i define todos los punteros como de 128 bits. Las instrucciones de la interfaz de máquina se traducen al conjunto de instrucciones real del hardware según sea necesario, lo que permite que el hardware subyacente cambie sin necesidad de recompilar el software. El hardware anterior tenía un conjunto de instrucciones CISC con direccionamiento de 48 bits, mientras que el hardware actual es PowerPC / Power ISA de 64 bits . En la implementación PowerPC/Power ISA, los primeros cuatro bytes contienen información que se utiliza para identificar el tipo del objeto al que se hace referencia, y los últimos ocho bytes se utilizan como una dirección de memoria virtual. [ 15 ] Los cuatro bytes restantes no se utilizan y permitirían que las aplicaciones de IBM i se extendieran al direccionamiento de 96 bits en el futuro sin necesidad de realizar cambios en el código.
  • Aumentar el tamaño de la palabra puede acelerar las bibliotecas matemáticas de precisión múltiple , con aplicaciones en criptografía , y potencialmente acelerar los algoritmos utilizados en el procesamiento matemático complejo ( análisis numérico , procesamiento de señales , edición fotográfica compleja y procesamiento de audio y video ).
  • MD5 es una función hash que produce un valor hash de 128 bits.
  • Apache Avro utiliza un número aleatorio de 128 bits como marcador de sincronización para la división eficiente de archivos de datos. [ 16 ] [ 17 ]

Referencias

  1. Reinsel, David; Gantz, John; Rydning, John (noviembre de 2018). "La digitalización del mundo desde el borde hasta el núcleo" (PDF) . Seagate Technology . IDC . pág.  3. Archivado (PDF) del original el 7 de septiembre de 2021. Recuperado el 14 de septiembre de 2021 .
  2. "Estadísticas de big data: ¿Cuántos datos hay en el mundo?" .
  3. Mead, Carver A. ; Pashley, Richard D.; Britton, Lee D.; Daimon, Yoshiaki T.; Sando, Stewart F. Jr. (octubre de 1976). " Multicomparador de 128 bits" (PDF) . IEEE Journal of Solid-State Circuits . 11 (5): 692– 695. Bibcode : 1976IJSSC..11..692M . doi : 10.1109/JSSC.1976.1050799 . S2CID 27262034. Archivado (PDF) del original el 3 de noviembre de 2018. 
  4. Padegs A (1968). "Aspectos estructurales del modelo System/360 85, III: Extensiones a la arquitectura de punto flotante". IBM Systems Journal . 7 : 22–29 . doi : 10.1147/sj.71.0022 .
  5. Instrucciones del ensamblador (BS2000/OSD) . 1993.
  6. ^ Suzuoki, M.; Kutaragi, K.; Hiroi, T.; Magoshi, H.; Okamoto, S.; Oká, M.; Ohba, A.; Yamamoto, Y.; Furuhashi, M.; Tanaka, M.; Yutaka, T.; Okada, T.; Nagamatsu, M.; Urakawa, Y.; Funyu, M.; Kunimatsu, A.; Ir a, H.; Hashimoto, K.; Ide, N.; Murakami, H.; Ohtaguro, Y.; Aono, A. (noviembre de 1999). "Un microprocesador con una CPU de 128 bits, diez MAC de punto flotante, cuatro divisores de punto flotante y un decodificador MPEG-2". Revista IEEE de circuitos de estado sólido . 34 (11): 1608–1618 . Bibcode : 1999IJSSC..34.1608S . doi : 10.1109/4.799870 .
  7. Hennessy, John L.; Patterson , David A. (2003). Arquitectura de computadoras: un enfoque cuantitativo (Tercera ed.). Morgan Kaufmann Publishers. ISBN  1-55860-724-2.
  8. Diefendorff, Keith (19 de abril de 1999). "El chip emocionalmente cargado de Sony". Microprocessor Report . 13 (5). Microdesign Resources.
  9. Waterman, Andrew; Asanović, Krste . "Manual del conjunto de instrucciones RISC-V, Volumen I: ISA de nivel de usuario base versión 2.2" . Universidad de California, Berkeley. EECS-2016-118 . Consultado el 25 de mayo de 2017 .
  10. "Serie de lanzamientos de GCC 4.6: cambios, nuevas características y correcciones" . Consultado el 25 de julio de 2016 .
  11. Marc Glisse (26 de agosto de 2015). "Entero de 128 bits: ¿documentación sin sentido?" . GCC-Help . Consultado el 23 de enero de 2020 .
  12. "i128 – Rust" . doc.rust-lang.org . Consultado el 25 de junio de 2020 .
  13. "Math::Int128" . metacpan.org . Consultado el 25 de junio de 2020 .
  14. "Tipos" . Lenguaje de programación C3 . Consultado el 12 de junio de 2026 .
  15. Frank G. Soltis (1997). Inside the AS/400, Segunda edición . Duke Press. ISBN 978-1-882419-66-1.
  16. Kleppmann, Martin (24 de enero de 2013). "Re: Marcadores de sincronización" . Archivado del original el 27 de septiembre de 2015.
  17. "Especificación de Apache Avro 1.8.0" . Apache Software Foundation .
Obtenido de " https://en.wikipedia.org/w/index.php?title=128-bit_computing&oldid=1361195784 "