Categories: Allgemein

Unterschied zwischen vektorisierten und nicht vektorisierten Interrupts

Vektorisierte Interrupts

  • Geräten, die vektorisierte Interrupts verwenden, wird ein Interrupt-Vektor zugewiesen. Dies ist eine Zahl, die einen bestimmten Interrupt-Handler identifiziert. Die ISR-Adresse dieser Interrupts ist fest und der CPU bekannt.
  • Wenn das Gerät unterbricht, verzweigt die CPU zu dem jeweiligen ESR.
  • Der Mikroprozessor springt zur jeweiligen Serviceroutine.
  • Wenn der Mikroprozessor den Aufrufbefehl ausführt, speichert er die Adresse des nächsten Befehls auf dem Stapel.
  • Am Ende der Serviceroutine führt der RET-Befehl die Ausführung dorthin zurück, wo das Programm unterbrochen wurde.
  • Alle 8051-Interrupts sind vektorisierte Interrupts.

Nicht vektorieller Interrupt

  • Ein nicht vektorisierter Interrupt ist ein Interrupt mit einem gemeinsamen ISR, der allen nicht vektorisierten Interrupts im System gemeinsam ist. Die Adresse dieses gemeinsamen ISR ist der CPU bekannt.
  • Die Interrupts, die keinen festen Speicherplatz für die Übertragung der Kontrolle von der normalen Ausführung haben.
  • Die Adresse des Speichers wird zusammen mit dem Interrupt gesendet.
  • Die CPU weiß entscheidend nicht, welches Gerät den Interrupt verursacht hat, ohne jede I/O-Schnittstelle in einer Schleife abzufragen.
  • Sobald die Unterbrechung auftritt, muss das System feststellen, welches Gerät von allen zugeordneten Geräten tatsächlich unterbrochen wurde.

Der Unterschied

Bei einem vektorisierten Interrupt kennt die CPU die Adresse der Interrupt-Serviceroutine im Voraus. Alles, was es braucht, ist, dass das unterbrechende Gerät seinen eindeutigen Vektor über einen Datenbus und über seine E/A-Schnittstelle an die CPU sendet. Die CPU nimmt diesen Vektor, überprüft eine Interrupt-Tabelle im Speicher und führt dann die korrekte ISR für dieses Gerät aus. Daher ermöglicht der vektorisierte Interrupt der CPU, zu wissen, dass ISR in der Software (Speicher) ausgeführt werden soll.

 Ein nicht – vektorisierte Interrupt ist , wo die Unterbrechungseinrichtung nie einen Interruptvektor sendet. Ein Interrupt wird von der CPU empfangen und springt den Programmzähler auf eine feste Adresse in der Hardware. Dies ist typischerweise ein fest codierter ISR, der geräteunabhängig ist. Die CPU weiß im Wesentlichen nicht, welches Gerät den Interrupt verursacht hat, ohne jede O/I-Schnittstelle in einer Schleife abzufragen und das Statusregister jeder I/O-Schnittstelle zu überprüfen, um dasjenige mit dem Status „Interrupt erstellt“ zu finden.

Lesen Sie auch: Unterschied zwischen Software- und Hardware-Interrupts

osky

Recent Posts

Freeway vs. Highway: Ein detaillierter Blick auf die Feinen Unterschiede im Straßenverkehr

Einleitung: Die Begriffe "Freeway" und "Highway" werden oft synonym verwendet, aber es gibt subtile Unterschiede…

6 Monaten ago

Burrito vs. Enchilada: Die Feinen Unterschiede Zwischen Zwei Klassikern der Mexikanischen Küche

Burritos und Enchiladas sind zwei beliebte Gerichte der mexikanischen Küche, die oft miteinander verwechselt werden.…

6 Monaten ago

Ein umfassender Vergleich zwischen Replikation und Transkription

In der Zellbiologie spielen Replikation und Transkription entscheidende Rollen im genetischen Prozess. Beide sind Mechanismen,…

6 Monaten ago

Verständnis des Unterschieds zwischen Osmose und Diffusion

Osmose und Diffusion sind zwei grundlegende Prozesse, die in der Zellbiologie und Chemie eine entscheidende…

6 Monaten ago

Der entscheidende Unterschied zwischen 4G und 5G

Einleitung: Die Evolution der mobilen Kommunikationstechnologie hat einen bedeutenden Meilenstein erreicht, als 4G (LTE) zu…

6 Monaten ago

Der entscheidende Unterschied zwischen JPG und PNG

Einleitung: JPG und PNG sind zwei gängige Bildformate, die im Internet weit verbreitet sind. Obwohl…

6 Monaten ago