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

1. Paralelismo

1.1. Paralelismo interno

1.1.1. Unica CPU

1.1.1.1. Segmentacion

1.2. Paralelismo Explicito

1.2.1. Varias CPU

1.2.1.1. SIMD

1.2.1.1.1. un solo flujo de instrucciones y múltiples datos

1.2.1.1.2. Ejemplo

1.2.1.2. MISD

1.2.1.2.1. varios flujos de instrucciones y uno solo de datos

1.2.1.3. MIMD

1.2.1.3.1. arquitectura multiprocesador con varios flujo tanto instrucciones como datos

2. Estructuras Segmentadas

2.1. Procesadores Secuenciales

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

2.1.1.1. Procesador monociclo

2.1.1.2. Procesador multiclo

2.2. Procesadores Segmentados

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

2.2.2. paralelismo a nivel de instruccion, pipelining

2.3. Encauzamiento

2.3.1. Paralelismo implicito

2.3.2. segmentación o pipeline

2.3.2.1. dividir una función en subfunciones independientes

2.3.3. Proceso similar a una cadena de montaje

2.3.4. consigue la ejecución de instrucciones en un tiempo muy inferior a los procesos no encauzados

2.3.5. Ejecución secuencial

2.3.6. dividir las fases de ejecución de las instrucciones en más etapas

2.3.6.1. obtiene un mayor rendimiento

3. Conceptos básicos

3.1. surgió como una técnica para el aumento de prestaciones

3.2. las diferentes instrucciones tienen que utilizar diferentes recursos

3.3. Ejecutando una única instrucción cada vez, el hardware está desaprovechado

3.4. Procesador Segmentado

3.4.1. Ruta de datos NanoMIPS segmentado

3.4.2. Unidad de Control

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

3.4.2.2. circuito combinacional que genera las señales de control para cada tipo de instrucción a partir del opcode

3.4.3. Rendimiento

3.4.3.1. La productividad aumenta

3.4.3.1.1. CPI=1

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

3.4.3.2.1. Periodo de reloj de un procesador multiciclo

3.4.3.3. Speedup máximo al segmentar un procesador multiciclo

3.4.3.3.1. S = tmulticiclo / tsegmentado

3.4.3.3.2. S = (I•CPI•T)multiciclo / (I•CPI•T)segmentado

4. Pipelining Vs Paralelismo

4.1. Ambas técnicas están orientadas a mejorar el rendimiento

4.1.1. Pipelining

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

4.1.2. Paralelismo

4.1.2.1. El HW sí está replicado por lo que varias operaciones pueden ejecutarse de forma simultánea

5. Resolución de riesgos en procesadores segmentados

5.1. Riesgos Estructurales

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

5.1.2. Resolución parones estructurales

5.1.2.1. duplicar los recursos hardware, segmentarlos o realizar turnos para acceder a ellos

5.2. Riegos de datos

5.2.1. Dos o más instrucciones presentan dependencias de datos entre sí que podrían llevar a la obtención de resultados erróneos

5.2.1.1. Tipos de dependencias

5.2.1.1.1. RAW

5.2.1.1.2. WAR

5.2.1.1.3. WAW

5.2.2. Solución

5.2.2.1. Software

5.2.2.1.1. Prevencion

5.2.2.2. Hardware

5.2.2.2.1. Detener el pipelining

5.2.2.2.2. Anticipación, data fordwarding

5.3. Riegos de Control

5.3.1. Una instrucción que modifica el valor del PC todavía no lo ha hecho cuando se tiene que comenzar la ejecución de la siguiente instrucción

5.3.2. Solución

5.3.2.1. Hardware adicional

5.3.2.1.1. En la etapa D debemos incluir el hardware

5.3.2.2. Predicción de salto estática

5.3.2.2.1. Intenta evitar esta parada realizando una predicción

5.3.2.3. Software

5.3.2.3.1. Salto retardado, relleno de ranura

6. Excepciones nanoMIPS segmentado

6.1. se tratan como otro tipo de riesgo de control.

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

6.3. Métodos para indicar la causa de la excepción

6.3.1. Registro de excepcion

6.3.2. Vector de interrupciones

6.4. Trabajo conjunto del SO y el hardware

6.4.1. Hardware

6.4.2. SO

6.4.2.1. analizar la causa de la excepción y actuar en consecuencia