Вы находитесь на странице: 1из 22

Interrupcin

Este artculo o seccin necesita referencias que aparezcan en una publicacin acreditada, como revistas especializadas, monografas, prensa diaria o pginas de Internet fidedignas.
Puedes aadirlas as o avisar al autor principal del artculo en su pgina de discusin pegando: {{subst:Aviso referencias|Interrupcin}} ~~~~

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 proceso, 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.).
ndice
[ocultar]

1 Funcionamiento del mecanismo de interrupciones 2 Lneas de peticin de interrupcin 3 Mecanismo de interrupciones en un PC 4 Tipos de interrupciones 5 Usos de las interrupciones

o o o

5.1 Interrupciones de hardware 5.2 Trampas 5.3 Interrupciones por software

6 Determinacin de la direccin de la rutina de servicio de interrupcin 7 Direcciones variables 8 Determinacin de la fuente que genera la interrupcin 9 Sistemas de prioridad

o o o

9.1 Interrupciones simultneas 9.2 Interrupciones anidadas 9.3 Inhibicin de interrupciones

10 Tormenta de interrupciones 11 Vase tambin

[editar]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. Tambin puede darse el caso de que una rutina de tratamiento de interrupcin sea interrumpida para realizar otra rutina de tratamiento de una interrupcin de mayor prioridad a la que se estaba ejecutando.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.

[editar]Lneas

de peticin de interrupcin

El bus de control dispone de lneas especficas para el sistema de interrupciones. En el IBM PC y XT existen 8 lneas de peticin de interrupcin manejadas por elcontrolador de interrupciones Intel 8259. Estas lneas estn numeradas del 0 al 7, las dos primeras estn asignadas al timer tick del temporizador Intel 8253, y al teclado. Solo quedaban 6 lneas para otros dispositivos, que aparecen como tales en el bus de control (IRQ2 - IRQ7). A partir del modelo AT se aadieron otras 8 lneas, numeradas del 8 al 15, mediante un segundo controlador de interrupciones (PIC), aunque la tecnologa empleada exigi colgarlo de la lnea IRQ2 del primero, de forma que esta lnea se dedica a atender las interrupciones del segundo controlador a travs de la lnea 9 de este ltimo, y la lnea 8 se dedic al reloj de tiempo real, un dispositivo que no exista en los modelos XT. Aunque internamente se manejan 16 lneas, no todas tienen contacto en los zcalos del bus externo (son las marcadas con asterisco en la tabla que sigue). La razn de esta ausencia en los zcalos de conexin es que son de asignacin fija, y solo son usadas por ciertos dispositivos instalados en la propia placa base. En concreto la lnea NMI est asignada al mecanismo de control de paridad de la memoria, la lnea 0 est asignada al cronmetro del sistema y la lnea 1 al chip que controla el teclado (dispositivos que pueden requerir atencin urgente por parte del procesador). Es costumbre denominar IRQx a las que tienen prolongacin en el bus. Tericamente las restantes lneas podran ser asignadas a cualquier nuevo dispositivo, pero en la prctica algunas estn reservadas a dispositivos estndar. Por ejemplo, IRQ3 est casi siempre asignado al puerto serie COM2 y el IRQ4 al COM1; IRQ6 al controlador estndar de disquetes y IRQ7 al puerto de impresora LPT1. La tabla 1 muestra las asignaciones clsicas para el XT y el AT En sistemas ms modernos utilizan la arquitectura APIC de Intel con 24 lneas y 8 extra para enrutar las interrupciones PCI.

Nombre Int (hex)

XT: Descripcin

AT: Descripcin

NMI

---

Paridad*

Paridad*

IRQ0

08

Temporizador*

Temporizador*

IRQ1

09

Teclado*

Teclado*

IRQ2

0A

Reservado

