Get Started. It's Free
or sign up with your email address
Procesadores by Mind Map: Procesadores

1. Diseño de un procesador

1.1. Módulos de un procesador

1.1.1. Ruta de Control

1.1.2. Unidad de Control

1.2. Formados por

1.2.1. Parte Combinacional

1.2.1.1. Opera sobre valores

1.2.2. Parte Secuencial

1.2.2.1. Contiene el estado

1.3. Métodos de Temporización

1.3.1. Procesador Monociclo

1.3.1.1. Cada instrucción se completa en un único ciclo de reloj.

1.3.1.2. CPI = 1

1.3.1.3. Duracion del clcilo de reloj es igual a la instruccion mas larga en ejecutarse.

1.3.2. Procesador Multiciclo

1.3.2.1. Cada instrucción puede tardar más de un ciclo en ejecutarse.

1.3.2.2. CPI > 1

1.3.2.3. Duración de un ciclo es igual a la etapa más larga.

2. Funcionamiento y diseño de la ruta de datos y la unidad de control.

2.1. Análisis del repertotio de instrucciones a ejecutar.

2.2. Establecer la metodología de termporización.

2.3. Seleccionar módulos.

2.4. Ensamblar la ruta de datos.

2.5. Establecer valores para los puntos de control.

2.6. Diseñar la unidad de control.

2.7. Segmentación.

3. Monociclo

3.1. Diseño de la ruta de datos

3.1.1. Ejecuciión típica

3.1.2. Todos los elementos de almacenamiento están sincronizados al mismo flanco de reloj.

3.2. Componentes de la ruta de datos

3.2.1. Memoria de instrucciones

3.2.2. Memoria de Datos

3.2.3. 32 registros de datos

3.2.4. Contador de programa

3.2.5. ALU

3.2.6. Extensor de signo

3.2.7. Desplazador a la izquierda

3.3. Ensamblaje de la ruta de datos

3.3.1. Búsqueda de instrucciones

3.3.1.1. Lee la instruccion en la memoria de instrucciones indicada por el contador de programa.

3.3.2. Ejecución Secuencial

3.3.2.1. Actualizar el contador de programa

3.4. Valores de los puntos de control

3.4.1. Intrucción de carga

3.4.2. Instrucción de almacenaje

3.4.3. Instrucción aritmético-lógicas

3.4.4. Instrucción de salto condicional

3.5. Control global y Control local

3.5.1. Control Principal para decodificar el campo de código de operación (OP) y configurar globalmente las rutas de datos.

3.5.2. Control local a la ALU que decodifique el campo de operación aritmética (FUNCT) y selecciona la operación a realizar la ALU

3.6. Unidad de control en el nanoMIPS monociclo

3.6.1. Sólo hay que añadir las nuevas señales al circuito combinacional

4. Tratamiento de Excepciones

4.1. Consiste en transferir el control a otro programa.

4.1.1. Salve el estado

4.1.2. Corrija la causa de la excepción

4.1.3. Restaure el estado

4.1.4. Repita la ejecución de la instrucciones causante de la excepción

4.1.5. RTE ( Rutina de Tratamiento de Excepción

4.2. Excepción Vs Interrupción!

4.2.1. Excepción: evento no planificado que interrumpe la ejecución de un programa!

4.2.2. Interrupción: una excepción que proviene de fuera del microprocesador!

4.3. Tipos

4.3.1. Interrupciones de E/S

4.3.2. Llamadas al Sistema Operativo

4.3.3. Puntos de ruptura!

4.3.4. Códigos de operación inválidos!

4.3.5. Overflow o desbordamiento en la ALU!

4.3.6. Fallos de página!

4.3.7. Accesos a memoria no alineados!

4.3.8. Violación de zonas protegidas de memoria

4.3.9. Fallos de hardware!

4.3.10. Fallos de alimentación!

4.4. Componentes de hardware necesarios

4.4.1. Registro Exception

4.4.1.1. Almacena código de tipo excepción

4.4.2. EPC

4.4.2.1. Almacena PC - 4

4.4.3. Restador

4.4.3.1. Para realizar el EPC

4.5. Señales de Control

4.5.1. ALU_overflow e Ilegal_opcode

4.5.2. Exception

4.5.2.1. Escribir código de las excepciones

4.5.3. ExceptionWrite y EPCWrite:

4.5.3.1. Controlar la escritura de los dos nuevos registros

4.5.4. PCWrite

4.5.4.1. Controlar la carga del PC

5. Ejecución de los tipos de Instrucciones

5.1. Tipo I

5.1.1. Load/Store

5.1.1.1. F+D+X+M+W

5.1.2. Aritmético-Lógicas

5.1.2.1. F+D+X+W

5.1.3. Saltos Incondicionales

5.1.3.1. F+D+X

5.1.4. Saltos Condicionales

5.1.4.1. F+D+X

5.2. Tipo R

5.2.1. Aritmético-Logico

5.2.1.1. F+D+X+W

5.3. Tipo J

5.3.1. Saltos Incondicionales

5.3.1.1. F+D+X

6. Ejecucion de una instrucción

6.1. Fetch (F): busqueda en memoria de la instrucción apuntada por el PC.

6.2. Decode (D): decodificar la instrucción y separación de los campos.

6.3. Exectution (X): ejecución de la opearación indicada por el opcode.

6.4. Memory Access (M): accede a memoria para leer o escribir.

6.5. Writeback (W): vuelca un resultado a un registro.

7. Multiciclo

7.1. Diseño de la ruta de Datos

7.1.1. Se utiliza una división del trabajo en etapas típica de los procesadores con repertorio RISC.

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

7.1.3. Se reduce el periodo del procesador.

7.1.4. CPI > 1

7.1.5. Cada instruccion tarda en ejecutarse tantos ciclos como sea necesario.

7.2. Ruta de datos del nanoMIPS multiciclo

7.2.1. Etapa F -> Registro de instruccion

7.2.2. Etapa D -> Lectura de operandos

7.2.3. Etapa X -> Operandos fuente ALU

7.2.4. Etapa M -> De memoria a MDR

7.2.5. Etapa w -> DE ALUOut a registro

7.2.6. NO ES NECESARIO SUMADORES EXTRA

7.2.7. NO ES NECESARIO MEMORIAS SEPARADAS

7.2.8. MISMO RECURSO PARA DIFERENTES ETAPAS DE EJECUCIÓN DE INSTRUCCIONES.

7.3. Unidades de control del nanoMIPS multiciclo

7.3.1. Control Global

7.3.1.1. Circuito secuencial

7.3.1.2. Entrada <- opcode

7.3.1.3. Diseñado mediante maquina de estados o microprograma

7.3.1.3.1. Unidades de control como máquina de estados!

7.3.1.3.2. Unidades de control microprogramada!

7.3.2. Control Local

7.3.2.1. ALU

7.3.3. Excepciones

7.3.3.1. Modificar la máquina de estados

7.3.3.2. Añadir nuevos microprogramas a la unidad de control microprogramada!