Académique Documents
Professionnel Documents
Culture Documents
Es un procesador segmentado que puede procesar más de una instrucción en cada una de sus etapas.
Fue el procesador RISC de Intel 960CA, introducido en 1989, y tras el que muchos fabricantes
incorporaron características superescalares en sus líneas de procesadores comerciales.
Radica en si las técnicas que permiten el procesamiento simultaneo de instrucciones en cada etapa se
implementan en hardware (procesadores superescalares) o descansan en la capacidad del compilador
(procesadores VLIW).
Es la mayor o menor facilidad para encontrar en un programa instrucciones que puedan procesarse
simultáneamente, depende de la frecuencia con que aparecen dependencias de datos y control; y de los
retardos de las operaciones codificadas en las instrucciones.
9. ¿Qué ocurre en un procesador superescalar cuando se decodifican varias instrucciones por ciclo?
No es posible comprobar al mismo tiempo las dependencias entre los operandos de las instrucciones
decodificadas y las instrucciones que ya se están ejecutando.
Toma las instrucciones de la cola donde las instrucciones captadas son almacenadas por parte de la
etapa IF y, tras decodificarlas, las pone en una estructura de buffers donde la unidad ISS determinará
que instrucciones de las que se encuentran dentro de una ventana definida en esa estructura de buffers
pueden pasar a ejecutarse y a qué unidad funcional.
Esta estructura se implementa a través de una cola de registros donde se almacenan las instrucciones
que han sido decodificadas, y que están a la espera de ser emitidas a las unidades funcionales donde se
ejecuta la operación que codifican.
14. ¿Qué se necesita para que una instrucción pueda ser emitida?
Necesita que estén disponibles tanto sus operandos como la unidad funcional correspondiente.
Se encarga de determinar qué instrucciones pueden emitirse al disponer de sus operandos y existir
unidades funcionales libres para su ejecución.
Consiste en qué, en lugar de existir una única ventana desde donde las instrucciones se emiten a las
distintas unidades funcionales, exista una estructura, similar a la ventana, pero específica para cada
unidad funcional, o para un conjunto de unidades funcionales.
18. ¿En qué afecta la utilización de estaciones de reserva compartidas?
La utilización de estaciones de reserva compartidas es una decisión que afecta tanto a la complejidad de
la microarquitectura como a la eficiencia en el aprovechamiento del paralelismo entre instrucciones.
Se pude acceder a los operandos en el momento en que se realiza la EMISION a las estaciones de
reserva, o bien en el momento en que se ENVIAN las instrucciones a la unidad funcional
correspondiente para su ejecución
Si hay captación de operandos en el envío, la invalidación de los registros de destino se produce también
en el envio, lo mismo que el caso de que la captación se produzca en la emisión, la invalidación de los
registros de destino se produce en la emisión.
Es una técnica para evitar los problemas de los riesgos WAR y WAW en procesadores en los que las
operaciones pueden terminar de ejecutarse desordenadamente.
Comprobando si el número de registro que se busca está incluido en el campo de registro de destino de
alguna de las líneas que tienen campo de asignación valida a 1.
Si ese orden al que hacen referencia tanto la consistencia del procesador como la consistencia de
memoria debe coincidir con el orden en que las instrucciones, o los accesos a memoria según el caso,
aparecen en el programa.
Los accesos a memoria se realizan a través de lecturas de memoria que hacen que los datos pasen de
memoria a registros del procesador o bien a través de escrituras en memoria que transfieren datos de
registros del procesadora a memoria. En repertorios tipo RiSC a través de LOADs y STOREs.
El ROB es una estructura con un comportamiento sencillo, aunque no son simples los recursos hardware
que precisaría su implementación eficaz. Además, el ROB permite gestionar correctamente el
procesamiento especulativo de las instrucciones de salto y las interrupciones, el ROB también puede
utilizarse para implementar el renombramiento.
34. ¿Cuáles son las posibilidades para la detección temprana de las instrucciones de salto?
Detección paralela: Hay una etapa específica para detectar instrucciones de salto que opera en
paralelo con una etapa común en decodificación
Detección anticipada: además de utilizarse la decodificación paralela, se analizan las últimas líneas
de la cola de instrucciones captadas antes de que pasen a la unidad de decodificación.
Detección integrada en la captación: En el momento en que se captan las instrucciones se detecta
si la instrucción es de salto o no(para eso se pueden utilizar bits de precodificación)
35. ¿En qué consiste la gestión de saltos condicionales no resueltos?
Se basa en la idea de que el comportamiento de una instrucción de salto condicional presenta cierta
regularidad, y por tanto puede predecirse con una tasa de aciertos suficientemente elevada. En el
momento que se identifica una instrucción de salto condicional, se sigue una estrategia para predecir si
se producirá o no el salto antes de que se complete la evaluación de la condición de la que depende la
instrucción de salto.
Son aquellas en las que el procesador toma siempre la misma decisión ante cualquier instrucción de salto
condicional: empieza a ejecutar instrucciones a partir de la dirección de destino de salto, o sigue captando
las instrucciones que siguen a la instrucción de salto.
En este caso, el procesador no debe decidir entre la secuencia de instrucciones que deba ejecutar cada
vez que capta una instrucción de salto condicional no resuelta. Ahora, el procesador ejecuta las dos
secuencias de instrucciones concurrentemente. Con este fin, el procesador debe disponer de los
recursos necesarios para procesar concurrentemente instrucciones de ambas secuencias sin que existan
interferencias entre ambas.
45. ¿Cuáles son las instrucciones que implementan operaciones condicionales y en qué repertorios de
instrucciones se han implementado?
a. Las instrucciones se llamas instrucciones con predicado o instrucciones de ejecución
condicional o vigilada
b. Los repertorios en los que se implementaron son SPARC, Alpha, HP PA y x86, que se han
implementado en micro-arquitecturas súper-escalares.
46. Para abordar esta dificultad que plantea la finalización desordenada de instrucciones existen varias
alternativas:
a. Ignorar el problema y considerar solo la posibilidad de interrupciones imprecisas
b. Antes de emitir una instrucción, esperar a que las instrucciones anteriores terminen sin
interrupciones.
c. Almacenar los resultados de instrucciones que se han ejecutado y sólo escribirlos en los
ficheros de la arquitectura cuando hayan terminado las instrucciones previas.
d. Mantener la información necesaria para tener en cuenta las instrucciones que se han
ejecutado anticipadamente.
47. Para mantener la consistencia con el modelo secuencial de ejecución en el caso de interrupciones,
se pueden considerar dos posibilidades:
a. Las instrucciones se retiran ordenadamente.
b. Las instrucciones cambian el estado de la maquina según se ejecutan y se deben añadir
elementos que permiten reconstruir un estado bien definido
48. ¿Cuáles son las estrategias de procesamiento?
a. Interrupciones precisas con buffer de reordenamiento.
b. Interrupciones precisas con buffer de historia.
c. Interrupciones precisas con punto de chequeo-reparación.
d. Interrupciones precisas con registros de futuro y ROB.
49. Describa la estrategia de interrupciones precisas con buffer de reordenamiento
Esta estrategia para la gestión de interrupciones utiliza un buffer de reordenamiento al que se añade un
campo más en cada una de sus líneas. Este campo indica si la instrucción en cuestión ha dado lugar a
una excepción en alguna de sus etapas por las que ha pasado
50. Describa la estrategia de interrupciones precisas con puntos de chequeo-reparación.
En esta estrategia, el estado de maquina se almacena en determinadas etapas del cauce que reciben el
nombre de puntos de chequeo. En caso de interrupción, la existencia de estos estados almacenados
permite recuperar o reparar el estado de la máquina tras atender la interrupción.