Explora Libros electrónicos
Categorías
Explora Audiolibros
Categorías
Explora Revistas
Categorías
Explora Documentos
Categorías
Procesadores Superescalares
2016
ÍNDICE
ÍNDICE 1
1 INTRODUCCIÓN 2
2 DESARROLLO 2
3 CONCLUSIÓN 7
4 BIBLIOGRAFÍA 8
1
1 Introducción
2 Desarrollo
o Lanzamiento (dispatch).
o Ejecución (execute).
o Escritura (writeback).
o Finalización (retirement).
2
o Unidad aritmético lógica (ALU)
o Unidad de lectura/escritura en memoria (Load/Store Unit)
o Unidad de coma flotante (Floating Point Unit)
o Unidad de salto (Branch unit)
3
supersegmentación consiste en segmentar algunas de las etapas (en concreto
las más lentas) de los procesadores segmentados, en dos o más etapas de
forma que se permita que existan dos instrucciones a la vez dentro de la misma
etapa y unidad funcional sin tener que replicar ésta. (la réplica constituiría
superescalaridad). Así, un procesador supersegmentado es aquel que aplica
dos veces el concepto de segmentación, la primera a nivel global, y la segunda
a nivel interno de sus unidades funcionales. Un procesador superescalar puede
hacer uso de segmentación en las etapas de ejecución en paralelo de
instrucciones.
2.4 Limitaciones
Dependencia de salida.
Antidependencia.
4
La presencia de una bifurcación (una instrucción de salto condicional) puede
afectar al funcionamiento del cauce. Las instrucciones que siguen a la
instrucción de la bifurcación tienen una dependencia relativa al procedimiento.
Esto es, como dicho salto puede realizarse o no (dependiendo del flag de
condición), las instrucciones que siguen a la bifurcación no pueden ejecutarse
hasta que se conozca el camino que tomará el flujo del programa. Suponiendo
la existencia de predicción de saltos, el peor de los casos supone un fallo en
la predicción del salto una vez conocido el camino de la bifurcación.
2.4.5 Antidependencia
5
programa se pueden ejecutar en paralelo. Éste paralelismo se puede explotar
cuando las instrucciones de una secuencia de programa son independientes, y
por ello pueden solapar su ejecución en paralelo.
6
La finalización desordenada implica que puede haber cualquier número de
instrucciones en la etapa de ejecución en un instante dado, hasta alcanzar el
máximo grado de paralelismo de la máquina (todas las unidades funcionales
ocupadas). La emisión de instrucciones se detiene temporalmente cuando
hay una pugna por un recurso, una dependencia de datos o una dependencia
relativa al procedimiento. El resultado es el ahorro de un ciclo en la ejecución
del fragmento de código. La finalización desordenada necesita una lógica de
emisión de instrucciones más compleja que la finalización en orden.
3 Conclusión
7
4 Bibliografía