1 / 26

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

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

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. op rs rt rd funct shamt op rs rt desplazamiento op dirección 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

  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. Introducción Tcpu = N · CPI · tciclo 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 • 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. Memoria de Datos Memoria de Instrucciones Dato Banco de Registros Nº reg PC Dirección Dirección ALU Instrucción Nº reg Nº reg Dato Visión General de la RD

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

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

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

  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. RegWrite Banco de Registros Operación ALU 3 Leer registro 1 Dato leído 1 Leer registro 2 ALU Zero Instrucción result ALU Escribir registro Dato leído 2 Escribir dato RD: Instrucciones aritmético-lógicas

  13. op rt rs desplazamiento 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

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

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

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

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

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

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

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

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

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

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

  24. M A d d u x 1 4 R e g W r i t e I n s t r u c t i o n [ 2 5 – 2 1 ] R e a d r e g i s t e r 1 R e a d M e m W r i t e R e a d P C d a t a 1 I n s t r u c t i o n [ 2 0 – 1 6 ] a d d r e s s R e a d M e m t o R e g A L U S r c r e g i s t e r 2 Z e r o I n s t r u c t i o n R e a d A L U [ 3 1 – 0 ] R e a d W r i t e d a t a 2 1 A d d r e s s r e s u l t r e g i s t e r d a t a M I n s t r u c t i o n W r i t e u m e m o r y R e g i s t e r s x d a t a D a t a 0 W r i t e m e m o r y R e g D s t d a t a 1 6 3 2 S i g n I n s t r u c t i o n [ 1 5 – 0 ] e x t e n d M e m R e a d I n s t r u c t i o n [ 5 – 0 ] A L U O p 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). P C S r c 0 A L U A d d r e s u l t S h i f t l e f t 2 0 A L U 0 M M u u I n s t r u c t i o n [ 1 5 – 1 1 ] x 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)

More Related