stringtranslate.com

PODER3

Dos procesadores 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 , incluidas todas las instrucciones opcionales de la ISA (en ese momento) como las instrucciones presentes en la versión POWER2 de la ISA POWER pero no en la ISA PowerPC. Fue presentado el 5 de octubre de 1998, debutando en el RS/6000 43P Model 260 , una estación de trabajo gráfica 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 transición largamente retrasada 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 el Alpha 21264 de Digital Equipment Corporation (DEC) y el PA-8500 de Hewlett-Packard (HP) .

Descripción

El esquema lógico del procesador POWER3

El POWER3 se basó en el PowerPC 620 , una implementación anterior del PowerPC de 64 bits que llegó tarde, tuvo un rendimiento bajo 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 (FPU) única se reemplazó con dos unidades de multiplicación-suma fusionadas de punto flotante , y se agregó una unidad de carga y almacenamiento adicional (para un total de dos) para mejorar el rendimiento del punto flotante. El POWER3 es un diseño superescalar que ejecutaba instrucciones fuera de orden . Tiene una tubería de enteros de siete etapas, una tubería de carga/almacenamiento mínima de ocho etapas y una tubería de punto flotante de diez etapas.

El front-end consta de dos etapas: obtención y decodificación. Durante la primera etapa, se obtuvieron 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 emitieron a las colas de instrucciones. Las restricciones en la emisión de instrucciones son pocas: de las dos colas de instrucciones enteras, solo 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 sin usar, 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 ramificación 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 desde los archivos de registros. El archivo de registros de propósito general contiene 48 registros, de los cuales 32 son registros de propósito general y 16 son registros de cambio de nombre para el cambio de nombre de registros . Para reducir la cantidad de puertos necesarios para proporcionar datos y recibir resultados, el archivo de registros de propósito general se duplica de modo que haya dos copias, la primera que admita tres unidades de ejecución de números 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 registros 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 fuera de orden, lo que mejoraba 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 multiplicación y división. Todas las instrucciones que ejecutan tienen una latencia de un ciclo. La tercera unidad ejecuta instrucciones de multiplicación y división. Estas instrucciones no están segmentadas y tienen latencias de varios 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 realizar operaciones de multiplicación y suma fusionadas , en las que la multiplicación y la suma se realizan simultáneamente. Estas instrucciones, junto con las operaciones 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 precisión doble (64 bits) tienen una latencia de 18 y 22 ciclos, respectivamente.

Una vez finalizada la ejecución, las instrucciones se almacenan en búferes antes de confirmarse y hacerse visibles para el software. La ejecución finaliza en la etapa cinco para las instrucciones de números enteros y en la etapa ocho para las de punto flotante. La confirmación se produce durante la etapa seis para los números enteros y la etapa nueve para las de 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 la caché; la caché tenía dos puertos, implementados mediante la intercalación de ocho bancos, para permitir que se realizaran dos cargas o dos almacenamientos en un ciclo en ciertos casos; y el tamaño de línea se incrementó a 128 bytes. El bus de caché L2 se duplicó en ancho a 256 bits para compensar el mayor tamaño de línea de caché y para mantener una latencia de cuatro ciclos para las recargas de caché.

El POWER3 contenía 15 millones de transistores en una matriz de 270 mm2 . Se fabricó mediante el proceso CMOS-6S2 de IBM, un proceso complementario de metal-óxido-semiconductor 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 incluye cinco capas de aluminio. Se empaquetó en la misma matriz de rejilla de columnas de cerámica de 1088 columnas que el P2SC , pero con una distribución de pines diferente.

PODER3-II

PODER3-II

El POWER3-II fue una versión mejorada del POWER3 que aumentó la frecuencia de reloj a 450 MHz. Contiene 23 millones de transistores y mide 170 mm2 . Se fabricó mediante el proceso IBM CMOS7S, un proceso CMOS de 0,22 μm con seis niveles de interconexión de cobre . Fue reemplazado por el POWER4 en 2001.

Véase también

Notas

  1. ^ Nuevo chip IBM POWER3 .

Referencias