Sei sulla pagina 1di 20

UNIVERSIDAD PERUANA UNIN

FACULTAD DE INGENIERA Y ARQUITECTURA E.A.P. DE INGENIERA DE SISTEMAS

MONOGRAFA

CREANDO SUS PROPIAS INTERFACES


MONOGRAFA PRESENTADA EN CUMPLIMIENTO PARCIAL DE LA ASIGNATURA ARQUITECTURA DE COMPUTADORES

AUTORES:

TUESTA SANDI JUNIOR A. SAAVEDRA SANTOS EDER M. ESPINAL ASENJO ROBINSN G. PROFESOR: ING. VIDALN ALIAGA MARA ANTONIETA

LIMA, NOVIEMBRE 2011

NDICE
1. 2. 3. 4. 5. 6. 7. INTRODUCCIN ................................................................................................................................. 3 INTERFACES DIGITALES E/S ..........................................ERROR! BOOKMARK NOT DEFINED. INTERFAZ E/S ..................................................................................................................................... 6 TRANSFERENCIA ASNCRONA DE DATOS .............................................................................. 10 ACCESO DIRECTO A MEMORIA ................................................................................................. 20 INTERRUPCIN PRIORITARIA .................................................................................................... 20 BIBLIOGRAFIA ............................................................................................................................. 2020

Pgina 2

1. INTRODUCCIN
El sistema de E/S es la parte del sistema operativo encargada de la gestin de los dispositivos perifricos. Acta como interfaz entre los dispositivos de E/S y el resto del sistema. Los motivos por los que los perifricos no se conectan directamente al bus del sistema son los siguientes: Existe una gran variedad de perifricos con diversos mtodos de operacin. La velocidad de transferencia de datos de los perifricos suele ser mucho menor que la de la memoria con la CPU. Los perifricos a menudo utilizan formatos y longitudes de palabras distintas a las del computador al que estn conectados. Estas razones justifican la existencia de los controladores de E/S, que tienen dos grandes funciones: 1. Comunicarse con la CPU y la memoria a travs del bus del sistema 2. Comunicarse con uno o varios dispositivos perifricos mediante enlaces de datos adaptados a cada perifrico. De ah que nace la necesidad de la interfaz de E/S.

Pgina 3

2. INTERFACES DIGITALES DE E/S


Las interfaces establecen la comunicacin entre la unidad central y el proceso; filtrando, adaptando y codificando de forma comprensible para dicha unidad las seales procedentes de los elementos de entrada, y decodificando y amplificando las seales generadas durante la ejecucin del programa antes de enviarlas a los elementos de salida La importancia de las interfaces se muestra en la conexin directa a sensores y actuadores del proceso teniendo en cuenta que el 90% de fallas en circuitos de da en el proceso a los perifricos de E/S. Segn la clasificacin por tipo de seales: 1. Digitales de 1 bit: lgicas o binarias. 2. Digitales de varios bits: palabras 3. Analgicas Tipos y funciones de las interfaces de E/S
Tipos Todo o Nada Codificaci n Binaria 1bit Salidas Analgicas (0, 10V) (4.20 mA) Seales Continua s Digitales (8,16,bits ) Entradas Salidas Entradas Salidas Bidireccionale s Sentido Entradas Funciones de Interfaz Adaptacin de niveles de tensin Filtrado de perturbaciones Aislamiento galvnico Adaptacin de niveles de tensin Amplificacin de corriente Aislamiento galvnico Adaptacin y filtrado de seal Conversin A\ D Conversin D\ A Adaptacin 0, 10V o 4.20 mA. Seleccin de canal y multiplexado Conversin de cdigos Conversin de cdigos (Bin ASCII 7 segmentos) Amplificacin de corriente Conversin de cdigos (serie - paralelo) Protocolo de dialogo (hard + soft)

Pgina 4

