Guía Hardware
Black Friday Corsair

Microprocesadores z16 de IBM: las bestias CISC que debes conocer

Actualizado a: 22 de enero de 2024

Tanto si has escuchado o leído algo sobre el IBM z16 como si no, en este tutorial te vamos a explicar todo lo que debes saber sobre estos monstruos del procesamiento que aún sigue manteniendo IBM en desarrollo y que son auténticos dinosaurios en muchos sentidos, pero que se siguen utilizando…

También te puede interesar:

IBM zSystem

Mainframe IBM z16

IBM zSystem es el nombre que el gigante azul de la computación le ha dado a su familia de mainframes. Estos mainframes están basados en la IBM z/Architecture, y han tenido un largo recorrido a lo largo de la historia, desde el lanzamiento del z9000 hasta la actualidad con el nuevo IBM z16, el sucesor del z15, y en el que nos detendremos en este artículo.

La z, como curiosidad, hay que decir que viene de «tiempo de inactividad cero», es decir, del inglés Zero Downtime, haciendo referencia a que se trata de sistemas de alta disponibilidad.

Como bien sabes, IBM es el claro dominante del mundo de los mainframes, siendo un monopolio en la actualidad, aunque en el pasado hubo algunos otros competidores como las míticas empresas General Electric, RCA, Control Data, Honeywell, NCR, Burroughs, etc.

Además, IBM ha estado experimentando con sus arquitecturas para este tipo de máquinas durante mucho tiempo:

  • 700/7000 Series
  • System/360
  • System/370
  • ESA/370
  • ESA/390
  • z/Architecture

Como ves, han tenido un largo recorrido, desde los años 70 hasta la actualidad.

¿Qué es un mainframe?

Muchos se estarán preguntando qué es un mainframe, algo que en el pasado era bastante habitual, pero que ahora con los sistemas de servidores y HPC se ha dejado en un segundo plano. Pues bien, hay que decir que básicamente, un mainframe también es una computadora de alto rendimiento.

Concretamente se trata de un equipo HPC usado para altas cargas de trabajo, con una gran capacidad de memoria y procesadores capaces de realizar gran cantidad de cálculos por segundo, así como miles de transacciones simples en tiempo real.

Por otro lado, hay que decir que están optimizados para trabajar con cargas de trabajo pesadas, como grandes bases de datos, potenciando el sistema E/S de estos equipos. Por supuesto, lo tienen que hacer con gran destreza y con garantías de seguridad, ya que suelen manejar tareas muy críticas.

Diferencias con un supercomputador o un servidor

Las diferencias entre un supercomputador y un mainframe son bastante poco claras. Mientras los supercomputadores son los equipos más grandes en tamaño y más costosos, se usan especialmente para procesar gran cantidad de cálculos matemáticos y operaciones complejas con la mayor rapidez. Mientras que un mainframe es algo parecido, pero suelen ser más pequeños, menos costosos y más lentos.

En cuanto a las diferencias entre un servidor y un mainframe, hay que destacar algunas clave:

  • Los mainframes están diseñados para manejar muchos más datos, como miles de millones de transacciones por día. Mientras que una base de datos típica de un servidor podría estar manejando unas 300 transaciones por segundo, lo que equivale a 26 millones por día.
  • Los mainframes ejecutan software único en la mayoría de ocasiones, con sistemas operativos muy específicos como z/OS, y programas escritos en lenguajes bastante antiguos como COBOL, FORTRAN, etc.
  • Los mainframes admiten casos de uso únicos, algunas de ellas que serían imposibles de manejar por un servidor básico.
  • El precio medio de un mainframe es superior al de un servidor. Mientras un mainframe podría costar hasta 75.000€ en el caso de uno normal, mientras que un servidor x86 pequeño podría costar unos 3000€.

IBM z/Architecture

IBM z

Como antes he comentado, los IBM zSystem se basan en la IBM z/Architecture, una arquitectura que en un inicio se conocía como ESAME (ESA Modal Extensions). Esta ISA (Instruction Set Architecture) es un conjunto de instrucciones de tipo CISC, con unas instrucciones bastante complejas frente a las RISC que están reinando en el mercado de procesadores actual.

Además, hay que decir que esta IBM z/Architecture es una ISA de 64-bit, basado incialmente en el z900 de finales de 2000, con posteriores lanzamientos de implementaciones o microarquitecturas entre las que están z800, z990, z890, System z9, z10, z13, z14, z15, z16, etc.

z/Architecture conserva la compatibilidad con versiones anteriores de la arquitectura ESA/390 de 32 bits de datos/direccionamiento de 31 bits y sus predecesores hasta System/360 de 32 bits de datos/direccionamiento de 24 bits. Es decir, tiene retrocompatibilidad. Algo que también vemos en x86, ya que son retrocompatibles con CPUs de 32 y 16-bits.

