Interrupción de Hardware

Revisión del 14:03 4 ene 2022 de Arnold.santana (discusión | contribuciones) (Fuente)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Interruptores
Interruptores



Interruptores. Una interrupción se convierte en una interrupción de hardware cuando es solicitada por uno de los componentes de hardware del equipo. En efecto, existen varios periféricos en un equipo. Estos periféricos necesitan generalmente utilizar los recursos del sistema aunque sólo sea para comunicarse con el sistema mismo.

Concepto de interrupciones

Llamamos interrupciones de hardware a cambios de estado en determinadas señales de control provocadas por dispositivos internos o externos. Estos cambios provocarán interrupciones en la ejecución del programa corriente y obligarán al procesador a ejecutar las rutinas de programa asociadas.
(interrupciones de software)
Llamamos interrupciones de software a determinados programas o rutinas (BIOS, S.Op. etc.) que operan con el hardware del sistema. Decimos entonces que una interrupción es un cambio en el programa en ejecución debido a un cambio en el hardware,     ya que un procesador no puede procesar simultáneamente varios trozos de información (procesa un trozo de información por vez), un programa que está siendo ejecutado puede, gracias al pedido de interrupción, ser momentáneamente suspendido mientras se produce una interrupción. El programa interrumpido puede continuar ejecutándose luego. Existen 256 direcciones de interrupción diferentes.
Cuando un periférico desea acceder a un recurso, envía un pedido de interrupción al procesador para llamar su atención. Los periféricos cuentan con un número de interrupción que se denomina IRQ (Peticiones de Interrupción). Es como si cada periférico tirara de un "hilo" que está atado a una campana para señalarle al equipo que desea que le preste atención.
Este "hilo" es, de hecho, una línea física que conecta cada ranura de expansión así como cada interfaz E/S a la placa madre. Para una ranura ISA de 8 bits, por ejemplo, hay 8 líneas IRQ que unen ranuras ISA de 8 bits a la placa madre (IRQ0 a IRQ7). Estos IRQ están controlados por un "controlador de interrupción" que se encarga de “cederle la palabra” al IRQ que posee la mayor prioridad.
Al aparecer las ranuras de 16 bits, se agregaron IRQ 8 a 15. En consecuencia, fue necesario agregar un segundo controlador de interrupción. Los dos grupos de interrupciones están unidos por IRQ 2 el cual se conecta (o "produce una cascada") a IRQ9. En cierto modo, esta cascada "inserta" IRQ 8 a 15 entre IRQ1 y 3.
Dado que la prioridad va del IRQ inferior al superior y que se insertan IRQ 8 a 15 entre IRQ 1 y 3, el orden de prioridad es el siguiente:
0 > 1 > 8 > 9 > 10 > 11 > 12 > 13 > 14 > 15 > 3 > 4 > 5 > 6 > 7

DMA

