El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2...

15
El procesador Creando un solo datapath

Transcript of El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2...

Page 1: El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.

El procesadorCreando un solo datapath

Page 2: El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.

Universidad de Sonora Arquitectura de Computadoras 2

Introducción1. Crear un solo datapath a partir de los datapaths

individuales:a) Instrucciones aritméticas y lógicas (tipo R).

b) Instrucciones de carga y almacena (load/store).

c) Brincos condicionales e incondicionales.

2. Agregar el control.

Page 3: El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.

Universidad de Sonora Arquitectura de Computadoras 3

IntroducciónVersión simple de MIPS de un ciclo.Las instrucciones se ejecutan en un ciclo de reloj.Ninguna parte del datapath se puede usar mas de

una vez por instrucción.En caso necesario, se duplica la parte que tenga

que ser utilizada mas de una vez.Por ese motivo, la memoria de instrucciones y la de

datos están separadas.Se pueden compartir partes del datapath agregando

un multiplexor y una señal de control.

Page 4: El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.

Universidad de Sonora Arquitectura de Computadoras 4

Uniendo datapathsLos datapaths de las instrucciones aritméticas y

lógicas de las instrucciones de carga/almacena son similares.

Las diferencias importantes son:

Page 5: El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.

Universidad de Sonora Arquitectura de Computadoras 5

Uniendo datapathsa) ALU:

Instrucciones aritméticas y lógicas: las entradas vienen de los registros.

Instrucciones de carga/almacena: una entrada viene de un registro, la otra de un offset de 16 bits.

Ejemplo: add $t0, $t1, $t2 ; usa la ALU para sumar t1 + t2 sw $t0, 50($a0) ; usa la ALU para sumar a0 + 50

Page 6: El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.

Universidad de Sonora Arquitectura de Computadoras 6

Uniendo datapathsb) Registro destino:

Instrucciones aritméticas y lógicas: el valor que se guarda es la salida de la ALU.

Instrucción de carga: el valor que se guarda viene de la memoria.

Ejemplo: add $t0, $t1, $t2 ; t0 ← t1 + t2 lw $t0, 50($a0) ; t0 ← Memoria[a0 + 50]

Page 7: El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.

Universidad de Sonora Arquitectura de Computadoras 7

Uniendo datapathsPara usar la misma ALU:

Agregar un mux en la segunda entrada.Para usar el mismo banco de registros:

Agregar un mux en la entrada de datos.

Page 8: El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.

Universidad de Sonora Arquitectura de Computadoras 8

Datapath para tipo R y L/S

Page 9: El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.

Universidad de Sonora Arquitectura de Computadoras 9

ExplicaciónLas señales de control están en azul.ALUSrc controla la segunda entrada de la ALU.

0 para instrucciones tipo R. La entrada es un registro.1 para instrucciones L/S. La entrada es un offset.

MemtoReg controla la entrada de datos del banco de registros.0 para instrucciones tipo R. La entrada es la salida de

la ALU.1 para instrucciones L/S. La entrada viene de la

memoria de datos.

Page 10: El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.

Universidad de Sonora Arquitectura de Computadoras 10

Datapath completo El siguiente paso es combinar los datapaths de:

1. Ciclo de fetch.

2. Instrucciones tipo R y L/S.

3. Instrucciones de brinco.

Page 11: El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.

Universidad de Sonora Arquitectura de Computadoras 11

Datapath del ciclo de fetch

Page 12: El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.

Universidad de Sonora Arquitectura de Computadoras 12

Datapath del brinco condicional

Page 13: El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.

Universidad de Sonora Arquitectura de Computadoras 13

Datapath completoSe agrega un multiplexor a la entrada del contador

de programa controlado por PCSrc:0 – No hay brinco (PC ← PC + 4).1 – Si hay brinco (PC ← salida de la ALU).

Page 14: El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.

Universidad de Sonora Arquitectura de Computadoras 14

Datapath

Page 15: El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.

Universidad de Sonora Arquitectura de Computadoras 15

El siguiente pasoEs agregar la unidad de control.