¿Qué es CISC?

Una arquitectura CISC (Complex Instruction Set Computer) es un tipo de arquitectura que tiene instrucciones complejas para procesar tareas aritméticas, lógicas, etc. Además, pueden variar de longitud de un tipo a otro, y también habrá modos de direccionamiento variados y más complejos frente a una RISC.

Los procesadores CISC fueron muy populares en el pasado, pero poco a poco fueron desapareciendo en pos de los RISC, dado que tienen ventajas evidentes. Por ejemplo, conocidas arquitecturas CISC fueron las IBM System/360, la DEC PDP-11 y VAX, las Motorola 6800, MOS Technology 6502, National Semiconductor 32016 y NS320xx, Zilog Z80, Z8 y Z8000, así como las Intel 8080, x86 e iAPX432.

En la actualidad hay que decir que casi la totalidad de los procesadores más famosos son de tipo RISC: Arm, SPARC, MIPS, RISC-V, etc. Mientras que x86, con AMD e Intel, han optado por crear una arquitectura tipo RISC a nivel de hardware, aunque las x86 siguen siendo CISC. Es decir, para beneficiarse de las ventajas de los RISC y no dejar de ser compatibles con el software actual, lo que hacen es traducir las CISC en unas microoperaciones tipo RISC.

Sin embargo, aún quedan algunos casos como el IBM z/Architecture que siguen usando un CISC para este tipo de máquinas…

CISC vs RISC

Las ventajas y desventajas de CISC vs RISC son bastante claras, y podemos resumirlas aquí. Por un lado tenemos las ventajas de las CISC:

  • La microprogramación es fácil y mucho menos costosa que la unidad cableada, además de permitir realizar cambios con una actualización de firmware, sin necesidad de realizar cambios físicos en el chip.
  • Hace un uso eficiente de la memoria principal, ya que al ser instrucciones más complejas, permiten ejecutar un mismo programa con menos instrucciones.
  • El compilador no necesita ser muy complejo para funcionar con este conjunto de instrucciones.

Sin embargo, también tenemos algunas desventajas de CISC como:

  • Se necesita un microcódigo complejo, lo que significa una unidad de control más cara y compleja. Además, una unidad cableada es mucho más rápida y eficiente.
  • El repertorio de instrucciones se vuelve cada vez más complejo debido a que se suele tener retrocompatibilidad y se van agregando nuevas instrucciones con cada nueva generación.
  • El rendimiento se reduce debido a que estas instrucciones complejas necesitan de más ciclos de reloj para ejecutarse. Además, no se puede subir la frecuencia de reloj tan fácilmente.

Por otro lado, tenemos las ventajas y desventajas de la RISC, que también son bastante interesantes. Por un lado comenzamos con las ventajas de RISC que son:

  • El rendimiento de los procesadores RISC suele ser entre 2 y 4 veces mejor que las unidades CISC.
  • Instrucciones mucho menos complejas que se pueden ejecutar en menos ciclos de reloj, generalmente en uno solo.
  • Esta arquitectura necesita menos espacio en el chip debido a la simplificación a nivel de hardware, lo que significa chips menos costosos o de mayor rendimiento, ya que permite colocar dentro del chip unidades adicionales.
  • Es más fácil aumentar la frecuencia de reloj de los RISC.
  • El diseño y la mejora de estos chips se realiza de forma más rápida y simle que en los CISC.

Pero, como es habitual, no todo son ventajas, ya que también existen algunas desventajas clave, como:

  • El código de programación puede ser más extenso, al necesitar de más cantidad de instrucciones para hacer lo mismo que con una operación CISC.
  • El compilador también es más complejo.
  • Los procesadores RISC requieren sistemas de memoria muy rápidos para alimentar varias instrucciones en poco tiempo, por lo que se ven más comprometidos por tiempos de acceso lentos o mayor latencia de memoria.

Sistema operativo

zOS

Evidentemente, en el IBM zSystem no se usan sistemas operativos como los que puedes usar en tu PC, como Windows o macOS, sino que se hace uso de sistemas especiales, capaces de operar con seguridad, estabilidad, robustez y que sean capaces de gestionar grandes cantidades de memoria.

Uno de los sistemas operativos empleados por IBM para sus mainframes z/Architecture es el IBM z/OS, desarrollado por esta misma empresa. No obstante, también se emplea con frecuencia Linux, con distribuciones predominantes como RHEL (Red Hat Enterprise Linux), SLES (SuSE Linux Enterprise Server), Ubuntu Server de Canonical, LinuxOne, etc. Además, también se han introducido blades basados en x86 para también usar Microsoft Windows Server, aunque estos no se ejecuten sobre los chips z.

