Extadel03

Anuncio
BUSES Y PERIFÉFICOS. CONVOCATORIA EXTRAORDINARIA ADELANTADA
junio de 2003
1.- Describa qué función cumplen los siguientes elementos en un Adaptador de vídeo: Ram de vídeo,
generador de caracteres, generador de atributos, generador de señales de vídeo. Descríbalos por medio de
un ejemplo, la escritura de un carácter en pantalla. (2 ptos)
2.- Cada vez que se detecta un movimiento en el ratón, se transmiten tres bytes a 1200 baudios, 7 bits de
datos y dos stop bits hacia el sistema. ¿Cuánto tiempo tarda en realizarse esta transmisión? Los datos
transmitidos ¿qué contienen?. ¿Podría usted calcular cual es la velocidad máxima – en pasos del ratón por
segundo – a la que se puede mover el ratón para que no se pierda ningún paso? Y si cada paso de ratón
equivale a un recorrido de 0.127 mm ¿podría trasladar esa velocidad a metros por segundo? (2 ptos)
3.- En la familia de procesadores x86 se distinguen dos espacios de direcciones, memoria y entradasalida. ¿Cómo sabe un dispositivo que está colgado en el espacio de entrada salida que la dirección que
hay actualmente en el bus corresponde al espacio de direcciones de memoria o al espacio de direcciones
de entrada-salida? En PCI, existen también esos dos espacios de direcciones ¿Cómo son distinguidos en
este caso? (1 pto)
4.- Escriba un algoritmo que, a partir de un número de entrada en la FAT, obtenga la dirección (Pista,
Cara, Sector) del sector correspondiente. Dispone de las variables, ya obtenidas en el programa
desarrollado en la 2ª práctica de la asignatura: Sectores por pista, número de caras, sectores por cluster.
Traduzca este algoritmo a ensamblador. (3 ptos)
5 Explique el proceso seguido por el controlador de interrupciones (8259) desde que se activa una de las
IRQ hasta que el procesador comienza a ejecutar la rutina de atención correspondiente.(2 ptos)
BUSES Y PERIFÉFICOS. CONVOCATORIA EXTRAORDINARIA ADELANTADA
junio de 2003
1.- Describa qué función cumplen los siguientes elementos en un Adaptador de vídeo: Ram de vídeo,
generador de caracteres, generador de atributos, generador de señales de vídeo. Descríbalos por medio de
un ejemplo, la escritura de un carácter en pantalla. (2 ptos)
Si pretendo escribir un carácter en el monitor, primero escribo el código asci del carácter junto con un
byte de atributo, en el que indico que colores quiero para el fondo y para el dibujo del carácter, en la
Memoria de Vídeo. Cada posición de la memoria de vídeo se corresponde con una localización de la
pantalla, la primera localización se corresponde con la esquina superior izquierda y así sucesivamente de
izquierda a derecha y de arriba abajo por filas. El tamaño del carácter lo decide el Modo en el que esté
trabajando el adaptador.
El byte de atributos es encaminado al generador de atributos que generará una señal que se sumará a la
señal generada por el generador de caracteres para formar la señal de datos en el generador de señales de
vídeo.
El generador de caracteres toma el código asci como entrada y genera para cada fila de puntos de la
pantalla una señal que indica dónde se va a escribir un punto y dónde no se va a escribir nada, siguiendo
los dictados de la matriz de puntos asociada con el carácter ascii. Asociada con el generador de caracteres
hay una ROM que contiene por cada carácter asci imprimible una matriz de puntos que dibuja ese
carácter.
En resumen, para cada fila de puntos, el generador de caracteres genera una señal que indica qué puntos
de cada fila se van a mostrar y qué puntos se van a quedar apagados (el fondo). Y el generado de atributos
generará una señal que indica la intensidad y el color de iluminación de cada uno de los puntos, tanto del
fondo como del dibujo).
Estas dos señales llegan al generador de señales que genera las señales de sincronismo, horizontal y
vertical y la señal de datos, sincronizándola con estas dos
2.- Cada vez que se detecta un movimiento en el ratón, se transmiten tres paquetes a 1200 baudios, 7 bits
de datos y dos stop bits hacia el sistema. ¿Cuánto tiempo tarda en realizarse esta transmisión? Los datos
transmitidos ¿qué contienen?. ¿Podría usted calcular cual es la velocidad máxima – en pasos del ratón por
segundo – a la que se puede mover el ratón para que no se pierda ningún paso? Y si cada paso de ratón
equivale a un recorrido de 0.127 mm ¿podría trasladar esa velocidad a metros por segundo? (2 ptos)
Vamos a transmitir 3 paquetes de 7 bits, más dos bits de stop más un bit de inicio=10 bits. Como la
velocidad de transmisión es 1200 baudios (bits por segundo) y son 30 bits a transmitir: 30/1200= 0.025
segundos (25 ms)
Los datos transmitidos contienen el número de pasos que se ha movido el ratón desde la última
transmisión tanto en el eje x, como en el eje y, así como el estado de los botones.
Como por cada eje transmite 8 bits de cuenta, tenemos que entre dos transmisiones puede detectar como
máximo 256 pasos, por lo tanto la máxima velocidad a la que se puede mover el ratón para no perder
pasos es 256 pasos cada 25 milisegundos. Por regla de tres esto equivale a 256/0.025=10240 pasos por
segundo. Puesto que cada paso equivale aproximadamente a 0.127mm, esto equivale a 0.000127*10240
1.3 metros por segundo.
3.- En la familia de procesadores x86 se distinguen dos espacios de direcciones, memoria y entradasalida. ¿Cómo sabe un dispositivo que está colgado en el espacio de entrada salida que la dirección que
hay actualmente en el bus corresponde al espacio de direcciones de memoria o al espacio de direcciones
de entrada-salida? En PCI, existen también esos dos espacios de direcciones ¿Cómo son distinguidos en
este caso? (1 pto)
En los procesadores x86 existe una pata, M/IO que indica la selección de espacio de direcciones, un uno
en esta línea alude al espacio de direcciones de memoria y un cero al de entrada salida. Esta línea viene
gobernada por el uso de instrucciones in/out para entrada salida o mov, para acceso a memoria. En el PCI
no existe una línea específica, pero las líneas C/BE# durante la fase de direcciones contienen la
BUSES Y PERIFÉFICOS. CONVOCATORIA EXTRAORDINARIA ADELANTADA
junio de 2003
descripción del tipo de transacción en marcha y es aquí donde se diferencia entre accesos a memoria, a
entrada salida o de configuración entre otros.
4.- Escriba un algoritmo que, a partir de un número de entrada en la FAT, obtenga la dirección (Pista,
Cara, Sector) del sector correspondiente. Dispone de las variables, ya obtenidas en el programa
desarrollado en la 2ª práctica de la asignatura: Sectores por pista, número de caras, sectores por cluster.
Traduzca este algoritmo a ensamblador. (3 ptos)
Sea X el número de la entrada de FAT
X es un número de cluster. Los cluster empiezan a partir del directorio y el primer cluster es el 2, por lo
tanto el cluster dos está en el sector 1(sector de arranque)+2 (numero de fat)*9(tamaño de
fat)+(224(Numero de entradas de directorio)*32(tamaño de entrada del directorio))/512 (tamaño de
sector)= 33 (L)
El cluster 2 se encuentra en el sector L+1
El cluster 3 en el sector L+2
El cluster n en el sector L+(n-1) (estoy numerando los sectores a partir del 1)
Sea C el sector donde se encuentra un cluster
Sea la división C/tamaño de pista, cuyos resultados son Pl, cociente, y Rl resto.
Si Rl es cero entonces Sector=tamaño de pista y Pl=Pl-1, si no Sector =Rl
Sea la división Pl/2, cuyos resultados son Pista, cociente, Cara, resto
Algoritmo:
Calcular L
C=L+(X-1)
Pl, Rl=C/Tamaño de Pista
Si Rl=0 entonces Sector=Tamaño de Pista, Pl=Pl-1, si no Sector=Rl
Pista, Cara=Rl/2
Vamos a dar por supuesto: 1 sector por cluster, 512 por sector, y tamaño de directorio contenido en un
byte
5 Explique el proceso seguido por el controlador de interrupciones (8259) desde que se activa una de las
IRQ hasta que el procesador comienza a ejecutar la rutina de atención correspondiente.(2 ptos)
Cuando se activa una IRQ esta se carga en el IRR. Esta carga genera automáticamente una petición de
interrupción, activando la salida INTR que estará conectada a la entrada correspondiente del procesador.
Cuando el procesador inicia un ciclo de reconocimiento, activa la señal INTA. Esta señal, detectada por el
controlador hace que la petición de interrupción más prioritaria pase al ISR. El siguiente pulso de INTA
por parte del procesador hace que el controlador deposite en el bus el vector de interrupción asociado con
la entrada seleccionada. Este valor es recogido por el procesador y con él obtiene la dirección de la
entrada correspondiente en el vector de interrupciones (4*valor). En esta dirección encuentra dos
palabras: la primera contiene el desplazamiento y la segunda contiene el segmento de código donde se
encuentra la rutina de atención a la interrupción. Usando ambos invoca a esta rutina.
Descargar