25
Juan Antonio Romano Largo. Arquitectura de Computadores. HISTORIA DEL “PIPELINE”

HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Embed Size (px)

Citation preview

Page 1: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

HISTORIA DEL “PIPELINE”

Page 2: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

• Introducción ppo. S. XX• IBM 704 1955• IBM 7030 (proyecto Stretch) 1956-1961• CDC 6600 1964• VAX 8800 1987• RISC vs CISC

(MIPS vs VAX 8700) 1989• R4000 (Supersegmentado) 1991• Arq. Superescalar y VLIW actualmente

CRONOLOGÍA

Otros aspectos de la segmentación:

1.- Interrupciones precisas2.- Bifurcaciones (procesador CRISP)

Page 3: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

Introducción“pipeline” podría traducirse como: segmentación

de cauce

Se aplicó por primera vez en la fabricación delFord T a principios del siglo XX.

Bucholtz en el año 1962:“The data flor through the computer [...] is comparable to a pipeline which, once filled, has a large output rate no matter what its length”

Page 4: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

IBM 704 (año 1955) circuitos aritméticos paralelos binariosunidad de punto flotante 5 KFLOPS

Solución: incorporar procesadores de E/S independientes (posteriormente llamados canales) en su sucesor, el IBM 709, que apareció en el año 1958.mejora del rendimiento del 60% utilizando la misma frecuencia de reloj.

Problema: operaciones de entrada/salida suponían un cuello de botella.

Page 5: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

Proyecto Strecht (1956): IBM 7030Objetivo: conseguir una máquina 100 veces más rápida que el IBM 704

era necesario que el procesador fuese capaz de ejecutarsimultáneamente varias instrucciones

En 1961, con los “benchmarks”, se demostró quesólo habían conseguido ser 30 veces más rápidosque el IBM 704, debido a que tardaba demasiadotiempo en recuperarse de un error, lo cual originóuna fuerte caída del precio de la máquina.

Page 6: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

1964: CDC 6600Seymour Cray diseña y “Control Data Corporation” produce el CDC 6600:fue el primer computador en usar múltiples unidades funcionalesasí como procesadores periféricos (en realidad se trataba de 10 pequeñascomputadoras que dirigían los datos hacia una unidad central de proceso).

La máquina tuvo gran éxito, tanto tecnológico como comercial, ya que consiguiómultiplicar por tres la velocidad del Stretch, alcanzando 3 MIPs.

El “pipelining” pasó a tener un papel menos importante a finales de la décadade los ’70 porque se buscaba simplificar el software.

Page 7: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

Segmentación y rendimiento del procesador VAX 8800

• 1987: El VAX 8800 es el procesador más rápido

Tiempo de ciclo menor Profundidad del pipeline

Page 8: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

Microinstrucciones segmentadas

1.- Decodificación.2.- Control de store y secuenciamiento.3.- Transferencia de operandos y lectura de

registros.4.- Ejecución (cálculo de resultados y de

direcciones virtuales).5.- Escritura de registros y/o acceso a la

memoria caché.

Page 9: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

RENDIMIENTO

Tprogama = Nº instrucciones * CPI * Tciclo

45 ns

Speedup = 5.6

Page 10: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

Arquitecturas RISC y CISC

Comparación: RISC vs CISC

Benchmarks(SPEC)

MIPS VAX 8700

MIPS mayor rendimiento que CISC para la misma arquitectura

Tprogama = Nº instrucciones * CPI * Tciclo

Page 11: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

LAS MÁQUINAS

- Muchos registros de propósito general.- Instrucciones que involucran 3 registros de un solo ciclo de duración.- Cortocircuito de la ALU que permite leer el registro justo después de

que haya sido escrito. - Load y Store de un ciclo que calculan la EA sumando al registro un

desplazamiento.- Cortocircuito de caché.- El ciclo de “delay slot” tras un load se puede rellenar con otra

instrucción.- Bifurcaciones retardadas.

Para conseguir que la diferencia de rendimiento no se deba a las distintasarquitecturas, se eligieron dos máquinas con organizaciones similares

Page 12: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

Benchmarks y resultados Los SPEC usados (oct. 89)

6 de punto flotante (spice, doduc, nasa7, matrix3000,fpppp y tomcatv) escritos en fortran.

4 benchmarks enteros (gcc, espresso, eqntott y li)escritos en C

En operaciones de punto flotante, loads y stores y comportamiento de la cachétambién tiene un mejor comportamiento el MIPS frente al VAX.

Page 13: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

• - En la arquitectura VAX se necesita al menos un ciclo para decodificar cada operando, lo que en el caso de una suma que usa 3 registros nos llevaría al menos 4 ciclos, mientras que en MIPS solo tardaríamos un ciclo.

• - MIPS dispone de 32 registros generales (32 bits) y 16 de punto flotante (64 bits), mientras que VAX solo dispone de 15 registros generales lo que va a producir más referencias a memoria que conllevará un mayor número de ciclos.

• - En VAX cuando hay operaciones de punto flotante debemos mover los operandos de la CPU a la FPU, lo cual se evita en MIPS debido al gran número de registros de punto flotante disponibles.

• - En VAX el tiempo para las bifurcaciones simples tomadas es de 5 ciclos, mientras que en MIPS es de 1 ciclo si se rellena el “delay slot” o de dos si no se rellena.

