You are on page 1of 12

BALOTARIO CAPITULO 1

1. Mencione y describa una aplicación para las cuales se necesitan desarrollar nuevas arquitecturas más rápidas
El movimiento de un fluido tanto en régimen laminar como turbulento es descrita a través de las ecuaciones no
lineales de Navier-Stokes para las que no se conocen soluciones analíticas. La resolución de estas ecuaciones para
números de Reynolds elevados y geometrías complejas muy utilizados en la industria aeronáutica en el cual necesita
velocidades y cantidades de memoria muy elevadas.
2. ¿En qué consiste el nivel de especulación?
Permite iniciar cálculos antes de que hayan terminado las instrucciones de las que depende el resultado de dichos
cálculos sea útil o correcto.
3. ¿En la estructura Nivel Conceptual de Blaaw cuantos niveles conceptuales se identifican?
La Arquitectura: define el comportamiento funcional del computador, tal como aparece ante un programador en
lenguaje maquina
La Configuración: define la organización del computador en términos de transferencia entre registros y flujos de
información
La Realización: se refiere a la tecnología de los elementos concretos que se utilizan para la implementar la
configuración.
4. ¿En qué se diferencian la arquitectura concreta y abstracta?
La arquitectura concreta; es la descripción de la estructura y organización de un elemento.
La arquitectura abstracta; es una interface que permite utilizar los recursos de ese nivel por los niveles superiores.
5. ¿En que se basa la ley de Moore?
La ley de Moore es una conjetura basada en ciertas observaciones empíricas que establece que el número de
transistores en un circuito integrado se duplica cada año y medio o dos años.
6. Que es la computación ubicua.
Es la integración de la informática en el entorno de la persona, de forma que los ordenadores no se perciban como
objetos diferenciados. Se refiere al hardware, al software y a las aplicaciones relacionadas con las interfaces persona-
computador y la interacción computador-mundo real.
7. Aparte de la potencia que otras figuras de mérito existen relacionadas con el consumo de energía de los
circuitos integrados
La densidad de potencia o potencia consumida por unidad de superficie
Potencia pico o potencia máxima
Potencia dinámica
8. En que consiste la técnica “codigo gray” para reducir el consumo de energia en los buses
Una técnica para reducir el consumo en los buses consiste en codificar las direcciones mediante el código GRAY esto
permite reducir el número de transiciones de nivel en las líneas del bus dado que las direcciones suelen cambiar
secuencialmente, particularmente en las transferencias de líneas de cache.
9. ¿puede el sistema operativo controlar la tension a la que trabaja el procesador?
SI: El sistema operativo puede encargarse de controlar la tensión a la que trabaja el procesador mediante una técnica
llamada escalado de la tensión para esto existen dos alternativas.
En la primera el sistema operativo puede fijar la tensión directamente a través de la correspondiente interfaz
(usualmente escribiendo en un registro) y las aplicaciones utilizan las funciones del sistema operativo para controlar
los valores de tensión que precisan.
En la segunda alternativa, el sistema operativo también dispone de una interfaz para establecer los valores de
tensión, pero es el propio sistema operativo el que detecta la necesidad de variar los niveles de tensión
10. ¿Qué líneas fundamentales ha seguido el paralelismo en la implementación de las arquitecturas?
Básicamente una es: la replicación de elementos, incluyendo unidades funcionales, procesadores, módulos de
memoria, etc. Entre los que distribuye el trabajo.
Otra alternativa, para la implementación del paralelismo, es la segmentación de cauce (pipelining), técnica a través
de la cual un elemento se divide en un serie de etapas que funcionan de forma independiente y por las que van
pasando los operando, instrucciones procesados por el elemento.
11. ¿Qué es taxonomía En arquitectura de computadores?
La taxonomía en arquitectura hace referencia a una clasificación en este caso a computadores, a clases
caracterizadas por un conjunto de propiedades, comportamiento frente a determinadas situaciones, la taxonomía de
Flynn divide el universo de los computadores en cuatro clases, basándose en el flujo de secuencias e instrucciones y
flujo de datos.
12. Clasificación de las 4 taxonomías de Flynn, descríbalas.
Computadores SISD: Un único flujo de instrucciones y un único flujo de datos.
Computadores SIMD: Un único flujo de instrucciones y varios flujos de datos.
Computadores MIMD: Varios flujos de instrucciones y varios flujos de datos.
Computadores MISD: Varios flujos de instrucciones y un único flujo de datos.
13. ¿Cuáles son las medidas para la evaluación de las prestaciones de un computador?, indique que es lo que
miden.
- Tiempo de respuesta: Tiempo que tarda el computador en procesar una entrada.
- Productividad: Número de entradas procesadas por unidad de tiempo
- Funcionalidad: Tipos de entradas diferentes que es capaz de procesar
- Expansibilidad: Posibilidad de ampliar la capacidad de procesamiento
- Escalabilidad: Ampliación del sistema sin una devaluación de prestaciones
- Eficiencia: Razón entre prestaciones y coste
14. ¿Cuáles son las definiciones de MIPS y MFLOPS en términos de CPU, y para qué sirven?

