Unterschied zwischen Abfrage und Unterbrechung

Zu bestimmten Zeiten hört der Hauptprozessor auf zu funktionieren und prüft, ob ein Controller eine Nachricht dafür hat, ob er die Nachricht verarbeitet und den Betrieb fortsetzt. Dies nennt man Polling. Außerdem ist klar, dass der Hauptprozessor seine Arbeit erledigt und die Geräte ihre Arbeit erledigen. Wenn das Gerät seine Arbeit beendet oder ein Fehler auftritt, informiert das Gerät den Hauptprozessor mit einer Interrupt-Anforderung.

Was ist Polling??

In Systemen, in denen mehr externe Logikschaltungen über mehrere U / I-Verbindungen mit einem einzigen Mikroprozessor kommunizieren, wird ein U / I-Abruf verwendet. Der Mikrocomputer ruft jede externe Logikschaltung periodisch auf und prüft, ob er einen Dienst angefordert hat. Wenn für die externe Logikschaltung keine Wartung erforderlich ist, überprüft der Mikrocomputer die nächste externe Logikschaltung usw. Wenn eine von ihnen eine Wartung erfordert, schaltet der Mikrocomputer auf das Ausführen des Bedienprogramms der jeweiligen externen Logikschaltung. Die U / I-Transferfunktion ist im Programm enthalten. Mit anderen Worten ist das Abfragen ein Vorgang des Clientaufrufs (Computer oder Terminals), der nach dem Aufruf (sofern vorhanden) Daten senden kann. Wenn der Client über Daten verfügt, sendet er diese nach der Abfrage, und wenn keine Daten vorhanden sind, antwortet der Client negativ und der Server ruft den nächsten Client an. Einige Geräte müssen möglicherweise vom Controller gewartet werden (z. B. wenn ein Gerät die Messung beendet oder wenn ein Fehler auftritt). Die Anforderung wird an die Steuerung gesendet, indem die SRQ-Leitung auf niedrig gesetzt wird. Nachdem der Controller eine Serviceanforderung erhalten hat, ruft er alle Geräte am Bus an, um das Gerät zu finden, das diese Anfrage gesendet hat.

Was ist Interrupt??

Während der Ausführung eines Programms kann der Mikroprozessor ein Unterbrechungssignal über die speziellen IRQ-Leitungen empfangen. Eine Unterbrechung wird am häufigsten durch Aufrufen der entsprechenden Systemunterroutine für die Interruptverarbeitung ausgeführt - dies sind sogenannte BIOS- oder DOS-Unterbrechungsroutinen. Nach der Interruptverarbeitung führt der Prozessor das unterbrochene Programm weiter aus. Das Anwendungsprogramm selbst kann auch eine Anweisung enthalten, die die Ausführung einer BIOS- oder DOS-Interruptroutine aufruft. Eingabe-Ausgabe-Operationen werden am häufigsten auf diese Weise ausgeführt. Wenn ein Programm beispielsweise ein Zeichen auf dem Bildschirm drucken möchte, kann dies durch Aufrufen der entsprechenden Interrupt-Routine erfolgen. Das BIOS enthält eine Reihe elementarer Eingabe-Ausgabe-Routinen, die relativ schnell ablaufen, und die entsprechenden DOS-Routinen sind langsamer, aber ihre Fähigkeiten sind größer (die Möglichkeit, die Eingabe-Ausgabe-Kanäle außer Kraft zu setzen, die Möglichkeit, Fehler zu kontrollieren und dergleichen). Daher ist der Hardware-Interrupt das Signal, das der Prozessor von einem anderen Gerät im Computer empfangen hat, und der Software-Interrupt ist der Ausführungsprozess einer BIOS- oder DOS-Routine (Subroutine), die automatisch zur Verarbeitung des empfangenen Interruptsignals oder zur Ausführung aufgerufen wird die entsprechenden Anweisungen.

Unterschied zwischen Abfrage und Unterbrechung

