Ejercicios temas 7,8 PDF

Title Ejercicios temas 7,8
Course Estructura de Computadores
Institution Universidade da Coruña
Pages 8
File Size 191 KB
File Type PDF
Total Downloads 85
Total Views 115

Summary

Ejercicios sobre Sistemas de almacenamiento y Buses de E/S....


Description

Ejercicios temas 7 y 8 1. Disponemos de 8 discos de 300 GB en una configuraci´on de RAID 0. ¿Cu´antos discos necesitar´ıamos para mantener en el sistema la misma informaci´on neta para cada una de estas configuraciones RAID: RAID 1, RAID 3, RAID 4, RAID 5 y RAID 6? Indica la cantidad de informaci´on redundante o de control (en GBytes) que tenemos en cada configuraci´on. ´ SOLUCION: Conf. RAID RAID RAID RAID RAID RAID

No discos

Info neta

Info red.

8 16 9 9 9 10

2400 GB 2400 GB 2400 GB 2400 GB 2400 GB 2400 GB

0 Bytes 2400 GB 300 GB 300 GB 300 GB 600 GB

0 1 3 4 5 6

2. Entre los sistemas RAID 0, RAID 1, y RAID 5, ¿qu´e sistema usar´ıas para una aplicaci´on bancaria con bajos requerimientos en cuento a rendimiento pero muy altos en cuanto a fiabilidad? ¿Y para un sistema de pago por internet con m´ ultiples usuarios concurrentes? ´ Un RAID 1 en el primer caso, que presenta alta fiabilidad aunque moderado SOLUCION: rendimiento; y un RAID 5 en el segundo caso, con fiabilidad intermedia y alto rendimiento 3. Completa la siguiente tabla con Xs en funci´ on de las caracter´ısticas de los diferentes niveles de RAID indicados: Caracter´ıstica 0 1 3 5 disco de paridad paridad distribuida mirroring striping ´ SOLUCION: Caracter´ıstica disco de paridad paridad distribuida mirroring striping

0

1

3 x

5 x

x x

x

x

4. Supongamos que tenemos un sistema con las siguientes caracter´ısticas: Un t´andem bus-memoria que soporta operaciones de un n´ umero arbitrario de palabras de 32 bits. El bus es de 32 bits y tiene una frecuencia de 500 MHz. Las direcciones de memoria son tambi´en de 32 bits.

1

El tiempo de acceso a memoria para las cuatro primeras palabras de un bloque es de 50 ns. Para bloques mayores, cada grupo adicional de cuatro palabras se obtiene en 10 ns. Las transferencias por el bus y los accesos a memoria pueden solaparse. Se supone que el bus est´a disponible antes de cada acceso. Las lecturas y las escrituras en memoria consumen la misma cantidad de tiempo. El sistema incorpora, adem´as, una memoria cach´e con pol´ıtica de post-escritura, de la que se han obtenido las siguientes medidas de rendimiento: Cuando se produce un fallo cach´e, el 40 % de las veces es necesario realizar la operaci´on de post-escritura en memoria principal, mientras que en el resto de las ocasiones solo la lectura es necesaria. Una tasa de fallos cach´e de 0,05 fallos por instruc. para un tama˜ no de l´ınea de 4 palabras. Una tasa de fallos cach´e de 0,03 fallos por instruc. para un tama˜ no de l´ınea de 16 palabras. Suponiendo que el procesador se queda esperando durante la duraci´on completa de un fallo cach´e (incluyendo el tiempo de post-escritura, si es necesario), ¿cu´antos ciclos por instrucci´on se gastan en la gesti´on de los fallos cach´e para los dos tama˜ nos de l´ınea considerados (4 y 16 palabras)? Se aconseja comenzar calculando la penalizaci´on media (en ciclos) que tiene un fallo cach´e para cada una de los dos configuraciones. ´ SOLUCION: Como nos sugiere el enunciado, comenzamos pensando c´ omo calcular la penalizaci´on media que produce un fallo cach´e. Un fallo cach´e supone siempre una operaci´ on de lectura en memoria principal: es decir, el 100 % de los fallos cach´e producen la lectura de una l´ınea. Adem´as de esta lectura, en la cach´e de post-escritura de este ejercicio el 40 % de las veces que hay un fallo se va a producir adem´ as la escritura de la l´ınea reemplazada. Por tanto: P enalcachemissavg = Treadline + 0,4 × Twriteline Como el enunciado nos dice que lecturas y escrituras consumen la misma cantidad de tiempo, Treadline = Twriteline , por lo que: P enalcachemissavg = 1,4 × Treadline Obtenemos ahora la latencia para una operaci´ on de lectura en el bus para los dos tama˜ nos de l´ınea que se nos piden (4 y 16 palabras de 32 bits): Tclock = 1/500 MHz = 2 ns Twait = 50 ns = 25 ciclos Lectura de 4 palabras:

