Documente Academic
Documente Profesional
Documente Cultură
PROBLEMAS RESUELTOS
A. Entradas Salidas controladas por programa
a. Dado un sistema anfitrión que dispone de un bus de direcciones de 11 líneas, un bus de datos de 8
líneas y un Mapa de Memoria Común para las operaciones de E/S, distribuya el mapa para una
aplicación que ocupa 1.024 posiciones para instrucciones, 512 para datos y las restantes para
elementos de E/S. Suponga que las instrucciones se ubican en la zona baja del mapa, a continuación
los datos y finalmente los elementos de E/S.
$7FF
E/S
$600
$5FF
Datos
Mapa de Memoria Común $400
2 KB $3FF
Instrucciones
$000
b. Teniendo en cuenta la distribución del Mapa de Memoria Común del esquema anterior, exprese el
significado de las siguientes instrucciones:
i. MOV A, $410
ii. MOV A, $610
iii. MOV $500, A
iv. MOV $60B, A
Nota: La sintaxis de la instrucción es Código de Instrucción fuente, destino
En un sistema con un mapa de memoria común el procesador emplea las mismas instrucciones de lectura y
escritura de datos para leer o escribir un elemento de E/S (instrucciones típicas son MOV, LDA, STA)
i. MOV A, $410: En el mapa de direcciones puede observarse que la posición $410 corresponde
a la zona de datos, por lo tanto, la instrucción mueve el contenido del Acumulador A del µ p a
la posición de memoria $410.
ii. MOV A, $610: La dirección $610 corresponde a un registro de elementos de E/S, por lo tanto,
la operación copia el contenido del Acumulador A del µp a la posición de memoria $610
asociada a un dispositivo de E/S. En este caso se trata de una operación de escritura.
iii. MOV $500, A: La posición $500, correspondiente a la zona de datos, almacena un valor que se
copia al Acumulador A del µp para su posterior tratamiento.
iv. MOV 60B$, A: La posición $60B, que corresponde a un elemento de E/S, se copia al
Acumulador A del µp. En este caso, la operación es de lectura y se aplica al registro de datos
del controlador ó a su registro de estado.
Página 1
TÉCNICAS Y ESTRUCTURAS DIGITALES
B. El siguiente esquema corresponde a un sistema con 20 líneas en el AB, 16 en el DB y un Mapa de E/S
Independiente de 1 KB reservado para los registros de los controladores de los periféricos del sistema.
c. La instrucción OUT deposita el contenido del Acumulador A en la posición que se indique del Mapa de
E/S, la instrucción IN lleva el contenido de la posición de memoria de E/S referenciada al Acumulador
A y la instrucción LDAA carga en el Acumulador A el contenido de la posición de memoria principal
referenciada ó un valor determinado. Suponiendo que A = $FF, el Registro de Datos = $00 (ubicado en
la posición $100) y el Registro de Estado = $AB (ubicado en la posición $101), indique el valor que
queda almacenado en cada registro después que el procesador ejecute las siguientes instrucciones:
1. LDAA $BB
2. OUT $101
3. IN $100
4. OUT $101
En la siguiente tabla se encuentra el estado inicial de cada uno de los registros involucrados en este
problema, es decir, el contenido de cada registro, y sus variaciones a medida que se van ejecutando las
instrucciones:
Acumulador Reg. de Datos Reg. de Estado
A ($100) ($101)
Estado Inicial $FF $00 $AB
LDAA $BB $BB $00 $AB
OUT $101 $BB $00 $BB
IN $100 $00 $00 $BB
OUT $101 $00 $00 $00
Página 2
TÉCNICAS Y ESTRUCTURAS DIGITALES
PROBLEMAS A RESOLVER
1. Responda:
a) ¿Cuál es la función de la Unidad de E/S (Entrada Salida) dentro de la arquitectura de la computadora? Dibuje
dicha arquitectura.
b) ¿Qué es un periférico? Ejemplifique periférico de entrada, periférico de salida y periférico de E/S.
c) ¿Puede decir que la Unidad de E/S es una memoria especial?
d) ¿Qué es un controlador de E/S? ¿Cuáles son sus funciones específicas? Dibuje el esquema de la estructura
interna de un controlador.
e) ¿A qué se denomina Mapa de Memoria Común y Mapa de E/S Independiente? ¿Cuál es la finalidad de la línea
IO/M!?
f) Mientras menos implicación tenga el μp en la operación de E/S, mayor grado de solapamiento o
simultaneidad se puede conseguir entre el trabajo del procesador y el de E/S. Describa las técnicas que se
usan para realizar las operaciones de E/S, que se listan a continuación, luego ordénelas de menor a mayor
según el grado de independencia respecto del μp: ACCESO DIRECTO A MEMORIA (DMA), E/S CONTROLADAS
POR PROGRAMA, PROCESADOR DE E/S ESPECIALIZADO, E/S CONTROLADAS POR INTERRUPCIONES
g) ¿Cuál es la función de las instrucciones IN y OUT?
h) En la estructura interna de un controlador DMA (CDMA) se dispone de los siguientes registros: Registro de
dirección, Contador de palabras, Registro de Datos y Lógica auxiliar de control. Describa cada uno de ellos.
i) Existen distintos modos de realizar un DMA según la estrategia de control sobre los buses del sistema que
posea el CDMA ¿Cuáles son los modos de transferencia DMA?
j) Dibuje un sistema que manipule las entradas y salidas a través de un procesador dedicado. Incluya en el
mismo un canal selector de E/S y un canal multiplexor ¿Qué función cumplen estos canales?
2. Considerando que la velocidad de transmisión de los datos a nivel de la arquitectura de las computadoras se
mide en pequeñas unidades de tiempo:
a) Investigue cuáles son las unidades de tiempo menores al segundo y complete la siguiente tabla:
Símbolo ds cs ms μs ns ps
Nombre
Segundo
s ms μs ns
0,004
100
80
20.000
Página 3
TÉCNICAS Y ESTRUCTURAS DIGITALES
a) ¿Cuál es el espacio de direcciones que puede utilizarse para periféricos?
b) ¿Cuál es el número máximo de periféricos que pueden conectarse, suponiendo que cada uno ocupa 32
posiciones?
c) ¿Cuál es el número máximo de periféricos que pueden conectarse, suponiendo que cada uno ocupa 64
direcciones?
4. Dado un sistema que cuenta con un AB de 18 líneas y un DB de 16 líneas, se pide:
a) Dibuje el esquema de distribución de un Mapa de Memoria Común considerando que la mitad inferior del
mapa de direcciones estará destinada a contener instrucciones, a continuación un espacio de 64 KB
contendrá datos, seguido de 16 KB del mapa para posibilitar las operaciones de E/S.
b) Considerando el espacio de direcciones destinada a los periféricos ¿Cuál sería el número máximo de
periféricos que podrían conectarse, si cada uno ocuparía 64 posiciones? y, ¿suponiendo que cada uno ocupa
128 direcciones?
5. La instrucción STAA guarda el contenido del acumulador A en una dirección de MP, de igual manera, la
instrucción STAB, guarda el contenido del Acumulador B en una posición de memoria. Describa el
comportamiento de las siguientes instrucciones extraídas al azar de un programa que entre otras tareas
controla diversas entradas y salidas de datos. El programa se ejecuta en un sistema de 16 líneas de
direccionamiento y 8 de datos y el mapa de direcciones destina 32 KB iniciales para los datos de esta aplicación,
los 16 KB siguientes para las instrucciones y el espacio de direcciones restante para operaciones de E/S:
Página 4
TÉCNICAS Y ESTRUCTURAS DIGITALES
b) escriba las instrucciones necesarias para transferir al dispositivo los valores almacenados en las direcciones
$330FF, $40000, $2F077 y $2CA10. Suponga que para iniciar la transferencia debe cargarse el valor $EE en el
registro de estado del dispositivo y que al finalizar ésta el registro debe almacenar $FF.
10. Diseñe el esquema de conexión para un procesador que tiene los terminales INTR (atención a interrupción) e
INTA (reconocimiento de interrupción) de modo que pueda atender 4 controladores de dispositivos mediante
la técnica de E/S controlada por interrupción. Al realizar el esquema considere:
a) sólo puede utilizar compuertas simples (lógica combinacional)
b) Se cuenta con circuitos PICs (Controlador Programable de Interrupciones) ¿Cómo se modificaría el esquema
de conexión si cuenta con un PIC? ¿cuántos periféricos pueden conectarse? ¿Cómo trabaja un periférico
cuando está conectado a un PIC?
11. En sistemas que cuentan con controlador DMA que realiza transferencias a ráfagas entre la memoria y los
dispositivos y viceversa, es interesante calcular los tiempos de dichas transmisiones. Resuelva:
a) Calcule el tiempo requerido para transmitir 1 bloque de 512 bytes de datos sabiendo que el procesador tarda
7 µs en cargar el Registro de Direcciones, 5 µs en cargar el Contador de Palabras y 10 µs en atender la
interrupción que se produce al finalizar la transmisión. Considere que cada byte tarda en enviarse 1,2 µs.
b) En un sistema que cuenta con un controlador DMA que realiza transferencias a ráfagas, el procesador tarda
7500 ns en cargar el Registro de Direcciones, 3000 ns en cargar el Contador de Palabras, 8 µs en atender la
interrupción que se produce al finalizar la transmisión y 5*10-6 ns en transmitir 1 byte; calcule el tamaño de
bloque sabiendo que el tiempo de transferencia es 120,9 µs.
c) Se desea conocer el tiempo requerido para transmitir 10 bloques de datos en un sistema que posee un
controlador que realiza transferencias DMA, sabiendo que por cada bloque, el procesador demora 10000 ns
en programar la transferencia y 11 µs en atender la interrupción de finalización. Considere que se transmiten
bloques de 1/2 KB y que cada byte tarda 90 ns en enviarse. Exprese el resultado en ns y µs.
PROBLEMAS PROPUESTOS
12. Dibuje el esquema de distribución de un Mapa de Memoria Común que interactúa con un procesador en un
sistema cuyo mapa de direcciones es de 1 GB y cuenta con un DB de 16 líneas. En dicho mapa la cuarta parte
inicial se destina a las instrucciones, los 512 MB siguientes deberán contener datos y los siguientes 128 KB se
destinarán a E/S.
13. Dado un sistema que cuenta con un AB de 12 líneas y un DB de 8 líneas dibuje el esquema de distribución de un
Mapa de Memoria Común considerando que los primeros 2 KB estarán destinados a instrucciones, el siguiente
1 KB contendrá datos y el resto del mapa se destinará a E/S. Además determine el propósito de las siguientes
instrucciones:
MOV $E77, A
MOV A, $940
MOV $E77, A
MOV A, $941
MOV $E77, A
MOV A, $942
MOV $E77, A
MOV A, $943
14. Dibuje los mapas de memoria y E/S independiente de un sistema con 16 líneas en el AB, 8 en el DB y 8 KB
reservado para los periféricos del sistema. Además considerando que un dispositivo tiene asociados un registro
de datos en la posición $300 y un registro de estado en $301, determine el propósito del siguiente programa:
CLRB
IN $300
MOV A, $0010
ADDB $0010 CLRB: borra el registro acumulador B
IN $301 ADDB dir: suma al valor de registro acumulador B, el
BNZ contenido de la dirección de memoria especificada.
BNZ etiqueta: salta hasta etiqueta si el valor del
acumulador A es distinto de cero.
Nota: El registro de estado del dispositivo vale cero si la entrada de datos finalizó, mientras que si continúa el ingreso de
datos este registro es distinto de cero.
Página 5
TÉCNICAS Y ESTRUCTURAS DIGITALES
15. Suponiendo que dispone de 2 PIC (cada uno capaz de atender 8 controladores diferentes) y necesita conectar al
sistema 13 periféricos ¿Puede realizarlo? ¿Cómo lo implementaría? Dibuje el esquema resultante.
16. Considerando el comportamiento de un controlador DMA complete la siguiente tabla:
Página 6