El Procesador

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
El Procesador por Mind Map: El Procesador

1. Ejecucion de una instrucción

1.1. Fetch (F)

1.1.1. busca en memoria la instrucción.

1.1.2. actualiza el PC

1.2. Decode (D)

1.2.1. decodifica la instrucción.

1.2.2. lee los operandos

1.3. Execution (X)

1.3.1. ejecuta la operacion del OP.

1.4. Memory Access (M)

1.4.1. accede a memoria para leer o escribir

1.5. Writeback (W)

1.5.1. vuelca el resultado a un registro

2. Tipo de instrucciones

2.1. Tipo I

2.1.1. Load

2.1.1.1. F+D+X+M+W

2.1.2. Store

2.1.2.1. F+d+X+M

2.1.3. Aritmético-Lógicas

2.1.3.1. F+D+X+W

2.1.4. Saltos condicionales/incondicionales

2.1.4.1. F+D+X

2.2. Tipo R

2.2.1. Arimético-Logicas

2.2.1.1. F+D+X+W

2.3. Tipo J

2.3.1. Saltos incondicionales

2.3.1.1. F+D+X

3. Diseño de un procesador

3.1. Módulos

3.1.1. Ruta de datos

3.1.1.1. Combinacional

3.1.1.1.1. Las salidas son funión exclusiva del valor de sus entradas

3.1.2. Unidad de Control

3.1.2.1. Secuencial o Combinacional

3.1.2.1.1. Las salidas tambien dependen del estado anterior o estado interno

3.1.2.1.2. Sincronizados por un reloj

3.2. Un procesadore es un circuito digital

3.2.1. Parte combinacional + Parte secuencial

3.2.2. La una parte opera sobre valores y la otra contiene el estado.

3.2.3. ALU vs Memoria, registros

4. Procesador secuencial

4.1. La siguiente operación comienza luego de terminar la anterior.

4.2. Según el Método de Temporización:

4.2.1. Monociclo

4.2.1.1. Instrucción completa en un único ciclo de reloj

4.2.1.2. CPI = 1

4.2.1.3. La duracióon del ciclo viene fijada por la instrucción que más tarde en ejecutarse.

4.2.2. Multiciclo

4.2.2.1. Intrucción puede completarse en más de un ciclo.

4.2.2.2. CPI > 1

4.2.2.3. La duración de ciclo es menor al monociclo.

4.2.2.4. La duración de ciclo es la duración de la etapa más larga.

5. nanoMIPS

5.1. Repertorio de Instrucciones

5.1.1. Acceso a memoria LW, SW Tipo I

5.1.2. Operaciones aritmetico-lógicas ADD, SUB, AND, OR, SLT Tipo R

5.1.3. Control de flujo BEQ Tipo I

6. Procesador Monociclo

6.1. Introducción

6.1.1. Metodología

6.1.1.1. 1. Análisis del repertorio de instrucciones a ejecutar.

6.1.1.2. 2. Establecer la metodología de temporización

6.1.1.3. 3. Seleccionar los módulos necesarios para operar sobre y almacenar los datos.

6.1.1.4. 4. Ensamblar la ruta de datos, conectando los módulos.

6.1.1.5. 5. Determinar los valores de los puntos de control para cada instrucción.

6.1.1.6. 6. Diseñar la unidad de control.

6.1.1.7. 7. Optimizar el diseñp obtenido: segmentación.

6.1.2. Importancia

6.1.2.1. El rendimiento del computador está determinado por el tiempo que la CPU tarda en ejecutar programas.

6.1.2.2. El diseño del procesador determina

6.1.2.2.1. El tiempo de ciclo

6.1.2.2.2. Numero de ciclos de reloj promedio pro instrucción.

6.2. Diseño de la ruta de datos (monociclo)

6.2.1. Ejecución de una instrucción

6.2.1.1. Todos los registros se cargan simultaneamente.

6.2.1.2. Todos los valores se propagan a traves de la redes combinacionales.

6.2.1.3. Se repite este proceso