2

Tread4pal = Tini

op

+ Twait + Ttx

4pal

= 1 + 25 + 4 = 30 ciclos

Lectura de 16 palabras: Twait2 = Twait3 = Twait4 = 10 ns = 5 ciclos

Tread16pal = Tini

op

+ Twait1 + 3 × Twait2 + Ttx4

4pal

= 1 + 25 + 3 × 5 + 4 = 45 ciclos

Por tanto, las penalizaciones por fallo para las dos configuraciones de cach´e quedan: P enalcachemissavg P enalcachemissavg

4pal/lin

= 1,4 × Treadline4pal = 1,4 × 30 = 42 ciclos

16pal/lin

= 1,4 × Treadline16pal = 1,4 × 45 = 63 ciclos

Ahora ya podemos obtener los ciclos por instrucci´on que se gastan en la gesti´on de fallos cach´e en ambas configuraciones: Cach´e de 4 pal/l´ınea: 0,05 fallos/instr × 42 ciclospenal/fallo = 2,1 ciclos Cach´e de 16 pal/l´ınea: 0,03 fallos/instr × 63 ciclospenal/fallo = 1,89 ciclos

5. Queremos comparar el ancho de banda m´ aximo de un bus s´ıncrono y un bus as´ıncrono. El bus s´ıncrono tiene un tiempo de ciclo de 50 ns, y cada transmisi´ on dura un ciclo de reloj. El bus as´ıncrono requiere 40 ns para el protocolo de handshaking. El ancho de datos en ambos buses es de 32 bits. Suponer que cada lectura en memoria consume 200 ns. 3

Encontrar el ancho de banda de cada bus cuando se lee una palabra de memoria. ¿Cu´ al es el m´as r´ apido? ´ SOLUCION: En el caso del bus s´ıncrono se han de llevar a cabo tres pasos: petici´ on a memoria con la direcci´on, el chip debe servir la palabra, y el env´ıo de dicha palabra de la memoria a la interfaz del procesador El primer y tercer paso requieren un ciclo cada uno (50ns), mientras que la lectura de la palabra en memoria tarda 200ns. 50ns + 200ns + 50 ns = 300 ns Dado que el tama˜ no de palabra es de 32 bits (4B), se transmiten 4B/300ns = 13,3 MB/s

En el caso del bus as´ıncrono cada paso del protocolo de handshaking requiere 40ns. La transacci´on requiere los siguientes pasos: petici´ on de una direcci´ on de memoria (paso 1 de la figura del ejemplo de lectura as´ıncrona del tema 8), reconocimiento y lectura de la posici´on de memoria (pasos 2,3 y 4 o el tiempo de servir el dato); y env´ıo de la palabra de memoria (pasos 5, 6 y 7). Cada uno de ellos requiere un conjunto de se˜ nales y reconocimientos por parte de los dos elementos involucrados, de modo que el tiempo total es: 40ns + max (3x40, 200ns) + 3x40ns = 360ns Entonces, el ancho del banda m´ aximo del bus as´ıncrono es 4B/360ns = 11,1 MB/s Es m´as r´ apido el s´ıncrono y tiene mejor ancho de banda. 6. Sea un sistema con las siguientes caracter´ısticas: Un sistema de memoria y de bus que soporta acceso a bloques de entre 4 y 16 palabras de 32 bits. Un bus s´ıncrono de 64 bits a 200 MHz, en el que tanto una transferencia de 64 bits como el env´ıo de la direcci´on a memoria requieren 1 ciclo de reloj Se necesitan dos ciclos de reloj entre dos operaciones de bus (se supondr´ a el bus libre antes de cada acceso) El tiempo de acceso a memoria para las cuatro primeras palabras es de 200 ns; cada grupo adicional de cuatro palabras se lee en 20 ns. Se considerar´ a que la transferencia de los datos le´ıdos m´as recientemente por el bus puede solaparse con la lectura de las cuatro palabras siguientes. Calcular el ancho de banda mantenido y la latencia para la lectura de 256 palabras en el caso de transferencias de bloques de 4 palabras y en el caso de bloques de 16 palabras. Hallar tambi´en el n´ umero de transacciones de bus por segundo en cada uno de ambos casos. ´ SOLUCION: Tciclo =1/200MHz = 5ns

Bloques de 4 palabras 4

