ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 14 La mayor parte del contenido de estas...

13
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 14 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and Design (The hardware / software interface), 4ta Edición, de David A. Patterson y John L. Hennessy. Editorial Morgan Kaufmann

Transcript of ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 14 La mayor parte del contenido de estas...

Page 1: ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 14 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.

ARQUITECTURA DE COMPUTADORES

Semestre A-2009

Clase 14

La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and Design (The hardware / software interface), 4ta Edición, de David A. Patterson y John L. Hennessy. Editorial Morgan Kaufmann

Page 2: ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 14 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.

AGENDA

• Camino de datos encauzado (Pipelining)

Page 3: ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 14 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.

Camino de datos de un solo ciclo

Page 4: ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 14 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.

Implementación de un solo ciclo

• Es ineficiente• EL ciclo de reloj debe durar lo mismo que

la instrucción que tarde más. Generalmente, la instrucción load

• El CPI = 1, pero la duración del ciclo es muy grande

• ¿Qué ocurre si añadimos instrucciones punto flotante o más complejas a este camino de datos?

Page 5: ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 14 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.

Pipelining

• Múltiples instrucciones solapan su ejecución • Como en un línea de ensamblaje• Analogía de lavar ropa:

– Colocar la ropa sucia en la lavadora– Cuando termine, colocar la ropa mojada en la

secadora– Cuando termine, colocar la ropa en una mesa y

doblarla– Ubicar la ropa en el closet

Page 6: ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 14 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.

Analogía con lavar la ropa

Page 7: ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 14 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.

Camino de datos encauzado

Page 8: ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 14 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.

Implicaciones del pipeline

• Idealmente:– Tiempo entre instrucciones con pipeline =

Tiempo entre instrucciones sin pipeline / # etapas

• ¿Mejoramos tiempo de ejecución o productividad? Productividad, el tiempo de ejecución probablemente empeore

• La duración del ciclo de reloj será igual a lo que tarde la etapa más lenta

Page 9: ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 14 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.

Peligros• Estructurales: El hardware no soporta cierta

combinación de instrucciones• De datos: Una instrucción debe esperar por el resultado

de otraadd $s0,$t0,$t1sub $t2,$s0,$t3

Se utiliza hardware extra para pasar el dato (Adelantar: forwarding o bypassing)

Page 10: ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 14 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.

Peligros

• De datos (cont.:Pero a veces hace falta introducir una instrucción de detención (stall): Pipeline stall o burbuja

Page 11: ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 14 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.

Peligros

• De datos (cont.:También el compilador puede ayudar reordenando el código:

Page 12: ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 14 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.

Peligros

• De Control (o Salto): El flujo no es el esperado.

1a solución: Detenernos cuando hagamos fetch de un salto.

Page 13: ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 14 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.

Peligros

• De Control (o Salto):2da solución: Intentar predecir, por ejemplo; nunca se toman los saltos.3ra solución: “Branch prediction”, tomar el salto algunas veces y otras veces no tomarlo. Por ejemplo, llevando una historia.

• ¿Qué ocurre si falla la predicción?