SISTEMAS DE ENTRADA Y SALIDA

36
HÉCTOR FRANCISCO GOITIA YRAUSQUIN 2015 ORGANIZACIÓN DEL COMPUTADOR Máquina flexible capaz de procesar información Instituto Universitario Politécnico “Santiago Mariño” Punto Fijo, Estado Falcón

description

SISTEMAS DE ENTRADA Y SALIDA

Transcript of SISTEMAS DE ENTRADA Y SALIDA

Page 1: SISTEMAS DE ENTRADA Y SALIDA

HÉC

TO

R F

RA

NCI

SCO

GO

ITIA

YR

AU

SQU

IN

2015

ORG

ANIZ

ACIÓ

N D

EL

COM

PUTA

DO

R

Máquina flexible capaz

de procesar información

Instituto Universitario Politécnico “Santiago Mariño”

Punto Fijo, Estado Falcón

Page 2: SISTEMAS DE ENTRADA Y SALIDA

ORGANIZACIÓN DEL COMPUTADOR

2015

Contenido

Sistema de entrada/salida Página

1.- Características de diseño 3

2.- Clasificación de dispositivos 5

3.- Controladores 7

4.- Instrucciones de entrada/salida 9

Héctor Goitia 13.554.464 Página 2

Page 3: SISTEMAS DE ENTRADA Y SALIDA

ORGANIZACIÓN DEL COMPUTADOR

2015

Sistema de entrada/salidaUn computador se compone de tres elementos básicos: el procesador, el sistema de memoria y el sistema de entrada/salida. El sistema de entrada/salida es la parte del computador que interactúa con el medio externo. Lo hace a través de una variedad de dispositivos cuyo objetivo básico es la transmisión de datos. El cometido de un dispositivo de entrada salida es el de traducción de un lenguaje externo y variado a un código más próximo al computador ( y a la inversa).

Héctor Goitia 13.554.464 Página 3

Page 4: SISTEMAS DE ENTRADA Y SALIDA

ORGANIZACIÓN DEL COMPUTADOR

2015

1.- Características de diseño.Así como en el diseño del procesador el objetivo principal (además del coste) es el rendimiento, en el diseño del sistema de entrada/salida se han de tener en cuentas otras y tan importantes consideraciones:

Expansión. Dada la variedad de entornos en los que se puede insertar, un computador se encontrará ante una amplia variedad de lenguajes, lo que le exigirá incorporar nuevos dispositivos.

Recuperación ante problemas. La comunicación entre el computador y el dispositivo externo no siempre va a ser fiable, dependiendo del medio en el que este se ubique; el sistema de entrada/salida debe ser capaz de

Héctor Goitia 13.554.464 Página 4

Page 5: SISTEMAS DE ENTRADA Y SALIDA

ORGANIZACIÓN DEL COMPUTADOR

2015

recuperarse ante errores de comunicación y de cualquier otra clase de carácter impredecible; lo que significa que deben poder restablecerse conexiones cortadas, determinar situaciones de error...

En cuanto al rendimiento.

Dado que su principal objetivo es la transmisión de datos, el rendimiento de un dispositivo se determina por dos parámetros relacionados con ello.

Latencia: o tiempo de respuesta de un dispositivo

Potencia: o capacidad del dispositivo para transmitir datos por unidad de tiempo.

La valoración de estos dos parámetros no depende completamente del dispositivo, sino también de su interrelación con el computador:

Características del dispositivo.Interacción con el procesador.Interacción con el sistema operativo.

Influyen de una manera u otra en la determinación del rendimiento del sistema de entrada/salida.

Medidas de rendimiento.

Para evaluar el rendimiento de un dispositivo se utiliza principalmente la medida de ancho de banda.Sin embargo esta medida puede tener varias interpretaciones:

Héctor Goitia 13.554.464 Página 5

Page 6: SISTEMAS DE ENTRADA Y SALIDA

ORGANIZACIÓN DEL COMPUTADOR

2015

a) Cuanta cantidad de datos es capaz de transmitir el dispositivo por unidad de tiempo.

b) Cuantos accesos es capaz de admitir el dispositivo por unidad de tiempo.

