SUCHE MIT Google
Web virtualuniversity.ch
HOME DIDAKTIK ECDL ELEKTRONIK GUIDES HR MANAGEMENT MATHEMATIK SOFTWARE TELEKOM
DIENSTE
Anmeldung
Newsletter abonnieren
Sag's einem Freund!
VirtualUniversity als Startseite
Zu den Favoriten hinzufügen
Feedback Formular
e-Learning für Lehrer
Spenden
Autoren login
KURSE SUCHEN
Kurse veröffentlichen

Suche nach Datum:

Suche mit Schlüsselwort:

Suche nach Land:

Suche nach Kategorie:
PARTNER
ausbildung24.ch - Ausbildungsportal, Seminare, Kursen... 

 
HTMLopen.de - Alles was ein Webmaster braucht

 
PCopen.de - PC LAN Netze und Netzwerke - alles was ein IT Profi und Systemtechnicker braucht

ELEKTRONIK

Unterbrechungs-Behandlung

Die Komponenten des Leitwerks, die der Unterbrechungs-Behandlung dienen, werden als Unterbrechungswerk bezeichnet (Unterbrechung = Interrupt).

Aufgabe des Unterbrechungs-Werks:

  • Auswertung der Programmunterbrechungs-Anforderung, die über Signalleitungen von außen kommt.
  • Anmeldung der PU bei der Ablaufsteuerung über eine Status-Signal
  • Unterstützung der Ausführung der PU
Die eigentliche Durchführung der PU wird in der Regel von der Ablaufsteuerung durchgeführt. Die PU-Anforderung (interrupt request, IRQ) kommt auf einer oder mehreren Leitungen an die CPU.

Einfachster Fall ist eine einzige IRQ-Leitung. Diese führt auf einFlipflop, das durch die IRQ-Anforderung gesetzt wird. Nach Annahme der PU durch die Ablaufsteuerung wird das FF durch die Ablaufsteuerung zurückgesetzt.

Häufig ist es sinnvoll, die sofortige Ausführung einer Unterbrechung zu verhindern (u. a. dann, wenn gerade eine Routine zur PU-Behandlung abläuft).Die PU-Anforderung wird gesperrt(interrupt disable) maskierbarer Interrupt. Nur, wenn das Masken-FF gesetzt ist, führt eine PU-Anforderung auch zu einer PU-Anmeldung (d.h. die PU wird akzeptiert). Das Masken-FF kann per Software gesetzt oder gelöscht werden.

Als Reaktion auf eine PU erfolgt:

  • Retten des aktuellen Programmzustands: Der Maschinenstatus, d.h. der Inhalt der Register der CPU muss festgehalten werden (Zustandsvektor). Speicherung meist im Kellerspeicher (Stack). Teils per HW (PC, Status), teils per SW (z.B. übrige Register).
  • Laden der Register mit dem Zustandsvektor der ISR: Der Zustandsvektor steht an einer festgelegten Adresse im Speicher (Interrupt-Vektor). Das Programm wird nun ab der Startadresse der ISR fortgesetzt.
Nach Ende der ISR wird der ursprüngliche Zustandsvektor wieder vom Stack geholt und das Programm an der Unterbrechungsstelle fortgesetzt. Während des Rettens des Programmzustands und des anschließenden Ladens des Zustandsvektors der ISR darf keine neue Unterbrechungsanforderung auftreten (Zustandsinformation unvollständig!).

Fast immer gibt es mehrere Quellen für PU-Anforderungen. Viele CPUs besitzen mehrere IRQ-Eingänge (aber man kann über zusätzlichen HW-Aufwand auch bei einem einzigen IRQ-Eingang mehrere PU-Quellen bedienen). Die Freigabe der einzelnen IRQ-Eingänge erfolgt über ein spezielles Register, das IRQ-Masken-Register (dem Masken-FF entsprechend). Das Masken-Register kann wieder per SW geladen werden. Neben den maskierbaren IRQ-Eingängen gibt es meist auch nicht-maskierbare IRQ-Eingänge (NMI, RESET). NMI kann z.B. verwendet werden, um Ausfall der Versorgungsspannung zu signalisieren (Nothalt und Datensicherung bei Prozesssteuerung).

