Arquitectura 2013 Explicación 5.

Slides:



Advertisements
Presentaciones similares
Arquitectura de Computadores I
Advertisements

Arquitectura de Computadores
Pipelines: Riesgos.
PLANIFICACIÓN DINÁMICA DE INSTRUCCIONES
INGENIERIA DE COMPUTADORES II
Segmentación No Lineal
Programa Vespertino de Automatización Equipos y Sistemas de Control Digital Lenguaje C Profesor: Felipe Páez Mejías D e p a r t a m e n t o d e I n g e.
Tipos de campos de una base de datos Campos numéricos Fechas Campos de texto.
Scheduling dinámico Algoritmo de Tomasulo.
Departamento de Ingeniería de Sistemas Universidad de Antioquia
Tipos de datos básicos en Java
Arquitectura de Computadoras (Taller) Semestre II de 2008.
Sistemas Operativos ➢ Que son? ➢ Que hacen? ➢ Por Juan O. Tejeda.
Estructura_clase Ing. Eduard Antonio Lozano Córdoba.
Programación II Sesión 3. TABLA DE CONTENIDO  Tipos de Datos en C  Delimitadores  Tipo Char  Tipo Int  Tipo Float  Tipo Double  Constantes  Operadores.
El procesador Datapath y control. Universidad de SonoraArquitectura de Computadoras2 Introducción En esta parte del curso contiene: Las principales técnicas.
1 MEMORIAS Fundamentos de Informática Ingeniería Técnica Diseño Industrial.
Representación de números en binario
NÚMEROS FRACCIONARIOS (Antes Quebrados)
TERMINOLOGÍA BÁSICA Informática: conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático y racional de la información,
Organización de computadoras
Hardware de Computador
Procesadores superescalares
Paul Leger Transacciones Paul Leger
ROBERTO PINEDA FLORES. ALEXIS JULIAN VELAZQUEZ NAVA.
Olimpiadas Chilenas de Informática - Formación
Pipeline: Peligros de datos
Fundamentos de la Computación
Scheduling dinámico: algoritmo de Tomasulo
El procesador Diseño del control.
Superescalares Scheduling estático.
Pipelining Datapath y control.
Datapath para las instrucciones aritméticas y lógicas
Arquitectura de Computadoras 2012
Organización del Computador
Datapath para las instrucciones de carga y almacenamiento (load/store)
1 1 1 El Sistema B nar o
Leccion 5: Escogiendo un Tipo de Variable
Tema 2 Variables y cálculos
Arquitectura 2013 Explicación 3 - continuación.
Arquitectura 2013 Explicación 4.
Arquitectura 2013 Explicación 4.
Arquitectura 2013 Explicación 6.
MC Beatriz Beltrán Martínez Primavera 2016
Organización del Computador
Arquitectura 2013 Explicación 5 Parte II.
Unidad 2: Programación 2. Programación Curso
Unidad 3. Introducción a la programación
SISTEMAS DE NUMERACIÓN
SISTEMA DIGITAL Es una combinación de dispositivos diseñados para manipular cantidades físicas o información que estén representadas en forma digital,
CUESTIONARIO.
Explicación 2 Interrupciones.
Manejo de video y teclado
8. Diseño del Procesador Fundamentos de los Computadores
Pipeline: Peligros de datos
Dispositivos de almacenamiento
Scheduling dinámico: algoritmo de Tomasulo
Programación I MC José Andrés Vázquez Flores
Excel Macros Macros Automáticas.
Commit out of order Ciclo 1: Detecto un load que fallo en L2 en el tope del ROB Load R3(F5)=R4(F4)+R2(F2) R2(F6)=R1(F1)+R3(F5) Branch R3(F5)
MC Beatriz Beltrán Martínez Otoño 2017
Computer Data Systems Microsoft Word 2013 formatos de Word Párrafo
Operaciones combinadas
Centro Universitario UAEM Ecatepec Asignatura: Introducción al software base Licenciatura en informática Administrativa Lia 4to semestre Mtra. Patricia.
Unidades de medida de la información.
Arquitectura 2013 Explicación 6 Entrada-Salida.
MANTENIMIENTO DE LA CONSISTENCIA. BUFFER DE REORDENAMIENTO TIENE LA FINALIDAD DE VER LA PROBLEMÁTICA DE LA FINALIZACIÓN ORDENADA O DESORDENADA DE.
El procesador Datapath y control.
Memoria Cachés.
Componentes de una computadora
Transcripción de la presentación:

Arquitectura 2013 Explicación 5

Unidades de ejecución Winmips tiene 4 unidades de ejecución: Para instrucciones generales (1 etapa de 1 ciclo) Para multiplicar en punto flotante (7 etapas de 1 ciclo c/u) Para sumar punto flotante ( 4 etapas de 1 ciclo c/u) Para dividir en punto flotante(1 etapa de 24 ciclos)

Unidades de ejecución Cada etapa de una unidad de ejecución puede tener una instrucción El uso de múltiples unidades tiene ventajas pero introduce nuevos problemas. Múltiples unidades permiten ejecutar instrucciones en menos tiempo. Aparecen 3 tipos de atascos: Dependencia Estructural Dependencia de datos WAR Dependencia de datos WAW

Atascos estructurales Los atascos estructurales son provocados por conflictos por los recursos. En el winmips solo puede suceder cuando dos instrucciones en unidades de ejecución distintas intentan acceder a la etapa memoria simultáneamente. Dos instrucciones listas para pasar a la etapa de memoria. Se produce un atasco estructural y solo pasa una de ellas. Tiene prioridad la primera instrucción que entró en el cauce

Los atascos WAR y WAW Los atascos WAR y WAW suceden cuando: hay dependencia de datos entre dos instrucciones (igual que RAW). hay mas de una unidad de ejecución. Una instrucción que entra al cauce puede sobrepasar a una instrucción anterior, queriendo escribir un registro pendiente de lectura (WAR) o escritura (WAW). El simulador produce atascos cuando detecta una situación potencial (puede que realmente no suceda) de dependencia WAR o WAW.

Punto flotante IEEE 754 doble precisión Ejemplo de instrucciones para punto flotante: Add.d Sub.d Mul.d div.D … Ver set de instrucciones

Ej 4 Simular el siguiente programa de suma de números en punto flotante y analizar minuciosamente la ejecución paso a paso. Inhabilitar Delay Slot y mantener habilitado Forwarding. .data n1: .double 9.13 n2: .double 6.58 res1: .double 0.0 res2: .double 0.0 .code L.D F1, n1(R0) L.D F2, n2(R0) ADD.D F3, F2, F1 MUL.D F4, F2, F1 S.D F3, res1(R0) S.D F4, res2(R0) HALT .word <n1>,<n2>.. define word(s) de dato (64-bits) .byte <n1>,<n2>.. define bytes .word32 <n1>,<n2>.. define número(s) de 32 bit .word16 <n1>,<n2>.. define número(s) de 16 bit .double <n1>,<n2>.. define número(s) en floating-point .asciiz “abc”… Define una cadena de caracteres (1 byte) terminada con el carácter 00H L.D = Load Double precision float S.D = Store Double precision float

Ej 4 Con Delay Slot deshabilitado y Forwarding habilitado . No tiene disponible F2 ADD.D F3,F2,F1 y S.D F3, res1(R0) están listas para pasar a la etapa MEM. S.D F3, res1(R0) debe esperar que ADD.D F3,F2,F1 pase a la siguiente. Con Delay Slot deshabilitado y Forwarding habilitado .

Ej 4 (2) Agregamos la instrucción MUL.D F2, F2, F1 .data n1: .double 9.13 n2: .double 6.58 res1: .double 0.0 res2: .double 0.0 .code L.D F1, n1(R0) L.D F2, n2(R0) ADD.D F3, F2, F1 MUL.D F2, F2, F1 MUL.D F4, F2, F1 S.D F3, res1(R0) S.D F4, res2(R0) HALT

Ej 4 (2) MUL.D quiere modificar F2, pero esta esta siendo leido por ADD.D Con Delay Slot deshabilitado y Forwarding habilitado .

Ej 4 (3) Agregamos la instrucción NOP .data n1: .double 9.13 res1: .double 0.0 res2: .double 0.0 .code L.D F1, n1(R0) L.D F2, n2(R0) NOP ADD.D F3, F2, F1 MUL.D F2, F2, F1 MUL.D F4, F2, F1 S.D F3, res1(R0) S.D F4, res2(R0) HALT

Ej4 (3) Ya no se provoca el RAW en el ADD.D, por lo tanto F2 esta disponible para el MUL.D y así tampoco se provoca el WAR.

¿Preguntas?