Dos dispositivos en uno irq qué hacer. Ayuda informática. Cómo decidir y qué hacer

Mikhail Tychkov también conocido como Hard

Buen día.

Veamos esta situación: el procesador procesa algunos datos, pase lo que pase. En este momento, algún hilo del dispositivo también tenía datos para procesar. ¿Qué hacer? Es necesario pedirle al procesador que se dignaría prestar atención a la solicitud y decidir si procesar estos datos ahora o más tarde. Entonces esta solicitud es IRQ o interrupciones (de hecho, hay dos tipos de interrupciones: hardware (externo) y software (interno), pero como mi sección se llama "Hardware y redes", entonces solo hablaré de interrupciones de hardware). Estrictamente hablando, las IRQ son canales de solicitud de interrupciones que utilizan todo tipo de dispositivos para informar al procesador que es necesario procesar una determinada solicitud. Físicamente, las IRQ son líneas colocadas por separado (conductores) y pines correspondientes a estas líneas en las interfaces. Todo esto se encuentra en tarjeta madre... Las líneas IRQ son solo para enviar solicitudes de interrupción.

Averigüemos cómo sucede toda esta mierda de IRQ. Entonces, después de recibir una solicitud de interrupción, la gema guarda el contenido de los registros en la pila. Luego accede a la tabla de vectores de interrupción, donde hay una lista de direcciones de memoria de programa correspondientes a números de interrupción específicos. El número de interrupción determina qué programa se iniciará. Básicamente, estos programas son controladores relacionados con los dispositivos que enviaron la solicitud (y solo los controladores conocen bien su negocio y sabrán qué hacer a continuación). Después de todo esto, el proceso de procesamiento devuelve de la pila aquello con lo que trabajó la piedra o, en otras palabras, se le da el control del sistema al programa que estaba trabajando antes de la solicitud de interrupción. Y así es constantemente. La mesa en sí está en memoria de acceso aleatorio y consta de 256 elementos de 4 bytes y comienza en la dirección 0000: 0000. Ocupa 1024 KB. Espero que haya aprendido una simple verdad: si necesita procesar al menos un nuevo byte de cualquier dispositivo, primero debe procesar la IRQ de este dispositivo.

Para evitar confusiones, la IRQ tiene una jerarquía o, en otro idioma, prioridades. Cuanto menor sea el número de interrupción, mayor será la prioridad, y viceversa, cuanto mayor sea el número de interrupción, menor será la prioridad. Solo hay 16 IRQ. La prioridad más alta es para IRQ 0 y la más baja para IRQ 15. Aquí hay una tabla de jerarquía:

Función estándar

Temporizador del sistema

Controlador de teclado

Controlador de interrupciones programable

Puerto serie COM 2

Puerto serie COM 1

Controlador de disquete estándar

Puerto LPT paralelo

CMOS y reloj

Sonido o tarjeta de red o gratis

Gratis

USB o SCSI o gratis

Puerto de mouse compatible con PS / 2

Coprocesador

Controlador IDE principal

Controlador IDE adicional

¿Quieres ver tus interrupciones? Seleccione "Inicio - Ejecutar", escriba "msinfo32". En la ventana Información del sistema que aparece, a la izquierda, seleccione la pestaña Recursos de hardware - Interrupciones de IRQ.

Las hemorroides también ocurren con interrupciones. Si se genera una gran cantidad de IRQ, la pila puede desbordarse y luego ... luego alcanzas el botón. Si este tipo de mierda ocurre con frecuencia, entonces necesita aumentar el parámetro Stacks en el archivo Config.sys. Además, se puede asignar la misma interrupción a dos dispositivos PCI diferentes. En teoría, esto no debería suceder, pero en la práctica sucede. En este caso, usted mismo deberá asignar una interrupción a uno de los dispositivos que se han apagado. ¿Cómo hacerlo? Pulsamos. Aparece la ventana "Propiedades: Sistema". Seleccione la pestaña "Dispositivos", busque el dispositivo en la lista, cuyo IRQ se corregirá y haga clic en él un par de veces con el mouse. Aparecerá una ventana de sus propiedades, donde seleccionaremos la pestaña "Recursos" y desmarcaremos la casilla de verificación "Configuración automática". Luego, justo debajo, seleccione "Solicitud de interrupción" y haga clic nuevamente dos veces con el mouse. Aparecerá una ventana donde puede cambiar el número de IRQ. No higos para sí mismo y difícil. Pero ... Las interrupciones deben asignarse sabiamente. Consulte la tabla para saber qué son las IRQ para qué. Mira cuáles son gratis. Puede suceder que no tenga interrupciones gratuitas. ¿Crees - todo, culo? ¡No! Por supuesto, no agregará nuevas IRQ, pero piense si necesita todos los dispositivos. Por ejemplo, ¿con qué frecuencia utiliza puertos COM? Durante los últimos tres años no los he usado en absoluto. Bueno, descúbrelos del sistema. Esto se puede hacer desde la BIOS. Y aquí hay una IRQ gratuita. En resumen, para resolver tal problema, debe poner la cabeza y todo saldrá bien para usted. Y quiero advertir a todo tipo de especialistas geniales de inmediato: no me escriban cartas como: "¡Después de su artículo, los clientes en lotes comenzaron a traer computadoras a nuestra tienda con configuraciones arruinadas!" No soy responsable de las acciones de las personas cuya cabeza y brazos crecen del mismo lugar que sus piernas. Una vez yo mismo no sabía nada al respecto, pero lo descubrí. Y nadie me explicó nada. ¡El camino será dominado por el caminar!

Hacia adelante. En general, cabe señalar que los canales de solicitud de interrupciones son recursos del sistema. Daré una definición breve pero muy adecuada: los recursos del sistema son canales de comunicación, direcciones y señales que utilizan los nodos de las computadoras para intercambiar datos mediante buses. Es tan simple y directo. Además de los recursos del sistema IRQ, se incluyen: direcciones de memoria, canales DMA y direcciones de puertos de E / S. Pero más sobre eso en otros artículos. Y eso es todo por hoy. Buena suerte en tus esfuerzos.

  • Alieva Elena Viktorovna, estudiante
  • Universidad Técnica Estatal de Aviación de Ufa
  • CONTROLADOR DE INTERRUPCIONES
  • CONTROLADOR
  • INTERRUPCIONES DE HARDWARE
  • INTERRUMPIR