Hintergrund von Polling und Interrupt

Im ersten Fall prüft der Prozessor in regelmäßigen Zeitabständen, ob ein Gerät eine Aktion benötigt. Im Falle eines Interrupts gibt es einen Mechanismus, durch den der Prozessor dem externen Gerät (z. B. Tastatur, Soundkarte usw.) die Aufmerksamkeit des Prozessors auf sich ziehen lässt.

Mechanismus der Abfrage und Unterbrechung

Interrupts sind speziell organisierte Mechanismen für die Kommunikation von Peripheriegeräten. Die Geräte benachrichtigen die CPU, wenn eine Aktion erforderlich ist. Abfragen sind Protokolle - Die CPU fragt die Geräte regelmäßig, ob eine Aktion erforderlich ist.

Wartung von Polling und Interrupt

Beim Abfragen der Mikrocontroller-Dienste muss das Gerät beachtet werden und wechselt anschließend zum nächsten Gerät zur Überwachung. Bei einer Unterbrechung stoppt die CPU mit der aktuellen Aktivität und wartet das Gerät, wenn ein Signal für eine Unterbrechung empfangen wird. Die Dienste oder die verarbeitete Unterbrechung werden als Interrupt-Service-Routine (ISR) oder Interrupt-Handler bezeichnet.

Zentralprozessor

Während des Abrufvorgangs wird die CPU angehalten und überprüft, ob ein Gerät einen Dienst benötigt. Dies verschwendet unnötig Zeit. Im Falle eines Unterbrechungsprozesses wird die CPU dagegen nur bei Bedarf gestört.

Erscheinungsbild von Polling und Interrupt

Die Geräte können nur in regelmäßigen Abständen abgefragt werden, wenn sie überprüft werden. Eine Unterbrechung kann zu einem bestimmten Zeitpunkt erfolgen.

Vorteile von Polling und Interrupt

Einige der Vorteile des Abrufs sind das relativ einfache Programm, die Übertragungszuverlässigkeit, die bei maximaler Geschwindigkeit stattfindet, d. H. Sobald das E / A-Gerät bereit ist, und das Erfordernis, zusätzliche Zugriffschips zu benötigen. Eine Unterbrechung ist vorteilhaft, da sie mehrere Geräte bedienen kann und flexibler und effizienter ist.

Nachteile von Polling und Interrupt

Nachteile des Abrufs sind die Bereitschaftszeit einiger Geräte, die kürzer als die Antwortzeit ist, und dann sollte eine andere Übertragungsmethode angewendet werden, und die CPU benötigt unnötige Zeit, um Geräte zu überprüfen, die nicht nach Datenübertragung gesucht haben. Nachteile von Interrupts sind die Anforderung nach komplexerer Hardware / Software und Zeitverlust, bis die CPU feststellt, welche Einheiten eine Unterbrechung anfordern.

Polling vs. Interrupt: Vergleichstabelle

Zusammenfassung der Abstimmungen gegen Unterbrechen

  • Im Falle einer Abfrage wird ein zyklisches Lesen von an eine CPU angeschlossenen Geräten durchgeführt. Wenn die externe Logikschaltung nicht gewartet werden muss, prüft der Mikrocomputer die nächste externe Logikschaltung. Wenn einer von ihnen eine Wartung erfordert, schaltet der Mikrocomputer auf ein Programm, um die jeweilige externe Logikschaltung zu bedienen.
  • Bei einer Unterbrechung unterbricht der Mikrocomputer auf Anforderung einer externen Logik die Ausführung seines aktuellen Programms und schaltet auf die Ausführung des Unterbrechungsprogramms. Die unterbrochene Struktur ermöglicht es dem Mikroprozessor, auf die asynchronen Ereignisse zu reagieren, d. H. Anforderungen von externer Logik, nicht in der Schleife zu warten, um den Zustand der externen Logikschaltung zu untersuchen.