Unidad 2: Segmentación Dependencias de Control Docente: ing. José Díaz Chow.

Slides:



Advertisements
Presentaciones similares
Simulación en VHDL del Datapath del MIPS
Advertisements

Procesadores Superescalares
El modelo de Von Neumann
Diseño de la ruta de datos monociclo para la arquitectura MIPS
A FAST ALGORITHM FOR DNA SEQUENCES.
A REA DE TECNOLOGIA ELECTRONICA U NIVERSIDAD DE O VIEDO LECCION 5 – ARQUITECTURA INTERNA DE LOS PIC - 1F.F. LINERA ARQUITECTURA BASICA. CARACTERISTICA.
TEMA 3 ILP, Panificación dinámica, Predicción de saltos, Especulación
Estructuras segmentadas
Procesadores Pipeline II
Camino de Datos y Control
Fermín Sánchez Carracedo Universitat Politècnica de Catalunya
El Microprocesador.
Predicción de saltos.
Departamento de Ingeniería de Sistemas Universidad de Antioquia
Arquitectura de Computadores
Pipelines: Riesgos.
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
El procesador: la ruta de datos y el control (II Parte)
Administración de Procesos de Pruebas
SEGMENTACIÓN DEL CAUCE
Windows XP sp3.
EL Sistemas Digitales Ing. José Alberto Díaz García Escuela de Ingeniería Electrónica Arquitectura Segmentada Pipeline (Segmentación)
El nivel de la Microprogramación
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
Circuitos Combinacionales Comunes
Composición Interna de un Procesador
Este obra se publica bajo unalicencia de Creative Commons Reconocimiento- NoComercial-CompartirIgual 3.0 España.licencia de Creative Commons Reconocimiento-
Microcomputadores Prof : Tatiana Marín R.. Sistema basado en microprocesador de 8 bits.
MICRO Y MACRO ARQUITECTURA
PLANIFICACIÓN DINÁMICA DE INSTRUCCIONES
Unidad 2: Organización del CPU
Este obra se publica bajo unalicencia de Creative Commons Reconocimiento- NoComercial-CompartirIgual 3.0 España.licencia de Creative Commons Reconocimiento-
Instrucciones: FORMATO DE INSTRUCCIONES
Unidad 2: Segmentación 2.7. Dependencias de Datos Docente: Ing. José Díaz Chow.
Segmentación No Lineal
Arquitectura de Máquinas Computadoras II
Administración de Memoria Memoria Virtual
Pipelining Predicción dinámica de brincos. Universidad de SonoraArquitectura de Computadoras2 Introducción En base a la historia de la instrucción, predecir.
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.
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Asignación de Espacio No Contiguo
Soporte HW para Administración de Memoria Cecilia Hernández
Scheduling dinámico Algoritmo de Tomasulo.
El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.
Capítulo 5. El procesador: Camino de datos y control.
Unidad 2: Segmentación Excepciones en la Segmentación Docente: Ing. José Díaz Chow ARQUITECTURA DE MÁQUINAS COMPUTADORAS III.
VII Congreso de Expotecnología UVM 2007 Jonás A. Montilva C.
Departamento de Ingeniería de Sistemas Universidad de Antioquia
Organización del Computador I Verano Memoria Virtual Basado en el capítulo 7 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.
CLASE 13.
El procesador Diseño del control.
Cap. 6: Pipelining. Encauzamiento de procesadores
CLASE 14.
Capítulo 4 CPU y la memoria.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 20 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.
Instruction fetch cycle (IF) IR
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 17 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Clase II Determinación de la viabilidad y administración de las actividades de análisis y diseño Ing. Sist. Ana María Arellano Arcentales DOCENTE UNIVERSIDAD.
EL ORDENADOR PERSONAL Aparato electrónico que sirve para procesar información (transformarla para que sea útil. Para hacerlo codifica la información (descompuesta.
3.4 PROCESAMIENTO DE LAS INSTRUCCIONES DE SALTO
Gestión de Memoria – Parte 2
Arquitectura de Computadoras (Taller) Semestre II de 2008.
Arquitectura de Computadores Clase 22 Pipelining IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento.
El procesador Diseño del control.
Arquitectura 2013 Explicación 4.
Creando un solo datapath
Organización del Computador
El procesador Datapath y control.
Transcripción de la presentación:

Unidad 2: Segmentación Dependencias de Control Docente: ing. José Díaz Chow

Clases anteriores: Procesador segmentado adelanta la ejecución. Dependencias inherentes al solapamiento. Riesgos por dependencias:  Estructurales  Datos  Control

C15 - Contenido: 2.8 Dependencias de Control Dependencias y Riesgos de Control Mejoras a nivel de Diseño DD en Brx tras adelantamiento Tratamiento de Latencias Datapath del DLX sin Dependencias de Control

Las instrucciones de saltos generan dependencias de control cuando éste es efectivo. Riesgos: Incoherencias: Cambio del estado del CPU  Bloqueo imprescindible Latencias: Reducción de la eficiencia.  Técnicas de Mejoramiento por Diseño

Latencias Generadas y baja del desempeño: if (cond) pc = pc + d BRx ir = Mi(pc) pc = pc + 4 decodificar A = pc B = d A’ = rf1 mar = A + B cond = (A’ cmp 0) if (cond) pc = mar - Ejemplo para 20% instrucciones de salto:  r = 0.2(  + 3  )  1.6 

Contenido: 2.8 Dependencias de Control Dependencias y Riesgos de Control Mejoras a nivel de Diseño DD en Brx tras adelantamiento Tratamiento de Latencias Datapath del DLX sin Dependencias de Control

Adelantar la definición del salto a ALU. if (cond) pc = pc + d BRx ir = Mi(pc) pc = pc + 4 decodificar A = pc B = d A’ = rf1 mar = A + B if = (A’ cmp 0) pc = A + B - -  r = 0.2(  + 2  )  1.4 

Adelantar la definición del salto a D/L. Requerimientos estructurales: Sumador en D/L, Comparador a D/L, quizas  sea mayor. if (cond) pc = pc + d BRx ir = Mi(pc) pc = pc + 4 decodificar if = (Rf1 cmp 0) pc = pc + d  r = 0.2(  +  )  1.2 

Garantizar el bloqueo para evitar inconsistencias (Interlock Hardware)

Contenido: 2.8 Dependencias de Control Dependencias y Riesgos de Control Mejoras a nivel de Diseño DD en Brx tras adelantamiento Tratamiento de Latencias Datapath del DLX sin Dependencias de Control

Los cambios estructurales de Diseño crean nuevas dependencias de datos en Brx. Instrucciones Involucradas EscenarioTratamiento OP - BRx OP(i) – BRx(i+1) S(ALU)  E(Cmp) Debe estudiarse si queda tiempo para que se dé, caso contrario, parar. OP(i) – BRx (i+2)S(MAR)  E(Cmp) OP(i) – BRx (i+3)S(MDRin)  E(Cmp) LOAD - BRx LOAD(i) – BRx(i+1)Parar el cauce: IR=BRx y IR2=LOAD y IR2(Rd)= IR(Rf1) LOAD(i) – BRx (i+2) S(Md)  E(Cmp) Debe estudiarse si queda tiempo para que se dé, caso contrario, parar. LOAD(i) – BRx (i+3)S(MDRin)  E(Cmp)

Contenido: 2.8 Dependencias de Control Dependencias y Riesgos de Control Mejoras a nivel de Diseño DD en Brx tras adelantamiento Tratamiento de Latencias Datapath del DLX sin Dependencias de Control

No todos los segmentados adelantan el salto ni implementan interlock. El Programador y compilador tienen la responsabilidad de introducir NOPs por Sw. No todos los saltos son efectivos y por tanto se pierden ciclos inutilmente. Algunos CPUs tratan de “especular” sobre el destino del salto para minimizar pérdidas.

Tres técnicas más comunes: Salto Retardado (Método Software) Apuesta por una rama (Sw + Hw) Apuesta por ambas ramas (Hardware BTB) Predicción del Salto (Hardware Predictor)

Salto Retardado: En tiempo de compilación. Se introducen instrucciones de relleno (Delay Slots o ranuras de retardo) que pueden ser útiles o al menos válidas. Selección de rellenos no es trivial (dd específicas) Rellenos del Bloque básico, salto o continuación En caso de no encontrar rellenos, usa NOPs

Ejemplo: … 1) MUL R1, R2, R9 2) ADD R7, R1, R9 3) DIV R7, R1, R9 4) SUB R4, R4, R6 5) BRx R4, d (i) 6) MUL R5, R13, R13 (i+1) 7) SUB R12, R7, R8 8) SUB R12, R5, R6 … 9 ) SUB R12, R7, R1 (k) 10) ADD R13, R12, R5 11) ADD R6, R5, R6 … Bloque básico Bloque de ContinuaciónBloque del salto Podemos usar la inst 3 pero no 1 ni 4 (R-D) ni 2 (R-R con 3). No dd con siguientes del bloque. Solo 7 es elegible (6 –10,11; tienen R-D y 8 – 7 tienen R- R). No dd con anteriores del bloque ni R-D con salto. Solo 9 es apropiada (10-9 y11-8 tienen R-D). No dd con anteriores del bloque ni R-D con continuación.

