Sei sulla pagina 1di 9

ARQUITECTURA DE COMPUTADORAS UNSA-EPIE 1

PREGUNTAS CAPITULO 5:

PROCESADORES VLIW

1. ¿Qué características comparten los procesadores VLIW con los


superescalares?

 Son procesadores segmentados que pueden emitir instrucciones en cada ciclo.

 Disponen de varias unidades de ejecución por lo que pueden ejecutar varias


operaciones simultáneamente.

2. ¿Qué diferencias hay entre un procesador superescalar y un procesador


VLIW?

En un procesador superescalar la mejora de eficiencia de la arquitectura se


consigue aumentando el numero de instrucciones que pueden emitirse en cada
ciclo por lo que la microarquitectura se hace mas compleja y por consiguiente
los retardos de propagación aumentan.

En una Arquitectura VLIW, el compilador debe encargarse de ubicar las


distintas operaciones VLIW teniendo en cuenta las dependencias y los recursos
del procesador.

3. ¿Cómo esta constituida cada palabra de instrucción VLIW?

Cada instrucción VLIW esta constituida por un conjunto de subpalabras o slots,


y cada una de tales subpalabras pueden codificar una operación.

4. ¿Cómo se realizan las operaciones en cada una de las subpalabras de una


instrucción VLIW?

Los tipos de operaciones que pueden codificarse en cada una de las subpalabras
de la instrucción VLIW dependen de las unidades funcionales a las que se puede
acceder desde cada ventana de emisión.

BALORARIO DE PREGUNTAS: PROCESADOR VLIW


ARQUITECTURA DE COMPUTADORAS UNSA-EPIE 2

5. ¿Qué dificultades hubieron en los primeros procesadores VLIW?

o Los programas incrementan su tamaño con respecto a los que utilizaban


repertorios escalares.

o Las UFs deben funcionar sincronizadamente.

o La falta de compatibilidad.

o En la situación en la que en la que puede aprovechar gran cantidad de


paralelismo, un procesador vectorial es podría ser más eficaz.

6. ¿Qué es un bloque básico?

Trozo de código al que internamente no se accede desde ninguna instrucción de


salto, y en el que no existen instrucciones de salto, salvo la última instrucción
del bloque.

7. ¿Cuáles son las técnicas básicas para la reducción de dependencias?

 Desenrollado de bucles (loop unrolling)


 Segmentación software (software pipelining)

8. ¿En que consiste la segmentación por software?

Esta técnica pretende reorganizar el cuerpo del bucle sobre el que se aplica, de
forma que cada iteración del bucle transformado contenga instrucciones tomadas
de distintas iteraciones del bucle original con el objetivo de situar las
instrucciones dependientes lo más alejadas posible.

9. ¿Qué es la planificación de trazas?

La planificación de trazas es una forma de organizar el desplazamiento de


código, de forma que el coste de dicho movimiento recae en el camino menos
frecuente. Se trata de una técnica adecuada cuando el camino más favorable se
sigue con una frecuencia suficiente.

BALORARIO DE PREGUNTAS: PROCESADOR VLIW


ARQUITECTURA DE COMPUTADORAS UNSA-EPIE 3

10. ¿Cuáles son las técnicas de planificación de bloque básico extendido?

 Planificación de trazas.
 Planificación de superbloques.
 Planificación de hiperbloques.
 Planificación de árboles de decisión.

11. ¿Cuáles son los dos procesos para la planificación de trazas?

 Selección de traza: se elige una sección de código sin bucles constituida por
una serie de bloques básicos denominada traza.
 Compresión de traza: pretende codificar las operaciones de la traza con el
menor número de instrucciones VLIW.

12. ¿Cuáles son los factores que debe tener en cuenta el compilador a la hora de
hacer las transformaciones de código?

 Las frecuencias relativas de las alternativas posibles tras una instrucción de


salto condicional.
 El costo asociado a la ejecución de la operación en su nueva ubicación, tanto
en lo que se refiere a las necesidades de memoria como al tiempo de
ejecución.
 El coste del código de compensación que hay que añadir por si la suposición
que se ha hecho no se cumple.

13. ¿Qué es una operación con predicado?

Es aquella cuyo resultado modifica o no el destino de dicha operación en función


del valor de una operación, denominado predicado, que, por tanto, establece la
condición de la que depende que la operación tenga efecto.

14. ¿Cómo se expresan las operaciones con predicado?

Un forma típica de expresar estas operaciones es: <p>operación, donde el


predicado puede tomar dos valores (1 o 0), de manera que la operación se
realizara si p es igual a 1, y no se realizara en caso contrario.

BALORARIO DE PREGUNTAS: PROCESADOR VLIW


ARQUITECTURA DE COMPUTADORAS UNSA-EPIE 4

15. ¿Cuáles son los formatos posibles para las operaciones con predicado?

Algunos formatos posibles para estas operaciones son los siguientes:

p1 cmp.cnd a, b

p1, p2 cmp.cnd a, b

16. ¿Cuales son las limitaciones en el uso de predicados?

 El uso de instrucciones con predicado para facilitar el desplazamiento de


