2do. Parcial

Anuncio
Segundo Parcial
Organización del Computador I
2 de Diciembre de 2003
Justifique detalladamente cada respuesta, incluyendo todas las cuentas y esquemas auxiliares.
Evite responder en lápiz. Resuelva cada ejercicio en hoja separada. Identifique todas las hojas.
Los números entre paréntesis al margen de cada ejercicio indican el valor de los mismos.
Se recomienda no invertir más de 32 p minutos en la resolución de un ejercicio de p puntos.
El parcial tiene 6 ejercicios, que permiten obtener un máximo de 100 puntos.
Se aprueba con un 60 % del puntaje máximo, y se promociona con un 80 % de dicho puntaje.
(04) 1. Para una arquitectura en la que el bus principal (o system bus) será accedido por dispositivos que operan
a muy diversas velocidades ¿Recomendarı́a Ud. un bus asincrónico o sincrónico?
Basándose tan sólo en las velocidades de los dispositivos que accederán al bus principal, la recomendación
primaria serı́a un bus asincrónico, ya que con un bus sincrónico se estarı́an imponiendo limitaciones de
velocidad innecesarias a los dispositivos más rápidos.
(10) 2. Un disco magnético gira a ω rpm, tiene un tiempo medio de búsqueda (seek ) de s milisegundos y pistas
de t bytes cada una, que están divididas en sectores de r bits. Derive una expresión (en segundos) para
el tiempo promedio L, que tomará leer completamente un sector cualquiera escogido al azar.
h s i
1 60
r
60
+
+
L=
| 1000
{z } |2 {zω } | 8t {z ω }
Seek
Latencia
Lectura
(24) 3. Suponga un disco de una cara, con 750 pistas de 22 sectores cada una, que gira a 3000 rpm y posee una
cabeza lecto-grabadora independiente para cada pista. Asumiendo un buffer de un sector que el canal de
la unidad es capaz de procesar en forma instantánea (el buffer siempre está listo), diga:
(a) ¿Cuántos sectores tendrı́a un cilindro de este disco?
(b) ¿Cuáles serı́an (en milisegundos) los tiempos de posicionamiento promedio y de peor caso?
(c) ¿Qué tiempo (en minutos) tomarı́a leer todos los sectores del disco en un orden aleatorio?
(d) Si todo el disco estuviera ocupado por un únco archivo al que se accede siempre en forma secuencial.
¿Qué tipo de cambios de rendimiento podrı́an esperarse si se emplease una técnica de interleaving?
(a) Para unidades de disco con una cabeza por superficie, en las que dichas cabezas se mueven solidariamente y se encuentran alineadas, un cilindro puede considerarse compuesto por todas las pistas de igual
radio. Sin embargo, para unidades con más de una cabeza por superficie, o bien con cabezas no alineadas,
o en las que las cabezas poseen capacidad de posicionamiento independiente, el concepto de cilindro es
más general. En estos casos, un cilindro puede considerarse como el conjunto de datos accesibles sin
reposicionamiento de cabezas o, equivalentemente, como el conjunto de pistas bajo las cabezas cuando
las mismas se encuentran en una posición determinada.
Dado que esta unidad puede acceder a todas las pistas sin necesidad de reposicionamiento de cabezas,
entonces tendrı́a un único cilindro de Ns = 750 x 22 = 16500 sectores.
NOTA: Si bien varios alumnos dieron la respuesta anterior, se ha otorgado también puntaje a aquellos
otros alumnos que, en base a la primera definición, respondieron que un cilindro tendrı́a 22 sectores.
(b) Por el mismo motivo, el tiempo de seek de esta unidad es nulo en todos los casos. Si bien no se pide
calcularlos, los tiempos de acceso, quedarı́an reducidos simplemente a las correspondientes latencias:
1 60
1 60
60
60
t=
=
= 10ms
tmax =
=
= 20ms
2 ω
2 3000
ω
3000
|
{z
}
|
{z
}
Tiempo de Acceso Medio
Tiempo de Acceso de Peor Caso
Página 1 de 4
Segundo Parcial
Organización del Computador I
2 de Diciembre de 2003
(c) Con la notación empleada en los puntos anteriores, el tiempo esperado promedio de lectura serı́a:
Ltot = Número de Sectores × (Tiempo de Acceso Medio + Tiempo de lectura) =
1 60
16500 60
165
= Ns t +
= 16500 × 0,01 +
= 165 +
= 180 segundos = 3 minutos
22 ω
22 3000
11
(d) Si el canal es capaz de descargar el buffer en forma instantánea, entonces no introduce ningún
factor de retardo que pueda compensarse dejando sectores fı́sicos libres entre dos sectores lógicamente
consecutivos. En consecuencia, el empleo de una técnica de interleaving producirı́a indefectiblemente una
degradación en el rendimiento de esta unidad.
(26) 4. Una arquitectura emplea una memoria principal de 64 MB, direccionable a palabras de 32 bits, y una
cache de correspondencia directa de 4096 lı́neas, que trabaja con bloques de memoria de 16 palabras.
(a) ¿Cuántos bits tendrı́an los campos etiqueta (MSB de la dirección) e ı́ndice (LSB de la dirección)?
(b) ¿Cuál serı́a el tamaño total (en KB ) de la cache incluyendo sus etiquetas?
(c) Suponiendo que todas las instrucciones son de 32 bits y que la única actividad que tiene lugar en la
máquina es la ejecución del siguiente segmento de código (que está cargado a partir de la dirección
AD21A0h) ¿Cuál serı́a el porcentaje esperable de de aciertos durante la ejecución del mismo?
Ciclo:
MOV
MOV
MOV
JMP
REG1 ,
REG2 ,
[REG1],
Ciclo
8623
[REG1]
REG2
;Mueve al registro 1 la constente decimal 8623
;Donde [REG1] denota direccionamiento
; indirecto sobre el registro 1
;Repite el ciclo indefinidamente
(d) Idem (c), pero si la cache fuese de correspondencia totalmente asociativa?
(a) Si la memoria tiene 64 MB (226 bytes) direccionables a palabras de 32 bits (22 bytes), entonces tiene
26
un total de 222 = 224 direcciones que, en consecuencia, serán de 24 bits. Si los bloques tienen 16 = 24
palabras, entonces el campo ı́ndice de la cache requerirá 4 bits. Como la cache tiene 4096 = 212 lı́neas, el
campo lı́nea requerirá 12 bits, de forma que el campo etiqueta resultará de 24 − 4 − 12 = 8 bits. Sabiendo
que etiqueta se almacena en los M SB de la dirección, y el campo ı́ndice en los LSB, entonces la cache
interpretará una dirección de 24 bits como:
Campo etiqueta Campo lı́nea Campo ı́ndice
{z
}|
{z
}|
{z
}
|
8 bits
12 bits
4 bits
(b) Por cada una de sus 212 lı́neas la cache deberá almacenar 23 bits de etiqueta y un bloque de 24
palabras de 25 bits cada una. De este modo (y teniendo en cuenta que la cache emplea una polı́tica de
escritura inmediata) su tamaño total resultará:
212 23 + 24 25 bits = 215 1 + 26 bits = 212 × 65 bytes = 4 × 65 KB = 260KB
(c) Como la ejecución del segmento es la única actividad de la máquina, el estado de la cache dependerá exclusivamente de los accesos a memoria que requiera dicho segmento. Dado que el mismo se repite
indefinidamente, la tasa de aciertos se estabilizará después de varios ciclos resultando independiente del
contenido inicial de la cache. El procesador requerirá accesos a memoria durante i) Los ciclos de fetch
de cada instrucción, y ii) La ejecución de aquellas instrucciones que referencien la memoria. Como las
instrucciones son de una palabra, el segmento de código se cargará entre AD21A0h y AD21A3h, por
lo que una cache de correspondencia directa almacenarı́a el bloque de código en su lı́nea 21Ah. Dado
que la única dirección de memoria referenciada por el segmento es la 8632 decimal (0021AFh), la cache
emplearı́a la misma lı́nea (21Ah) para almacenar el bloque que contiene dicha posición. De este modo
(y teneiendo en cuenta que todas las escrituras pasan por la cache) los ciclos de fetch y ejecución competirán por la misma lı́nea de cache, resultando en:
Página 2 de 4
Segundo Parcial
Ciclo:
MOV
MOV
MOV
JMP
Organización del Computador I
REG1 ,
REG2 ,
[REG1],
Ciclo
8623
[REG1]
REG2
2 de Diciembre de 2003
;HIT o MISS que será irrelevante después de varos ciclos
;HIT en el fetch, MISS en el operando
;MISS en el fetch y MISS en el operando
;MISS en el fetch
Con lo que la tasa de aciertos será de 1/5 = 20 %.
(d) Después de algunos ciclos, una cache de correspondencia totalmente asociativa emplearı́a lı́neas
distintas para ambos bloques, los que quedarı́an referenciados por las etiquetas AD21Ah y 0021Ah
respectivamente. De este modo, resultarı́a una tasa de aciertos del 100 %.(NOTA: Esto continuarı́a siendo
válido aún en el caso particular de que la cache emplease un algoritmo de sustitución aleatorio ¿Por qué?).
(24) 5. Una unidad de cinta lee y graba a 60 ips y 1600 bpi. Después de cada bloque (registro fı́sico) la unidad
deja un gap de 53 de pulgada, a lo largo del que la velocidad efectiva de la cinta se reduce a la mitad.
En un carrete de 2400 pies útiles, se han grabado registros lógicos de 120 bytes c/u. Sabiendo que la
controladora agrega un header de 28 bytes y un trailer de 12 bytes a cada bloque que graba, diga:
(a) ¿Cuánto tiempo (en segundos) toma leer la cinta entera si en cada bloque hay 5 registros lógicos?
(b) ¿Cuánto tiempo (en segundos) toma leer la cinta entera si en cada bloque hay 77 registros lógicos?
(c) ¿Cuál es la velocidad de transferencia efectiva (en bytes/seg.) en cada uno de los casos anteriores?
Independientemente del número de regı́stros lógicos que contenga cada bloque, la contrloadora añade
1
siempre 40 bytes por bloque, los que ocuparán por sı́ mismos una longitud de lh = 40Bytes
1600bpi = 40 de
3
pulgada. Adicionalmente, después de cada bloque se deja un gap de lg = 5 de pulgada sobre el que se
1
avanza en tg = (3/5)pulgada
= 50
de segundo. De este modo, un bloque que contenga n registros lógicos
30ips
de 120 bytes cada uno ocupará una longitud
lb = lh +
120nBytes
1 + 3n
=
de pulgada
1600bpi
40
y podrá ser leido o grabado en un tiempo
tb =
[(1 + 3n)/40] pulgadas
1 + 3n
=
segundos
60 ips
2400
En consecuencia, un bloque más su correspondiente gap ocupan
l = l b + lg =
25 + 3n
1 + 3n 3
+ =
pulgadas
40
5
40
y se avanza sobre ambos en
t = tb + t g =
1
49 + 3n
1 + 3n
+
=
segundos
2400
50
2400
Si la longitud útil de la cinta es de 2400 pies, entonces el tiempo total de lectura T será
T =
12 × 2400 × t
12 × (49 + 3n) × 40
480 × (49 + 3n)
=
=
segundos
l
25 + 3n
25 + 3n
Y la velocidad efectiva de transferencia R será
R=
120n
120n × 2400
288000n
=
=
bytes/segundo
t
49 + 3n
49 + 3n
(a) Haciendo n = 5, se tiene T5 =
480×(49+15)
25+15
(b) Haciendo n = 77, se tiene T77 =
= 768 segundos.
480×(49+231)
25+231
= 525 segundos.
Página 3 de 4
Segundo Parcial
Organización del Computador I
2 de Diciembre de 2003
(c) Reemplazando los valores de n en la expresión obtenida para R, se tiene
R5 =
288000 × 5
= 22500 bytes/segundo
49 + 15
y
R77 =
288000 × 77
= 79200 bytes/segundo
49 + 231
(12) 6. Considere la memoria principal del ejercicio (4) trabajando con una cache de 4096 lı́neas y bloques de
16 palabras de la que se sabe, además, que NO es asociativa por conjuntos. Con la cache inicialmente
vacı́a, el procesador direcciona las siguientes posiciones, obteniendo los resultados que se especifican:
1) 000000h MISS 2) 00000Ch ???? 3) 333334h MISS 4) 330004h MISS 5) 330008h ???? 6) 000000h HIT
(a) El segundo requrimiento, ¿resultará en MISS o HIT ? ¿Y el quinto?
(b) Diga qué tipo de correspondencia emplea la cache.
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.
Página 4 de 4
Descargar