16 Procesador single.ppt [Modo de...
Transcript of 16 Procesador single.ppt [Modo de...
![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](https://reader034.fdocuments.ec/reader034/viewer/2022050302/5f6b5473e9d9332c86390150/html5/thumbnails/1.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022050302/5f6b5473e9d9332c86390150/html5/thumbnails/2.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022050302/5f6b5473e9d9332c86390150/html5/thumbnails/3.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022050302/5f6b5473e9d9332c86390150/html5/thumbnails/4.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022050302/5f6b5473e9d9332c86390150/html5/thumbnails/5.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022050302/5f6b5473e9d9332c86390150/html5/thumbnails/6.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022050302/5f6b5473e9d9332c86390150/html5/thumbnails/7.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022050302/5f6b5473e9d9332c86390150/html5/thumbnails/8.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022050302/5f6b5473e9d9332c86390150/html5/thumbnails/9.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022050302/5f6b5473e9d9332c86390150/html5/thumbnails/10.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022050302/5f6b5473e9d9332c86390150/html5/thumbnails/11.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022050302/5f6b5473e9d9332c86390150/html5/thumbnails/12.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022050302/5f6b5473e9d9332c86390150/html5/thumbnails/13.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022050302/5f6b5473e9d9332c86390150/html5/thumbnails/14.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022050302/5f6b5473e9d9332c86390150/html5/thumbnails/15.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022050302/5f6b5473e9d9332c86390150/html5/thumbnails/16.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022050302/5f6b5473e9d9332c86390150/html5/thumbnails/17.jpg)
Universidad de Sonora Arquitectura de Computadoras 17
El siguiente paso� Es agregar la unidad de control.