EC PEC2 Enunciado
EC PEC2 Enunciado
EC PEC2 Enunciado
NOMBRE:
APELLIDOS:
Estructura de computadores
2024 s2
Competencias
Las competencias específicas que persigue la PEC2 son:
• [13] Capacidad para identificar los elementos de la estructura y los principios de
funcionamiento de un ordenador.
• [14] Capacidad para analizar la arquitectura y organización de los sistemas y
aplicaciones informáticos en red.
• [15] Conocer las tecnologías de comunicaciones actuales y emergentes y saberlas
aplicar convenientemente para diseñar y desarrollar soluciones basadas en sistemas
y tecnologías de la información.
Objetivos
Los objetivos de la siguiente PEC son:
• Conocer la organización del sistema de memoria de un computador.
• Conocer el funcionamiento de la memoria cache, así como los algoritmos de
correspondencia y reemplazamiento.
• Conocer la organización del sistema de entrada/salida.
• Comprender las técnicas de entrada/salida (entrada/salida programada,
Interrupciones y DMA).
Enunciado
Responder cada pregunta o apartado en el recuadro correspondiente.
Recursos
Podéis consultar los recursos disponibles en el aula, pero no hacer uso del foro.
Criterios de valoración
La puntuación y los criterios de evaluación los encontraréis en cada pregunta.
2
PEC2 · 2024-s2
Enunciado
Pregunta 1 (4 puntos)
Tenemos un sistema de memoria en el que todos los accesos se hacen a palabra (sin que
importe el tamaño de una palabra). El espacio de direcciones de memoria se descompone
en bloques de B= 8 palabras, lo que implica que cada bloque comienza en una dirección
múltiplo de B. La fórmula para calcular el identificador numérico del bloque es:
Bloque = dirección de memoria (dirección palabra) DIV B (tamaño del bloque en palabras)
El sistema dispone de una memoria cache de L= 4 líneas, donde cada línea tiene el tamaño
de un bloque. Estas líneas se identifican como líneas 0, 1, 2 y 3.
3
ejecución del programa, indicando únicamente los fallos que se producen. Suponemos que
el orden en que se ha accedido por última vez a los bloques 0, 1, 2 y 3, que están en caché,
es 0, 1, 2 y 3: es decir, el bloque 3 es el que se ha accedido más recientemente y el bloque
0 es el que se ha accedido hace más tiempo. Para cada fallo hay que llenar una columna
indicando la dirección de la palabra accedida, el nuevo bloque que se trae a la memoria
cache y a qué línea, expresado de la forma b (a1 – aB), donde b: número de bloque, y (a1 –
aB) son las direcciones del bloque, donde a1 es la primera dirección del bloque y aB es la
última dirección del bloque.
Criterios de valoración. Para los apartados 1.1 y 1.2 cada error en los fallos o aciertos de
la memoria cache o en la colocación de un bloque en la cache resta 0,5. Los dos apartados
finales están bien o están mal: no hay gradación.
4
PEC2 · 2024-s2
Pregunta 2 (5 puntos)
Se desea analizar el rendimiento de la comunicación de datos entre un dispositivo
conectado a un puerto USB y la memoria de un procesador. El sistema tiene las siguientes
características:
• Velocidad de transferencia del dispositivo de E/S (vtransf)= 1 MB/s= 1.000.000 Byte/s
• Tiempo de latencia promedio del dispositivo (tlatencia ) = 0
• Direcciones de los registros de datos y de estado del controlador de E/S: AF00h
y AF04h, respectivamente.
• El bit del registro de estado que indica que el controlador del puerto de E/S está
disponible es el bit 3 (cuarto bit menos significativo) que cuando vale 1 indica que
el puerto está disponible
• la frecuencia de reloj del procesador es 1 GHz, y el procesador puede ejecutar 1
instrucción cada 4 ciclos de reloj (tinstr = 4 × tciclo)
• Transferencia de escritura desde el puerto de E/S a la memoria
• Cada dato transferido son 4 Bytes
• Transferencia de Ndatos= 1.600.000 datos, es decir, 1.600.000 × 4 Bytes = 6,4
MBytes
• Dirección inicial de memoria donde residen los datos: 10000000h
2.1.c) (1 punto)
Si quisiéramos utilizar el mismo procesador y programa, pero con un dispositivo de E/S
más rápido, ¿Cuál es la máxima tasa o velocidad de transferencia del nuevo dispositivo
que se podría soportar sin que el dispositivo se tuviera que esperar?
5
Apartado 2.2 (2 puntos) E/S por Interrupciones
Suponer que el siguiente código CISCA es una rutina de servicio a las interrupciones (RSI)
para transferir a través del dispositivo de E/S anterior, el mismo número de datos que antes
(E/S programada), pero ahora mediante la técnica de E/S por interrupciones.
Suponer:
• Tiempo de programación y finalización de la transferencia de 1 microsegundo ( tprog
+ tfinal )
• El tiempo para atender la interrupción (trec_int), o tiempo adicional desde que la CPU
detecta la interrupción hasta que comienza a ejecutarse la primera instrucción de la
RSI es de 20 ciclos de reloj.
• Se utiliza una variable global que se representa con la etiqueta DIR, y que al
principio del programa contiene la dirección inicial de memoria donde residen los
datos a transferir.
2.2.b) (1 punto)
¿Cuál es el tiempo total que dedica la CPU a la tarea de Entrada/Salida, tcpu? ¿Qué
porcentaje representa el tiempo de transferencia del bloque ttransf_bloque respecto al tiempo
de transferencia del bloque por parte del periférico tbloque?
6
PEC2 · 2024-s2
Criterios de valoración. En los apartados 2.1.a y 2.2.a cada valor erróneo resta 0,25. El
resto de los apartados están bien o están mal: no hay gradación.
7
Pregunta 3 (1 punto)
Preguntas teóricas
3.a) (0,25 puntos)
Según el documento sobre el módulo 4 hay dos métodos fundamentales de acceso a las
memorias que son el acceso aleatorio y el asociativo. Explica cada uno de ellos y pon un
ejemplo concreto.