Sei sulla pagina 1di 6

*Bus de datos

*E/S programada
*E/S manejada por Interrupcin

E/S = Entrada / salida


Antes de empezar a hablarles sobre lo que son los mtodos y tcnicas de entrada y salida de
datos debemos conocer los principios de estas por lo cual es conveniente hablar sobre el
medio de transporte de la informacin, tal y como lo es el bus de datos, para que una vez
comprendido el concepto de este nos sea ms fcil entender los trminos y el contenido en
general sobre la entrada y salida de datos.
Un bus de datos es un sistema que se encarga de transferir datos entre componentes de una
computadora o red de computadoras.
En simples palabras, el bus permite la conexin entre diferentes elementos de un sistema
digital principal, y enva datos entre dichos elementos. Estos datos se encuentran en
formas de seales digitales.
Como todo lo relacionado a la tecnologa, y principalmente lo ligado a la informtica,
podemos descifrar que elementos como un bus de datos ha ido evolucionando con el
tiempo. Y as es efectivamente. Los primeros buses de datos se denominaban paralelos,
por lo cual la conexin entre elementos de una misma computadora se realizaba mediante
cintas que conectaban unos y otros elementos.
En cambio, los ordenadores ms modernos, a partir del desarrollo de la conexin USB, los
buses de datos ahora se denominan seriales y ofrece este cambio una mayor velocidad de
respuesta y eficacia potenciada.
El sistema de medicin de la capacidad de un bus de datos est ligada a su frecuencia
mxima de envo posee y el ancho de datos. En general, ambas variables son inversamente
proporcionales si el bus de datos posee una alta frecuencia, el ancho de datos deber
entonces ser pequeo. Por ello, un bus de datos con pocas seales puede funcionar a altas
velocidades.
En cuanto a la evolucin de los buses de datos podemos identificar tres generaciones: la
primera de ellas, remite a aquellos sistemas digitales o computadores que posean dos buses
de datos, uno de ellos asignado a la memoria, y el otro asignado a los dems dispositivos.
Esta primera generacin de buses de datos fue desarrollada entre la dcada del 70 y 80.
Los buses siempre enviaban datos a la CPU, y su accin era en combinacin con la misma.
Los buses de segunda generacin, poseen mayor autonoma, algunos integrados al chipset
del sistema y otros con controladores instalados en el propio bus, que permita mayor

velocidad.
La tercera generacin est signada por el tipo de buses seriales, que tienen como objetivo
reducir el nmero de conexiones de cada dispositivo que se conecta a la computadora. El
trmite es directamente entre el dispositivo conectado y el bus de datos que recibe las
rdenes.
SISTEMAS DE ENTRADA/SALIDA
Un computador no puede estar formado slo por la CPU y la memoria. Para darle alguna
utilidad debe comunicarse con el mundo exterior (perifricos) a travs del subsistema de
entrada/salida.
La misin principal del subsistema de E/S es adaptar los dispositivos externos antes de
conectarlos al bus del sistema.
Por qu no se conectan directamente al bus del sistema?

La velocidad de transmisin de datos de los perifricos es siempre menor que la de


la memoria y la CPU. Es necesario amortiguar esa diferencia de velocidades.
Debido a la gran diversidad de perifricos no es posible incorporar toda la lgica
necesaria en el computador para manejar cada uno de stos.
Los tamaos y formatos de datos de los perifricos son diferentes a los del resto del
computador.

Funciones Bsicas del sistema de E/S


1. Direccionamiento: Seleccin del dispositivo correspondiente de entre todos los
dispositivos presentes en el sistema.
2. Sincronizacin: Permitir que la CPU y la memoria se puedan comunicar con los
dispositivos de E/S sincronizando los envos de datos entre ambos.
3. Transferencia: El sistema de E/S debe tener toda la circuitera y seales de
comunicacin apropiadas para llevar a cabo la comunicacin con cada uno de los
dispositivos del sistema.

Mtodos de programacin de E/S.


