Hazards.

Slides:



Advertisements
Presentaciones similares
Clase Teórica N°5 Modos de direccionamiento
Advertisements

Simulación en VHDL del Datapath del MIPS
IBD Curso 2007 Clase 2.
ISP 3ra Práctica Enlace WAN /24 UNI PUCP R7 R1 R6 R3 UNMSM R4
Procesadores Superescalares
Arquitectura de Computadores I
Diseño de la ruta de datos monociclo para la arquitectura MIPS
Estructuras segmentadas
GESTION DE DISPOSITIVOS
Maestría en Explotación de Datos y Descubrimiento del Conocimiento
Procesadores Pipeline II
Arquitectura de Computadores I
I S A INSTRUCTION SET ARCHITECTURE
Arquitectura de Computadores I PIPELINING. Pipelining Un pipeline es una serie de etapas, en donde en cada etapa se realiza una porción de una tarea.
ARQUITECTURA DE COMPUTADORES - VON NEUMANN MODEL
ARQUITECTURA DE COMPUTADORES - PIPELINING
Scheduling dinámico Scoreboarding.
Círculos de proporción
Predicción de saltos.
Departamento de Ingeniería de Sistemas Universidad de Antioquia
Departamento de Ingeniería de Sistemas Universidad de Antioquia
Departamento de Ingeniería de Sistemas Universidad de Antioquia
PROCESADORES SUPERESCALARES Y VLIW
Arquitectura de Computadores
Pipelines: Riesgos.
Circuitos Integrados de Aplicación Específica
El procesador: la ruta de datos y el control (II Parte)
SEGMENTACIÓN DEL CAUCE
Unidad 3 Tema “Transformacion Equivalentes”
EL Sistemas Digitales Ing. José Alberto Díaz García Escuela de Ingeniería Electrónica Arquitectura Segmentada Pipeline (Segmentación)
Pipeline.
Este obra se publica bajo unalicencia de Creative Commons Reconocimiento- NoComercial-CompartirIgual 3.0 España.licencia de Creative Commons Reconocimiento-
Este obra se publica bajo unalicencia de Creative Commons Reconocimiento- NoComercial-CompartirIgual 3.0 España.licencia de Creative Commons Reconocimiento-
CLASE 11.
Introducción.
PLANIFICACIÓN DINÁMICA DE INSTRUCCIONES
Este obra se publica bajo unalicencia de Creative Commons Reconocimiento- NoComercial-CompartirIgual 3.0 España.licencia de Creative Commons Reconocimiento-
Unidad 9: Pipelines Complejos
P(C) = m * nMAXIMO GRADO DE PARALELISMO WSBS ha sido llamado el procesamiento en serie de bits, ya que se procesa un bit por vez (n = m = 1). Es el procesamiento.
Pipelines Paralelismo Temporal y Espacial Ciclo de ejecución
Unidad 2: Segmentación Dependencias de Control Docente: ing. José Díaz Chow.
Gustavo Andrés Uribe Gómez
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 18 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Overview Sistemas Computacionales
Organización de Computadoras
Datapath para las instrucciones de carga y almacenamiento (load/store)
Departamento de Ingeniería de Sistemas Universidad de Antioquia
“Organización y Arquitectura de Computadores” William Stallings
Cap. 6: Pipelining. Encauzamiento de procesadores
Diseño del procesador uniciclo
Microprocesadores II PIC16C5X Ing. Nelwi Báez.
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.
Instruction fetch cycle (IF) IR
PROCESADORES SUPERESCALARES
ARQUITECTURA DE COMPUTADORES
[ Arquitectura de Computadores ] ORGANIZACIÓN FUNCIONAL Präsentat ion Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
Hiperpipeline Superescalares Arquitectura de Computadoras 2012.
Procesadores superescalares
Pipelining Peligros de control.
Pipeline: Peligros de datos
Pipelining Datapath y control.
Arquitectura de Computadoras 2012
Pipelining Peligros (hazards).
Arquitectura 2013 Explicación 4.
Arquitectura 2013 Explicación 4.
Pipelining Introducción.
Pipeline: Peligros de datos
Pipelining Peligros de control.
Pipelining Peligros de control.
Transcripción de la presentación:

Hazards

Solución Ideal: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 IF ID EX MEM WB IF

Diagrama en Detalle + + IF/ ID ID/ EX EX/ Mem Mem/ WB 1 eq? valA U X + 1 + target PC+1 PC+1 R0 eq? regA R1 ALU result A L U Register file regB R2 valA PC Inst mem Data memory M U X instruction R3 ALU result mdata R4 R5 valB R6 M U X data R7 offset dest valB Bits 11-15 dest dest dest Bits 16-20 M U X IF/ ID ID/ EX EX/ Mem Mem/ WB

Ejemplo de Pipeline

Hazards I Los Hazards son causados por conflictos entre instrucciones. Pueden derivar en un comportamiento anómalo si no son solucionados. Los hay de tres tipos: Structural: dos instrucciones usan el mismo h/w en el mismo ciclo – conflictos de memoria(e.g. un solo puerto de memoria). Data: dos instrucciones usan el mismo almacenamiento(register/memory) – depende de las instrucciones. Control: una instrucción afecta a la siguiente– el PC modifica la posición de la instrucción.

Hazards II Forzar el uso de stalls o burbujas en el pipe Demorar/para instrucciones previas Flush pipeline Sacar instrucciones del pipeline Refetch posterior de nuevas instrucciones – resuelve hazards de control

Hazards III (Estructurales) Stall + simple, bajo costo en h/w Decrementa IPC Replicar el recurso + bueno para la performance Incremento h/w Usado con recursos baratos Pipeline en los recursos Complejidad, e.g. RAM Util para loops

Hazards IV (Datos) Dos instrucciones distintas usan el mismo lugar para almacenar sus datos. Reordenar! add R1, R2, R3 sub R2, R4, R1 or R1, R6, R3 add R1, R2, R3 sub R2, R4, R1 or R1, R6, R3 add R1, R2, R3 sub R2, R4, R1 or R1, R6, R3 read-after-write (RAW) write-after-read (WAR) write-after-write (WAW) True dependence (real) anti dependence (artificial) output dependence (artificial)

Hazards V (Control) Problemas en el BRANCH: Soluciones: Los branches se resuelven en la etapa de Ejecución (EX)  Penalidad de 2 ciclos en un branch tomado Teóricamente: CPI = 1 + 0.32*2 (asumiento 2 ciclos de penalty y que en un programa hay un 32% de branches) = 1.64 Soluciones: Reducir la penalidad: cambiar el datapath – nuevo sumador necesario en la etapa de ID. branch delay slot(s) => utilizarlo con una instrucción. Fixed branch prediction. Static branch prediction. Dynamic branch prediction.