16 procesador single.ppt [modo de...

17
El procesador Creando un solo datapath

Upload: others

Post on 24-Jul-2020

21 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 16 Procesador single.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/16-Procesador-single.pdf · El procesador Creando un solo datapath. Universidad de Sonora Arquitectura

El procesadorCreando un solo datapath

Page 2: 16 Procesador single.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/16-Procesador-single.pdf · El procesador Creando un solo datapath. Universidad de Sonora Arquitectura

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: 16 Procesador single.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/16-Procesador-single.pdf · El procesador Creando un solo datapath. Universidad de Sonora Arquitectura

Universidad de Sonora Arquitectura de Computadoras 3

Introducción� Versió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: 16 Procesador single.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/16-Procesador-single.pdf · El procesador Creando un solo datapath. Universidad de Sonora Arquitectura

Datapath instrucciones “R”

Universidad de Sonora Arquitectura de Computadoras 4

Page 5: 16 Procesador single.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/16-Procesador-single.pdf · El procesador Creando un solo datapath. Universidad de Sonora Arquitectura

Datapath instrucciones L/S

Universidad de Sonora Arquitectura de Computadoras 5

Page 6: 16 Procesador single.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/16-Procesador-single.pdf · El procesador Creando un solo datapath. Universidad de Sonora Arquitectura

Universidad de Sonora Arquitectura de Computadoras 6

Uniendo datapaths� Los datapaths de las instrucciones aritméticas y

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

� Las diferencias importantes son:

Page 7: 16 Procesador single.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/16-Procesador-single.pdf · El procesador Creando un solo datapath. Universidad de Sonora Arquitectura

Universidad de Sonora Arquitectura de Computadoras 7

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 8: 16 Procesador single.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/16-Procesador-single.pdf · El procesador Creando un solo datapath. Universidad de Sonora Arquitectura

Universidad de Sonora Arquitectura de Computadoras 8

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 9: 16 Procesador single.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/16-Procesador-single.pdf · El procesador Creando un solo datapath. Universidad de Sonora Arquitectura

Universidad de Sonora Arquitectura de Computadoras 9

Uniendo datapaths� Para 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 10: 16 Procesador single.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/16-Procesador-single.pdf · El procesador Creando un solo datapath. Universidad de Sonora Arquitectura

Universidad de Sonora Arquitectura de Computadoras 10

Datapath para tipo R y L/S

Page 11: 16 Procesador single.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/16-Procesador-single.pdf · El procesador Creando un solo datapath. Universidad de Sonora Arquitectura

Universidad de Sonora Arquitectura de Computadoras 11

Explicación� Las 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 12: 16 Procesador single.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/16-Procesador-single.pdf · El procesador Creando un solo datapath. Universidad de Sonora Arquitectura

Universidad de Sonora Arquitectura de Computadoras 12

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 13: 16 Procesador single.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/16-Procesador-single.pdf · El procesador Creando un solo datapath. Universidad de Sonora Arquitectura

Universidad de Sonora Arquitectura de Computadoras 13

Datapath del ciclo de fetch

Page 14: 16 Procesador single.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/16-Procesador-single.pdf · El procesador Creando un solo datapath. Universidad de Sonora Arquitectura

Universidad de Sonora Arquitectura de Computadoras 14

Datapath del brinco condicional

Page 15: 16 Procesador single.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/16-Procesador-single.pdf · El procesador Creando un solo datapath. Universidad de Sonora Arquitectura

Universidad de Sonora Arquitectura de Computadoras 15

Datapath completo� Se 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 del sumador).

Page 16: 16 Procesador single.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/16-Procesador-single.pdf · El procesador Creando un solo datapath. Universidad de Sonora Arquitectura

Universidad de Sonora Arquitectura de Computadoras 16

Datapath

Page 17: 16 Procesador single.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/16-Procesador-single.pdf · El procesador Creando un solo datapath. Universidad de Sonora Arquitectura

Universidad de Sonora Arquitectura de Computadoras 17

El siguiente paso� Es agregar la unidad de control.