6.2.1.4. Todos los elementos de almacenamiento están sincronizados por un reloj.

6.2.2. Componentes

6.2.2.1. Memoria de Instrucción.

6.2.2.2. Memoria de Datos.

6.2.2.3. 32 registros de datos ( banco de registros)

6.2.2.3.1. 2 salidas de datos de 32 bits

6.2.2.3.2. 1 entrada de datos de 32 bits

6.2.2.3.3. 3 entradas de 5 bits

6.2.2.3.4. 1 entrada de control

6.2.2.3.5. 1 puerto de reloj

6.2.2.4. Contador de programa PC

6.2.2.5. 2 Sumadores

6.2.2.6. ALU

6.2.2.6.1. ALUctr

6.2.2.7. Extensor de signo

6.2.2.8. Desplazador a la izquierda.

6.2.3. Ensamblaje de la ruta de datos

6.2.3.1. Busqueda de la ruta de datos.

6.2.3.1.1. Leer la instruccion ubicada en la dirección de la memoria de instrucciones.

6.2.3.2. La ejecución secuencial

6.2.3.2.1. Actualizar el PC

6.2.3.3. Las instrucciones aritmetico-lógicas

6.2.3.3.1. Leer los 2 registros rs y rt

6.2.3.3.2. Operar sobre ellos dependiendo de funct

6.2.3.3.3. Almacenar el resultador en rd

6.2.3.4. Las instrucciones lw

6.2.3.4.1. Calcular la direccion efectiva de memoria.

6.2.3.4.2. Leer el dato ubicado en la memoria de datos.

6.2.3.4.3. Almacenar el dato leido de memoria en el registro rt.

6.2.3.5. Las instrucciones sw

6.2.3.5.1. Leer el datos almacenado en el registro rt.

6.2.3.5.2. Calcular la direccion efectiva de memoria.

6.2.3.5.3. Almacenar el dato leido en la memoria de datos.

6.2.3.6. Las instrucciones BEQ

6.2.3.6.1. Leer los 2 registros rs y rt

6.2.3.6.2. Comparar la igualdad mediante una resta

6.2.4. Características

6.2.4.1. La ejecución monociclo ha obligado a:

6.2.4.1.1. No usar de una vez por intrucción cada recurso

6.2.4.1.2. Memoria de instrucciones y datos sepradas.

6.2.4.1.3. Añadir multiplexores cuando un valor pueda provenir de varias fuentes.

6.2.5. Determinación de los valores de los puntos de control

6.2.5.1. El Controlar hace:

6.2.5.1.1. Seleccionar las operaciones a realizar por los módulos multifunción.

6.2.5.1.2. Controlar el flujo de datos.

6.2.6. Control global vs control local

6.2.6.1. Control principal

6.2.6.1.1. Utilizado ara decodificar el campo de código de operación OP y configurar globalmente la ruta de datos.

6.2.6.2. Control Local

6.2.6.2.1. A la ALU que decodifique el campo de operación aritmetica FUNCT y seleccione que operación debe realizar la ALU.

6.2.6.3. Decodificación multinivel

6.2.6.3.1. 1. La U.C Global decodifica la instrucción leyendo su OPCODE.

6.2.6.3.2. 2. Si se trata de una instrucción tipo R, la U.C local de la ALU realiza una segunda decodificación leyendo FUNCT.

6.2.6.4. ALUop

6.2.6.4.1. 00 en opreaciones con acceso a memoria

6.2.6.4.2. 01 en operaciones de salto

6.2.6.4.3. 11 en operaciones arítmeticas

7. Procesador Multiciclo

7.1. Los diseños monociclos no son eficientes,.

7.2. Diseño de la ruta de datos de un procesador multiciclo

7.2.1. Se utiliza una división del trabajo en etapas. Tipicas en RISC.

7.2.2. Cada etapa está relacionada con el hardware de la ruta de datos que se utiliza.

7.2.3. Cada etapa debe completarse en 1 ciclo de reloj.

7.2.4. Se reduce el periodo del procesador