Los requisitos para las caractersticas que se dan en el proceso de seales de una mejor comunicacin sobre interfaces por los perifricos de E/S son: Mayor velocidad de respuesta Menor desgaste Proteccin contra corto circuitos Mayor sensibilidad a picos de corriente Menor capacidad de corriente Requieren una fuente de calidad Mayor cada en conduccin (vs contacto rel) Corriente de fuga

Pero en nuestra monografa nos ocuparemos desde el enfoque de su utilidad y est 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. Para entender estas rutinas y medios especializados pensemos que la interfaz entre el perifrico y el mdulo de E/S debe ajustarse a la naturaleza y la forma de funcionar del perifrico. Por eso debemos recordar que la interfaz es un hardware que acta de nexo entre un perifrico o un adaptador y el bus. Como ya detallamos la interfaz adecua las seales y prepara la transferencia elemental basada en un protocolo (por ejemplo un byte) dndonos a entender que no tiene capacidad suficiente para tomar la responsabilidad de la transferencia completa (bloque), como el CPU o el canal que asumen el control de la transferencia completa.

Pgina 5

3. INTERFAZ E/S
La interfaces de entrada y de salida proporciona un mtodo para

transferir informacin entre dispositivos de (E/S) de almacenamiento interno y de (E/S) externas. Los perifricos conectados a una computadora necesitan enlac de comunicacin especial para funcionar como una interfaces con la unidad de procesamiento central. El propsito del enlace de comunicacin es resolver las diferencias que existen en la computadora central y de cada perifrico. Se llama interfaces porque se comunica tanto con el canal del procesador como con el dispositivo perifrico.

3.1. Interfaces de entrada Estos dispositivos permiten al usuario del computador introducir datos, comandos y programas en el CPU. El dispositivo de entrada ms comn es un teclado similar al de las mquinas de escribir. La informacin introducida con el mismo, es transformada por el ordenador en modelos reconocibles. Los datos se leen de los dispositivos de entrada y se almacenan en la memoria central o interna. Los Dispositivos de Entrada, convierten la informacin en seales elctricas que se almacenan en la memoria central.

Pgina 6

3.2. Interfaces de salida Estos dispositivos permiten al usuario ver los resultados de los clculos o de las manipulaciones de datos de la computadora. El dispositivo de salida ms comn es la unidad de visualizacin (VDU, acrnimo de Video Display Unit), que consiste en un monitor que presenta los caracteres y grficos en una pantalla similar a la del televisor. Ejemplo de dispositivo de entrada y salida

3.3

Estructura y Funcin del Interfaz de E/S

Un interfaz de E/S se est constituido de 3 elementos bsicos

Lneas de comunicacin con la CPU Permiten a la CPU comunicarse con el interfaz.

Lneas de comunicacin con el perifrico Permiten al interfaz comunicarse con el perifrico.

Registros del interfaz

Pgina 7

Permiten a la CPU programar el interfaz, consultar el estado y enviar o recibir datos hacia/desde el perifrico.

3.3.1

Registro del Interfaz

a. Registro de datos de salida Cuando la CPU quiere enviar datos al perifrico los escribe sobre el registro(s) de datos de salida.

b.

Registro de Datos de Entrada Cuando la CPU quiere escribir datos del perifrico los lee desde el registro(s) de datos e entrada.

c.

Registro de estado Cuando la CPU quiere conocer el estado del perifrico lo hace leyendo el registro de estado.

d. Registro de Control Cuando la CPU quiere trasmitir una orden al perifrico lo hace escribiendo en el registro de control.

3.3.2

Lneas de comunicacin con la CPU

a. Lneas de datos Para transferencia de datos entre la CPU y el interfaz. Programacin del registro de control y lectura del registro de estado.

b.

Lnea R/W* Para especificar el tipo de operacin (lectura o escritura).

c.

Lnea CS* (Chip Select) y RS (Register Select) Para seleccionar el interfaz y acceder a un registro particular del mismo.

Pgina 8

Normalmente se conectan al bus de direcciones (mediante un descodificador en el caso de CS*).

