Datapath para las instrucciones de brinco

Slides:



Advertisements
Presentaciones similares
El modelo de Von Neumann
Advertisements

Diseño de la ruta de datos monociclo para la arquitectura MIPS
Camino de Datos y Control
Arquitectura de Computadores I
ARQUITECTURA DE COMPUTADORES - VON NEUMANN MODEL
TEMA 2 Arquitectura de un Ordenador
Fermín Sánchez Carracedo Universitat Politècnica de Catalunya
Composición Interna de un Procesador
CLASE 11.
Unidad 2: Organización del CPU
Datapath para las instrucciones de brinco
Instrucciones: FORMATO DE INSTRUCCIONES
Organización del Computador I Verano MIPS (1 de 2) Basado en el capítulo 3 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 13.
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.
Datapath para las instrucciones de carga y almacenamiento (load/store)
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 11.
CLASE 13.
El procesador Diseño del control.
CLASE 14.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 10.
Instruction fetch cycle (IF) IR
ARQUITECTURA DE COMPUTADORES
Arquitecturas de Computadoras Capitulo 2 Aritmética de enteros.
Objetivos Cómo ejecuta el hardware las operaciones básicas (suma, resta, división y multiplicación). Qué pasa si una operación genera un número más grande.
El procesador Datapath y control. Universidad de SonoraArquitectura de Computadoras2 Introducción En esta parte del curso contiene: Las principales técnicas.
INTRODUCCION A LOS SISTEMAS DE COMPUTO ARQUITECTURA VON NEUMAN Ing. David Gonzalez.
Representación de números en binario
Memoria Cachés.
Organización de computadoras
Procesadores superescalares
Fundamentos de los Computadores Grado en Ingeniería Informática
Pipelining Peligros de control.
Pipeline: Peligros de datos
Unidad aritmético-lógica
El procesador Diseño del control.
Superescalares Scheduling estático.
Pipelining Datapath y control.
Datapath para las instrucciones aritméticas y lógicas
Excepciones e interrupciones
Pipelining Peligros (hazards).
Organización del Computador
8. Diseño del Procesador Fundamentos de los Computadores
Datapath para las instrucciones de carga y almacenamiento (load/store)
ARQUITECTURA DE HARD WARE COMPONENTES EN BLOQUES DEL PROCESADOR
Clase 7 Assembly - Simulador MSX88.
Arquitectura 2013 Explicación 4.
Organización del caché
Creando un solo datapath
Memoria virtual.
Memoria virtual.
Pipelining Introducción.
JAVIER ANDRES MARTÀ MARTINEZ CODIGO 37772
Organización del Computador
Introducción a las ciencias de la computación Antonio López Jaimes
8. Diseño del Procesador Fundamentos de los Computadores
Pipeline: Peligros de datos
ARQUITECTURA DEL COMPUTADOR Ing. Diana E. López.
Pipelining Peligros de control.
1 TEMA 2: Organización de computadores Procesadores Memorias Dispositivos de E/S.
Operaciones con Acumuladores
Sesión 2: Modos de direccionamiento Indirecto, bucles y saltos condicionales Fulgencio Montilla Meoro Universidad Politécnica de Valencia.
El procesador Datapath y control.
Memoria Cachés.
Ejercicio 5.6 sobre cachés
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
Organización del caché
Pipelining Peligros de control.
Transcripción de la presentación:

Datapath para las instrucciones de brinco El procesador Datapath para las instrucciones de brinco

Instrucciones de brinco Dos tipos de instrucciones de brincos: Brinco condicional. beq $t0, $t1, Etiqueta ; if t0 == t1 goto Etiqueta Brinco incondicional. j Etiqueta ; goto Etiqueta Universidad de Sonora Arquitectura de Computadoras

Brinco condicional La instrucción de brinco condicional beq $r1, $r2, Etiqueta Compara $r1 con $r2. Si $r1 = $r2 brinca a la dirección determinada por Etiqueta. Si $r1  $r2 continúa con la siguiente instrucción. Universidad de Sonora Arquitectura de Computadoras