En ambos casos se trata de transmisión de datos, pero ambas interpretaciones se diferencian en matices. a) Pide al dispositivo capacidad de transmisión de datos, esto es, potencia, mientras que b) le pide capacidad de atención, esto es, baja latencia. Según el medio en el que se vaya a emplear el computador y el tipo de problemas a que se vaya a enfrentar se favorecerá una definición u otra. La primera definición favorece a problemas en los que prime la transferencia de grandes flujos de datos, mientras que la segunda definición favorece a problemas en los que sea importante el uso compartido de ese recurso.

2.- Clasificación de dispositivos.

Previo al diseño de un sistema de entrada/salida, es importante determinar el tipo de dispositivos que se prevé van a ser conectados. Esto permitirá dar una orientación al sistema hacia determinados entornos o favorecer una disposición genérica. Por ejemplo determinará qué tipo de bus es más conveniente utilizar o en qué niveles de una jerarquía de buses sería más conveniente situar cada dispositivo. A ello ayudaría una taxonomía de los diversos tipos de dispositivos de entrada/salida que nos podemos encontrar.

Por el comportamiento en cuanto a su uso:

- lectura

Héctor Goitia 13.554.464 Página 6

Page 7: SISTEMAS DE ENTRADA Y SALIDA

ORGANIZACIÓN DEL COMPUTADOR

2015

- escritura- lectura/escritura

En este caso el punto de referencia es el procesador. Los dispositivos de lectura son aquellos de los cuales, exclusivamente, el procesador puede obtener datos (aparte dejamos el hecho de que el procesador pueda programarlos de alguna manera escribiendo en sus registros). Los de escritura, aquellos en los que el procesador solo puede depositar datos (salvo posibilidad de leer registros de estado). Los últimos son dispositivos de almacenamiento o de comunicación principalmente.

Por el tipo de comunicante (siendo uno el procesador)

- De interacción con humanos- De interacción con máquinas- De comunicación

Los primeros se caracterizan por ser relativamente lentos en comparación con las velocidades a que los procesadores ejecutan instrucciones. Los dispositivos de comunicación pueden alcanzar velocidades de transmisión próximas a las del procesador. En cuanto a la interacción con máquinas hay una amplia variedad dependiendo de qué tipo de máquinas sean.

Por la tasa de transferencia de datos.

El dispositivo se caracteriza sencillamente por una medida de su capacidad de transmitir datos por unidad de tiempo. En última instancia esta es la medida que más interesa en el momento del diseño.

Héctor Goitia 13.554.464 Página 7

Page 8: SISTEMAS DE ENTRADA Y SALIDA

ORGANIZACIÓN DEL COMPUTADOR

2015

3.- ControladoresLos dispositivos no se conectan directamente al computador sino que lo hacen a través de una interfaces llamadas controladores. Esto favorece características del sistema de entrada/salida tales como la expansión. Los controladores proporcionan, entre otras cosas, una homogeneización de las conexiones, además de ofrecer también un traducción entre el protocolo empleado por el dispositivo y el exigido por el procesador. Algunas de sus labores son las siguientes

1. Establecimiento, Control y Temporización de las comunicaciones.2. Comunicación con la CPU. 3. Comunicación con dispositivos.4. Almacenamiento temporal de datos.5. Detección de errores.

Elemento muy importante para lograr una comunicación eficaz es el protocolo. Un controlador se enfrenta a dos protocolos diferentes de comunicación, el que emplea con el procesador y el que emplea con el dispositivo. El Controlador es la interfaz entre ambos, encargándose no solo de comunicarlos sino también de transmisor/ejecutor/generador de órdenes e información de estado sobre el dispositivo o el estado de las transacciones. Así mismo el controlador puede servir al procesador disfrazando las particularidades del dispositivo ante el procesador, a este respecto la posibilidad de almacenamiento temporal de datos o la ejecución de órdenes procedentes de éste que el controlador traduce en acciones sobre el dispositivo.

Estructura de un controlador.

Héctor Goitia 13.554.464 Página 8

Page 9: SISTEMAS DE ENTRADA Y SALIDA

ORGANIZACIÓN DEL COMPUTADOR

2015

Un controlador es un circuito de dos caras. Por un lado se enfrenta al procesador, posiblemente conectado a un bus, y por ello debe incorporar todas las señales que se le exigen: líneas de datos, líneas de direcciones y líneas de control -básicamente de selección, lectura y escritura. Para almacenar datos intermedios o información de estado, el controlador posee varios registros, algunos accesibles desde el procesador y otros de uso exclusivo. Pese a ser un único dispositivo físico, el controlador puede acaparar más de una dirección de entrada salida que utilizará el procesador según la tarea que vaya a realizar sobre el controlador.

