El Procesador

Get Started. It's Free
or sign up with your email address
Rocket clouds
El Procesador by Mind Map: El Procesador

1. 1. Ejecución de una Instrucción

1.1. Fetch(F)

1.1.1. Buscar en memoria la instrucción.

1.2. Decode(D)

1.2.1. Decodificación de la instrucción.

1.3. Executión(X)

1.3.1. Ejecución de la operación.

1.4. Memori Access(M)

1.4.1. Accede a memoria (leer/escribir)

1.5. Writeback(W)

1.5.1. Vuelca el resultado a un registro.

2. 2. Instrucciones del tipo I

2.1. Load

2.1.1. Ejecución de instrucciones

2.1.1.1. F

2.1.1.2. D

2.1.1.3. X

2.1.1.4. M

2.1.1.5. W

2.2. Store

2.2.1. Ejecución de instrucciones

2.2.1.1. F

2.2.1.2. D

2.2.1.3. X

2.2.1.4. M

2.3. Aritmético Lógicas

2.3.1. Ejecución de instrucciones

2.3.1.1. F

2.3.1.2. D

2.3.1.3. X

2.3.1.4. W

2.4. Saltos condicionales / incondicionales

2.4.1. Ejecución de instrucciones

2.4.1.1. F

2.4.1.2. D

2.4.1.3. X

3. 3. Instrucciones de tipo R

3.1. Aritmético-Lógicas

3.1.1. F

3.1.2. D

3.1.3. X

3.1.4. W

4. 4. Instrucciones de tipo J

4.1. Saltos incondicionales con direccionamiento

4.1.1. F

4.1.2. D

4.1.3. X

5. 5. Diseño de un Procesador

5.1. Ruta de datos

5.1.1. Combinacional

5.2. Unidad de control

5.2.1. Secuencial o combinacional

5.3. Parte Combinacional

5.3.1. Sistema combinacional

5.3.1.1. Salida = Valores de entradas

5.4. Parte Secuencial

5.4.1. Sistema Secuencial

5.4.1.1. Salida = estado anterior o estado interno

6. 6. Procesador Secuencial

6.1. Monociclo

6.1.1. Instrucción completa en un ciclo reloj

6.1.2. CPI= 1

6.1.3. Duración del ciclo = Instrucción más tarda

6.2. Multiciclo

6.2.1. Instrucción puede tardar mas de un ciclo reloj

6.2.2. CPI>1

6.2.3. Duración ciclo = Etapa mas larga

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

7.1. Análisis del repertorio de instrucciones

7.2. Establecer las metodologías de temporización

7.3. Seleccionar los módulos necesarios

7.4. Ensamblar la ruta de datos

7.5. Determinar los puntos de control

7.6. Diseño de unidad de control

7.7. Optimizar el diseño obtenido

8. 8. Monociclo

8.1. Repertorio de Instrucciones del nanoMIPS (CASO ESTUDIO)

8.1.1. Acceso de memoria

8.1.1.1. LW, SW

8.1.2. Operaciones Aritméticas - Lógicas

8.1.2.1. ADD, SUB, AND, OR,STL

8.1.3. Control de flujo

8.1.3.1. BEQ(I)

8.2. Componentes de la ruta de datos

8.2.1. Memoria de instrucciones

8.2.2. Memoria de datos

8.2.3. Contador del programa

8.2.4. 32 registros de datos

8.2.5. Dos sumadores

8.2.5.1. Sumar 4 al PC

8.2.5.2. Sumar al PC el valor inmediato e salto

8.2.6. ALU

8.2.6.1. suma, resta, and, or y comparación (slt)

8.2.7. Extensor del signo

8.2.7.1. Adapta el operando inmediato al tamaño de la palabra

8.2.8. Desplazamiento a la izquierda

8.2.8.1. Implementar la multiplicación por 4

8.3. Instrucciones

8.3.1. Carga (lw)

8.3.1.1. rt ←Memoria( rs + SignExt( inmed ) ), PC ←PC + 4

