El IBM A2 es un procesador de código abierto con núcleo Power ISA de 64 bits , con capacidad para múltiples núcleos y subprocesos , diseñado por IBM con la especificación Power ISA v.2.06 . Las versiones de procesadores basadas en el núcleo A2 van desde una versión de 2,3 GHz con 16 núcleos que consume 65 W hasta una versión menos potente de cuatro núcleos que consume 20 W a 1,4 GHz.
El núcleo A2 es un núcleo de procesador diseñado para personalización y uso integrado en dispositivos de sistema en chip, y fue desarrollado siguiendo los diseños de procesadores de consolas de juegos de IBM , el procesador Xbox 360 y el procesador Cell para PlayStation 3. [1]
A2I es un núcleo multiproceso simultáneo de 4 vías que implementa la especificación de plataforma integrada Power ISA v.2.06 Book III-E [2] de 64 bits con soporte para las características del hipervisor integrado . Fue diseñado para implementaciones con muchos núcleos y se centra en un alto rendimiento y muchos subprocesos simultáneos. A2I fue escrito en VHDL . [3]
El núcleo tiene 4×32 registros de propósito general (GPR) de 64 bits con soporte completo para ordenamiento de bytes little y big endian, caché de instrucciones y datos de 16 KB + 16 KB y es capaz de realizar subprocesos múltiples de cuatro vías.
Tiene una unidad de predicción de ramificaciones (BPU) de grano fino con ocho tablas de historial de ramificaciones de 1024 entradas. Las cachés L1 son una caché de datos asociativa de conjuntos de 8 vías de 16 KB y una caché de instrucciones asociativa de conjuntos de 4 vías de 16 KB. Ejecuta una secuencia simple en orden capaz de emitir dos instrucciones por ciclo; una a la unidad lógica aritmética (ALU) de 6 etapas y otra a la unidad de ejecución auxiliar (AXU) opcional.
Incluye una unidad de gestión de memoria, pero no una unidad de coma flotante (FPU). Estas funciones las gestiona la AXU, que admite cualquier cantidad de macros estandarizadas o personalizadas, como unidades de coma flotante, unidades vectoriales, DSP, aceleradores de medios y otras unidades con conjuntos de instrucciones y registros que no forman parte de Power ISA. El núcleo tiene una unidad de interfaz de sistema que se utiliza para conectarse a otros núcleos integrados, con una interfaz de 256 bits para escritura de datos y una interfaz de 128 bits para lectura de instrucciones y datos a la velocidad máxima del núcleo.
El A2O es una versión ligeramente más moderna, escrita en Verilog , [4] utilizando el Power ISA v.2.07 Book III-E. [5] Está optimizado para el rendimiento de un solo núcleo y diseñado para alcanzar los 3 GHz con tecnología de proceso de 45 nm. El A2O se diferencia de su hermano en que solo es multiproceso bidireccional, cachés L1 de datos e instrucciones de 32+32 kB y es capaz de ejecución fuera de orden .
Cuando se lanzó A2O, ningún producto real lo utilizaba.
En la segunda mitad de 2020, IBM lanzó los núcleos A2I y A2O bajo una licencia Creative Commons y publicó el código VHDL y Verilog en GitHub . [1] [6] La intención era agregarlos a las ofertas de núcleos de procesadores gratuitos y abiertos de la OpenPOWER Foundation . [7] [8] Como A2 se diseñó en 2010, A2I y A2O no son compatibles con Power ISA 3.0 o 3.1, que es obligatorio para los núcleos OpenPOWER. Es el deseo de IBM que los núcleos se actualicen para que cumplan con la versión más nueva de la ISA.
El PowerEN (Power Edge of Network), o " procesador de velocidad de cable ", está diseñado como un híbrido entre los procesadores de red habituales , que realizan conmutación y enrutamiento , y un procesador de servidor típico, que manipula y empaqueta datos. Se presentó el 8 de febrero de 2010 en la ISSCC 2010 .
Cada chip utiliza el núcleo A2I y tiene 8 MB de caché , así como una multitud de motores específicos para tareas además de los procesadores de propósito general, como XML , criptografía , compresión y aceleradores de expresiones regulares, cada uno con sus propias MMU, cuatro puertos Ethernet de 10 Gigabit y dos líneas PCIe . Se pueden vincular hasta cuatro chips en un sistema SMP sin ningún chip de soporte adicional. Se dice que los chips son extremadamente complejos según Charlie Johnson, arquitecto jefe de IBM, [9] y utilizan 1.43 mil millones de transistores en un tamaño de chip de 428 mm2 fabricado mediante un proceso de 45 nm .
El procesador Blue Gene/Q es un chip de 18 núcleos que utiliza el núcleo A2I que funciona a 1,6 GHz con características especiales para un cambio rápido de contexto de subprocesos, unidad de coma flotante SIMD cuádruple , red chip a chip torus 5D y E/S externa de 2 GB/s. Los núcleos están conectados por un conmutador de barra transversal a la mitad de la velocidad del núcleo a una caché L2 de eDRAM de 32 MB . La caché L2 tiene múltiples versiones y admite memoria transaccional y ejecución especulativa . Un chip Blue Gene/Q tiene dos controladores de memoria DDR3 que funcionan a 1,33 GHz y admiten hasta 16 GB de RAM. [10] [11]
Utiliza 16 núcleos para computación y un núcleo para servicios del sistema operativo. Este núcleo 17 se encargará de las interrupciones , E/S asíncrona , control de flujo MPI y funcionalidad RAS . El núcleo 18 se utiliza como repuesto en caso de que uno de los otros núcleos se dañe permanentemente (por ejemplo, en la fabricación) pero se apaga en operación funcional. El chip Blue Gene/Q se fabrica en el proceso SOI de cobre de IBM a 45 nm, ofrecerá un rendimiento máximo de 204,8 GFLOPS a 1,6 GHz y consume aproximadamente 55 vatios. El chip tiene un tamaño de chip de 19 × 19 mm (359,5 mm 2 ) y utiliza 1.47 mil millones de transistores.