Son posibles tcnicas para las operaciones de E/S:

E/S programada
E/S mediante interrupciones

E/S Programada
Los datos se intercambian entre el CPU y el mdulo de E/S. El CPU ejecuta un programa
que controla directamente la operacin de E/S, incluyendo la comprobacin del estado del
dispositivo, el envo de la orden de lectura o escritura y la transferencia del dato. Cuando el
CPU enva la orden debe esperar hasta que la operacin de E/S concluya. Si el CPU es ms
rpido, ste estar ocioso. El CPU es el responsable de comprobar peridicamente el estado
del mdulo de E/S hasta que encuentre que la operacin ha finalizado.
Normalmente habr muchos dispositivos de E/S conectados al sistema a travs de los
mdulos de E/S. Cada dispositivo tiene asociado un identificador o direccin. Cuando el
CPU enva una orden de E/S, la orden contiene la direccin del dispositivo deseado.
Esta tcnica tiene la ventaja de utilizar un hardware mnimo aunque malgasta tiempo de
proceso ya que ha de interrogar continuamente al perifrico

E/S mediante Interrupciones


El problema con E/S programada es que el CPU tiene que esperar un tiempo considerable a
que el mdulo de E/S en cuestin est preparado para recibir o transmitir los datos. El CPU
debe estar comprobando continuamente el estado del mdulo de E/S. Se degrada el
desempeo del sistema.
Una alternativa es que el CPU tras enviar una orden de E/S contine realizando algn
trabajo til. El mdulo de E/S interrumpir al CPU para solicitar su servicio cuando est
preparado para intercambiar datos. El CPU ejecuta la transferencia de datos y despus
contina con el procesamiento previo.
Se pueden distinguir dos tipos: E/S sncrona y E/S asncrona
E/S Sncrona: cuando la operacin de E/S finaliza, el control es retornado al proceso que la
gener. La espera por E/S se lleva a cabo por medio de una instruccin wait que coloca al
CPU en un estado ocioso hasta que ocurre otra interrupcin. Aquellas mquinas que no
tienen esta instruccin utilizan un loop. Este loop contina hasta que ocurre una
interrupcin transfiriendo el control a otra parte del sistema de operacin. Slo se atiende

una solicitud de E/S por vez. El sistema de operacin conoce exactamente que dispositivo
est interrumpiendo. Esta alternativa excluye procesamiento simultneo de E/S.
E/S Asncrona: retorna al programa usuario sin esperar que la operacin de E/S finalice. Se
necesita una llamada al sistema que le permita al usuario esperar por la finalizacin de E/S.
Tambin es necesario llevar un control de las distintas solicitudes de E/S. Para ello el
sistema de operacin utiliza una tabla que contiene una entrada por cada dispositivo de E/S
La ventaja de este tipo de E/S es el incremento de la eficiencia del sistema. Mientras se
lleva a cabo E/S, el CPU puede ser usado para procesar o para planificar otras E/S. Como la
E/S puede ser bastante lenta comparada con la velocidad del CPU, el sistema hace un mejor
uso de las facilidades.
Inicio de la Operacin de E/S
Para iniciar una operacin de E/S, el CPU actualiza los registros necesarios en el mdulo de
E/S.
El mdulo de E/S examina el contenido de estos registros pare determinar el tipo de accin
a ser llevada a cabo. Por ejemplo, si encuentra un requerimiento de lectura, el mdulo de
E/S empezar a transferir data desde el dispositivo a los buffers locales. Una vez terminada
la transferencia, el mdulo informa al CPU que la operacin ha terminado por medio de una
interrupcin.
Procesamiento de la Interrupcin
Cuando un dispositivo de E/S termina una operacin de E/S, se produce la siguiente
secuencia de eventos:
1. El dispositivo enva una seal de interrupcin al procesador
2. El procesador termina la ejecucin de la instruccin en curso antes de responder a la
interrupcin.
3. El procesador comprueba si hay alguna interrupcin. Si hay alguna, enva una seal
de reconocimiento al dispositivo que la origin
4. El procesador debe prepararse para transferir el control a la rutina de interrupcin.
Debe guardar la informacin necesaria para continuar con el proceso en curso en el
punto en que se interrumpi. Guarda en la pila del sistema el contenido de los
registros, etc.
5. El procesador carga en el PC la direccin de inicio del programa de gestin o
servicio de interrupcin solicitada.
6. Una vez modificado el PC, el procesador contina con el ciclo de instruccin
siguiente. Es decir, se transfiere el control a la rutina servidora de la interrupcin.
7. Cuando finaliza el servicio de la interrupcin, se restauran los valores de los
registros.

