arquitectura de computadores semestre a-2009 clase 14 la mayor parte del contenido de estas...
TRANSCRIPT
![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](https://reader036.vdocuments.co/reader036/viewer/2022062808/5665b4cb1a28abb57c93b9bf/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022062808/5665b4cb1a28abb57c93b9bf/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022062808/5665b4cb1a28abb57c93b9bf/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022062808/5665b4cb1a28abb57c93b9bf/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022062808/5665b4cb1a28abb57c93b9bf/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022062808/5665b4cb1a28abb57c93b9bf/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022062808/5665b4cb1a28abb57c93b9bf/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022062808/5665b4cb1a28abb57c93b9bf/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022062808/5665b4cb1a28abb57c93b9bf/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022062808/5665b4cb1a28abb57c93b9bf/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022062808/5665b4cb1a28abb57c93b9bf/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022062808/5665b4cb1a28abb57c93b9bf/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022062808/5665b4cb1a28abb57c93b9bf/html5/thumbnails/13.jpg)
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?