Está en la página 1de 1

II EXAMEN DEL GRUPO_ B DE ARQUITECTURA DE COMPUTADORAS 2021_B

APELLIDOS Y NOMBRES………………………………………………..CUI……………………FIRMA………….

1.-Un microprocesador incluye una CPU de 64 bits y caches separadas para datos e instrucciones, de 4 Kbytes cada una, con líneas de 64 bytes,
y organizadas como caches asociativas por conjuntos de dos vías. El tiempo de acceso a la memoria cache es de 6  ns, la política de
reemplazo es LRU (se reemplaza la línea que lleve más tiempo sin utilizarse), y la de actualización es de post-escritura ( write-back). El
microprocesador está conectado a dos memorias externas separadas para datos e instrucciones mediante dos buses independientes de
300 MHz y 64 líneas de datos cada uno, con un tiempo de acceso de 60 ns y accesos burst 5-1-1-1.
Se está ejecutando un programa en el que la secuencia de instrucciones que se encuentran entre las direcciones 0x0000 – 0x1fff constituyen
un bucle que se repite 30 veces, y tras ellas existe una secuencia de instrucciones que ocupa desde la dirección 0x2000 hasta la 0x2ff8, y que
se ejecuta una vez. En el 60% de las instrucciones del programa, se hace referencia a un dato, ocasionándose un total de 500 fallos en el
acceso a estos datos.
a). - Suponiendo que las caches están inicialmente vacías ¿Cuál es la tasa de aciertos para el acceso a los datos y a las instrucciones en el
programa?
b). - ¿Cuál es el tiempo medio de acceso a la memoria de instrucciones?
c). - ¿Cuál es el tiempo medio de acceso a la memoria de datos si el 20% de los fallos por acceso a datos dan lugar a reemplazo de la
línea con actualización de la línea reemplazada en memoria?
2.- Un procesador utiliza un esquema de predicción dinámica de saltos de dos niveles similar al del Pentium III: tres bits de historia se utilizan
para indicar si en las tres últimas ejecuciones de la instrucción hubo o no hubo salto, y esos tres bits de historia sirven de puntero a 8
contadores de dos bits, cada uno de los cuales se utiliza para realizar la predicción correspondiente según su estado como en un esquema de
predicción de dos bits. En la primera ejecución, los tres bits que apuntan a los contadores de dos bits están a 000 y los bits de los contadores
de dos bits se inicializan a 00 (predice no saltar) si la instrucción de salto es hacia adelante y a 11 (predice saltar) si el salto es hacia atrás. Si
la predicción es correcta no hay penalización, pero si es incorrecta, la penalización es de cuatro ciclos.
¿Cuál es la penalización para la secuencia N1 S2 N3 N1 N2 S3 N1 S2 N3 S1 S2 N3, teniendo en cuenta que S significa que la instrucción de salto
dará lugar a un salto, N que no dará lugar a un salto, y cada subíndice (1, 2, 3) hace referencia a una instrucción de salto distinta?
NOTA: La instrucción 1 salta hacia atrás y las instrucciones 2 y 3 saltan hacia adelante.
3.- Tiene una aplicación de procesamiento de señal que debe repetir 4000 veces el cálculo a(i)= f(a(i),a(i+1), a(i+2),a(i+3)) para cada muestra
de la señal a(i) (i=1,..,2 20-3) que ocupa 4 bytes, y f() es una función determinada. El código que permite implementar el cálculo está
constituido por 24 instrucciones de 32 bits que se repiten para cada muestra. De las instrucciones, 4 son de acceso a memoria para
leer/escribir datos, 4 son instrucciones de operaciones aritméticas, y 4 son de control del bucle, actualización de punteros, etc.
Suponga un computador que dispone de un procesador superescalar que funciona a 2 GHz. y que puede terminar hasta 3 instrucciones por
ciclo, con una memoria cache interna para datos y otra para instrucciones de 64 KBytes cada una, mapeo directo, líneas de 32 bytes, y
tiempo de acceso de un ciclo de reloj. La memoria cache de datos utiliza política de actualización de post-escritura (write-back). La memoria
principal de 256 MBytes tiene un tiempo de acceso de 50 ns. y se conecta a través de un bus de 64 bits a 100 MHz. que utiliza ciclos burst 5-
1-1-1 para transferir las líneas de cache.
Si la señal está almacenada en memoria a partir de la posición 0h, y el código está alineado con una línea de cache:
(a) Realice una estimación del tiempo mínimo que tardaría en ejecutarse la aplicación.
(b) Si se utiliza un compilador que es capaz de reducir el número de instrucciones de acceso a memoria, (pasando de 4 a 1 instrucciones de
acceso a memoria por muestra) ¿Cuál sería ahora el tiempo mínimo estimado?
4.- Se dispone de un procesador superescalar en el que se pueden captar y decodificar hasta dos instrucciones por ciclo. Este ordenador cuenta
con dos sumadores de latencia 2 ciclos, un multiplicador de latencia 4 ciclos, y una unidad de carga con una latencia de 1 ciclo si se produce
un acierto en la cache o 3 ciclos si el dato solicitado no se encuentra en la cache. Cada unidad de ejecución cuenta con su propia estación de
reserva de 3 entradas. Para mantener la consistencia secuencial y garantizar un tratamiento preciso de las interrupciones, las instrucciones se
introducen en un búfer de reordenamiento en la etapa de decodificación, del que se retiran de dos en dos de manera ordenada una vez han
terminado su ejecución. En dicho procesador se pretende ejecutar el siguiente fragmento de código (que ya está alojado en la cache de
instrucciones):

multd f4, f1, f2 ; (1)


ld f5, X(r3) ; (2)
addd f2, f3, f1 ; (3)
addd f3, f4, f2 ; (4)
subd f2, f3, f5 ; (5)

Al intentar cargar la variable X, se produce un fallo de página porque dicha variable no se encuentra ni en la cache ni en memoria
principal. Dicho fallo se detecta en el ciclo 2 de la ejecución de la instrucción ld, cuando se consulta la tabla de páginas de SO. En ese
momento, se genera una excepción para indicar el problema.
a). - ¿Qué contenido tiene el búfer de reordenamiento en ese ciclo?
b). - ¿En qué ciclo se comenzará a ejecutar la rutina de servicio de la interrupción?
c). - Si la rutina de servicio de interrupción tarda 237 ciclos en traer la página a la memoria principal y retornar el control al
d).- ¿Cuántos ciclos tardará en terminar la ejecución completa del fragmento de código?
5.-Cuales son las principales estrategias que se han propuesto para resolver los problemas de un procesador superescalar.
6.- para mantener la consistencia con el modelo secuencial de ejecución en el caso de interrupciones que posibilidades se pueden
considerar.
7.- Indique las fases operación de lectura de una celda de memoria.
8.- como se caracterizan las prestaciones de la memoria.

También podría gustarte