d. Lnea IRQ* Para peticin de interrupcin cuando el perifrico est listo para transmitir/recibir.

3.3.3

Lneas de comunicacin con el interfaz

Lneas de datos de entrada y salida Para transferencia de datos entre el interfaz y el perifrico

Lneas de control de entrada y salida Para transferencia de rdenes al perifrico (salida control) y consultar su estado (entrada control) 3.4 Mtodos de transmisin de informacin entre interfaz y perifrico

3.4.1

E/S paralela

a.

Utiliza varias lneas de comunicacin a travs de las cual se enva varios bits de informacin de forma simultnea

b.

Es adecuada para conexin de dispositivos a distancias cortas, que requieran Conexin de elementos dentro de un computador mediante buses Conexin de dispositivos externos a cortas distancias a travs de un interfaz paralelo

c. Problema de la E/S paralela

Para conectar dispositivos a distancias medias o largas resulta muy costosa Redes de computadores

Los dispositivos de baja velocidad no aprovechan el potencial de la

Pgina 9

transmisin paralela Teclados, ratones, modems, etc. 3.4.2 E/S serie

a.

Utiliza una nica lnea de comunicacin a travs de las cual se envan varios bits de informacin de forma secuencial

b.

Es menos costosa que la E/S paralela Adecuada para conexin de dispositivos a largas distancias

c. Es til para conexin de dispositivos de velocidad media o baja

d. Modos de transmisin serie Transmisin asncrona Transmisin sncrona

4. TRANSFERENCIA ASNCRONA DE DATOS


Durante la transmisin asncrona de datos podran surgir inconvenientes relacionados con la ausencia de sincronizacin por parte de las entidades emisoras y receptoras. 4.1. Pulso de Habilitacin Durante una transmisin asncrona, las dos unidades que desean comunicarse no comparten una frecuencia de reloj comn, por lo que requieren el envo de una seal que avise a la unidad receptora cuando se ests transmitiendo los datos. Esto se puede lograr a travs del mtodo del pulso de habilitacin, el cual es provedo de una unidad a otra con el fin de anunciar cuando se realiza la transferencia de los datos. Este mtodo emplea una lnea de control (estroboscopio) que permitir temporizar la transferencia asncrona de los datos. El pulso puede ser enviado tanto por la unidad fuente como por la unidad destino de manera indiferente.

Pgina 10

4.1.1. Cuando el pulso es enviado por la unidad fuente, sta coloca los datos en el canal de los datos y seguido de un breve retraso procede a activar la habilitacin, tanto la seal como la informacin permanecen en el canal el tiempo necesario para que la unidad destino los reciba y almacene. Luego la fuente retira el contenido para dejar libre el canal de datos y as desactivar el pulso de habilitacin. 4.1.2. Cuando la seal es enviada por la unidad destino es para avisarle a la unidad fuente que ya puede transmitir la informacin, sta responder colocando los datos en el canal, los cuales debern permanecer all durante un tiempo que se considere

suficiente para que la unidad destino los acepte, inmediatamente la unidad destino activa el pulso de habilitacin y la unidad fuente retira los datos de la lnea de transmisin. En la mayor parte de las computadoras el pulso de reloj est bajo el control del la Unidad central de procesamiento la cual se encarga de informar a los dispositivos perifricos de entrada como debern transmitir la informacin necesaria. 4.2. Reconocimiento Mutuo. A travs del mtodo del pulso de habilitacin las unidades a comunicarse pueden temporizarce, sin embargo no existe una seal que le indique a la unidad fuente que la unidad destino recibi los datos, ni una que le indique a la unidad destino que la unidad fuente coloc la informacin en el canal. De all surge la tcnica de reconocimiento mutuo que emplea una doble lnea de transmisin con el objetivo de enviar un mensaje de confirmacin entre los dos entes que les brinden seguridad e integridad en la transmisin. Una lnea (de fuente a destino) le anuncia a la unidad receptora que existen datos vlidos en el canal; la otra lnea (destino-fuente) avisa a la unidad emisora que los datos sern aceptados.

