Post on 22-Apr-2015
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
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.
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
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.
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/
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/
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
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
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
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
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
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
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
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
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
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
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
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
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