Microprocesador segmentado

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

1. Encauzamiento

1.1. Tecnica para la generacion de pararelismo implicito en las computadoras

1.2. Dividr las fases de ejecucion de las instrucciones en mas etapas.

2. Conceptos Basicos

2.1. La segmentacion surgio como una tecnica para el aumento de prestaciones.

2.2. Deseable

2.2.1. CPI = 1

2.2.2. Periodo de reloj limitado por la etapa mas lenta.

2.3. Etapas

2.3.1. F ( Memoria de instrucciones)

2.3.2. D ( Banco de registros)

2.3.3. X ( ALU)

2.3.4. M ( Memoria de datos)

2.3.5. W ( Banco de registros)

2.4. Problemas

2.4.1. Acceso a memoria en F y M

2.4.2. Acceso a BR ( Banco de Registros) en D y W

2.4.3. PC cambia en F, pero el salto ( jump) lo puede modificar en M

2.5. Soluciones

2.5.1. Se separan memorias de instrucciones y datos

2.5.2. Multiplexor etapa F

2.5.3. Restador etapa X

3. Rendimiento

3.1. La productividad aumenta

3.2. El CPI es de un procesador monociclo

3.3. El tiempo de una unica instruccion empeora

3.4. Periodo de reloj es de un procesador multiciclo

3.5. Speed Up maximo al segmentar un procesador multiciclo

3.6. S = t_multiciclo / t_segmentado

3.7. S = ( I * CPI * T) multi / ( I * CPI * T) seg

4. Riesgos

4.1. Riesgos Estructurales

4.1.1. Causa: Se producen cuando dos o mas instrucciones necesitan utilizar el mismo recurso de hardware al mismo tiempo.

4.1.2. Solucion: basta con duplicar los recursos hardware que provocan los conflictos.

4.2. Riesgos de Datos

4.2.1. Causa: Dos o mas instrucciones presentan dependencias de datos entre si que podrian llevar a la obtencion de resultados erroneos.

4.3. Tipos de Dependencias

4.3.1. RAW, Read After Write

4.3.2. WAR, Write After Read

4.3.3. WAW, Write After Write

4.4. Riesgos de control

4.4.1. Causa: Una instruccion que modifica el valor del PC todavia no lo ha hecho cuando se tiene que comenzar la ejecucion de la siguiente instruccion.

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

4.4.3. Soluciones

4.4.3.1. Hardware adicional

4.4.3.2. Prediccion de salto estatica

4.4.3.2.1. Intenta evitar esta parada realizando una prediccion

4.4.3.2.2. No tomado

4.4.3.2.3. Tomado

4.4.3.2.4. Solo se reduce la penalizacion cuando se acierta

4.4.3.3. Penalizacion

4.4.3.3.1. Tomado --> Penalizacion en acierto = 1 | Penalizacion en fallo = 3

4.4.3.3.2. No tomado --> Penalizacion en acierto = 0 | Penalizacion en fallo = 3

4.4.3.4. Software

4.4.3.4.1. Salto retardado o relleno de ranura

5. Paralelismo

5.1. Surge de las limitaciones de Von Neumann ( velocidad del proceso)

5.2. Tipos de Paralelismo

5.2.1. Interno

5.2.1.1. Un unica CPU se utiliza la segmentacion

5.2.2. Explicito

5.2.2.1. Varias CPUS disponibles

5.2.2.2. Tipos

5.2.2.2.1. SIMD

5.2.2.2.2. MISD

5.2.2.2.3. MIMD

6. Tipos de procesadores

6.1. Secuenciales

6.1.1. MonoCiclo

6.1.2. MultiCiclo

6.2. Segmentados

7. Pipelining vs Paralelismo

7.1. Ambas tecnicas mejoran el rendimiento

7.2. Pipelining

7.2.1. El HW no esta replicado ( solo divido en varias etapas)

7.3. Paralelismo

7.3.1. El HW si esta replicado ( varias operaciones se ejecutan de forma simultanea)

8. Excepciones

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

8.2. Metodos utilizados para indicar la causa de una excepcion

8.2.1. Registro de Excepcion

8.2.2. Vector de interrupciones

8.2.2.1. La direccion a la cual se transfiere el control viene determinada por el tipo de excepcion.

9. SSOO Y HW

9.1. Trabajo conjunto del SSOO y del hardware

9.2. Parte correspondiente al hardware

9.2.1. Detener la instruccion que provoco el fallo

9.2.2. Completar las instrucciones anteriores

9.2.3. Vaciar el pipeline de instruccions posteriores

9.2.4. Guardar la causa de la excepcion

9.2.5. Salvar la direccion de la instruccion que provoca la excepcion

9.2.6. Saltar a una direccion predeterminada

9.3. Parte correspondiente al SO

9.3.1. El SSOO mata al proceso y retorna el motivo

9.3.2. El SSOO salva el estado del programa, realiza la tarea en cuestion y , en el futuro , restaura el proceso.