jueves, 1 de marzo de 2012

Procesadores Superescalares

¿Procesadores Superescalares que son?

Los procesadores superescalares son un tipo de microarquitectura de procesador capaz de ejecutar mas de una instruccion por ciclo de reloj. Los procesadores superescalares pueden ejecturar instrucciones escalares simultaneas en paralelo de manera que se pueden operar varios elementos de un vector dentro de una misma iteracion. Un procesador superescalar se puede clasificar en 2 tipos un procesador superescalar mononucleo de tipo de instruccion simple o un super escalar multinucleo de tipo de instruccion multiple. Los procesadores superescalares utilizan el paralelismo de instrucciones ademas del paralelismo de flujo que utiliza la estructura pipeline, la estructura pipeline en un procesador superescalar consta de 5 etapas las cuales son:


-Lectura(Fecth): Lectura de múltiples instrucciones.

-Decodificacion(Decode): Decodificación de múltiples instrucciones.

-Lanzamiento(Dispatch): Distribuye instrucciones a las diferentes unidades funcionales especializadas de latencia de variables.

-Ejecucion(Execute): Incluye multiples unidades funcionales especializadas de latencia variable.

-Escritura(Complete): Reordena las instrucciones y asegura la actualizacion en orden del estado de la maquina.

-Finalizacion(Retire):Salida de la instruccion del procesador.

En pipeline como el procesador superescalar puede manejar varias instrucciones en cada etapa, se le denomina como grado al numero maximo de instrucciones que puede llegar a manejar. El grado en la etapa de ejecucion tiene como dependiente el numero y tipo de unidades funcionales las cuales suelen ser de los siguientes tipos:
-Aritmetico Logica
-Lectura/Escritura
-Coma flotante
-Salto

Cabe resaltar que para que el procesador pueda ejecturar mas de una instruccion simultanea de debe aver presente ningun tipo de dependencia.

Tipos de dependencia

-Estructural: Ocurre cuando 2 instrucciones solicitan el mismo tipo de unidad funcional.

-De datos: Ocurre cuando una instruccion depende del resultado de otra para lograr ejecutar.

-Escritura: Ocurre cuando 2 instrucciones intentan escribir en la misma parte de la memoria.

-Control: Ocurre cuando una instruccion depende de otra instruccion de control.

Les dejo solo un poco de informacion sobre el tema igual para mas completo pueden checar las referencias hay bastantes pdfs muy interesantes donde explica mas a detalle cada paso de la estructura pipeline, ejemplos,ventajas y desventajas etc.

Referencias:
http://es.wikipedia.org/wiki/Superescalar
acomp.disca.upv.es/acso1/ps%20y%20pdf/tema7_color.pdf
http://ocw.uv.es/ingenieria-y-arquitectura/sistemas-electronicos-para-el-tratamiento-de-la-informacion/seti_materiales/seti7_ocw.pdf
wwwdi.ujaen.es/asignaturas/ArqTel/teoria/Tema1.pdf

2 comentarios: