Wir flavour In Excuse hinein und irgendwas auch jetztâr intendä
der 68.000er Reihe. Die 68.000er Reihe war eine ganze Weile lang eine sehr beliebte Prozessor-Generation.
Beispielsweise die Sun Workstations hatten die eingebaut, Atari ST hatte den eingebaut,
Amiga Rechner hatten den eingebaut, da gab es nachher eine ganze Reihe davon. Wie haben die 68.000
und der Prozessoren, wie hat Motorola das damals designt mit den Interrupts.
In der Motorola Welt sah der Interrupt Controller ein klein bisschen anders aus.
Er hatte einerseits natürlich
auf der rechten Seite hier angedeutet die
Eingabeleitung von den einzelnen Geräten
und auf der linken Seite jetzt
aber nicht wie auf den Bildern bisher eine Leitung, um den
eigentlichen Prozessor zu unterbrechen, sondern in diesem Falle 3 Leitungen.
Wofür sind die 3 Leitungen gedacht?
Der Interrupt-Controller signalisiert nicht nur,
dass ein Interrupt da ist, sondern er signalisiert auch mit welcher Priorität
der zu behandeln wäre.
Also die 3 Leitungen signalisieren entweder, wenn alle 3 Leitungen 0 sind,
dann ist es eben kein Interrupt.
Wenn sie binär codiert 1, 2, 3 oder so weiter sind, dann hat der Interrupt,
der da gerade anliegt, die entsprechende Priorität.
Und wenn alle Leitungen auf 1 sind, dann ist die Priorität 7, das ist die oberste
Priorität.
Das wäre also ein der dringendsten
Interrupt, der abgearbeitet werden soll.
Gut, das ist das, was der
Interrupt-Controller der CPU meldet.
Und umgekehrt,
die CPU hat sogenannte Function Codes, mit denen sie dem Interrupt-Controller
jetzt wiederum signalisiert, ob sie bzw. wann sie den Interrupt entgegen nimmt.
Also man sieht hier an den Function Codes kann man sehen, was die CPU gerade tut.
Ob sie Anwenderdaten liest, schreibt oder aus dem Programm Code liest
oder Supervisor Daten oder Programm liest, schreibt
oder eben wenn alle drei Leitungen auf eins sind, signalisiert
dem Interrupt Controller, dass sie jetzt ein Interrupt entgegen nimmt.
Gut, und was passiert dann?
Zunächst einmal wird überprüft, ob
diese drei Leitungen
von außen signalisieren, dass der
neue Interrupt, ob der wichtiger ist als der aktuell
laufende.
Wie ist der aktuell laufende definiert? Es gibt hier im Statusregister
einfach 3-Bit. Ihr seht hier I0 bis I2.
Das sind 3-Bit, die zeigen an, in welchem Interrupt-Level, Prioritäts-Level
die CPU gerade arbeitet.
Und nur wenn von außen ein höherer Level signalisiert wird, dann wird
der neue Interrupt abgearbeitet.
Logischerweise sind die normalerweise 0.
Heißt ganz normal das Hauptprogramm wird abgearbeitet.
Aber dann können die Werte hier überschrieben werden, wenn ein Interrupt Level 2 kommt.
Er ist dann vorher 0 gewesen, dann überschreibt er das mit der 2, weil 2 größer als 0.
Presenters
Zugänglich über
Offener Zugang
Dauer
00:15:04 Min
Aufnahmedatum
2020-10-20
Hochgeladen am
2020-10-20 20:16:49
Sprache
de-DE
3. Kapitel der Vorlesung Betriebssysteme.