Interrupción significa la interrupción temporal del proceso principal de computación para realizar algunas acciones planeadas o no planeadas causadas por la operación del hardware o programa. El mecanismo de interrupción se admite a nivel de hardware. Las interrupciones de hardware ocurren como la reacción de un microprocesador a una señal física de algún dispositivo (teclado, reloj del sistema, teclado, hDD etc.), estas interrupciones son asincrónicas en el momento en que ocurren, es decir ocurren en momentos aleatorios. El controlador de interrupciones está diseñado para procesar y arbitrar las solicitudes de servicio entrantes al procesador central desde dispositivos periféricos. Las interrupciones tienen cierta prioridad, lo que permite que el controlador de interrupciones dé preferencia a un dispositivo en un momento dado sobre otro. En una computadora moderna, existen hasta 16 dispositivos externos y periféricos que generan interrupciones.

  • Automatización del flujo de documentos en un almacén de una empresa de fabricación
  • Tecnologías de llamadas, funciones, aplicación y eficiencia
  • Desarrollo de un modelo del sistema de información del departamento legal para el soporte y celebración de contratos de la empresa.

Introducción

Interrupción significa la interrupción temporal del proceso principal de computación para realizar algunas acciones planeadas o no planeadas causadas por la operación del hardware o programa. Aquellos. es un proceso que cambia temporalmente el microprocesador para ejecutar otro programa y luego vuelve a un programa interrumpido. Al presionar una tecla en el teclado, iniciamos una llamada inmediata al programa que reconoce la tecla, escribe su código en el búfer del teclado, desde el cual es leído por otro programa. Aquellos. durante algún tiempo, el microprocesador interrumpe la ejecución del programa actual y cambia al manejador de interrupciones, el llamado manejador de interrupciones. Una vez que el manejador de interrupciones completa su trabajo, el programa interrumpido reanudará la ejecución desde el punto donde fue suspendido. La dirección del manejador de interrupciones se calcula a partir de la tabla de vectores de interrupciones.

El mecanismo de interrupción se admite a nivel de hardware. Según la fuente, las interrupciones se dividen en:

  • hardware - surgen como una reacción del microprocesador a una señal física de algún dispositivo (teclado, reloj del sistema, teclado, disco duro, etc.), estas interrupciones son asincrónicas en el tiempo de ocurrencia, es decir ocurren en momentos aleatorios;
  • programático - se llaman artificialmente usando el comando correspondiente del programa (int), están destinados a realizar algunas acciones del sistema operativo, son síncronos;
  • excepciones - son la reacción del microprocesador a una situación no estándar que ha surgido dentro del microprocesador durante la ejecución de un determinado comando de programa (división por cero, interrupción por la bandera TF (traza)).

Interrupción del hardware del sistema

Un sistema de interrupción es una colección de software y hardware que implementa el mecanismo de interrupción.

