2do. Parcial

Anuncio
Segundo Parcial
Organización del Computador I
4 de Julio de 2006
Justifique detalladamente cada respuesta. Evite responder en lápiz. Identifique todas las hojas.
El examen tiene 6 ejercicios, que permiten obtener un máximo de 100 puntos. Se aprueba con 60 y
se promociona con 80. Los números entre paréntesis al margen de cada ejercicio indican su valor.
La duración prevista es de 3 horas y 20 minutos, por lo que se recomienda administrar el tiempo
disponible no invirtiendo más de 1.8 × p minutos en la resolución de un ejercicio de p puntos.
(30) 1. Se tiene un disco con 16 cabezas lecto-grabadoras, 16383 cilindros, y 63 sectores de 512 Bytes por pista.
La velocidad de rotación es de 7200 rpm, el tiempo de posicionamiento es de 4 ms para pistas adyacentes,
16 ms en promedio y 30 ms en el peor caso. El disco posee un buffer de 512 Bytes que, una vez lleno,
se transfiere a memoria en 15 ms exactamente. Por último, una unidad de medida llamda bloque esta
compuesta por 3 sectores contiguos.
(a) Calcule la capacidad total del disco.
(b) Estime el tiempo promedio que tardarı́a en leerse y transferirse a memoria 1 bloque elegido al azar.
(c) Idem (b), pero en el peor caso.
(d) Suponiendo que los sectores de cada bloque no fueran contiguos, recalcule el tiempo (b) empleando
un interleaving óptimo.
Resolución:
(a) La capacidad total será de 512 Bytes/sector × 63 sectores/pista×16383 pistas/caras × 16 caras =
8455200768 Bytes = 8257032 KB u 8064 MB u 7,87 GB.
(b) El perı́odo de revolución resulta T = 1/7200 minutos = 60/7200 segundos = 1/120 segundos =
25/3 ms, de modo que la latencia media será 25/6 ms. El tiempo de lectura de un sector será T /63 =
25/189 ms. Ası́, para un bloque elegido al azar, el tiempo total de lectura y transferencia podrı́a
estimarse como el tiempo medio de posicionamiento inicial en el cilindro más el tiempo medio de
lectura y transferencia de cada uno de los 3 sectores del bloque. Vale decir: 16 ms + 3 × (25/6 ms +
25/189 ms + 15 ms) = (16 + 25/2 + 25/63 + 45) ms = 73,9 ms.
(c) Basta reemplazar en el cálculo anterior el tiempo medio de posicionamiento por el de peor caso.
Ası́, resulta (30 + 25/2 + 25/63 + 45) ms = 87,9 ms.
(d) Luego de leer un sector, sigue la transferencia de 15 ms, entonces habrı́a que calcular cuántos sectores
pasan por debajo de las cabezas para cuando termina la transferencia. Eso es 15 ms/[(25/189) ms] =
3 × 189/5 = 113,4 sectores. En consecuencia, una vez leı́do y transferido el sector i, el disco estará a
tiempo de comenzar la lectura del sector i+114 casi inmediatamente. Como i+114 ≡ i+51 (mód 63),
el interleving ideal serı́a (1 : 51), de modo que al recalcular (b) se tiene: 16 ms+25/6 ms+3×(25/189 ms+
114 × 25/189 ms) = (16 + 25/6 + 115 × 25/63) ms = 65,8 ms.
(12) 2. Describa el concepto de jerarquı́as de memoria, y explique detalladamente los motivos por los que esta
técnica permite mejorar el rendimiento efectivo de ciertos sistemas.
Resolución:
El concepto se basa en el uso combinado dentro de un mismo sistema de de memorias más costosas,
rápidas y pequeñas, y memorias más económicas, lentas y grandes.
La idea de fondo es la siguiente: Si, dentro de un cierto intervalo temporal, un sistema accede a un
número pequeño de datos con una frecuencia muy alta, mientras que sólo accede muy esporádicamente
al resto de los datos almacenados, entonces una pequeña cantidad de memoria rápida podrı́a destinarse
al almacenamiento de los datos más requeridos, en tanto que aquellos a los que se accede menos
frecuentemente podrı́an almacenarse en una memoria más lenta. De este modo, el rendimiento efectivo
del sistema podrı́a aumentar considerablemente a un costo controlable (ya que sólo se emplearı́a una
cantidad pequeña de memoria costosa adicional).
Página 1 de 3
Segundo Parcial
Organización del Computador I
4 de Julio de 2006
El principio de localidad establece que durante la ejecución de un programa las referencias a memoria
tienden a estar temporalmente agrupadas. Es decir, durante tiempos cortos, la mayorı́a de las referencias
pueden agruparse en conjuntos de direcciones cercanas entre sı́. De este modo, si un sistema obedece a
este principio, en general será posible incrementar su eficiencia en los accesos a memoria empleando el
concepto de jerarquı́as.
(08) 3. En algunas arquitecturas es posible definir zonas de memoria como excluı́das de cache (las referencias a
estas direcciones deben resolverse en memoria principal) ¿Por qué motivos podrı́a ser esto deseable?
Resolución:
Para evitar inconsistencias en los contenidos de cache cuando la memoria principal puede ser alterada
por otros dispositivos, por ejemplo, en sistemas con DMA.
(16) 4. Una arquitectura emplea una memoria principal de 64 MB direccionable a palabras de 32 bits, y una
cache que NO es asociativa por conjuntos de 4096 lı́neas y 16 palabras útiles por lı́nea. Con la cache
inicialmente vacı́a, el procesador direcciona las siguientes posiciones, obteniendo los resultados que se
especifican:
1)
2)
3)
4)
5)
6)
000000h
00000Ch
333334h
330004h
330008h
000000h
MISS
????
MISS
MISS
????
HIT
(a) El segundo requrimiento, ¿resultará en MISS o HIT ? ¿Y el quinto?
(b) Diga qué tipo de correspondencia emplea la cache.
Resolución:
Dentro del marco de este curso, si una cache NO es de correspondencia asociativa por conjuntos,
entonces sólo podrı́a ser de correspondencia directa o de correspondencia totalmente asociativa. (a)
Para cualquiera de los dos tipos de cache, el segundo requerimiento resultará en HIT, ya que la lı́nea
correspondiente debió cargarse a consecuencia del primer requerimiento. De igual modo, el cuarto
requerimiento garantiza que el quinto tanbién resulte en HIT.
(b) Si la cache fuese directa, entonces el cuarto requerimiento hubiese desalojado la lı́nea 000h, y el sexto
requerimiento hubiese resultado un MISS. En consecuencia, la cache debe ser totalmente asociativa.
(08) 5. Algunas arquitecturas implementan una interrupción temporizada que se dispara automáticamente cada
n ciclos de reloj. ¿De qué sirve interrumpir al procesador cuando nadie requiere realmente su atención?
Resolución:
Puede servir, por ejemplo, para limitar el tiempo de CPU asignado a un proceso. De este modo, serı́a
posible ejecutar concurrentemente más de un proceso en ausencia de otras fuentes de interrupción.
(26) 6. Un computador recibe una transmisión asincrónica a 2560bps por un puerto serie dotado de un buffer
interno de 32B. Cada vez que el buffer se llena, su controlador levanta una interrupción cuya rutina
de atención demora 2,5µs en vaciar el buffer. Cada 5ms el hardware genera, además, una interrupción
temporizada cuya rutina de atención insume, en promedio, 1,5µs.
Página 2 de 3
Segundo Parcial
Organización del Computador I
4 de Julio de 2006
(a) Suponiendo que sólo se presenten estos dos tipos de interrupciones durante una transmisión extensa,
¿Qué porcentaje del tiempo de CPU se estará dedicando, en promedio, a atender interrupciones?
(b) ¿Qué podrı́a hacer el puerto serie para evitar seguir recibiendo datos mientras se atiende su interrupción?
(c) Escriba el pseudocódigo de la rutina de atención del puerto serie.
Resolución:
Como el buffer tiene 32Bytes = 256bits, una transmisión asincrónica a 2560bps llenará el buffer en
256bits/2560bps = 100ms. Durante ese tiempo se producirán, además, 100ms/5ms = 20 interrupciones
temporizadas que insumirán un total de 20 × 1,5µs = 30µs.
(a) En una primera aproximación (despreciando el tiempo de atención de las interrupciones del puerto
serie) podrı́amos decir que el procesador atiende interrupciones durante el 30µs×100/100ms = 3/100 =
0,03 % de su tiempo. Un cálculo más minucioso podrı́a ser 32,5µs×100/100002,5µs = 3/100 = 0,0325 %
del tiempo.
(b) Por ejemplo, proveer en el bus una señal de control del tipo Listo para recibir, que inhiba al emisor
cuando está en LO.
(c) Por ejemplo, asumiendo palabras de 16bits:
PROC AtencionDelPuertoSerie
Inhibir interrupciones
PUSH AX
PUSH CX
PUSH SI
Habilitar interrupciones de mayor prioridad
MOV CX, 16
LEA SI, BufferDeSO
Ciclo:
IN AX, DataPuertoSerie
MOV [SI], AX
INC SI
INC SI
Loop Ciclo
POP SI
POP CX
POP AX
Habilitar todas las interrupciones
ENDP
Página 3 de 3
Descargar