Arquitectura de computadores I Trabajo Práctico N° 3 1) Considerar una memoria principal que consiste de varios módulos de memoria acoplados al bus del sistema, de ancho de una palabra. Cuando se hace un pedido de escritura, el bus es ocupado por los datos, dirección y señales de control por 100 ns y en los siguientes 500 ns, el módulo de memoria direccionado ejecuta el ciclo aceptando y almacenando el dato. Operaciones sobre diferentes módulos de memoria pueden superponerse en el tiempo, pero solo un pedido puede hacerse sobre el bus en un determinado momento. ¿Cuál es el máximo número de almacenamientos que pueden iniciarse en 1 segundo? 1 + = = 100 1 + 500 = 1,6 2) La memoria de un ordenador consta de diez módulos independientes conectados a un bus de memoria común. En una operación de escritura cada uno de estos módulos ocupa el bus del sistema únicamente al comienzo de la operación y durante un 20% del tiempo total del ciclo de escritura. El 80% del tiempo de ciclo de escritura restante el módulo lo emplea para almacenar el dato internamente. Si las operaciones de escritura de dichos módulos de memoria pueden solaparse, ¿en cuánto se ve incrementada la velocidad máxima de almacenamiento de la memoria del ordenador en relación a la velocidad de un único modulo? ' ( = (1 + 0,2 × 9) × ( + = (10) × ( ) 78% ) = 2,8 × ( + ) + ) 3) Suponiendo que un protocolo de bus necesita 10 ns por dispositivo para hacer un pedido, 15 ns para arbitraje y 25 ns para completar cada operación. ¿Cuántas operaciones pueden ser completadas por segundo? = , -. /. + 1 0 + .- .1 = 10 1 + 15 + 25 = 20 4) Un procesador tiene 8 líneas de interrupción (con nros 0 a 7) y en la que las interrupciones de números más bajos tienen prioridad sobre las de números más altos. El procesador empieza sin pedidos pendientes y se da la siguiente secuencia de pedidos: 4,7,1,3,0,5,6,4,2,1. Suponiendo que la atención de cada interrupción toma el suficiente tiempo para que 2 pedidos más lleguen mientras se atiende la primera y de la misma manera con todas, pero cada pedido no puede interrumpir a otro. ¿En qué orden se atienden las interrupciones? Interrupción Atendida Interrupción Pendiente Interrupción Nueva 4 7-1 1 7 3-0 0 7-3 5-6 3 7-5-6 4-2 2 7-5-6-4 1 1 7-5-6-4 4 7-5-6 5 7-6 6 7 7 5) Dado que la latencia de un banco de memoria principal es el tiempo que tarda en completar una operación individual (lectura o escritura). Suponiendo un sistema con 4 bancos, cada uno de los cuales tiene una latencia de 100 ns y tiene un sistema de pipeline que permite solapar 8 ejecuciones de operación. Si cada banco retorna 4 bytes de datos en respuesta a un pedido a memoria. ¿Cuál es el pico de rendimiento (throughput) en operaciones por segundo y el pico de tasa de datos en bytes por segundo del sistema? 2014 Página 1 Arquitectura de computadores I Trabajo Práctico N° 3 8 ( 2 → 800 1 ( 2 → 4)5 × 4) = 16)5 )5 8 ( 2 = 16)5 × 8 = 128)5 128)5 = = 1537)/ 800 32 = 40 ./ = 800 6) Un disco magnético con 5 platos (platters) tiene 2048 tracks/platter, 1024 sectores/track (número fijo de sectores por track) y 512 bytes por sector. ¿Cuál es la capacidad total? : = )5 × ; × ; × = 512 × 1024 × 2048 × 5 = 5<)5 7) Supongamos un disco con velocidad rotacional de 15000 rpm, 512 bytes por sector, 400 sectores por track y 1000 tracks sobre el disco, tiempo de búsqueda medio de 4 ms. Si queremos transmitir un archivo de 1 Mbyte, que se almacenan en forma seguida en el disco. a) ¿Cuál es la tasa de transferencia para este archivo? = > = ? . )5 × )5 = @ABBB DBC 1 b) ¿Cuál es el tiempo de acceso medio para este archivo? = .C , . = F= = I4 G , + + 2×? . 2× 1 1 60 c) ¿Cuál es el tiempo total para leer un sector? = .C , . == =4 G + , + 2× H× 2×? . 1 15000 60 1 = .C , . == =4 G , + + 2× 2×? . 1 15000 60 + DBC 1 1 ? . × 512 + @ABBB -C ? . )5 204800)5 × 512 )5 E . × 400 ? . 512)5 + DBC 1 × 512 = 56,5 + @ABBB -C d) ¿Cuál es el tiempo total para leer un track? 1024;)5 + J × 6 + 20,5 15000 -C )5 × )5 × 400 )5 × )5 × 400 - = 20,5 . )5 × )5 = 6,7 = 10 8) Analizar la eficiencia de almacenamiento y tolerancia a fallos para arreglos RAID 0, 1, 2, 3, 4, 5 y 6 utilizando 3, 7 y 13 discos de las mismas características. RAID Discos 1 2 2014 3 7 13 3 7 Discos Eficiencia Almacenamiento Redundantes 1 1 33,33% 3 3 42,86% 6 6 46,14% 1 2 33,33% 4 3 57,13% Página 2 Arquitectura de computadores I Trabajo Práctico N° 3 13 3 7 13 3 7 13 3 7 13 3 7 13 3 4 5 6 9 2 6 12 2 6 12 2 6 12 1 5 11 4 1 1 1 1 1 1 1 1 1 2 2 2 69,22% 66,66% 85,70% 92,30% 66,66% 85,70% 92,30% 66,66% 85,71% 92,31% 33,33% 71,43% 84,61% 9) Suponiendo que el procesador está asignado a un proceso en ejecución, por tanto, está en estado activo, qué sucede cuando un dispositivo indica al procesador mediante una interrupción que dispone de datos a ser tratados. Marque la opción pertinente. o Se retira el proceso activo, que pasará a estado preparado, y se ejecutará el código del gestor de dispositivos. 10) Tenemos un computador cuyo procesador trabaja con un reloj de 1 GHz y queremos calcular la sobrecarga que sufre el procesador al realizar una operación de Entrada/Salida por interrupción con un disco duro. El disco duro transfiere los datos en bloques de 8 palabras (con palabras de 64 bits) y su velocidad de funcionamiento es de 8 MB/s. El procesador necesita 1000 ciclos de reloj para detectar la interrupción, saltar a la rutina de atención al dispositivo y ejecutarla. Para facilitar los cálculos, supongamos que el sistema funciona de forma estable durante un intervalo de tiempo, y que el disco duro trabaja de forma continua y que interrumpe cada vez que tiene preparado un bloque de datos a transferir. La sobrecarga que sufre el procesador en una operación de E/S es el porcentaje de tiempo que le dedica a la operación de E/S frente al tiempo total que tiene. )5 > = 8 ) × 64) = 512)5 512)5 > = = 61μ 8388608)5 / 1000 2 = = 1μ 1<LM = (62 + 1)μ = 62μ 11) Un determinado procesador requiere 1000 ciclos para empezar una atención a interrupción (almacenamiento del contexto) y el mismo número de ciclos para reconstruir el contexto, después de atendida o 500 ciclos para “encuestar” un dispositivo I/O. Considerar que: - Un dispositivo I/O conectado al procesador, genera 150 pedidos de atención por segundo (interrupción), cada uno de los cuales toma 10000 ciclos para ejecutar una vez que ha empezado la atención. - El procesador realiza una encuesta cada 0,5 ms si no se utilizan interrupciones. a) ¿Cuántos ciclos en cada segundo emplea el procesador atendiendo al dispositivo de I/O si se utilizan interrupciones? = N: 1 +: O/P +: . 1. Q × = (1000 + 10000 + 1000) × 150 = 1,8 b) ¿Cuántos ciclos en cada segundo emplea si se usa encuesta en lugar de usar interrupciones? 1000 = N: +: = (500 + 10000) × = 21 1 O/P Q × 0,5 2014 Página 3 Arquitectura de computadores I Trabajo Práctico N° 3 c) ¿Cuántas encuestas por segundo debe efectuar el procesador para que emplee el mismo número de ciclos que al usar interrupciones? 2 = (500 + 10000) × 2 1,8 1000 = 5,8 Se debe realizar una encuesta cada 5,8 mSeg para obtener el mismo número de ciclos que con interrupciones. 12) Un computador tiene conectado un ratón que debe consultarse al menos 30 veces por segundo para poder actualizar su posición en la pantalla. La rutina que consulta su posición y vuelve a dibujar el puntero en la pantalla requiere 2000 ciclos para su ejecución. Si el computador tiene una frecuencia de 2.7 GHz, ¿qué sobrecarga supone la mencionada rutina de tratamiento de interrupciones, es decir, qué porcentaje de tiempo dedica el computador a ejecutar esta rutina. 1 → 30? × 2000 = 60000 60000 × 100% ( 2 = = 0,002% 2,7<LM 13) Un dispositivo de I/O transfiere 10 MB de datos a memoria de un procesador sobre el bus de I/O, que tiene una capacidad de transferencia de datos de 100MB/s. Los 10 MB de datos son transferidos como 2500 páginas independientes de 4 KB cada una. Si el procesador opera a 200 MHz, le toma 1000 ciclos iniciar una transacción con DMA y 1500 ciclos para responder al dispositivo de I/O cuando el DMA termina la transferencia, ¿Qué fracción de tiempo el procesador emplea manejando los datos, con y sin DMA? Con DMA: = = (= 1 .RST + =RST + = )× . = (5U + 100 + 7,6U ) × 2500 ≅ 250 Sin DMA: . = 39U × 2500 = 98 = = =- W × 14) Realice una tabla comparativa entre los discos SATA y los Discos SSD indicando: a) Velocidad de funcionamiento y eficiencia b) Coste por Byte c) Amortización a lo largo del tiempo Disco Velocidad Eficiencia Coste por GByte Amortización SATA 600 MB/s $2 Excelente SSD 700 MB/s $ 12 Buena 15) Si se tiene una placa base con dos canales Sata, Cuantos discos SATA se pueden conectar?, y si tengo dos canales ATA cuantos podré tener conectados? En una placa base con dos canales sata se pueden conectar dos discos, mientras que en dos canales ATA se pueden conectar cuatro discos. 16) a) Cuanto tiempo requiere la transferencia de 4200 MB un disco sata 6?, en el caso de un disco SATA externo, Cuánto tiempo consume dicha transferencia? = 42007X SY 600 42007X = 7 2 2 SY = 36,5 115 b) Suponga que los datos se envían desde un USB 3.0 a un SATA/300 en la PC. En donde está el cuello de botella?, cuanto demora la transmisión? 2014 Z = Página 4 Arquitectura de computadores I Trabajo Práctico N° 3 El cuello de botella se encontrara en la interfaz SATA/300 ya que su velocidad es de 300 MB/s y el USB es de 600 MB/s. 42007X [ X = 2 SY = 7 600 42007X \=\/300 = 2 SY = 14 300 17) ¿Qué medios de comunicación quedaron obsoletos a partir de la incorporación del USB? El puerto USB desplazó los puertos serie, paralelo, puerto de juegos, Apple Desktop Bus y PS/2. Un puerto serie es una interfaz de comunicaciones de datos digitales, frecuentemente utilizado por computadoras y periféricos, donde la información es transmitida bit a bit enviando un solo bit a la vez, en contraste con el puerto paralelo que envía varios bits simultáneamente. Un puerto paralelo es una interfaz entre una computadora y un periférico, cuya principal característica es que los bits de datos viajan juntos, enviando un paquete de byte a la vez. Es decir, se implementa un cable o una vía física para cada bit de datos formando un bus. El puerto de juegoses la conexión tradicional para los dispositivos de control de videojuegos en las arquitecturas x86. El puerto de juegos se integra, de manera frecuente, en una entrada/salida del ordenador o de la tarjeta de sonido o como un puerto integrado más de algunas placas base. El Apple Desktop Bus es un bus serie usado para conectar dispositivos de baja velocidad a las computadoras. Usado primordialmente en la plataforma Apple Macintosh, los equipos ADB siguen estando disponibles pero no soportados por la mayoría del hardware fabricado por Apple desde 1998. El puerto PS/2 toma su nombre de la serie de ordenadores IBM Personal System/2 que es creada por IBM en 1987, y empleada para conectar teclados y ratones. Muchos de los adelantos presentados fueron inmediatamente adoptados por el mercado del PC, siendo este conector uno de los primeros. 18) Un disco externo conectado por USB, con tecnología 3.0 se utiliza para transferir un volumen de archivos de 100MB, a una Pc que posee un puerto USB 2.0. Considerando únicamente el tiempo de transferencia del archivo calcular el rendimiento de esta operación. 1007X [ X3.0 = 2 SY = 0,17 600 1007X [ X2.0 = 2 SY = 1,88 53 0,17 ] = × 100% = 9,04% 1,88 19) Se tiene un interfaz usb a 1,5Mbps con un microcontrolador mediante las librerías cdc y bulk.Determine en cada caso de cuantos bytes se conforma cada paquete en la transmisión de 1 byte de datos. a) La transmisión se realiza en modo bulk usando un solo endpoint, logrando una velocidad de 6 kbps. )5 1,57) = = 196608)5 / 8 6;) → = 768)5 / 8 196608 )5 ^2 = = 256)5 768 b) En modo cdc con velocidad de conexión de 921600bps y con conexión Hyperterminal se transmite 1 byte cada 3,4us usando la función usb_cdc_putc(), pero el envío no es constante, hay tiempos "muertos" de 500us aprox. entre envíos. 2014 Página 5