Modulos De Entrada Y Salida
Enviado por soldeandrea • 1 de Noviembre de 2012 • 3.542 Palabras (15 Páginas) • 685 Visitas
Que son los módulos de entradas y salidas
Los modulos de E/S establecen la comunicación entre la unidad central y el proceso, filtrando, adaptando y codificando de forma comprensible para dicha unidad las señales procedentes de los elementos de entrada, y decodificando y amplificando las señales generadas durante la ejecución del programa antes de enviarlas a los elementos de salida
Como funcionan?
Si consideramos que el núcleo del ordenador está constituido por la placa-base y los elementos montados en ella (los elementos que podemos llamar "internos"), y que el resto de los dispositivos conectados son "externos", entonces podemos considerarlas dos tipos de comunicaciones o transferencias de información:
• Transferencias externas o de entrada/salida (E/S); ocurren entre los elementos exteriores y la placa-base. Básicamente son transferencias entre dispositivos exteriores (periféricos) y el procesador, o entre periféricos y memoria.
• Transferencias Internas; ocurren entre los elementos internos. Mayoritariamente se trata de transferencias entre el procesador y la memoria, o entre las diversas posiciones de memoria. Pero también (y esto es importante) existen transferencias entre los anteriores y otros dispositivos hardware que conectan directamente con el bus. Considere que al fin y al cabo, incluso los dispositivos considerados "externos" o periféricos, conectan con algún dispositivo (por ejemplo, un adaptador) que está a su vez conectado al bus de la placa base.
Debemos recordar aquí que las operaciones E/S en las que interviene la memoria, son abrumadoramente más importantes y frecuentes que las del resto, por lo que el PC les da un tratamiento especial; disponen de un subsistema específico en el bus, y el tratamiento software también es especial (el procesador dispone de un montón de instrucciones específicas para controlar las operaciones con la memoria).
En general los procesos de E/S pueden ser de tres tipos según la forma en que se inician y controlan:
- E/S programadas
También denominadas de interrogación o encuesta ("Polling"). El programa decide cuando y con que dispositivos se establecerá la comunicación de E/S. Es un método adecuado en determinadas circunstancias (periféricos lentos), pero resulta ineficiente si deben atenderse periféricos rápidos o gran cantidad de ellos. Sobre todo si la comunicación se origina del lado de los dispositivos (es el periférico el que solicita la comunicación), porque el procesador debe interrogar periódicamente al periférico, lo que supone un tiempo extra.
E/S solicitada mediante interrupción
Este método es utilizado intensivamente en la programación actual, y es la base del funcionamiento de los procesadores modernos
La esencia del método consiste en que el periférico que desea establecer comunicación, dispone de un canal especial ("casi" siempre abierto) para solicitarla al procesador. Cuando el procesador recibe esta señal, que se denomina petición de interrupción, termina la instrucción que esté en ejecución y atiende al periférico. Es el sistema más eficiente para atender a periféricos de velocidad media, o cuando hay que atender a gran número de ellos.
E/S gobernada por controlador de bus
Los sistemas anteriores tienen el inconveniente de que cualquiera que sea el procedimiento por el que se inicia la E/S, es el procesador el que debe atenderla. Sin embargo, hay ocasiones, en especial cuando se trata de transferencias de datos entre periféricos rápidos y memoria (por ejemplo discos), en que se alcanza una mayor eficacia dejando al procesador al margen del proceso (la cuestión tiene cierta lógica pues al fin y al cabo, el asunto no va con él). Estos procesos se conocen como acceso directo a memoria DMA ("Direct Memory Access"), y exigen dos requisitos:
I- El procesador debe ser capaz de dejar libre el bus de datos para que otro dispositivo tome su control, limitándose mientras tanto a esperar.
II- Otro dispositivo debe tomar el control del bus ("bus mastering"), para controlar él mismo el proceso.
Siendo mas especifico el DMA significa acceso directo a memoria el sistema DMA dispone de algunos elementos hardware auxiliares que lo convierten en un subsistema autónomo dentro del bus externo.
Estos elementos son:
• Ciertas líneas dedicadas en el bus de control .
• Un procesador específico, el DMAC ("DMA Controller"), que permite que puedan realizarse estos intercambios sin apenas intervención del procesador .
• Pequeñas zonas auxiliares de memoria, conocidas como Registros de página .
§3 Líneas de control
El bus de control tiene líneas específicas para este tipo de intercambios, de forma que el DMA es un subsistema autónomo dentro del mecanismo general de intercambio de datos y control del bus. Son las siguientes:
• Líneas DRQ1 a DRQ3 ("DMA request"). Utilizadas por los dispositivos que necesitan efectuar un acceso directo a memoria.
• Líneas DACK1 a DACK3 ("DMA acknowledge"). Se utilizan para acusar recibo de la petición DRQ correspondiente.
• AEN ("Access Enabled") Cuando esta señal está alta, el controlador DMA tiene control sobre ciertas líneas del bus; precisamente las que gobiernan los intercambios con memoria y puertos (MEMR, MEMW, IOR, IOW, Etc).
• MEMR ("Memory Read") Cuando se activa, esta señal indica a la memoria conectada al bus que escriba los datos en el bus de datos.
• MEMW ("Memory Write") Cuando se activa, indica a la memoria que almacene los datos situados en el bus de datos.
• Conexiones del controlador DMA con las patillas 30 y 31 de la UCP ( 3.2.1)
§4 Controlador DMA
El mecanismo de acceso directo a memoria está controlado por un chip específico, el DMAC ("DMA Controller"), que permite realizar estos intercambios sin apenas intervención del procesador. En los XT estaba integrado en un chip 8237A que proporcionaba 4 canales de 8 bits (puede mover solo 1 Byte cada vez); sus direcciones de puerto son 000-00Fh. Posteriormente en los AT se instalaron dos de estos integrados y las correspondientes líneas auxiliares en el bus de control.
En contra de lo que podría parecer, el resultado no fue disponer de 8 canales, porque el segundo controlador se colgó en "Cascada" de la línea 4 del primero (más adelante se explica este concepto ). Los canales del segundo DMAC está asignado a las direcciones 0C0-0DFh y son de 16 bits. Pueden mover 2 Bytes (de posiciones contiguas) cada vez.
Cada
...