Was ist ein Interrupt: Typen und ihre Anwendungen

Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen





PCs verwenden Interrupt-Anforderungen, um verschiedene Hardwarefunktionen zu handhaben. Hardware-Interrupts wurden erstmals 1953 von UNIVAC 1103 eingeführt. Die erste Interrupt-Maskierung wurde 1954 von IBM 650 eingeführt. Es ist wichtig, verschiedenen Hardwaregeräten unterschiedliche IRQs zuzuweisen, um verschiedene Funktionen auszuführen. Während der Programmausführung benötigen Geräte wie Tastaturen und eine Maus Dienste der CPU und erzeugen einen Interrupt, um die Aufmerksamkeit der CPU auf sich zu ziehen und den angeforderten Dienst zu verarbeiten. Diese sind bekannt als unterbricht . Einer der Busse des E / A-Geräts ist für diesen Zweck vorgesehen und wird als Interrupt Service Routine (ISR) bezeichnet. Diese werden in verschiedenen Anwendungen verwendet, z. B. für zeitkritische Ereignisse, Datenübertragung, Hervorhebung abnormaler Ereignisse, Watchdog-Timer, Traps usw.

Was ist ein Interrupt?

Definition: Es wird als Eingabe bezeichnet Signal Dies hat die höchste Priorität für Hardware- oder Softwareereignisse, die eine sofortige Verarbeitung eines Ereignisses erfordern. In den frühen Tagen des Rechnens wurde die Prozessor musste auf das Signal warten, um Ereignisse zu verarbeiten. Der Prozessor sollte jedes Hardware- und Softwareprogramm überprüfen, um festzustellen, ob ein zu verarbeitendes Signal vorhanden ist. Diese Methode würde eine Anzahl von Taktzyklen verbrauchen und den Prozessor beschäftigen. Nur für den Fall, dass ein Signal erzeugt wird, würde der Prozessor erneut einige Zeit benötigen, um das Ereignis zu verarbeiten, was zu einer schlechten Systemleistung führt.




Ein neuer Mechanismus wurde eingeführt, um diesen komplizierten Prozess zu überwinden. Bei diesem Mechanismus sendet Hardware oder Software das Signal an einen Prozessor und nicht an einen Prozessor, der nach Signalen von Hardware oder Software sucht. Das Signal warnt den Prozessor mit der höchsten Priorität und unterbricht die aktuellen Aktivitäten, indem es seinen aktuellen Status und seine Funktion speichert, und verarbeitet den Interrupt sofort. Dies wird als ISR bezeichnet. Da dies nicht lange dauert, startet der Prozessor die normalen Aktivitäten neu, sobald sie verarbeitet werden.

Unterbrechen

Unterbrechen



Arten von Interrupts

Diese werden in zwei Haupttypen eingeteilt.

Hardware-Interrupts

Ein elektronisches Signal, das von einem externen Gerät oder einer externen Hardware zur Kommunikation mit dem Prozessor gesendet wird und anzeigt, dass sofortige Aufmerksamkeit erforderlich ist. Beispielsweise rufen Striche von einer Tastatur oder eine Aktion von einer Maus Hardware-Interrupts hervor, die dazu führen, dass die CPU sie liest und verarbeitet. Es kommt also asynchron und zu jedem Zeitpunkt an, während eine Anweisung ausgeführt wird.

Hardware-Interrupts werden in zwei Typen eingeteilt


  • Maskierbare Interrupts - Prozessoren müssen das Maskenregister unterbrechen, um Hardware-Interrupts aktivieren und deaktivieren zu können. Jedes Signal hat ein Bit im Maskenregister. Wenn dieses Bit gesetzt ist, wird ein Interrupt aktiviert und deaktiviert, wenn kein Bit gesetzt ist, oder umgekehrt. Signale, die die Prozessoren durch diese Masken unterbrechen, werden als maskierte Interrupts bezeichnet.
  • Nicht maskierbare Interrupts (NMI) - Die NMIs sind Aktivitäten mit der höchsten Priorität, die sofort und in jeder Situation verarbeitet werden müssen, z. B. ein von einem Watchdog-Timer erzeugtes Timeout-Signal.