4.2.1. Cuando la seal es enviada por la unidad fuente las dos lneas de transmisin se separan en: datos vlidos (direccin: fuente-destino) y datos aceptados (en direccin destino- fuente). El proceso que se lleva a cabo es el siguiente: la fuente coloca los datos en el canal y activa la seal de datos vlidos, una vez que el destino recibe la informacin devuelve la seal de datos aceptados culminando la transferencia. La fuente retira los datos de las lneas de transmisin y deshabilita su seal dejando as libre el canal. El destino deshabilita su seal de datos aceptados lo que anuncia la disponibilidad de la misma para un prximo envo.

Pgina 11

4.2.2. Cuando la transmisin se realiza desde la unidad destino la lnea de reconocimiento mutuo datos aceptados cambia su nombre por preparada para datos. La secuencia seguida es la siguiente: la unidad receptora habilita la seal preparada para datos lo que da pie a que la unidad fuente coloque los datos en el canal y active su seal de datos vlidos. Una vez que el receptor recibe los bits de carcter deshabilita su seal para finalizar la transferencia; la unidad fuente desactiva la lnea datos vlidos devolviendo al canal a su estado inicial.

El mtodo de reconocimiento mutuo proporciona confiabilidad en la transmisin ya que hay mayor comunicacin entre las unidades, adems si se produce un error en alguna de ellas no hay problema ya que cuenta con un mecanismo de tiempo transcurrido que alarma si la transferencia no se realiza en tiempo transcurrido predeterminado, el cual es

implantado por un reloj interno que inicializa el conteo cuando alguna de las unidades activa sus seales de habilitacin y reconocimiento mutuo.

a.

Transmisin Serial

La transmisin serial es aquella donde la informacin es enviada bit por bit hacia un determinado destino. Es lenta pero mucho ms confiable por lo que tiende a usarse para transmisiones a larga distancia que no requieran de altas velocidades de respuesta. Esta transmisin serial la podemos dividir en: transmisin serial sncrona y transmisin serial asncrona.

La transmisin serial sncrona es aquella en la que las unidades de emisin y recepcin se sincronizan y despus se enva una secuencia de bits de seales de datos. De tal manera estas unidades cuentan con un reloj comn que los temporiza y permite que los bits se enven a una velocidad constante que es dictada por los pulsos de reloj. La transmisin serial asncrona es aquella en la que los bits de datos de una carcter se transfieren de manera independiente en el tiempo con respecto a otro carcter, precedidos de un bit de arranque y un bit de paro. De tal manera que para esta tcnica cada carcter consta de tres partes: un bit de inicio, bits de caracteres y un bit de paro. El bit de inicio siempre es cero y se utiliza para anunciar que comienza un carcter.

Pgina 12

El bit de paro siempre es 1, valor que se mantiene por al menos el tiempo correspondiente a un bit para indicar que ha culminado el carcter enviado. La unidad receptora puede detectar un carcter a travs del conocimiento de las siguientes reglas: a. Una lnea desocupada siempre se encuentra en estado uno.

b. El inicio de la transmisin puede detectarse a partir del bit de inicio que es siempre cero. Los bits que le prosiguen le corresponden a los bits del carcter. c. Para sealar la culminacin de la transmisin se utiliza un bit de alto, el cual consiste en una lnea que se mantiene en estado uno por ms tiempo de lo predeterminado para un bit. De tal manera el reloj interno del receptor, que conoce la velocidad de transmisin de los bits examina la lnea de tiempos y puede reconocer el inicio y fin de una trama. El tiempo del bit de paro puede ser el concerniente a uno o dos bits, que es el tiempo que necesitarn las unidades para sincronizarse de nuevo.

5. ACCESO DIRECTO A MEMORIA (DMA)