, mide la velocidad de ejecución de las instrucciones.

, mide el rendimiento de los ordenadores en operaciones de punto flotante por
segundo.
15. ¿Qué es un benchmarking y para qué sirve?
Es un conjunto de programas de prueba que representa la carga de trabajo usual en la máquina que se va a evaluar,
un benchmark nos sirve para evaluar las prestaciones de una arquitectura.
16. ¿Cuál es el concepto posterior al año 1964 de arquitectura de computador?
Conjunto de niveles de abstracción estructurados jerárquicamente, que permiten encuadrar la tecnología y la
arquitectura dentro de un marco común de estudio del computador
17. Mencione una de las consecuencias de la ley de Moore
Una de las consecuencias de la LEY DE MOORE es el rápido ritmo de abaratamiento de la capacidad de
procesamiento, así mismo reducción del coste de la potencia de computo ocasionando crecimiento exponenciales en
el número de usuarios que tienen acceso a una capacidad de procesamiento dada y afectando a la rentabilidad de las
aplicaciones
18. ¿Qué es microarquitectura?
Es el conjunto de recursos y métodos utilizados para satisfacer las especificaciones que establece la arquitectura,
este incluye tanto la forma en que se organizan los recursos como las técnicas utilizadas para alcanzar los objetivos
de costes y prestaciones planteados, por lo que la microarquitectura define las especificaciones para la
implementación lógica.
19. ¿Los computadores del futuro de qué aspecto fundamental dependerá su arquitectura?
Dependerá de la interacción mercado/aplicaciones arquitectura mediante una breve referencia a las aplicaciones
influirán en el desarrollo de nuevas arquitecturas.
20. Mencione algunos métodos para reducir el consumo de energía
- Memoria:
- Desconectar la memoria cuando no vaya a utilizarse durante un tiempo largo.
- Compresión de código.
- Buses:
- Codificar las direcciones mediante código Gray.
- Transmitir la diferencia entre direcciones que se solicitan consecutivamente.
- Compresión de la información de las líneas de dirección para reducir el número de líneas del bus.
- Aprovechamiento eficiente del paralelismo.
- Reducir la frecuencia del reloj.
21. ¿Qué posible solución se tendría para los mayores retardos en las comunicaciones globales que limitan la
frecuencia de reloj?
- Microarquitecturas sencillas
- Multiprocesadores en un chip
- Procesadores VLIW
22. ¿Qué estrategias se tiene para la reducción de corriente de perdidas?
Una posibilidad es desconectar la memoria cuando esta no vaya a utilizarse durante un tiempo suficiente largo, dado
que la desconexión supondría que se perdería la información almacenada y habría que recuperarla desde disco. En
este caso, es el sistema operativo el que se encargaría de gestionar este tipo de desconexión (sleep mode).
23. Según la taxonomía de Flynn, explique los dos tipos de paralelismo.
- Paralelismo de datos: Se explota cuando una misma función, instrucción, etc; se ejecuta repetidas veces en paralelo
con datos diferentes
- Paralelismo Funcional: Se aprovecha cuando las funciones, bloques, instrucciones, etc; que intervienen en la
aplicación, se ejecutan en paralelo
24. ¿Cuáles son los niveles del paralelismo funcional? Explique cada uno.
- Nivel de Instrucciones u Operaciones: Cuando se ejecutan en paralelo las instrucciones de un programa. Es el nivel
de granularidad más fina que se considera en el ámbito de la arquitectura de computadores.
- Nivel de Bucle: Se ejecutan en paralelo distintas iteraciones de un bucle o secuencias de instrucciones de un
programa. En este caso la granularidad es fina-media.
- Nivel de Funciones: Distintos procedimientos que constituyen un programa se ejecutan simultáneamente. La
granularidad es media
- Nivel de Programas: Cuando la plataforma ejecuta en paralelo programas diferentes que pueden corresponder, o
no, a una misma aplicación. La granularidad es más gruesa
25. Las Arquitecturas según el tipo de paralelismo y la taxonomía de Flynn:
Paralelismo Funcional:
SISD: Proc. Segmentados, Proc. Superescalar, Proc. VLIW
MIMD: Memoria Compartida, Acceso Uniforme (SMP), Acceso no uniforme o distribuido, Paso de mensaje, Multi-
computadoras, Paralelismo de Datos
SIMD: Proc. Vectoriales, Proc. Matriciales, Proc. Sistolicos
26. ¿Qué distintas alternativas se han dado para aumentar las prestaciones de los procesadores segmentados?
- Implementar microarquitecturas más complejas para diseñar cauces en cuyas etapas se pueda procesar más de una
instrucción y reducir de esta forma el CPI.
- Aprovechar la mayor velocidad de los circuitos, diseñando cauces con mas etapas, cada una de las cuales necesita
un tiempo menor.
27. Enuncie los tipos de Benchmark y sus usos
- Aplicaciones reales: para analizar problemas de portabilidad y dependencia
- Kernels: para explicar las causas de las diferencias entre maquinas distintas
- Programas de prueba simples: pequeños programas insertados en la memoria cache
- Programas sintéticos: reproducen los porcentajes de instrucciones y uso de recursos.
28. Defina la ley de Amdahl e indique su utilidad.