Interrupciones 8 a 15 (PIC#2)

IRQ3

0B

Puertos serie COM2/COM4 Puerto serie COM2/COM4

IRQ4

0C

Puertos serie COM1/COM3 Puertos serie COM1/COM3

IRQ5

0D

Disco duro

Impresora secundaria LPT2

IRQ6

0E

Disquete

Disquete

IRQ7

0F

Impresora primaria LPT1

Impresora primaria LPT1

IRQ8

70

No existe

Reloj de tiempo real*

IRQ9

71

No existe

Redirigido a IRQ2*

IRQ10

72

No existe

no asignado

IRQ11

73

No existe

no asignado

IRQ12

74

No existe

Ratn PS2

IRQ13

75

No existe

Coprocesador 80287*

IRQ14

76

No existe

Contr. disco IDE primario

IRQ15

77

No existe

Contr. disco IDE secundario

Cuando se instala un dispositivo de E/S que puede necesitar atencin del procesador, debe asignrsele una IRQ adecuada. Dicho en otras palabras, cuando requiera atencin debe enviar una seal en la lnea IRQ especificada. Inicialmente esta asignacin se efectuaba de forma manual, por medio de puentes (jumpers) en la placa o dispositivo, pero actualmente esta seleccin puede hacerse por software.

[editar]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 este circuito est integrado junto con el resto del chipset y permite hasta 24 interrupciones.

[editar]Tipos

de interrupciones

En este subapartado 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.

[editar]Usos

de las interrupciones

Se utilizan las interrupciones generalmente para dos motivos:

Permitir una comunicacin sin bloqueo con los perifricos externos. Conmutar las tareas dentro de un planificador

[editar]Interrupciones

de hardware

Son interrupciones que se producen como resultado de, normalmente, una operacin de E/S. No son producidas por ninguna instruccin de un programa sino por seales que producen los dispositivos para indicarle al procesador que necesitan ser atendidos. Las interrupciones de hardware son interesantes en cuanto a que permiten mejorar la productividad del procesador ya que este ltimo puede ordenar una operacin de E/S y en lugar de tener que esperar realizando una espera activa, a que el dispositivo termine, es decir, sin hacer ningn trabajo til, se puede dedicar a atender a otro proceso o aplicaciones y cuando el dispositivo est de nuevo disponible ser el encargado de notificarle al procesador mediante la lnea de interrupcin que ya est preparado para continuar/terminar la operacin de E/S. Entradas/salidas: Cuando un microprocesador accesa un perifrico (disco duro, puerto de comunicacin...), puede transcurrir algn tiempo antes de que los datos puedan ser obtenidos o bien transmitidos. La solucin ms simple es esperar hasta recibir un dato o bien hasta que se efecta una transmisin (espera ocupado, o polling), pero esta solucin bloquea todos los programas en ejecucin, y eso no puede admitirse bajo un sistema multitarea. En los sistemas modernos se prefiere un funcionamiento mediante interrupciones: El perifrico seala una eventualidad mediante una interrupcin, como por ejemplo que ha acabado la transmisin de los datos, y una rutina trata esta interrupcin. Para que la transferencia sea ms eficiente suele usarse el acceso directo a memoria (DMA), mediante el cual los bloques son ledos o bien escritos en memoria sin la intervencin del CPU.

[editar]Trampas
Es un tipo de interrupcin sincrnica tpicamente causada por una condicin de error, por ej. una divisin por 0 o un acceso invlido a memoria en un proceso de usuario. Normalmente genera un cambio de contexto a modo supervisor para que el sistema operativo atienda el error. De manera que podemos ver como las excepciones son un mecanismo de proteccin que permite garantizar la integridad de los datos tanto en el espacio de usuario como en el espacio kernel. El SO cuando detecta una excepcin intenta solucionarla pero en caso de no poder simplemente notificar la condicin de error a la aplicacin y abortar la misma.

[editar]Interrupciones

por software

Este artculo o seccin tiene un estilo difcil de entender para los lectores interesados en el tema.
Si puedes, por favor edtalo y contribuye a hacerlo ms accesible para el pblico general, sin eliminar los detalles tcnicos que interesan a los especialistas.

A las interrupciones por software, se las denomina excepciones. En este apartado se consideran las llamadas al sistema operativo mediante una instruccin, normalmente de Entrada/Salida, por ejemplo una divisin por 0. Una interrupcin por software, se generar por un programa mientras est ejecutndose. En general acta de la siguiente manera: 1. Un programa que se vena ejecutando luego de su instruccin I5 , llama al Sistema Operativo, por ejemplo para leer un archivo de disco.(cuando un programa necesita un dato exterior , se detiene y pasa a cumplir con las tareas de recojer ese dato) 1. A tal efecto, luego de I5 existe en el programa, la instruccin de cdigo de mquina CD21, simbolizada INT 21 en Assembler, que realiza el requerimiento del paso 1. Puesto que no puede seguir le ejecucin de la instruccin I6 y siguientes del programa hasta que no se haya ledo el disco y est en memoria principal dicho archivo, virtualmente el programa se ha interrumpido, siendo, adems, que luego de INT 21, las instrucciones que se ejecutarn no sern del programa, sino del Sistema Operativo. ( se detiene el programa y ordena en este caso mediante INT21 ( interrupcion predefinida ) que recoge el dato solicitado, para poder sequir el programa que la ordeno ) 1. La ejecucin de INT 21 permite hallar la subrutina del Sistema Operativo.

1. Se ejecuta la subrutina del Sistema Operativo que prepara la lectura del disco. 1. Luego de ejecutarse la subrutina del Sistema Operativo, y una vez que se haya ledo el disco y verificado que la lectura es correcta, el Sistema Operativo ordenar reanudar la ejecucin del programa autointerrumpido en espera. 1. La ejecucin del programa se reanuda.

[editar]Determinacin

de la direccin de la rutina de servicio de

interrupcin
Hay dos alternativas para determinar la direccin de la rutina de servicio de interrupcin que debe ejecutarse al recibir una interrupcin determinada:

Direcciones fijas. Se hallan cableadas en el procesador y por tanto nunca pueden ser cambiadas. Esto implica que las RSI siempre estarn en una determinada posicin de la memoria.

Direcciones variables (por interrupciones vectorizadas). En este grupo se incluyen aquellas que presentan una direccin variable y que, por tanto, no se halla cableada en el procesador. De esta manera el dispositivo debe dar informacin acerca de la localizacin de la direccin de comienzo de la RSI asociada a dicho perifrico.

[editar]Direcciones

variables

Hay distintas metodologas de diseo para las interrupciones con direcciones variables. En la actualidad, las alternativas que son implementadas de manera habitual son las siguientes:

Direccionamiento absoluto. En este caso es el dispositivo o la interfaz del dispositivo la encargada de conocer la direccin de la RSI y de enviarla al procesador para que ste pueda localizar dicha subrutina y ejecutarla.

Direccionamiento relativo. El dispositivo solo suministra parte de la direccin de comienzo y es el procesador el encargado de completarla (aadiendo bits o sumando una determinada cantidad, que siempre ser fija). Esta alternativa tiene una ventaja sobre la anterior y es que permite especificar la direccin de comienzo con menos bits y por tanto simplifica el diseo. Ahora bien tiene una desventaja principal y es que limita el nmero de dispositivos que podemos conectar y adems ciertos bits de la direccin quedan fijados de forma permanente por la CPU lo que reduce la capacidad de reubicabilidad de la RSI. Una alternativa que utilizan ciertos procesadores como el 8080 o el 8085 es que en vez de enviar solamente la direccin de comienzo de la RSI se enva tambin el cdigo de la operacin de salto (por ejemplo CALL).

Direccionamiento indirecto. Tambin conocida como direccionamiento por interrupciones vectorizadas. Se mantiene una tabla de vectores de interrupcin (direcciones de comienzo de las distintas RSI) y a cada interrupcin se le asocia un nmero que ser el ndice por el cual se acceder a la tabla y se recuperar la informacin de la direccin de comienzo. Necesita seales de conformidad o handshaking para sincronizar al procesador con la interfaz, ya que esta ltima tiene que indicarle al procesador cuando va a enviarle el ndice que necesita para buscar el vector de interrupcin (INT) y el procesador deber enviar otra seal para indicar que se ha reconocido la interrupcin (INTA#).

[editar]Determinacin

de la fuente que genera la interrupcin

Hay distintas formas de identificar la fuente de una determinada interrupcin. La primera alternativa que se consider fue asignar una lnea (un bit) para cada interrupcin pero esto supona un gran costo en cuanto a la relacin de nmero de dispositivos y nmero de bits usados y a menudo fijaba el lmite de

dispositivos que se podan conectar. Por tanto, se pens con posterioridad que en cada patilla de interrupcin deberan poder conectarse ms de un dispositivo, pero entonces tendramos que imponer una metodologa que permitiese identificar de forma unvoca de qu dispositivo se trataba. Para ello hay varias directrices:

Polling. Se trata de que la CPU comprueba de manera sistemtica todos los dispositivos de manera que "busca" cul de ellos fue el que solicit la interrupcin. Esto tiene una ventaja y es que es barato a nivel de coste hardware ya que el "polling" se implementa en software, no obstante tiene otras desventajas que no podemos olvidar y es que suele ser lento porque tiene que comprobar en serie todos los dispositivos y establece una prioridad en los dispositivos (el orden de sondeo) y por tanto puede provocar inanicin.

Interrupciones vectorizadas. Este concepto fue ya tratado en el apartado anterior y como ventajas podemos destacar que suele ser rpido pero implica un alto costo en el hardware.

Hardware paralelo. Se utiliza un registro de interrupcin cuyos bits se controlan de forma independiente por las seales de peticin de interrupcin posicin de cada bit en el registro, se establece la prioridad. de cada perifrico. Segn la

[editar]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.

[editar]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 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.

[editar]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.

[editar]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.

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.

[editar]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.

Qu es una interrupcin?
Debido a que el procesador no puede procesar mltiples datos al mismo tiempo (procesa un dato a la vez) el sistema de multitareas es en realidad una alternancia de fragmentos de instrucciones de muchas tareas diferentes. Es posible suspender momentneamente un programa que se estaba ejecutando mediante una interrupcin que dure el tiempo que lleva una rutina de servicios de interrupcin. Luego, el programa interrumpido puede continuar ejecutndose. Existen 256 direcciones de interrupcin diferentes. Una interrupcin se realiza cuando un componente del hardware de la ordenador requiere la interrupcin del hardware. Un ordenador posee muchos perifricos. Generalmente, necesitan utilizar recursos del sistema, aunque slo sea para comunicarse con ste... Cuando necesitan un recurso, envan una peticin de interrupcin al sistema para que ste les preste atencin. Cada perifrico cuenta con un nmero de interrupcin llamado IRQ (Interruption request [Peticin de interrupcin]). Una manera de poder entender este proceso es imaginar a cada perifrico tirando de una "cuerda" conectada a una campana para indicarle al ordenador que requiere de su atencin. De hecho, la "cuerda" es una lnea fsica que conecta la ranura a la placa madre. Para una ubicacin ISAde 8 bits, por ejemplo, hay 8 lneas IRQ (Interruption Request [Peticin de Interrupcin]) que conectan la ranura ISA de 8 bits a la placa madre, IRQ 0 a IRQ7. Estas IRQ son controladas por un "controlador de interrupciones" que verifica qu IRQ tiene mayor prioridad. Para las ranuras de 16 bits, se agregan las IRQ que van desde la 8 a la 15, las cuales requieren de un segundo controlador de interrupciones. La conexin entre los dos grupos de interrupciones se realiza por medio de la IRQ 2 que est conectada a la IRQ 9 (denominada "cascada"). El trmino "cascada" se puede pensar como una manera de "insertar" las IRQ del 8 al 15 entre las IRQ del 1 al 3:

Dado que la prioridad se otorga a medida que va aumentando el orden en el nmero de IRQ, y debido a que las IRQ del 8 al 15 se insertan entre las IRQ del 1 al 3, el orden de prioridad es el siguiente: 0 > 1 > 8 > 9 > 10 > 11 > 12 > 13 > 14 > 15 > 3 > 4 > 5 > 6 > 7

Qu es un DMA?
Los perifricos con frecuencia necesitan contar con "memoria prestada" del sistema, la cual utilizarn como bfer. Este bfer ser un rea de almacenamiento temporal que permite que se escriban rpidamente datos de entrada y salida. Para afrontar esta necesidad, se defini un canal de acceso directo a la memoria denominado DMA(Direct Memory Access por sus siglas en ingls). El canal DMA es un acceso a una ubicacin RAM en el ordenador, al que una "Direccin de Inicio RAM" y una "Direccin de Fin" hacen referencia. Este mtodo permite que un perifrico utilice canales especiales que le den acceso directo a la memoria, sin involucrar al microprocesador. Esto permite que el microprocesador se libere de la necesidad de hacer este trabajo. Un ordenador tipo PC cuenta con 8 canales DMA. Los primeros cuatro canales DMA poseen 8 bits mientras que los DMA que van del cuarto al sptimo poseen 16 bits. Normalmente, los canales DMA se asignan de la siguiente manera: DMA0 - libre DMA1 - (tarjeta de sonido)/ libre DMA2 - controlador de disquetes DMA3 - puerto paralelo (puerto de la impresora) DMA4 - controlador del acceso directo a la memoria (redirigido a DMA0) DMA5 - (tarjeta de sonido)/ libre DMA6 - (SCSI)/ libre DMA7 - disponible

Direcciones de base
Debido a que a veces los perifricos necesitan intercambiar informacin con el sistema, se les asignan direcciones de memoria para enviar y recibir datos. Estas direcciones se denominan "direcciones de base" (los siguientes trminos tambin se usan algunas veces: "puertos de

entrada/salida", "puertos de E/S", "direccin E/S", "direcciones de puertos de E/S", "puertos de base", o "Direcciones de Entrada/Salida"). Por intermedio de esta direccin de base los perifricos se pueden comunicar con el sistema operativo. Por consiguiente, slo puede haber una direccin de base por perifrico. A continuacin, se podr ver una lista de algunas direcciones de base comunes: 060h - teclado 170h/376h - controlador IDE secundario 1F0h/3F6h - controlador IDE primario 220h - tarjeta de sonido 300h - tarjeta de red 330h - tarjeta del adaptador SCSI 3F2h - controlador de la unidad de disquete 3F8h - COM1 2F8h - COM2 3E8h - COM3 2E8h - COM4 378h - LPT1 278h - LPT2

Sin embargo, toda esta informacin es generalmente irrelevante para el usuario medio, que no necesita preocuparse por sta.

Por qu existen conflictos con el hardware?


Una interrupcin es una lnea que conecta a un perifrico con el procesador. Tambin puede ser una interrupcin del hardware, cuando un componente del hardware de la PC as lo requiere. Por ejemplo, esto sucede cuando se presiona una tecla y el teclado quiere que el procesador lo note. Sin embargo, no se pueden solicitar las 256 interrupciones como interrupciones del hardware. Los diferentes perifricos siempre solicitan interrupciones especficas. Por este motivo, cuando instale y configure tarjetas de expansin, deber asegurarse de que dos perifricos deferentes no usen la misma interrupcin. De hecho, si dos perifricos poseen la misma IRQ, el sistema no sabr a qu hardware deber darle el control...el sistema se bloquear o no funcionar normalmente... generando lo que se denomina conflicto con el hardware. Un conflicto con el hardware no slo se produce cuando dos perifricos sufren la misma interrupcin del hardware. Tambin puede generarse un conflicto si dos perifricos tienen la misma direccin de entrada/salida o si se les asignan los mismos canales DMA.

Cmo configurar las IRQ de los perifricos

La IRQ de una tarjeta puede modificarse, ya que es necesario asignarle un nmero de IRQ que otro perifrico no utiliza. En las tarjetas ms antiguas, se configurara utilizando puentes en la tarjeta. En las tarjetas ms recientes (las que poseen un BIOS con sistema Plug and Play), los recursos (IRQ, DMA, Direcciones de Entrada-Salida) se configuran con una pequea utilidad (que a menudo se ejecuta en DOS) que viene junto con la tarjeta de red (generalmente se la denomina setup.exe, install.exe, ezconf.exe, config.exe,...). Esta utilidad permite modificar la IRQ, el DMA, y otros valores por medio de un software. Para poder modificar los parmetros en forma manual, normalmente debe deshabilitar el modo plug and play. Sin embargo, muchas tarjetas pueden configurarse a voluntad (en Windows, es posible asignar un valor IRQ). Esto se aplica, en especial, a la mayora de las tarjetas de sonido. No siempre es fcil encontrar recursos para todos los perifricos. Por este motivo, a continuacin podr ver los recursos que ya fueron utilizados y que, por lo tanto, no pueden asignarse a sus tarjetas de expansin: IRQ Perifrico 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Reloj interno teclado controlador programable de interrupciones Redirigido a las IRQ 8 a 15 puerto de comunicacin COM2/COM4 puerto de comunicacin COM1/COM3 libre controladores del disquete puerto de la impresora LPT1 CMOS (Reloj en tiempo real) libre libre libre puerto del ratn PS2/libre procesador de datos numricos (coprocesador matemtico) controlador primario del disco rgido (IDE)

15

controlador secundario del disco rgido (IDE) Como se pudo ver anteriormente, los puertos COM1 y COM4 usan la misma interrupcin, como tambin lo hacen los puertos COM2 y COM3. Si se tiene en cuenta que dos perifricos no pueden usar la misma interrupcin, esto puede parecer ilgico. De hecho, es posible utilizar COM1 y COM4 (como tambin COM2 y COM3) siempre y cuando no estn activados simultneamente. De lo contrario, el ordenador puede bloquearse o comportarse en forma anormal.

Cmo resolver conflictos con el hardware


Cuando tiene un problema que cree que est relacionado con la configuracin del hardware de su mquina, lo primero que debe hacer es identificarlo. Es decir, debe tratar de eliminar todas las variables posibles, generalmente abriendo la mquina y quitando, uno por uno, todos los elementos que pudieran causar un conflicto, o aislndolos por medio de un software (qu

Acerca del software TeamViewer es una aplicacin intuitiva, rpida y segura para el control remoto del ordenador y las reuniones en lnea. Como solucin todo en uno, TeamViewer puede utilizarse:

TeamViewer como un servicio de sistema de Windows. Esto le permite acceder a su ordenador antes incluso de iniciar sesin en Windows.

Linux. nes o trabajos en equipo.

consultar el correo electrnico o descargar imgenes desde su ordenador para su edicin.

informacin importante durante un viaje de negocios). TeamViewer puede comunicarse a travs de las barreras de firewalls, routers NAT y proxys sin

necesidad de una configuracin especial.

LogMeIn Rescue
Es una plataforma novedosa que facilita el soporte tcnico a clientes a travs de Internet. El cliente remoto inicia la sesin l mismo, pulsando sobre un enlace. Desde la consola de Rescue, el tcnico puede acceder a informacin detallada sobre el PC del cliente, iniciar una sesin de chat, tomar el control remoto y mucho ms. LogMeIn Rescue revoluciona el concepto de soporte tcnico remoto, con un producto potente, fcil de usar y econmico. No hay cuotas de alta, ni compromisos a largo plazo. LogMeIn Rescue es la plataforma de soporte tcnico remoto ms seguro del mercado, con un sistema de seguridad que incluye SSL y cifrado 256 bits. Cualquier acceso al PC del cliente requiere la expresa autorizacin del cliente y al finalizar la sesin, se desintala automticamente el software del cliente. LogMeIn Rescue es una revolucionaria solucin de soporte remoto bajo demanda que le ofrece la posibilidad de proporcionar soporte remoto al instante, sin preinstalar software, a cualquier lugar del mundo con una conexin a Internet.
Active

su cuenta de versin de prueba gratuita. Simplemente haga clic aqu y siga las instrucciones en pantalla para registrarse. Empiece ahora! Revise nuestra breve Gua Comenzar a utilizar para obtener algunos consejos sobre el uso de LogMeIn Rescue. Definir un nmero ilimitado de tcnicos (cualquier configuracin establecida se conservar intacta despus del perodo de prueba, aunque es posible que deba ajustar las asignaciones de puestos de tcnico si decide adquirir menos puestos de los que ha creado en la versin de prueba).

Control remoto

Unidad de control remoto de untelevisor.

Un control remoto mando a distancia es un dispositivo electrnico usado para realizar una operacin remota (o telemando) sobre una mquina. El trmino se emplea generalmente para referirse al control remoto (llamado por lo general simplemente "el control" o, en el sur de Europa, "el mando") para el televisor u otro tipo de aparato electrnico casero, como DVD, Hi-Fi, computadoras, y para encender y apagar un interruptor, la alarma, o abrir la puerta del estacionamiento. Los controles remotos para esos aparatos son normalmente pequeos objetos (fcilmente manipulables con una mano) con una matriz de botones para ajustar los distintos valores, como por ejemplo, el canal de televisin, el nmero de cancin y el volumen. De hecho, en la mayora de dispositivos modernos el control contiene todas las funciones de control, mientras que el propio aparato controlado slo dispone de los controles ms primarios. La mayora de estos controles remotos se comunican con sus respectivos aparatos va seales de infrarrojo (IR) y slo unos pocos utilizan seales de radio. En los vehculos modernos las clsicas llaves incorporan ahora controles remotos con diversas funciones. Su fuente de energa suele ser pequeas pilas de tipo AA, AAA o de botn.
ndice
[ocultar]

1 Historia 2 Tipos 3 Tecnologa

3.1 Funcionamiento

4 Aplicaciones

o o o o

4.1 Industria 4.2 Aplicaciones militares 4.3 Astronutica 4.4 Videojuegos

5 Vase tambin 6 Filmografa 7 Enlaces externos

[editar]Historia

Uno de los primeros ejemplos de control remoto (mando a distancia en Espaa) fue desarrollado en 1893 por Nikola Tesla y descrito en su patente nmero 613809, tituladaMtodo de un aparato para el mecanismo de control de vehculo o vehculos en movimiento. En 1903, Leonardo Torres Quevedo present el telekino en la Academia de Ciencias de Pars, acompaado de una memoria y haciendo una demostracin experimental. En ese mismo ao obtuvo la patente en Francia, Espaa, Gran Bretaa y Estados Unidos. El telekino consista en un autmata que ejecutaba rdenes transmitidas medianteondas hertzianas; constituy el primer aparato de radiodireccin del mundo, y fue un pionero en el campo del control remoto. El 25 de septiembre de 1906, en presencia del Rey y ante una gran multitud, demostr con xito el invento en el puerto de Bilbao al guiar un bote desde la orilla; ms tarde intentara aplicar el telekino a proyectiles y torpedos, pero tuvo que abandonar el proyecto por falta de financiacin. El primer modelo de avin por control remoto vol en 1932. Durante la Segunda Guerra Mundial, se llev a cabo el uso de tecnologa de control remoto para propsitos militares; uno de los resultados de esto fue el misil alemn Wasserfall. El primer artilugio diseado para controlar remotamente un televisor fue desarrollado por Zenith Radio a principios de 1950s. El control extraoficialmente llamado Lazy Bones (~para vagos) usaba un cable para conectarse al televisor. Para mejorar el engorroso sistema, se cre un control remoto sin cables en 1955. El mando, llamado Flashmatic, funcionaba enviando un rayo de luz a una clula fotoelctrica. Desafortunadamente, las clulas no distinguan entre la luz del mando y la luz de otras fuentes. El Flashomatic tambin requera que se apuntara el mando a distancia al receptor con precisin. En 1956, Robert Adler desarrollo el Zenith Space Command (Mando del espacio cenit), un control sin cables. Era mecnico y usaba ultrasonidos para cambiar el canal y el volumen. Cuando el usuario pulsaba un botn del mando a distancia, haca un chasquido y golpeaba una barra, de ah el trmino para denominarlo en EE.UU.clicker (chasqueador). Cada barra emita una frecuencia diferente y los circuitos en el televisor detectaban el ruido. La invencin del transistor hizo posible controles electrnicos ms baratos, que contena un cristal piezoelctrico que era alimentado por una corriente elctrica oscilatoria a una frecuencia cercana o mayor a la del umbral superior deaudicin humana, aunque todava audible para perros. El receptor contena un micrfono unido a un circuito que estaba configurado a la misma frecuencia. Algunos problemas de este mtodo eran que el receptor poda ser activado accidentalmente por ruidos que ocurrieran de forma natural y, algunas personas, especialmente mujeres jvenes, podan or las agudas seales ultrasnicas. Hubo incluso un incidente memorable, en el cual un xilfono cambiaba los canales de ese tipo de televisores, ya que algunos de los armnicos del instrumento eran iguales a la frecuencia ultrasnica del mando a distancia. El impulso para un tipo ms complejo de control remoto vino a finales de los 70 con el desarrollo del servicio de teletexto Ceefax por BBC. La mayora de los controles que existan por entonces tenan un

nmero limitado de funciones, a veces slo cuatro: canal siguiente, canal anterior, subir o bajar el volumen.

Control remoto de un televisor Philips de 1978.

Este tipo de controles no satisfaca las necesidades de televisores con teletexto donde las pginas se identificaban con un nmero de tres dgitos. Un control remoto para seleccionar pginas de teletexto necesitara botones para cada nmero del cero al nueve, as como otras funciones, como por ejemplo, cambiar del texto a la imagen (y viceversa) y los controles normales de un televisor: volumen, canal, brillo, intensidad del color, etc. Los primeros televisores con teletexto usaban mandos con cable para elegir las pginas, pero su uso continuado, requerido para el teletexto, indic rpidamente la necesidad de un dispositivo sin cables. As que ingenieros de la BBC comenzaron conversaciones con uno o dos fabricantes de televisores, lo cual llev a los primeros prototipos sobre 1977-78, ya pudiendo controlar un mayor nmero de funciones. ITT fue una de las compaas, la cual ms tarde dara su nombre al Protocolo ITT de comunicaciones infrarrojas. [1] A principios de los aos 80, cuando se desarrollaron los semiconductores para emitir y recibir radiacin infrarroja, los mandos a distancia fueron gradualmente cambiando a esta tecnologa que, en 2006, todava es ampliamente usada. Tambin existen tecnologas de radio, como los Sistemas de audio Bose y aquellas basadas en Bluetooth. A principios de los aos 2000, la cantidad de electrodomsticos que hay en la mayora de los hogares haba aumentado notablemente. De acuerdo con la Asociacin de electrnica de consumo, el americano medio dispone de cuatro mandos a distancia. Para manejar un "home theater" se pueden llegar a necesitar seis mandos, incluidos uno para el receptor del cable o satlite, el video, el reproductor de DVD, el televisor y el amplificador de audio. Se necesita usar varios de estos mandos de manera secuencial, pero, como no existe un diseo comn aceptado, el proceso se hace ms intrincado. Muchos especialistas, comoJakob Nielsen [2], renombrado especialista en usabilidad, y Robert Adler [3], el inventor del mando actual, sealan lo confuso, difcil de manejar y frustrante que se ha convertido lidiar con mltiples mandos a distancia. En ese sentido, los diseadores de mando a distancia

de TiVo han reemplazado las clsicas columnas de botones en un rectngulo negro por un diseo en forma de man que ha sido bien recibida por sus usuarios. El diseo, que ha provocado varias imitaciones, probablemente signifique un cambio en la forma en la que los diseadores de aparatos electrnicos ven un control.

[editar]Tipos
Existen mandos o radiocontroles para muchos otros dispositivos: modelos a escala de aviones, helicpteros, y otros modelos por radiocontrol son juguetes bastante populares. Muchos robots se controlan remotamente, especialmente aquellos que han sido diseados para llevar a cabo tareas peligrosas; as como algunos de los ms nuevos cazas de combate se maniobran por control remoto.

Mando a distancia para un temporizador fotogrfico.

Adems, un mando universal combina diversos controles en uno, normalmente con alguna clase de interruptor o botn para seleccionar el aparato controlado. Los mandos universales varan desde modelos bsicos baratos a un mando como el modelo de 700$ con Linux de Sony [4]. El primer modelo de control remoto universal fue desarrollado por William Russell McIntyre a mediados de los 60, mientras trabajaba en Philips. Al diseo del software de McIntyre se le fueron otorgadas patentes, ya que fue el primer control remoto que poda apuntarse a un aparato electrnico y aprender sus controles operativos. El siguiente paso en los mandos a distancia son los paneles de control domstico. Estos controles remotos no slo funcionan en televisores o sistemas de entretenimiento, sino que permiten controlar otros aparatos elctricos tales como cortinas electrnicas, interruptores de la luz y cmaras de seguridad. Algunos de los ltimos paneles de control domsticos permiten la transmisin de audio as como tomar fotografas. A veces se usan armas de fuego por control remoto para cazar pjaros y otros animales. En 2005, el estado de Virginia, enEstados Unidos, prohibi esta prctica [5].

[editar]Tecnologa

El espectro de emisin de un tpico mando es cercano al infrarrojo.

La mayora de mandos a distancia para aparatos domsticos utilizan diodos de emisin cercana a infrarrojo para emitir un rayo de luz que alcance el dispositivo. Esta luz es invisible para el ojo humano, pero transporta seales que pueden ser detectadas por el aparato. Un mando a distancia de un slo canal permite enviar una seal portadora, usada para accionar una determinada funcin. Para controles remoto multicanales, se necesitan procedimientos ms sofisticados; uno de ellos consiste en modular la seal portadora con seales de diferente frecuencia. Despus de la demodulacin de la seal recibida, se aplican los filtrosde frecuencia apropiados para separar las seales respectivas. Hoy en da, se suelen usar mtodos digitales. Por lo general un mando a distancia esta compuesto por:

Una carcasa. Una plaqueta donde se encuentran las conexiones para diferentes funciones. Una fuente de alimentacin, generalmente dos bateras de 1,5 voltios. Botones, cada uno con una funcin distinta.

[editar]Funcionamiento
Los botones tienen en su parte posterior un material que conduce la electricidad. Cuando se presiona el botn, este material hace contacto con la plaqueta y cierra el circuito que corresponde al botn. Un pequeo circuito integrado reconoce la seal y determina qu botn fue presionado; con base a esa informacin enva una seal al resonador de cuarzo (cristal); ste la devuelve con una frecuencia determinada. Ese impulso es transmitido a un LED que lo enva convertido en radiacin infrarroja. El receptor (por ejemplo, un televisor) puede reconocer el boton pulsado midiendo la frecuencia de la radiacin.

[editar]Aplicaciones [editar]Industria

El control remoto es usado para operar subestaciones, centrales hidroelctricas reversibles y plantas HVDC. Para estos sistemas se suelen usar PLCs de baja frecuencia.

[editar]Aplicaciones

militares

El astronauta Leroy Chiao manipula elCanadarm2 o Sistema de manipulacin remota de la Estacin Espacial Internacional (SSRMS).

El uso control remoto de vehculos militares data de comienzos del siglo XX. El Ejrcito rojo usaba teletanques, controlados remotamente, durante los aos 1930 y los comienzos de la Segunda Guerra Mundial. Tambin experimentaron con aviones por control remoto.

[editar]Astronutica
La tecnologa por control remoto tambin es usada en los viajes al espacio. Por ejemplo, en el programa Ruso Lunokhod, los vehculos eran accionados por control remoto. El control remoto directo de naves, carros y aparatos espaciales a mayores distancias desde la tierra no era prctico ya que se generaba un gran retardo de seal.

[editar]Videojuegos
El Cable como tal se ha mostrado muy incmodo en cuestin de la franquicia de los videojuegos, casi todas las consolas han tenido un cierto problema con el molesto cable que conecta el control con la consola, eso era un problema muy molesto hasta que se inventaron los controles inalmbricos para una mejor experiencia en los videojuegos.

Вам также может понравиться