Por el lado del dispositivo el controlador intercambiará con éste las líneas que sean necesarios según la clase. Exigirán generalmente un conjunto de líneas de datos para transmitir la información y un conjunto de líneas de control para regular el protocolo de esa transacción. Por el número de líneas de datos se pueden distinguir dos tipos de controladores:

- Comunicación serie: Existe una única línea de transmisión y la información la atraviesa bit a bit. Es una interfaz de baja velocidad y bajo coste que puede ser adecuada para dispositivos lentos.

- Comunicación paralela: El paquete de datos se envía en conjunto disponiendo de una línea por cada bit a transmitir. Proporciona mayor velocidad de transmisión y también menor complejidad a un mayor coste.

Comunicación CPU-Controlador

El procesador se comunica con el controlador para establecer contacto a su través con el dispositivo. Con su intercesión, el procesador enviará al dispositivo órdenes

Héctor Goitia 13.554.464 Página 9

Page 10: SISTEMAS DE ENTRADA Y SALIDA

ORGANIZACIÓN DEL COMPUTADOR

2015

de control y recibirá de él información de estado, además de datos. Por lo tanto los tipos de transacciones son estas cuatro:

- Control- Estado- Lectura- Escritura

Las transacciones de control son aquellas en las que el procesador envía órdenes de actuación al controlador. Algunas de estas órdenes modificarán el comportamiento del controlador, y otras son reenviadas, adecuadamente traducidas, al dispositivo para programar su conducta. El dispositivo y el propio controlador pueden responder con información de estado que dará a conocer su situación al procesador.

4.- Instrucciones de entrada/salida

Desde dentro del procesador la asociación controlador-dispositivo de entrada salida es vista como un conjunto de direcciones de entrada/salida. El procesador envía comandos y datos a tales direcciones y recibe información de estado y también datos procedentes de ellas. Estas direcciones componen lo que se denomina el espacio de direcciones de entrada/ salida del procesador.

Es una cuestión de diseño el decidir cómo se va a organizar este conjunto de direcciones en relación con el espacio de direcciones de memoria. Según esto hay dos opciones para el espacio de direcciones de entrada/salida

- Mapeado en memoria: Existe un único conjunto de direcciones en el sistema computador, una parte de este conjunto de direcciones

Héctor Goitia 13.554.464 Página 10

Page 11: SISTEMAS DE ENTRADA Y SALIDA

ORGANIZACIÓN DEL COMPUTADOR

2015

pertenece al sistema de entrada/salida, y el resto son direcciones de memoria.En el circuito esto significa que únicamente las líneas de dirección son utilizadas para seleccionar a los controladores conectados al bus. Dentro, el procesador no utiliza instrucciones especiales para distinguir entre un acceso a memoria y un acceso a entrada salida.

- Mapeado en e/s: Esto significa que existen dos espacios de direcciones, el de memoria y el de entrada/salida. Lo que distingue a una dirección situada en el bus de pertenecer a uno u otro espacio de direcciones es una línea de control (IO/M en 8086). Esto quiere decir que además del conjunto de líneas de dirección, los controladores deben comprobar el estado de esta otra línea antes de sentirse aludidos.Ahora existen instrucciones específicas para memoria o para entrada/salida. Estas últimas son las que activarían aquella línea de control cada vez que son ejecutadas.

5.- Esquemas de comunicación Procesador-entrada/salida.

Ya estamos en la acción misma. El procesador - un conjunto de instrucciones ejecutándose en él- tiene que atravesar tres fases para cumplir una transacción de entrada/salida. La primera es la programación del controlador y del dispositivo para prepararlos para la transacción. El controlador puede ser programado para el tipo de datos que va trasegar o la cantidad de ellos. El dispositivo para comportarse de una de varias maneras posibles de hacerlo en la captura o emisión de información. La segunda fase es la transmisión de datos que puede conllevar una serie de comprobaciones del estado del controlador y/o dispositivo. Por último podrá ser necesaria una finalización con un nuevo acceso de control.

Héctor Goitia 13.554.464 Página 11