Se requieren 256 palabras / 4 palabras por transacci´ on = 64 transacciones. Una transacci´on de un bloque requiere: 1 ciclo para enviar la direcci´ on 200 ns / 5 ns /ciclo = 40 ciclos para leer los datos de memoria 2 ciclos para enviar los datos desde la memoria (solo se pueden enviar 64 bits, es decir, dos palabras, por ciclo) 2 ciclos entre esta transacci´on y la siguiente Total: 45 ciclos por transacci´on. Tiempo total de transferencia = 45 ciclos * 64 transacciones = 2880 ciclos * 5ns = 14400 ns N´ umero de transacciones por segundo = 64/14400= 4,44 MTransacciones/s Ancho de banda del bus = (256 palabras * 4B) / 14400= 71,11 MB/s

Bloques de 16 palabras Se requieren 256 palabras / 16 palabras por transacci´ on = 16 transacciones. Una transacci´on de un bloque requiere: 1 ciclo para enviar la direcci´ on 200 ns / 5 ns /ciclo = 40 ciclos para leer las cuatro primeras palabras de memoria 2 ciclos para enviar los datos del grupo de 4 palabras le´ıdo (solapados con el inicio de la lectura siguiente) 2 ciclos de hueco (hueco necesario entre dos transferencias consecutivas para completar los 4 ciclos, es decir, los 20ns, que se tarda en leer el siguiente grupo de 4 palabras) Cada grupo restante de 4 palabras en el bloque de 16 palabras necesita solo los pasos 3 y 4. Total para el bloque de 16 palabras: 1+40+4*(2+2)=57 ciclos por transacci´on. Tiempo total de transferencia = 57 ciclos * 16 transacciones = 912 ciclos * 5ns = 4560 ns N´ umero de transacciones por segundo = 16/4560= 3,51 MTransacciones/s Ancho de banda del bus = (256 * 4) / 4560= 224,56 MB/s 7. Rehacer el ejercicio anterior, suponer que las cuatro primeras palabras requieren 150 ns y cada cuatro palabras adicionales requieren 30 ns. ´ Tciclo =1/200MHz = 5ns SOLUCION:

Bloques de 4 palabras Se requieren 256 palabras / 4 palabras por transacci´ on = 64 transacciones. Una transacci´on de un bloque requiere: 5

1 ciclo para enviar la direcci´ on 150 ns / 5 ns /ciclo = 30 ciclos para leer los datos de memoria 2 ciclos para enviar los datos desde la memoria (solo se pueden enviar 64 bits, es decir, dos palabras, por ciclo) 2 ciclos entre esta transacci´on y la siguiente Total: 35 ciclos por transacci´on. Tiempo total de transferencia = 35 ciclos * 64 transacciones = 2240 ciclos * 5ns = 11200 ns Ancho de banda del bus = (256 palabras * 4B) / 11200= 87,5 MB/s

Bloques de 16 palabras Se requieren 256 palabras / 16 palabras por transacci´ on = 16 transacciones. Una transacci´on de un bloque requiere: 1 ciclo para enviar la direcci´ on 150 ns / 5 ns /ciclo = 30 ciclos para leer las cuatro primeras palabras de memoria 2 ciclos para enviar los datos del grupo de 4 palabras le´ıdo (solapados con el inicio de la lectura siguiente si la hay) (en la transferencia de cualquier grupo de 4 palabras que se solape con una lectura siguiente) 4 ciclos de hueco necesarios para completar los 6 ciclos, es decir, los 30ns, que se tarda en leer el siguiente grupo de 4 palabras (solo en la transferencia del u ´ltimo grupo de 4 palabras) 2 ciclos de hueco entre esta transacci´on y la siguiente (que se aprovechan, aunque no son suficientes en este caso, para ir completando la lectura del siguiente grupo de 4 palabras) El primer grupo requiere por tanto los pasos del 1 al 4. Cada grupo restante de 4 palabras en el bloque de 16 palabras necesita solo los pasos 3 y 4, excepto el u ´ltimo grupo que requiere solo los pasos 3 y 5. Total para el bloque de 16 palabras: 1+30+3*(2+4)+4=53 ciclos por transacci´on. Tiempo total de transferencia = 53 ciclos * 16 transacciones = 848 ciclos * 5ns = 4240 ns Ancho de banda del bus = (256 * 4) / 4240= 241,50 MB/s 8. Sea un computador dotado de un sistema de jerarqu´ıa de memoria con memoria cach´e y memoria virtual. El ancho de palabra en ambas es de 32 bits, y las direcciones de memoria (tanto f´ısica como virtual) tambi´en son de 32 bits. a) La memoria cach´e: Tiene un tama˜ no de 16K palabras Es asociativa por conjuntos de 4 v´ıas Cada bloque tiene 16 palabras Tiene una tasa de fallos del 4 % El tiempo de acierto consume un ciclo de reloj 6

