Diseño de la ruta de datos monociclo para la arquitectura MIPS

Slides:



Advertisements
Presentaciones similares
Simulación en VHDL del Datapath del MIPS
Advertisements

El modelo de Von Neumann
DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
ORGANIZACIÓN COMPUTACIONAL
CLASE 3 SOFTWARE DEL MICROPROCESADOR
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
Circuitos Digitales II Alineamiento en Memoria y Ejecución de un programa Semana No.8 Semestre Prof. Gustavo Patiño Prof. Eugenio.
CLASE 12.
Circuitos Digitales II
Arquitectura de Computadores
VAX Diego Esteban Moreno Germán Aguado Llorente Félix Huete García.
Formatos de instrucción
El procesador: la ruta de datos y el control (II Parte)
EL Sistemas Digitales Ing. José Alberto Díaz García Escuela de Ingeniería Electrónica Arquitectura Segmentada Pipeline (Segmentación)
El nivel de la Microprogramación
Arquitectura de Conjunto de Instrucciones (ISA)
Circuitos Combinacionales Comunes
Composición Interna de un Procesador
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.
Microcomputadores Prof : Tatiana Marín R.. Sistema basado en microprocesador de 8 bits.
Arquitectura del Computador
ISA (Instruction Set Architecture)
ARQUITECTURA DE LOS MICROPROCESADORES DE 8 BITS
Unidad 2: Organización del CPU
Este obra se publica bajo unalicencia de Creative Commons Reconocimiento- NoComercial-CompartirIgual 3.0 España.licencia de Creative Commons Reconocimiento-
(CC) , José M. Foces-Morán.
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.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 13.
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.
Microcomputadores Prof: Tatiana Marín R.. Lenguaje máquina = lenguaje binario InstrucciónLenguaje máquina (binario)OP ( hex)Nemónico Restar F0SUB.
Diseño de la Unidad de Control Multiciclo: Microprogramación
Tema 2: Lenguaje máquina
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 y Arquitectura de Computadores” William Stallings
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.
Diseño del procesador uniciclo
CLASE 14.
RENDIMIENTO DEL COMPUTADOR
INTRODUCCIÓN El rendimiento, costo de compra y costo de operación forman la base para la toma de decisiones, sobre que PC es mejor que otra y así adquirir.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 10.
Organización del Computador I Verano Control Multiciclo Basado en el capítulo 5 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
introducción al Lenguaje Ensamblador
Organización del Computador CPU 3 y 4 – Diseño de una computadora.
Simulación en VHDL del Controlador FSM del MIPS
ARQUITECTURA DE COMPUTADORES
Arquitecturas de Computadoras Capitulo 2 Aritmética de enteros.
Lenguaje ensamblador Conceptos introductorios. Formatos de Instrucción. Modos de Direccionamiento. Conjunto de instrucciones básico. Introducción al Lenguaje.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
Fundamentos de los Computadores Grado en Ingeniería Informática
El procesador Diseño del control.
Organización del Computador
Creando un solo datapath
Pipelining Introducción.
Organización del Computador
Organización del Computador
8. Diseño del Procesador Fundamentos de los Computadores
El procesador Datapath y control.
Transcripción de la presentación:

Diseño de la ruta de datos monociclo para la arquitectura MIPS

Conocimientos previos: Arquitectura MIPS Registros 32 registros de propósito general, de 32 bits cada uno. ($0, $1, ..., $31) Memoria Direccionable por bytes en modo “big endian” Direcciones de 32 bits Modo de direccionamiento registro base + desplazamiento [100($1)]

Conocimientos previos: Arquitectura MIPS Repertorio de instrucciones longitud fija de 32 bits. 3 tipos de instrucciones aritmético-lógicas: add, sub, and, or, slt add $1, $2, $3 de referencia a memoria: lw, sw lw $1, 100($2) Saltos (condicionales o no): beq, j beq $1, $2, 48 3 formatos formato R formato I formato J op rs rt rd funct desplazamiento dirección shamt

Objetivos Construir una ruta de datos a partir de la especificación dada por la definición de la arquitectura del repertorio de instrucciones Integración de conocimientos y puesta en práctica de conocimientos previos

Tcpu = N · CPI · tciclo Introducción Depende del compilador y de la arquitectura del repertorio de instrucciones Dependen de la organización e implementación del procesador

Conceptos Básicos Ejecución de instrucciones: Pasos Común Similar Leer instrucción de la memoria con el PC Leer registros especificados en la instrucción Similar Utilizar la ALU Diferente Terminación de ejecución de instrucción

Visión General de la RD PC Memoria de Datos Memoria de Instrucciones Instrucción Dirección Memoria de Instrucciones PC Nº reg Dato Banco de Registros ALU Memoria de Datos

Elementos Básicos: Buscar instrucción Leer dirección PC Add Instrucción Memoria de Instrucciones

RD: Buscar instrucción Leer dirección Memoria de Instrucciones PC 4 Add

Elementos Básicos: Ejecutar instrucción RegWrite Leer registro 1 Leer registro 2 Escribir registro dato Dato leído 1 Banco de Registros leído 2 { Números de Registros } Datos result ALU Zero 3 Operación Dirección Escribir dato Memoria de Datos Dato leído MemWrite MemRead Extensión de signo 16 32