Page 12: SISTEMAS DE ENTRADA Y SALIDA

ORGANIZACIÓN DEL COMPUTADOR

2015

1. Programación2. transmisión/comprobación de estado3. finalización.

No es necesario puntualizar el grado de implicación que tiene el procesador en una transacción de entrada salida. Éstas, sin embargo, consisten generalmente en un trasiego de datos entre un dispositivo y el sistema de memoria. Posteriormente, el procesador accederá a memoria en busca de esos datos si le son necesarios. Queremos con esto demostrar que el papel del procesador en una transacción de entrada salida es secundario. Sin embargo necesario porque es el elemento inteligente que pone en marcha, controla y da por finalizado el proceso. Si se consiguiera reducir la relevancia de la actuación del procesador en tales transacciones, conseguiríamos mejorar el rendimiento del sistema, ya que éste dispondría de ese tiempo para ejecutar instrucciones. Este es el objetivo de los diferentes esquemas de comunicación entre el procesador y el sistema de entrada/salida.

Esquema programado. Este es el esquema básico que sigue las tres fases descritas al pié de la letra. El procesador debe dedicarse por entero a cada transacción de entrada salida. Durante la fase de transmisión, el procesador entra en un bucle de lecturas y escrituras entre dispositivo y memoria en el cual su única función es la de trasegador. Este es un tiempo de computación considerado no útil porque no se realiza ningún tipo de transformación sobre los datos.

Uso de interrupciones. La utilidad de las interrupciones es principalmente que liberan al procesador de una espera inútil, aprovechando ese tiempo en realizar una computación más provechosa, si la hay. En relación con los

Héctor Goitia 13.554.464 Página 12

Page 13: SISTEMAS DE ENTRADA Y SALIDA

ORGANIZACIÓN DEL COMPUTADOR

2015

sistema de entrada/salida estas esperas se producen principalmente debido a la menor velocidad de respuesta de los dispositivos en comparación con la del procesador ( en términos de ejecución de instrucciones). En el esquema anterior el procesador debería engolfarse en un bucle comprobando constantemente el estado del dispositivo hasta que este culmine su actuación, para pasar a la siguiente transmisión. Ahora el procesador indica al dispositivo que le avise cuando tal suceso ocurra y no entra nunca en aquel bucle, sino que se ocupa de la ejecución de otro conjunto de instrucciones no relacionadas con el tema. Cuando el dispositivo activa la señal, el procesador vuelve a atenderle y prepararlo para una nueva transacción.

La primera consideración a tener en cuenta es que los controladores deben incorporar esta capacidad de interrumpir al procesador. Por tanto es otra de las posibles funcionalidades de un controlador. En segundo lugar no todo tipo de transacciones pueden ser adecuadas para este esquema. Con esto quiérese decir que la asunción de un esquema de interrupciones no implica el abandono del esquema programado. Obsérvese que en ambos casos las fases por las que pasa una transmisión de entrada salida son las mismas, programación, transmisión/comprobación de estado, finalización. La diferencia estaría en la fase de transmisión, durante la cual el procesador no espera activamente, interrogando al controlador, sino que espera pasivamente al que el controlador le avise. Una vez lo ha hecho la tarea del procesador seguirá siendo recoger el dato que se le ofrece y depositarlo en la correspondiente celda de memoria o viceversa. Por lo tanto este esquema es más bien un complemento del anterior más que una alternativa.

Implantación.

Héctor Goitia 13.554.464 Página 13

Page 14: SISTEMAS DE ENTRADA Y SALIDA

ORGANIZACIÓN DEL COMPUTADOR

2015

El esquema de interrupciones exige un apoyo en el hardware. Tanto en el lado del procesador como en el lado de los dispositivos. Estos deben tener capacidad para enviar una señal al procesador y aquel debe tenerla para recibir esa señal y responder al dispositivo que la originó. La respuesta del procesador es la ejecución de una serie de instrucciones (Rutina de atención a la interrupción) encargadas de atender a las tareas relacionadas con el dispositivo. Por cada uno de los dispositivos que pueden interrumpir al procesador debe existir un conjunto separado de instrucciones (una rutina de atención diferente). Una de las tareas del procesador al responder a una interrupción es identificar el dispositivo que la originó. Se han planteado dos esquemas:

- Método vectorizado: es, de alguna manera, el propio dispositivo el que se identifica ante el procesador. Generalmente lo hace enviándole un índice dentro de una lista de rutinas de atención (vector de interrupciones), que apunta a la rutina que sirve para atender a este dispositivo.

- Método de consulta: el procesador determina, preguntando a cada uno de los dispositivos, cual es el que generó la interrupción.

Puede ocurrir que varios controladores generen al mismo tiempo una interrupción, entonces el procesador se ve obligado a seleccionar uno de ellos. Algunos esquemas que resuelven este problema son:

- Múltiples líneas de interrupción: por lo tanto cada controlador está plenamente identificado y priorizado por la línea por la que avisan al procesador.

Héctor Goitia 13.554.464 Página 14

Page 15: SISTEMAS DE ENTRADA Y SALIDA

ORGANIZACIÓN DEL COMPUTADOR

2015

- Consulta software: como todos los dispositivos utilizan la misma línea de interrupción, el procesador, al recibir un aviso debe acceder dispositivo por dispositivo inquiriendo cual ha sido el autor de la señal, el órden en que realiza las consultas establece la prioridad.

- Consulta hardware: Los propios dispositivos se auto seleccionan conforme a un esquema de prioridades ya previsto (ejemplo daisy chain)

- Arbitraje de bus: Igualmente son los propios dispositivos los que se autorregulan, en este caso compitiendo por el acceso al bus para proporcionarle al procesador el índice en el vector de interrupciones.

Esquemas de interrupción.

Cuando queremos que un controlador tenga capacidad de disparar una interrupción en el procesador, los elementos de que debemos disponer son los siguientes

Héctor Goitia 13.554.464 Página 15

Procesador

Int

Controlador

Intrq

rutina

Page 16: SISTEMAS DE ENTRADA Y SALIDA

ORGANIZACIÓN DEL COMPUTADOR

2015

El procesador debe tener una entrada de interrupción, consistente en una entrada que cuando se activa el contador de programa salta a una dirección determinada de memoria y comienza a ejecutar código.

El controlador debe tener una salida de petición de interrupción que se activará cuando el controlador esté dispuesto a interactuar con el procesador.

La rutina de atención a la interrupción es la que se debe ejecutar cuando se activa la interrupción y debe estar situada en la dirección asociada con la interrupción.

¿Qué pasa cuando hay más de un controlador con capacidad para interrumpir? Pues que hay más de una rutina esperando ser disparada cuando el controlador correspondiente genere su interrupción. Por lo tanto el procesador debe tener un medio para identificar al controlador que generó la interrupción.

Una forma de resolverlo es teniendo más de una entrada de interrupción.

Naturalmente este esquema está limitado al número de entradas de interrupción de que disponga el procesador. Un esquema más genérico intentaría que los dispositivos se identificaran a sí mismos cuando generan la interrupción (vectorial) o en su defecto que el procesador procediera, después de haber recibido la interrupción a identificar al dispositivo que la generó (consulta). Así el número de

Héctor Goitia 13.554.464 Página 16

PROCESADOR

INT1

INT2

INT3

1

2

3

I2

I1

I3

Page 17: SISTEMAS DE ENTRADA Y SALIDA

ORGANIZACIÓN DEL COMPUTADOR

2015

dispositivos que pueden invocar una acción en el procesador no se ve limitado por el hardware.

Esquema vectorial

En el esquema vectorial el dispositivo se identifica a sí mismo. El proceso de activar una interrupción ocurre en dos fases: generar la interrupción, reconocimiento de la interrupción

Una vez generada la interrupción, el procesador inicia un ciclo de reconocimiento. Durante este ciclo el dispositivo con mayor prioridad de los que han pedido simultáneamente una interrupción se identifica ante el procesador y este utiliza esta información para invocar a la rutina correspondiente.

El concepto de prioridad en cualquier esquema de interrupción es muy importante, en primer lugar porque hay que tomar una decisión cuando varios dispositivos realizan una petición simultáneamente y en segundo lugar porque hay dispositivos que requieren una atención inmediata mientras que otros pueden verse postergados sin perjuicio relevante.

Héctor Goitia 13.554.464 Página 17

Ack

PROCE SADOR

INT

1

2

3

I2

I3

I1

Page 18: SISTEMAS DE ENTRADA Y SALIDA