• - La arquitectura MIPS permite cambiar de posición instrucciones para rellenar posibles paradas del pipeline.

• - La TLB del MIPS en mucho mayor, lo cual permite captar mejor lalocalidad de las instrucciones.

Page 14: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

FUTURO DEL VAX

Page 15: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

Procesadores supersegmentados

Constituidos por un gran número de etapas del “pipeline” (cauce profundo)

R4000 (1991):- Extendía el juego de instrucciones del MIPS a unaarquitectura de 64 bits- Integraba la FPU dentro del chip- Operaba a unas frecuencias de reloj mucho mayores (cuando fue introducido, trabajaba a 100 MHz). -Las cachés se redujeron hasta unos 8Kb cada unay costaba tres ciclos de reloj acceder a ellas.Estas grandes velocidades de operación fueron posibilitadas usando la técnica llamada pipeliningprofundo (conocida como super-pipelining).

Page 16: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

Arquitecturas superescalar y VLIW

Lanzamiento de múltiples instrucciones en un solo ciclo:

- tener recursos disponibles- resolver las dependencias de datos y de control.

Superescalar simple (2 vías) lanza en cada ciclo de reloj una instrucción en puntoflotante y otra de otro tipo. Así reduciríamos los CPI a 0.5

Limitado por los saltos, los “load” y las dependencias de datos. Se minimiza contécnicas de predicción complejas para los saltos y técnicas de prebúsquedapara los “load”.

Page 17: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

• VLIW (Very Long Instruction Word)Separa una instrucción muy larga en varias

operaciones básicas que pueden ser ejecutadas de forma paralela por un procesador.

Cada operación básica se asigna a las unidades funcionales apropiadas del equipo logrando que sean atendidas en un mismo instante.

• Ventaja: la complejidad se mueve del HW al SW logrando que los equipos puedan ser de menor dimensión, costo y consumo.

• Reto: diseñar un compilador que sea lo suficientemente inteligente para decidir como construir los larguísimos juegos de instrucciones.

Page 18: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

Otros aspectos de la segmentación:1.- Interrupciones precisas

Interrupción precisa: salva el contexto en orden secuencial, para lo cual una instrucción debe acabar antes de que empiece la siguiente.

Problemas en el pipeline, ya que habrá varias Instrucciones ejecutándose a la vez.

-TRAPS: Se deben a errores de SW tales como opcode ilegal, erroresnuméricos, desbordamiento, …

-Interrupciones externas:causadas por fuentes externas a la ejecución del programa como interrupciones I/O, del temporizador, …

Page 19: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

Soluciones1.- Forzar a que las instrucciones modifiquen

el estado en orden: penalización y degradación del rendimiento.

2.- Buffer de reordenamiento.3.- Bypass Path.4.- Buffer de historia.5.- Buffer futuro.

Page 20: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

RendimientoDegradación del rendimiento:

Solución básica: 26%

Buffer de reordenamiento(tamaño 8) 18% a 12 %

Bypass paths 12% a 3%

Buffer de historia mismo rendimiento pero conuna complejidad HW mucho

Buffer futuro menor

Page 21: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

2.- BifuracionesEl microprocesador CRISP

• Técnicas HW + SW: reducir a cero las paradas del pipeline ocasionadas por las instrucciones de bifurcación.

• Esto nos permite aprovechar al máximo el rendimiento potencial del pipeline CRISP

Estructuras HW para implementar los saltos

Técnicas de compilación

Diseño de un nuevo conjunto de instrucciones

Page 22: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

Problema de las bifurcaciones

Interrumpen el flujo de instrucciones en el pipeline

La productividad media disminuye si la predicción de la bifurcación no es correcta

Separar comparaciones y bifurcaciones condicionales.Solo las comparaciones puedan modificar el flag de condición.Evitar efectos laterales.

Elecciones de diseño en el CRISP:

Page 23: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

• PLEGADO DE BIFURCACIONES (Branch Folding)Durante la ejecución la PDU reconoce que una instrucción que no es de bifurcación

va seguida de la bifurcación y “despliega” las dos instrucciones juntas, con lo que lasbifurcaciones desaparecen del pipeline y así el retardo de ejecución será cero.

Para las bifurcaciones condicionales además se necesita mecanismos adicionales, como por ejemplo un campo de 31 bits llamado próximo PC alternativo, que se usa para mantener los dos posibles caminos de una bifurcación condicional.

• PREDICCIÓN DE BIFURCACIÓN:Bifurcación retardada: no es eficienteSe usa un único bit de predicción estática

• DESPLEGADO DE BIFURCACIONES(Branch Spreading)

Separamos con NOP la instrucción de condición y la de bifurcación

Page 24: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

Evaluación

Page 25: HISTORIA DEL “PIPELINE” - UCM-Departamento de ... · PDF filede los ’70 porque se buscaba simplificar el software. Juan Antonio Romano Largo. Arquitectura de Computadores

Juan Antonio Romano Largo. Arquitectura de Computadores.

Resumen

• Evolución de las máquinas: IBM 704, IBM 7030, CDC 6600, VAX 8800, R4000 …

• Comparativa entre arq. RISC y CISC

• ILP: superescalar y VLIW

• Interrupciones

• Bifurcaciones