Los periféricos regularmente necesitan "pedir prestada memoria" del sistema para utilizarla como zona búfer, es decir, un área de almacenamiento temporario que permita que los datos de E/S sean rápidamente guardados.
Por lo tanto, el canal de acceso directo a la memoria, llamado DMA (Acceso Directo a Memoria fue definido precisamente para esto.
El canal DMA designa un acceso a una de las ranuras (RAM) memoria de acceso aleatorio del equipo, ubicado por una "dirección de inicio RAM" y una "dirección de fin". Este método permite a un periférico pedir prestado canales especiales que le brindan un acceso directo a la memoria, sin necesidad de intervención, por parte del microprocesador, para descargar estas tareas.
Una PC tiene 8 canales DMA. Los primeros cuatro canales DMA poseen un ancho de banda de 8 bits mientras que los DMA 4 a 7 poseen a su vez un ancho de banda de 16 bits.

Los canales DMA por lo general suelen asignarse de la siguiente manera:

Direcciones base

Algunas veces los periféricos necesitan intercambiar información con el sistema, razón por la cual se les asignaron direcciones de memoria para enviar y recibir datos. Estas direcciones se denominan "direcciones base" (algunas veces se utilizan los siguientes términos: "puertos de entrada/salida", "puertos E/S", "direcciones E/S", "direcciones de puertos de E/S", o "puertos base").
El periférico puede comunicarse con el sistema operativo utilizando esta dirección de base. Por lo tanto, existe solamente una única dirección de base para cada periférico.

A continuación, presentamos una lista de algunas de las direcciones base comunes:

No obstante, todos estos elementos resultan transparentes para el usuario, es decir que no debe preocuparse por ellos.

Conflictos del hardware

Una interrupción es una línea que une el periférico al procesador. Una interrupción es una interrupción de hardware cuando es solicitada por uno de los componentes de hardware de la PC. Por ejemplo, este es el caso al tocar una tecla y que el teclado llama la atención del procesador sobre este hecho. No obstante, los 256 interruptores no pueden ser solicitados al mismo tiempo ya que se interrumpe el hardware y los diferentes periféricos siempre realizan interrupciones muy específicas.
Por lo tanto, al instalar las tarjetas de expansión, debe asegurarse que, durante la configuración, el mismo interruptor no se utilice para dos periféricos diferentes. Si esto sucediera, ocurriría un "conflicto del hardware" y ningún periférico funcionaria.
Verdaderamente, si dos periféricos utilizan el mismo interruptor, el sistema no sabrá cómo distinguirlos. Un conflicto del hardware no sucede únicamente cuando dos periféricos poseen el mismo hardware. También puede ocurrir un conflicto cuando dos periféricos poseen la misma dirección E/S o usan los mismos canales DMA.

Configuración IRQ

La IRQ de una tarjeta de expansión puede modificarse para asignarle un número IRQ que no está siendo utilizado por otro periférico.
En los periféricos más antiguos, este número IRQ se adjunta a los puentes que se encuentran en la placa.
En las placas recientes (que poseen un BIOS Plug & Play), el parámetro de recurso (direcciones IRQ, DMA E/S) es automático. También puede ser realizado por el SO con la ayuda de utilidades que brinda la tarjeta de expansión. Este modo plug & play debe ser desactivado en ocasiones para que puedan modificarse los parámetros manualmente.
Aún no resulta fácil hallar recursos disponibles para todos los periféricos.
Por lo tanto, he aquí una lista incompleta de recursos que se utilizan generalmente, los que por consiguiente no pueden asignarse en forma manual:

  • IRQ Periférico
  • 0 Reloj interno
  • 1 Teclado
  • 2 Controlador de interrupción programable Cascada de IRQ 8 a 15
  • 3 Puerto de comunicaciones COM2/COM4
  • 4 Puerto de comunicaciones COM1/COM3
  • 5 libre
  • 6 controlador de disquete
  • 7 Puerto de impresora LPT1
  • 8 CMOS (Reloj de tiempo real)
  • 9 libre
  • 10 libre
  • 11 libre
  • 12 Puerto del ratón PS2/libre
  • 13 Procesador de datos numéricos (coprocesador matemático)
  • 14 Controlador de disco duro primario (IDE)
  • 15 Controlador de disco duro secundario (IDE)

Los puertos COM1 y COM4 así como los puertos COM2 y COM3 usan los mismos interruptores. Puede parecer ilógico en cuanto la misma interrupción no puede ser utilizada por dos periféricos. En realidad, es posible utilizar el puerto COM1 tanto como el puerto COM4 (así como el puerto COM2 y el COM3) en tanto no se activen al mismo tiempo. De lo contrario, el equipo podría congelarse y funcionar defectuosamente.

Resolución de conflictos del hardware

Si tiene un problema de hardware, primero trate de identificar el problema afín de poder determinar cuál es el periférico que lo está causando. Esto significa que debe tratar de eliminar tantas variables como sea posible hasta descubrir cuál es el elemento responsable:

  • Abriendo la carcasa del equipo y retirando uno a uno los elementos que puedan estar causando el conflicto.
  • Desactivando el software en el SO para desactivar los periféricos.

IRQ, DMA e I/O ports. Uso de las interrupciones

Las interrupciones pueden ser enmascarables ó no enmascarables (NMI). Si se activa la interrupción no enmascarable NMI (asignada al refresco de memoria, errores de adaptadores y paridad) se ejecutarán obligatoriamente las rutinas asociadas. Esto se debe a la importancia de los recursos a los que está asociado.
Para el resto de las IRQ, (enmascarables de 0 a 15) se puede mediante programación adecuada, evitar la ejecución de las ruinas asociadas. (P. Ej., se puede evitar que el teclado detenga la ejecución de un programa).
Puesto que podrían llegar a activarse varias interrupciones al mismo tiempo, existe un orden de prioridad siendo IRQ 0 la de mayor prioridad. Puede haber varios dispositivos compartiendo una misma línea de interrupción pero podrá ser usada solo por un periférico a la vez. Cuando varios dispositivos comparten una sola línea de IRQ, decimos que estamos frente a un conflicto
de hardware. Por esta razón se aconseja un dispositivo para cada línea de IRQ. Las rutinas de interrupción se pueden encontrar por ejemplo en la BIOS, el sistema operativo o también hechas por el usuario. Es una facilidad que permite ahorrar tiempo de programación cuando el programa interacciona con los periféricos del sistema.

Tabla de aplicación

  • NMI Paridad, ref. de memoria, errores de adaptadores
  • IRQ0 Canal 0 de circuito Timer 8253
  • IRQ1 Teclado
  • IRQ2 Cascada
  • IRQ3 COM2, COM4
  • IRQ4 COM1, COM3
  • IRQ5 LPT2 (Segunda salida de impresora)
  • IRQ6 Controlador de disqueteras
  • IRQ7 LPT1 (Primera salida de impresora)
  • IRQ8 Reloj real /Calendario
  • IRQ9 Redireccion a IRQ2 Cascada
  • IRQ10 Libre
  • IRQ11 Libre
  • IRQ12 Dispositivo puntero tipo PS/2
  • IRQ13 Coprocesador matemático
  • IRQ14 Controlador de disco rígido IDE Primario
  • IRQ15 Controlador de disco rígido IDE Secundario

Controlador D.M.A. (Placas I.S.A / E.I.S.A / Mcanal)

El controlador de acceso directo a memoria me brinda la facilidad de acceder directamente a la memoria central desde un periférico. El acceso D.M.A. reduce el tiempo de uso del procesador, acelera las transferencias de datos en la memoria y aumenta el rendimiento general. En un principio las transferencias DMA eran de 8 bits pero luego con controladores más potentes se llegó a 32 bits. Hay 8 canales DMA disponibles en un PC compatible siendo el 0 el de mayor prioridad.
Al igual que las IRQ, decimos que hay un conflicto de hardware si hay dos o más adaptadores diferentes usando el mismo canal DMA.

Tabla de aplicación

  • Canal 0 (8 bits) Refresco de memoria
  • Canal 1 (8 bits) Libre o SDLC
  • Canal 2 (8 bits) Controlador de disquetera
  • Canal 3 (8 bits) PCXT CTRL. disco, AT libre
  • Canal 4 (16 bits) Cascada DMA1 a DMA2
  • Canal 5 (16 bits ) libre
  • Canal 6 (16 bits ) libre
  • Canal 7 (16 bits ) libre

Puertos internos, Puertos ES o Puertos IO

Estos puertos son accedidos directamente por el software ( instrucciones in - out) y permiten comunicar al procesador con los periféricos conectados al bus (ISA, PCI, EISA, MCanal). En una computadora personal hay 1024 puertos desde 0000H hasta 03FFH que sirven para controlar todos los dispositivos conectados. Cada adaptador conectado al canal usar un rango de entrada salida. Esto se debe a que en general un adaptador se compone de varios dispositivos internos que usan distintas direcciones de E/S y se pueden programar en distintas modalidades de trabajo. Como consecuencia no podemos tener dos adaptadores conectados al canal (ISA, EISA, PCI, MCANAL) que están usando el mismo rango de entrada/salida porque provocarán un conflicto de hardware.

Tabla de aplicación

  • 2E8 - 2EF Puerto serie COM4
  • 2F8 - 2FF Puerto serie COM2
  • 3E8 - 3EF Puerto serie COM3
  • 3F8 - 3FF Puerto serie COM1
  • 278 - 27F Puerto de impresora LPT2
  • 378 - 37F Puerto de impresora LPT1
  • 3F0 - 3F7 Controlador de disquetes
  • 1F0 - 1F7 Controlador de discos primario drive 0
  • 3F6 - 3F6 Controlador de discos primario drive 1
  • 170 - 177 Controlador de discos secundario drive 0
  • 376 - 377 Controlador de discos secundario drive 1

Revisión y configuración de IRQ, E/S, DMA y Memoria de intercambio en Win 9x

Para visualizar los dispositivos instalados en el equipo y los recursos que usan del sistema, se debe usar el administrador de dispositivos del panel de control. Para acceder al mismo debe entrar por INICIO -> CONFIGURACION -> PANEL DE CONTROL -> SISTEMA o Botón derecho del ratón sobre MI PC -> PROPIEDADES -> ADMINISTRADOR DE DISPOSITIVOS. Para ver la configuración de alguno de los dispositivos de la lista, selecciónelo con el ratón y luego seleccione propiedades. Podrá ver el estado general del dispositivo, deshabilitarlo parcial o completamente, así como los detalles del controlador asociado (podrá actualizarlo aquí) y revisar o configurar los recursos que utiliza. Además podrá imprimir toda la configuración del PC, sus drivers e información relativa al sistema operativo. Es recomendable por lo menos imprimir una vez esta información. Luego para ver todos los recursos que están ocupados en el PC debe dar doble - clic sobre el PC que es la raíz del sistema y podrá ver las propiedades del PC en donde se muestran ordenados los recursos por IRQ, DMA, Entrada / salida ( ES ) y Memoria. Podrá además reservar recursos para que el sistema operativo no permita que esos recursos queden disponibles para otros dispositivos. Recuerde que antes de instalar un adaptador en el PC, debe revisar en estos lugares la configuración existente. Es aconsejable imprimir la configuración por lo menos una vez. Si algo falla, sabrá como estaba antes de la instalación y entonces será más fácil recuperar el sistema. Para visualizar los recursos de entrada/salida (E/S) que usa el sistema, se debe hacer con doble clic sobre el ítem Entrada / Salida E/S.

Fuentes

Kioskea