ORGANIZACIÓN DEL COMPUTADOR

2015

Una forma de resolver este problema es el daisy chain. Durante el ciclo de reconocimiento el procesador genera el reconocimiento y el primer dispositivo que lo detecte es el que se identifica colocando su identificador en el bus que el procesador leera a continuación.

Otro esquema es el utilizado por el 8086 en el que la tarea de identificar al dispositivo que generó la interrupción es realizada por un controlador.

El esquema por consulta obliga al procesador, durante el ciclo de reconocimiento a explorar uno por uno los dispositivos hasta dar con el que generó la interrupción. Para ello va leyendo uno por uno el estado de cada dispositivo en el que figurará si el dispositivo ha solicitado la interrupción

Héctor Goitia 13.554.464 Página 18

Procesador BUS

Ack

INT

1 2 3

Bus

PROCE

SADOR

INT

1

2

3

Controlador de interrupciones

Page 19: SISTEMAS DE ENTRADA Y SALIDA

ORGANIZACIÓN DEL COMPUTADOR

2015

Cuando recibe la petición de interrupción, el procesador activa una rutina de atención genérica que se encarga de preguntar a cada controlador su estado. Como los explorará secuencialemente el controlador que tenga la dirección más baja será el de mayor prioridad. Cuando haya detectado el controlador de mayor prioridad de los que hayan solicitado la interrupción invocará a su rutina correspondiente.

Acceso directo a memoria. DMA. Este es el tercer esquema que igualmente es complementario y no antagonista con los mencionados antes. Considerando que el papel de procesador en una transacción de entrada/salida es meramente de trasladador de datos, el esquema DMA propone que exista otro controlador con cierto grado de inteligencia que realice estas labores en lugar del procesador. Este esquema por lo tanto exige que exista un controlador que pueda leer datos de memoria o un dispositivo y posteriormente escribirlos en un dispositivo o memoria sin la

Héctor Goitia 13.554.464 Página 19

Procesador BUS

INT

Int ack

1 2 31

2

3

Page 20: SISTEMAS DE ENTRADA Y SALIDA

ORGANIZACIÓN DEL COMPUTADOR

2015

ayuda del procesador. De manera que para un procesador una transacción e/s consistiría en programar tal controlador de DMA para indicarle:

- Dónde están los datos de origen.- Dónde están los datos de destino.- Cuánta cantidad de datos es.

y posteriormente liberarle para que actuase por su cuenta. Al final de la transacción el controlador de DMA avisaría al procesador, por medio de una interrupción, y este comprobaría que la transacción completa se ha realizado satisfactoriamente, frotándose la manos. Una de las funcionalidades que ha de tener este controlador, entonces, es la de tener capacidad de interrumpir al procesador para que éste no se tenga que ver obligado a quedarse esperando en un bucle de consulta al controlador, lo que eliminaría toda la operatividad del asunto.

Acceso al bus.

Un controlador de DMA es un maestro de bus. Quiere decir que debe tener capacidad de iniciar una transacción. Para ello ha de robarle el bus al procesador, impidiéndole su uso a este durante el cumplimiento de su labor. Esto puede perjudicar al procesador si el número de transacciones es muy alto por lo que dichos controladores operan siguiendo una política de robo de ciclos. Consiste esta política en esperar a que el procesador haya liberado el bus, al final de un ciclo de acceso, obtener el bus entonces, realizar una única transacción y devolverlo, para esperar a la siguiente oportunidad. Mientras el procesador no usa el bus, el controlador de DMA lo aprovecha para realizar sus transacciones, pero nunca le disputaría el bus al procesador cuando este tratase de utilizarlo.

Héctor Goitia 13.554.464 Página 20

Page 21: SISTEMAS DE ENTRADA Y SALIDA

ORGANIZACIÓN DEL COMPUTADOR

2015

Ejemplo de evolución del sistema de entrada/salida a partir de un teclado

Un teclado es una matriz de líneas eléctricas. La pulsación de una tecla comunica una fila con una columna. La identificación de la fila y la columna correspondientes nos proporciona un código de tecla pulsada. A continuación el procesador debe traducir ese código a un código reconocible, sea ASCII, (consultando unas tablas que asocian códigos de tecla pulsada con código ASCII). La interfaz de un procesador con un dispositivo de este tipo es en el ejemplo un puerto de 4 líneas de salida y otro puerto de 4 líneas de entrada. Y las tareas que tiene que realizar el procesador son, suponiendo que en medio de el código de usuario que está ejecutando necesite leer un carácter de tecladoEstructura de un teclado