instrucciones sigue siendo una forma de especulación, y supone un costo
cuando la instrucción no debería haberse ejecutado.
 Si la condición que debe evaluarse en una instrucción con predicado no
está disponible con la suficiente antelación se producirían atascos en el
cauce.
 Cuando el flujo contiene más de una alternativa puede resultar
complicado el uso de predicados.

17. ¿Cuáles son las estrategias que permiten garantizar el comportamiento del
programa frente a excepciones?

 Ni el Hardware ni el software aceptan excepciones


 Instrucciones especulativas, nunca genera excepciones
 Uso de Bits de veneno
 Uso de Centinelas

18. ¿Cómo se realiza el uso de los bits de veneno?

Si se produce una excepción, se modifica el BIT de veneno del registro en el que


la operación especulativa escribe su resultado. Cuando una operación no
especulativa intenta leer un registro, se comprueba el bit de veneno, si esta
activo, se atiende la excepción.

BALORARIO DE PREGUNTAS: PROCESADOR VLIW


ARQUITECTURA DE COMPUTADORAS UNSA-EPIE 5

19. ¿Cómo se realiza la especulación de acceso a memoria?

 La instrucción se sitúa en la posición original del LOAD, que se ha


adelantado al STORE correspondiente.
 Cuando se ejecuta el LOAD especulativo, se almacena temporalmente la
dirección.
 Las direcciones a la que acceden los STOREs que siguen al LOAD
especulativo se comparan con la dirección de LOAD almacenado.
 Si la especulación ha fallado:

 Si solo afecta al LOAD, se vuelve a ejecutar cuando se llegue al


centinela.
 Si depende de más operaciones, se tienen que repetir.

20. Describa cuantos niveles de cache contiene el Itanium 2

Contiene caches de niveles L1, L2 y L3


 La cache L1 esta separada en dos caches de 16 KBytes cada una, una para
datos y la otra para instrucciones.
 Las caches L2 y L3 son caches unificadas, con 256 KBytes y 3MBytes,
respectivamente.

21. ¿A través de que el Itanium 2 aprovecha al máximo el paralelismo entre


instrucciones?

 Mecanismos para que el compilador reordene el código de a acuerdo con su


conocimiento global del mismo.
 Recursos suficientes para realizar operaciones en paralelo y guardar
resultados intermedios.
 Formatos de instrucciones para que el compilador comunique al hardware
información clave del programa compilado.

22. ¿Qué conceptos aparecen en la arquitectura IA-64 ligados al


aprovechamiento del paralelismo?

 Los Haces.

 Grupo de instrucciones.

BALORARIO DE PREGUNTAS: PROCESADOR VLIW


ARQUITECTURA DE COMPUTADORAS UNSA-EPIE 6

23. ¿Qué son los “haces”?

Cada haz de instrucciones tiene tamaño de 128 bits y codifica hasta 3


operaciones, cada operación o instrucción dentro del haz se codifica mediante un
campo de 41 bits, los cinco bits sobrantes se utilizan como campo de marca.

24. Describa “Grupo de instrucciones”

Un grupo de instrucciones puede estar constituido por cualquier número de


instrucciones que puedan ejecutarse en paralelo.

25. ¿Qué son los bits de marca?

Indican si las tres operaciones que constituyen el haz se pueden ejecutarse


simultáneamente o si entre ellas debe situarse algún carácter de stop para indicar
que las operaciones pertenecen a grupos distintos.

26. Describir todos los registros del ITANIUM

 En el Itanium se incluyen 64 registros de 1 bit de p0 a p63.


 128 registros de propósito general de r0 a r127.
 128 registros de coma flotante de f0 a f127
 8 registros de salto de b0 a b7 de 64 bits, y utilizados para los saltos
indirectos.
 También existen otros 128 registros de 64 bits denominados ar0 a ar127,
y de aplicación o uso especifico.

27. ¿Que tipo de algoritmo usa el ITANIUM 2 y en que consiste?

Utiliza el algoritmo de Yeh-Patt, consiste en 2 niveles de almacenamiento:


 El primero esta acoplado a la cache L1 de instrucciones, dispones si la
predicción dar o no el salto y la dirección de destino en un ciclo.
 El segundo esta en la cache L2, donde se almacena la historia de la
instrucción de salto; si es cierta no hay penalización, si es incorrecta
habrá 6 ciclos de penalización.

BALORARIO DE PREGUNTAS: PROCESADOR VLIW


ARQUITECTURA DE COMPUTADORAS UNSA-EPIE 7

28. En el procesador Itanium 2, ¿Qué es la ALAT?

Es una memoria completamente asociativa con 32 líneas y cuatro puertos que


almacena las direcciones de memoria a las que acceden las instrucciones de
carga que se adelantan y los identificadores de registros que se cargan con los
datos de memoria.

29. La compañía TRANSMETA CORPORATION con su procesador


CRUSOE, ¿que pretendía y quería evitar?

Pretendía alcanzar altas prestaciones con un bajo consumo de potencia y