, Donde

es la mejora de velocidad, p factor de mejora de recurso, f fracción de tiempo en la
maquina sin mejorar donde no se puede aplicar la mejora p.
La ley de Amdahl nos indica, hasta qué punto una mejora en un factor p en un recurso, afecta la mejora final
obtenida.
29. ¿Cuáles son los factores que determinan el precio final de un computador?
- Ganancia en ventas (beneficio para el vendedor)
- Margen bruto (costes indirectos)
- Costes directos (relacionados con la fabricación del producto)
- Costes de los componentes (fabricación de los IC)
30. ¿Cuáles son las distintas estructuras de niveles respecto a un computador?
Niveles conceptuales de Blaaw
- Niveles de Bell y Newell
- Niveles de interpretación de Levy
- Niveles funcionales de Tanenbaum
31. ¿Cuáles son los 5 niveles estructurales de Bell y Newell?
- De componente
- Electrónico
- Digital
- De transferencia entre registros (Register transfer)
- Procesador - Memoria - Interconexión (PMS)
32. ¿Cuáles son los 5 niveles de interpretación de Levy?
- Aplicaciones
- Lenguajes de alto nivel
- Sistema operativo
- Instrucciones maquina
- Microinstrucciones
33. ¿Cuál es la distribución de niveles que integra tanto los niveles de Bell y Newell como Levy y Tanenbaum?
- Niveles software superiores
- Nivel de sistema operativo
- Nivel de sistema computador
- Nivel RT
- Nivel de lógica digital
- Nivel de circuito electrónico
- Nivel de componentes
34. De una pequeña descripción acerca de SPEC.
Programa de prueba utilizado principalmente en el ámbito de los computadores de sobremesa y los servidores.
35. ¿Qué es arquitectura?
Es el conjunto de instrucciones, recursos y características del procesador que son visibles al software que se ejecuta
en el mismo. Por tanto, esta determina el software que el procesador puede ejecutar directamente y esencialmente
defina las especificaciones a las que debe ajustarse la microarquitectura.
36. ¿Cuáles son los dos niveles de privilegio en el modelo de programación?
- El nivel de usuario
- El nivel de sistema, donde se pueden usar instrucciones (como de I/O y de manipulación de estado, flags).
37. Nombre tres consorcios que promueven la utilización de los benchmark para la evaluación del rendimiento de
un computador.
- SPEC (Standard Performance Evaluation Corporation)
- TPC (Transaction Processing Council)
- EEMBC (EDN Embedded Microprocessor Benchmark Consortium)
38. ¿Qué ámbito incluye el el estudio de Arquitectura de Computadores?
- El lenguaje máquina del computador, la microarquitectura del procesador y la interfaz para los programas en
lenguaje maquina (lenguaje ensamblador y arquitectura concreta del procesador).
- Los elementos del computador y cómo interactúan (estructura y organización del computador).
- La interfaz que se ofrece a los programas de alto nivel y los módulos que permiten controlar el funcionamiento del
computador (sistema operativo).
- Los procedimientos cuantitativos para evaluar los sistemas (benchmarkings).
- Las alternativas posibles y las tendencias en su evolución.
39. ¿Cuál es el objetivo del estudio de la arquitectura de computadoras?
- Evaluar las prestaciones, características y analizar su desempeño identificando posibles cuellos de botella que
limitarían sus prestaciones.
- Diseñar y/o configurar un sistema para que se ajuste a los requisitos establecidos
- Aprovechar las características del computador para desarrollar aplicaciones eficaces, que cumplan con las
prestaciones requeridas.
40. ¿Cuál es la maquina base para los programas base del SPEC2000 y cuáles son sus características?
La máquina base es la estación de trabajo Ultra5_10, con un procesador SPARC a 300 MHz y 256 Mb de memoria.
BALOTARIO CAPITULO 2
1. ¿Cuál es la definición de segmentación de cauce?
La segmentación de cauce es una técnica que permite aumentar el rendimiento del sistema al que se aplica. Consiste
en descomponer el proceso, de una tarea que realiza el sistema, en fases o pasos; que permitan una ejecución de
estas fases en etapas independientes entre sí.
2. ¿Qué es el tiempo de latencia de inicio y cuál es su fórmula?
Es el tiempo que tarda una operación en procesarse completamente en el cauce. En un cauce segmentado la primera
instrucción termina de ejecutarse pasado un tiempo igual a TLI.
TLI = k*t
3. ¿Que son los riesgos o dependencias en la segmentación de cauce y cuáles son?
Un riesgo o dependencia de datos es cualquier condición que puede interrumpir el flujo continuo de instrucciones a
través del cauce, se distinguen tres tipos de riesgos:
- Riesgos de datos
- Riesgos estructurales
- Riesgos de control
4. ¿Cuáles son las soluciones para las dependencias de datos tipo RAW?
- La reorganización de código: Consiste en disponer de instrucciones independientes, que son colocadas entre
instrucciones, con dependencia RAW, para generar retrasos y lograr que una primera instrucción guarde su
resultado para que luego una segunda instrucción logre leer el resultado correcto.
- El interbloqueo entre etapas: Se introducen elementos hardware en el cauce para detectar la existencia de
dependencias, en el caso de que se detecte una la instrucción que debe leer el resultado de otra debe esperar un
numero de ciclos necesario.
- Los atajos (bypass): Se añaden buses en el cauce para permitir que los resultados de una etapa pasen como
entradas a la etapa donde son necesarios en caso de dependencias, al mismo tiempo que siguen su camino para
almacenarse en el banco de registros.
5. ¿Cuáles son los criterios que cumplen los cauces que no se ajustan al esquema de cauce lineal?
- Algunas etapas que se vuelven a reutilizar por una misma operación.
- Hay etapas que necesitan varios ciclos de reloj.
- Una misma operación puede utilizar más de una etapa al mismo tiempo.
- El orden en que se visitan las etapas puede cambiar de una operación otra (cauces multifuncionales).
- Puede existir dependencias entre las operaciones que se introducen en el cauce, de forma que el orden en que una
operación
6. ¿A partir de donde se construye el diagrama de retardos de inicio?
Se construye a partir de estados que se designan mediante un vector con tantos componentes como el vector de
colisiones y que representa las latencias prohibidas en ese estado, es decir los intervalos de tiempo en los que no se
puede introducir nuevas operaciones en el cauce desde el instante actual.
7. ¿De dónde parte el diseño de una unidad de control para un cause segmentado? ¿Cómo se construye?
Parte a partir de la tabla de reservas del cauce, se construye con una tabla con tantas filas como etapas tiene el
cauce y tantas columnas como ciclos como consume una operación al pasar a través de dicho cauce
8. ¿Por qué es importante las latencias prohibidas?
Es importante porque en un determinado instante no se pueden introducir nuevas operaciones en el cauce por que
darían lugar a colisiones.
9. ¿Cómo se organiza el cauce que definen las dimensiones de diseño de un procesador segmentado?
- Numero de tareas
- Subtarea que implementa cada etapa
- Distribución de la secuencia de etapa
- Uso de caminos de bypass (forwarding)
- Temporización del cauce
10. ¿Cuáles son las alternativas para la resolución dependencias?
- La resolución estática: La responsabilidad es el compilador, el cual inserta instrucciones de no operar para evitar
las dependencias de datos o control.
- Resolución dinámica: se realiza durante la ejecución de las instrucciones a través de los elementos hardware
(caminos de bypass).
- Resolución combinada: aquí actúan tanto el compilador como el hardware. El compilador mejora el rendimiento
del hardware reduciendo el efecto de sus posibles limitaciones.
11. En la distribución de la secuencia de etapas, ¿Cómo puede ser clasificado el cauce?
- Cause único o cauce multifuncional: las instrucciones de aritmética, de salto, de carga y almacenamiento son
procesadas por el mismo cauce físico.
- Cauce doble: en la etapa de ejecución presenta dos caminos alternativos, uno es seguido por operaciones en coma
flotante y por el otro camino se ejecutan las operaciones asociadas al resto de las instrucciones.
- Cauces múltiples: se pueden ejecutar varias operaciones simultáneamente, mejorando el rendimiento. Son más
complicadas pues se tiene que garantizar la consistencia secuencial del procesador.
12. ¿Cuáles son las 4 etapas de los cauces para arquitectura RISC y las 6 etapas para la arquitectura CISC?
1. Captación de instrucción (IF)
2. Decodificación de la instrucción y captacion de los operando de los registros (ID)
3. Ejecución de la operación codificada (EXE o ALU)
4. Escritura de los resultados (WB)
1. Captación de instrucciones
2. Decodificación de la instrucción y captación de operandos
3. Calculo de dirección
4. Acceso a memoria
5. Ejecución de operación
6. Escritura de resultados
13. ¿Cuál es el principal problema que presenta el cauce de tres etapas que utilizaban los procesadores ARM?
Era el denominado cuello de botella de Von Neuman: cualquier computador de programa almacenado con una única
memoria para datos y programas vera limitada sus prestaciones por el ancho de banda de memoria.
14. ¿Cómo se mejora las prestaciones de un ordenador?
Aumentando la frecuencia de reloj (f) y reduciendo el número de ciclos por instrucción (CPI)
15. ¿Cuáles son las condiciones por las que un estado se llama preciso según Smith y Pleskun en 1985?
Todas las instrucciones que se emitieron antes de la instrucción indicada por el contador de programa (PC)
almacenado (para continuar el proceso interrumpido) se han completado.
Las instrucciones posteriores al valor indicado por el PC almacenado no se ejecutan y no han cambiado el estado del
procesador.
Si la interrupción fue ocasionada por una instrucción, el contador del programa apunta a esa instrucción, que puede
ejecutarse completamente o no.
16. ¿Cuál es la taxonomía del diferente tipo de instrucciones?
- Generadas por el propio procesador para indicar una condición de error.
- Generadas por el propio procesador para acceder a un servicio del sistema operativo.
- Generadas fuera del procesador para indicar una condición de error
- Generadas fuera del procesador para acceder a un servicio del sistema operativo.
17. ¿Cuántas y cuáles son las etapas para un cauce RISC típico?
- Captación de la instrucción (IF)
- Decodificación de la instrucción y captación de los operandos de los registros (ID)
- Ejecución de la operación codificada (EXE o ALU)
- Escritura de los resultados en el fichero de registros (WB)
18. ¿Cuáles son las políticas de anulación de instrucciones captadas erróneamente en los saltos que pueden
implementar los procesadores segmentados?

