Microprocesador Segmentado

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

1. Paralelismo

1.1. Paralelismo interno

1.1.1. Segmentación

1.2. Paralelismo explícito

1.2.1. SIMD, un solo flujo de instrucciones y múltiples datos

1.2.2. MISD, varios flujos de instrucciones y uno solo de datos

1.2.3. MIMD, arquitectura multiprocesador con varios flujos tanto de instrucciones como de datos

2. Tipos de procesadores

2.1. Procesadores secuenciales

2.1.1. Hasta que no termina de ejecutar una instrucción no comienza a ejecutar la siguiente

2.2. Procesadores segmentados

2.2.1. Permite solapar en el tiempo la ejecución de varias instrucciones

3. Encauzamiento

3.1. Técnica para la generación de paralelismo implícito en computadores

3.2. Ejecución de varias instrucciones, o partes de instrucciones, usando una única unidad de proceso

3.3. El pipeline consiste en dividir una función en subfunciones independientes que se pueden realizar simultáneamente

4. Conceptos básicos de segmentación

4.1. CPI = 1

4.2. La segmentación surgió como una técnica para el aumento de prestaciones

4.3. Para segmentar el nanoMIPS multiciclo basta con comenzar la ejecución de una nueva instrucción en cada ciclo

4.4. F D X M W

4.4.1. MI: memoria de instrucciones

4.4.2. BR: Banco de registros

4.4.3. ALU

4.4.4. MD: Memoria de datos

4.4.5. BR: Banco de resgistros

5. Unidad de control del procesador segmentado

5.1. En la etapa D, el opcode permite generar todas las señales de control necesarias

5.2. Las señales se propagan por los registros de segmentación

6. Rendimiento de un procesador segmentado

6.1. La productividad aumenta

6.2. El tiempo de ejecución de una única instrucción empeora

6.3. Speedup máximo al segmentar un procesador multiciclo

7. Pipelining Vs Paralelismo

7.1. Pipelining: El HW no está replicado, sólo está dividido en varias etapas distintas especializadas

7.2. Arquitecturas paralelas: El HW sí está replicado, por lo que varias operaciones pueden ejecutarse de forma simultánea

7.3. Pipeline: un resultado por ciclo

7.4. Paralela pura: N resultados cada 5 ciclos

8. Resolución de riesgos en procesadores segmentados

8.1. Riesgos estructurales

8.1.1. Cuando dos o más instrucciones necesitan utilizar el mismo recurso hardware al mismo tiempo

8.2. Riesgos de datos

8.2.1. Dos o más instrucciones presentan dependencias de datos entre sí

8.2.1.1. Tipos de dependencias

8.2.1.1.1. RAW, Read After Write

8.2.1.1.2. WAR, Write After Read

8.2.1.1.3. WAW, Write After Write

8.2.2. Solución software

8.2.2.1. Prevención

8.2.3. Mecanismo hardware

8.2.3.1. Detener el pipeline

8.2.3.2. Anticipación, data fordwarding

8.3. Riesgos de control

8.3.1. instrucción que modifica el valor del PC

8.3.2. BEQ, hasta la fase M no carga el valor adecuado para el PC

8.3.3. Soluciones

8.3.3.1. Hardware adicional

8.3.3.1.1. Resolver un riesgo de control equivale a 3 ciclos de espera

8.3.3.1.2. Podemos reducir esta espera a 1 ciclo adelantando la resolución de los saltos

8.3.3.2. Predicción de salto estática

8.3.3.2.1. No tomado

8.3.3.2.2. Tomado

8.3.3.3. Software (compilador)

8.3.3.3.1. Salto retardado o relleno de ranura

8.4. Con adelantamiento y sin adelantamiento

9. Excepciones en el nanoMIPS segmentado

9.1. Métodos utilizados para indicar la causa de una excepción

9.1.1. Registro de excepción

9.1.2. Vector de interrupciones

9.2. Las excepciones se tratan como otro tipo de riesgo de control

9.3. La ruta de datos se debe adaptar para soportar excepciones

9.3.1. Señal para seleccionar el nuevo valor del PC

9.3.2. Registro de excepción para almacenar la causa de la excepción, Cause Register

9.3.3. Registro para almacenar la instrucción que provocó la excepción, EPC

10. Trabajo conjunto del SSOO y del hardware

10.1. Correspondiente al hardware

10.1.1. Detener la instrucción que provocó el fallo

10.1.2. q Completar las instrucciones anteriores

10.1.3. q Vaciar el pipeline de instrucciones posteriores

10.1.4. q Guardar la causa de la excepción

10.1.5. q Salvar la dirección de la instrucción que provocó la excepción

10.1.6. q Saltar a una dirección predeterminada

10.2. Correspondiente al sistema operativo

10.2.1. Cuando se trata de una instrucción indefinida, un fallo hardware o un desbordamiento, el ssoo mata el proceso y retorna el motivo

10.2.2. Cuando se trata de una petición de E/S o de una llamada al sistema, el ssoo salva el estado