Pipelining Predicción dinámica de brincos. Universidad de SonoraArquitectura de Computadoras2 Introducción En base a la historia de la instrucción, predecir.

Slides:



Advertisements
Presentaciones similares
Procesadores Superescalares
Advertisements

A FAST ALGORITHM FOR DNA SEQUENCES.
LENGUAJES DE PROGRAMACIÓN Y ALGORITMOS
IBM 360.
3.4.- Administración de Memoria Virtual.
Introducción a los Sistemas Operativos Memoria Virtual
Pipelines: Riesgos.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
LECCIÓN 10. INTRODUCCIÓN AL CONTROL MICROPROGRAMADO
ARQUITECTURA INTEL FORMATOS DE INSTRUCCIÓN
Composición Interna de un Procesador
Memoria Virtual Fallos de Página Algoritmos de Reemplazamiento
Uso de TortoiseSVN Gerencia SCM.
ISA (Instruction Set Architecture)
Programación de Computadores
Memoria Organización del caché. Universidad de SonoraArquitectura de Computadoras2 Organización del caché Hasta ahora solo se ha visto la estrategia de.
ARQUITECTURA DE LOS MICROPROCESADORES DE 8 BITS
MIPS Intermedio.
Semana 5 Subprogramas..
Datapath para las instrucciones de brinco
Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.
Computadoras analógicas Miden magnitudes físicas que se distribuyen en escala continua como pueden ser la temperatura y la presión. Este tipo de computadoras.
Capítulo 1 “Elementos de Programación”
Estructura y Tecnología de Ordenadores Noviembre 2004.
Administración de Memoria Memoria Virtual
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.
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
Conceptos Arquitectónicos del computador
Scheduling dinámico Algoritmo de Tomasulo.
Clase 2 Gabriela Araya Baez.  Permite la ejecución de un bloque de instrucciones, mediante la verificación de una condición. Si esta no se cumple (else),
ELEMENTOS BASICOS DE PROGRAMACION EL CONTADOR contador Para poder seguir la simulación del contador a su propio ritmo, haga uso de las teclas: Re Pág.
Material de apoyo Unidad 4 Estructura de datos
El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.
Planificación de Procesos
Funcionamiento de la CPU
Diseño de la Unidad de Control Multiciclo: Microprogramación
Estructuras de Control.
Previsión de Ventas. Métodos no paramétricos Previsión de Ventas. Tema 2. 1 Antonio Montañés Bernal Curso
Arquitectura de Von Neumann
Datapath para las instrucciones de carga y almacenamiento (load/store)
Conclusión del curso. Universidad de SonoraArquitectura de Computadoras2 Temas cubiertos Lenguaje ensamblador MIPS. Diseño de una CPU tradicional. Datapath.
Memoria virtual.
INFORMATICA VII (Programación e implementación de sistemas)
El procesador Diseño del control.
Cap. 6: Pipelining. Encauzamiento de procesadores
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.
Introducción y desarrollo Video
Operadores Lógicos Y (Conjunción): Tanto P como Q (Ambas). O (Disyunción): Puede ser que P o Q o ambas (mínimo 1)
Organización del Computador I Verano Control Multiciclo Basado en el capítulo 5 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
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.
ALMACENAMIENTO DE DATOS. Son componentes que leen o escriben datos en medios o soportes de almacenamiento, y juntos conforman lamemoria o almacenamiento.
Algoritmos y Desarrollo de Programas I
Programas Son una serie o secuencia de instrucciones entendibles por los ordenadores que permiten la realización de las acciones o tareas para las que.
3.4 PROCESAMIENTO DE LAS INSTRUCCIONES DE SALTO
José Alvarado – Cristian Anzola
MIPS Intermedio.
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Memoria Virtual Concepto Paginado bajo demanda Performance del Paginado bajo.
Gestión de Memoria – Parte 2
El proceso ensamblador. José Luis Vergara Soberanis.
Katty Evangelina Hipólito Chi.   Aunque cada maquina tiene un lenguaje ensamblador distinto, el proceso de ensamblador tiene suficiente similitudes.
Memoria virtual. Universidad de SonoraArquitectura de Computadoras2 Introducción Memoria virtual es un mecanismo que permite que la memoria principal.
Pipelining Peligros de control.
Pipelining Peligros de control.
Pipelining Peligros de control.
Transcripción de la presentación:

Pipelining Predicción dinámica de brincos

Universidad de SonoraArquitectura de Computadoras2 Introducción En base a la historia de la instrucción, predecir si habrá o no brinco. Se necesita una tabla de historia de brincos, llamada también buffer de predicción de brincos. La tabla es una memoria pequeña indexada por la parte baja de la dirección de la instrucción de brinco. La tabla contiene uno o mas bits indicando si el brinco fue recientemente tomado o no. La predicción se hace en la etapa IF del brinco.

Universidad de SonoraArquitectura de Computadoras3 Tabla de 1 bit Un bit que indica si la última vez el brinco fue tomado o no. Desventaja: mala precisión aun con brincos que son casi siempre tomados. Ejemplo: suponer la segunda vez que se ejecuta un brinco de un ciclo. El brinco se toma 9 veces seguidas y luego no se toma. El sistema de 1 bit se equivoca dos veces.

Universidad de SonoraArquitectura de Computadoras4 Tabla de 1 bit Se equivoca en la primera iteración. El bit se quedó en 0 al final de la primera ejecución y predice no tomado, pero el brinco se toma. Se equivoca en la última iteración. El bit está en 1 porque el brinco se ha tomado 9 veces consecutivas y predice tomado, pero el brinco no se toma. Precisión: 80% en un brinco que se toma el 90%.

Universidad de SonoraArquitectura de Computadoras5 Tabla de 2 bits La predicción debe estar mal dos veces antes de cambiarla. Se modela usando una máquina de estados finitos.

Universidad de SonoraArquitectura de Computadoras6 Tabla de 2 bits

Universidad de SonoraArquitectura de Computadoras7 Tabla de 2 bits Fácil de implementar con un contador de 2 bits. Si la predicción es acertada el contador se incrementa. Si la predicción no es acertada el contador se decrementa. Estados 0 y 1 predicen brinco no tomado. Estados 2 y 3 predicen brinco tomado. En el ejemplo anterior, este método tiene precisión del 90%, solo se equivoca en la última iteración.

Universidad de SonoraArquitectura de Computadoras8 Otras mejoras Buffer de destinos de brincos. Memoria cache para guardar el destino de los últimos brincos. Predictor de correlación. Combina comportamiento local de un brinco en particular con información global acerca del comportamiento de algunos brincos recientemente ejecutados. Predictor de brincos estilo torneo. Tiene varias predicciones para un mismo brinco y un mecanismo para seleccionar que predictor usar para un brinco en particular.

Universidad de SonoraArquitectura de Computadoras9 Otras mejoras Un predictor estilo torneo típico tiene dos predicciones para cada brinco, uno basado en información global de brincos y otro en información local. El selector escoge que predictor usar para un brinco en particular. El selector se puede implementar parecido a las tablas de 1 y 2 bits, favoreciendo al predictor que haya sido mas preciso.