19. ¿Cómo se realiza el proceso de carga (load) en los RISC?
En Procesadores RISC esto se hace en dos pasos:
- Se captan los contenidos de los registros donde está la información necesaria para calcular la dirección.
- Y se calcula la dirección efectiva a partir de dichos contenidos.
20. ¿Cómo se realiza el proceso de carga (load) en los CISC?
En Procesadores CISC, es más difícil determinar la dirección de memoria efectiva
Se puede necesitar captar los contenidos de varios registros y realizar cálculos diversos en caso de direccionamientos
indexados, con auto incrementos, direcciones relativas, etc.
21. ¿cuál es el principio de segmentación y como es que mejora en las prestaciones?
Si una operación se ejecuta en un tiempo T. la implementación se basa en dividir la ejecución de la operación en una
serie de fases que se realizan una después de la otra y rediseñar el programa de tal forma de que cada una de esas
fases se ejecute independientemente de las otras, en cada una de las etapa que constituye el sistema segmentado.
Así en un sistema segmentado con etapas que consumen un tiempo t, la ganancia de velocidad que se conseguiría en
la ejecución de n operaciones vendría dada por:

22. ¿En qué consiste la técnica de salto retardado y de qué depende?
Consiste en situar en los huecos instrucciones que se tengan que ejecutar antes que la instrucción de salto y que
sean independientes de ella, con esto el cauce puede terminar una instrucción por ciclo, mejorando el rendimiento.
23. En que se basa una implantación segmentada del sistema
Se basa en dividir la ejecución de la operación en una serie de fases que e realizan de después de la otra y en
rediseñar el sistema de forma que cada una de esas fases se ejecute independiente de las otras.
24. Describa la temporización síncrona y asíncrona.
El paso de las instrucciones de una etapa a otra que se coordina mediante el uso de una señal de reloj común a
todas las etapas se llama cauce síncrono, la frecuencia de reloj debe establecerse de forma que haya tiempo
suficiente para que la etapa más lenta pueda completar la tarea. La otra forma de coordinar el paso de las
instrucciones de una etapa a otra se basa en utilizar líneas de sincronización entre etapas consecutivas para
implementar un protocolo de conformidad.
25. ¿Cuál sería la política más adecuada para diseñar la unidad de control en un cauce multifuncional?
Lo más razonable sería utilizar una política de tipo avaricioso, de forma que, en cada estado, cuando se tenga que
iniciar una instrucción de un tipo determinado, se espere el mínimo número de intervalos para que no haya
colisiones.
26. ¿Si hago referencia a un error por fallo de página u originada por el programador en el propio código, a qué
tipo de interrupción hago referencia y con qué finalidad?
Hace referencia al tipo de interrupción generadas por el propio procesador, y esto con la finalidad de acceder a un
servicio del sistema operativo.
27. ¿En cuál de las arquitecturas RISC o CISC son más frecuentes o comunes tanto las instrucciones de carga como
la de almacenamiento?
Las operaciones de carga y almacenamiento son operaciones que tienen mayor participación o son más frecuentes
en Arquitecturas RISC que en las Arquitecturas CISC, es por eso que en las arquitecturas RISC las podemos encontrar
entre 25% y 35% de cargas y solamente un 10% de instrucciones de almacenamiento.
28. ¿Cuántas y cuáles son las 6 etapas de un procesador ARM en su tercera evolución?
1. Captación de las instrucciones (IF)
2. Decodificación de la instrucción (ID)
3. Decodificación y lectura de Registros (ID/OF)
4. Ejecución de la operación codificada (EXE)
5. Acceso a Memoria de datos (MEM)
6. Escritura de los resultados (WB)
29. ¿Cuál es el proceso de escritura en una interrupción precisa?
En primer lugar, garantizamos que el orden en que se atiendan a las interrupciones coincida con el orden de las
instrucciones, más que con el orden en que se producen estas. Pues habría que atender primero la interrupción de
LW y después la de ADD, es decir en lugar de atender la interrupción en el momento en que se produce, se atienden
las interrupciones únicamente en la etapa WB, la cual reconocerá una marca que viaja junto con la instrucción a
t n TLI
T n
T
T
n s
segmentado
segmentar
* ) 1 (
*
) (
sin
 
 
través de las etapas; es por eso que si la marca llega a la etapa WB, esta se atiende guardando el contador de
programa de esta instrucción o apunta a la siguiente instrucción.
30. ¿Cuáles son los tipos de organización de un cauce?
- Número de etapas
- Subtarea que implementa cada etapa
- Distribución de la secuencia de datos
- Uso de caminos de bypass (forwarding)
- Temporización del cauce (síncrono/asíncrono)
31. ¿Qué es el interbloqueo entre etapas?
Es cuando se introducen elementos de hardware en el cauce para detectar dependencias, en caso que se detecte
una la instrucción que debe leer el resultado proporcionado por la primera se detiene se detiene el número de ciclos
necesario.
32. Defina Productividad
Se define como el número de operaciones que se ejecutan por unidad de tiempo.
33. ¿Cómo se puede definir la eficiencia para un procesador segmentado?
Es la relación entre la ganancia de velocidad que proporciona el cauce y el número de etapas del mismo.
34. Si el cauce es de 5 etapas ¿Qué etapas se unen en una sola?
Para el cauce de 5 etapas, se unen las etapas EXE y C.
35. ¿Cuándo se habla de un cauce único?
Las instrucciones son procesadas por el mismo cauce físico.
36. ¿Cuándo se habla de un doble?
Cuando se presentan dos caminos alternativos en una cierta etapa del cauce principal.
37. ¿Cuándo se habla de un múltiple?
Cuando se presentan más de dos caminos alternativos para una etapa del cauce, Se usa unidades funcionales
diferentes.
38. ¿Cuál es la diferencia entre la resolución estática y la resolución dinámica?
- La resolución estática hace uso del compilador (software)
- La resolución dinámica hace uso de elementos hardware (caminos de bypass)
39. ¿Qué es latencia media?
Es el intervalo de tiempo medio en el que inician o terminan operaciones en el cauce.
40. ¿Cómo se identifican ciclos avariciosos?
Para construir un ciclo avaricioso se parte de un estado y se toma el camino que implica iniciar la operación
esperando el tiempo mínimo posible. Es decir, tomando el arco correspondiente a la latencia no prohibida más
pequeña del estado. Se pasa a un nuevo estado y se sigue el mismo procedimiento hasta que se cierra el ciclo.
BALOTARIO CAPITULO 3
1. ¿De qué depende 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.
2. ¿A qué se refiere procesamiento de la instrucción?
Se refiere a que la instrucción está en alguna de las etapas del cauce.
3. ¿A qué se refiere ejecución de la instrucción?
Se refiere a que la instrucción está en su etapa de ejecución.
4. ¿Qué es la emisión alineada y la emisión no alineada?
- Emisión alineada; La emisión es alineada si no puede introducirse nuevas instrucciones en la ventana de
instrucciones hasta que este no esté totalmente vacía.
- Emisión no alineada; La emisión no es alineada mientras exista espacio en la ventana, se pueden ir introduciendo
instrucciones para ser emitidas.
5. ¿En que afecta la utilización de las estaciones de reserva en un procesador superescalar?
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 de del paralelismo entre instrucciones.
6. ¿En qué consiste el envió de instrucciones?
Desde la estación de reservas, las instrucciones se envían a la unidad funcional cuando esta pueda empezar a
ejecutar nuevas instrucciones. El envió implica la selección de las instrucciones ejecutables y a su vez este envió
puede ser ordenado, desordenado o parcialmente ordenado.
7. ¿Qué tipo de dependencia, evita la técnica del renombramiento?
- WAR (WRITE AFTER READ): Escritura después de lectura
- WAW (WRITE AFTER WRITE): Escritura después de escritura
8. ¿En qué consiste la técnica de renombramiento?
Consiste en utilizar registros de micro-arquitectura como elementos de almacenamiento, permitiendo de esta forma
evitar los problemas de riesgos WAR y WAW mediante un espacio de almacenamiento alternativo en el que se
realiza la escritura final.
9. Breve descripción de las 5 partes del buffer de renombramiento con acceso asociativo
- Asignación valida: Es 1 si ha renombrado algún registro y la información de los otros campos es válida.
- Registro de Destino: Indica el registro que se ha renombrado.
- Contenido: Datos actualizados o contenido original del registro renombrado.
- Contenido Valido: es “0” si una instrucción (emitida o enviad) va a escribir aquí su resultado (no hay dato).
- Bit de Asignación última: es “1” si se hizo la última asignación al registro, se tomara este valor para la siguiente
instrucción.
10. ¿En qué consiste la regla de arbitraje en el envió de instrucciones hacia las unidades funcionales?
En el caso de que haya más de una instrucción ejecutable hay que utilizar alguna regla de arbitraje para seleccionar la
que se envía o las que se envían. Usualmente, el orden de envío se realiza teniendo en cuenta la antigüedad de las
instrucciones en la estación de reservas.
11. ¿Qué tipos de envió de instrucciones existe?
- Ordenado: Las instrucciones no ejecutables bloquean a las ejecutables que están después de ellas en la estación de
reservas.
- Desordenado:-No existe bloqueo entre instrucciones
- Parcialmente desordenado: Se produce bloqueo solo entre determinados tipos de instrucciones.
12. ¿Cuál es la diferencia entre los accesos indexado y asociativo de un buffer de renombramiento?
Para acceder al buffer de renombramiento existen dos alternativas: acceso asociativo y acceso indexado. El acceso
asociativo tiene en cada línea del buffer cinco campos. En cambio, el acceso indexado tiene para cada registro un
índice y un bit de asignación válida, además el buffer de renombramiento propiamente dicho, únicamente tiene el
campo de contenido y contenido válido.
13. ¿Cuál debería ser la consistencia de memoria para mejorar las prestaciones de un procesador?
Se podrían mejorar las prestaciones del procesador si se deja que puedan procesarse desordenadamente los accesos
a memoria. Es decir una consistencia de memoria débil mejoraría considerablemente las prestaciones.
14. ¿Por qué debe existir una consistencia de procesador fuerte?
Porque una finalización desordenada no aporta mejoras claras en cuanto a prestaciones. En cambio, una ejecución
desordenada de las instrucciones permite aprovechar el paralelismo entre instrucciones, en el contexto de una
finalización ordenada gracias a estructuras con el buffer de reordenamiento.
15. ¿Cuáles son las 2 alternativas para el establecimiento de la condición de salto?
- Bits de Estado: Existen bits de estado que se modifican al realizar operaciones, o mediante operaciones que actúan
específicamente sobre el valor del registro de bits de estado.
- Comprobación Directa: Los resultados de las operaciones se comprueban directamente respecto a las condiciones
específicas mediante instrucciones específicas. Pueden ser de Dos instrucciones y una instrucción.
16. ¿A qué se refiere el Procesamiento especulativo de los saltos?
La ejecución prosigue por el camino más probable (se especula sobre las instrucciones que se ejecutarán). Si se ha
errado en la predicción hay que recuperar el camino correcto (típica en los procesadores superescalares actuales).
17. ¿Cómo se clasifican los 2 procedimientos de predicción de saltos?
a. Predicción fija: se toma la misma decisión: el salto siempre se realiza, "taken" o "nottaken".
b. Predicción verdadera: La decisión de si se realiza o no el salto se toma mediante.
- Predicción estática: Según los atributos de la instrucción de salto (el código de operación, el desplazamiento, la
decisión del compilador).
- Predicción dinámica: Según el resultado de ejecuciones pasadas de la instrucción (historia de la instrucción de
salto).
18. ¿Cuál es la dificultad para procesar una interrupción en un procesador con finalización desordenada?
Esta es mayor en comparación a un procesador con finalización ordenada, debido a que una instrucción puede
ocasionar una interrupción después de que una instrucción que le sigue haya finalizado.
19. ¿Cuáles son los 2 campos importantes que se han añadido al ROB en el procesamiento de interrupciones con
buffer de reordenamiento?
- Vaciado o flush: Bit de activación que evita que se actualiceel banco de registros.
- Int: Bit de activación que marca el estado de excepción o interrupción.
20. ¿En que basa las interrupciones precisas con buffer de Historia?
Se basa en el uso de un buffer de historia, el cual guarda la información acerca del estado que se ha modificado al
actualizar los registros de arquitectura, de forma que se pueda recuperar en el caso de que se produzca alguna
interrupción.
21. Ejemplos de procesadores que usan bits de pre-decodificación
- HP-PA7200 (Arquitectura RISC)
- AMD-K6 (Arquitectura CISC)
22. ¿A qué se refiere la consistencia secuencial de un programa?
- El orden en que las instrucciones se completan.
- El orden en que se accede a memoria para leer (LOAD) o escribir (STORE)
23. Ejemplos de procesadores que utilizan el nivel de especulación de saltos condicionales
- Una instrucción de salto especulativa: ALPHA 21064, POWERPC 603
- Dos instrucciones de salto especulativa: POWER2
- Cuatro instrucciones de salto especulativa: POWERPC 620
- Seis instrucciones de salto especulativa: ALPHA 21164
24. Para que se añade una serie de bits en la etapa de pre-decodificación
Se añaden para permitir acelerar la decodificación completa de las instrucciones en la etapa posterior de
decodificación, el número de bits puede ser entre los 4 a 7 en arquitecturas RISC y algunos más para la arquitectura
CISC.
25. ¿En la captación y validez de operandos en la Emisión que función cumple el Bit de Validez en una estación de
reserva?
El bit de validez permite indicar si el dato se encuentra almacenado en dicho registro está disponible para poder ser
utilizado por la instrucción que lo necesita (por ejemplo, si el bit de validez está a 1), o no lo está (bit de validez igual
a 0), debido a que existe una instrucción ejecutándose que utiliza ese registro para escribir el resultado.
26. ¿Cuál es la definición de un procesador Superescalar?
Son procesadores segmentados cuyas etapas se han diseñado de forma que puedan procesar más de una instrucción
por ciclo, incorporando en su microarquitectura el hardware necesario para la gestión dinámica de los riesgos de
datos y de control.
27. Explique una diferencia fundamental entre un procesador escalar y segmentado
Un procesador escalar (a diferencia de un procesador VLIW) debe ser capaz de identificar el paralelismo entre
instrucciones (ILP) que existe en el código y permitir que los recursos se usen lo más eficazmente en la ejecución
paralela de instrucciones.
28. ¿A que se denomina paralelismo del procesador y como está determinado?
A la capacidad de procesar instrucciones en paralelo y viene determinado por el número de instrucciones que
pueden procesarse al mismo tiempo en cada una de las etapas del procesador: número de instrucciones que pueden
captarse, decodificarse, ejecutarse y escribir sus resultados al mismo tiempo.
29. ¿Cuáles son las principales estrategias para mejorar el paralelismo de instrucciones?
- La decodificación paralela y uso de pre decodificadores.
- La emisión paralela de instrucciones a las unidades funcionales.
- La ejecución paralela de las operaciones codificadas en las instrucciones en las distintas unidades funcionales.
- La finalización del procesamiento de las instrucciones.
- La detección y resolución de dependencias.
- El mantenimiento de la consistencia secuencial mediante el desacoplo de la ejecución de las instrucciones y la
escritura de resultados.
30. ¿Cuáles son las etapas de un procesamiento superescalar?
- Captación de instrucciones (IF): es capaz de leer varias instrucciones por ciclo desde la cache de más alto nivel.
- La etapa de decodificación (ID): Donde se decodifican varias instrucciones por ciclo.
- La etapa de emisión (ISS): Determina qué instrucciones pueden pasar a ejecutarse entre las que tienen disponibles
sus operandos y la unidad funcional correspondiente.
- La etapa de ejecución (EX): Donde pueden ejecutarse varias instrucciones en paralelo.
- La etapa de escritura (WB): Donde se almacenará los resultados.
31. ¿A que se denomina etapa de pre-decodificación?
Es parte de la etapa de decodificación, en muchos casos, una pre-etapa de decodificación (dada la cantidad de
instrucciones a decodificar), se implementa entre la cache L2 y la cache de instrucciones de primer nivel. Esta se
encarga de determinar el tipo de instrucción, facilitando así la identificación posterior de los recursos que se van a
usar.
32. Explique la diferencia fundamental entre los procesadores segmentados y escalares en la etapa de
decodificación paralela y pre-decodificación
- En un procesador segmentado hay una sola etapa de descodificación de instrucciones y búsqueda de operandos
(ID/OF).
- En un procesador super escalar existen unidades de descodificación (ID) y de emisión de instrucciones (ISS,issues)
separadas.
33. ¿De qué se encarga la etapa de emisión?
Determina que instrucciones pueden emitirse al disponer de sus operandos y existir unidades funcionales libres para
su ejecución. También se encarga de aplicar la correspondiente política para seleccionar las instrucciones que
finalmente se emiten.
34. ¿Qué ventajas trae la emisión ordenada y desordenada de instrucciones?
En la emisión ordenada las instrucciones se emiten en el orden en que aparecen en el programa. En la emisión
desordenada las instrucciones se emiten en forma desordenada para cualquier operación que se necesite. Es por
esto que en el caso de una emisión desordenada se aprovecha todo el potencial del computador, ya que a diferencia
de la emisión ordenada, las instrucciones empiezan a emitirse en cuanto los datos están disponibles, aprovechando
así el máximo grado de paralelismo de la máquina, y emitiendo varias instrucciones a la vez.
35. ¿Qué es la ventana de Emisión?
También llamada ventana de instrucciones, es una estructura que usa una cola de registros donde se almacenan las
instrucciones que han sido decodificadas y que están en espera de ser emitidas.
36. ¿Qué es una estación de reserva?
Siguiendo la técnica de shelving la ventana de instrucciones puede distribuirse en varias estructuras que reciben el
nombre de estaciones de reserva o consignas.
Son estructuras similares a la ventana de instrucciones pero específica para cada unidad funcional o para un conjunto
de unidades funcionales.
37. ¿De qué partes consta el procesamiento de una instrucción?
- Final de la ejecución de una operación codificada en la instrucción a partir del cual se dispone de los resultados
generados por las unidades funcionales pero no se ha modificado los registros de la computadora.
- Final del procesamiento de la instrucción o momento en que se retira o completa la instrucción, momento en el
que se describen los resultados de operación en los registros de arquitectura.
38. ¿Cuál es la tendencia en los procesadores superescalares en lo que se refiere a su consistencia?
Todo hace referencia a que los procesadores superescalares apuntan hacia el uso de esquemas de consistencia de
memoria débiles y esquema de consistencia de procesador fuertes basados en el uso de buffer de reordenamiento
estructuras similares.
39. ¿Qué tipos de renombramiento de registros existen? Existen dos tipos
- Estático: renombramiento se realiza durante la compilación.
- Dinámico: renombramiento se realiza durante la ejecución del programa.
40. ¿Cuáles son las 2 alternativas para el acceso a los buffers de renombramiento?
- Acceso Asociativo
- Acceso Indexado