El acceso directo a memoria (DMA, del ingls Direct Memory Access) permite a cierto tipo de componentes de ordenador acceder a la memoria del sistema para leer o escribir independientemente de la CPU principal. Muchos sistemas hardware utilizan DMA, incluyendo controladores de unidades de disco, tarjetas grficas y tarjetas de sonido. DMA es una caracterstica esencial en todos los ordenadores modernos, ya que permite a dispositivos de diferentes velocidades comunicarse sin someter a la CPU a una carga masiva de interrupciones. Una transferencia DMA consiste principalmente en copiar un bloque de memoria de un dispositivo a otro. En lugar de que la CPU inicie la transferencia, la transferencia se lleva a cabo por el controlador DMA. Un ejemplo tpico es mover un bloque de memoria desde una memoria externa a una interna ms rpida. Tal operacin no ocupa al procesador y como resultado ste puede ser planificado para efectuar otras tareas. Las transferencias DMA son esenciales para aumentar el rendimiento de aplicaciones que requieran muchos recursos. Cabe destacar que aunque no se necesite a la CPU para la transaccin de datos, s que se necesita el bus del sistema (tanto bus de datos como bus de direcciones), por lo que existen diferentes estrategias para regular su uso, permitiendo as que no quede totalmente acaparado por el controlador DMA.

Pgina 13

5.1. Cach problema de coherencia La DMA puede llevar a problemas de coherencia de cach. Imagine una CPU equipada con una memoria cach y una memoria externa que se pueda acceder directamente por los dispositivos que utilizan DMA. Cuando la CPU accede a X lugar en la memoria, el valor actual se almacena en la cach. Si se realizan operaciones posteriores en X, se actualizar la copia en cach de X, pero no la versin de memoria externa de X. Si la cach no se vaca en la memoria antes de que otro dispositivo intente acceder a X, el dispositivo recibir un valor caducado de X. Del mismo modo, si la copia en cach de X no es invlida cuando un dispositivo escribe un nuevo valor en la memoria, entonces la CPU funcionar con un valor caducado de X. Este problema puede ser abordado en una de las dos formas en el diseo del sistema: Los sistemas de cach coherente implementan un mtodo en el hardware externo mediante el cual se escribe una seal en el controlador de cach, la cual realiza una invalidacin de la cach para escritura de DMA o cach de descarga para lectura de DMA. Los sistemas no-coherente dejan este software, donde el sistema operativo debe asegurarse de que las lneas de cach se vacan antes de que una transferencia de salida de DMA sea iniciada y anulada antes de que una parte de la memoria sea afectada por una transferencia entrante de DMA que se haya requerido. El sistema operativo debe asegurarse de que esa parte de memoria no es accedida por cualquier subproceso que se ejecute en ese instante. Este ltimo enfoque introduce cierta sobrecarga a la operacin de DMA, ya que la mayora de hardware requiere un bucle para invalidar cada lnea de cach de forma individual. Los hbridos tambin existen, donde en la cach secundaria L2 es coherente, mientras que en la cach L1 (generalmente la CPU) es gestionado por el software. 5.2. Motor de Acceso Directo a Memoria

Adems de la interaccin de hardware, el acceso directo a memoria puede ser utilizado para descargar costosas operaciones de memoria, tales como copias de gran tamao u operaciones de dispersin-reunin, desde la CPU a un motor de acceso directo a memoria dedicada. Intel incluye estos motores en los servidores de gama alta, llamado I/O Acceleration Technology (IOAT).. 5.3. Transferencias

Durante las operaciones del DMA, el rendimiento del sistema puede verse afectado debido a que este dispositivo hace un uso intensivo del bus y por lo tanto la CPU no puede leer

Pgina 14