Apuesta por una rama: Mejora del simple interlock. Se apuesta por una rama y se emite NOP o bloquean escrituras en caso de fallo Si se apuesta Continuación. CU debe: Si IR2 = BRx y (Rf1 cmp 0)  IR = NOP Si se apuesta Salto, Compilador inserta relleno y modifica d para que el salto sea a k+1. CU verifica: Si IR2 = BRx y !(Rf1 cmp 0)  IR = NOP

Predicción del Salto: En tiempo de ejecución. Requiere soporte Hardware Basado en el comportamiento de los saltos anteriores. Varias versiones

Predictor de salto de 1 bit: Se tiene 1 bit indicando si el salto se tomó o no en la ocasión anterior. Si la predicción no se cumple se cambia el estado del bit Pobre desempeño cuando se cambia mucho el comportamiento de los saltos

Predictor de salto de 2 bits: 4 Estados posibles. Permite mejor acierto cuando cambia mucho el comportamiento de los saltos

Apuesta por ambas ramas (BTB): Apuesta al caracter repetitivo de los saltos. Se emplea un Branch Target Buffer asociativo (BTB). Tag es la dirección de la instrucción. BTB almacena instrucciones de los últimos destinos de salto (k). En caso de instrucción de salto en D/L, se busca en el BTB

Apuesta por ambas ramas (BTB): Si el salto se había tomado anteriormente y instrucción destino k se encuentra en BTB, entonces tenemos un acierto (hit) BTB hit  IR = mediante un MUX y PC + 4 para cargar la siguiente. BTB miss  IR = NOP, PC cuando se trae k, se almacena: BTB  k) Si el salto no se había tomado anteriormente, k no se encuentra en BTB, entonces tenemos un fallo (miss)

Contenido: 2.8 Dependencias de Control Dependencias y Riesgos de Control Mejoras a nivel de Diseño DD en Brx tras adelantamiento Tratamiento de Latencias Datapath del DLX sin DC