Instrucciones aritmético-lógicas add, sub, and, or y slt add rd, rs, rt Ejemplo: add $1, $2, $3 $1=$2+$3 Formato tipo R op rs rt rd shamt funct

RD: Instrucciones aritmético-lógicas result ALU Zero RegWrite 3 Operación Leer registro 1 Leer registro 2 Escribir registro dato Dato leído 1 Banco de Registros leído 2 Instrucción

Instrucciones de acceso a memoria lw y sw lw rt, despl(rd) ó sw rt, despl(rd) Ejemplos: lw $1, 24($2) $1= Mem[$2+24] sw $1, 24($2) Mem[$2+24]= $1 Formato tipo I op rs rt desplazamiento

RD: Instrucciones de acceso a memoria Extensión de signo result ALU Zero 16 32 RegWrite 3 Operación Dirección Escribir dato Memoria de Datos Leer registro 1 Leer registro 2 registro Dato leído 1 Banco de Registros leído 2 leído MemWrite MemRead Instrucción

Instrucción de salto condicional beq rs, rt, despl Ejemplo: beq $1, $2, despl  si ($1=$2)  PC=PC+despl Formato tipo I op rs rt desplazamiento

RD: Instrucción de salto condicional Desplaz. izq. 2 Extensión de signo 32 RegWrite Add result ALU Leer registro 1 Leer registro 2 Escribir registro dato Dato leído 1 Banco de Registros leído 2 16 Instrucción PC+4 (de la ruta de datos) Zero 3 Operación A la lógica de saltos Dirección destino del salto

Instrucción de salto incondicional j dirección Ejemplo: j 1000  PC = PC[31-28] + 1000[27-2]+00[1-0] Formato tipo J op dirección

RD: Instrucción de salto incondicional Add 4 PC Desplaz. izq. 2 32 28 26 Instrucción[25-0] PC+4 [31-28]

Ruta de Datos Monociclo Cada recurso se utiliza una sola vez en cada ciclo Reutilización de bloques  Multiplexor M u x Control

RD: Tipo R + lw/sw Instrucción RegWrite Banco de Registros Operación Extensión de signo result ALU Zero 16 32 M u x RegWrite ALUSrc 3 Operación Dirección Escribir dato Memoria de Datos Leer registro 1 Leer registro 2 registro Dato leído 1 Banco de Registros leído 2 leído MemWrite MemtoReg MemRead Instrucción

Añadir búsqueda de instrucción Leer dirección Memoria de Instrucciones PC 4 Add Extensión de signo result ALU Zero 16 32 M u x RegWrite ALUSrc 3 Operación Dirección Escribir dato Memoria de Datos Leer registro 1 Leer registro 2 registro Dato leído 1 Banco de Registros leído 2 leído MemWrite MemtoReg MemRead

Añadir salto condicional Instrucción Leer dirección Memoria de Instrucciones PC 4 Add Desplaz. izq. 2 Extensión de signo result ALU Zero 16 32 M u x RegWrite ALUSrc 3 Operación Dirección Escribir dato Memoria de Datos Leer registro 1 Leer registro 2 registro Dato leído 1 Banco de Registros leído 2 leído MemtoReg MemWrite MemRead PCSrc

Añadir salto incondicional Instrucción Leer dirección Memoria de Instrucciones PC 4 Add result ALU Desplaz. izq. 2 Leer registro 1 Leer registro 2 Escribir registro dato Dato leído 1 Banco de Registros Extensión de signo Zero 16 32 M u x RegWrite ALUSrc 3 Operación Dirección Memoria de Datos leído 2 leído MemWrite MemtoReg MemRead PCSrc1 PCSrc2 28 26 Instrucción[25-0] PC+4 [31-28]

Esquema alternativo (sin instrucción j) Camino de datos con todos los multiplexores y líneas de control necesarias (según figura del libro de texto). M e m t o R g a d W r i A L U O p S c D s P C I n u y [ 3 1 – ] 2 6 5 4 P C S r c 3 2 I n s t r u c i o [ 1 5 – ] R e g W d a S x A L U l Z D m y M A L U A d d r e s u l t S h i f t l e f t 2 A L U M u M I n s t r u c t i o n [ 1 5 – 1 1 ] x u x 1 1 A L U c o n t r o l

Resumen (I) La organización del procesador condiciona el Tcpu 5 pasos en el diseño del procesador 1. Analizar repertorio de instrucciones  Funcionalidad del camino de datos 2. Seleccionar componentes del camino de datos 3. Ensamblar camino de datos para proporcionar la funcionalidad requerida. 4. Analizar la implementación de cada instrucción para determinar la ubicación de los puntos de control que permitan ejecutar las transferencias entre registros. 5. Diseño de la unidad de control (a continuación ...)

Resumen (II) MIPS hace fácil la implementación de estos pasos Instrucciones del mismo tamaño Registro fuente (rs) siempre en la misma posición del formato de instrucción Valores inmediatos siempre del mismo tamaño (16 bits) y en la misma posición (bits 0-15) Operaciones siempre sobre registros/inmediatos Camino de datos monociclo  CPI=1  TCLK grande A continuación: Paso 5 (diseño de la unidad de control)