Top Banner
ARQUITECTURA DE COMPUTADORES - PIPE ARQUITECTURA DE COMPUTADORES - PIPE LINING LINING 1 PIPELINING - PIPELINING - INTRODUCCION INTRODUCCION Definciónes básicas Definciónes básicas Ejemplos prácticos Ejemplos prácticos Ejemplos sobre un procesador Ejemplos sobre un procesador Tiempo entre instrucciones Tiempo entre instrucciones Pipeline Hazard Pipeline Hazard
19

ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - INTRODUCCION Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre.

Apr 22, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - INTRODUCCION Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre.

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

11

PIPELINING - INTRODUCCIONPIPELINING - INTRODUCCION

Definciónes básicasDefinciónes básicas

Ejemplos prácticosEjemplos prácticos

Ejemplos sobre un procesadorEjemplos sobre un procesador

Tiempo entre instruccionesTiempo entre instrucciones

Pipeline HazardPipeline Hazard

Page 2: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - INTRODUCCION Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre.

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

22

PIPELININGPIPELINING– Un PIPELINE es una serie de etapas, en

donde en cada etapa se realiza una porción de una tarea. La tarea no se termina hasta el momento en que haya pasado a través de todas las etapas.

– Un PIPELINE es usado para mejorar el desempeño mas allá de lo que puede ser alcanzado con un procesamiento sin pipeline.

Page 3: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - INTRODUCCION Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre.

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

33

PIPELINE - TROOUGHPUTPIPELINE - TROOUGHPUT– Este mecanismo incrementa el throughput -el número de instrucciones completadas por unidad de tiempo.

– No reduce la latencia -el tiempo de ejecución de una solo instrucción

Page 4: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - INTRODUCCION Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre.

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

44

COMPLEJIDAD DEL HARDWARE COMPLEJIDAD DEL HARDWARE Y EL CONTROLY EL CONTROL

A cierto nivel usar Pipelining implica replicación de algunas funciones. Con el propósito de garantizar ejecución simultanea.

Page 5: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - INTRODUCCION Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre.

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

55

EJEMPLO – SIN PIPELININGEJEMPLO – SIN PIPELINING

http://cse.stanford.edu/class/sophomore-college/projects-00/risc/pipelining/Source http://www.ece.arizona.edu/~ece462/Lec03-pipe/

Page 6: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - INTRODUCCION Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre.

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

66

EJEMPLO – CON PIPELININGEJEMPLO – CON PIPELINING

http://cse.stanford.edu/class/sophomore-college/projects-00/risc/pipelining/Source http://www.ece.arizona.edu/~ece462/Lec03-pipe/

Page 7: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - INTRODUCCION Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre.

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

77

http://arstechnica.com/articles/paedia/cpu/pipelining-1.ars/2Autor: Jon Stokes

Figure PIPELINING.4: A single-cycle processorFigure PIPELINING.4: A single-cycle processor

Page 8: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - INTRODUCCION Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre.

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

88

Figure PIPELINING.5: A four-stage pipeline http://arstechnica.com/articles/paedia/cpu/pipelining-1.ars/2Autor: Jon Stokes

Figure PIPELINING.5: A four-stage pipelineFigure PIPELINING.5: A four-stage pipeline

Page 9: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - INTRODUCCION Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre.

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

99

EJEMPLO EN EL PROCESADOREJEMPLO EN EL PROCESADOR

Figura 6.3 Single-cycle, nonpipelined execution in top versus pipelined execution in botton

Page 10: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - INTRODUCCION Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre.

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

1010

Time betwen instructions pipelinedTime betwen instructions pipelined

Time betweb instructions pipelined=Time betweb instructions pipelined=

(Time betweb instructions (Time betweb instructions nonpipelined) / Number of pipe nonpipelined) / Number of pipe stagesstages

Page 11: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - INTRODUCCION Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre.

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

1111

DEEP PIPELININGDEEP PIPELININGDeep Pipelining hace referencia a la cantidad de estados en los cuales es dividido el proceso.

En el caso del procesador estudiado se tienen 5 estado

Fetch Read register while decoding instruction Execute the operation or calculate an address Access an operand in data memory Write the result into a register

Page 12: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - INTRODUCCION Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre.

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

1212

PIPELINE HAZARDSPIPELINE HAZARDSSTRUCTURAL HAZARD

Es cuando el hardware no puede soportar la combinación de instrucciones que se desean ejecutar en el mismo ciclo de reloj.DATA HAZARD

Ocurren cuando el pipeline debe detenerse en un paso mientras que se espera que otro se completeCONTROL HAZARD:

Ocurren cuando ha necesidad de tomar una dedición basada en el resultado de una instrucción mientras esta se está ejecutando

Page 13: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - INTRODUCCION Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre.

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

1313

STRUCTURAL HAZARDSTRUCTURAL HAZARD

EJEMPLO:EJEMPLO:

Se dispone de un sistema de una Se dispone de un sistema de una sola memoria para programa y sola memoria para programa y datos-datos-

Cuando se ejecuta una cuarta Cuando se ejecuta una cuarta instrucción se darían dos accesos a instrucción se darían dos accesos a memoria al mismo tiempomemoria al mismo tiempo

Page 14: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - INTRODUCCION Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre.

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

1414

DATA HAZARDDATA HAZARD

Add $s0, $t0, $t1Sub $t2, $s0, $t3

Existe una dependencia de la segunda instrucción sobre la primera mientras está en el pipelining

Page 15: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - INTRODUCCION Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre.

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

1515

DATA HAZARD: EJEMPLODATA HAZARD: EJEMPLO

Figure 6.5: Graphical representation of forwarding. Computer Organization and Design. David A Paterson

FORWARDING O BYPASSING

Page 16: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - INTRODUCCION Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre.

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

1616

DATA HAZARD :EJEMPLODATA HAZARD :EJEMPLO

Figure 6.6 We need a stall even with forwarding when an R-format instruction following a load tries to use the data . Computer Organization and Design. David A Paterson

FORWARDING O BYPASSING AND STALL

Page 17: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - INTRODUCCION Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre.

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

1717

CONTROL HAZARDCONTROL HAZARDSon llamados tambíen branch Son llamados tambíen branch hazard.hazard.Existen dos alternativasExisten dos alternativas– STALL:STALL: Después de realizar fetch de una Después de realizar fetch de una

instrucción de salto se hace fetch de la instrucción de salto se hace fetch de la siguiente, pero no se sabe si esta siguiente, pero no se sabe si esta efectivamen va a realizars, de modo que efectivamen va a realizars, de modo que se agrega una burbujase agrega una burbuja

– PREDICT:PREDICT: una aproximación simple es una aproximación simple es asumir que el salto no va a ser tomadoasumir que el salto no va a ser tomado

Page 18: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - INTRODUCCION Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre.

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

1818

CONTROL HAZARD: STALLCONTROL HAZARD: STALL

Figure 6.7: Pipeline shwing stalling on every cibditional branch as solution to control hazard. Computer Organization and Design. David A Paterson

Page 19: ARQUITECTURA DE COMPUTADORES - PIPELINING 1 PIPELINING - INTRODUCCION Definciónes básicas Ejemplos prácticos Ejemplos sobre un procesador Tiempo entre.

ARQUITECTURA DE COMPUTADORES - PIPARQUITECTURA DE COMPUTADORES - PIPELININGELINING

1919

CONTROL HAZARD : PREDICTCONTROL HAZARD : PREDICT

Figure 6.8: Predicting thar branches are no taken as a solution to control hazard. Computer Organization and Design. David A Paterson