Está en la página 1de 16

PROSESADORES SUPERESCALARES

INTRODUCCIN
Se denomina arquitectura superescalar a aquella implementacin capaz de ejecutar ms de una instruccin por ciclo de reloj. El trmino se emplea por oposicin a la que arquitectura escalar que slo es capaz de ejecutar una instruccin por ciclo de reloj

PROCESADORES SUPERESCALARES?
Se han diseado de forma que puedan procesar ms de una instruccin por ciclo. Disponen de un cauce en el que cada etapa puede procesar ms de una instruccin simultneamente.

Arquitectura de un Procesador Superescalar

3.1 INTRODUCCION: DEFINICION Y NOTAS HISTORICAS


Los procesadores superescalares son procesadores segmentados, cuyas etapas permiten procesar mas de una instruccin por ciclo, incorporando en su estructura el hardware necesario para la gestin dinmica de los riesgos de datos y control.

3.1 INTRODUCCION: DEFINICION Y NOTAS HISTORICAS


Los procesadores superescalares y los VLIW poseen un cauce en el que cada etapa puede procesar mas de una instruccin simultneamente, cuya diferencia radica en si las tcnicas que permiten el procesamiento simultaneo se implementa en hardware(superescalares) o descansan en la capacidad del compilador(VLIW).

3.1 INTRODUCCION: DEFINICION Y NOTAS HISTORICAS


Si en un procesador segmentado existen varias unidades funcionales que pueden utilizarse simultneamente en distintas instrucciones y tienen una diferente duracin, puede haber casos donde hay instrucciones que terminan de procesarse (WB) antes que instrucciones que las preceden.(add r10,r0,0xb).

3.1 INTRODUCCION: DEFINICION Y NOTAS HISTORICAS


En este tipo de procesador segmentado existe la posibilidad de finalizacin y acceso a memoria fuera de orden o desordenada ( out-of-order, OOO ) y por lo tanto el procesador debe de ser capaz de resolver tanto los riesgos de tipo WAW y WAR.

DEFINICION Y NOTAS HISTORICAS


Una primera forma de mejorar el numero de instrucciones procesadas por ciclo consiste en organizar el procesador en varios cauces que funcionen en paralelo y de forma casi independiente. La siguiente figura muestra un ejemplo de esta microarquitectura capaz de procesar 2 instrucciones por ciclo.

DEFINICION Y NOTAS HISTORICAS


Forma usual de organizar la microarquitectura en los procesadores superescalares.

3.2 PARALELISMO ENTRE INSTRUCCIONES(ILP) Y PARALELISMO DE LA MAQUINA


El mayor o menor grado de paralelismo entre las instrucciones de un programa depende de la frecuencia con que aparecen dependencias de datos y control, y de los retardos de las operaciones codificadas en las instrucciones. Por ejemplo la secuencia:

load r1 , r2(23) add r3 , #1 add r4 , r5

; r1 = m (r2+23) ; r3 = r3 + 1 ; r4 = r4 + 5

No presentan interdependencias, por lo tanto podrn ejecutarse simultneamente.

3.2 PARALELISMO ENTRE INSTRUCCIONES(ILP) Y PARALELISMO DE LA MAQUINA


En cambio, las 3 instrucciones siguientes deben procesarse secuencialmente, de forma que se respete el orden establecido por las dependencias RAW que existe entre ellas. add r3 , #1 add r4 , r3 st (r4) , r0 ; r3 = r3 + 1 ; r4 = r4 + r3 ; m (r4) = r0

En cualquier caso, el aprovechamiento del grado de paralelismo de una secuencia de instrucciones depende de los recursos que disponga el procesador(a esto se le denomina paralelismo del procesador)

3.2 PARALELISMO ENTRE INSTRUCCIONES(ILP) Y PARALELISMO DE LA MAQUINA


En la siguiente tabla se muestra el resumen de los resultados de paralelismo para distintos programas, que se han obtenido en estudios posteriores a Nicolau, en el caso de una maquina ideal y teniendo en consideracin determinadas limitaciones (numero de unidades funcionales disponibles, buses, capacidad de las colas, etc.)

GRACIAS

También podría gustarte