Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porConcepción Minjares Modificado hace 11 años
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)
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.