Anda di halaman 1dari 19

38

UNIDAD 3
Interfaz de E/S Bsica, Interrupciones y E/S Controlada por DMA Por muy poderosa que sea una unidad central de procesamiento (CPU), la utilidad de una computadora depende esencialmente de sus capacidades de entrada y salida. Es decir sin ellas, no habra por ejemplo entrada desde el teclado, ni salida desde la pantalla, ni salida impresa y ni siquiera almacenamiento y recuperacin en disco. Para ello se requiere utilizar rutinas y medios especializados que permitan procesar la entrada y la salida. Motivado a esto, se presenta en esta unidad y sus interfaces, especficamente con el introducen dos tcnicas avanzadas de E/S, memoria, adems de los componentes y posibles. el estudio de los componentes de E/S microprocesador. Posteriormente se las interrupciones y acceso directo a las configuraciones que las hacen

Objetivo de la Unidad 3: Resolver problemas de atencin a los dispositivos de E/S, haciendo uso de interfases bsicas programables y/o por interrupcin y/o controladas por DMA. Contenido de la Unidad 3: El contenido de la unidad contempla el estudio de los siguientes temas: Interfaz bsica de E/S. Interrupciones. Acceso directo a la memoria. E/S controlada por DMA.

39 Actividades recomendadas para el estudio del contenido de la unidad 3. 1.- Examine la tabla 3.1, en ella contentivos de la unidad 3:
TTULO

puede identificar las

lecturas de los temas

MATERIAL DE REFERENCIA

CONTENIDO Introduccin a la interfaz de E/S. Decodificacin de direccin de un puerto de E/S.

CAPITUL O

texto Los La interfaz de El entrada/salida Microprocesadores bsica. Intel, B. B. Brey. La interfaz programable.

11 perifrica

La interfaz programable de teclado/pantalla tipo 8279. Procesamiento interrupciones. bsico de

Interrupciones por hardware. Expansin de la estructura de interrupciones.. Interrupciones. El texto Los Microprocesadores Intel, B. B. Brey. Controlador de interrupcin programable 8259A . 12

Ejemplos de interrupcin. Acceso directo a Operacin bsica del DMA y texto Los memoria y E/S El el controlador del DMA 8237. controlada por Microprocesadores Intel, B. B. Brey. DMA. Operacin del bus compartido.

13

Tabla 3.1

40

a)

Ampliacin de conocimientos: El contenido Interfaz programable de comunicaciones 16550, incluido en el captulo 11 seccin 11-6, del texto Los Microprocesadores Intel, no es objeto de evaluacin del curso Microprocesadores, sin embargo, se recomienda su lectura, ya que sta es utilizada para conectarse prcticamente a cualquier tipo de interfaz serial.

Atencin: Para el establecimiento de una interfaz se requieren ciertos conocimientos de electrnica, el texto del curso examina algunos hechos relacionados con ella, los cuales se recomienda leer, a objeto de obtener una mejor comprensin del contenido.