Cuando el CPU recibe una interrupcin que indica que se ha finalizado una operacin de
E/S, el sistema de operacin debe saber a cul proceso pertenece. Para esto se mantiene una
tabla de estado de dispositivos. Cada entrada en la tabla contiene el tipo de dispositivo, su
direccin y su estado. Si es dispositivo se encuentra ocupado, entonces el tipo de solicitud
junto con otros parmetros son almacenados en la tabla
Las operaciones TYPEAHEAD son un esquema usado por algunos dispositivos que
permiten a los usuarios "adelantar" la entrada de datos antes de ser requeridas. Cuando
sucede la interrupcin de final de E/S no hay proceso que la requiri, por lo tanto se
necesita un buffer para almacenar los caracteres adelantados hasta que algn programa los
requiera. En general, se requiere un buffer para cada terminal de entrada.
Hay cuatro tcnicas utilizadas comnmente para implementar la E/S por interrupciones:
Mltiples lneas de interrupcin
Consulta software
Conexin en cadena
Arbitraje de bus

Implementacin de la E/S por interrupciones Mltiples lneas de interrupcin


Consiste en proporcionar varas lneas de interrupcin entre el procesador y los mdulos
de E/S Es poco prctico porque malgasta terminales del procesador y adems de existir
ms perifricos que lneas no se resolvera el problema
La prioridad viene fijada por el procesado

Implementacin de la E/S por interrupciones Consulta software


Todos los mdulos de E/S comparten una lnea comn para solicitar interrupciones
Cuando el procesador detecta una interrupcin, se produce un salto a una subrutina de
servicio de interrupcin que se encarga de consultar a cada mdulo de E/S para determinar
cul ha producido la interrupcin
La desventaja de la consulta software est en el tiempo que consume
La prioridad viene determinada por el orden en que se hace la encuesta

Implementacin de la E/S por interrupciones Conexin en cadena


Se trata de una consulta o polling hardware

Todos los mdulos de E/S comparten una lnea comn para solicitar interrupciones
La lnea de reconocimiento de interrupcin se conecta encadenando los mdulos uno tras
otro
Cuando el procesador recibe una interrupcin, activa la seal de reconocimiento, la cual
se propaga a travs de la secuencia de mdulos de E/S hasta que alcanza al que solicit la
interrupcin
El mdulo correspondiente responde colocando una palabra que lo identifica en las lneas
de datos (vector)
El procesador utiliza el vector de interrupcin como puntero a la rutina de servicio (as se
evita ejecutar una rutina de servicio general)
La prioridad viene determinada por el orden en que se conectan los mdulos en la cadena

Implementacin de la E/S por interrupciones Arbitraje de bus


Con esta tcnica, un mdulo de E/S antes de poder activar la lnea de peticin de
interrupcin debe disponer del control del bus
Mediante el arbitrador de bus se garantiza que slo un mdulo puede activar la seal de
peticin en un determinado instante
Es una tcnica que usa interrupciones vectorizadas
La prioridad viene determinada por el arbitrador

Revisen estos links para que complementen su parte


http://www.atc.us.es/descargas/entrada-salida.pdf
http://icaro.eii.us.es/descargas/Entrada-Salida(AC%2004-05).pdf
http://icaro.eii.us.es/descargas/Entrada-Salida(AC06-07).pdf

Potrebbero piacerti anche