8.3.2. Almacenaje (sw)

8.3.3. Aritmético Lógicas

8.3.3.1. rd ←rs and rt, PC ←PC + 4

8.3.4. Salto Condicional

8.3.4.1. si(rs=rt)entonces(PC←PC+4+4·SignExp(inmed))enotrocasoPC←PC+4

8.4. Puntos de Control

8.4.1. RegDst

8.4.2. RegWrite

8.4.3. ALUSrc

8.4.4. ALUCtr

8.4.5. MemWrite

8.4.6. MemRead

8.4.7. MemtoReg

8.4.8. PCSrc

8.5. Memoria( rs + SignExt( inmed ) ) ←rt, PC ←PC + 4

8.6. Controlador

8.6.1. Control Global

8.6.1.1. Decodifica el Opcode

8.6.1.2. Configura globalmente la ruta de datos

8.6.2. Control Local

8.6.2.1. Decodifica el funct

8.6.2.2. Selecciona la operación a realizar por la ALU

9. 9. Multiciclo

9.1. Diseño de la ruta de datos

9.1.1. 1. División del trabajo en etapas

9.1.2. 2. Cada etapa está relacionada con el hardware de la ruta de datos.

9.1.3. 3. Cada etapa debe completarse en 1 ciclo de reloj.

9.1.4. 4. Reduce el periodo del procesador

9.1.5. CPI>1

9.2. Ruta de datos del nanoMips multiciclo

9.2.1. Etapas F,D,X,M,W

9.2.2. Sin sumadores extras

9.2.3. Memorias no están separadas

9.3. Puntos de control

9.3.1. No se pueden dar como una tabla de verdad.

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

9.3.3. Señales:

9.3.3.1. IorD, MemRead, MemWrite, MemToReg, RegDst, RegWrite, ALUSrcA, ALUSrcB, ALUOp, PCSrc, PCWrite, PCWriteCond e IRWrite!

9.4. Unidad de Control del NanoMips monociclo

9.4.1. Unidad de control global

9.4.1.1. Máquina de estados

9.4.1.1.1. 8 estados en máximo 5 ciclos

9.4.1.1.2. Ciclos F,D se ejecutan para todas las instrucciones por igual.

9.4.1.1.3. Cada tipo de instrucción evoluciona por unos estados diferentes.

9.4.1.2. Microprograma

9.4.1.2.1. Almacenada en la Memoria ROM

9.4.1.2.2. Instrucción equivalente a leer palabras de esta memoria en un orden determinado,

9.4.1.2.3. Palabra es una microinstrucción

9.4.1.2.4. conjunto de microinstrucciones = microprograma

9.4.1.2.5. VENTAJAS

9.4.1.2.6. DESVENTAJAS

9.4.1.2.7. Codificación horizontal

9.4.1.2.8. Codificación vertical

9.4.2. Unidad de control local de la ALU

9.5. Tratamiento de excepciones

9.5.1. Transferir el control a otro programa RTE(Rutina de Tratamiento de Excepciones)

9.5.1.1. 1. Salve el estado del procesador

9.5.1.2. 2. Corrija la causa de la excepción

9.5.1.3. 3. Recupere el estado del procesado

9.5.1.4. 4. Repita la ejecución en la que se encontraba

9.5.2. Tipos de excepciones

9.5.2.1. Interrupción E/S

9.5.2.2. Llamada al sistema operativo

9.5.2.3. Punto de ruptura

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

9.5.2.5. Overflow

9.5.3. Componentes Hardware necesarios

9.5.3.1. 1. Registro Exception

9.5.3.2. 2. Contador de Programa Exception

9.5.3.3. 3. Restador

9.5.4. Señales de Control

9.5.4.1. ALU_overflow

9.5.4.2. Ilegal_opcode

9.5.4.3. Exeption

9.5.4.4. ExeptionWrite y EPCWrite

9.5.4.5. PCWrite