2.- Lea los siguientes aspectos tericos, a travs de los cuales reforzar los conocimientos adquiridos. Buffer de tres estados (o buffer triestado). Un dispositivo lgico semiconductor que puede tener tres estados: (1) un estado lgico 0, (2) un estado lgico 1 y (3) un estado en el que la salida est, efectivamente, desconectada del resto del circuito y no tiene influencia sobre l. [Lameda,1984]. Tecnologa TTL Acrnimo en Ingls de Transistor-Transistor Logic o "Lgica Transistor a Transistor". Tecnologa de construccin de circuitos electrnicos digitales, en los que los elementos de entrada de la red lgica son transistores, as como los elementos de salida del dispositivo. Las caractersticas de la tecnologa utilizada, en la familia TTL, condiciona los parmetros que se describen en sus hojas de caractersticas segn el fabricante: Su tensin de alimentacin caracterstica se halla comprendida entre los 4.75 V y los 5.25 V como se ve un rango muy estrecho debido a esto, los niveles lgicos vienen definidos por el rango de tensin comprendida entre 0.2 V y 0.8 V para el estado L (bajo) y los 2.4 V y Vcc para el estado H (alto). La velocidad de transmisin entre los estados lgicos es su mejor baza, ciertamente esta caracterstica le hacer aumentar su consumo siendo su mayor enemigo. Motivo por el cual han aparecido diferentes versiones de TTL como FAST, LS, S, etc y ltimamente los TTL: HC, HCT y HCTLS. En algunos casos puede alcanzar poco ms de los 250 Mhz. [http://es.wikipedia.org/wiki/Tecnolog%C3%ADa_TTL]. Nota: Vcc es el nivel de 5 V (voltios).

41 LED (siglas en ingls de Diodo Emisor de Luz). Semiconductor especial que emite luz, cuando lo recorre una corriente elctrica. [Sayers 1995]. Interfaces con el microprocesador. La mayora de los microprocesadores tiene poco valor funcional por si mismos. Muchos no contienen una memoria sustancial, y pocos tienen puertos de entrada y salida que los conecten directamente a dispositivos perifricos. Los microprocesadores operan como parte de un sistema. La interconexin, o enlace, de las partes en este sistema se denomina interfaz. [Tokheim, 1995]. E/S asignada a memoria y E/S aislada. Cuando el procesador, la memoria principal y la E/S comparten un bus comn, son posibles dos modos de direccionamiento: asignado en memoria (memorymapped) y aislado. Con las E/S asignadas a memoria, existe un nico espacio de direcciones para las posiciones de memoria y los dispositivos de E/S. La CPU considera los registros de estado y de datos de los mdulos de E/S como posiciones de memoria, y utiliza las mismas instrucciones mquina para acceder tanto a la memoria como a los dispositivos de E/S. As por ejemplo, con 10 lneas de direccin se puede acceder a un total de 1024 posiciones de memoria y direcciones de E/S, en cualquier combinacin. Con la E/S asignadas en memoria, se necesita una sola lnea de lectura y una sola lnea de escritura en el bus. Alternativamente, el bus puede disponer de lneas de lectura y escritura en memoria junto con lneas para rdenes de entrada y salida. En este caso, las lneas de rdenes especifican si la direccin se refiere a una posicin de memoria o a un dispositivo de E/S. El rango completo de direcciones est disponible para ambos. De nuevo, con 10 lneas de direccin, el sistema puede soportar ahora 1024 posiciones de memoria y 1024 direcciones de E/S. Puesto que el espacio de direcciones de E/S est aislado del de memoria, ste se conoce con el nombre de E/S aislada. [Stallings, 2000]. Protocolo con respuesta (Handshaking) Un tpico sistema de comunicacin en paralelo puede ser de una direccin (unidireccional) o de dos direcciones (bidireccional). El ms simple mecanismo utilizado en un puerto paralelo de una PC es de tipo unidireccional y es el que analizaremos en primer lugar. Distinguimos dos elementos: la parte transmisora y la parte receptora. La parte transmisora coloca la informacin en las lneas de datos e informa a la parte receptora que la informacin (los datos) estn disponibles; entonces la parte receptora lee la informacin en las lneas de datos e informa a la parte transmisora que ha tomado la informacin (los datos). Observe que ambas partes sincronizan su respectivo acceso a las lneas de

42 datos, la parte receptora no leer las lneas de datos hasta que la parte transmisora se lo indique en tanto que la parte transmisora no colocar nueva informacin en las lneas de datos hasta que la parte receptora remueva la informacin y le indique a la parte transmisora que ya ha tomado los datos, a sta coordinacin de operaciones se le llama acuerdo entendimiento. Bien, en stos mbitos tecnolgicos es recomendable utilizar ciertas palabras en ingls que nos permiten irnicamente un mejor entendimiento de los conceptos tratados. Repito: a la coordinacin de operaciones entre la parte transmisora y la parte receptora se le llama handshaking, que en espaol es el acto con el cual dos partes manifiestan estar de acuerdo, es decir, se dan un apretn de manos. El handshaking Para implementar el handshaking se requieren dos lneas adicionales. La lnea de estroboscopio (en ingls strobe) es la que utiliza la parte transmisora para indicarle a la parte receptora la disponibilidad de informacin. La lnea de admisin (acknowledge) es la que utiliza la parte receptora para indicarle a la parte transmisora que ha tomado la informacin (los datos) y que est lista para recibir ms datos. El puerto paralelo provee de una tercera lnea de handshaking llamada en ingls busy (ocupado), sta la puede utilizar la parte receptora para indicarle a la parte transmisora que est ocupada y por lo tanto la parte transmisora no debe intentar colocar nueva informacin en las lneas de datos. Una tpica sesin de transmisin de datos se parece a lo siguiente: Parte transmisora: La parte transmisora chequea la lnea busy para ver si la parte receptora est ocupada. Si la lnea busy est activa, la parte transmisora espera en un bucle hasta que la lnea busy est inactiva. La parte transmisora coloca la informacin en las lneas de datos. La parte transmisora activa la lnea de strobe. La parte transmisora espera en un bucle hasta que la lnea acknowledge est activa. La parte transmisora inactiva la lnea de strobe. La parte transmisora espera en un bucle hasta que la lnea acknowledge est inactiva. La parte transmisora repite los pasos anteriores por cada byte a ser transmitido. Parte receptora: La parte receptora inactiva la lnea busy (asumiendo que est lista para recibir informacin). La parte receptora espera en un bucle hasta que la lnea strobe est activa. La parte receptora lee la informacin de las lneas de datos (y si es necesario, procesa los datos). La parte receptora activa la lnea acknowledge. o La parte receptora espera en un bucle hasta que est inactiva la lnea de strobe. La parte receptora inactiva la lnea acknowledge. La parte receptora repite los pasos anteriores por cada byte que debe recibir.

43 Se debe ser muy cuidadoso al seguir stos pasos, tanto la parte transmisora como la receptora coordinan sus acciones de tal manera que la parte transmisora no intentar colocar varios bytes en las lneas de datos, en tanto que la parte receptora no debe leer ms datos que los que le enve la parte transmisora, un byte a la vez. [http://www.modelo.edu.mx/univ/virtech/circuito/paralelo.htm]. CHIP Pequea placa o pastilla de material semiconductor usado para producir un circuito integrado. [Lameda, 1984]. Tipos de interfaces La interfaz entre el perifrico y el mdulo de E/S debe ajustarse a la naturaleza y la forma de funcionar del perifrico. Una de las principales caractersticas de la interfaz es si es serie o paralela. En una interfaz paralela, hay varias lneas que conectan el mdulo de E/S y el perifrico, y se transfieren varios bits simultneamente a travs del bus de datos. En una interfaz serie, hay slo una lnea para transmitir los datos, y los bits deben transmitirse uno a uno . Las interfaces paralelas se utilizan usualmente para los dispositivos de alta velocidad, como una cinta o disco. Las interfaces serie son ms propias de impresoras y terminales. [Stallings, 2000]. Tcnica de E/S mediante interrupciones. Es aquella en la que el programa genera una orden de E/S y despus contina ejecutndose hasta que el hardware de E/S interrumpe para indicar que la operacin de E/S ha concluido. [Stallings, 2000]. Lneas de interrupcin del microprocesador Intel 80386. El microprocesador 80386 de Intel posee una lnea de peticin de interrupcin (INTR, Interrup request) y una sola lnea de reconocimiento de interrupcin (INTA, Interrup Acknowledge). [Stallings, 2000]. Funcionamiento del DMA. El DMA requiere un mdulo adicional en el bus del sistema. El mdulo DMA (ver figura 3.1) es capaz de imitar al procesador y, de hecho, es capaz de recibir el control del sistema cedido por el procesador. Necesita dicho control para transferir datos a, y desde, memoria a travs del bus del sistema. Para hacerlo, el mdulo DMA debe utilizar el bus slo cuando el procesador no lo necesita, o debe forzar al procesador a que suspenda temporalmente su funcionamiento. sta ltima tcnica es la ms comn y se denomina robo de ciclo (cycle stealing), puesto que, en efecto, el mdulo DMA roba un ciclo de bus.

44

Contador de datos Lneas de datos Registro de datos Registro de direccin

Lneas de direcciones DMA REQ DMA ACK INTR Read Write

Lgica de control

Figura 3.1. Diagrama tpico de un mdulo de DMA. Cuando el procesador desea leer o escribir un bloque de datos, enva a una orden al mdulo de DMA, incluyendo la siguiente informacin: Si se solicita una lectura o una escritura, utilizando la lnea de control de lectura o escritura entre el procesador y el mdulo DMA. La direccin del dispositivo de E/S en cuestin, indicada a travs de la lnea de datos. La posicin inicial de memoria a partir de donde se lee o se escribe, indicada a travs de las lneas de datos y almacenada por un mdulo de DMA en su registro de direcciones. El nmero de palabras a leer o escribir, tambin indicando a travs de las lneas de datos y almacenado en el registro de cuenta datos. Despus el procesador contina con otro trabajo. Ha delegado la operacin de E/S al mdulo de DMA, que se encargar de ella El mdulo de DMA, transfiere el bloque completo de datos palabra a palabra, directamente desde, o hacia, la memoria, sin que tenga que pasar a travs del procesador. Cuando la transferencia se ha terminado, el mdulo de DMA enva una seal de interrupcin al procesador. As pues, el procesador slo interviene al comienzo y al final de la transferencia (ver figura 3.2). [Stallings, 2000].

45 CPU Mandar orden de lectura de bloque al mdulo DMA DMA Hacer otra cosa

Leer el estado del mdulo DMA

DMA

CPU

Figura 3.2. Acceso directo a memoria 3.- Estudie el ejemplo 3.1, en cual presenta la descripcin y funcionamiento de la interfaz programable de perifricos (IPP) Intel 82C55A. Ejemplo 3.1: Descripcin y funcionamiento de la programable 82C55A Intel. interfaz de perifrico

Este tipo de interfaz se utiliza para la E/S programada y para la E/S mediante interrupciones. El 82C55A es un mdulo de E/S de propsito general integrado en un solo chip y diseado para ser usado con el procesador Intel 8086. [Stallings,2000]. La figura 3.3 muestra el diagrama general de bloques de la IPP 82C55A de Intel.

46

Buffer de datos

Bus interno de 8 bits

Bus de datos del 8086

8 A

Fuente de alimentacin

+ 5 V (Vdd) Tierra (GND)

4 CA 4 CB

A0 A1 Read Write Reset Chip select Lgica de control 8 Registro de control

Buffer de datos Figura 3.3 Diagrama de bloques de la IPP 82C55A de Intel.

Las 24 lneas de E/S son programables por el 8086 mediante un registro de control. El 8086 puede fijar el valor del registro de control para especificar los diversos modos de operacin y configuraciones. Las 24 lneas se dividen en tres grupos de 8 bits (A, B, C). Cada grupo puede funcionar como un puerto de E/S de 8 bits. Adems, el grupo C se subdivide en grupos de 4 bits (CA y CB), que pueden usarse conjuntamente con los puertos de E/S de A y B. El diagrama de la figura 3.3 es la interfaz interna con el bus del 8086. sta incluye un bus de datos bidireccional de 8 bits (D0 a D7), usado para transferir datos a y desde, los puertos de E/S, y para transferir la informacin al registro de control. Las dos lneas de direcciones (A0 y A1) especifican uno de los dos puertos de E/S o el registro de control. Una transferencia se producir cuando la lnea de seleccin de

47 chip (CHIP SELECT) se activa junto con la lnea de lectura (READ) o escritura (WRITE). La lnea RESET se utiliza para iniciar el mdulo. El procesador escribe en el registro de control para seleccionar el modo de operacin y para definir las seales, en su caso. En el modo 0 de operacin, los tres grupos de 8 lneas externan funcionan como tres puertos de E/S de 8 bits. Cada puerto puede ser designado como de entrada o de salida. En caso contrario, los grupos A y B funcionan como puertos de E/S, y las lneas del grupo C sirven de lneas de control para A y B. Las lneas de control tiene dos funciones principales: la sincronizacin mediante conformidad de seales (handshaking) y la peticin de interrupciones. La conformidad de un mecanismo sencillo de temporizacin. El emisor utiliza una lnea de control como lnea de datos listos (DATA READY) para indicar que hay un dato en las lneas de datos de E/S. El receptor utiliza otra lnea como reconocimiento (ACKNOLEDGE), para indicar que el dato se ha ledo y que las lneas de datos se pueden liberar. Se puede seginar otra lnea como lnea de peticin de interrupcin (INTERRUPT REQUEST) en el bus del sistema. 4.- En el ejemplo 3.2, se presenta una aplicacin de la interfaz 82C55A, para controlar un terminal con teclado y pantalla. Ejemplo 3.2: Uso de la interfaz 82C55A para controlar la conexin de un teclado y una pantalla al microprocesador.

En la figura 3.4, se ilustra el uso de la interfaz programable de perifricos Intel 82C55A. El teclado proporciona 8 bits de entrada, dos de estos bits, SHIFT y CONTROL, tienen un significado especial para el programa de gestin de teclado que ejecuta el procesador. Sin embargo este significado es transparente para el 82C55A, que simplemente acepta los 8 bits de datos y los pone en el bus de datos del sistema. Existen dos lneas para la sincronizacin del teclado mediante conformidad (handshaking). La pantalla tambin est conectada a un puerto de datos de 8 bits. De nuevo, dos de los bits tiene un significado especfico que es transparente para el 82C55A. Junto a las dos lneas para la sincronizacin mediante conformidad, hay dos lneas ms para funciones de control adicionales.

48 Peticin de interrupcin
C3 A0 A0 A1 A2 A3 A4 A5 A6 R0 R1 R2 R3 R4 R5 Shift (deslazamiento) Control

C4 C5

Dato preparado Reconocimiento

82C55A S0 S1 S2 S3 S4 S5 Backspace Borrar

B0 B1 B2 B3 B4 B5 B6 B7

C0

C1 C2 C6 C7

Dato preparado Reconocmiento Blanking Borrar lnea

Peticin de Interrupcin Figura 3.4 Interfaz teclado/pantalla en el 82C55A 5.- En el ejemplo 3.3 se muestra el uso de la E/S mediante interrupciones, para leer un bloque de datos desde un dispositivo perifrico y almacenarlo en la memoria. Ejemplo 3.3: E/S con interrupciones para leer un bloque de datos.

En la figura 3.5 se muestra el conjunto de acciones que deben desarrollarse para procesar una E/S haciendo uso de las interrupciones. El procesador tras enviar una orden de E/S a un mdulo, contina realizando algn trabajo til. Despus, el mdulo de E/S interrumpir al procesador para solicitar su servicio cuando est preparado para intercambiar datos con l. El procesador ejecuta entonces la transferencia de datos, y despus contina con el procesamiento previo.

49

Mandar orden de lectura al mdulo de E/S Leer el estado del mdulo de E/S

CPU

I/O Hacer otra cosa

Interrupcin E/S CPU

Comprobar el estado

Condicin de error

Preparado Leer una palabra del mdulo de E/S E/S CPU

Escribir una palabra en memoria

CPU

Memoria

No

Comprobar el estado

Si Instruccin siguiente Figura 3.5. Entrada de un bloque de datos mediante interrupciones. 6.- En el ejemplo 3.4, se presenta una aplicacin del PIC (controlador de interrupciones programable) 82C59A para conectar varios mdulos de E/S con el microprocesador Intel 80386.

50

Ejemplo 3.4: Uso del PIC 82C59A para gestionar la interrupcin de 64 mdulos de E/S.

En la figura 3.6 se ilustra el uso del PIC 82C59A para conectar 64 mdulos de E/S. Debido a que un 82C59A slo puede manejar hasta 8 mdulos, es necesario disponer de un sistema en cascada para controlar los 64 mdulos de E/S. La nica responsabilidad del 82C59A es la gestin de interrupciones. Acepta la solicitud de interrupcin de los dispositivos conectados a l, determina qu interrupcin tiene la prioridad ms alta, y se lo indica entonces al procesador activando la seal INTR. El procesador reconoce la solicitud mediante la lnea INTA. Esto hace que el 82C59 site el vector apropiado en el bus de datos. Entonces, el procesador puede iniciar el procesamiento de la interrupcin y comunicarse directamente con el mdulo de E/S para leer o escribir datos. Si se precisa controlar ms de 8 mdulos, se puede disponer en cascada para manejar para conectar

51 Controlador de interrupciones 82C59A esclavo


Dispositivo externo 00 Dispositivo externo 01 IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 INT

Dispositivo externo 07

Controlador de interrupciones 82C59A esclavo


Dispositivo externo 08 Dispositivo externo 09 IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 INT

Concentrador de interrupciones 82C59A maestro


IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7

Procesador 80386

INT

INTR

Dispositivo externo 15

Controlador de interrupciones 82C59A esclavo


Dispositivo externo 56 Dispositivo externo 57 IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 INT

Dispositivo externo 63

Figura 3.6. Uso del controlador de interrupciones 82C59A. Entrada de un bloque de datos mediante interrupciones.

52 7.- En el ejemplo 3.5, se presenta una aplicacin del funcionamiento de un mdulo DMA, para escribir un bloque de 32 bytes de la direccin de memoria 100 en una terminal (un terminal de computadora consta de dos partes: un teclado y un monitor). Ejemplo 3.5: Transferencia de un bloque de 32 bytes desde memoria a un terminal de computadora, usando la tcnica de E/S de DMA.

La E/S controlada por interrupciones es un gran adelanto en comparacin con la E/S programada [TANENBAUM, 2000]. El problema es que se requiere una interrupcin por cada carcter transmitido. El procesamiento de interrupciones es costoso. Razn por la cual es necesario una forma de reducir la mayor parte de las interrupciones. La solucin es regresar a la E/S programada, pero encargrsela a otro dispositivo que no sea el CPU. La figura 3.7 muestra como se logra esto. Se ha aadido un nuevo chip al sistema, un controlador de acceso directo a la memoria (DMA), con acceso directo al bus.

Direccin CPU Cuenta DMA 100 32 4 1 Dispositivo Sentido 100 Controlador RS232C Memoria

Bus Figura 3.7. Sistema controlador DMA El chip DMA contiene al menos cuatro registros, todos los cuales pueden ser cargados por software que se ejecuta en la CPU. El primero contiene la direccin de memoria que se leer o en la que se escribir. El segundo contiene el nmero de bytes (o palabras) que se transferirn. El tercero especfica el nmero de

53 dispositivo o espacio de direcciones de E/S que se usar, con lo que se especifica qu dispositivo de E/S se desea. El cuarto indica si los datos se escribirn en el dispositivo de E/S o se leern de l. Para escribir un bloque de 32 bytes de la direccin 100 en una terminal (por ejemplo, el dispositivo 4), la CPU escribe los nmeros 100, 32 y 4 en los primeros tres registros del DMA, y luego el cdigo de escribir ( por ejemplo, 1) en el cuarto, como se muestra en la figura 3.7. Una vez inicializado con estos valores, el controlador DMA emite una solicitud de bus para leer el byte 100 de la memoria, del mismo modo como la CPU leera de la memoria. Una vez que obtiene el byte, el controlador de DMA emite una solicitud de E/S al dispositivo 4, para escribir el byte en l. Una vez completadas ambas operaciones, el controlador de DMA incrementa en 1 su registro de direccin y decrementa en 1 su registro de cuenta. Si el registro de cuenta sigue siendo mayor que 0, se lee otro byte de la memoria y se escribe en el dispositivo. Cuando la cuenta por fin llega a 0, el controlador de DMA deja de transferir data y habilita la lnea de interrupcin en el chip del CPU. Con DMA, la CPU solo tiene que inicializar unos cuantos registros. Una vez hecho eso, queda libre para hacer otras cosas hasta que se completa la transferencia, Ejercicios propuestos

1.- Asuma que un procesador de 16 bits y dos de 8 bits deben conectarse a un bus del sistema. Considere los siguientes detalles: Todos los microprocesadores tiene el hardware necesario para cualquier tipo de transferencia: E/S programada, E/S mediante interrupciones y DMA. Todos los microprocesadores tienen un bus de direcciones de 16 bits. Hay dos tarjetas de memoria, de 64 Kbytes cada una, conectada al bus. El diseador desea que se comparta la mayor cantidad de memoria posible. El bus del sistema permite un mximo de cuatro lneas de interrupcin y una de DMA. Haga las suposiciones adicionales que necesite, y: a) Establezca las especificaciones del bus en trminos del nmero de lneas. b) Explique cmo es la interfaz de los dispositivos indicados arriba para conectarse al bus. 2.- Una impresora de caracteres simples podra usar razonablemente bien una entrada/salida programada, pues su velocidad es lenta. Comparada con la unidad central de procesamiento. Sin embargo, la mayora de las impresoras modernas utiliza el acceso directo a la memoria. Por qu?. 3.- Por qu el acceso directo a la memoria (DMA) sera intil si la computadora careciera de la capacidad de interrupcin?