datos de memoria, por ejemplo para leer la siguiente instruccin a ejecutar. Esto provoca que mientras el DMA est operando, la CPU deba esperar a que finalice dicha tarea sin ejecutar ninguna instruccin. Para solventar esto, existe una memoria cache dentro de la CPU que permite a sta seguir trabajando mientras el DMA mantiene ocupado el bus. En computadores que no disponen de memoria cache, el DMA debe realizar su tarea evitando ocupar el bus de datos mientras la CPU realiza la fase de captacin de la instruccin. A partir de estas dos posibilidades, existen dos tipos de transferencias de datos del DMA: Transferencias modo rfaga: Una vez que la CPU concede el bus al DMA, este no lo libera hasta que finaliza su tarea completamente. Este tipo de transferencia se usa en sistemas que disponen de una memoria cache en la unidad de procesamiento, ya que mientras la CPU puede seguir trabajando utilizando la cache. Transferencias modo robo de ciclo: Una vez que la CPU concede el bus al DMA, este lo vuelve a liberar al finalizar de transferir cada palabra. Teniendo que solicitar de nuevo el permiso de uso del bus a la CPU. Esta operacin se repite hasta que el DMA finaliza la tarea. Este tipo de transferencia se suele usar en sistema que no disponen de memoria cache en la unidad de procesamiento, ya que de este modo, aunque la transferencia de datos tarda ms en realizarse, la CPU puede seguir ejecutando instrucciones.

6. INTERRUPCIN PRIORITARIA

Interrupcin (tambin conocida como interrupcin de hardware o peticin de interrupcin) es una seal recibida por el procesador de un ordenador, indicando que debe "interrumpir" el curso de ejecucin actual y pasar a ejecutar cdigo especfico para tratar esta situacin. Una interrupcin es una suspensin temporal de la ejecucin de un programa, para pasar a ejecutar una subrutina de servicio de interrupcin, la cual, por lo general, no forma parte del programa (generalmente perteneciente al sistema operativo, o al BIOS). Luego de finalizada dicha subrutina, se reanuda la ejecucin del programa. Las interrupciones surgen de las necesidades que tienen los dispositivos perifricos de enviar informacin al procesador principal de un sistema de computacin. La primera tcnica que se emple fue que el propio procesador se encargara de sondear (polling) los dispositivos cada cierto tiempo para averiguar si tena pendiente alguna comunicacin para l. Este mtodo presentaba el inconveniente de ser muy ineficiente, ya que el procesador constantemente consuma tiempo en realizar todas las instrucciones de sondeo. El mecanismo de interrupciones fue la solucin que permiti al procesador desentenderse de esta problemtica, y delegar en el dispositivo la responsabilidad de comunicarse con el procesador cuando lo necesitara. El procesador, en este caso, no sondea a ningn dispositivo, sino que queda a la espera de que estos le avisen (le "interrumpan") cuando tengan algo que comunicarle (ya sea un evento, una transferencia de informacin, una condicin de error, etc.).

Pgina 15

6.1

Funcionamiento del mecanismo de interrupciones