7.2.5. CPI > 1

7.2.6. Cada instrucción tarda los ciclos que sean necesarios

7.3. Ruta de datos del nanoMIPS multiciclo

7.3.1. F-> Registro de instrucción IR

7.3.2. D-> Lectura de operandos, A y B

7.3.3. X-> Operandos fuente ALU

7.3.4. M-> De memoria a MDR

7.3.5. W-> De ALUOut a registro

7.3.6. No son necesarios sumadores

7.3.7. No son necesarias dos memorias separadas.

7.3.8. Un mismo recurso puede usarse en diferentes etapas de la ejecución de una instrucción

7.4. Puntos de Control del procesadore multiciclo

7.4.1. Los puntos de control no se pueden dar como una tabla de verdad.

7.4.2. Las señales se van modificando en los diferentes ciclos de reloj.

7.4.2.1. Señales a generar:

7.4.2.1.1. lorD

7.4.2.1.2. MemRead

7.4.2.1.3. MemWrite

7.4.2.1.4. MemToReg

7.4.2.1.5. RegDst

7.4.2.1.6. RegWrite

7.4.2.1.7. ALUSrcA

7.4.2.1.8. ALUSrcB

7.4.2.1.9. ALUOp

7.4.2.1.10. PCSrc

7.4.2.1.11. PCWrite

7.4.2.1.12. PCWriteCond

7.4.2.1.13. IRWrite

7.5. Unidades de control del nanoMIPS multiciclo.

7.5.1. Unidad de control global

7.5.1.1. Circuito Secuencial

7.5.1.2. Entrada <- Opcode

7.5.1.3. Maquina de Estado o microprograma

7.5.1.3.1. Maquina de estado

7.5.1.3.2. Microprogramada

7.5.2. Unidad de control local de la ALU

8. Tratamiento de excepciones(procesador secuecial)

8.1. Consiste en transferir el control a otro programa qué:

8.1.1. Salve el esatdo anterior.

8.1.2. Corrija la causa de la excepción.

8.1.3. Restaure el estado del procesador.

8.1.4. Repita la ejecución de la instrucción causante de la excepción.

8.2. A este programa se le denomina RUTINA DE TRATAMIENTO DE EXCEPCIÓN o RTE

9. Excepción vs Interrupción

9.1. Excepción

9.1.1. Evento no planificado que interrumpe la ejecución de un programa.

9.2. Interrupción

9.2.1. Una excepción que proviene de fuera del microprocesador.

10. Tipos de Excepciones

10.1. Interrupciones de E/s

10.2. Llamadas al SO

10.3. Puntos de ruptura

10.4. Códigos de operación invá{idos

10.5. Overflow o desbordamineto en la ALU

10.6. Fallos de página

10.7. Accesos a memoria no alineados

10.8. Violación de zonas protegidas de memoria

10.9. Fallos de hardware

10.10. Fallos de alimentación

11. Componentes hardware necesarios

11.1. Registro Exception

11.1.1. Almacena el código del tipo de exceción para que la RTE pueda leerlo

11.2. Contador de programa de Excepción EPC

11.2.1. Almacena PC - 4

11.3. Restador para realizar PC - 4

12. Señales de control

12.1. ALU_overflow e Ilegal_opcode

12.2. Exception

12.2.1. Para escribir el código de las excepciones en el registro Exception

12.3. ExceptionWrite y EPCWrite

12.3.1. Para controlar la escritura en los 2 nuevos registros.

12.4. PCWrite

12.4.1. Para controlar la carga del PC

13. Tratamiento de excepciones en la Unidad de control

13.1. nanoMips Monociclo

13.1.1. Solo se añaden nuevas señales al circuito combinacional

13.2. nanoMips Multiciclo

13.2.1. Modificar la maquina de estados

13.2.2. Añadir nuevos microprogramas

13.2.2.1. Nuevas bifurcaciones hacia los estados en las tablas de transferencia

13.2.2.2. Nuevas microinstrucciones que activen las nuevas señales de control