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 alternativas que utilizan varias unidades de preocesamiento

1.2. Interno

1.2.1. Un solo CPU, Usa la segmentación

1.3. Explicito

1.3.1. Con varias CPU´s

1.4. SIMD

1.4.1. Un solo flujo de instrucciones u multiples datos

1.4.2. Ejemplos

1.4.2.1. 3DNow de AMD

1.4.2.2. SSE de Intel

1.5. MISD

1.5.1. Varios flujos de instrucciones y un solo dato

1.6. MIMD

1.6.1. Multiplocesador con varias instrucciones y varios datos

2. Tipo de procesadores

2.1. Procesadores secuenciales

2.1.1. PSI no termina de ejecutar una instrucci´pon no comienza a ejecutar la siguiente

2.1.2. Procesador monociclo

2.1.3. Procesador multiciclo

2.2. Procesadores segmentados

2.2.1. Premite solapar la ejecución de varias instrucciones

2.2.2. Aprovecha el paralelismo a nivel de instrucción es decir el pipelinig

2.3. Encauzamiento

2.3.1. Ejecuta de varias instrucciones usando una sola unidad de proceso

2.3.2. Pipeline

2.3.2.1. Dividir una función en subfunciones independientes

2.3.3. Proceso similar a una candena de montaje

3. Conceptos básicos de segmentación

3.1. CPI = 1

3.2. Periodo de reloj limitado por la etapa más lenta

3.3. Diferentes instrucciones tienen que utilizar diferentes recursos

3.4. Problema

3.4.1. Accesos a memoria en las etapas F y M

3.4.2. Acceso a banco de registris en las etapas D y W

3.5. Solución

3.5.1. Se separa las memorias de isntrucciones y datos

3.5.2. Multiplexor Etapa F

3.5.3. Restador Etapa X

3.6. Registros de Segmentación

3.6.1. Almacenan el resultado de cada etapa al final del ciclo del reloj

4. Procesador Segmentado

4.1. Unidad de Control

4.1.1. En la Etapa D, el opcode permite generar todas las señales de control

4.1.2. Dimensionar los registros de segmentación

4.1.2.1. X

4.1.2.1.1. ALU USrcA, ALUSrcB, ALUOp y RegDest

4.1.2.2. M

4.1.2.2.1. Branch, MemRead y MemWrite

4.1.2.3. W

4.1.2.3.1. MemToReg y RegWrite

4.2. Rendimiento

4.2.1. Productividad aumentada

4.2.1.1. CPI de un procesaor secuencial monociclo

4.2.2. Tiempo de ejecución de una única instrucción empeora

4.2.2.1. Periodo de reloj de un procesador multiciclo

4.2.3. SpeedUp

4.2.3.1. Máximo al segmentar un procesador multiciclo

4.2.3.2. S = tmulticiclo/tsegmentado

4.3. Pipeling vs Paralelismo

4.3.1. Pipeling

4.3.1.1. El HW no está replicado

4.3.2. Arquitecturas Paralelas

4.3.2.1. El HW sí está replicado

4.3.3. Juego de instrucciones para pipeling en MIPS

4.3.3.1. Diseñado para ser ejecutado de un pipeline

4.3.3.2. Diseñado para evitar riesgos en el cause

5. Resolución de Riesgos

5.1. Riesgos estructurales

5.1.1. Dos o más instrucciones necesitan utilizar el mismo recurso de HW al mismo tiempo

5.1.2. Resolución

5.1.2.1. Duplicar los recursos de HW

5.1.2.2. Separar momoria de instrucciones y datos

5.1.2.3. Banco de Registros

5.1.2.3.1. Turnos para leer y escribir

5.1.2.3.2. Separar memoria de instrucciones y datos

5.1.2.3.3. Lecturas en la Segunda mitad

5.2. Riesgos de datos

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

5.2.2. Tipos de dependencias

5.2.2.1. RAW

5.2.2.2. WAR

5.2.2.3. WAW

5.2.3. Solución SW: prevención

5.2.3.1. Reordenar el código

5.2.3.1.1. Responsabilidad del compilador

5.2.3.1.2. Retrasar la ejecución de la instrucción un número K de etapas hasta que desaparezca el problema

5.2.3.2. Sin ordenar las instrucciones

5.2.3.2.1. Insertar instrucciones NOP

5.2.3.2.2. No requiere HW opcional

5.2.3.3. Mecanismo HW

5.2.3.3.1. Detener el pipeline

5.2.3.3.2. Adelantamiento, data fordwarding

5.2.3.3.3. SpeedUp

5.3. Riesgo de control

5.3.1. BEQ, hasta la fase M no carga el valor adecado para el PC

5.3.2. Soluciones

5.3.2.1. HW adicional

5.3.2.1.1. Resolverlo adicional

5.3.2.2. Predicción de salto estática

5.3.2.2.1. Salto tomado

5.3.2.2.2. Salto no tomado

5.3.2.3. SW: salto retardado, relleno de ranura

5.3.2.3.1. NanoMIPS no modificado, ranura de 3 ciclos

5.3.2.3.2. NanoMIPS modificado, ranura 1 ciclo

6. Excepciones nanoMIPS segmentado

6.1. Registro de excepción

6.2. Vector de intrrrupciones

6.2.1. Dirección viene determinada por el tipo de exce´pción

6.2.1.1. Instrucción no definida

6.2.1.2. Desbordamiento artmético

6.3. Se tratan como otro tipo de risgo de control

6.3.1. 1. Vaciar el pipeline de instrucciones posteriores a la suma

6.3.2. 2. Carga de isntrucciones de la nueva diección

6.4. Adaptar la ruta de datos

6.4.1. Señal del nuevo valor del PC

6.4.2. Cause Register

6.4.3. Registro de a instrucción de la excepción, EPC

7. Trabajo conjunto del SSOO y del HW

7.1. WD

7.1.1. detener lainstrucción

7.1.2. Completar las instrucciones

7.1.3. vaciar el pipeline

7.1.4. Guardar la causa de la excepción

7.1.5. salvar la dirección de la instrucción de la excepción

7.1.6. Saltar a una dirección predeterminada

7.2. SO

7.2.1. Cuadno hay desbordamiento el SSOO mata el proceso y retoma el motivo

7.2.2. Cuando es petición de E/S, el ssoo salva el estado del rpograma

7.3. Uso de excepciones

7.3.1. Manejo de fallos de págian y excepciones del TLB