12 Procesador short.ppt [Modo de compatibilidad]

Post on 16-Jul-2022

9 views 0 download

Transcript of 12 Procesador short.ppt [Modo de compatibilidad]

El procesadorDatapath y control

Universidad de Sonora Arquitectura de Computadoras 2

Introducción� En esta parte del curso contiene:

� Las principales técnicas usadas en el diseño de un procesador.

� La construcción del datapath y del control.

� Estudiaremos la implementación de una versión reducida de MIPS.

Universidad de Sonora Arquitectura de Computadoras 3

Definiciones� El procesador o CPU (unidad central de

procesamiento) sigue las instrucciones del programa al pie de la letra. Suma y compara números, ordena activarse a los dispositivos de I/O, etc.

� El procesador consta de dos componentes:

� El datapath. Ejecuta operaciones aritméticas y lógicas.

� El control. Ordena al datapath, memoria y dispositivos de I/O lo que hay que hacer de acuerdo al programa.

Universidad de Sonora Arquitectura de Computadoras 4

MIPS simplificado� Las instrucciones se hacen en un ciclo de reloj.

� Comienzan a ejecutarse en un flanco de reloj y terminan en el siguiente flanco.

Universidad de Sonora Arquitectura de Computadoras 5

MIPS simplificado� Tres tipos de instrucciones:

1.Instrucciones de referencia a memoria: load word (lw) y store word (sw).

2.Instrucciones aritmético-lógicas: suma (add), resta (sub), and, or y set on less than (slt).

3.Instrucciones de brincos: brinca si igual (beq) y brinco incondicional (j).

Implementación� La mayoría de las instrucciones utilizan registros:

� add $t0, $t1, $t2

� mult $s1, $s2

� lw $t0, 8($t1)

� beq $t1, $t2, ciclo

� En MIPS, cada registro puede guardar un número de 4 bytes (32 bits).

� Los registros se almacenan en un componente llamado banco de registros (register file en inglés).

Universidad de Sonora Arquitectura de Computadoras 6

Universidad de Sonora Arquitectura de Computadoras 7

Banco de registros� El banco de registros permite leer o escribir un

registro.

� Para leer un registro:

� Entrada: número de registro.

� Salida: dato contenido en el registro.

� Para escribir un registro:

� Entrada: número de registro, dato y una señal de reloj para controlar la escritura.

Universidad de Sonora Arquitectura de Computadoras 8

Banco de registros� Dos puertos de lectura y uno de escritura.

Universidad de Sonora Arquitectura de Computadoras 9

Implementación� La implementación de las distintas instrucciones

tiene varias acciones en común.

� Los primeros dos pasos son iguales:

1. Enviar el PC (contador de programa) a la memoria y sacar la siguiente instrucción (ciclo de fetch).

2. Leer uno o dos registros.

� Lo siguiente depende de la clase de instrucción, pero es parecido sin importar el opcode exacto.

Universidad de Sonora Arquitectura de Computadoras 10

Implementación� Todas las instrucciones, excepto el brinco

incondicional (instrucción j), usan la ALU (unidad aritmético-lógica).

� Las instrucciones de referencia a memoria para calcular direcciones.

� Las instrucciones aritmético-lógicas para su operación.

� Los brincos para evaluar la condición.

Universidad de Sonora Arquitectura de Computadoras 11

Implementación� Después de usar la ALU:

� Las instrucciones de referencia a memoria accesan la memoria para cargar o guardar un dato.

� Las instrucciones aritmético-lógicas guardan el dato de la ALU en un registro.

� Los brincos, dependiendo de la condición, cambian el contador de programa (PC) o lo incrementan en 4.

Universidad de Sonora Arquitectura de Computadoras 12

Datapath� Realiza operaciones aritméticas y lógicas.

� Elementos del datapath:

� ALU.

� Memoria de instrucciones.

� Memoria de datos.

� Banco de registros.

� Sumadores.

Universidad de Sonora Arquitectura de Computadoras 13

Primeros elementos del datapath1. Una memoria para guardar y leer instrucciones.

2. Un registro, llamado PC (contador de programa), para guardar la dirección de la instrucción actual.

3. Un sumador para incrementar el PC.

Universidad de Sonora Arquitectura de Computadoras 14

Ejecutando instrucciones� La ejecución de una instrucción comienza con dos

pasos:

1. Obtener la instrucción de la memoria.

2. Incrementar el PC para preparar la ejecución de la instrucción siguiente.

� Los tres elementos anteriores se combinan para formar un datapath que obtiene una instrucción e incrementa el PC.

Universidad de Sonora Arquitectura de Computadoras 15

Primera parte del datapath� Ciclo de fetch. Lee una instrucción e incrementa el

PC.

Universidad de Sonora Arquitectura de Computadoras 16

Segunda parte del datapath� El siguiente paso es ver como se implementan, por

separado:

1. Instrucciones aritméticas y lógicas.

2. Instrucciones de carga y guardar (load/store).

3. Brincos.