Capítulo 4: El procesador JOSÉ LUIS LEÓN CARRIÓN FERNANDO TACURI

Get Started. It's Free
or sign up with your email address
Capítulo 4: El procesador JOSÉ LUIS LEÓN CARRIÓN FERNANDO TACURI by Mind Map: Capítulo 4: El procesador JOSÉ LUIS LEÓN CARRIÓN FERNANDO TACURI

1. Diseño de Procesadores Secuenciales

1.1. Diseño de Procesador

1.1.1. Dos Módulos

1.1.1.1. Ruta de Datos

1.1.1.2. Unidad de control

1.1.2. Procesador es circuito

1.1.2.1. Parte combinacional

1.1.2.1.1. Función exclusiva del valor de entradas

1.1.2.2. Parte secuencial

1.1.2.2.1. Valores de Salida

1.1.2.2.2. Dependen estado anterior

1.1.2.2.3. Gobernaods po señal de reloj

1.2. Procesador Secuencial

1.2.1. Termina de ejecutar una instrucción para ejecutar la siguiente

1.2.2. Según tiempo Temporización

1.2.2.1. Monociclo

1.2.2.1.1. Cada instrucción se completa en un ciclo de reloj

1.2.2.1.2. CPI = 1

1.2.2.2. Multiciclo

1.2.2.2.1. Cada instrucción puede tardar más de un ciclo

1.2.2.2.2. CPI > 1

1.2.2.2.3. Duración de ciclo reloj menor que monociclo

2. Importancia del Diseño

2.1. Funcionamiento de Procesadores

2.1.1. 1. Analizar repertorio de instrucciones

2.1.1.1. Ruta de Datos debe tener tantos elementos de almacenamiento como registros.

2.1.1.2. Ruta de Datos debe incluir elementos operativos

2.1.1.3. Significado de cada instruccion viene dado por conjunto de transferencias.

2.1.2. 2. Establecer metodología de temporización

2.1.2.1. Monociclo (CPI=1)

2.1.2.2. Multiciclo (CPI>1)

2.1.3. 3. Seleccionar móduclos necesarios

2.1.4. 4. Ensamblar la ruta de datos.

2.1.5. 5. Determinar valores de los puntos de control

2.1.6. 6. Diseñar Unidad de control

2.1.6.1. Imposible optimizar.

2.1.7. 7. Segmentación

3. Procesador Multicilo

3.1. Procesador multiciclo

3.1.1. No son eficientes

3.1.1.1. Adaptación del ciclo de reloj.

3.1.1.2. Recursos desaprovechados.

3.2. Diseño de Rauta de Datos

3.2.1. División del trabajo en etapas.

3.2.2. Etapas relacionadas con hardware.

3.2.3. Etapas completas en 1 ciclo.

3.2.4. Reduce período del procesador.

3.3. Ruta de Datos nanoMIPS

3.3.1. Etapa F: Instrucción IR

3.3.2. Etapa D: LEctura operandos A y B

3.3.3. Etapa X: Operandos fuente ALU en A y B

3.3.4. Etapa M: de memoria a MDR.

3.3.5. Etapa W: De ALUOut a registro.

3.3.6. No son necesarios operadores extra ni memorias separadas.

3.3.7. Mismo recurso usado en distintas etapas.

3.4. Puntos de control del procesador

3.4.1. No se pueden dar como tabla de verdad.

3.4.2. Señales se modifican en cada ciclo.

3.4.3. Distintas señales generadas.

3.5. Unidades de control del nanoMIPS

3.5.1. Gobal

3.5.1.1. Circuito Secuencial

3.5.1.2. Entrada: opcode

3.5.1.3. Máquina de estados o microprograma.

3.5.2. Unidad de control local.

3.6. Unidades de Control como máquina de datos

3.6.1. Llamada cableada.

3.6.2. 8 estados

3.6.3. Ciclos F y D en todas las instrucciones.

3.6.4. Si se modifica una instrucción, rediseñar toda la unidad de control.

3.7. Unidades de Control Microprograma

3.7.1. Memoria ROM: almacena vectores de señales de valor de control.

3.7.2. Ejecutar instrucción equivalente a leer palabras.

3.7.3. Instrucción es un microprograma.

3.7.4. Ventajas

3.7.4.1. Flexible

3.7.4.2. Ocupa menos área

3.7.5. Desventajas: más lenta.

3.7.6. Codificación horizontal.

3.7.6.1. Cada microinstrucción incorpora valores