Brinco condicional En MIPS, los brincos condicionales son relativos al contador del programa (PC). Ejemplo: 1000 Etiqueta: … … 1040 beq $s0, $s1, Etiqueta El brinco beq se traduce en lenguaje máquina : 000100 10000 10001 1111111111110101 beq $s0 $s1 -11 Universidad de Sonora Arquitectura de Computadoras

Brinco condicional Por conveniencia, el PC se incrementa en 4 antes de checar la condición. El brinco es relativo a la siguiente instrucción (PC+4). La diferencia se calcula en palabras no en bytes. En el ejemplo: 1000 Etiqueta: … … 1040 beq $s0, $s1, Etiqueta Hay 11 palabras (44 bytes) entre 1000 y 1044. Universidad de Sonora Arquitectura de Computadoras

Brinco condicional Otra forma de ver la instrucción beq: PC += 4 if $s0 == $s1 PC = PC + offset * 4 Universidad de Sonora Arquitectura de Computadoras

Brincos relativos ¿Cuál es su ventaja? En MIPS solo hay 16 bits para indicar la dirección en los brincos condicionales (beq, bne). Si los brincos fueran absolutos, un programa no podría tener mas de 216 palabras. Usando brincos relativos: El programa puede tener cualquier tamaño. Los brincos están limitados a 215 palabras hacia atrás y 215 – 1 palabras hacia adelante. Usando el brinco incondicional (instrucción j), se puede ampliar ese rango. Universidad de Sonora Arquitectura de Computadoras

Brinco condicional Hay que tomar en cuenta lo siguiente: El brinco es relativo con PC + 4. El PC ya se incrementó durante el ciclo de fetch (primera fase del datapath). El offset viene especificado en palabras no en bytes. Para convertir de palabras a bytes se multiplica por 4, o se hace un shift a la izquierda de 2 bits. Hay que evaluar la condición. Universidad de Sonora Arquitectura de Computadoras

Brinco condicional En resumen, el datapath del brinco condicional hace 2 operaciones: Calcular la dirección destino. Si toma el brinco: PC = PC + (offset << 2). Si no toma el brinco: PC = PC + 4. Comparar el contenido de los registros. Universidad de Sonora Arquitectura de Computadoras

Datapath para un brinco condicional Universidad de Sonora Arquitectura de Computadoras

Explicación Para calcular la dirección destino se usa: Unidad de extensión de signo. Unidad para el shift a la izquierda de 2 bits. Sumador. Para hacer la comparación de registros: Banco de registros para leer los dos registros. ALU para hacer la comparación. Se puede comparar si $r1 == $r2 haciendo la resta $r1 – $r2 y checando si la salida Zero se prende o no. Universidad de Sonora Arquitectura de Computadoras

Brinco incondicional La instrucción j Etiqueta Brinca a la dirección determinada por Etiqueta. El brinco es absoluto. La dirección de Etiqueta se guarda como parte de la instrucción. La dirección se guarda en palabras no en bytes. Universidad de Sonora Arquitectura de Computadoras

Brinco incondicional Ejemplo: 1000 Etiqueta: … 1040 j Etiqueta El brinco j se traduce en lenguaje máquina: 000010 00000000000000000011111010 j 250 Un brinco j no puede cruzar el límite de 226 (67 millones) instrucciones. En caso de ser necesario se usa un brinco jal. Universidad de Sonora Arquitectura de Computadoras

Brinco incondicional Otra forma de ver la instrucción j: PC += 4 ; no tiene efecto PC = (offset << 2) ; multiplica por 4 La instrucción j necesita: Hacer un shift a la izquierda de 2 bits. Usa una unidad de shift. Universidad de Sonora Arquitectura de Computadoras

Instrucciones de brinco En resumen, el datapath para las instrucciones de brinco (condicionales e incondicionales) necesita: Banco de registros. Unidad para extender el signo. Sumador. ALU para comparar. Unidad de shift. Universidad de Sonora Arquitectura de Computadoras