Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porCande Bedolla Modificado hace 9 años
1
El procesador Creando un solo datapath
2
Universidad de SonoraArquitectura de Computadoras2 Introducción 1. 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.
3
Universidad de SonoraArquitectura de Computadoras3 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.
4
Universidad de SonoraArquitectura de Computadoras4 Uniendo datapaths Los datapaths de las instrucciones aritméticas y lógicas de las instrucciones de carga/almacena son similares. Las diferencias importantes son:
5
Universidad de SonoraArquitectura de Computadoras5 Uniendo datapaths a) 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
6
Universidad de SonoraArquitectura de Computadoras6 Uniendo datapaths b) 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]
7
Universidad de SonoraArquitectura de Computadoras7 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.
8
Universidad de SonoraArquitectura de Computadoras8 Datapath para tipo R y L/S
9
Universidad de SonoraArquitectura de Computadoras9 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.
10
Universidad de SonoraArquitectura de Computadoras10 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.
11
Universidad de SonoraArquitectura de Computadoras11 Datapath del ciclo de fetch
12
Universidad de SonoraArquitectura de Computadoras12 Datapath del brinco condicional
13
Universidad de SonoraArquitectura de Computadoras13 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 de la ALU).
14
Universidad de SonoraArquitectura de Computadoras14 Datapath
15
Universidad de SonoraArquitectura de Computadoras15 El siguiente paso Es agregar la unidad de control.
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.