Código de usuarioExplorar el teclado (implica esperar hasta que haya una tecla pulsada) Convertir código de tecla pulsada a código ascii

Héctor Goitia 13.554.464 Página 21

Pro

Ce

Sa

Dor

Page 22: SISTEMAS DE ENTRADA Y SALIDA

Pro

Ce

Sa

Dor

Controlador

ORGANIZACIÓN DEL COMPUTADOR

2015

Código de usuario

El siguiente paso es facilitarle la tarea al procesador. Para ello trasladamos la acción de explorar el teclado a un dispositivo fuera del procesador, el controlador. Cada vez que lo desee el procesador se limitará a leer del controlador la tecla pulsada. Si no hay tecla pulsada (código FF) el procesador esperará hasta que se pulse una (lo que implica lecturas sucesivas de la salida del controlador). La interfaz del procesador con el controlador se ha simplificado, únicamente ocho bits de entrada. Ahora el código se reduce a:Código de usuarioLeer del controlador (esperar hasta que haya tecla pulsada)Convertir código de tecla pulsada a código asciiCódigo de usuario

El controlador puede muy bien hacer la conversión, aunque esto le resta flexibilidad al procesador

Código de usuarioLeer del controlador código ascii (esperar)Código de usuario

A continuación introducimos las interrupciones. Preferimos que el código de usuario no espere por la tecla pulsada, sino que pueda continuar su ejecución si no se ha pulsado ninguna tecla. Para ello el código de ususario lee la tecla de un buffer. Puede decidir, en el caso de que el buffer esté vacío, esperar o continuar la ejecución en la confianza de que si se pulsa una tecla esta será almacenada hasta su uso.

Héctor Goitia 13.554.464 Página 22

Page 23: SISTEMAS DE ENTRADA Y SALIDA

ORGANIZACIÓN DEL COMPUTADOR

2015

Código de usuarioConsultar el buffer de tecladoCódigo de usuario

Interrupción(Cada vez que el teclado genera una interrupción)Leer código ascii de la tecla pulsadaEscribir en la memoria (buffer)

Héctor Goitia 13.554.464 Página 23

Pro

Ce

Sa

Dor

INT

Controlador

memoria

Page 24: SISTEMAS DE ENTRADA Y SALIDA

ORGANIZACIÓN DEL COMPUTADOR

2015

Ahora lo que ocurre es que cada vez que se pulsa una tecla, el código de usuario se ve desplazado del procesador para que el código de interrupción lea el valor de la tecla del controlador y lo escriba en memoria.El código de interrupción no elabora el valor leído sino que se limita a trasladarlo desde el controlador a su localización de memoria.

Introducción de DMA

El mecanismo de DMA intercepta la interrupción del controlador de teclado, lee la tecla que le proporciona y la escribe en su localización de memoria. En todo el proceso el procesador no se ve interrrumpido y permanece ejecutando código de usuario. Al final de la realización, el controlador DMA puede avisar al procesador de que la tarea ha sido realizada.

Referencias Bibliográficas

Héctor Goitia 13.554.464 Página 24

Pro

Ce

Sa

Dor

INT

Controlador

memoria

DMA Drq

Page 25: SISTEMAS DE ENTRADA Y SALIDA

ORGANIZACIÓN DEL COMPUTADOR

2015

http://ldc.usb.ve/~rgonzalez/organizacion/laminas/old/laminas_Clase01.pdfhttp://sistemasoperativos03-unefa.blogspot.com/2012/01/gestion-de-entradas-y-salidas.htmlhttps://www.google.co.ve/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0CCoQFjAC&url=http%3A%2F%2Fserdis.dis.ulpgc.es%2F~itis-byp%2FNotasDeClase%2Finformacion%2FAAPresentaciones-Texto%2F001-entrada-salida.doc.doc&ei=J7_SVOy5F4K0sASE0YHoDw&usg=AFQjCNHUI-SEiO8ew-Rz-Qw8ErErPypxsA&sig2=gDt6mHtR5rdd0SzSrphkfA

Héctor Goitia 13.554.464 Página 25