Die Erfindung betrifft eine Vorrichtung
zum Betreiben einer Steuerungsanwendung.
In dem Zeitschriftenartikel Schramm, Dr. Mathias; Siering,
Peter: Blitz ohne Donner, Hardware-Interrupts unter Win
dows, c't 1994, Heft 2, Seite 188-191, ist angegeben, daß
es unter dem Betriebssystem Windows praktisch keinen Echt
zeit-Betrieb im Sinne der DIN-Definition gibt.
Im Sinne dieser DIN-Definition bezeichnet man damit die Re
aktionen eines Computer-Systems auf externe Unterbrechungen
(Interrupts) innerhalb einer vorgegebenen (kurzen) Zeit.
Ein wichtiger Begriff, der die Leistungsfähigkeit eines
Systems charakterisiert, ist die Interrupt-Latenzzeit.
Diese typische Systemkonstante beschreibt die maximale
Zeit, die zwischen externen Anforderung (Interrupt-Request)
und Reaktion des Steuerungsprogrammes vergehen kann. Sie
liegt in der Meßtechnik je nach spezieller Anforderung im
Bereich von einigen Mikrobis zu einigen Millisekunden.
Setzt eine externe Hardware eine Interrupt-Leitung des 8259
A-Programmable-Interrupt-Controllers auf logisch 'high', so
sendet dieser die zugeordnete Vektornummer (0 bis 255) an
den Prozessor, der seinerseits den Aufruf der jeweiligen
Behandlungsroutine initiert. Unter MSDOS dauert dieser Vor
gang 12 bis 15 Mikrosekunden; unter Windows jedoch gelangt
die Interrupt-routine nicht direkt zum Ablauf. Teile des
virtuellen Interrupt-Controller-Treibers (VPICD) werden zur
Initialisierung aufgerufen, was die Interrupt-Latenzzeit
typischerweise auf circa 50 Mikrosekunden erhöht. Das Ein
treffen höher priorisierter Interrupts zum Beispiel von ei
nem Timer oder Netzwerk kann den Ablauf der Initialisierung
unterbrechen, so daß bei Systemen mit hoher Belastung diese
Zeiten massiv überschritten werden können.
Es war bisher also nicht möglich, unter dem Betriebssystem
Windows eine konstante Interrupt-Latenzzeit zu definieren,
weil das System unterschiedlich schnell auf unterschiedli
che Interrupt-Anforderungen reagierte.
Es ist bisher so, daß die externen Hardware-Interrupt-Quel
len durch einen Software-Befehl maskiert werden könne, was
bedeutet, daß diese Interrupt-Quellen nicht bearbeitet wer
den, wenn dies von der Software verlangt wird. Dies führt
software-bedingt zu einer nicht vorhersagbaren Interrupt-
Latenzzeit, was bisher einen Echtzeit-Betrieb unter dem Be
triebssystem Windows verhinderte.
Dieser Nachteil gilt im übrigen auch für alle anderen
nicht-echtzeitfähigen Betriebssysteme, wie z. B. DOS, UNIX,
Windows-NT, und andere, wie z. B. MacIntosh.
Duncan, R.: MS-DOS für Fortgeschrittene (Braunschweig 1987,
S. 211 ff) ist zu entnehmen, daß ein üblicher Prozessor für
einen Personalcomputer einen Anschluß für maskierbare In
terrupts (INTR) und einen Anschluß für nicht-maskierbare
Interrupts (NMI-Eingang) aufweist. Der Druckschrift ist
weiterhin zu entnehmen, daß übliche Interrupts, wie solche
zur Komplettierung eines Ein- und Ausgabeprozesses, auf den
INTR-eingang gelegt werden, während der NMI-Eingang für In
terrupts aufgrund von Fehlern oder "Katastrophen" (S. 211)
vorgesehen ist, wie beispielsweise bei Fehlern in den Spei
cherbausteinen eines Rechners oder bei Stromausfall. Der
Druckschrift ist weiterhin zu entnehmen (S. 214 vierter
Abs.), daß diese Zuordnung vom Hersteller des Computersy
stems oder dem Hersteller der peripheren Schnittstelle vor
genommen wird und die Zuordnungen fest verdrahtet sind,
d. h. sie sich durch Software nicht ändern lassen.
Die nicht-sperrbare Unterbrechung war von den PC-Architek
ten primär zur Fehlerüberwachung der dynamischen Speicher
vorgesehen, weil die dynamischen Speicher führer sehr feh
leranfällig waren und daher durch eine sogenannte Parity-
Logik anhand eines durch eine Scheck-Summe gebildeten Pa
rity-Logik anhand eines durch eine Ceck-Summe gebildeten
Parity-Bits (als neuntem Bit) überwacht wurden. Beim
Schaltvorgang wurde über das 8-Bit-Wort eine Check-Summe
gebildet und im neuten Bit gespeichert. Bei einem Lesevor
gang wurde wiederum die Check-Summe über das 8-Bit-Wort ge
bildet, nun aber mit dem ausgelesenen Wert des neuten Bits
verglichen. Lieferte der Vergleich eine Ungleichheit, so
wurde die nicht-sperrbare Unterbrechung (NMI) ausgelöst,
was dann zu der berühmt-berüchtigten Fehlermeldung "parity
error occurred, system halted" (DOS-Meldung) führte.
Der DE 33 35 549 A1 ist zu entnehmen, daß bei den genannten
gravierenden Fehlern, bei denen eine Unterbrechungsanforde
rung dem NMI-Eingang, wie dort dargestellt sit, zugeführt
wird, entweder ein vollständiger Neustart der Datenverar
beitungsanlage und damit des Prozessors bewirkt wird oder
aber die Datenverarbeitungsanlage blockiert wird, was bein
haltet, daß die Behandlungsroutine mit gesperrten, normalen
Interrupts in eine Endlosschleife geführt wird. Das System
kann dann nur durch einen Hardware-Reset oder
Aus-/Einschalten zum Neustart veranlaßt werden.
In jedem Falle geht aber der Zustand einer Anwendungssoft
ware zu diesem Zeitpunkt, gehen sämtliche Daten, wie Be
rechnungen, verloren.
Schrader W., HardBreaker - PC-Hardware-Debugger in Theorie
und Praxis (c't 1993, S. 188 ff) befaßt sich mit dem soge
nannten Debugging. Es handelt sich hierbei um das Prüfen
eines neu erstellten Programmes auf Fehler in demsleben
mittels eines sogenannten Debuggers. Dieser dient dazu,
das Programm schrittweise auf dem Prozessor ablaufen zu
lassen und den Arbeitsablauf zu unterbrechen, wenn im Pro
gramm ein Fehler auftritt, damit der Programmierer dann
feststellen kann, an genau welcher Stelle im Programm der
Ablauf unterbrochen und damit der Prozessor angehalten
wurde und an genau welcher Stelle cih daher im Programm ein
Fehler befindet. Dieser Einsatz des NMI zum Debuggen ist
mit der erfindungsgemäßen Anwendung nicht vergleichbar.
Auch hier handelt es sich - oder soll es sich handeln -,
wie beim Stoppen des Prozessors aufgrund von Fehlern, ins
besondere Parity-Fehlern, um ein seltenes außergewöhnli
ches Ereignis - im Programm sollten eigentlich keine Fehler
sein -, das zum Abbruch des Ablaufs und damit Anhalten des
Prozessors führt.
Der Erfindung liegt die Aufgabe zugrunde die Steuerung ei
ner vom Computer selbst verschiedenen, d. h. externen Steue
rungsanwendung, wie die Steuerung eines Prozesses, eines
industriellen Regelsystems, einer Maschine oder aber die
Durchführung anderer industrieller Steueranwendung mittels
eines Prossesors für Personalcomputer und einem nicht echt
zeit-fähigen Betriebssystem ermöglichen.
Erfindungsgemäß wird die genannte Aufgabe gelöst mit
einer Vorrichtung nach
dem Anspruch 1 zum Betreiben einer Steueranwendung.
Durch die Erfindung wird es möglich einem herkömmlichem
Personalcomputer mit einem nicht-echtzeitfähigen Betriebs
system Echtzeitfähigkeit im eingangs genannten Sinne zu
verleihen, um damit Steuerungsanwendung, insbesondere Ma
schinensteuerungen, gegebenenfalls auch im Hintergrund ab
laufen zu lassen. Die Erfindung kann für beliebige Bus-Sy
steme verwendet werden, wie AT-, ISA-, VESA- oder den
Local-Bus. Mit der Erfindung ist es möglich die Perso
nalcomputer im Ein-Prozessor-Betrieb für die genannten
Steuerungsanwendung zu verwenden wofür bisher eine eigene
Rechnerfamilie vorgesehen war, während bisher nicht die
Möglichkeit in Betracht gezogen wurde Interrupts von exter
nen Steueranwendungen zur Unterbrechung des Prozessors
zwecks Initialisierung einer Steuerungsroutine für die ex
terne Steuerungsanwendung der erfindungsgemäßen Form vorzu
sehen.
Der Zu
griff auf den NMI des Prozessors kann über die IOCHCK-Signallei
tung des PC-Busses erfolgen.
Ein programmierbarer Verteiler wählt also aus
einer Anzahl von externen Hardware-Interrupt-Quellen dieje
nigen heraus, die Zugriff auf den Prozessor erhalten sol
len.
Der erfindungsgemäße NMI-Signal wird dann aus einem oder
mehreren dieser Hardware-Interrupt-Quellen gebildet, indem
er quasi direkt galvanisch mit einer oder mehreren dieser
Hardware-Interrupt-Quellen verbunden wird.
Statt dessen ist bevorzugt eine softwaremäßige Umschaltung
von Hardware-Interrupt-Quellen über ein logisches Netzwerk
auf diesen NMI vorgesehen.
Es kann hierbei vorgesehen sein, den programmierbaren Ver
teiler auch mit einer bestimmten Speicherfähigkeit zu ver
sehen, um die eingehenden Hardware-Interrupt-Signale auf
einen bestimmten logischen Pegel für eine gewisse Zeit zu
halten und abzuspeichern.
Demgemäß liegen die auf dem Bus zur Verfügung stehenden In
terrupt-Leitungen sowohl am Interrupt-Controller des
Motherboards, als auch an einem IRQ-Router (Interrupt-Quel
len-Router) an. Dieser ist in Form einer Zusatzkarte reali
siert. Per Software kann bestimmt werden, ob und welche der
auf dem Bus anstehenden Interrupts in einem NMI (Non-
Maskable-Interrupt) "umgeroutet" werden sollen. Der vom
IRQ-Router generierte NMI gelangt über das ebenfalls auf
dem Bus vorhandene Signal IOCHCK zum 80 × 86-Prozessor.
Im folgenden wird die Erfindung anhand von leidglich einen
Ausführungsweg darstellenden Zeichnungen näher erläutert.
Hierbei gehen aus den Zeichnungen und ihrer Beschreibung
weitere erfindungswesentliche Merkmale und Vorteile der Er
findung hervor. Dabei zeigt die einzige Figur
Ein schematisiertes Blockschaltbild zur Ver
deutlichung der Erfindung mit einem Interrupt-
Quellen-Verteiler (IRQ-Router)
In der Abbildung ist schematisiert ein Blockschaltbild ei
nes sogenannten IRQ-Routers (Interrupt-Quellen-Verteilers)
gezeigt.
In der unteren Hälfte der Zeichnung ist (unterhalb der ge
strichelten Linie) die normaler Weise in einem Prozessorsy
stem schon vorhandene Interrupt-Hardware gezeigt, und in
der oberen Hälfte die erfindungsgemäße zusätzliche Hardwae
in Form des IRQ-Routers.
In einem PC-Bus 2 werden eine Anzahl von externen Hardware-
Interrupt-Quellen IRQ... (vergleiche in der Abbildung
links) geführt.
Diese Hardware-Interrupt-Quellen 1 werden zu einem Teil
über einen ersten Unterbrecher-Controller 3 einem zweiten
Unterbrecher-Controller 4 zugeführt oder sie werden wahl
weise direkt dem zweiten Unterbrechungs-Controller zuge
führt.
Der zweite Unterbrechungs-Controller 4 erzeugt ein Signal,
welches über das sogenannte maskierbare Interrupt am Pro
zessor 7 erzeugt werden, welcher allerdings durch einen
Software-Befehl abgeschaltet werden kann.
Erfindungsgemäß ist nun in einer ersten nicht näher darge
stellten Schaltung vorgesehen, daß eine externe Hardware-
Interrupt-Quelle unmittelbar mit der Leitung 10 verbunden
ist, welche Leitung mit dem sogenannten NMI gekoppelt ist.
Diese Signalleitung führt eine unmittelbare Unterbrechung
am Prozessor herbei, unabhängig von einem anliegenden Soft
ware-Befehl.
In einer Weiterbildung einer Vorrichtung nach der Erfindung
ist gemäß der Abbildung vorgesehen, daß die Hardware-Inter
rupt-Quellen aus dem PC-Bus 2 herausgeführt werden und ei
nem sogenannten IRQ-Router (Verteiler 8) zugeführt werden.
Dieser Verteiler 8 ist programmierbar und entscheidet, wel
che Hardware-Interrupt-Quelle sich auf die Leitung 10 mit
dem nicht-maskierbaren Interrupt 9 aufschalten darf.
Sobald auf dieser Leitung 10 ein Signal erscheint, wird der
Prozessor unbedingt unterbrochen, unabhängig davon, ob per
Software ein Interrupt gesperrt ist oder nicht.
Das bedeutet, entsprechend einem Signal auf der Leitung 10
ist also der Prozessor 7 echtzeitfähig, weil er zu beliebi
gen Zeitpunkten einen Interrupt durchführen kann.