ESCOLA POLITÈCNICA SUPERIOR UNIVERSITAT DE LES ILLES BALEARS Asignatur a: Impar tición: Cur so: Pr ofesor : Enginyer ia Tècnica Industr ial (esp. Electr ònica Industr ial) B.O.E. 6-Març-2001 4683-Informática Industrial (9 créditos) 2º Curso-Anual 2001-2002 Javier Antich Tobaruela COLECCIÓN DE PROBLEMAS SOBRE BUSES SEGUNDO TEMA DE LA ASIGNATURA La colección de problemas ha sido confeccionada a partir de los ejercicios propuestos en las siguientes fuentes bibliográficas: § Organización y Arquitectura de Computadores, William Stallings, PrenticeHall, Cuarta Edición § Organización y Arquitectura de Computadores, William Stallings, PrenticeHall, Quinta Edición § Organización de Computadoras – Un Enfoque Estructurado, Andrew S. Tanenbaum, Prentice-Hall, Tercera Edición Algunos de los ejercicios han sido levemente modificados con un doble objetivo; por un lado, facilitar al alumno la comprensión de los mismos y, por otro, profundizar en aquellos aspectos que, en base a mi criterio personal, he encontrado más interesantes. En las fuentes bibliográficas citadas podréis encontrar otros problemas sobre el tema que nos ocupa. A pesar de tratarse de una colección de problemas opcional se recomienda encarecidamente su realización, individual o en pequeños grupos, en vista al examen parcial de Febrero. Los problemas no vienen acompañados de sus respectivas soluciones para no condicionar sus respuestas. La resolución de algunos de ellos requiere la realización de suposiciones, que deberán ser siempre lo más coherentes posibles dentro del contexto de cada problema. En clase podrá plantearse cualquier duda sobre los mismos. 1 Colección de pr oblemas sobr e buses J avier Antich Tobar uela Pr oblema 1.- A la hipotética máquina de la figura 1 se le han añadido dos instrucciones de E/S con los siguientes códigos de operación: 1. 0011b = Cargar AC desde E/S 2. 0111b = Almacenar AC en E/S En estos casos, la dirección de 12 bits identifica un dispositivo concreto de E/S. Describa paso a paso la ejecución del siguiente programa: I1. Cargar AC desde el dispositivo 5. I2. Sumar a AC el contenido de la posición de memoria 940hex. I3. Almacenar AC en el dispositivo 6. Asuma que el valor obtenido desde el dispositivo 5 es 3, y que la posición de memoria 940hex almacena un 2. Tras cada paso de la ejecución del programa, muestre el contenido de la memoria, de los registros de la CPU y de los puertos de E/S utilizando notación hexadecimal. 0 4 15 CodOp Dirección (a) Formato de instrucción 0 1 S 15 Magnitud (b) Formato de enteros Contador de Programa (PC) = Dirección de instrucción Registro de Instrucción (IR) = Instrucción en ejecución Acumulador (AC) = Almacenamiento temporal (c) Registros internos de la CPU 0001b = Cargar AC desde memoria 0010b = Almacenar AC en memoria 0101b = Sumar a AC un dato de memoria (d) Lista parcial de códigos de operación Figur a 1. Principales características de una supuesta máquina Pr oblema 2.- Considere un hipotético microprocesador capaz de generar direcciones y datos de 16 bits. a) ¿Cuál es el máximo espacio de direcciones de memoria al que el procesador puede acceder directamente si se encuentra conectado a una memoria de 16 bits?. b) ¿Cuál es el máximo espacio de direcciones de memoria al que el procesador puede acceder directamente si se encuentra conectado a una memoria de 8 bits?. 2 Colección de pr oblemas sobr e buses J avier Antich Tobar uela c) ¿Qué características de la arquitectura permitirán a este procesador acceder a un espacio de E/S separado?. d) Si una instrucción de entrada o de salida puede especificar un número de puerto de E/S de 8 bits, ¿cuántos puertos de E/S de 8 bits puede soportar el microprocesador? ¿y si los puertos de E/S son de 16 bits?. Razone la respuesta. Pr oblema 3.- Considere un hipotético microprocesador de 32 bits cuyas instrucciones, también de 32 bits, están compuestas por dos campos: el primer byte contiene el código de operación y los restantes un operando inmediato o una dirección de operando. a) ¿Cuál es la capacidad de memoria (en bytes) direccionable directamente?. b) Discuta el impacto que se produciría en la velocidad del sistema si el microprocesador tiene: a. Un bus de dirección local de 32 bits y un bus de datos local de 16 bits, o b. Un bus de dirección local de 16 bits y un bus de datos local de 16 bits. c) ¿Cuántos bits necesitan el contador de programa y el registro de instrucción?. Pr oblema 4.- Considere un computador en el que un módulo de E/S controla un teletipo con teclado e impresora. El módulo de E/S en cuestión tiene asociados los siguientes registros: - INPR: Registro de Entrada o de Teclado de 8 bits. OUTPR: Registro de Salida o de Impresora de 8 bits. FGI: Indicador de Entrada o de Teclado de 1 bit. FGO: Indicador de Salida o de Impresora de 1 bit. IEN: Habilitación de Interrupción de 1 bit. La entrada desde teclado y la salida a impresora están controladas por el módulo de E/S. Por su parte, el teletipo es capaz de codificar un símbolo alfanumérico mediante una palabra de 8 bits y decodificar una palabra de 8 bits en un símbolo alfanumérico. Se pide: a) Describir con detalle el procedimiento necesario para llevar a cabo tanto una operación de lectura de teclado como una operación de escritura sobre impresora. Suponed que no se hace uso del registro IEN. b) Repetir el apartado a) asumiendo el uso de interrupciones. Pr oblema 5.- Un sistema de memoria consta de varios módulos, todos ellos conectados a un bus de memoria común. Cuando se solicita una escritura, el bus está ocupado durante 100 ns por el dato, la dirección y las señales de control. Durante los mismos 100 ns , y 3 Colección de pr oblemas sobr e buses J avier Antich Tobar uela después durante 500 ns más, el módulo de memoria direccionado ejecuta un ciclo aceptando y almacenando el dato. La operación de los módulos de memoria puede solaparse, pero sólo una de las solicitudes puede estar en el bus en un momento dado. Responda a las siguientes cuestiones: a) Asuma que hay ocho módulos conectados al bus. ¿Cuál es la máxima velocidad segundo ) para el almacenamiento de datos en posible (en palabras memoria?. Realice un cronograma de apoyo. b) ¿Y si reducimos el número de módulos a cuatro?. Pr oblema 6.- Para ahorrar puertas lógicas, a menudo los buses se multiplexan en el tiempo. Considere una máquina con palabras de 48 bits, un disco de 10 7 bps , y un tiempo de ciclo de memoria principal de 600 ns . Asuma que cada transmisión a través del bus requiere 750 ns . ¿Cuántos bits tendrían que enviarse en cada periodo de 750 ns para ajustarse a la velocidad de transferencia del disco, y qué formato de bus elegiría?. ¿Qué fracción del ancho de banda de memoria principal consume una operación de E/S en disco?. Pr oblema 7.- Suponga que tenemos k dispositivos (d 1 K d k ) conectados a una cadena de arbitraje “Daisy Chain”. Cada dispositivo, d i , utiliza una fracción α i de la capacidad del bus, teniendo ésta última un valor normalizado de 1.0. Se cumplen las siguientes relaciones: k ∑α 0 < αi < 1 i =1 i <1 Ecuación 1 ¿Cómo podrían los dispositivos conectados a la cadena obtener la máxima capacidad remanente media?. La capacidad remanente para un dispositivo se determina de la siguiente forma: i −1 CRi = 1 − ∑ α j j =1 Ecuación 2 en donde el subíndice i indica la posición del dispositivo en la cadena y, por tanto, su prioridad. Subíndices más bajos se corresponden con prioridades más altas. Comente el significado de los resultados obtenidos y dé algún ejemplo de cuándo no son aplicables. Pr oblema 8.- El bus VAX SBI utiliza un esquema de arbitraje distribuido síncrono. Cada dispositivo SBI, de prioridad única, tiene una línea de solicitud de transferencia asociada (TR, Transfer Request). El SBI tiene 16 de dichas líneas (TR0, TR1, ..., TR15), siendo TR0 la de prioridad más elevada. Cuando un dispositivo quiere utilizar el bus, realiza una 4 Colección de pr oblemas sobr e buses J avier Antich Tobar uela reserva de un ciclo de bus futuro, activando su línea TR durante el ciclo de bus en curso. Al final del ciclo en curso, cada dispositivo con una reserva pendiente examina las líneas TR; el dispositivo de mayor prioridad será dueño del siguiente ciclo de bus. Como máximo se pueden conectar al bus 17 dispositivos. ¿Por qué?. Pr oblema 9.- Con respecto al diagrama de tiempos de la figura 3-341, suponga que ha bajado la velocidad del reloj a un periodo de 400 ns , en lugar de los 250 ns que tenía inicialmente, permaneciendo las restricciones de tiempo inalteradas. ¿Cuánto tiempo tendría la memoria para entregar un dato al bus después de la activación de la señal MREQ, en el peor de los casos?. Pr oblema 10.- En la figura referenciada en el problema anterior, se especifica que TRPM es de al menos 60 ns . ¿Es siempre esta restricción necesaria?, es decir, ¿podríamos encontrar un sistema con bus síncrono en donde se permitiera a la CPU activar MREQ antes de que las direcciones se hubieran estabilizado?. Justifica la respuesta. Pr oblema 11.- Señale los tiempos de transición de las líneas de direcciones de la figura 2 como TA1 y TA2 , los tiempos de transición de MREQ como TMREQ1 y TMREQ2 , y así sucesivamente con el resto de señales. Escriba todas las desigualdades que implica el ciclo completo de sincronización. ADDR Dirección de memoria por leer MREQ RD SINM Datos DATA SINE Figur a 2. Cronograma de una operación de lectura sobre un bus asíncrono Pr oblema 12.- La mayoría de los buses de 32 bits permiten lecturas y escrituras de 16 bits. ¿Existe alguna ambigüedad en cómo colocar los datos?. De ser así, explíquela y proponga una solución no ambigua al problema. 1 Referencia a la figura 3-34 del libro Organización de Computadoras – Un Enfoque Estructurado. La podréis encontrar en la fotocopistería. 5