Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Clase 05
Clase 05
Clase 5
Posibles soluciones a atascos
Ejemplo de segmentación
Notas de Clase 5 2
Atascos de un cauce (stall)
Notas de Clase 5 4
Soluciones a riesgos de datos
Notas de Clase 5 5
Soluciones a riesgos de datos (2)
Notas de Clase 5 6
Riesgos RAW
Notas de Clase 5 7
Ruta de datos con adelantamiento
Notas de Clase 5 8
Soluciones a riesgos de datos (3)
Notas de Clase 5 9
Reordenación por compilador
Notas de Clase 5 10
Soluciones a riesgos de control
• Instrucciones de salto
• Incondicional
• La dirección de destino se debe determinar lo más pronto
posible, dentro del cauce, para reducir la penalización.
• Condicional
• Introduce riesgo adicional por la dependencia entre la
condición de salto y el resultado de una instrucción previa.
Notas de Clase 5 11
Soluciones a riesgos de control (2)
Notas de Clase 5 12
Ruta de datos mejorada
Notas de Clase 5 13
Reducción de paradas por mejora
Notas de Clase 5 14
Soluciones a riesgos de control (3)
Técnica Hardware
• Predicción de saltos para evitar la parada
Técnica Software
• Salto retardado o de relleno de ranura de retardo
• El compilador introduce instrucciones que se ejecutarán en
cualquier caso después de la instrucción de salto
Notas de Clase 5 15
Predicción de saltos (1)
• Técnicas estáticas
• Predecir que nunca se salta:
• Asume que el salto no se producirá.
• Siempre capta la siguiente instrucción.
• Predecir que siempre se salta:
• Asume que el salto se producirá.
• Siempre capta la instrucción destino del salto.
Notas de Clase 5 16
Ejemplo con Predicción nunca saltar
Notas de Clase 5 17
Predicción de saltos (2)
• Técnicas dinámicas
• Conmutador saltar/no saltar:
• Basado en la historia de las instrucciones.
• Eficaz para los bucles.
• Tabla de historia de saltos (branch-target buffer)
• Pequeña cache asociada a la etapa de búsqueda (F)
• Tres campos:
• Dirección de una instrucción de bifurcación
• Información de la instrucción destino
• Dirección del destino ó Instrucción destino
• N bits de estado (historia de uso)
Notas de Clase 5 18
Diagrama de
flujo de
predicción
saltar/
no saltar
Notas de Clase 5 19
Tabla
de
historia
de
IPFAR: registro de
dirección de instrucción
precaptada
saltos
(BTB)
Notas de Clase 5 20
Salto retardado
Notas de Clase 5 22
Soluciones a riesgos de control (4)
Notas de Clase 5 23
Flujos múltiples
Notas de Clase 5 24
Precaptación del destino de salto
Notas de Clase 5 25
Buffer de bucles
y saltos.
Comparar los bits mas significativos
de dirección para determinar un
acierto
Notas de Clase 5 26
Segmentación en el 80486
Notas de Clase 5 27
Segmentación en el 80486 (2)
Notas de Clase 5 28
Mejoras al repertorio
Notas de Clase 5 29
Etapa de ejecución multifuncional
Notas de Clase 5 30
Unidades de ejecución segmentadas
Notas de Clase 5 31
Lectura básica
Notas de Clase 5 32