Professional Documents
Culture Documents
Memoria y E/S
Controlado por DMA
Documento de Apoyo a la Docencia
La Lectura de DMA transfiere dados de memoria a dispositivo E/S, mientras que la escritura de
DMA transfiere datos de dispositivo E/S a memoria. El sistema debe poseer seales de control de
memoria y E/S independientes debido a que ambas operaciones son controladas simultneamente.
La lectura de DMA causa que la seal
e
se activen al mismo tiempo mientras que en
escritura las seales
e
se activen. Para controlar el bus del sistema se podra requerir
un circuito como el de la figura No. 1
Figura No. 1
Circuito Generador de Seales de Control de Sistema en un Ambiente DMA
Figura No. 2
Controlador de DMA programable 8237A-5 (Intel Corporation)
Figura No. 3
Terminales del controlador DMA programable
DACK3-DACK0: Salidas de reconocimiento del canal DMA, son las encargadas de confirmar una
solicitud de canal. Son programables y a menudo se conecta con el dispositivo
de E/S controlado por el DMA para seleccionarlo.
AEN: Seal de habilitacin de direccin. Habilita el registro de direccin de DMA
conectado a las terminales DB
ADSTB: Pulso de direccin, es usado para escribir los bits de direccin A15.A8 en un
registro durante la transferencia de DMA
MEMR: Lectura de memoria. Indica a la memoria para que lea datos durante la
transferencia de DMA
MEMW: Escritura de memoria que le indica a la memoria para que escriba datos durante
un ciclo de lectura.
Figura No. 4
Registro de Comandos 8237A-5
Figura No. 5
Registro de Modo 8237A-5
RR: Registro de solicitud. Se utiliza para solicitar una transferencia de DMA a travs
de software esto es muy til en transferencias de memoria a memoria donde
una seal externa no est disponible para comenzar la transferencia de DMA.
MSR: El registro de mscara borra o establece todas las mscaras con un comando en
lugar de canales individuales como con el MRSR.
SR: El registro de estado muestra el estado de cada canal DMA Los bits TC indican si
el canal ha alcanzado su conteo terminal (transferido todos sus bytes). Cada vez
que se alcanza el recuento de terminales, la transferencia de DMA se termina
para la mayora de los modos de operacin. Los bits de solicitud indican si la
entrada DREQ para un canal determinado est activa.
Figura No. 6
Registro de Estado 8237A-5
COMANDOS DE SOFTWARE
El controlador utiliza tres comandos de software. Estos comandos no tienen un patrn de bits
binarios, al igual que los diversos registros de control dentro del 8237. Una salida simple al nmero
de puerto correcto habilita el comando del software. Las asignaciones de puertos de E/S que
acceden a todos los registros y los comandos del software se muestran en la figura 7
Los comandos son:
1. Limpia el biestable primero/ltimo. Selecciona qu byte (bajo o alto) se lee o escribe
en los registros actuales de direccin y cuenta. la direccin actual y registros de conteo
actual. Si P/U=0 se selecciona el byte menos significativo. Si P/U=1 se selecciona el
byte ms significativo. Cualquier lectura o escritura en la direccin o registro de conteo
invierte automticamente el flip-flop P/U.
2. Limpieza Maestra. Actua exactamente igual que la seal RESET al 8237. Este comando
desactiva todos los canales.
3. Limpiar registro de mscara: habilita a los cuatro canales DMA.
Figura No. 8
Direecciones de puerto E/S de los canales DMA (Intel Corporation)
Los complejos sistemas informticos actuales tienen tantas tareas para realizar que algunos
sistemas utilizan ms de un microprocesador para realizar el trabajo. Esto se llama un sistema
multiprocesamiento sistema distribuido. Un sistema que realiza ms de una tarea se llama un
sistema multitarea. En sistemas que contienen ms de un microprocesador, se debe desarrollar y
emplear algn mtodo de control. En un entorno distribuido, de multiprocesamiento y multitarea,
cada microprocesador accede a dos buses: (l) el bus local y (2) el bus remoto o compartido.
Los microprocesadores 8086 y 8088 comparten bus usando el rbitro del bus 8289. El 80286 utiliza
el rbitro del bus 82289 y el 80386/80486 usa el 82389. El Pentium y el Pentium Pro admiten
directamente un entorno multiusuario. Estos sistemas son mucho ms complejos y difciles de
ilustrar pero su terminologa y operacin es esencialmente la misma que para el 8086/8088.
El bus local est conectado a la memoria y a los dispositivos de E / S a los que se accede
directamente mediante un solo microprocesador sin ningn protocolo especial o reglas de acceso.
El bus remoto (compartido) contiene memoria y E/S a los que cualquier microprocesador en el
sistema accede. La figura 9 ilustra esta idea. La computadora personal tambin est configurada de
la misma manera. El maestro de bus es el microprocesador principal en la computadora personal.
Lo que llamamos bus local en la computadora personal es el bus compartido en esta ilustracin. El
Documento de Apoyo a la Docencia
Inga. Tatiana Vallejo
UMG - Arquitectura de Computadoras 2 Page 9
bus ISA se utiliza como esclavo para el microprocesador de la computadora personal, as como para
cualquier otro dispositivo conectado al bus compartido.
Figura No. 9
Direecciones de puerto E/S de los canales DMA (Intel Corporation)
TIPOS DE BUSES
El bus local es el bus que es residente para el microprocesador. El bus local contiene la memoria
local o residente y E/S. La memoria local la E/S local son accedidos por el microprocesador que
est conectado directamente a ellos.
Un bus compartido es uno que est conectado a todos los microprocesadores en el sistema. El bus
compartido se usa para intercambiar datos entre microprocesadores. Un bus compartido puede
contener memoria y dispositivos de E / S a los que acceden todos los microprocesadores del
sistema. El acceso al bus compartido est controlado por algn rbitro que permite que solo un
microprocesador acceda al espacio de bus compartido del sistema.
El trmino maestro de bus se aplica a cualquier dispositivo (microprocesador o de otro tipo) que
puede controlar un bus que contiene memoria y E/S. El controlador DMA-8237 es un ejemplo de
maestro de bus remoto. El controlador DMA tiene acceso a la memoria del sistema y al espacio de
E / S para provocar una transferencia de datos. Del mismo modo, un maestro de bus remoto
obtiene acceso al bus compartido con el mismo propsito. La diferencia es que el microprocesador
maestro remoto puede ejecutar software variable, mientras que el controlador DMA solo puede
transferir datos.
El acceso al bus compartido se realiza usando el pin HOLD en el microprocesador para el
controlador DMA. El acceso al bus compartido se realiza a travs de un rbitro de busque
determina la prioridad entre los maestros de bus y permite que solo un dispositivo a la vez acceda
al bus compartido.
Figura No. 10
Diagrama de Bloques del 8289 (Intel Corporation)
Figura No. 11
Distribucin de Terminales del 8289
BCLK: La entrada del reloj del bus sincroniza todos los maestros de bus compartidos.
BPRN: La entrada de prioridad del bus permite que el 8289 adquiera el bus compartido
en el prximo flanco descendente de la seal BLCK.
BPRO: La salida de prioridad de bus es una seal que se usa para resolver la prioridad
en un sistema que contiene varios maestros de bus.
BREQ: La salida de solicitud de bus se usa para solicitar acceso al bus compartido.
BUSY: La entrada / salida de ocupado indica, como salida, que un 8289 ha adquirido el
bus compartido. Como una entrada BUSY se usa para detectar que otro 8289 ha
adquirido el bus compartido.
CBRQ: La entrada / salida de solicitud de bus comn se utiliza cuando un
microprocesador de prioridad ms baja solicita el uso del bus compartido. Como
resultado, CBRQ se convierte en una lgica 0 siempre que el 8289 solicita el bus
compartido, y permanece bajo hasta que el 8289 obtiene acceso al bus
compartido.
CLK: La entrada del reloj es generada por el generador de reloj 8284A y proporciona
la fuente de temporizacin interna al 8289.
CRQLCK: La entrada de bloqueo de solicitud comn impide que el 8289 entregue el bus
compartido a cualquiera de los 8289 en el sistema. Esta seal funciona en
conjunto con el pin CBRQ.
INIT: La entrada de inicializacin restablece el 8289 y normalmente se conecta a la
seal RESET del sistema.
IOB: La E/S del bus selecciona si el 8289 funciona en un sistema de bus compartido
(si fue seleccionado con RESB) con E/S (IOB =0 ) o con memoria y E/S (IOB =
1).
LOCK: La entrada de bloqueo impide que el 8289 permita que cualquier otro
microprocesador obtenga acceso al bus compartido. Una instruccin 8086/8088
que contenga un prefijo LOCK evitar que otros microprocesadores accedan al
bus compartido.
RESB: La entrada del bus residente es una conexin de alambrado que permite que el
8289 funcione en sistemas que tienen un sistema de bus compartido o de bus
de residente. Si RESB es 1 lgico se configura como un maestro de bus
compartido. Si es 0 lgico se configura como un maestro de bus local. Cuando
se configura como un maestro de bus compartido, se solicita acceso a travs del
pin de entrada de SYSB / RESB
El maestro de bus compartido controla el sistema por medio de la memoria y la E/S compartidas.
Los microprocesadores adicionales son conectados al bus compartido como maestros de bus
residentes o de bus perifricos de E/S. Estos maestros de bus adicionales normalmente ejecturan
tareas independientes que son reportadas al maestro de bus compartido por medio del bus
compartido.
Figura No. 12
Modos de Operacin
BIBLIOGRAFA
[1] Brey, B. The Intel Microprocessors. 8086/8088, 80186/80188, 80286, 80386, 80486,
Pentium, and Pentium Pro Processor. Architecture, Programming, and Interfacing . Fifth
Edition. (2000) Prentice-Hall International