Indicar cu´ales son los campos en los que se descompone una direcci´on de memoria de cara a la cach´e, cuantos bits se necesitan para cada uno de ellos y para qu´e se utilizan dichos campos. b) El bus que comunica la memoria principal con la cach´e es de dos palabras de ancho. Por otra parte, cada vez que se quiere transferir un bloque de 16 palabras de memoria principal a cach´e: El procesador env´ıa a la memoria la primera direcci´on del bloque, lo que ocupa un ciclo de reloj La memoria tarda dos ciclos en devolver las dos primeras palabras del bloque al procesador El procesador env´ıa a la memoria la siguiente direcci´ on al mismo tiempo que la memoria transmite al procesador las dos palabras anteriores del bloque. Una vez la memoria ha recibido la siguiente direcci´ on del bloque y ha terminado de transmitir las dos palabras anteriores, tarda otros dos ciclos en enviar al procesador las dos palabras siguientes del bloque Los dos pasos anteriores se repiten hasta completar el env´ıo del bloque completo. Si se requiere la transferencia de un nuevo bloque, es preciso dejar un hueco de dos ciclos antes de iniciarla Indicar cu´antos ciclos consume un fallo de cach´e (penalizaci´on por fallo), es decir, cu´anto tiempo se tarda en enviar un bloque completo desde memoria principal a cach´e c) Si un ciclo de reloj dura 2 ns, indicar el tiempo medio de acceso a cach´e medido en segundos (sin contar posibles fallos de memoria virtual) d ) Dado que tanto la direcci´on f´ısica como la direcci´on virtual tienen 32 bits, y teniendo en cuenta que la memoria virtual tiene un tama˜ no de p´ agina de 1K palabra: Indicar los campos en los que se descompone una direcci´ on f´ısica y una direcci´ on virtual Indicar el tama˜ no m´as adecuado para cada entrada de la tabla de p´aginas, teniendo en cuenta que es preciso contar con 5 bits para la informaci´on de control de la p´agina ´ SOLUCION: (a) La memoria cach´e: Como cada bloque tiene 16 palabras*4B = 64B, el desplazamiento de bloque ser´a de 6 bits. Al tratarse de una memoria asociativa por conjuntos de 4 v´ıas, si cada bloque tiene 16 palabras, un conjunto tendr´ a 4 v´ıas/conjunto * 16 palabras/v´ıa = 64 palabras/conjunto. Como la cach´e tiene 16 Kpalabras, el n´ umero de conjuntos ser´a 16 Kpalabras / 64 palabras/conjunto = 214 /26 conjuntos = 28 conjuntos, as´ı que el ´ındice de conjuntos ocupa 8 bits. Para la etiqueta quedan entonces 32 – (6+8) = 18 bits. 18 bits etiqueta

n = 17 bits 8 bits ´ındice 7

6 bits desplazamiento

(b) El bus: Dado que un bloque ocupa 16 palabras y que cada env´ıo de memoria principal a cach´e consta de 2 palabras, el proceso ser´a el siguiente: Enviar dir. 1

1ciclo

Enviar Enviar dir. 2 dir. 3 Devolver Devolver ... pal. 1-2 pal. 3-4 2ciclos 2ciclos

Enviar dir. 8 Devolver Devolver pal. 13-14 pal. 15-16 2ciclos 2ciclos

Por tanto, si adem´as tenemos en cuenta el hueco de dos ciclos para una nueva petici´on de bloque, en un fallo de cach´e consumiremos 1 + 2*8 + 2 = 19 ciclos.

(c) Tiempo medio de acceso a cach´e: Un acierto consume un ciclo. Por tanto, seg´ un la f´ormula del tiempo medio de acceso a memoria tenemos que: Tacceso = tacierto + Tfallos × Pfallo = 1 + 0, 04 ∗ 19 = 1, 76 ciclos Si el ciclo de reloj dura 2 × 10−9 s entonces el tiempo medio de acceso a memoria es de 3, 52 × 10−9 s.

(d) Memoria virtual: Como cada p´agina tiene 1 Kpalabra * 4B = 4KB, el desplazamiento dentro de la p´agina ocupar´a 12 bits. El n´ umero de p´ agina (tanto en el caso de p´ agina f´ısica como en el de p´agina virtual) ocupar´a los restantes 20 bits. As´ı la distribuci´on de los campos ser´a: n = 32 bits 20 bits N´ umero de p´ agina f´ısica o virtual

12 bits desplazamiento

Cada entrada de la tabla de p´aginas (TP) contendr´ a el n´ umero de p´agina f´ısica (20 bits) m´as la informaci´on de control (5 bits), pero como la tabla reside en RAM ser´ a preciso ajustar cada entrada de dicha tabla para hacerla m´ ultiplo del tama˜ no de la palabra de memoria. Por tanto, cada entrada de la TP tendr´a 32 bits.

8...


Similar Free PDFs