Download - Organizaciónde Computadoras
![Page 1: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/1.jpg)
Organización de Computadoras
Pipeline
José Luis Hamkalo Depto. de Electrónica
![Page 2: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/2.jpg)
Organización de la Clase
� Introducción al procesamiento pipeline.
� Arquitectura MIPS 32 con implementación pipeline.implementación pipeline.
� Riesgos pipeline.
• Estructurales
• Datos
• Control
José Luis Hamkalo Depto. de Electrónica
![Page 3: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/3.jpg)
Procesamiento Pipeline. La Idea
de una Línea de Montaje.
� Ejemplo de fabricación de un automóvil.
� Se requieren cuatro pasos:
• Construcción de la carrocería.
•• Construcción de la carrocería.
• Protección anticorrosiva y pintura.
• Ensamblado mecánico: caja-motor.
• Colocación de interiores y terminación.
José Luis Hamkalo Depto. de Electrónica
![Page 4: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/4.jpg)
Procesamiento Pipeline. La Idea
de una Línea de Montaje (cont).
� Hipótesis: cada paso insume una hora.
� Esquema de producción tradicional:
• Un auto a la vez.
•• Un auto a la vez.
• Se produce un auto cada cuatro horas.
� Esquema de línea de montaje:
• Se fabrican cuatro autos a la vez.
• En distintos grados de avance.
• Se inicia y termina un auto por hora.
José Luis Hamkalo Depto. de Electrónica
![Page 5: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/5.jpg)
Camino de Datos MIPS 32 Simplificado.
Implementación Monociclo.
Búsqueda de instrucción Decodificación y lectura de registros
Ejecución/ cálculo de dirección
Acceso amemoria
Escritura en registro
José Luis Hamkalo Depto. de Electrónica
Reloj
![Page 6: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/6.jpg)
Dividir el Trabajo en Etapas
Separadas por Registros.
� Busqueda de Instrucciones (IF)
� Decodificación y búsqueda de operandos (ID)operandos (ID)
� Ejecución y cálculo de dirección (EX)
� Acceso a memoria (MEM)
� Write back (WB)
José Luis Hamkalo Depto. de Electrónica
Procesamiento pipeline: procesar como en
una línea de montaje.
![Page 7: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/7.jpg)
Versión Pipeline del Camino de
Datos MIPSRegistros interetapa
José Luis Hamkalo Depto. de Electrónica
Reloj
![Page 8: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/8.jpg)
Etapa IF de una instrucción lw
José Luis Hamkalo Depto. de Electrónica
![Page 9: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/9.jpg)
Etapa ID de una instrucción lw
José Luis Hamkalo Depto. de Electrónica
![Page 10: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/10.jpg)
Etapa EX de una instrucción lw
José Luis Hamkalo Depto. de Electrónica
![Page 11: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/11.jpg)
Etapa MEM de una instrucción lw
José Luis Hamkalo Depto. de Electrónica
![Page 12: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/12.jpg)
Etapa WB de una instrucción lw
José Luis Hamkalo Depto. de Electrónica
![Page 13: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/13.jpg)
Corrección para la instrucción lw
José Luis Hamkalo Depto. de Electrónica
Debe conservarseel especificador deregistro destino
![Page 14: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/14.jpg)
Una Secuencia de InstruccionesTiempo en ciclos de reloj
Orden deejecucióndel programa
José Luis Hamkalo Depto. de Electrónica
![Page 15: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/15.jpg)
Diagrama Pipeline Tradicional
Tiempo en ciclos de reloj
Orden deejecucióndel programa
José Luis Hamkalo Depto. de Electrónica
programa
![Page 16: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/16.jpg)
Estado del Pipe en el 5to Clock
José Luis Hamkalo Depto. de Electrónica
![Page 17: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/17.jpg)
Con Señales de Control
José Luis Hamkalo Depto. de Electrónica
![Page 18: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/18.jpg)
Transporte de las Señales de
Control
José Luis Hamkalo Depto. de Electrónica
![Page 19: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/19.jpg)
Con Señales de Control
Generadas y Transportadas.
José Luis Hamkalo Depto. de Electrónica
![Page 20: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/20.jpg)
Contención en el Register File
OK
Duplicar velocidad
del register file
TiempoEjecucióndel programa
José Luis Hamkalo Depto. de Electrónica
![Page 21: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/21.jpg)
A Veces los Resultados no
Están Listos
TiempoEjecucióndel programa
José Luis Hamkalo Depto. de Electrónica
![Page 22: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/22.jpg)
Ejemplo
TiempoEjecucióndel programa
José Luis Hamkalo Depto. de Electrónica
![Page 23: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/23.jpg)
Solución por Hardware:
Parar el Pipeline
TiempoEjecucióndel programa
José Luis Hamkalo Depto. de Electrónica
![Page 24: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/24.jpg)
Solución por Software: El Compilador
Inserta No-OPeraciones (NOP)
TiempoEjecucióndel programa
José Luis Hamkalo Depto. de Electrónica
![Page 25: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/25.jpg)
Evitar los Ciclos de Stall:
Forwarding
TiempoEjecucióndel programa
José Luis Hamkalo Depto. de Electrónica
![Page 26: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/26.jpg)
Forwarding, continuación (2)
TiempoEjecucióndel programa
José Luis Hamkalo Depto. de Electrónica
![Page 27: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/27.jpg)
Dependencias en una Secuencia
de 5 Instrucciones
Valor delReg. $2
Tiempo en ciclos de reloj
Orden deejecucióndel programa
José Luis Hamkalo Depto. de Electrónica
![Page 28: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/28.jpg)
Dependencias en una Secuencia
de 5 Instrucciones: los Datos
Pueden Proveerse a Tiempo.
Orden deejecucióndel programa
Tiempo en ciclos de reloj
Valor del Reg. $2Valor de EX/MEMValor de MEM/WB
José Luis Hamkalo Depto. de Electrónica
![Page 29: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/29.jpg)
Agregado del Hardware de
Forwarding al Camino de Datos
José Luis Hamkalo Depto. de Electrónica
![Page 30: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/30.jpg)
TiempoEjecucióndel programa
Forwarding, no siempre
aplicable.
José Luis Hamkalo Depto. de Electrónica
![Page 31: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/31.jpg)
MIPS de 5 etapas requiere de un
“load delay slot”
TiempoEjecucióndel programa
José Luis Hamkalo Depto. de Electrónica
![Page 32: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/32.jpg)
Taxonomía de los Riesgos
� Estructurales
� De Datos
� De Control� De Control
José Luis Hamkalo Depto. de Electrónica
![Page 33: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/33.jpg)
Riesgos Estructurales
� Las instruciones no se pueden ejecutar por no haber suficientes recursos.
� Ejemplos
•� Ejemplos
• Memoria unificada
• Register file no multipuerto
• Unidad funcional requiere más de un ciclo
José Luis Hamkalo Depto. de Electrónica
![Page 34: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/34.jpg)
Riesgo estructural, ejemplo:
memoria unificada (inst. y datos)
Ejecucióndel programa
LW R2, 32(R1)
José Luis Hamkalo Depto. de Electrónica
![Page 35: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/35.jpg)
Ejemplo (continuación).
Solución: Para el Pipeline
Ejecucióndel programa
LW R2, 32(R1)
José Luis Hamkalo Depto. de Electrónica
![Page 36: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/36.jpg)
Riesgos de Datos
� Lectura después de Escritura (RAW)• La inst i+1 lee después que la inst. i escribe
� Escritura después de Lectura (WAR)• La inst i+1 escribe después que la inst. i lee• La inst i+1 escribe después que la inst. i lee
� Escritura después de Escritura (WAW)• La inst i+1 escribe después que la inst. i escribe
� Lectura después de Lectura (RAR)• La inst i+1 lee después que la inst. i lee (nunca es
riesgo)
José Luis Hamkalo Depto. de Electrónica
![Page 37: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/37.jpg)
Riesgos de Control
Instrucciones que alteran el contenido del PCPC
Ejemplo: branch
José Luis Hamkalo Depto. de Electrónica
![Page 38: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/38.jpg)
Ejemplo de Código
36 NOP40 ADD R30, R30, R3044 BEQ R1, R3, 2448 AND R12, R2, R552 OR R13, R6, R256 ADD R14, R2, R2
José Luis Hamkalo Depto. de Electrónica
56 ADD R14, R2, R260 G64 G68 G72 LW R4, 50(R7)76 G
Flujo de instrucciones si el branch es tomado: 36, 40, 44, 72Flujo de instrucciones si el branch es no tomado: 36, 40, 44, 48
![Page 39: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/39.jpg)
Ejemplo, Riesgos Debido al
branch
Flujo de instrucciones si el branch es tomado: 36, 40, 44, 72Flujo de instrucciones si el branch es no tomado: 36, 40, 44, 48
José Luis Hamkalo Depto. de Electrónica
60 o 72
![Page 40: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/40.jpg)
Predicción de Saltos
� Predicción Estática• Hardware
• Software• Información conocida en tiempo de compilación.
• Profiling del programa• Profiling del programa
� Predicción Dinámica• Predictores locales
• predictores de 1 o 2 bits
• Predictores globales• Historia de saltos
• Predictores en 2 niveles
José Luis Hamkalo Depto. de Electrónica
![Page 41: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/41.jpg)
Solución 1, Parar el Pipeline
José Luis Hamkalo Depto. de Electrónica
![Page 42: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/42.jpg)
Instrucciones de Control
SPEC92
José Luis Hamkalo Depto. de Electrónica
Muy frecuentes: alto impacto en el desempeño
![Page 43: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/43.jpg)
Mezcla de Saltos
José Luis Hamkalo Depto. de Electrónica
![Page 44: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/44.jpg)
Solución 2, Asumir Salto NO
Tomado
Flujo de instrucciones si el branch es tomado: 36, 40, 44, 72Flujo de instrucciones si el branch es no tomado: 36, 40, 44, 48
José Luis Hamkalo Depto. de Electrónica
60 o 72
![Page 45: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/45.jpg)
Qué Pasa Si el Salto es Tomado?
José Luis Hamkalo Depto. de Electrónica
![Page 46: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/46.jpg)
Mejora: Mover la Señal que Gobierna
el Multiplexor del PC a la Etapa EX
José Luis Hamkalo Depto. de Electrónica
![Page 47: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/47.jpg)
Reduce Penalidad en 1 Ciclo
José Luis Hamkalo Depto. de Electrónica
![Page 48: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/48.jpg)
Mover Aún Más Hacia Adelante
para Mejorar el Desempeño.
José Luis Hamkalo Depto. de Electrónica
![Page 49: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/49.jpg)
El Esquema del Salto Demorado
� Técnica que pasa la responsabilidad de los riesgos de control al compilador.
� El hardware se desentiende de los � El hardware se desentiende de los riesgos de control.
� El procesador siempre ejecuta la instrucción siguiente al branch (1 delay slot).
José Luis Hamkalo Depto. de Electrónica
![Page 50: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/50.jpg)
El “branch delay slot”
José Luis Hamkalo Depto. de Electrónica
![Page 51: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/51.jpg)
� Se debe garantizar que el programa se ejecute correctamente.
� Tratar de reordenar las instrucciones sin
Manejo del “branch delay slot”
� Tratar de reordenar las instrucciones sin alterar la lógica del programa.
� Colocar una NOP luego de cada salto en la que no fue posible garantizar que el programa se ejecute correctamente.
José Luis Hamkalo Depto. de Electrónica
![Page 52: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/52.jpg)
Branch delay slot: tres posibilidades
José Luis Hamkalo Depto. de Electrónica
![Page 53: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/53.jpg)
Predictores Dinámicos de Saltos
� Consideraciones
� Predicción de saltos
� Eliminación de saltos� Eliminación de saltos
José Luis Hamkalo Depto. de Electrónica
![Page 54: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/54.jpg)
Predictor de Salto de un Bit
� Se implemneta mediante una tabla de 1 bit
� A cada salto le corresponde una entrada en la tabla• Si un bit es 1, entonces el salto
se predice tomado se predice tomado • Si un bit es 0, entonces el salto
se predice no tomado
� Cada bit de la tabla se va estableciendo dinámicamente: si un salto efectivamente se toma, entonces el bit correspondiente de la tabla se pone en 1, sino en 0.
José Luis Hamkalo Depto. de Electrónica
![Page 55: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/55.jpg)
Predictor de Saltos de 2 bits
� La tabla tiene 2 bits por entrada en lugar de 1
� Con 2 bits puede distinguir 4 estados � Con 2 bits puede distinguir 4 estados posibles para predecir el salto.
00 01 10 11
T T T
TNT
NTNTNT
No Tomado TomadoFuertemente FuertementeDebilmente Debilmente
José Luis Hamkalo Depto. de Electrónica
![Page 56: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/56.jpg)
Prediciendo el Resultado de
Saltos en Programas de Punto
Flotante
� Ejemplo
José Luis Hamkalo Depto. de Electrónica
![Page 57: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/57.jpg)
Cómo Busco en la Tabla?
� Cada branch debería tener una entrada exclusiva en la tabla.
� Es deseable acceder por un mapeo de bits � Es deseable acceder por un mapeo de bits del PC (dirección del branch).
� En la práctica solo uso los “n” bits más bajos del PC para acceder a la tabla para limitar su tamaño.
José Luis Hamkalo Depto. de Electrónica
![Page 58: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/58.jpg)
Interferencia en Predictores
José Luis Hamkalo Depto. de Electrónica
![Page 59: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/59.jpg)
Interferencia (continuación)
� Interferencia en prdictores.
• Neutra
• Positiva
• Negativa• Negativa
� Formas de minimizar la interferencia
• Tablas de historia más grandes.
• Idexado de tablas con mejor distribución
José Luis Hamkalo Depto. de Electrónica
![Page 60: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/60.jpg)
Saltos Correlacionados
José Luis Hamkalo Depto. de Electrónica
![Page 61: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/61.jpg)
Predictor Basado en la Historia
Global
� Puedo crear una tabla de predicción indexada usando exclusivamente la historia global de todos los saltos.
� Se predice si un salto se va a tomar o no en base al resultado de los últimos “n” saltos dinámicamente ejecutados (de todo el programa).
José Luis Hamkalo Depto. de Electrónica
![Page 62: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/62.jpg)
Predictores de 2 niveles
José Luis Hamkalo Depto. de Electrónica
![Page 63: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/63.jpg)
Ejemplo de Código con saltos
Correlacionados
While( condicion){G
Supongo que el fragmento de código está en un bucle y que en las sucesivasiteraciones el valor de d alterna entre 0 y 2.
If (d==0)d=1;
If (d==1)G
BNEZ R1, L1 ; branch b1 (d!=0)DADDIU R1, R0, #1 ; d==0 entonces d=1
L1: DADDIU R3, R1, #-1BNEZ R3, L2 ; branch b2 (d!=1)
GL2
G
}
![Page 64: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/64.jpg)
Ejemplo de Código con saltos
Correlacionados (cont)
If (d==0)d=1;
If (d==1)G
BNEZ R1, L1 ; branch b1 (d!=0)DADDIU R1, R0, #1 ; d==0 entonces d=1
L1: DADDIU R3, R1, #-1BNEZ R3, L2 ; branch b2 (d!=1)
GL2L2
Valor inicial de
d
d == 0? b1 Valor de d
antes de b2
D == 1 ? b2
0 si No Tomado 1 Si No tomado
1 no Tomado 1 Si No tomado
2
(u otro distinto de 0 o 1)
no Tomado 2 No Tomado
![Page 65: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/65.jpg)
Ejemplo de Código con saltos
correlacionados. Predictor local de 1 bit
d = ? Predicción
b1
Acción b1 Nueva
predicción
b1
Predicción
b2
Acción b2 Nueva
predicción
b2
2 NT T T NT T T
0 T NT NT T NT NT
2 NT T T NT T T
0 T NT NT T NT NT
![Page 66: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/66.jpg)
Ejemplo de Código con saltos
correlacionados. Predictor 1 bit global +
1 bit local
d = ? Predicción
b1
Acción b1 Nueva
predicción
b1
Predicción
b2
Acción b2 Nueva
predicción
b2
2 NT/NT T T/NT NT/NT T NT/T
0 T/NT NT T/NT NT/T NT NT/T
2 T/NT T T/NT NT/T T NT/T
0 T/NT NT T/NT NT/T NT NT/T
![Page 67: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/67.jpg)
BTB (Branch Target Buffer)
José Luis Hamkalo Depto. de Electrónica
![Page 68: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/68.jpg)
Eliminación de saltos
� Eliminación de saltos
• Instrucciones condicionales
� Reducción del número de saltos
•� Reducción del número de saltos
• Desenrrollado de lazos
José Luis Hamkalo Depto. de Electrónica
![Page 69: Organizaciónde Computadoras](https://reader034.vdocumento.com/reader034/viewer/2022050607/62735350237f505d96132432/html5/thumbnails/69.jpg)
José Luis Hamkalo Depto. de Electrónica
FIN