Cada dispositivo que desea comunicarse con el procesador por medio de interrupciones debe tener asignada una lnea nica capaz de avisar al CPU que le requiere para una operacin. Esta lnea es la llamada IRQ ("Interrupt ReQuest", peticin de interrupcin). Las IRQ son lneas que llegan al controlador de interrupciones un componente de hardware dedicado a la gestin de las interrupciones, y que puede estar integrado en el procesador principal o ser un circuito separado conectado al procesador principal. El controlador de interrupciones debe ser capaz de habilitar o inhibir lneas de interrupcin (operacin llamada comnmente enmascarar por la utilizacin de una mscara), y establecer prioridades entre las distintas interrupciones habilitadas. Cuando varias lneas de peticin de interrupcin se activan a la vez, el controlador de interrupciones utilizar estas prioridades para escoger la interrupcin sobre la que informar al procesador principal. Sin embargo hay interrupciones que no se pueden enmascarar o deshabilitar, las conocidas como interrupciones no enmascarables o NMI. Un procesador principal que no tenga un controlador de interrupciones integrado, suele tener una nica lnea de interrupcin llamada habitualmente INT. Esta lnea es activada por el controlador de interrupciones cuando tiene una interrupcin que servir. Al activarse esta lnea, el procesador consulta los registros del controlador de interrupciones para averiguar cual IRQ hay que atender. A partir del nmero del IRQ busca en la tabla de vectores de interrupcin la direccin de la rutina que debe llamar para atender una peticin del dispositivo asociado a dicha IRQ. Las rutinas de interrupcin generalmente toman un pequeo tiempo de ejecucin. Pasos para el procesamiento de una IRQ: 1. Terminar la ejecucin de la instruccin de mquina en curso. 2. Salva el valor de contador de programa, IP, en la pila, de manera que en la CPU, al terminar el proceso, pueda seguir ejecutando el programa a partir de la ltima instruccin. 3. La CPU salta a la direccin donde est almacenada la rutina de servicio de interrupcin (Interrupt Service Routine (ISR)) y ejecuta esa rutina que tiene como objetivo atender al dispositivo que gener la interrupcin. 4. Una vez que la rutina de la interrupcin termina, el procesador restaura el estado que haba guardado en la pila en el paso 2 y retorna al programa que se estaba usando anteriormente. 6.2. Mecanismo de interrupciones en un PC Un ordenador PC tpico dispone en su placa base de un controlador de interrupciones 8259 de Intel o de un circuito integrado anlogo. Este dispositivo electrnico dispone de hasta 16 lneas IRQ, numeradas desde el 00 hasta el 15. En las nuevas placas base

Pgina 16

este circuito est integrado junto con el resto del chipset y permite hasta 24 interrupciones. Tipos de interrupciones En este sub apartado vamos a hacer una clasificacin de las distintas clases de interrupciones que nos podemos encontrar atendiendo a la fuente que las produce. Por un lado distinguiremos si se producen por causas internas o externas al procesador y remarcaremos que este hecho est ntimamente ligado con que las interrupciones sean sncronas o asncronas: Interrupciones de hardware. Estas son asncronas a la ejecucin del procesador, es decir, se pueden producir en cualquier momento independientemente de lo que est haciendo el CPU en ese momento. Las causas que lo producen son externas al procesador y a menudo suelen estar ligadas con distintos dispositivos de E/S. Traps. Normalmente son causadas al realizarse operaciones no permitidas tales como la divisin por 0, el desbordamiento, el acceso a una posicin de memoria no permitida, etc. Interrupciones por software. Las interrupciones por software son generadas por el programa en ejecucin. Para generarla, existen distintas instrucciones en el cdigo mquina que permiten al programador producir una interrupcin, suelen tener nemotcnicos tales como INT. Suelen ser de vital importancia ya que a partir de estas interrupciones se solicita al sistema operativo realizar determinadas funciones, para ello. Por ejemplo, en DOS se realiza la instruccin INT 0x21 y en Unix se utiliza INT 0x80 para hacer llamadas de sistema.

6.3. Sistemas de prioridad Se necesita un mecanismo para priorizar las interrupciones y tratar primero las ms urgentes. Existen varias alternativas: Interrupciones simultneas. No tienen por qu ocurrir de manera simultnea sino que se refiere a que en un momento dado pueden haber varias interrupciones activas. Interrupciones anidadas. Mientras se est procesando una determinada rutina de servicio de interrupcin sucede otra seal de interrupcin. Inhibicin de interrupciones. Se deshabilitan las dems interrupciones mientras se est tratando una. 6.4. Interrupciones simultneas

En este mtodo tenemos dos alternativas, una de ellas es que exista algn hardware que tenga como entradas las seales de interrupcin y de como salida la interrupcin ms prioritaria que est activa en ese momento. Otra alternativa es tener un mtodo de

Pgina 17

