Hoja 5

Anuncio
Problemas de estructura y tecnología de computadores
Hoja 5: Temas 9, 10 y 11
1) Disponemos de un computador con las siguientes líneas: ADDR (bus de direcciones de 16 bits),
DAT (bus de datos de 8 bits), BUSRQ y BUSACK (solicitud y concesión de los buses), INT e
INTACK (solicitud y reconocimiento de interrupción), MEMRQ, RD y WR (control de accesos a
memoria). Dibujar el cronograma de dichas líeas a lo largo del siguiente proceso:
?? La CPU va a ejecutar la instrucción STORE A, $1234. El contenido de A es $77, la
instrucción está situada en memoria a partir de la dirección $1000 y se codifica como $32
$34 $12.
?? Durante el segundo ciclo de memoria, un controlador de DMA solicita el bus para escribir el
dato $AA en la posición $5678.
?? Este era el último dato a escribir por el controlador, de forma que a continuación se solicita
una interrupción con vector $F0.
2) Diseñar un controlador de DMA que trabaje con el procesador MC68000 realizando las
transferencias en modo ráfaga. Las líneas de arbitraje del bus son HALT y BA, y la forma en que
opera el DMA una vez inicializado es la siguiente:
?? Pide la utilización del bus mediante HALT
?? La CPU le cede el bus en el ciclo siguiente y activa BA.
?? El DMA controla el bus realizando la transferencia del bloque
?? El DMA genera una petición de interrupción para indicar que el bloque ha sido
completamente transferido
Nota: no considerar el tiempo de inicialización de la DMA.
3) Un controlador de E/S controla un periférico capaz de hacer transferencias via DMA en un
sistema de E/S localizada en memoria. El sistema dispone de una línea de R/W*. El controlador
de E/S debe enviar datos hacia el bus en las siguientes situaciones:
?? Cuando la CPU realiza una operación de lectura en uno de sus registros internos (R/W* =
1)
?? Cuando el controlador de DMA ordena la ejecución de una transferencia periférico a
memoria. (El controlador de DMA hará R/W=0 para escribir el dato en memoria).
Se pide diseñar el circuito de control de las puertas tri-state que comunican el controlador de E/S
con el bus de datos.
4) Un computador de 32 bits tiene dos canales selectores y un canal multiplexor. Cada canal
selector soporta dos unidades de disco y dos unidades de cinta magnética. El canal multiplexor
tiene dos impresoras, dos lectoras de tarjetas y diez terminales CRT conectados a él.
Supongamos que las velocidades de transferencia de estos periféricos son las siguientes:
?? Disco:
800 Kb/s
?? Cinta:
200 Kb/s
?? Impresora:
6,6 Kb/s
?? Lectora:
1,2 Kb/s
?? CRT
1 Kb/s
Estimar la máxima velocidad de E/S conjunta de este sistema
5) Un computador basado en un microprocesador 68000 tiene en su sistema de E/S un controlador
de transmisión recepción serie con los registros DTR (Registro de transmisión de datos) RDR
(registro de recepción de datos ) y TSR (registro de estado de transmisión) todos de 8 bits. El
controlador funciona con un protocolo fijo de 1 bit de start, 2 bits de stop, 1 bit de paridad, 8 bits
de datos y una velocidad de transmisión de 9600 baudios. La línea serie se conecta a una
impresora controlada por otro microprocesador que tiene un controlador de transmisión serie
compatible con el segundo. El protocolo de trabajo del sistema es el siguiente:
?? El computador envía un dato para imprimir a través del controlador de E/S y se queda
esperando a recibir contestación de la impresora.
?? La impresora recibe un dato por
CONTROLADOR
su interfaz serie y comprueba que
E/S SERIE
ha llegado correctamente. Si es
DIR
$FFFF0051
RDR
así envía un carácter especial OK
DATOS
MC68000
$FFFF0053
TDR
al computador. Si ha habido algún
$FFFF0055
TSR
fallo envía un carácter REPEAT al
computador.
LINEA SERIE
LINEA SERIE
(<caracteres>)
(<OK>,<REPEAT>)
?? El computador recibe el carácter
OK o REPEAT. Si es OK continúa
IMPRESORA
enviando otro dato y si es
REPEAT vuelve a enviar el mismo
dato.
Suponer que el bit 3 del registro de estado TSR es el que se pone a 1 cuando se ha recibido un
dato y se resetea al leer RDR. Se pide:
a) Calcular cuál es la velocidad punta de impresión en caracteres por segundo suponiendo el
tiempo de ejecución de los programas despreciable frente al tiempo de transmisión de un
“frame” por las líneas serie.
b) Escribir un programa de E/S controlada por programa que permita enviar a imprimir <D0>
caracteres situados a partir de la posición <A0>. Se supone que no puede haber errores de
transmisión impresora-computador pero si al revés.
6) Una fuente de datos produce caracteres ASCII de 8 bits. Obtener la expresión de máxima
velocidad efectiva de transmisión de datos en una línea de R baudios para las situaciones
siguientes:
a) Transmisión asíncrona con 1 bit de start, 1 bit de paridad y 1.5 bits de stop.
b) Transmisión síncrona orientada a bits, con una trama formada por 48 bits de control y 128
bits de información.
c) Igual que (b) pero con un campo de información de 1024 bits.
d) Transmisión síncrona orientada a caracteres, con 9 caracteres de control por trama y 16
caracteres de información.
e) Igual que (d), con 128 caracteres de información
7) Un microprocesador tiene conectado un ratón a través de un controlador (véase figura). Cuando
el ratón se desplaza ? x, o ? y se produce una interrupción. Accediendo al registro R ($FF00) se
puede saber si se ha producido un +? x (R[0]=1), un +? y (R[1]=1), un -? x (R[2]=1) o un -? y
(R[3]=1). Al acceder a R, este se resetea. El software que ejecuta el microprocesador, almacena
la posición (X,Y) del ratón en dos bytes (de direcciones P_X, P_Y), de tal forma que cuando se
produce +? x, X se incrementa en 1, y cuando se produce -? x, X se decrementa (el
comportamiento para Y es análogo).
a) Describir muy brevemente la secuencia de acontecimientos que se producen cuando se
mueve el ratón.
b) Escribir la rutina de tratamiento de la interrupción, teniendo en cuenta que cuando los
valores de X, Y alcanzan 255 ya no crecen más, y cuando alcanzan 0 ya no decrecen.
Utilizar la sintaxis del ensamblador del 68000.
BUS
? -procesador
Registro (R)
Controlador
Ratón
IRQ
8) Se dispone de un monitor gráfico con una resolución de 1024x800 pixels y con una frecuencia de
refresco de 50Hz. Determinar el tamaño de la memoria de refresco y la velocidad mínima de la
línea de conexión de datos para en los siguientes supuestos:
a) Funcionamiento monocromo.
b) Funcionamiento con 3 colores fijos.
c) Funcionamiento con 16 tonos para cada uno de los 3 colores.
d) Funcionamiento con 256 tonos para cada uno de los 3 colores.
e) Funcionamiento con 256 tonos para cada uno de los tres colores, pero utilizando una
memoria de paleta de 256 colores.
9) Suponer que el tiempo de retroceso horizontal de un CRT de barrido es el 10% del tiempo de
avance, que la zona útil de avance es el 80% de la pantalla y que el retroceso vertical equivale al
avance de 30 microlíneas. Si la pantalla es de 30 cm de ancho y emplea 350 microlíneas, calcular
la velocidad lineal del haz al realizar el barrido.
10) Un disco winchester tiene 8 superficies. Cada superficie tiene 80 pistas de 128 sectores cada
una. Por último cada sector tiene 512 bytes. Calcular la capacidad de dicho disco.
11) Si un disco Winchester gira a 3000 r.p.m. y tiene una estructura de 128 sectores por pista y 512
bytes por sector, ¿Cuál es la velocidad pico de transmisión del dispositivo a la CPU?. Suponiendo
que se atiende al dispositivo por interrupciones cada vez que se transmite un byte, ¿Cuál es el
número pico de interrupciones por segundo?
12) Se tiene un disco duro tipo “Winchester” con 16 superficies, cada una con 256 pistas de 128
sectores, siendo la capacidad de cada sector 512 bytes. Se pide:
a) Calcular la capacidad del disco.
b) Dar el formato del registro mediante el cual se identifica un sector dentro del disco.
c) Si se desea una velocidad de transferencia pico de 1Mb/sg, ¿Cuál será la velocidad de
rotación asociada?.
d) Si las transferencias se realizan vía DMA, ¿Cuántas interrupciones se producen por unidad
de tiempo, suponiendo la velocidad de rotación obtenida en el apartado anterior?.
13) Se tiene un sistema con un banco de diskettes que utilizan el formato software IBM 3740 y que
giran a 360 revoluciones por minuto. La memoria del sistema tiene un tiempo de acceso de 500
ns y el procesador hace, por término medio, un acceso a la misma cada 700 ns. Además la
conexión de los diskettes se hace por DMA.
a) Determinar el número de diskettes que podrían funcionar simultáneamente aprovechando
el ancho de banda máximo de la memoria
b) Calcular el retardo porcentual que se introduce en el procesador cuando un diskette está
operando
c) Calcular el retardo porcentual que se introduce en el procesador cuando están funcionando
el máximo número de diskettes posibles y cuando están funcionando la mitad de ese
máximo.
14) Se tiene una unidad de disco duro de brazo móvil con las siguientes características:
?? 4 superficies
?? 256 pistas por superficie
?? sectores de 1024 bytes de información neta, que supone un 80% del total del sector. El
restante 20% está formado por información de sincronización, direccionamiento, etc
?? velocidad de transferencias de 10240000 bits/s
?? la pista 1 tiene un radio de 5 cm y una densidad de grabación lineal de 6518,99 bits/cm
?? el tiempo de mover la cabeza de una pista a otra colindante es de 0,2 ms
?? después de mover la cabeza se necesita un tiempo de estabilización de 3 ms
Se pide calcular:
a) El número de sectores por pista y la capacidad neta del disco
b) Si en el t = 0 las cabezas están en el cilindro 1 al comienzo del sector 5, y se da la orden
de leer el sector 15 del cilindro 51 y superficie 3. ¿En qué instante se terminará de leer el
mencionado sector?
15) Se tiene una unidad de disco duro de brazo móvil con las siguientes características:
?? Velocidad de rotación: 3000 rpm
?? Número de pistas: 500
?? Número de sectores por pista: 40 (numeradas en orden del 1 al 40 según la dirección de
giro)
?? Número de bytes por sector: 512
?? Tiempo de avance pista a pista: 0,5 ms
?? Tiempo de estabilización: 5 ms
?? Radio de la pista p-ésima: 4 cm
Se pide:
a) ¿Cuál es la densidad de grabación suponiendo que la información útil representa el 80% de
la información realmente almacenable? (calcular la densidad lineal en bytes/cm y la angular
bytes/rad)
b) ¿Cuál es la velocidad de transferencia en bytes/s?
c) En el instante t = 0 ms la cabeza se encuentra en la pista 30, al comienzo del sector 25.
¿En qué momento se habrán satisfecho las siguientes peticiones?: t = 5 ms, pista 30,
sector 30; t = 25 ms, pista 30, sector 10; t = 35 ms, pista 34, sector 6; t = 60 ms, pista 32,
sector 30
16) En un sistema de 16 bit de tamaño de palabra se instala una unidad de disco duro que gira a 360
r.p.m. y que tiene 512 sectores (de 128 bits) por pista. Se intenta controla el dispositivo mediante
técnicas de E/S por interrupciones. Teniendo en cuenta:
?? Que el tiempo de ejecución de una instrucción es de: 150+100·Numero_accesos_memoria
ns
?? Que la rutina de tratamiento de interrupción más sencilla encontrada implica la ejecución de
15 instrucciones con una media de 1 accesos a memoria
?? Que salvar y restaurar el contexto (CP,SR) implica 1000 ns.
Se pide estimar si es posible atender correctamente al periférico. ¿Qué solución propondría para
poder usar el disco en el sistema de un modo eficaz?.
Descargar