Wenn mehr PU-Quellen als IRQ-Eingänge vorhanden sind, müssen mehrere PU-Anforderungen mittels zusätzliche Hardware zusammengefasst werden, z. B. über ODER-Verknüpfung (bei 0-aktiven PU-Anforderungen über NAND). Daraus ergibt sich das Problem, dass die ISR (Interrupt Service Routine) zunächst die jeweilige Quelle identifizieren muss, da in der Regel auf unterschiedliche PU-Quellen vom Programm aus auch unterschiedlich reagiert werden muss. Die Identifizierung der Quelle ist auch notwendig, um das entsprechende IRQ-Flipflop beim Interrupt-Verursacher zurücksetzen zu können. Für die Identifizierung der PU-Quelle gibt es folgende Methoden:

  • Polling:
    Programmgesteuerte Abfrage der möglichen PU-Quellen, von welcher PU-Quelle der IRQ abgesandt worden ist. Es gibt nur eine ISR, die nach Identifizierung der PU-Quelle entsprechend verzweigt.
  • Vektorisierter Interupt:
    Nach der Annahme der PU-Anforderung durch die Ablaufsteuerung sendet diese (über den Steuer-Bus) ein Quittungs-Signal (interrupt acknowledge). Die PU-Quelle, die den IRQ ausgelöst hat sendet daraufhin (über den Daten-Bus) einen Identifikations- Code an die CPU zurück. Der Code kann z.B. die ISR-Startadresse oder die Nummer des IRQ-Vektors (eindeutige Zuordnung zur IRQ- Startadresse) sein. Gleichzeitig wird das IRQ-FF zurückgesetzt.
  • Eindeutige Zuordnung:
    Jedem IRQ-Eingang ist eine feste ISR-Startadresse hardwaremäßig zugeordnet. Pro Eingang gibt es nur eine PU-Quelle.
Sind mehrere PU-Quellen an einem IRQ-Eingang angeschlossen, ist es häufig zweckmäßig, zwischen wichtigen und weniger wichtigen PU-Quellen zu unterscheiden prioritätsgesteuertes Interrupt-System. Die einfachste Form der Realisierung einer Prioritäts-Steuerung ist die Vorrang-Kette (daisy-chain = "Gänseblümchen-Kette"). Das von der Ablaufsteuerung kommende Quittungssignal gelangt über die UND-Gatter nur bis zu der PU-Quelle mit höchster Priorität. Nur von dieser wird dann der Identifikations-Code ausgesendet und das PU-Anforderungs-FF zurückgesetzt. Die Prioritätsreihenfolge ist durch die Verschaltung der Quittungsleitungen festgelegt "geographische Priorität".

Das Retten des aktuellen Programmzustands des unterbrochenen Programms geschieht häufig in einem Kellerspeicher (Stack), der i. a. Teil des Arbeitsspeichers ist, wobei der Top of Stack über ein spezielles Register (Stackpointer) des Leitwerks adressiert wird beliebig geschachtelte Programmunterbrechungen sind möglich.

Während des Rettens des Programmzustands und des anschließenden Ladens des Zustandsvektors der ISR darf keine neue Unterbrechungsanforderung auftreten (Zustandsinformation unvollständig!) Bei den meisten CPUs wird daher vom Leitwerk die PU-Anforderung gesperrt. In der ISR muss dann die Möglichkeit für PU-Anforderungen wieder per CPU-Befehl freigegeben werden.

Nach Ende der ISR wird der ursprüngliche Zustandsvektor wieder vom Stack geholt und das Programm an der Unterbrechungsstelle fortgesetzt.

DIPLOMARBEITEN UND BÜCHER

Diplomarbeiten zum Runterladen:

Suche im Katalog:
Architektur / Raumplanung
Betriebswirtschaft - Funktional
Erziehungswissenschaften
Geowissenschaften
Geschichtswissenschaften
Informatik
Kulturwissenschaften
Medien- und Kommunikationswissenschaften
Medizin
Psychologie
Physik
Rechtswissenschaft
Soziale Arbeit
Sozialwissenschaften


JOBS
HOME | E-LEARNING | SITEMAP | LOGIN AUTOREN | SUPPORT | FAQ | KONTAKT | IMPRESSUM
Virtual University in: Italiano - Français - English - Español
VirtualUniversity, WEB-SET Interactive GmbH, www.web-set.com, 6301 Zug

Partner:   Seminare7.de - PCopen.de - HTMLopen.de - WEB-SET.com - YesMMS.com - Ausbildung24.ch - Manager24.ch - Job und Karriere