identificacin de prioridades distribuida y no generalizada como en el caso anterior, en este caso tenemos que destacar dos tcnicas distintas que se pueden implementar en la prctica: Polling. Como ya vimos es el CPU el que chequea los dispositivos y el orden de sondeo determina la prioridad. Daisy-chain. (conexin en cadena) Podemos conectar los distintos dispositivos en cadena, en orden decreciente de prioridad y por tanto la seal de reconocimiento de interrupcin (INTA#) solo ser pasada al siguiente dispositivo en caso de que el anterior (ms prioritario) no haya solicitado los servicios del procesador. Sin embargo, algo importante es que las seales de interrupcin que van al procesador estn conectadas todas a un mismo cable, por tanto, deberemos utilizar alguna tcnica especial para que no se produzca un cortocircuito. Para evitar precisamente que la pista se cortocircuite se utiliza la tcnica del "open-collector" o "colector abierto" y consiste en conectar el colector de un transistor a la pista comn (un transistor por cada dispositivo) y por tanto estarn tantos colectores conectados como dispositivos tengamos (se entiende que son dispositivos que mandan peticin de interrupcin al procesador). Hbrida. Mezcla las dos tcnicas explicadas anteriormente.

6.5.

Interrupciones anidadas

Existen dos mtodos para tratar las interrupciones anidadas. El primero se basa en inhabilitar las interrupciones mientras se est ejecutando una determinada RSI. Esto puede realizarlo el hardware de manera automtica en algunos procesadores, pero en otros ser el usuario el encargado de deshabilitarlas en caso de que no desee que ninguna otra interrupcin pueda interrumpir el transcurso normal de la rutina de servicio de interrupcin. No es aconsejable deshabilitar las interrupciones durante mucho tiempo ya que esto puede provocar errores y prdida de informacin. La otra alternativa es permitir que solo las interrupciones ms prioritarias puedan suspender la ejecucin de la RSI actual. Para esto tendremos que definir qu lneas son ms prioritarias que otras. Otra consideracin de esta segunda alternativa es que al anidar distintas llamadas a rutinas tendremos que contar con una pila suficientemente grande para que esta no se desborde. 6.6. Inhibicin de interrupciones

Hay distintas alternativas de inhibicin de interrupciones. Como ya hemos visto estas se pueden hacer de manera automtica por el hardware en algunos casos mientras que en otros ser el usuario el encargado de realizarlo por software y esto depende de la arquitectura del procesador que consideremos. Las distintas opciones son: Deshabilitar todas las interrupciones. Para esto basta con inhibir el bit del registro de flag dedicado a las interrupciones.

Pgina 18

Deshabilitar al principio de la RSI y activarlas de nuevo al finalizar la misma. Puede ser de manera automtica o por el usuario. Desactivar solo las interrupciones que tengan menor prioridad que la asociada a la RSI que se est ejecutando en ese momento. Deshabilitar de forma selectiva distintos niveles de prioridad de interrupcin. Para lo cual se emplean registros especiales denominados mscaras en el que cada uno de sus bits identifican a un nivel distinto y modificando su contenido se puede establecer que niveles estn activos en ese momento. Se puede cambiar por el programador.

6.7.

Tormenta de interrupciones

Este evento se puede producir cuando un procesador recibe un nmero demasiado grande de interrupciones, las cuales consumen la mayor parte del tiempo del procesador. Las tormentas de interrupciones suelen ser causadas por dispositivos de hardware que no son compatibles con una tasa de interrupcin limitante. Como curiosidad, se conjetura que la primera tormenta de interrupciones pudo ocurrir durante el descenso lunar del Apollo 11 en 1969.

Pgina 19

7. BIBLIOGRAFIA
http://www.talgo32.es/archivos/SO1/uned/ResTema6.pdf http://linux0.unsl.edu.ar/~rvilla/c3m10/tema5.pdf http://www.unamerida.com/archivospdf/MIA316-U3.pdf http://es.wikipedia.org/wiki/Acceso_directo_a_memoria http://www.die.upm.es/cursos/DMA.pdf http://es.wikipedia.org/wiki/Interrupci%C3%B3n

Pgina 20

Potrebbero piacerti anche