Procesadores Superescalares

TIPOS

PowerPC 601

Nombre original de la arquitectura de computadoras de tipo RISC.

PowerPC 604

6 unidades de ejecución independientes (1 unidad
de procesamiento de saltos.

1 unidad de carga almacenamiento.

3 unidades de enteros.

1 unidad de punto flotante. Emisión en orden. Renombrado de registros.

Pentium

Emisión en orden y 3 unidades de ejecución
independientes.

2 unidades de enteros, 1 unidad de punto
flotante.

Pentium II

Es un microprocesador diseñado por Intel.

Arquitectura x86.

 MIPS R10000 y UltraSPARC-II

Eliminados en la
6ta. ed

Ver Stallings

Paper IEEE

MIPS R10000.

Alpha 21164.

AMD K5 (x86).

Topic principal

CARACTERÍSTICAS

Límites de la Segmentación
y Supersegmentación

La supersegmentación consiste en dividir las etapas de un cauce un sub etapas.

Aumenta el número de instrucciones en el cauce en un determinado instante.

Divide cada etapa en dos y utilizando un reloj interno del doble
de frecuencia.

La solución superescalar es una forma de aumentar las prestaciones por encima de este límite.

task

Paralelismo

Paralelismo a nivel de las
instrucciones (ILP)

Las dependencias de datos son críticas en este contexto.

Paralelismo a nivel de la
máquina (MLP)

Es una medida de la capacidad del procesador para sacar partido
del ILP.

Ciclo de instrucción

CAPTACION (fetch)

Múltiples instrucciones son captadas simultáneamente.

Utilizan técnicas de predicción de saltos y ejecución especulativa.

DECODIFICACION (decode)

Predecodificación entre la memoria y el cache para identificación de saltos.

Determinación de la operación, localización de operandos y
localización del resultado.

VENTANA DE EJECUCION = ENCOLADO (dispatch) y EMISION
(issue)

Identificación de las instrucciones de la cola que están listas para comenzar su ejecución.

EJECUCION (execute)

En paralelo.

En diferentes unidades
funcionales.

FINALIZACION (commit)

El resultado es confirmado en su destino.

Limitaciones

Conflictos en los recursos

Similares a los riesgos estructurales de
los cauces.

Duplicación de recursos.

Dependencia de control

Predicción estática (PowerPC 601) o dinámica (PowerPC 620).

El salto retardado es eficiente en RISC pero no en superescalares CISC, ya que hay que insertar varias instrucciones en la ventana.

Dependencia de datos

La verificación de la dependencia de datos hace crecer mucho la
complejidad del dispatcher, limitando la implementación a un máximo
de 4.

Existe cuando dos instrucciones utilizan el
mismo registro.

Impiden que las instrucciones puedan reordenarse.

Clasificación de las
dependencias de datos

Dependencias verdaderas

Son intrínsecas del programa y no pueden
eliminarse. RAW. Tracking.

Dependencias artificiales

Conflictos de almacenamiento
que pueden solucionarse con más registros (internos de la CPU,
usualmente x2) (Register renaming):

Técnicas de optimización

Duplicación de recursos

Política de emisión desordenada de instrucciones con
ventana de ejecución

Finalización desordenada.

Emisión desordenada (implica la anterior).

Renombrado de registros

APLICACIÓN

Multi-Threading

Históricamente ayudaban al scheduler del SO a realizar el time slice (en el caso de un monoprocesador) o a distribuir la carga (multiprocesadores).

Multi-Threading (cont)

Evitar que el procesador quede detenido ante un
cache-miss: continúa ejecutando el otro thread.

-INTEL HyperThreading (Pentium 4 HTT). Según Intel mejora 30%.

-Simultaneus Multithreading (SMT) Power, SPARC.

-P4x2 (S=1.3), Power5 x2, SPARC x4 (x8).

MIPS R10000

Obtiene y decodifica cuatro instrucciones por ciclo y las envía de forma dinámica a cinco unidades de ejecución de baja latencia y canalización completa.

Sistema de memoria jerárquico y sin bloqueos.

MIPS R10000: Pipeline

Sin depender necesariamente en gran medida de la reingeniería de compiladores y del código ensamblador ajustado a mano.

IBM RISC System RS/6000

La unidad entera es de cuatro etapas.

Un sistema RS/6000 de 62,5 MHz ejecutó el benchmark LINPACK (Gaussian
eliminación) a una tasa de 104 MFLOPS y tiene un pico teórico
rendimiento de 125 MFLOPS.

La estación de trabajo HP 9000/735 tiene una frecuencia de 99 MHz.
Procesador superescalar HP-PA.

Esta máquina ejecuta el LINPACK
punto de referencia en 107 MFLOPS, con un rendimiento máximo teórico de 198
MFLOPS.