Software-Interrupts

Der Prozessor selbst fordert nach Ausführung bestimmter Anweisungen oder wenn bestimmte Bedingungen erfüllt sind, einen Software-Interrupt an. Dies kann eine bestimmte Anweisung sein, die einen Interrupt wie z. B. Unterprogrammaufrufe auslöst und aufgrund von Programmausführungsfehlern, die als Ausnahmen oder Traps bezeichnet werden, unerwartet ausgelöst wird.

Auslösemethoden

Im Allgemeinen sind diese Signale so ausgelegt, dass sie entweder mit einem logischen Signalpegel oder einer Signalflanke ausgelöst werden. Es gibt zwei Arten von Methoden.

Pegelgetriggerter Interrupt

Bei diesem Typ ruft das Eingabemodul einen Interrupt auf, wenn der Service Level davon aktiviert ist. Wenn eine Interrupt-Quelle weiterhin aktiviert wird, während der Firmware-Interrupt-Handler sie verarbeitet, wird dieses Modul neu generiert und der Handler wird erneut aufgerufen. Die pegelgetriggerten Eingänge sind nicht gut, wenn sie für eine längere Dauer aktiviert bleiben.

Flankengetriggerter Interrupt

Ein flankengetriggertes Interrupt-Eingangsmodul ruft einen Interrupt auf, sobald es eine aktivierende Flanke identifiziert - eine fallende oder eine steigende Flanke. Die Kante wird bemerkt, wenn sich der Pegel der Quelle ändert. Diese Art der Auslösung erfordert sofortiges Handeln, unabhängig von der Aktivität der Quelle.

Level-Edge-Triggering

Level-Edge-Triggering

Systemimplementierung

Interrupts sind zusammen mit Steuerleitungen auf Hardware als andere Komponente anzuwenden, oder integriert in Erinnerung Subsysteme. Wenn die Implementierung in Hardware durchgeführt wird, benötigt es einen programmierbaren Interrupt-Controller (PCI), um eine Verbindung zwischen dem Eingangspin der CPU und dem unterbrechenden Gerät herzustellen. PCI multiplext verschiedene Interruptquellen auf die Einzel- oder Doppel-CPU-Leitung. Bei der Implementierung in Bezug auf den Speichercontroller wird der Speicheradressschlitz des Systems direkt den Interrupts zugeordnet.

Shared Interrupt Requests (IRQs)

Bei flankengetriggertem Interrupt ein Pull-Up oder Pull-Down Widerstand wird verwendet, um die Interrupt-Leitung anzusteuern. Diese Leitung überträgt jeden von jedem Gerät erzeugten Impuls. Wenn von verschiedenen Geräten erzeugte Interrupt-Impulse zeitnah auftreten, muss die CPU eine Hinterflanke des Impulses aufrufen, um keine Interrupts zu verpassen. Anschließend stellt die CPU sicher, dass jedes Gerät auf Serviceanforderungen überprüft wird. Ein gut erzogenes ISA-Motherboard (Industry Standard Architecture) mit Pull-up-Widerständen mit gemeinsam genutzten IRQ-Leitungen muss einwandfrei funktionieren. Mehrere Geräte, die die IRQ-Leitung in älteren Systemen mit schlecht gestalteter Programmierschnittstelle gemeinsam nutzen, erschweren jedoch die Verarbeitung von Interrupts. Andererseits hilft eine neue Systemarchitektur wie PCI dabei, dieses Problem erheblich zu lösen.

Hybrid

Eine hybride Art der Systemimplementierung besteht aus einer Kombination von flankengetriggerten und pegelgetriggerten Signalen. Die Hardware muss nach einer Flanke suchen und auch überprüfen, ob ein Signal für einen bestimmten Zeitraum aktiv ist. Für den NMI-Eingang (Non-Maskable Interrupt) wird üblicherweise ein Hybridtyp verwendet, der sicherstellt, dass falsche Interrupts das System nicht beeinträchtigen.

Botschaft - - Signalisiert

