stringtranslate.com

PODER3

Procesadores duales IBM POWER3-II de 375 MHz en el módulo de CPU de un RS/6000 44P 270.

El POWER3 es un microprocesador , diseñado y fabricado exclusivamente por IBM , que implementó la versión de 64 bits de la arquitectura del conjunto de instrucciones (ISA) PowerPC , incluyendo todas las instrucciones opcionales de la ISA (en ese momento), como las instrucciones presentes en el Versión POWER2 de POWER ISA pero no en PowerPC ISA. Se introdujo el 5 de octubre de 1998, debutando en el RS/6000 43P Modelo 260 , una estación de trabajo de gráficos de alta gama. [1] Originalmente se suponía que el POWER3 se llamaría PowerPC 630 , pero se le cambió el nombre, probablemente para diferenciar los procesadores POWER orientados al servidor que reemplazó de los PowerPC de 32 bits más orientados al consumidor. El POWER3 fue el sucesor del derivado P2SC del POWER2 y completó la tan retrasada transición de IBM de POWER a PowerPC, que originalmente estaba programada para concluir en 1995. El POWER3 se utilizó en servidores y estaciones de trabajo IBM RS/6000 a 200 MHz. Compitió con Digital Equipment Corporation (DEC) Alpha 21264 y Hewlett-Packard (HP) PA-8500 .

Descripción

El esquema lógico del procesador POWER3.

El POWER3 se basó en el PowerPC 620 , una implementación anterior de PowerPC de 64 bits que llegó tarde, tuvo un rendimiento deficiente y no tuvo éxito comercial. Al igual que el PowerPC 620, el POWER3 tiene tres unidades de punto fijo , pero la unidad de punto flotante único (FPU) fue reemplazada por dos unidades de multiplicación y suma fusionadas de punto flotante , y se agregó una unidad de almacenamiento de carga adicional (para un total de dos) para mejorar el rendimiento del punto flotante. El POWER3 es un diseño superescalar que ejecuta instrucciones fuera de orden . Tiene una canalización entera de siete etapas, una canalización mínima de carga/almacenamiento de ocho etapas y una canalización de punto flotante de diez etapas.

La interfaz consta de dos etapas: buscar y decodificar. Durante la primera etapa, se recuperaron ocho instrucciones de un caché de instrucciones de 32 KB y se colocaron en un búfer de instrucciones de 12 entradas. Durante la segunda etapa, se tomaron cuatro instrucciones del búfer de instrucciones, se decodificaron y se enviaron a las colas de instrucciones. Las restricciones sobre la emisión de instrucciones son pocas: de las dos colas de instrucciones de números enteros, sólo una puede aceptar una instrucción, la otra puede aceptar hasta cuatro, al igual que la cola de instrucciones de punto flotante. Si las colas no tienen suficientes entradas no utilizadas, no se pueden emitir instrucciones. El front-end tiene una tubería corta, lo que resulta en una pequeña penalización por error de predicción de rama de tres ciclos.

En la tercera etapa, las instrucciones en las colas de instrucciones que están listas para su ejecución tienen sus operandos leídos de los archivos de registro. El archivo de registro de uso general contiene 48 registros, de los cuales 32 son registros de uso general y 16 son registros de cambio de nombre para cambio de nombre de registro . Para reducir la cantidad de puertos necesarios para proporcionar datos y recibir resultados, el archivo de registro de propósito general se duplica de modo que haya dos copias, la primera que admita tres unidades de ejecución de enteros y la segunda que admita las dos unidades de carga/almacenamiento. Este esquema era similar a un microprocesador contemporáneo, el DEC Alpha 21264 , pero era más simple ya que no requería un ciclo de reloj adicional para sincronizar las dos copias debido a los tiempos de ciclo más altos del POWER3. El archivo de registro de punto flotante contiene 56 registros, de los cuales 32 son registros de punto flotante y 24 registros de cambio de nombre. En comparación con el PowerPC 620, había más registros de cambio de nombre, lo que permitía ejecutar más instrucciones desordenadas, mejorando el rendimiento.

La ejecución comienza en la etapa cuatro. Las colas de instrucciones envían hasta ocho instrucciones a las unidades de ejecución. Las instrucciones de números enteros se ejecutan en tres unidades de ejecución de números enteros (denominadas "unidades de punto fijo" por IBM). Dos de las unidades son idénticas y ejecutan todas las instrucciones de números enteros excepto multiplicar y dividir. Todas las instrucciones ejecutadas por ellos tienen una latencia de un ciclo. La tercera unidad ejecuta instrucciones de multiplicar y dividir. Estas instrucciones no están canalizadas y tienen latencias de múltiples ciclos. La multiplicación de 64 bits tiene una latencia de nueve ciclos y la división de 64 bits tiene una latencia de 37 ciclos.

Las instrucciones de punto flotante se ejecutan en dos unidades de punto flotante (FPU). Las FPU son capaces de fusionar multiplicación y suma , donde la multiplicación y la suma se realizan simultáneamente. Estas instrucciones, junto con las de suma y multiplicación individuales, tienen una latencia de cuatro ciclos. Las instrucciones de división y raíz cuadrada se ejecutan en las mismas FPU, pero cuentan con la asistencia de hardware especializado. Las instrucciones de división y raíz cuadrada de precisión simple (32 bits) tienen una latencia de 14 ciclos, mientras que las instrucciones de división y raíz cuadrada de doble precisión (64 bits) tienen una latencia de 18 y 22 ciclos, respectivamente.

Una vez completada la ejecución, las instrucciones se guardan en buffers antes de confirmarse y hacerse visibles para el software. La ejecución finaliza en la etapa cinco para instrucciones de números enteros y en la etapa ocho para instrucciones de punto flotante. La confirmación ocurre durante la etapa seis para números enteros, etapa nueve para punto flotante. La reescritura se produce en la etapa posterior a la confirmación. El POWER3 puede retirar hasta cuatro instrucciones por ciclo.

La caché de datos del PowerPC 620 se optimizó para aplicaciones técnicas y científicas. Su capacidad se duplicó a 64 KB, para mejorar la tasa de aciertos de caché; el caché tenía doble puerto, implementado entrelazando ocho bancos, para permitir realizar dos cargas o dos almacenes en un ciclo en ciertos casos; y el tamaño de la línea se aumentó a 128 bytes. El ancho del bus de caché L2 se duplicó a 256 bits para compensar el mayor tamaño de la línea de caché y retener una latencia de cuatro ciclos para las recargas de caché.

El POWER3 contenía 15 millones de transistores en una matriz de 270 mm2 . Fue fabricado en el proceso CMOS-6S2 de IBM, un proceso semiconductor complementario de óxido de metal que es un híbrido de tamaños de características de 0,25 μm y capas de metal de 0,35 μm. El proceso consta de cinco capas de aluminio. Estaba empaquetado en el mismo conjunto de rejilla de columnas cerámicas de 1.088 columnas que el P2SC , pero con una disposición de pines diferente.

ENERGÍA3-II

ENERGÍA3-II

El POWER3-II era un POWER3 mejorado que aumentaba la frecuencia del reloj a 450 MHz. Contiene 23 millones de transistores y mide 170 mm 2 . Fue fabricado en el proceso IBM CMOS7S, un proceso CMOS de 0,22 μm con seis niveles de interconexión de cobre . Fue sucedido por el POWER4 en 2001.

Ver también

Notas

  1. ^ Nuevo chip IBM POWER3 .

Referencias