54

Consulta en otros libros

[Stallings, 2000] Dedica un captulo a los distintos aspectos de la organizacin de E/S, tambin describe la interfaz entre los mdulos de E/S y los dispositivos externos. [Tokheim, 1995] Hace una presentacin de las interfaces con el microprocesador. [Tanenbaum, 2000] Cubre algunos aspectos de los temas de esta unidad. [Lameda, 1984] Presenta un estudio de los mtodos para introducir y extraer datos del computador, tambin incluye el estudio de las interfaces con dispositivos para entrada/salida. [Sayers 1995] Contiene aspectos orientados al estudio de problemas externos de interfaz de un microprocesador con el mundo real. Se sugiere consultar tambin los otros textos recomendados en la bibliografa.

Consulta en la Web

http://www.modelo.edu.mx/univ/virtech/circuito/paralelo.htm: Contiene informacin sobre el puerto paralelo del PC. http://www.iuma.ulpgc.es/users/armas/asignaturas/fundamentos/tutorial/entradas_y_ salidas/index.htm: Es un tutorial con informacin asociada a la E/S del sistema.

Ejercicios de Autoevaluacin

1.- Un dispositivo perifrico junto con su controlador de E/S se conectar a un computador mediante el uso de un controlador DMA. Todos los mdulos que conforman el sistema comparten el mismo bus master. El perifrico solicita una transferencia al controlador de DMA, el cual a su vez solicita el bus a la CPU. Si la CPU no est utilizando el bus ni est en estado LOCK, lo concede al