Eine Nachrichtensignal-Interrupt-Anforderung für den Dienst unter Verwendung von Gerätesignalen durch Senden einer Nachricht über a Kommunikation Kanal, wie ein Computer Bus . Diese verwenden keine physikalische Interruptleitung. PCI Express fungiert als serieller Bus und wird ausschließlich als durch Nachrichten signalisierte Interrupts verwendet.

Türklingel

Der Türklingel-Interrupt wird üblicherweise von einem Softwaresystem als Mechanismus verwendet, um Computerhardware zu signalisieren, um die Arbeit abzuschließen. Im gegenseitigen Einvernehmen zwischen Hardware und Software legt die Software die Daten an dem bekannten Speicherort ab und klingelt an der Tür, um die Hardware darüber zu informieren, dass die Daten bereit sind und auf ihre Verarbeitung warten. Jetzt versteht das Computerhardwaregerät, dass die Daten gültig sind, und verarbeitet sie entsprechend.

Multiprozessor-IPI

Bei den Multiprozessorsystemen wird eine Interruptanforderung von einem Prozessor über Interprozessor-Interrupts (IPI) an einen anderen Prozessor gesendet.

Typische Verwendungen / Anwendungen

Dies sind leistungsstarke Eingänge, die normalerweise verwendet werden

  • Warten Sie Hardware-Timer, handhaben Sie Tastaturanschläge und Mausaktionen
  • Reagieren Sie schnell auf zeitkritische Ereignisse oder Ereignisse in Echtzeit
  • Datenübertragung zu und von Peripheriegeräten
  • Reagiert auf Aufgaben mit hoher Priorität wie Abschaltsignale, Traps und Watchdog-Timer
  • Zeigt abnormale Ereignisse der CPU an
  • Ein Ausschaltunterbrechung sieht einen Stromausfall vor und ermöglicht ein ordnungsgemäßes Abschalten des Geräts System
  • Periodische Interrupts, um die absolute Zeit zu verfolgen

FAQs

1). Warum werden Interrupts verwendet?

Diese werden verwendet, um die Aufmerksamkeit der CPU auf die Ausführung von Diensten zu lenken, die entweder von Hardware oder Software angefordert werden.

2). Was ist NMI?

NMI ist ein nicht maskierbarer Interrupt, der vom Prozessor nicht ignoriert oder deaktiviert werden kann

3). Was ist die Funktion der Interrupt-Bestätigungsleitung?

Der Prozessor sendet ein Signal an die Geräte, das angibt, dass er bereit ist, Interrupts zu empfangen.

4). Beschreiben des Hardware-Interrupts. Nenne Beispiele

Es wird von einem externen Gerät oder einer externen Hardware wie Tastaturtasten oder Mausbewegungen generiert und ruft Hardware-Interrupts auf

5). Beschreiben des Software-Interrupts.

Es ist als spezielle Anweisung definiert, die einen Interrupt aufruft, z. B. Unterprogrammaufrufe. Software-Interrupts können aufgrund von Programmausführungsfehlern unerwartet ausgelöst werden

6). Welcher Interrupt hat die höchste Priorität?

  • Nicht maskierbare Flanke und Pegel ausgelöst
  • TRAP hat die höchste Priorität

7). Geben Sie einige Verwendungszwecke von Interrupt an

  • Reagieren Sie schnell auf zeitkritische Ereignisse oder Ereignisse in Echtzeit
  • Datenübertragung zu und von Peripheriegeräten
  • Reagiert auf Aufgaben mit hoher Priorität wie Abschaltsignale, Traps und Watchdog-Timer
  • Zeigt abnormale Ereignisse der CPU an

8). Was ist eine hybride Art der Systemimplementierung?

Eine hybride Art der Systemimplementierung besteht aus einer Kombination von flankengetriggerten und pegelgetriggerten Signalen. Die Hardware muss nach einer Flanke suchen und auch überprüfen, ob ein Signal für einen bestimmten Zeitraum aktiv ist.

In diesem Artikel haben wir die Bedeutung von verstanden unterbricht und wie diese verwendet werden, um die angeforderten Dienste auszuführen. Wir haben auch die Typen, die Systemimplementierung und ihre Verwendung besprochen.