evitando la complejidad del hardware propi de un procesador superescalar
mediante software que permita la traducción dinámica óptima del código x86 al
repertorio propio maquina propio de los procesadores TRANSMETA.

30. ¿Como se llama el software que utiliza el procesador VLIW CRUSOE, que
nos permite y donde se encuentra?

Se llama CODE MORPHING y no permite la traducción de las instrucciones


x86 dinámicamente en instrucciones VLIW de forma que los programas x86
pueden ejecutarse como si lo estuvieran haciendo en una plataforma hardware
x86. Se encuentra en una ROM y es el primer programa que se ejecuta al iniciar
el procesador.

31. ¿Que unidades funcionales posee el procesador CRUSOE?

 Dos unidades funcionales para operaciones con enteros.


 Una unidad para operaciones de coma flotante.
 Una unidad de acceso a memoria (carga y almacenamiento).
 Una unidad de procesamiento de saltos.

32. En los procesadores CRUSOE ¿a que se denomina átomos y moléculas?

 Moléculas: son las palabras de instrucciones VLIW del Crusoe que pueden
ser de 64 o 128 bits.

 Cada instrucción VLIW contiene cuatro operaciones de tipo RISC que


reciben el nombre de Átomos.

BALORARIO DE PREGUNTAS: PROCESADOR VLIW


ARQUITECTURA DE COMPUTADORAS UNSA-EPIE 8

33. El software de CÓDIGO MORPHING ¿a que se denomina traducciones y


que se evita al almacenar estas en una cache de traducciones?

Este código Morphing no realiza traducciones instrucción a instrucción x86 si


no que puede traducir grupos de instrucciones x86 a grupos de moléculas
denominadas traducciones. Y al almacenarlas en una cache se evita que se
vuelva a tener que realizar el trabajo del software de CODE MORPHING que
ya se hizo.

34. ¿Cuáles son los grupos en el que se clasifican las distintas propuestas de
arquitectura para mantener el ritmo que marcan las mejoras en la
tecnología de integración?

Se pueden clasificar en dos grupos: las que apoyándose en las características de


las cargas de trabajo mas frecuentes en el futuro buscan la ejecución simultanea
eficientes de varias hebras y las que persiguen mejorar la ejecución de una
hebra.

35. ¿A que se refiere las mejoras en procesadores superescalares?

Incremento de recursos (tamaño o numero de caches incluidas en un Chip,


estaciones de reserva, unidades funcionales, mejora de prestaciones en la lógica
de adelantamiento, cache de trazas, etc.)

Cache de trazas, almacenan secuencias de instrucciones en el orden de ejecución


dinámica para recuperarlas con mayor rapidez y acelerar su procesamiento. Las
dificultades a superar son los retardos de comunicación con incidencia en la
sincronización.

36. ¿A que se refiere las mejoras en procesadores VLIW?

Aprovechan el incremento en el número de transistores en los circuitos


integrados, aumentando el número de unidades funcionales, El numero de
instrucciones ejecutables en paralelo, el tamaño de la palabra del procesador, etc.

No se incrementa el volumen de las comunicaciones no locales, consumo de


potencia reducido.

BALORARIO DE PREGUNTAS: PROCESADOR VLIW


ARQUITECTURA DE COMPUTADORAS UNSA-EPIE 9

37. ¿A que se refiere las mejoras en procesadores Superespeculativos?

Buscan aumentar las prestaciones mediante recursos que permiten predecir:


Flujo de instrucciones, flujo de datos entre procesador y memoria (A partir de la
historia de accesos a memoria), flujo de datos desde y hacia registros (a partir de
la información histórica de los valores que ha tenido un operando) y la
implementación de esta técnica requiere un numero elevado de transistores.

38. ¿Qué son multiprocesadores Monochips (CMP)?

Varios procesadores que aprovechan moderadamente el paralelismo entre


instrucciones en una hebra para mantener cierta simplicidad en su
microarquitectura. Facilita el diseño y verificación del Chip.

Funcionan a más velocidad, las comunicaciones mas frecuentes son locales (en
el mismo microprocesador). Sin embargo su uso más eficaz se encuentra en las
tecnologías de compilación de códigos paralelos y usos de sistemas operativos
multitarea.

39. ¿Qué son los procesadores multihebra simultanea (SMT)?

Procesan instrucciones que pertenecen a varias hebras de control, siendo capaces


de seleccionar, enviar y ejecutar instrucciones de varias hebras que están activas
simultáneamente. Si no hubiera hebras disponibles seria similar a un procesador
superescalar ampliado. Presenta problemas asociados a los retardos de
comunicación en el Chip.

40. ¿Qué son los procesadores multihebra especulativos?

Son procesadores que constan de varios elementos de procesamiento que


cooperativamente son capaces de ejecutar en paralelo un programa dividido en
una serie de hebras divididas especulativamente. La especulación es el elemento
clave de estos procesadores, ya que si no se utilizase solo se podría dividir los
programas en hebras que deben ejecutarse y son mutuamente independientes.

BALORARIO DE PREGUNTAS: PROCESADOR VLIW

Potrebbero piacerti anche