Datapath DLX.

Slides:



Advertisements
Presentaciones similares
Arquitectura de Computadores I
Advertisements

Diseño de la ruta de datos monociclo para la arquitectura MIPS
Camino de Datos y Control
Arquitectura de Computadores I
Datapath para las instrucciones aritméticas y lógicas
Fermín Sánchez Carracedo Universitat Politècnica de Catalunya
ARQUITECTURA BÁSICA DE MIPS 64
Circuitos Digitales II Alineamiento en Memoria y Ejecución de un programa Semana No.8 Semestre Prof. Gustavo Patiño Prof. Eugenio.
Departamento de Ingeniería de Sistemas Universidad de Antioquia
CLASE 10.
CLASE 12.
EL Sistemas Digitales Ing. José Alberto Díaz García Escuela de Ingeniería Electrónica Arquitectura Segmentada Pipeline (Segmentación)
Unidad aritmético-lógica
CLASE 11.
Aritmética y Computadores. Refresco de aritmética binaria. Operaciones aritméticas y lógicas. Construcción de una ALU para MIPS. Multiplicación y División.
ISA (Instruction Set Architecture)
Práctica 7 AOC. Gestión de la pila Una pila es una estructura de datos caracterizada por que el último dato que se almacena es el primero que se obtiene.
MIPS Intermedio.
Organización del Computador I Verano Aritmética (1 de 3) Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.
Arquitecturas de Computadoras Curso Propedéutico
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.
Docente: Carlos Orlando Claros Vásquez UNSACA - HUACHO FACULTAD DE INGENIERIA Módulo: Generación de Código No Optimizado.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 13.
Laboratorio de Organización del Computador. Cómo nos podemos comunicar con un computador Add A, B CA0 Ensamblador Hexadecimal Binario.
Capítulo 5 El procesador Félix García Carballeira Jesús Carretero Pérez José Daniel Sánchez García David Expósito Singh © Ediciones Paraninfo1.
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.
Unidad aritmético lógica
Datapath para las instrucciones de carga y almacenamiento (load/store)
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 11.
Organización del Computador
Departamento de Ingeniería de Sistemas Universidad de Antioquia
Organización del Computador I Verano Procesador Segmentado Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
CLASE 13.
Organización del Computador I Verano Procesador Multiciclo Basado en el capítulo 5 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
El procesador Diseño del control.
Cap. 6: Pipelining. Encauzamiento de procesadores
Diseño del procesador uniciclo
CLASE 14.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 10.
Organización del Computador CPU 3 y 4 – Diseño de una computadora.
Modos de direccionamiento
Simulación en VHDL del Controlador FSM del MIPS
ARQUITECTURA DE COMPUTADORES
MIPS Intermedio.
Arquitecturas de Computadoras Capitulo 2 Aritmética de enteros.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
El procesador Datapath y control. Universidad de SonoraArquitectura de Computadoras2 Introducción En esta parte del curso contiene: Las principales técnicas.
Lenguaje ensamblador MIPS
Procesadores superescalares
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
Datapath para las instrucciones de brinco
Excepciones e interrupciones
Organización del Computador
Datapath para las instrucciones de carga y almacenamiento (load/store)
Creando un solo datapath
Organización del Computador
Arquitectura 2013 Explicación 5 Parte II.
Pipelining Introducción.
Organización del Computador
Organización del Computador
8. Diseño del Procesador Fundamentos de los Computadores
Pipeline: Peligros de datos
El procesador Datapath y control.
Transcripción de la presentación:

Datapath DLX

Formato de las instrucciones Instrucciones I-Type Instrucciones R-Type Instrucciones J-Type

Conjunto de Instrucciones a implementar R-type SLL, SRL, SRA, SLLV, SRLV, SRAV, ADD, ADDU, SUB, SUBU, AND, OR, XOR, NOR SLT, SLTU, JR

Conjunto de Instrucciones a implementar 2 I-Type LB, LH, LW, LWU, LBU, LHU, SB, SH, SW ADDI, ADDIU, ANDI, ORI, XORI, LUI SLTI, SLTIU, BEQ, BNE J, JAL J-Type JR, JALR

Otros requerimientos La memoria de datos debe estar separada de la memoria de instrucciones. Usar los ip-cores de los prácticos 3 y 4. Cargar en la memoria de datos el archivo .coe generado en el tp 5 (el ensamblador de instrucciones) Usar la Uart creada en el tp 6 para hacer un trace de las instrucciones que se van ejecutando en cada etapa del pipeline

IF:Búsqueda de instrucción Datapath simple para una instrucción IF:Búsqueda de instrucción ID: Decodificación/ Lectura de Reg EX: Ejecución/ Calculo de Dir MEM: Acceso a Memoria WB Escribe Reg MUX 1 Sumador Sumador +4 <<2 RA Zero PC busA ADDR RB instrucciones Memoria Banco de registros DR ADDR DR RW ALU Memoria datos busB MUX busW MUX DW 1 1 Extensión de signo

Fetching Buscar instrucciones involucra: Leer la instrucción desde la Instruction Memory Actualizar el PC para guardar la direccion de la siguiente instrucción.

Fetching cont.

Decodificación de Instrucciones Involucra enviar el opcode de la instrucción y los bits de funcion a la unidad de control Leer los 2 valores del banco de registros

Ejecución de instrucciones R type Realizan la operación (op y funct) sobre los valores de rs y rt y guardan el resultado en el banco de registros(rd) El banco de registro necesita una señal de control para write

Ejecución de instrucciones R-type

Ejecución de Operaciones load y Store Calcula la direccion de memoria sumando el base register (leido desde el banco de registros durante el decode) al campo del offset de la instrucción ( 16 bit sign extended) Store del valor (leido del banco de registros) en la memoria de datos Load del valor, leido de la memoria de datos, en el banco de registros

Load y Store

Ejecutando operaciones de Branch Comparar los operandos leidos desde el banco de registro durante el decode (zero alu output) Calcular el branch target address: sumar el PC actualizado a el offset extendido 16-bit

Branch operations

Ejecutando un Jump Involucra reemplazar los 28 bits mas bajos del PC con los 26 bits mas bajos de la instrucción shifted left por 2 bits

Porciones del fetch, R, y Memory Access

Pipeline Datapath

Data Hazards y Forwarding Líneas de control

El problema

Forwarding unit Solucion

Forwarding unit

Data Hazards y Stalls

stalls

Arquitectura de la unidad de detección de hazards

Branch Hazards

Branch prediction

Datapath Final

Debugging usando la uart Agregar una unidad de debug controlada a través de la UART implementada en el practico 6. Se piden dos formas de ejecución del procesador: ejecución continua y ejecución paso a paso

Ejecución continua El procesado ejecuta todas las instrucciones de la Mem Instrucciones, cuando llega al final envía a través de la uart el contenido de los 32 registros, la memoria de datos utilizada.

Ejecución paso a paso Apretando la tecla s, el terminal le envia el comando al procesador para que ejecute la siguiente instrucción. El procesador ejecuta un ciclo de clock. En pantalla se imprime: PC: $PC Registros: contenido de los registros El contenido de los latchs que separan las etapas

Datapath y debug Unit

Bibliografia Computer Organization and Design 3rd Edition. Chapter 6. Hennessy- Patterson