55 controlador de DMA, el cual a su vez informa al perifrico para que prepare los datos a transferir. En una transferencia de entrada, los datos se mueven desde el perifrico (I/O) a la memoria por el bus de datos sin pasar por el controlador de DMA y sin intervencin de la CPU. Las lneas de control para leer la I/O (IOR) y para escribir la memoria (MEMW) son manejadas por el controlador de DMA. De la misma forma, en una transferencia de salida los datos se mueven desde la memoria a la I/O y el controlador de DMA maneja las lneas de control para leer la memoria (MEMR) y para escribir en el perifrico (IOW). Con base a lo anteriormente expuesto, solucione la manera en que debe configurarse el sistema para el control de la E/S mediante el uso de la tcnica DMA y que cumpla con las especificaciones dadas. 2.- La conexin a perifricos en un sistema de microcomputador puede hacerse mediante el uso de chips especializados de entradas y salidas. Estos chips tienen como caracterstica comn su programabilidad por software y su conexin directa a los buses del sistema sin lgica auxiliar. Parta de la informacin dada anteriormente y resuelva el problema de la conexin de la PPI (interfaz perifrica programable) tipo 82C55, en un sistema de microprocesador directamente ligados a los buses.

Respuesta a los Ejercicios de Autoevaluacin

1.- En la siguiente figura se presenta una solucin que permite el control de la E/S, mediante el uso de un controlador DMA.

56 Se observa que el sistema configurado, consta de un perifrico con su controlador de E/S, un controlador de DMA y las seales de pedido y concesin del bus que permiten alternar el "bus master" entre la CPU y el controlador de DMA 2.- La disposicin de la PPI 82C55 en este tipo de sistema, se muestra a continuacin: Bus de datos (8 bits) 8 CS A0 A1 Bus de direcciones (16 bits)s)

Puerto A D0 D7 82C55 Puerto C

A1 A0 __ CS Puerto B __ RD I/OR __ WR

RESET RESET

I/OW

Bus de control

Anda mungkin juga menyukai