3.7.6.2. Toman señales de control

3.7.7. Codificación vertical

3.7.7.1. Evitar que sean largas

3.7.7.2. Necesita un paso previo de decodificación

3.7.7.3. 6 campos: cada uno identifica un grupo de señales.

3.7.7.4. A los campos se añade una microinstrucción e información necesaria.

3.7.7.5. NanoMIPS emplea secuenciamento explícito.

3.7.8. No usada hoy en día.

3.7.9. Existen nuevas herramientas.

4. Mecanismo de ejecución

4.1. Ejecución de Intrucciones

4.1.1. Decode (D)

4.1.2. Fetch (F)

4.1.3. Execution (X)

4.1.4. emory Access (M)

4.1.5. Writeback (W)

4.2. Intrucciones según Tipo

4.2.1. Tipo I

4.2.1.1. Load/Store

4.2.1.1.1. F

4.2.1.1.2. D

4.2.1.1.3. X

4.2.1.1.4. M

4.2.1.1.5. W

4.2.1.2. Aritmético/Lógicas

4.2.1.2.1. F

4.2.1.2.2. D

4.2.1.2.3. X

4.2.1.2.4. W

4.2.1.3. Saltos Condicionales

4.2.1.3.1. F

4.2.1.3.2. D

4.2.1.3.3. X

4.2.1.4. Saltos Incondicionales

4.2.1.4.1. F

4.2.1.4.2. D

4.2.1.4.3. X

4.2.2. Tipo R

4.2.2.1. Aritmético Lógicas

4.2.2.1.1. F

4.2.2.1.2. D

4.2.2.1.3. X

4.2.2.1.4. W

4.2.3. Tipo J

4.2.3.1. Saltos Incondicionales

4.2.3.1.1. F

4.2.3.1.2. D

4.2.3.1.3. X

5. Procesador Monociclo

5.1. Ruta de Datos de nanoMIPS monociclo

5.1.1. Contador de programa

5.1.2. Memorias separadas de instrucciones y de datos

5.1.3. Banco de 32 registros

5.1.4. Dos Sumadores

5.1.5. ALU

5.1.6. Extensor de Signo

5.1.7. Desplazador a la isquierda

5.2. Unidades de Control de nanoMIPS monociclo

5.2.1. Unidad de Control Global

5.2.2. Unidad de Control Local para ALU

5.2.3. Decodificación multinivle

5.2.3.1. UC decodifica la instrucción leyendo opcode

5.2.3.2. Si es instrucción tipo R, control local realiza segunda validación

5.2.4. Entrada: Opcode

5.2.4.1. ALUOp, Funct

5.2.5. Salidas: Genera valores adecuados para las señales de control

5.2.5.1. Señal ALUControl

5.2.6. Señales de control activas hasta que finaliza el ciclo

5.2.7. Se diseña mediante decodificadores y puertas OR

6. Excepciones

6.1. Tratamiento de excepciones

6.1.1. Tratamiento consiste en transferir el control a otro programa para que:

6.1.1.1. Salve el estado del procesador.

6.1.1.2. Corrija la causa.

6.1.1.3. Restaure el estado del procesador.

6.1.1.4. Repita la ejecución de la instrucción,

6.1.2. Denominado Rutina de Tratamoento de Excepciones o RTE

6.2. Excepción vs Interrupción

6.2.1. Excepción: evento que interrumpe la ejecución de un programa.

6.2.2. Interrupción: excepción que proviene de afuera del microprocesador.

6.3. Tipos

6.3.1. Interrupciones de E/S

6.3.2. Llamadas al Sistema Operativo.

6.3.3. Puntos de Ruptura

6.3.4. Códigos de operación inválidos.

6.3.5. Overflow.

6.3.6. Fallos de página.

6.3.7. Accesos no alineados.

6.3.8. Volación de zonas protegidas.

6.3.9. Fallos de hardware.

6.3.10. Fallos de alimentación.

6.4. Componentes necesarios

6.4.1. Registro Excepcion

6.4.2. Contador de programa EPC.

6.4.3. Restador

6.4.4. Cargar en el PC donde comienza RTE.

6.5. Señales de control

6.5.1. AL_Overflow.

6.5.2. Exception

6.5.3. ExceptionWrite y EPCWrite

6.6. Unidad Control en el nanoMIPS

6.6.1. Añadir nuevas señales.

6.6.2. Modificar la máquina de estados

6.6.3. Añadir nuevos microprogramas.