Segmentación

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

1. Paralelismo

1.1. Arquitecturas con varias unidades de procesamiento

1.2. Tipos Paralelismo

1.2.1. Paralelismo Interno

1.2.1.1. Única CPU

1.2.1.1.1. Segmentación

1.2.2. Paralelismo Explícito

1.2.2.1. Varias CPUs

1.2.2.1.1. SIMD

1.2.2.1.2. MISD

1.2.2.1.3. MIMD

2. Estructuras Segmentadas

2.1. Tipos de Procesadores

2.1.1. Procesadores Secuenciales

2.1.1.1. Terminan una instrucción para comenzar otra

2.1.1.2. Tipos

2.1.1.2.1. Procesador Monociclo

2.1.1.2.2. Procesador Multiciclo

2.1.2. Procesador Segmentado

2.1.2.1. Solapar varias instrucciones en tiempo de ejecución

2.1.2.2. Paralelismo a nivel de instrucción

2.1.2.3. Incorpora mecanismo pipelining

2.2. Encauzamiento

2.2.1. Técnicas paralelismo ímplicito

2.2.2. Segmentación o pipeline

2.2.2.1. Dividir función en subfunciones independiente

2.2.2.2. Mayor rendimiento

2.2.3. Proceso como cadena de montaje

2.2.4. Tipos

2.2.4.1. Secuencial

2.2.4.2. Pipeline

3. Segmentación

3.1. Conceptos Básicos

3.1.1. CPI=1

3.1.2. Periodo reloj dado por etapa más lenta

3.1.3. Nace para totalmente el hardware

3.1.4. Ejecuta una nueva instrucción en cada ciclo

3.1.5. Diferentes instrucciones usan diferentes recursos

3.1.6. Problemas

3.1.6.1. Acceso a memoria en etapas F y M

3.1.6.2. Acceso banco registros etapas D y W

3.1.6.3. PC cambia en F, pero salto modifica en M

3.1.7. Soluciones

3.1.7.1. Memoria de datos e instrucciones

3.1.7.2. Escritura en primera mitad del ciclo

3.1.7.3. Lectura segunda mitad del ciclo

3.1.7.4. Multiplexor etapa F

3.1.7.5. Restador etapa X

3.1.7.6. Registros de segmentación

3.1.7.6.1. Almacenamiento resultado cada etapa al final del ciclo de reloj

3.1.8. Ruta de Datos NanoMIPS Segmentado

4. Rendimiento Procesador Segmentado

4.1. Productividad Aumenta CPI=q

4.2. Tiempo ejecución de única instrucción empeora

4.2.1. Hardware adicional en la ruta de datos

4.3. Speedup máximo al de un multiciclo

5. Pipelining vs Paralelismo

5.1. Secuencial Prura

5.2. Paralela Pura

5.3. Pipeline

5.4. Grafico

6. Unidad Control Procesador Segmentado

6.1. Etapa D, opcode genera señales de control necesarias

6.2. Señales propagan por registros de segmentación

6.3. Señales de control para cada tipo de instrucción dado por opcode

6.4. 9 Puntos de control

7. Resolución riesgos en procesadores segmentados

7.1. Ideal mantener etapas siempre llenas

7.2. Se produce riesgos

7.2.1. Riesgos estructurales

7.2.1.1. Dos o más instrucciones necesitan el mismo recurso hardware al mismo tiempo

7.2.1.2. Resolución patrones estructurales

7.2.1.2.1. Duplicar recursos hardware

7.2.1.2.2. Separar memoria de instrucciones y datos

7.2.1.2.3. Banco de registros

7.2.2. Riesgos de datos

7.2.2.1. Dos o más instrucciones presentan dependencia de datos entre si

7.2.2.2. Tipo de dependencias

7.2.2.2.1. RAW (Read After Write)

7.2.2.2.2. WAR (Write after Read)

7.2.2.2.3. Waw (Write After Write)

7.2.2.3. Solución Software

7.2.2.3.1. Prevención

7.2.2.4. Mecanismo hardware

7.2.2.4.1. Deterner pipeline

7.2.2.4.2. Anticipación, data Fordwarding

7.2.3. Riesgos de Control

7.2.3.1. Instrucción que modifican valor a PC aun no lo hace ante que comience siguiente instrucción

7.2.3.2. BEQ modifica PC en la etapa M

7.2.3.3. Soluciones

7.2.3.3.1. Hardware adicional

7.2.3.3.2. Riesgo resuelve en 3 ciclos

7.2.3.3.3. Reducción 1 ciclo adelantando resolución de saltos

7.2.3.3.4. Etapa D incluir hardware

7.2.3.3.5. Predicción de salto estática

7.2.3.3.6. Software (compilador)

8. Tratamiento de Excepciones

8.1. Excepciones nanoMIPS segmentado

8.1.1. Métodos utilizados para indicar causa de excepción

8.1.1.1. Riesgo de excepción

8.1.1.2. Vector de interrupciones

8.1.1.2.1. Viene determinada por el tipo de excepción

8.1.2. Excepciones tratadas como otro tipo de riesgo de control

8.1.3. Ruta de datos adaptada para soportar excepciones

8.1.3.1. Señal para nuevo valor de PC

8.1.3.2. Registro de excepción para almacenar causa excepción

8.1.3.3. Registro para almacenar instrucción que provocó excepción

8.2. Trabajo conjunto del SSOO y hardware

8.2.1. Parte correspondiente al hardware

8.2.1.1. Detener instrucción que provoco fallo

8.2.1.2. Completar instrucciones anteriores

8.2.1.3. Vaciar pipeline de instrucciones posteriores

8.2.1.4. Guardar la causa de excepción

8.2.1.5. Salvar dirección de instrucción que provocó excepción

8.2.1.6. Saltar dirección predeterminada

8.2.2. SO analiza cauda de excepción y actuar

8.2.2.1. Instrucción indefinida, fallo hardware o desbordamiento

8.2.2.1.1. SSOO mata proceso y retorna el motivo

8.2.2.2. Predicción E/S llamada al sistema

8.2.2.2.1. SSOO salva estado del programa

8.2.2.3. Manejo de fallos de página y excepciones TLB