-
Multiprozessorsystem
-
Stand der Technik Die Erfindung geht aus von einem Multiprozessorsystem
nach der Gattung des Hauptanspruchs.
-
Aus der US-PS 4 164 787 ist bereits ein Multiprozessorsystem bekannt,
bei dem zwei Prozessoren mit einem Multiplexer derart verbunden sind, daß der Multiplexer
jeweils den gesamten Adress- und Data-Bus eines Prozessors auf einen gemeinsamen
Speicher schaltet. Der Multiplexer wird dabei synchron zu einem Taktgeber regelmäßig
umgeschaltet, so daß sich für den Zugriff ein Zeitmultiplex konstanter Schaltfrequenz
ergibt.
-
Nachteilig an diesem Multiprozessorsystem ist gerade der feste Synchronismus,
der es einem Prozessor nicht erlaubt, für längere Zeiten als eine halbe Taktperiode
des Taktgebers ununterbrochen auf den Speicher zuzugreifen. Aufwendige Prozeduren
in den Programmen der Prozessoren sind daher notwendig, etwa über Interrupt-Steuerungen,
um eine korrekte Durcharbeitung eines längeren Programmes zu gewährleisten. Weiterhin
sind Hardware-Schaltungen notwendig, um dem jeweiligen Prozessor mitzuteilen, daß
demnächst
der Multiplexer umschalten wird. Durch die feste Umschaltfrequenz
wird die Standzeit des Adress- und Data-Bus des Speichers effektiv verringert, da
nach dem Umschalten während der Einschwingzeiten der Signale auf den Busleitungen
kein Zugriff möglich ist.
-
Vorteile der Erfindung Das erfindungsgemäße Multiprozessorsystem mit
den kennzeichnenden Merkmalen des Hauptanspruches hat demgegenüber den Vorteil,
daß ein ungestörter Zugriff eines Prozessors auf den gemeinsamen Speicher möglich
ist, der lediglich durch einen Zugriffswunsch eines Prozessors höherer Priorität
unterbrochen wird. So können auch langwierige Prozeduren eines Prozessors ununterbrochen
durchgeführt werden. Durch die asynchrone Kopplung der Prozessoren über den gemeinsamen
Speicher ist ein schneller Datenaustausch zwischen den Prozessoren möglich, da der
Multiplexer keine feste Taktfrequenz zugeführt bekommt.
-
Er kann direkt nach Beendigung der Übertragung eines Datums zum Speicher
umschalten, so daß der nächste Prozessor das eingespeicherte Datum lesen kann. Durch
diese den Anforderungen der Prozessoren angepaßte Kopplung erhöht sich der Gesamtdurchsatz
und die Leistungsfähigkeit des erfindungsgemäßen Multiprozessorsystems beträchtlich.
-
Durch die Unteransprüche sind besonders vorteilhafte Ausgestaltungen
des erfindungsgemäßen Multiprozessorssystems angegeben. In besonders einfacher Weise
wird die Prioritätzuweisung auf die einzelenen Prozessoren durchgeführt, wenn wenigstens
die Speicherzugriffssignale (Read, Write, Chip Select) oder die Multiplexerauswahlsignale
der Prozessoren für den gemeinsamen Speicher dem Prioritäts-En-oder zugeführt sind.
Mit diesen Signalen ist eine ausreichende und besonders einfache Basis für die Auswahllogik
des Prioritäts-Encoders gegeben. Eine Schreibverriegelung
für die
Prozessoren niederer Priorität bietet eine besondere Sicherheit, wenn zwei Prozessoren
gleichzeitig auf den Speicher und den Multiplexer zugreifen wollen und die Signale
- insbesondere auf den Adressleitungen des gemeinsamen Speichers - noch nicht eingeschwungen
sind. Hiermit werden undefinierte Schreibvorgänge im Speicher verhindert.
-
Für den schaltungstechnischen Aufwand des erfindungsgemässen Multiprozessorsystems
ist es besonders vorteilhaft, wenn die Verbindung zwischen den Prozessoren und dem
Adress-Bus des gemeinsamen Speichers über einen vom Multiplexer freigebbaren Adressspeicher
geführt sind und darüber hinaus, wenn die Verbindung zwischen den Prozessoren und
dem Data-Bus des gemeinsamen Speichers ber vom Multiplexer freigebbare Transceiver
geführt sind. Dadurch wird die Anzahl der benötigten Leitungen erheblich reduziert
und die Störanfälligkeit des Systems verringert. Der schaltungstechnische Aufwand
für den Multiplexer wird ebenfalls reduziert, da zur Zuordnung eines Prozessors
lediglich die Freigabeleitungen für Adressspeicher und Transceiver geschaltet werden
müssen.
-
Zeichnung Ein Ausführungsbeispiel der Erfindung ist in der Zeichnung
dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt die
einzige Figur ein Multiprozessorsystem mit zwei Prozessoren, das als Steuergerät
in einem Kraftfahrzeug zur Steuerung der Einspritzung Verwendung findet.
-
Beschreibung des Ausführungsbeispieles In der Figur sind zwei Mikroprozessoren
1, 2 dargestellt, von denen der erste Mikroprozessor 1 den Masterprozessor darstellt,
der zweite Mikroprozessor 2 den Slaveprozessor.
Die Prozessoren
1, 2 sind jeweils mit einem Multiplexer 3 und einem gemeinsamen Speicher 4 verbunden.
Dabei ist der Prozessor 1 über einen Adressspeicher 5 und der Prozessor 2 über einen
Adressspeicher 6 mit dem Adress-Bus 41 des Speichers 4 verbunden. Mit dem Data-Bus
42 des Speichers 4 ist der Prozessor 1 über einen Transceiver 7 und der Prozessor
2 über einen Transceiver 8 verbunden. Ein Prioritäts-Encoder 9 verbindet den Prozessor
1 und den Prozessor 2 mit dem Multiplexer 3. Eine Schreibverriegelung 10 ist zwischen
den Prozessor 2 und den Multiplexer 3 eingefügt.
-
Der Masterprozessor 1 ist mit einem Port Pl an einen Bus 51 angeschlossen,
der zum Adressspeicher 4 und zum Transceiver 7 führt. Durch ein Signal an einem
Ausgang ALTE1 (Adress Latch Enable) wird der Adressspeicher 5 über eine Leitung
53 aktiviert. Hierzu völlig symmetrisch ist der SlaveprQ-zessor 2 mit einem Port
P2 an einen Bus 61 angeschlossen, der zum Adresspeicher 6 und zum Transceiver 8
führt. Durch ein Signal an einem Ausgang AtE2 wird der Adressspeicher 6 über eine
Leitung 63 aktiviert. Die Ausgänge der Adressspeicher 5, 6 sind über einen Adressbus
41 mit dem Adresseneingang A des gemeinsamen Speichers 4 verbunden. Die zugehörigen
Daten werden über einen Data-Bus 42 übertragen, der zwischen die Transceiver 7,
8 und den gemeinsamen Speicher 4 geschaltet ist. Das Schreibsignal WRI und das Lesesignal
RD1 des Masterprozessors 1 sind auf den Multiplexer 3 geführt. Das Lesesignal RD2
des Slaveprozessors 2 ist ebenfalls auf den Multiplexer 3 geführt, während das Schreibsignal
WR2 auf die Schreibverriegelung 10 geführt ist, die dafür ein Schreibsignal WR2'
auf den Multiplexer 3 führt. Die Multiplexerauswahlsignale MS1 des Masterprozessors
1 und MS2 des Slaveprozessors 2 sind auf den Prioritäts-Encoder 9 geführt, der über
eine Leitung 92 den Multiplexer 3 aktiviert und über eine Leitung 92 die Schreibverriegelung
10 und einen Eingang BUSY des Slaveprozessors 2 anspricht.
Der Multiplexer
3 steuert über eine Leitung 71 bzw. 81 den Transceiver 7 bzw. 8 und über eine Leitung
52 bzw. 62 den Adressspeicher 5 bzw. 6. Weiterhin wird über eine Leitung 43 der
Speicher 4 vom Multiplexer 3 angesteuert.
-
Dieses Zweiprozessorsystem ist in einem Steuergerät für ein Kraftfahrzeug
eingesetzt, bei dem der Masterprozessor 1 Betriebsdaten 11 von der Brennkraftmaschine
erhält. Aus Drehzahl n, Last L und Temperatur T steuert der Masterprozessor 1 die
Zündung der Brennkraftmaschine und berechnet Vorgabedaten für die Einspritzung.
Der Slaveprozessor 2 dient zur Ansteuerung einer Einspritzvorrichtung 12, wobei
er für jeden Zylinder der Brennkraftmaschine getrennt sequentiell die benötigten
Einspritzmengen zu den richtigen Einspritzzeiten zumißt. Von der Brennkraftmaschine
erhält er hierfür Betriebsdaten 13, z.B. den Förderdruck der Benzinpumpe.
-
Die Kopplung zwischen Masterprozessor 1 und Slaveprozessor 2 über
den gemeinsamen Speicher 4 dient dabei zur Übermittlung der Steuervorgaben und gegensetigen
Übermittlung von Betriebsdaten. Die Kopplung ist so gestaltet, daß der Masterprozessor
1 auf den gemeinsamen Speicher 4 so zugreifen kann, als wenn der Slaveprozessor
2 gar nicht vorhanden wäre. Der Slaveprozessor 2 wird dagegen bei einem Zugriff
auf den gemeinsamen Speicher 4 unterbrochen oder der Zugriff wird erst gar nicht
ermöglicht, wenn der Masterprozessor 1 zugreift.
-
Bei einer Übertragung eines Datums vom Masterprozessor 1 zum gemeinsamen
Speicher 4 wird zuerst durch ein Signal MSR der Multiplexer 3 über den Prioritäts-Encoder
9 aktiviert und die Adresse des Speicherplatzes an den Port Pl gelegt.
-
Nach Freigabe des Adressspeichers 5 über die Leitung 52
durch
Setzen des Signales ALE1 wird die Adresse in den Adressspeicher 5 geladen und durch
Zurücknehmen des Signales ALE1 dort festgehalten. Darauf wird an den Port P1 das
Datum angelegt und über die Leitung 71 der Transceiver 7 vom Multiplexer 3 aktiviert.
Das Datum wird vom Port P1 auf den Transceiver 7 geführt, dessen Übertragungsrichtung
durch das Signal RD1 festgelegt wird. Durch ein Signal an der Leitung 43 wird nun
der Speicher 4 zum Schreiben freigegeben. Nach Beendigung des Adressiervorgangs
im Speicher 4 gibt der Multiplexer 3 den Transceiver 7 frei, so daß das am Port
P1 anliegende Datum an die zugehörige Adresse in den Speicher 4 eingeschrieben werden
kann. Der Lesevorgang durch den Masterprozessor 1 geschieht in zum Schreibvorgang
äquivalenter Weise.
-
Wenn der Masterprozessor 1 durch das Signal MS1 Multiplexer 3 zum
Zugriff auf den Speicher 4 aktiviert, wird zuerst der Prioritäts-Encoder 9 angesprochen.
Dieser bildet ein Signal für die Schreibverriegelung 10, die einen Schreibzugriff
des Slaveprozessors 2 auf den Multiplexer 3 sofort unterbricht oder einen zukünftigen
Zugriffswunsch sperrt. Hierfür ist dieses Signal auf einen BUSY-Eingang des Slaveprozessors
2 geführt. Dieser Eingang wird vom Slaveprozessor 2 nach jedem Zugriff auf den gemeinsamen
Speicher 4 abgefragt. Liegt dort ein Signal vom Prioritäts-Encoder 9 an, so wird
der Zugriff wiederholt, sobald die. Schreibverriegelung 10 wieder freigegeben ist.
-
Ist der Masterprozessor 1 nicht aktiv, so kann der Slaveprozessor
2 ungehindert auf den Speicher 4 zugreifen, wobei der Funktionsablauf im Adressspeicher
6 und im Transceiver 8 völlig identisch mit dem Funktionsablauf im Adressspeicher
5 und im Transceiver 7 bei einem Zugriff durch den Masterprozessor g ist. Wird bei
einem laufenden Zugriff auf den Speicher 4 jedoch der Masterprozessor 1
aktiv,
so wird durch das Signal MS1 sofort der Prioritäts-Encoder 9 aktiviert und die Schreibverriegelung
10 eingeschaltet. Gleichzeitig nimmt der Multiplexer 3 die Freigaben für den Adressspeicher
6 und den Transceiver 8 zurück, so daß deren Ein- bzw. Ausgänge zu den Bussen bl,
42 des gemeinsamen Speichers 4 hochohmig werden. Durch das Signal am BUSY-Eingang
erfährt dies der Slaveprozessor 2 so rechtzeitig, daß hierdurch keine Informationen
verloren gehen. Während des Zugriffes durch den Masterprozessor 1 wiederholt der
Slaveprozessor 2 seinen unterbrochenen Zugriff solange, bis das BUSY-Signal zurückgenommen
wird.
-
Die Erfindung ist selbstverständlich nicht auf das hier gewählte Ausführungsbeispiel
beschränkt. Auf die gleiche Weise können auch mehr als zwei Prozessoren über einen
gemeinsamen Speicher gekoppelt werden. Dann ist jedem Prozessor ein Adressspeicher
und ein Transceiver zugeordnet, die von einem gemeinsamen Multiplexer gesteuert
werden. Ein Prioritäts-Encoder sperrt dann den Prozessoren niederer Priorität den
Zugriff auf den gemeinsamen Speicher, wenn ein Prozessor höherer Priorität darauf
zugreift. Weiterhin hängt es ganz von der Art der eingesetzten Bausteine ab, welche
Steuersignale anliegen, ob etwa getrennte Schreib- und Lesesignale der Prozessoren
vorliegen, ob ein gemeinsamer Takt der Prozessoren vorliegt, so daß synchron arbeiten
aber einen asynchronen Zugriff auf den gemeinsamen Speicher durchführen.
-
Ebenso ist es möglich, Prozessoren verschiedener Bauart auf die erfindungsgemäße
Weise über einen gemeinsamen Speicher zu verbinden. Multiplexer und Prioritäts-Encoder
können in diskreter Logik aufgebaut sein, die hardwaremäßig jedem Prozessor zugeordnet,
dort auch softwaremäßig realisierbar ist. Durch einen Austausch von Kontrollbytes
ist eine wechselseitige Kontrolle der Prozessoren untereinander möglich.
-
Durch Einsatz hierfür geeigneter Bausteine läßt sich das erfindungsgemäße
Multiprozessorsystem noch vereinfachen, insbesondere können die Adressspeicher entfallen,
wenn der gemeinsame Speicher bereits einen Adressspeicher besitzt.
-
- Leerseite-