Aplicaciones actuales

Además, también es importante que conozcas dónde se pueden usar estos mainframes en la actualidad, ya que IBM mantiene un buen mercado y se siguen usando, prueba de ellos es que continúa con su negocio pese a que muchos piensan que ya desaparecieron. Pues lo cierto es que la propia IBM dice que 44 de los 50 principales bancos a nivel mundial usan sus IBM z, además de las 10 principales aseguradoras, así como instituciones gubernamentales, sanitarias, aéreas, y otras empresas que necesitan realizar cálculos rápidamente o manejar grandes cantidades de datos.

Por ejemplo, se pueden usar para el censo de población, realizar transacciones bancarias entre cuentas, etc.

IBM z16

Y bien, para terminar, lo más importante, que son los procesadores o microarquitecturas de la ISA z/Architecture. Y qué mejor ejemplo para que lo conozcas que estudiar el último que ha lanzado IBM por el momento, como es el IBM z16.

Esta CPU, según IBM, puede tener un rendimiento realmente elevado si lo comparamos con otros chips, y gracias a la integración de un acelerador de IA, que no estaba presente en el z15, ahora puede realizar tareas de inteligencia artificial con mayor agilidad y en tiempo real. Según IBM puede realizar hasta 300.000.000.000 de operaciones de interferencia de aprendizaje profundo por día, con menos de 1 ms de tiempo de respuesta. Esto permite a los clientes detectar fraudes y otros errores en las transacciones con un 100% de eficacia.

Especificaciones del z16

En cuanto a las especificaciones técnicas del IBM z16, tenemos los siguientes puntos destacados:

  • Fabricado por GlobalFoundries con un nodo basado en transistores FinFET y sustrato SOI (Silicon On Insulator). Esto permite integrar hasta 22 millones de transistores y 30 km de interconexiones en 17 capas metálicas. Todo eso en apenas unos milímetros cuadrados.
  • ISA IBM z/Architecture CISC de 64-bit + acelerador de IA con redes neuronales.
  • Arquitectura superescalar y con pipeline de 17 etapas, con especulación, renombre de registros y OoOE.
  • Basado en la microarquitectura IBM Telum, presentada el 5 de abril de 2022.
  • Viene en configuraciones de varios núcleos, con un máximo de hasta 8 cores.
  • Frecuencia de reloj base de 5.2 Ghz en el caso del modelo más rápido.
  • Optimización para cargas de trabajo heterogéneas de clase empresarial.
  • Optimización de la mesh o fabric de interconexión entre los chips para mejorar las transferencias.
  • Memoria caché mejorada, con un rediseño respecto al z15:
    • 256 KB L1 por núcleo PU
    • L2 semiprivado de 32 MB por núcleo de PU
    • 256 MB (lógico) compartida L3 por chip
    • 2 GB (lógicos) compartida virtual L4 por cada CPC
  • Empaquetado de tipo chiplet o MCM.
  • Acelerador de IA de más de 6 TFLOPS compartido por todos los núcleos Telum.
  • Soporte para poder gestionar hasta 40 TB de memoria principal, lo que equivale a 10 TB por cada CPC.
  • Sistema de E/S preparado y optimizado para altas cargas, como mover grandes cantidades de datos o bases de datos.
  • Implementa funciones adicionales para la seguridad, como en su caché para evitar fuga de datos, así como sistemas de cifrado a distintos niveles, etc.

Mejoras respecto al z15

Para finalizar, hay que agregar también que las mejoras del IBM z16 respecto al z15 también son evidentes. Según la propia IBM, el z16 es capaz de aportar un 17% más de rendimiento en cuanto a procesamiento que el z15.

Por otro lado, una de las mejoras más evidentes en el IBM z16 está en su sistema de memoria caché, gracias a ello ha obtenido mejorar el rendimiento en un thread único en un 11%, e integrar hasta 1.5x más caché que en el z15.

Además, al agregar el chip de aceleración por IA, que no estaba presente en el z15, ha conseguido brindar capacidad de aplicar inferencias de redes neuronales complejas en datos en tiempo real.

Jaime Herrera

Jaime Herrera

Ingeniero Informático apasionado por el hardware y la tecnología. Llevo más de diez años dedicándome al análisis de componentes como procesadores, tarjetas gráficas y sistemas de almacenamiento. Mi objetivo es ofrecer información clara y precisa, combinando mi experiencia técnica con un enfoque práctico para ayudar a los lectores a entender mejor el mundo del hardware.

>
Guía Hardware
Logo