La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "Diseño de la ruta de datos monociclo para la arquitectura MIPS"— Transcripción de la presentación:

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

2 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)]

3 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

4 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

5 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

6 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

7 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

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

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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

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

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

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

20 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

21 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

22 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

23 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]

24 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

25 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 ...)

26 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)


Descargar ppt "Diseño de la ruta de datos monociclo para la arquitectura MIPS"

Presentaciones similares


Anuncios Google