El hardware del sistema de interrupción incluye:

  • salidas del microprocesador: en ellas se generan señales que notifican al microprocesador que algún dispositivo externo "solicita atención" (INTR) o que se requiere el procesamiento urgente de algún evento o error catastrófico (NMI).
  • INTR - pin para la señal de entrada de solicitud de interrupción,
  • NMI - pin para señal de entrada de interrupción no enmascarable
  • INTA - salida para la señal de salida de confirmación de recepción de la señal de interrupción por parte del microprocesador (esta señal se alimenta a la entrada del mismo nombre del microcircuito controlador 8259A;
  • controlador de interrupción programable 8259A (diseñado para capturar señales de interrupción de ocho dispositivos externos diferentes; está hecho en forma de microcircuito; generalmente se utilizan dos microcircuitos conectados en serie, por lo tanto, el número de posibles fuentes de interrupciones externas es de hasta 15 más una interrupción no enmascarable; es él quien forma el vector de interrupción y emite su bus de datos);
  • dispositivos externos (temporizador, teclado, discos magnéticos, etc.)

Manejo de interrupciones

Una interrupción desencadena una serie de eventos que ocurren tanto en el hardware como en el software. En la Fig. 1 muestra una secuencia típica de estos eventos.

Cuando finaliza el dispositivo de E / S, ocurre lo siguiente:

  • El dispositivo envía una señal de interrupción al procesador.
  • Antes de responder a una interrupción, el procesador debe completar la ejecución del comando actual (ver Fig. 1).
  • El procesador verifica la presencia de una interrupción, la detecta y envía al dispositivo que envió esta interrupción, notificando una señal de recepción exitosa. Esta señal permite al dispositivo borrar su señal de interrupción.
Figura 1. Temporización del programa: E / S lenta

Ahora el procesador necesita prepararse para transferir el control al manejador de interrupciones. Primero debes guardar todo información importante, para que luego pueda volver al lugar del programa actual donde se detuvo. La información mínima requerida es la palabra de estado del programa y la dirección del siguiente comando ejecutado, que se encuentra en el contador del programa. Estos datos se insertan en la pila de control del sistema.

Figura 2. Manejo de una interrupción simple

Además, la dirección de la entrada de la rutina de interrupción se carga en el contador de programa del procesador, que es responsable de procesar esta interrupción. Dependiendo de la arquitectura de la computadora y el dispositivo del sistema operativo, puede haber un programa para procesar todas las interrupciones, o puede haber un programa de procesamiento separado para cada dispositivo y cada tipo de interrupción. Si hay varios programas disponibles para manejar las interrupciones, el procesador debe determinar cuál llamar. Esta información puede estar contenida en la señal de interrupción original; de lo contrario, para obtener la información necesaria, el procesador debe interrogar a todos los dispositivos para determinar cuál envió la interrupción.

Tan pronto como se carga un nuevo valor en el contador del programa, el procesador pasa al siguiente ciclo de instrucción, comenzando a recuperarlo de la memoria. Dado que el comando se recupera de la celda, cuyo número es establecido por el contenido del contador del programa, el control pasa a la rutina de interrupción. La ejecución de este programa conlleva las siguientes operaciones.

El contenido del contador de programa y la palabra de estado del programa interrumpido ya están almacenados en la pila del sistema. Sin embargo, esta no es toda la información relacionada con el estado del programa ejecutable. Por ejemplo, debe guardar el contenido de los registros del procesador, ya que el controlador de interrupciones puede necesitar estos registros. Por lo tanto, es necesario guardar toda la información sobre el estado del programa. Normalmente, un controlador de interrupciones comienza escribiendo el contenido de todos los registros en la pila. Otra información que debe conservarse se analiza en el Capítulo 3, "Descripción y control de procesos". En la Fig. se muestra un ejemplo sencillo en el que el programa de usuario se interrumpe después de ejecutar una instrucción desde la celda N. El contenido de todos los registros, así como la dirección de la siguiente instrucción (N + 1), en la suma de M palabras, se insertan en la pila. Luego, el puntero de la pila se actualiza para apuntar a la nueva parte superior de la pila. El contador del programa también se actualiza para indicar el inicio de la rutina de interrupción.

El manejador de interrupciones ahora puede comenzar su trabajo. El manejo de interrupciones incluye verificar la información de estado relacionada con las operaciones de E / S u otros eventos que desencadenaron la interrupción. Esto también puede incluir el envío de instrucciones adicionales o mensajes de notificación a dispositivos de E / S.

Una vez completado el procesamiento de la interrupción, los valores almacenados previamente se extraen de la pila, que se vuelven a colocar en los registros, reanudando así el estado en el que estaban antes de la interrupción.

El último paso es restaurar la palabra de estado del programa y el contenido del contador del programa de la pila. Como resultado, el comando del programa interrumpido se ejecutará a continuación.

Debido al hecho de que la interrupción no es una subrutina llamada desde el programa, es importante para una recuperación completa retener toda la información de estado del programa interrumpido. Sin embargo, puede producirse una interrupción en cualquier momento y en cualquier lugar del programa de usuario. Este evento es impredecible.

Controlador de interrupción

El controlador de interrupciones está diseñado para procesar y arbitrar las solicitudes de servicio entrantes al procesador central desde dispositivos periféricos. Por analogía, la función del controlador de interrupciones se puede comparar con la de secretaria de algún jefe. La secretaria debe decidir cuál de los visitantes admitir ante el jefe primero y quién más tarde, según las prioridades dadas por el jefe y el estado del visitante mismo. Asimismo, en un sistema informático, es posible que varios dispositivos periféricos envíen una señal de interrupción o una solicitud de interrupción. En la literatura informática, esta señal se conoce como IRQ (Solicitud de interrupción).

Como se mencionó anteriormente, las interrupciones tienen cierta prioridad, lo que permite que los controladores de interrupciones den preferencia en un momento dado a un dispositivo sobre otro. En una computadora moderna, hay hasta 16 externos y periféricosgenerando interrupciones. Estos dispositivos son:
–IRQ 0, temporizador del sistema; –IRQ 1, teclado; –IRQ 2, utilizado para consultar dispositivos conectados en cascada; –IRQ 8, reloj en tiempo real; –IRQ 9, reservado; –IRQ 10, reservado; –IRQ 11, reservado; –IRQ 12, ps / 2 - ratón; –IRQ 13, coprocesador; –IRQ 14, controlador de disco duro; –IRQ 15, reservado; –IRQ 3, puertos COM2, COM4; –IRQ 4, puertos COM1, COM3; –IRQ 5, puerto LPT2; –IRQ 6, controlador de unidad de disquete; –IRQ 7, puerto LPT1, impresora.

Las señales se enumeran aquí en orden descendente de prioridad. Puede ver que después de IRQ 2, seguido de IRQ 8. El hecho es que en un momento el controlador de interrupción constaba de dos microcircuitos, uno estaba conectado al otro. Este segundo microcircuito está conectado a la línea IRQ 2, formando una cascada. Sirve las líneas IRQ8 - IRQ 15. Y luego siguen las líneas del primer microcircuito.

Interrumpir el funcionamiento del controlador

Controladores de interrupciónse considera sobre la base de chips Intel 8259A, que se usaban en computadoras ahora muy antiguas con procesadores hasta la serie 386. Estas computadoras generalmente tenían 2 chips 8259A conectados en cascada, es decir, uno al otro. Uno de los microcircuitos conectados a través de la línea de solicitud de interrupción directamente al procesador es el maestro o el maestro. El resto, conectados al maestro mediante pines similares, se denominan esclavos.


Figura 3. Diagrama de cableado de los controladores de interrupción y su interacción con el procesador central

La Figura 3 muestra el diagrama de conexión de los controladores de interrupción y su interacción con el procesador central. Las señales de interrupción de los dispositivos periféricos o controladores esclavos van a las entradas IR0 - IR7 del controlador maestro. La lógica interna del controlador maestro procesa las solicitudes entrantes en términos de prioridad. Si la prioridad de la solicitud del dispositivo es suficiente, entonces la salida INT del controlador genera una señal a la entrada INTR del procesador. De lo contrario, la solicitud se bloquea.

Si el procesador permite interrupciones, luego de completar la ejecución del comando actual, genera una secuencia de señales en la línea INTA que pone al controlador esclavo en un estado de inmunidad a las nuevas solicitudes de interrupción entrantes, y además, la información de los registros internos del controlador se envía a la línea de datos desde los registros internos del controlador. reconoce el tipo de interrupción.

El procesador otorga el permiso de interrupción al controlador de interrupciones a través del controlador de bus. La señal RD está destinada a que el controlador de interrupciones coloque el contenido de los registros internos en el bus de datos. En la señal WR, el controlador de interrupciones, por el contrario, recibe datos del bus del mismo nombre y los escribe en los registros internos. En consecuencia, esto afecta el modo de funcionamiento del controlador de interrupciones.

La entrada CS está conectada al bus de direcciones y esta señal se usa para identificar un controlador de interrupción específico. La entrada A0 apunta al puerto del controlador de interrupciones en el espacio de E / S.

Las entradas IR0 - IR7 están diseñadas para recibir solicitudes de interrupción de dispositivos periféricos y controladores esclavos.

Las salidas CAS0 - CAS2 están diseñadas para identificar un controlador esclavo específico.

El artículo analiza las interrupciones de hardware y dispositivo, funciones, operación del controlador de interrupción. Este controlador de interrupciones apareció en las primeras computadoras compatibles con PC. Desde entonces, tanto los procesadores como el propio ordenador han cambiado mucho, aunque se han mantenido algunos puntos. Por lo tanto, para aclararlo y la organización del controlador de interrupciones 8295A se consideró.

El diagrama anterior muestra las señales que llegan no solo a los controladores de interrupción maestro y esclavo, sino también a los otros esclavos. Sin embargo, en realidad hay 2 controladores de interrupción en su computadora o computadora portátil como se indicó anteriormente: maestro y esclavo. Pero puede crear sus propios sistemas informáticos utilizando hasta 64 controladores de interrupción esclavos de esta manera.

En las computadoras modernas durante mucho tiempo. interrumpir las funciones del controlador no son realizados por los microcircuitos 8259A, pero puente sur... Sin embargo, para todos los programas y dispositivos, todo sigue igual. Además, el controlador de interrupciones es programable y se debe acceder a los registros y puertos internos de la misma manera que al controlador 8259A.

Conclusión

En este artículo, se consideraron las interrupciones, a saber, el manejo de interrupciones de hardware y el principio de manejo de interrupciones. También se consideran los controladores de interrupciones y su principio de funcionamiento.

Interrupción significa la interrupción temporal del proceso principal de computación para realizar algunas acciones planeadas o no planeadas causadas por la operación del hardware o programa. El mecanismo de interrupción se admite a nivel de hardware. Las interrupciones de hardware surgen como la reacción de un microprocesador a una señal física de un dispositivo (teclado, reloj del sistema, teclado, disco duro, etc.); estas interrupciones son asincrónicas en el tiempo de ocurrencia, es decir, ocurren en momentos aleatorios.

Controlador de interrupción diseñado para procesar y arbitrar solicitudes de servicio entrantes al procesador central desde dispositivos periféricos. Las interrupciones tienen cierta prioridad, lo que permite controlador de interrupción dar preferencia a un dispositivo en un momento dado sobre otro. En una computadora moderna, existen hasta 16 dispositivos externos y periféricos que generan interrupciones.

Lista de referencias

  1. Conferencia. Interrumpe. Email Recurso. http://hromatron.narod.ru/_lekcii/prerivania_lekcia_g2013.htm
  2. Interrupciones del sistema | Interrupción de hardware | Manejo de interrupciones http://life-prog.ru/view_os.php?id\u003d16
  3. Interrumpir controlador. Email Recurso http://sdelaycomputersam.ru/Controller_irq.php,
  4. Interrumpe. Interrumpir controlador. Dispositivo, funciones, trabajo. Email Recurso http://sdelaycomputersam.ru/Controller_irq.php
  5. Recurso electrónico de inicialización y estructura del controlador de interrupción Intel 8259A https://dev64.wordpress.com/2012/05/30/8259-programming/

Aquí cubriremos temas tan importantes como: manejo de interrupciones, vectores de interrupción, interrupciones de software, IRQ, en general, hablemos de interrupción.

Idea interrupciones se propuso a mediados de los años 50 y el objetivo principal de introducir interrupciones es la implementación de un modo de operación síncrona y la implementación de operación en paralelo de dispositivos informáticos individuales.

Interrupciones y interrumpir el manejo dependen del tipo de computadora, por lo que su implementación se conoce como propiedades dependientes de la máquina de los sistemas operativos.

Interrumpir (interrupción) es una señal que hace que la computadora cambie el orden habitual de ejecución de las instrucciones por parte del procesador.

La aparición de tales señales se debe a tales eventos, como:

  • finalización de las operaciones de E / S.
  • expiración de un intervalo de tiempo predeterminado.
  • tratando de dividir por cero.
  • falla de un dispositivo de hardware, etc.

Manejo de interrupciones

Cada interrupción está asociada con un número llamado número de tipo de interrupción o simplemente número de interrupción... El sistema es capaz de reconocer qué interrupción, con qué número ocurrió, e inicia el manejador de interrupciones correspondiente a este número. Por lo tanto, cuando llega una señal de interrupción, el control se transfiere a la fuerza desde el programa que se está ejecutando al sistema y, a través de él, al controlador de interrupciones.

por ejemplo interrumpir El número 9 es una interrupción del teclado que se genera cuando se presiona y se suelta una tecla. Se utiliza para leer datos del teclado. Indicado en el SO como IRQ1, donde IRQ Es la designación de interrupción y 1 es la prioridad de interrupción. Los datos de la solicitud de interrupción se pueden analizar en el Administrador de dispositivos:

Controlador de interrupciones - un controlador de interrupciones, que forma parte del sistema operativo, diseñado para responder a la condición que provocó la interrupción.

Suponga que en el momento en que llega la señal de interrupción de alguna fuente, el programa A está en solución. Como resultado, el control se transfiere automáticamente al manejador de interrupciones. Una vez finalizado el procesamiento, el control se puede transferir nuevamente al punto del programa A, donde se interrumpió su ejecución:

Vectores de interrumpir

Las direcciones de los programas correspondientes a varias interrupciones se recopilan en una tabla denominada interrumpir tabla de vectores.

El microprocesador requiere una forma fácil de localizar la rutina de interrupción, y esto se hace usando interrumpir tablas de vectores.

Interrumpir tabla de vectores ocupa el primer kilobyte de RAM - direcciones de 0000: 0000 a 0000: 03FF. La tabla consta de 256 elementos: direcciones FAR de controladores de interrupciones. Estos elementos se llaman vectores de interrupción... La primera palabra de la entrada de la tabla contiene el desplazamiento y la segunda contiene la dirección del segmento del controlador de interrupciones. Los vectores son simplemente direcciones completas de la memoria del programa (en forma segmentada) que deben activarse en caso de una interrupción.

La interrupción 0 corresponde a la dirección 0000: 0000, la interrupción 1 - 0000: 0004, etc. Esta dirección consta de un par de palabras de 2 bytes, por lo que cada uno de los vectores ocupa cuatro bytes.

Puede ver una tabla de vectores de interrupción en su computadora usando el programa DEBUG. Utilice el comando D para mostrar el contenido del comienzo de la memoria: D 0: 0. DEBUG le mostrará los primeros 128 bytes o 32 vectores, que pueden tener un aspecto similar al siguiente:

0000: 0000 E8 4E 9A 01 00 00 00 00-C3 E2 00 F0 00 00 00 00
0000: 0010 F0 01 70 00 54 FF 00 F0-05 18 00 F0 05 18 00 F0
0000: 0020 2C 08 51 17 D0 0A 51 17-AD 08 54 08 E8 05 01 2F
0000: 0030 FA 05 01 2F 05 18 00 F0-57 EF 00 F0 F0 01 70 00
0000: 0040 90 13 C7 13 4D F8 00 F0-41 F8 00 F0 3E 0A 51 17
0000: 0050 5C 00 B7 25 59 F8 00 F0-E2 0A 51 17 9C 00 B7 25
0000: 0060 00 00 00 F6 8E 00 DE 09-6E FE 00 F0 F2 00 7B 09
0000: 0070 27 08 51 17 A4 F0 00 F0-22 05 00 00 00 00 00 F0

Los vectores se almacenan como "palabras inversas": primero el desplazamiento y luego el segmento. Por ejemplo, los primeros cuatro bytes mostrados por el programa DEBUG anterior (E8 4E 9A 01) se pueden convertir a la dirección segmentada 019A: 4EE8.

Puede encontrar tres tipos de direcciones en tabla de vectores... Estas pueden ser direcciones que apuntan a la ROM-BIOS, que pueden identificarse por el número hexadecimal F que precede al número de segmento. Estas pueden ser direcciones que apuntan a la memoria principal (como en el ejemplo: 019A: 4EE8). Estas direcciones pueden apuntar a rutinas DOS o un programa residente (como SideKick o Prokey), o pueden apuntar al programa DEBUG en sí mismo (ya que DEBUG debe administrar temporalmente la interrupción). Además, los vectores pueden constar de todos ceros cuando una interrupción con este número no se está procesando actualmente.

La tabla es inicializada parcialmente por el BIOS después de probar el hardware y antes de iniciar el arranque. sistema operativo, en parte cuando se inicia el sistema operativo.

A continuación se muestra el propósito de algunos vectores:

Descripción
0 Error de división. Se llama automáticamente después de que se ejecuta un comando DIV o IDIV, si se produce un desbordamiento como resultado de la división (por ejemplo, cuando se divide por 0).
2 Interrupción de hardware no enmascarable. Esta interrupción se puede utilizar de diferentes formas en diferentes máquinas. Por lo general, se lanza cuando hay un error de paridad en la RAM y cuando se solicita una interrupción del coprocesador.
5 Imprime una copia de la pantalla. Se genera cuando se presiona la tecla PrtScr en el teclado. Normalmente se utiliza para imprimir una imagen de pantalla.
8 IRQ0: interrupción del temporizador de intervalo, se produce 18,2 veces por segundo.
9 IRQ1: interrupción del teclado. Se genera cuando se presiona y se suelta una tecla. Se utiliza para leer datos del teclado.
UNA IRQ2: utilizado para interrupciones de hardware en cascada en máquinas AT
si IRQ3: interrumpe el puerto asíncrono COM2.
C IRQ4: interrumpe el puerto asíncrono COM1.
re IRQ5 - interrupción del controlador disco duro para XT.
mi IRQ6: el controlador de disquete genera una interrupción después de que se completa la operación.
F IRQ7: interrupción de la impresora. Generado por la impresora cuando está lista para realizar la siguiente operación. Muchos adaptadores de impresora no utilizan esta interrupción.
10 Mantenimiento del adaptador de video.
11 Determinación de la configuración de dispositivos en el sistema.
12 Determinación del tamaño de RAM en el sistema.
13 Mantenimiento del sistema de disco.
14 E / S serie
1A Horas de servicio.
1B Controlador de interrupciones Ctrl-Break.
70 IRQ8: interrupción del reloj en tiempo real.
71 IRQ9: interrupción del controlador EGA.
75 IRQ13: interrupción del coprocesador matemático.
76 IRQ14: interrupción del controlador del disco duro.
77 IRQ15 - Reservado.

IRQ0 - IRQ15 son interrupciones de hardware.

Mecanismo de manejo de interrupciones

Al procesar cada interrupción, se debe realizar la siguiente secuencia de acciones:

  • Percepción de una solicitud de interrupción: recepción de señal e identificación de interrupción.
  • Almacenamiento del estado del proceso interrumpido: determinado por el valor del contador de comandos (la dirección del siguiente comando) y el contenido de los registros del procesador.
  • Transferencia de control al programa de interrupción (la dirección inicial de la subrutina de procesamiento de interrupciones se ingresa en el contador de comandos, y la información de la palabra de estado del procesador se ingresa en los registros correspondientes).
  • Interrumpir el manejo.
  • Restaurar el proceso interrumpido y volver al programa interrumpido.

Las principales funciones del mecanismo de interrupción son:

  1. reconocimiento o clasificación de interrupciones.
  2. transferencia de control al gestor de interrupciones.
  3. retorno correcto al programa interrumpido (antes de transferir el control al manejador de interrupciones, el contenido de los registros del procesador se almacena en la memoria directa o en la pila del sistema).

Tipos de interrupción

Las interrupciones que surgen durante el funcionamiento de un sistema informático se pueden dividir en 4 grupos:

Interrupciones de hardware son llamados por dispositivos físicos y surgen en relación con el programa de forma asincrónica, es decir Por lo general, es imposible predecir cuándo y por qué razón se interrumpirá el programa.

Las interrupciones de hardware no se coordinan con el software. Cuando se llama a una interrupción, el procesador deja su trabajo, ejecuta la interrupción y luego regresa a su ubicación original.

Interrupciones externas ocurrir en una señal de algún dispositivo externo, por ejemplo:

  • Una interrupción que informa al sistema que el sector de disco requerido ya ha sido leído, su contenido está disponible para el programa.
  • Una interrupción que informa al sistema que la impresión de un carácter en la impresora ha finalizado y es necesario emitir el siguiente carácter.
  • Interrupciones de energía.
  • Completando algunas operaciones de E / S normalmente (presionando una tecla en el teclado).
  • Interrupción del temporizador.

Interrupción del temporizador llamado por el temporizador de intervalos. Este temporizador contiene un registro al que se le puede asignar un valor inicial específico mediante una instrucción privilegiada especial. El valor de este registro se reduce automáticamente en 1 después de cada milisegundo de tiempo. Cuando este valor se vuelve cero, se produce una interrupción del temporizador. El sistema operativo utiliza un temporizador de intervalos similar para determinar cuánto tiempo un programa de usuario puede permanecer bajo el control de la máquina.

Interrupciones externas enmascarables y no enmascarables

Hay dos señales externas especiales entre las señales de entrada del procesador, con la ayuda de las cuales puede interrumpir la ejecución del programa actual y, por lo tanto, cambiar el trabajo del procesador central. Estas son las señales NMI (Interrupción no mascable, interrupción no enmascarable) INTR (solicitud de interrupción, solicitud de interrupción).

En consecuencia, las interrupciones externas se dividen en dos tipos: no enmascarables y enmascarables.

A menudo, al ejecutar secciones críticas de programas, para garantizar la ejecución de una determinada secuencia de instrucciones en su conjunto, es necesario deshabilitar las interrupciones (es decir, hacer que el sistema sea insensible a todas o a las interrupciones individuales). Esto se puede hacer con el comando CLI. Debe colocarse al principio de la secuencia crítica de instrucciones, y al final debe haber una instrucción STI que permita al procesador percibir interrupciones. El comando CLI deshabilita solo las interrupciones enmascarables, las que no se pueden enmascarar siempre son procesadas por el procesador.

Por tanto, la presencia de una señal de interrupción no tiene por qué provocar una interrupción de un programa en ejecución. El procesador puede tener medios de protección contra interrupciones: deshabilitar el sistema de interrupciones, enmascarar (prohibir) señales de interrupción individuales. Las interrupciones que no se pueden enmascarar son interrupciones que no se pueden enmascarar.

Interrupciones internas son desencadenados por eventos que están relacionados con el funcionamiento del procesador y son síncronos con sus operaciones, es decir, se produce una interrupción cuando:

  • en caso de violación de direccionamiento (en la parte de dirección del comando que se está ejecutando, se indica una dirección prohibida o inexistente, acceso a un segmento o página faltante al organizar mecanismos de memoria virtual);
  • si hay una combinación binaria no utilizada en el campo de código.
  • cuando se divide por cero.
  • desbordamiento o desaparición del orden.
  • al detectar errores de paridad, errores en el funcionamiento de varios dispositivos del equipo mediante control.

Interrupciones de software

Los programas pueden llamar por sí mismos interrupciones con un número determinado. Para hacer esto, usan el comando INT. Con este comando, el procesador realiza casi las mismas acciones que durante las interrupciones normales, pero esto solo ocurre en un punto predecible del programa, donde el programador colocó este comando. por lo tanto interrupciones de software no son asincrónicos (el programa "sabe" cuando genera una interrupción).

Interrupciones de software En el sentido literal, las interrupciones no lo son, ya que son solo una forma específica de llamar a procedimientos, no por dirección, sino por número en la tabla.

Mecanismo interrupciones de software se introdujo especialmente para:

  1. el cambio a los módulos del programa del sistema no solo sucedió como un salto a una subrutina, sino exactamente de la misma manera que las interrupciones regulares. Esto asegura el cambio automático del procesador al modo privilegiado con la capacidad de ejecutar cualquier comando.
  2. el uso de interrupciones de software da como resultado un código de programa más compacto en comparación con el uso de instrucciones estándar para ejecutar procedimientos.

Ejemplo (interrupciones de software):

  • comando privilegiado en modo usuario.
  • dirección fuera de rango.
  • violación de la protección de la memoria.
  • desbordamiento aritmético, falta la página.
  • violación de la protección del segmento.
  • yendo más allá del límite del segmento.

Un diagrama simplificado manejo de varios tipos de interrupciones se puede representar de la siguiente manera:

KP es un controlador de interrupciones, tiene varios niveles (líneas) para conectar controladores de dispositivos (KU se indican en el diagrama). Es posible conectar controladores en cascada cuando otro controlador de interrupción está conectado a una de sus entradas. CPU - Unidad central de procesamiento.

Las interrupciones de hardware son generadas por dispositivos informáticos cuando es necesario repararlos. A diferencia de las interrupciones de software, llamadas programadas por la propia aplicación, las interrupciones de hardware siempre ocurren de forma asincrónica a los programas en ejecución. Además, pueden ocurrir múltiples interrupciones simultáneamente. La elección de uno de ellos para su procesamiento se basa en las prioridades asignadas a cada tipo de interrupción.

A cada interrupción se le asigna una prioridad única. Si ocurren varias interrupciones simultáneamente, el sistema da preferencia a la prioridad más alta, posponiendo el procesamiento de las interrupciones restantes por un tiempo.

En el caso de interrupción del propio manejador de interrupciones, se habla de interrupción anidada... Los niveles de prioridad se abrevian como IRQ0 - IRQ15 o IRQ0 - IRQ23 (dependiendo de la implementación del microcircuito).

La interrupción de la hora del día tiene la máxima prioridad, ya que si se pierde constantemente, las lecturas del reloj del sistema serán incorrectas. La interrupción del teclado se activa presionando o soltando una tecla; desencadena una cadena de eventos, que generalmente termina con el código de la tecla que se coloca en el búfer del teclado (desde donde luego puede ser generado por interrupciones del programa).

Y finalmente, la implementación del mecanismo de manejo de interrupciones

En la máquina para cada clase de interrupciones hay un correspondiente interrumpir el área de trabajo... Por ejemplo, hay un área correspondiente a una interrupción del temporizador. Cuando ocurre una interrupción del temporizador, el contenido de todos los registros se almacena en esta área (por ejemplo, omitiendo las primeras palabras). Luego, de estas palabras faltantes, se extraen los valores almacenados previamente, que se sobrescriben en el contador (puntero) de los comandos de la máquina y en la palabra de estado (o en el registro de banderas). La carga y el almacenamiento de registros se realiza automáticamente mediante el hardware de la máquina.

La carga del contador de comandos con un nuevo valor de dirección provoca automáticamente la transferencia del control al comando correspondiente. Esta dirección, previamente almacenada en el área de trabajo de interrupción, es la dirección de inicio de la rutina de interrupción del temporizador estándar. La carga de la palabra de estado también provoca ciertos cambios en el estado del procesador.

Después de ejecutar cualquier acción solicitada en respuesta a una solicitud de interrupción, la rutina de interrupción estándar ejecuta el comando para cargar el estado del procesador, que transfiere el control al programa interrumpido. Ocurre de la siguiente manera: el comando para cargar el estado del procesador hace que se carguen los contenidos guardados de la palabra de estado, el contador de comandos y otros registros desde las palabras correspondientes del área de guardado, a partir de la dirección especificada en el comando. Esto conduce a la restauración del contenido de los registros y el estado del procesador, que estaban en el momento de la interrupción. Luego, el control se transfiere al comando antes del cual ocurrió la interrupción.

Guardar y restaurar el estado del procesador y el contenido de los registros se llama operación de cambio de contexto.

La mayoría de las máquinas tienen una denominada palabra de estado que contiene parte de la información utilizada en el manejo de interrupciones. Uno de los elementos de esta palabra (por ejemplo, el primero) es un signo, definir si el procesador está en modo usuario o en modo supervisor.

Los programas ordinarios están en modo de usuario (el signo es cero). Cuando ocurre una interrupción, el contenido de la palabra de estado recién cargada tiene un indicador de 1, que pone automáticamente al procesador en modo supervisor. En este modo, es posible utilizar comandos privilegiados. Antes de que se guarde el valor de la palabra de estado, otro elemento (por ejemplo, el segundo) se establecerá en un valor que indique el motivo de la interrupción:

  • una interrupción de software refleja el tipo de condición que la causó, como la división por cero.
  • con una interrupción de E / S, se ingresa el número de canal que causó la interrupción.

El tercer elemento indica si el procesador está ejecutando instrucciones o inactivo. El cuarto elemento contiene un puntero que identifica el programa en ejecución. El quinto elemento contiene la máscara de interrupción, que se utiliza para controlar la habilitación de interrupciones (campo MASK).

Este campo se utiliza para evitar que se produzca un determinado tipo de interrupción hasta que se haya procesado la primera. En MASK, cada bit corresponde a una clase de interrupciones. Si cualquier bit se establece en 1, entonces se permiten las interrupciones de la clase correspondiente, si se establece en 0, entonces están prohibidas. En este último caso, dicen que disfrazado (también llamado prohibidoo cerrado). Sin embargo, las interrupciones enmascaradas no se pierden porque el hardware retiene la señal que causó la interrupción. Una interrupción demorada temporalmente de esta manera se llama diferido... Cuando (debido a que se borra el valor MASK) se vuelven a habilitar las interrupciones de la clase correspondiente, se reconoce la señal y se produce la interrupción.

El enmascaramiento de interrupciones está bajo el control del sistema operativo y depende del valor MASK en la palabra de estado, que se almacena de antemano en el área de trabajo de cada interrupción. Puede deshabilitar todas las interrupciones estableciendo todos los bits MASK en cero. En realidad, no es necesario hacer esto.

Un conflicto es una situación en la que varios objetos intentan acceder simultáneamente a un recurso que está destinado a solo uno de ellos. Un conflicto de interrupción ocurre cuando varios dispositivos utilizan la misma línea de interrupción para enviar una señal de solicitud y no hay ningún mecanismo para manejar las solicitudes simultáneas. Si el controlador que recibe el control no funciona con el dispositivo que envió la solicitud, entonces se produce una falla o uno de los dispositivos simplemente no funciona.

Surge la pregunta: ¿pueden varios dispositivos usar la misma línea de interrupción, o esto es básicamente imposible? Después de todo, si el conductor puede determinar de quién proviene exactamente la solicitud, entonces responderá a las señales de sólo "su" dispositivo, ignorando todos los demás. Pero esto debe acordarse de antemano de alguna manera, de lo contrario el conflicto es inevitable.

El bus PCI local se diseñó teniendo en cuenta el uso compartido de interrupciones. Cada dispositivo PCI debe funcionar correctamente en la misma línea de interrupción con otros dispositivos PCI. Esto se hace de la siguiente manera: la presencia de una señal en la línea de interrupción no está determinada por el borde, es decir un cambio en el nivel de voltaje, sino por el hecho mismo de la presencia de un cierto voltaje. Varios dispositivos pueden cambiar el voltaje de línea a la vez, convirtiéndose, por así decirlo, en una cola de servicio.

Por lo tanto, compartir una IRQ por varios dispositivos PCI no es un conflicto por definición (Fig.). Sin embargo, a veces surgen problemas. Primero, no todos los dispositivos PCI funcionan correctamente en la misma línea de interrupción que otros. En segundo lugar, a veces los controladores tienen errores debido a los cuales no pueden determinar correctamente la fuente de la señal, lo que interfiere con otros controladores. En tercer lugar, no todos los dispositivos funcionan en el bus PCI; por ejemplo, los dispositivos ISA, que incluyen, por ejemplo, controladores para puertos COM / LPT, no pueden compartir interrupciones con otros.

Figura: Mapa IRQ del Administrador de dispositivos Win2000 - Chipset IO PIC Intel 440BX

Figura: MAPA IRQ Win2000 - IO APIC - A través del chipset KT266a

Como resultado, son posibles situaciones en las que la computadora comienza a congelarse con frecuencia, se niega a realizar cualquier función o incluso simplemente cae en el llamado " pantalla azul de la muerte".

Apic (controlador de interrupción programable avanzado, controlador de interrupción programable avanzado)

Como se muestra arriba, la línea de interrupción es un recurso muy escaso para una computadora. Sin embargo, con el desarrollo de la industria informática, la cantidad de varios dispositivos externos en la computadora aumenta constantemente. Por ejemplo, una placa madre puede tener 5-6 ranuras PCI, ranura AGP, controlador IDE integrado, controlador SCSI integrado, adaptador de red de 1/2 puerto integrado, etc. Y todos estos dispositivos requieren interrupciones. 16 líneas IRQ gradualmente se volvieron insuficientes.

APICEs un controlador de interrupciones que le permite utilizar 24 interrupciones de hardware en lugar de 16. El límite de 16 interrupciones de hardware, que no ha cambiado desde 1982, impidió la instalación de dispositivos adicionales en una computadora personal. A finales de 2001 aparecieron las primeras placas base con APIC.

Figura: Interrumpa el sistema en un entorno multiprocesador.

La descripción anterior era para PIC diseñados para sistemas monoprocesador. Si el sistema incluye dos o más procesadores, este enfoque ya no está permitido y se requieren PIC más complejos.

Todos los procesadores x86 modernos incluyen APIC local (APIC local). Cada APIC local tiene registros de 32 bits, un reloj interno, un temporizador local y dos líneas IRQ adicionales, LINT0 y LINT1, reservadas para interrupciones APIC locales. Todas las APIC locales están conectadas a una APIC de E / S externa.

El APIC de E / S contiene un conjunto de 24 líneas IRQ, una tabla de enrutamiento de interrupciones de 24 entradas, registros programables y un bloque de mensajes para enviar y recibir mensajes a través del bus APIC. A diferencia de los pines IRQ del 8259A, la prioridad de interrupción no está ligada al número de pin.

Cada entrada en la tabla de enrutamiento de interrupciones se puede programar individualmente para mostrar el vector de interrupciones y su prioridad, el procesador que manejará la interrupción y cómo se seleccionará este procesador. La información de la tabla de enrutamiento de interrupciones se utiliza para traducir cada señal externa en un mensaje dirigido a uno o más APIC locales a través del bus APIC.

Distribución estática

La señal IRQ se envía a los APIC locales enumerados en la entrada de la tabla de redirección de interrupciones correspondiente. Una interrupción se envía a una CPU específica, varias CPU o todas las CPU.

Asignación dinámica

La señal IRQ se envía al APIC local del procesador, que ejecuta el proceso con la prioridad más baja.

Cada APIC local tiene un registro de prioridad de trabajo programable que se utiliza para calcular la prioridad del proceso actual. Intel espera que este registro sea modificado por el kernel del sistema operativo en cada conmutador de proceso.

Además de distribuir interrupciones entre procesadores, el sistema multi-APIC permite que la CPU genere interrupciones entre procesadores. Cuando una CPU desea enviar una interrupción a otra CPU, almacena el vector de interrupción y el identificador APIC local de destino en el Registro de comando de interrupción (ICR) de su APIC local. Luego, el mensaje se envía a través del bus APIC al APIC local de destino, que emite la interrupción adecuada a su CPU.

Actualmente, muchos sistemas monoprocesador incluyen un chip APIC de E / S, que se puede configurar de dos formas:

1. Como un PIC 8259A estándar vinculado a la CPU. APIC local está deshabilitado y las dos líneas LINT0 y LINT1 están configuradas como pines INTR y NMI.

2. Como APIC de E / S externo estándar. El APIC local está habilitado y todas las interrupciones externas se reciben a través del APIC de E / S.

Creo que muchos usuarios curiosos probablemente se hayan encontrado con una abreviatura como IRQ más de una vez. Puede verlo, por ejemplo, si desea ver el programa "Administrador de dispositivos" en Windows. Si selecciona cualquier dispositivo, por ejemplo, un teclado, use el botón derecho del mouse para seleccionar el elemento del menú Propiedades, y en la ventana que aparece, active la pestaña Recursos, entonces verá IRQ 01 en la lista de recursos.

¿Qué es IRQ y para qué sirve?

La abreviatura IRQ significa Interrupt ReQuest (solicitud de interrupción). Para comprender para qué sirve, se deben recordar los detalles de la organización del trabajo de una computadora personal.

El sistema circulatorio de la computadora, a través del cual el procesador y otros dispositivos intercambian información, es el bus del sistema. Pero, ¿cómo puede un procesador en general poder distinguir las solicitudes de procesamiento de información provenientes del bus desde varios dispositivos?

Para esto es el sistema de interrupción de hardware (IRQ). Cada interrupción tiene un número específico (la numeración comienza desde 0) y se asigna a un dispositivo específico. Entonces, la interrupción número 1 se asigna al teclado, de ahí la designación IRQ 01.

Cuando se recibe una solicitud desde el dispositivo, la computadora interrumpe (de ahí el término "interrupción" en sí) el procesamiento de la información actual y comienza a procesar la información recién recibida. Si hay varias interrupciones, se procesan en el orden de prioridad asignado a cada una de ellas. Como regla general, cuanto menor sea el número de interrupciones, mayor será la prioridad para el procesador que el dispositivo asignó a esta interrupción, pero esta regla no siempre se cumple.

El procesamiento de IRQ es manejado por un chip especial llamado controlador de interrupciones. Por lo general, este microcircuito es parte del procesador central y, a veces, se asigna como un chip separado en la placa base. Hay un firmware especial en el BIOS para manejar cada interrupción llamado manejador de interrupciones. Las direcciones de todos los controladores se almacenan en la denominada tabla de vectores de interrupción.

Anteriormente, en las primeras computadoras de la familia XT, el uso de 8 bits era común, por lo que había un total de 8 interrupciones disponibles para los dispositivos. Con la llegada del bus ISA de 16 bits, su número aumentó a 16.

Configuración de Interrupt ReQuest

Debo decir que las interrupciones asignadas a algunos dispositivos no son fijas y se pueden cambiar mediante programación. Por ejemplo, el estándar IRQ utilizado por el puerto serie Com 2 también puede ser utilizado por un módem instalado en la ranura de expansión. En computadoras y sistemas operativos modernos que admiten el estándar PnP y se ejecutan en el sistema operativo Windows, los valores de IRQ para los dispositivos conectados a las ranuras de bus se seleccionan automáticamente.

Pero no todo era tan simple en los viejos tiempos, cuando el usuario tenía que establecer manualmente el valor de IRQ en muchos programas que se ejecutaban bajo el sistema operativo DOS. Por ejemplo, al instalar una tarjeta de sonido en el sistema, el usuario tenía que seleccionar una interrupción libre de un número muy pequeño de las disponibles (como regla, era IRQ 5) y especificar este valor en el programa que se está lanzando, por ejemplo, en algún juego.

Muchos BIOS tienen la capacidad de cambiar los valores de IRQ predeterminados en el programa de instalación. Esta opción generalmente se encuentra en las secciones Recursos de IRQ o Configuración de PCI / PNP.

Establecer un valor de IRQ para un dispositivo igual al valor de IRQ que ya está ocupado por cualquier dispositivo en la mayoría de los casos conduce a la inoperancia de uno de estos dispositivos o de ambos a la vez, y a veces está plagado de congelación de la computadora.

En el bus PCI más moderno, el sistema de control de interrupciones se ha rediseñado radicalmente y se han ampliado las capacidades de control de interrupciones. Gracias a la tecnología IRQ Sharing, además de que fue posible colocar varios dispositivos en un canal de interrupción y dispositivos externos conectados a las ranuras PCI, fue posible asignar recursos automáticamente entre ellos.

Además, las computadoras modernas suelen utilizar un controlador de interrupción programable avanzado (APIC) que admite 24 canales de solicitud de interrupción. El controlador de interrupción extendido está hecho en forma de dos microcircuitos, uno de los cuales está ubicado en el propio procesador y el otro en la placa base. Este controlador de interrupciones apareció por primera vez en sistemas basados \u200b\u200ben procesadores Pentium. Sin embargo, se mantuvo el soporte para el antiguo sistema de interrupciones por razones de compatibilidad. El siguiente paso en el desarrollo de los principios del manejo de interrupciones es la tecnología Message Signaled Interrupts, cuyo soporte apareció en la línea de sistemas operativos Windows, comenzando con Windows Vista.

No confundir con hardware interrupciones de IRQ con interrupciones del software BIOS, que se discutirán en un artículo separado. Las interrupciones del software BIOS, por regla general, se utilizan para organizar el funcionamiento del software con dispositivos de entrada y salida y se indican con la abreviatura INT. Muchos de ellos son similares en función a las IRQ de hardware, pero con números diferentes.

Lista de números de solicitud de interrupción en el esquema estándar para el bus ISA de 16 bits:

  1. Temporizador del sistema
  2. Teclado
  3. Controlador de interrupciones opcional (para compatibilidad con bus de 8 bits)
  4. Puertos com 1 y 3
  5. Puertos com 2 y 4
  6. Gratis (en bus de 8 bits - controlador de disco duro)
  7. Controlador de disquete (FDD)
  8. Puerto LPT paralelo
  9. Reloj de tiempo real CMOS
  10. Compartido con IRQ 2
  11. Gratis
  12. Gratis
  13. Puerto de mouse PS / 2
  14. Coprocesador (actualmente apenas se usa)
  15. Primer controlador IDE
  16. Segundo controlador IDE

Una lista de números de IRQ adicionales que utiliza el controlador de interrupción extendido APIC:

  1. Controlador USB
  2. Subsistema de audio integrado (AC'97 o HDA)
  3. Controlador USB
  4. Controlador USB
  5. Tarjeta de red incorporada
  6. Gratis
  7. Gratis
  8. Controlador USB 2.0

Correspondencia entre los números de IRQ y las interrupciones del BIOS:

Tabla de la relación de IRQ de hardware y BIOS INT de software

Conclusión

Entonces, en este artículo, pudo averiguar qué significa la abreviatura de IRQ y qué son las interrupciones de hardware. Son un mecanismo integrado para asignar recursos informáticos y están diseñados para organizar el acceso de los dispositivos al procesador central. La asignación y configuración correctas de IRQ evita conflictos entre dispositivos y garantiza un funcionamiento estable del sistema.

 
Artículos por tema:
Mapas del personal general l 37. Mapas satelitales. Mapas de Navitel Navigator
En nuestro servidor, los mapas topográficos rasterizados del Estado Mayor y del GosGisCentre de la Federación de Rusia están disponibles gratuitamente. El volumen de las tarjetas es de unos 200 GB. Mapas rasterizados, formato de escaneo - gif o png. Todos los mapas están destinados al programa OziExplorer. Cobertura del mapa: - Gene
Tritón de Magallanes parpadeante
Manual del usuario del GPS-12 Objetivo El receptor de satélite GPS-12 del sistema de navegación mundial (GPS) realiza las siguientes funciones: · determinar las coordenadas de la ubicación en el suelo en cualquier parte del mundo; Seguimiento y memorización de tr
Instrucciones para abrir una tarjeta bancaria en línea
Puede importar etiquetas o aplicaciones de terceros si le permiten exportar etiquetas en formato KML: 1. Envíe un archivo con etiquetas por correo electrónico (en formato KML o KMZ). También puede usar aplicaciones de mensajería o descargar
Instrucciones para abrir una tarjeta bancaria en línea
Este artículo discutirá cómo abrir un mapa topográfico hecho para Ozi Explorer en su teléfono Android. Primero debe decidir sobre los datos de entrada. Tienes a tu alcance un smartphone o tablet bajo control