DE4129809C2 - Mehrrechnersystem - Google Patents
MehrrechnersystemInfo
- Publication number
- DE4129809C2 DE4129809C2 DE4129809A DE4129809A DE4129809C2 DE 4129809 C2 DE4129809 C2 DE 4129809C2 DE 4129809 A DE4129809 A DE 4129809A DE 4129809 A DE4129809 A DE 4129809A DE 4129809 C2 DE4129809 C2 DE 4129809C2
- Authority
- DE
- Germany
- Prior art keywords
- computer
- memory
- computers
- computer system
- access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D41/00—Electrical control of supply of combustible mixture or its constituents
- F02D41/24—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
- F02D41/26—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
- F02D41/266—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor the computer being backed-up or assisted by another circuit, e.g. analogue
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0421—Multiprocessor system
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Multi Processors (AREA)
Description
Die Erfindung betrifft ein Mehrrechnersystem gemäß dem Ober
begriff des Anspruchs 1.
Bei der Steuerung und Regelung von Kraftfahrzeugen werden
die verschiedenen Regel- und Steueraufgaben üblicherweise
auf mehrere Rechner aufgeteilt. Dabei kann vorgesehen sein,
dass wenigstens zwei Rechner gemeinsam auf den gleichen
Speicher zugreifen. Bei diesen Einrichtungen treten Schwie
rigkeiten auf, wenn beide Rechner gleichzeitig auf die Spei
cherzelle zugreifen. Um dies zu verhindern, sind aufwendige
Maßnahmen erforderlich, die sicherstellen, dass nicht mehre
re Rechner gleichzeitig auf die gleiche Speicherzelle zu
greifen.
Ein Mehrrechnersystem ist beispielsweise aus der
GB 22 17 056 A bekannt. Diese Schrift zeigt ein Mehrrechner
system, bei dem zwei Rechner gemeinsam auf ein Speichermit
tel zugreifen. Dabei ist das Speichermittel in wenigstens
zwei Bereiche unterteilt. Auf einen Bereich greift ein er
ster Rechner nur lesend und ein zweiter Rechner schreibend
zu. Auf einen weiteren Speicherbereich greift der zweite
Rechner nur lesend und der erste Rechner schreibend zu. Die
Rechner sind dabei so synchronisiert, dass die Rechner zum
gleichen Zeitpunkt in der gleichen Weise auf ihren Bereich
des Speichermittels zugreifen.
Der Erfindung liegt die Aufgabe zugrunde, bei einem System
mit mehreren Rechnern die Sicherheit der Datenübertragung zu
gewährleisten, die Verzögerung durch den Datenaustausch zwi
schen den Rechnern zu minimieren und die Laufzeitbelastung
der einzelnen Rechner sowie des gesamten Systems zu optimie
ren.
Das erfindungsgemäße Mehrrechnersystem hat den Vorteil, daß keine
Zugriffsregelung nötig ist. Es sind keinerlei Maßnahmen erforder
lich, die den Zugriff der einzelnen Rechner auf die Speichermittel
regeln. Durch die Synchronisation der Rechner ist jeder Rechner
darüber informiert, welche Funktionen der andere Rechner gerade
ausübt. Desweiteren ergibt sich der Vorteil, daß die einzelnen Be
rechnungen in jedem beliebigen Rechner erfolgen können. Alle Daten
stehen allen Rechnern nahezu gleichzeitig zur Verfügung. So ist es
nicht notwendig, daß derjenige Rechner, der mit dem Sensor verbunden
ist, dessen Signale auch auswertet. Diese Auswertung kann von einem
anderen Rechner übernommen werden. Dadurch wird gewährleistet, daß
alle Rechner gleichmäßig ausgelastet sind.
Vorteilhafte und zweckmäßige Ausgestaltungen der Erfindung sind in
den Unteransprüchen gekennzeichnet.
Die Erfindung wird nachstehend anhand der in der Zeichnung darge
stellten Ausführungsformen erläutert. So zeigt die Fig. 1 ein
Blockdiagramm eines Mehrrechnersystems mit zwei und die Fig. 2 ein
Blockdiagramm eines Mehrrechnersystems mit drei Rechnern. Die Fig.
3 enthält ein Zeitdiagramm der einzelnen Funktionen des Ausführungs
beispiels mit zwei Rechnern, die Fig. 4 enthält ein entsprechendes
Diagramm für die Version mit drei Rechnern. Die Fig. 5 zeigt eine
Ausgestaltung, bei der für den Datenaustausch nicht benötigte
Speicherbereiche andersweitig genutzt werden.
Die Fig. 1 zeigt ein Blockdiagramm eines Mehrrechnersystems mit
zwei Rechnern. Der erste Rechner 100 erhält von verschiedenen Senso
ren 120 Signale zugeführt und gibt seinerseits Signale an verschiede
Stellwerke 130 ab. Der zweite Rechner 110 erhält ebenfalls Signale
von verschiedenen Sensoren 140 und gibt Stellsignale an verschiedene
Stellwerke 150 ab. Die beiden Rechner 100 und 110 stehen über ein
Speichermittel 160 miteinander in Verbindung. Dieser Speicher ist in
zwei Bereiche 161 und 162 unterteilt. Der erste Bereich 161 dient
zum Datentransfer vom ersten Rechner 100 in den zweiten Rechner 110.
Der zweite Bereich 162 dient zum Datentransfer vom zweiten Rechner
110 in den ersten Rechner 100.
Der erste Rechner 100 kann als Master-Rechner bezeichnet werden. Bei
einer selbstzündenden Brennkraftmaschine berechnet er vorzugsweise
ein Signal, das die einzuspritzende Kraftstoffmenge kennzeichnet. Er
gibt dabei ein entsprechendes Steuersignal (Kraftstoffmengensignal)
an das mengenbestimmende Stellwerk ab. Die Berechnung der einzu
spritzenden Kraftstoffmenge erfolgt abhängig vom Ausgangssignal ei
nes Drehzahlsensors und weiteren Sensoren.
Der zweite Rechner 110 übernimmt in diesem Fall die Berechnung des
Einspritzbeginns. Hierzu gibt er ein Spritzbeginnsignal an ein ent
sprechendes Stellwerk 150 ab. In diesem Fall verarbeitet auch der
zweite Rechner 110 wenigstens das Ausgangssignal eines Drehzahlsen
sors.
Die Erfindung ist nicht auf die Steuerung von Dieselbrennkraftma
schinen beschränkt, sie läßt sich auch auf andere Steuer- und Rege
lungsvorgänge übertragen. Bei einer fremdgezündeten Brennkraftma
schine kann ein Rechner zum Beispiel die Bestimmung der Ansteuer
signale für den Drosselklappensteller und ein andere die Bestimmung
des Zündzeitpunkts oder der Einspritzmenge übernehmen. Desweiteren
ist es vorstellbar, daß die Rechner zum Beispiel Funktionen wie Ge
triebesteuerung, Antiblockierschutz, Abgasrückführung oder Lade
druckregelung ausüben.
Bei Ausfall des zweiten Rechners 110 übernimmt der erste Rechner 100
teilweise dessen Funktion. In diesem Fall wird der Funktionsumfang
der Mengen- und der Spritzbeginnberechnung eingeschränkt. Dadurch
ist ein, wenn auch nicht so komfortabler, Notfahrbetrieb möglich.
Bei Ausfall des ersten Rechners 100 übernimmt der zweite Rechner 110
ebenfalls im eingeschränkten Umfang, die Funktionen des ersten Rech
ners. Hierzu ist es notwendig, daß jeweils beide Rechner auf beide
Stellwerke zugreifen können.
Das erfindungsgemäße Verfahren ist aber nicht nur auf ein solches
Ausführungsbeispiel beschränkt. Es kann auch vorgesehen sein, daß
der eine Rechner nur mit Sensoren verbunden ist, und dieser Rechner
die von diesen Sensoren gelieferten Signale entsprechend auswertet.
Der andere Rechner ist dann mit den Stellwerken verbunden und be
rechnet ausgehend von den Werten des ersten Rechners die Ansteuer
signale für die Stellwerke.
Zur Datenübertragung sind die beiden Rechner mit einem Speichermit
tel 160 verbunden. Besonders vorteilhaft wird hierzu ein DPRAM (Dual
Port RAM) verwendet. Ein solcher DPRAM besitzt zwei Anschlüsse bzw
Bus-Verbindungen. Er kann also mit zwei Rechnern verbunden werden.
Dadurch wird ermöglicht, daß zwei Rechner auf ihn zugreifen.
Erfindungsgemäß wird der Speicher 160 in zwei Bereiche 161 und 162
aufgeteilt. Auf den ersten Bereich 161 kann der erste Rechner nur
schreibend zugreifen. In diesen Bereich kann der erste Rechner 100
also nur Werte einschreiben. Der zweite Rechner 110 dagegen kann auf
diesen Bereich 161 nur lesend zugreifen. Der zweite Rechner 110 kann
also aus diesem Bereich 161 Daten nur auslesen. Der Bereich 161
dient also zum Datentransfer vom ersten Rechner 100 zum zweiten
Rechner 120. Der zweite Bereich 162 dient dagegen zum Datentransfer
vom zweiten Rechner 110 zum ersten Rechner 100. Der erste Rechner
100 kann also auf den zweiten Bereich 162 nur lesend und der zweite
Rechner 110 nur schreibend zugreifen.
Dabei muß sichergestellt werden, daß auf eine Speicherzelle nicht
gleichzeitig von beiden Rechnern zugegriffen wird. Bei den bekannten
Systemen wird dies durch umfangreiche schaltungstechnische Maßnahmen
bzw. durch aufwendige Verfahren sichergestellt.
Das erfindungsgemäße Mehrrechnersystem löst dies dadurch, daß wie
folgt vorgegangen wird. Beide Rechner arbeiten synchron, das heißt
beide Rechner führen entsprechende Funktionen gleichzeitig aus. Dies
bedeutet, daß beide Rechner zum Beispiel gleichzeitig lesend auf den
Speicher 160 zugreifen. Da der erste Rechner nur Werte aus dem zwei
ten Bereich 162 ausliest und der zweite Rechner 110 nur Werte aus
dem ersten Bereich 161 ausliest, ergeben sich keine Zugriffsproble
me. Entsprechendes gilt auch für den schreibenden Zugriff.
Der Ablauf der einzelnen Funktionen wird anhand des Diagramms der
Fig. 3 erläutert. Üblicherweise wird ein Rechner als Masterrechner
bezeichnet. In diesem Ausführungsbeispiel ist dies der erste Rechner
R1. Nachdem von außen ein Interrupt den ersten Rechner R1 erreicht,
startet dieser mit einer vorbestimmten Funktionsabfolge. Gleichzei
tig gibt er einen Interrupt DPI an den zweiten Rechner R2. Auf die
sen Interrupt hin, startet auch der zweite Rechner R2 mit einer be
stimmten Funktionsabfolge. Der Interrupt, der den Rechner R1 star
tet, kann zum einen zeitorientiert oder ereignisorientiert sein. So
kann dieser Interrupt durch eine vorgegebene Taktfrequenz immer in
gleichen Zeitabständen ausgelöst werden. Andererseits ist es aber
auch vorteilhaft, daß dieser ereignisorient ausgelöst wird. Dies
besagt, daß bei Vorliegen eines bestimmten Ereignisses der Interrupt
ausgelöst wird. Ein solches Ereignis ist zum Beispiel das Auftreten
eines Drehzahlimpulses.
Nach Auftreten eines Interrupts starten beide Rechner mit der glei
chen vorgegebenen Funktionsabfolge. In einem ersten Zeitraum E wer
den die Daten aus dem Speicher 160 in den jeweiligen Rechner einge
lesen (Funktion Einlesen). In einem zweiten Zeitraum R berechnen die
Rechner ausgehend von diesen Daten bestimmte Werte (Funktion Rech
nen). In einem sich daran anschließenden Zeitraum S werden Sensor
signale erfaßt. Anschließend daran werden im Zeitraum A die berech
neten Werte und die erfaßten Sensorsignale in den Speicher 160 aus
gelesen (Funktion Auslesen).
Nach einer gewissen Zeitspanne erfolgt dann ein erneuter Interrupt
für den Rechner 1, auf den hin dieser wieder einen Interrupt DPI an
den Rechner 2 weitergibt. Daraufhin arbeiten die beiden Rechner wie
der die einzelnen Funktionen ab.
Wie das Diagramm zeigt, greifen die beiden Rechner R1 und R2 in ei
nen ersten Zeitraum E nur lesend auf den Speicher 160 zu. Erst in
einem späteren Zeitraum S greifen die beiden Rechner schreibend auf
den Speicher zu. Die beiden Funktionen Einlesen und Auslesen sind
durch die Funktion Rechnen getrennt. Dadurch ist gewährleistet, daß
nicht gleichzeitig schreibend und lesend auf einen Speicher zuge
griffen wird.
Durch das Erfassen der Sensorwerte kurz vor Ausgabe der Werte in den
Speicher, stehen diese Werte in beiden Rechnern zur Verfügung. Da
durch ist sichergestellt, daß einem Rechner auch Werte von einem
Sensor zur Verfügung stehen, mit dem er nicht unmittelbar verbunden
ist. Dem ersten Rechner 100 stehen also auch die Werte der Sensoren
140 zur Verfügung.
Bei jedem Interrupt stehen allen Rechnern nach Einlesen des Spei
cherinhalts die gleichen Werte zur Verfügung. Dadurch wird ermög
licht, daß die einzelnen Berechnungen gleichmäßig auf die Rechner
aufgeteilt werden können. So kann der Rechner 1, der eigentlich nur
die Kraftstoffmenge berechnet, noch Aufgaben des Rechners 2 überneh
men. Dadurch ist eine gleichmäßige Auslastung der beiden Rechner
gewährleistet. Die einzelnen Berechnungen können in jedem beliebigen
Rechner durchgeführt werden. Der Rechner 1 kann zum Beispiel ausge
hend von den Werten der Sensoren 140 Signale zur Ansteuerung des
Stellwerks 150, die eigentlich dem zweiten Rechner zugeordnet sind,
ausführen. Dies bietet unter anderem den Vorteil, daß Rechner mit
guten mathematischen Eigenschaften mit Rechnern, die ein gutes
Ein-Ausgangsverhalten aufweisen, gekoppelt werden können.
Die Fig. 2 zeigt ein Blockdiagramm für ein Dreirechnersystem. Der
erste Rechner 200 erfaßt Eingangssignale verschiedener Sensoren 202
und gibt Steuersignale an verschiedene Stellwerke 204 ab. Der zweite
Rechner 300 erfaßt Sensorsignale der Sensoren 302 und gibt Stell
signale an die Stellwerke 304 ab. Der dritte Rechner 400 erfaßt
Signale der Sensoren 402 und gibt Stellsignale an die Stellwerke 404
ab.
Der erste und der zweite Rechner sind jeweils mit dem Speicher 350
verbunden. Dies ist vorzugsweise in drei Bereiche aufgeteilt. Auf
den ersten Bereich 351 und den zweiten Bereich 352 kann der zweite
Rechner nur lesend zugreifen. Auf den dritten Speicherbereich 353
kann er dagegen nur schreibend zugreifen. Auf den ersten und zweiten
Speicherbereich greift der erste Rechner nur schreibend und auf den
dritten Speicherbereich 353 nur lesend zu.
Der erste und der dritte Rechner sind jeweils mit dem Speicher 450
verbunden. Dies ist vorzugsweise in drei Bereiche aufgeteilt. Auf
den ersten Speicherbereich 451 des Speichers 450 greift der dritte
Rechner nur schreibend und der erste Rechner nur lesend zu. Auf den
zweiten und dritten Speicherbereich 452, 453 des Speichers 450
greift der erste Rechner nur schreibend und der dritte Rechner 400
nur lesend zu.
Durch die strichpunktierten Linien ist angedeutet, daß in dem ersten
Speicherbereich 351 des Speichers 350 vom ersten Rechner 200 die
Daten eingelesen werden, die er vom dritten Rechner 400 erhalten
hat. Desweiteren ist gestrichelt angedeutet, daß in den dritten
Speicher 453 des Speichers 450 der erste Rechner 200 die Daten ein
liest, die er vom zweiten Rechner 300 erhalten hat.
Eine besonders vorteilhafte Ausgestaltung der Erfindung bei dem
Dreirechnersystem ergibt sich, wenn der erste Rechner 200 lediglich
die Berechnung der Ansteuersignale für die Stellwerke übernimmt. Der
zweite Rechner 300 übernimmt dann die Berechnung der Grunddaten
(Kraftstoffmengensignal, Spritzbeginnsignal) für den ersten Rechner
200. Der dritte Rechner 400 ist mit der Ein- und Ausgabe verschie
dener Werte von verschiedenen Sensoren ausgelastet.
In Fig. 4 ist ein Ablaufdiagramm der verschiedenen Funktionsabfol
gen eingezeichnet. Bei diesem Ausführungsbeispiel ist der erste
Rechner 200 der Masterrechner. Erhält dieser von außen einen ereig
nis- bzw. zeitorientierten Triggerimpuls, so gibt dieser ein Inter
ruptsignal an den zweiten Rechner 300 und den dritten Rechner 400
weiter. Nach dem Interrupt starten alle drei Rechner mit der Funk
tion Einlesen E der Daten aus dem DPRAM-Speicher. Nach dem Einlesen
der Daten werden ausgehend von diesen Daten verschiedene Werte be
rechnet. Dies ist in dem Diagramm mit R bezeichnet. Daran an
schließend werden in einem weiteren Schritt S die Werte von ver
schiedenen Sensoren eingelesen. Die einzelnen Rechner lesen die
Werte der mit Ihnen direkt verbundenen Sensoren ein. Dabei ist es
nicht zwingend, daß alle Rechner mit Sensoren verbunden sind. Es ist
durchaus denkbar, daß nur ein Rechner, zum Beispiel der dritte Rech
ner 400 mit Sensoren in Verbindung steht. In diesem Fall entfällt
bei den übrigen Rechnern diese Funktion. Anschließend werden die
Daten für den Speicher DPRAM ausgelesen (Funktion A). Dies bedeutet,
die Daten werden in den DPRAM geschrieben.
Der erste Rechner 200 liest (Funktion E) die Daten aus dem Speicher
bereich 353 des Speichers 350 und dem Speicherbereichs 451 des Spei
chers 450. Der zweite Rechner 300 liest die Daten aus den Speicher
bereichen 351, 352 und der dritte Rechner 400 liest die Daten aus
dem Speicherbereich 453 und 452. Während der Funktion Einlesen E
greifen also alle Rechner auf unterschiedliche Speicherbereiche zu.
Auf jeden Speicherbereich wird nur von einem Rechner zugegriffen.
Während der Funktion A (Schreiben in die Speicher), bei dem die
einzelnen Speicherbereiche beschrieben werden, beschreibt der erste
Rechner 200 den Speicherbereich 352 und den Speicherbereich 452. Der
dritte Rechner beschreibt den Speicherbereich 451 und der zweite
Rechner 300 beschreibt den Speicherbereich 353.
An diesen Funktionsablauf schließt sich nochmals ein weiterer Funk
tionsablauf an, bei dem lediglich der Masterrechner (erster Rechner
200) aktiv ist. Es stehen nun die Daten, die der zweite Rechner in
den Speicher eingelesen hat, nur dem zweiten und dem ersten Rechner
zur Verfügung. Der dritte Rechner kann auf die Daten des zweiten
Rechners und umgekehrt noch nicht zugreifen. Daher ist es erforder
lich, daß der erste Rechner in einem weiteren Funktionsablauf die
Daten des zweiten Rechners in den Speicher 450 und die Daten des
dritten Rechners in den Speicher 350 einschreibt.
Der erste Rechner 200 liest aus dem Speicher 353 und dem Speicher
451 Werte ein. Es erfolgt also ein lesender Zugriff auf den DPRAM.
Nach einem möglichen Rechenschritt liest er die Daten, die er aus
dem Speicher 350 eingelesen hat, in den Speicherbereich 453 aus. Die
Werte, die er als Speicherbereich 451 eingelesen hat, liest er in
den Speicherbereich 351 aus. Auf den Speicher DPRAM 351 wird also
schreibend zugegriffen. Durch diese Vorgehensweise ist gewährlei
stet, daß nach dem nächsten Einlesen der Daten in die Rechner alle
Daten allen Rechnern zur Verfügung stehen.
Die beschriebene Vorgehensweise ist nicht nur auf zwei und drei
Rechnersysteme begrenzt. Besonders vorteilhaft kann diese Vorgehens
weise auch auf Rechnersysteme mit mehr als drei Rechnern ausgedehnt
werden. Die Funktionsabfolge, daß die Rechner zuerst lesend und dann
schreibend auf den Speicher zugreifen ist nicht zwingend erforder
lich. Vorteilhaft kann auch zuerst schreibend und dann lesend auf
den Speicher zugegriffen werden.
Üblicherweise werden als Dual Port RAM Speicherbausteine verwendet,
die eine Speicherkapazität von mehr als 2 kByte aufweisen. Für die
im vorhergehenden Text beschriebenen Aufgabe bzgl. des Datenaustau
sches wird lediglich ein halbes kByte Speicherkapazität benötigt.
Erfindungsgemäß wird daher vorgeschlagen, daß die nicht zum Daten
austausch benötigten Speicherbereiche des Dual Port RAMS als exter
nes RAM für die Mikrorechner verwendet werden. Die Vorgehenesweise
bietet den Vorteil, daß externe RAM Bausteine eingespart werden kön
nen. Dadurch können Kosten und Leiterplattenfläche gespart werden.
Weiterhin ist die Zuverlässigkeit höher und die Störanfälligkeit
geringer, da die Anzahl von Bausteinen und Verbindungstellen gerin
ger ist.
Anhand der Fig. 5 soll der Aufbau eines solchen erfindungsgemäßen
Systems näher erläutert werden. Das System gemäß Fig. 5 entspricht
im wesentlichen dem Ausführungsbeispiel nach Fig. 2. So sind auch
entsprechende Bauteile mit den gleichen Bezugsziffern gekennzeich
net. Die Sensoren 402, 202 und 302 sowie die Stellwerke 304, 204 und
404 sind um die Übersichtlichkeit zu erhöhen, weggelassen worden.
Der erste Rechner 200 steht über den Speicher 350 mit dem zweiten
Rechner 300 in Verbindung. Desweiteren steht der erste Rechner 200
über den Speicher 450 mit dem dritten Rechner 400 in Verbindung. Der
Speicher 350 ist in drei Bereiche aufgeteilt. Der erste Bereich ent
spricht den in Fig. 2 beschriebenen Bereichen 351, 352 und 353, die
für den Datenaustausch zwischen den Rechnern benötigt werden. Der
nicht für den Datenaustausch benötigte Speicherbereich ist in zwei
weitere Teile 525 und 530 aufgeteilt. Auf den Speicherbereich 530
greift lediglich der zweite Rechner 300 zu. Hierzu erzeugt ein
erster Decoder 535 ein entsprechendes Ansteuersignal. Auf ein weite
res Speicherelement 550 kann ebenfalls der erste Decoder 535 zugrei
fen. Aus dem Speicherbereich 530 und dem Speicherelement 550 werden
abhängig von den Ausgangssignalene des Decoders 535 Daten ausgelesen
bzw. eingelesen.
Der zweite Teil 525 des Speichers 350 kann von einem zweiten Decoder
520 angesprochen werden. Der Decoder 520 wird von dem ersten Rechner
200 mit entsprechenden Signalen beaufschlagt. Desweiteren kann der
Decoder 520 auch den Speicherbereich 510 des Speichers 450 ansteu
ern. Ferner steuert der zweite Decoder 520 einen externen Speicher
545 an. Aus dem Speicherbereich 525, dem Speicherbereich 510 und dem
Speicherelement 550 kann der Rechner 200 abhängig von den Ausgangs
signalene des Decoders 535 Daten auslesen bzw. einlesen.
Ein dritter Decoder, der von dem dritten Rechner 400 mit Signalen
beaufschlagt wird steuert den Speicherbereich 505 des Speichers 450
sowie den externen Speicher 540 an. Aus dem Speicherbereich 505 und
dem Speicherelement 540 werden durch den Rechner 400 abhängig von
den Ausgangssignalene des Decoders 515 Daten ausgelesen bzw. einge
lesen.
Wie dieses Ausführungsbeispiel zeigt, ist jedem Rechner ein externer
Speicher 540, 545 und 550 zugeordnet. Desweiteren kann der zweite
Rechner 300 auf den Speicherbereich 530 des Speichers 350, der erste
Rechner 200 auf den Speicherbereich 520 des Speichers 350 und auf
den Speicherbereich 510 des Speichers 450 zugreifen. Der dritte
Rechner 400 kann auf den Speicherbereich 505 des Speichers 450
zugreifen.
Besonders vorteilhafte Abwandlungen sehen vor, daß auf externe Spei
cher 540, 545 oder 550 eventuell ganz verzichtet werden kann. Es
kann auch vorgesehen werden, daß nur jeweils ein Rechner auf einen
Speicher zugreift, so ist es zum Beispiel vorstellbar, daß der zwei
te Rechner 300 auf den nicht benötigten Speicherplatz des Speicher
350 zugreift. In diesem Fall hat der erste Rechner nur Zugriff auf
den Speicher 545 bzw. den Speicherbereich 510 des Speichers 450. In
diesem Fall ist es denkbar, daß das Speicherelement 550 völlig ein
gespart werden kann.
Claims (8)
1. Mehrrechnersystem, insbesondere zur Steuerung von Vorgän
gen in Kraftfahrzeugen, wobei wenigstens zwei Rechner ge
meinsam auf ein Speichermittel zugreifen und das Spei
chermittel in wenigstens zwei Bereiche unterteilt ist,
wobei auf ein Speicherbereich ein erster Rechner nur le
send und ein zweiter Rechner nur schreibend zugreift und
das auf einen weiteren Speicherbereich der zweite Rechner
nur lesend und der erste Rechner nur schreibend zugreift,
wobei die Rechner so synchronisiert sind, dass die Rech
ner zum gleichen Zeitpunkt in der gleichen Weise auf das
Speichermittel zugreifen und dass die Rechner jeweils
gleichzeitig gleiche Funktionsabfolgen (lesend, rechnend,
schreibend) ausführen.
2. Mehrrechnersystem nach Anspruch 1, dadurch gekennzeich
net, dass ein Master-Rechner einen Interrupt an wenig
stens einen Slave-Rechner abgibt, auf den hin alle Rech
ner mit der gleichen Funktionsabfolge starten.
3. Mehrrechnersystem nach einem der vorhergehenden Ansprü
che, dadurch gekennzeichnet, dass anschließend an den In
terrupt die Rechner zuerst lesend und danach schreibend
auf das Speichermittel zugreifen.
4. Mehrrechnersystem nach einem der vorhergehenden Ansprü
che, dadurch gekennzeichnet, dass der Slave-Rechner bei
Ausfall des Master-Rechners einen Notbetrieb ermöglicht,
in dem er dessen Funktion teilweise übernimmt.
5. Mehrrechnersystem nach wenigstens einem der Ansprüche 1
bis 3, dadurch gekennzeichnet, dass der Master-Rechner
bei Ausfall des Slave-Rechners ein Notbetrieb ermöglicht,
in dem er dessen Funktion teilweise übernimmt.
6. Mehrrechnersystem nach einem der vorhergehenden Ansprü
che, dadurch gekennzeichnet, dass der Master-Rechner ein
Kraftstoffmengensignal und der Slave-Rechner ein Spritz
beginnsignal berechnet.
7. Mehrrechnersystem nach einem der vorhergehenden Ansprü
che, dadurch gekennzeichnet, dass der Master-Rechner An
steuersignale berechnet und der Slave-Rechner das Kraft
stoffmengensignal und das Spritzbeginnsignal berechnet,
wobei ein weiterer Slave-Rechner die Ein- und Ausgabe von
Daten übernimmt.
8. Mehrrechnersystem nach einem der vorhergehenden Ansprü
che, dadurch gekennzeichnet, dass die nicht zum Datenaus
tausch benötigten Speicherbereiche der Speichermittel als
externer Speicher für die Mikrorechner verwendet werden.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4129809A DE4129809C2 (de) | 1991-01-28 | 1991-09-07 | Mehrrechnersystem |
FR9116408A FR2672140B1 (fr) | 1991-01-28 | 1991-12-31 | Systeme a multicalculateur. |
JP00526992A JP3452324B2 (ja) | 1991-01-28 | 1992-01-16 | マルチコンピュータ装置 |
US08/222,505 US5454095A (en) | 1991-01-28 | 1994-04-05 | Multi-processor system in which at least two processors access the same memory |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4102390 | 1991-01-28 | ||
DE4129809A DE4129809C2 (de) | 1991-01-28 | 1991-09-07 | Mehrrechnersystem |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4129809A1 DE4129809A1 (de) | 1992-07-30 |
DE4129809C2 true DE4129809C2 (de) | 2000-08-17 |
Family
ID=6423818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4129809A Expired - Fee Related DE4129809C2 (de) | 1991-01-28 | 1991-09-07 | Mehrrechnersystem |
Country Status (2)
Country | Link |
---|---|
US (1) | US5454095A (de) |
DE (1) | DE4129809C2 (de) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0600623B1 (de) * | 1992-12-03 | 1998-01-21 | Advanced Micro Devices, Inc. | Servoregelkreissteuerung |
US7174352B2 (en) | 1993-06-03 | 2007-02-06 | Network Appliance, Inc. | File system image transfer |
US6604118B2 (en) | 1998-07-31 | 2003-08-05 | Network Appliance, Inc. | File system image transfer |
FI94190C (fi) * | 1993-10-13 | 1995-07-25 | Nokia Telecommunications Oy | Menetelmä ja järjestelmä tiedon siirtämiseksi prosessorien välillä |
SE503397C2 (sv) * | 1994-09-11 | 1996-06-03 | Mecel Ab | Arrangemang och förfarande för ett reglersystem till en förbränningsmotor innefattande ett distribuerat datornät |
US5574863A (en) * | 1994-10-25 | 1996-11-12 | Hewlett-Packard Company | System for using mirrored memory as a robust communication path between dual disk storage controllers |
US5774745A (en) * | 1995-03-31 | 1998-06-30 | Cirrus Logic, Inc. | Method and apparatus for writing and reading entries in an event status queue of a host memory |
US5687091A (en) * | 1995-06-08 | 1997-11-11 | Automatic Control Technologies | Integrated arrangement for monitoring without interrupt process flow by novel sensor arrangement with unique data processing system |
US5845322A (en) * | 1996-09-17 | 1998-12-01 | Vlsi Technology, Inc. | Modular scalable multi-processor architecture |
DE19736231C2 (de) * | 1997-08-20 | 2000-03-02 | Siemens Ag | Verfahren zum Ändern von Daten eines Steuergeräts für ein Kraftfahrzeug |
US6457130B2 (en) | 1998-03-03 | 2002-09-24 | Network Appliance, Inc. | File access control in a multi-protocol file server |
US6233659B1 (en) * | 1998-03-05 | 2001-05-15 | Micron Technology, Inc. | Multi-port memory device with multiple modes of operation and improved expansion characteristics |
US6317844B1 (en) | 1998-03-10 | 2001-11-13 | Network Appliance, Inc. | File server storage arrangement |
US6119244A (en) * | 1998-08-25 | 2000-09-12 | Network Appliance, Inc. | Coordinating persistent status information with multiple file servers |
US6343984B1 (en) | 1998-11-30 | 2002-02-05 | Network Appliance, Inc. | Laminar flow duct cooling system |
IT1313337B1 (it) * | 1999-08-03 | 2002-07-23 | Lorenzo Ancona | Sistema per la gestione centralizzata di dispositivi di comando e diattuazione in un impianto elettrico, mediante unita' computerizzate |
US6961749B1 (en) | 1999-08-25 | 2005-11-01 | Network Appliance, Inc. | Scalable file server with highly available pairs |
DE19949051A1 (de) * | 1999-10-11 | 2001-04-12 | Bosch Gmbh Robert | Verfahren und Vorrichtung zur Steuerung von Vorgängen in einem Fahrzeug |
US6668264B1 (en) | 2001-04-03 | 2003-12-23 | Network Appliance, Inc. | Resynchronization of a target volume with a source volume |
US7178137B1 (en) | 2001-04-05 | 2007-02-13 | Network Appliance, Inc. | Automatic verification of scheduling domain consistency |
US7694302B1 (en) | 2001-04-05 | 2010-04-06 | Network Appliance, Inc. | Symmetric multiprocessor synchronization using migrating scheduling domains |
ITBO20030256A1 (it) * | 2003-04-30 | 2004-11-01 | Magneti Marelli Powertrain Spa | Sistema di controllo con architettura multiprocessore per |
US7373640B1 (en) | 2003-07-31 | 2008-05-13 | Network Appliance, Inc. | Technique for dynamically restricting thread concurrency without rewriting thread code |
US8171480B2 (en) * | 2004-01-27 | 2012-05-01 | Network Appliance, Inc. | Method and apparatus for allocating shared resources to process domains according to current processor utilization in a shared resource processor |
US8799706B2 (en) * | 2004-03-30 | 2014-08-05 | Hewlett-Packard Development Company, L.P. | Method and system of exchanging information between processors |
US7889645B2 (en) * | 2004-06-17 | 2011-02-15 | Qualcomm Incorporated | Hybrid coordination function implementation |
EP1616746B1 (de) | 2004-07-15 | 2010-02-24 | Hitachi, Ltd. | Fahrzeugsteuerungsystem |
KR100609265B1 (ko) * | 2004-11-10 | 2006-08-09 | 삼성전자주식회사 | 메모리 장치 및 메모리 장치의 듀얼 포트 동작 방법 |
US8347293B2 (en) * | 2005-10-20 | 2013-01-01 | Network Appliance, Inc. | Mutual exclusion domains to perform file system processes on stripes |
GB2435939A (en) * | 2006-01-23 | 2007-09-12 | John Phillip Chevalier | Electronic control system for safety or security critical devices or systems in a vehicle |
US8089516B2 (en) * | 2006-06-20 | 2012-01-03 | Hewlett-Packard Development Company, L.P. | Event management for camera systems |
WO2008008512A2 (en) | 2006-07-14 | 2008-01-17 | Interdigital Technology Corporation | Symbol rate hardware accelerator |
US8209470B2 (en) * | 2009-04-10 | 2012-06-26 | Honeywell International Inc. | CPU data bus PLD/FPGA interface using dual port RAM structure built in PLD |
US8347044B2 (en) * | 2009-09-30 | 2013-01-01 | General Electric Company | Multi-processor based programmable logic controller and method for operating the same |
US8473818B2 (en) * | 2009-10-12 | 2013-06-25 | Empire Technology Development Llc | Reliable communications in on-chip networks |
US8627331B1 (en) | 2010-04-30 | 2014-01-07 | Netapp, Inc. | Multi-level parallelism of process execution in a mutual exclusion domain of a processing system |
CN102540953A (zh) * | 2010-12-24 | 2012-07-04 | 深圳市合信自动化技术有限公司 | 可编程逻辑控制器的数据处理方法及可编程逻辑控制器 |
US11836547B2 (en) * | 2017-09-27 | 2023-12-05 | Hitachi Astemo, Ltd. | Data transmission device including shared memory having exclusive bank memories for writing and reading |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4603383A (en) * | 1980-12-05 | 1986-07-29 | Minolta Camera Kabushiki Kaisha | Apparatus for direct data transfer among central processing units |
EP0249720A2 (de) * | 1986-06-20 | 1987-12-23 | International Business Machines Corporation | Multiprozessoren mit gemeinschaftlichem Speicher |
US4875157A (en) * | 1987-03-18 | 1989-10-17 | International Telesystems Corporation | Alternate memory addressing for information storage and retrieval |
GB2217056A (en) * | 1988-03-23 | 1989-10-18 | Benchmark Technologies | Double buffering in multi-processor |
US4894797A (en) * | 1986-11-17 | 1990-01-16 | Amp Incorporated | FIFO data storage system using PLA controlled multiplexer for concurrent reading and writing of registers by different controllers |
EP0375194A2 (de) * | 1988-12-19 | 1990-06-27 | Advanced Micro Devices, Inc. | RAM mit doppelten Ein/Ausgängen |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4164787A (en) * | 1977-11-09 | 1979-08-14 | Bell Telephone Laboratories, Incorporated | Multiple microprocessor intercommunication arrangement |
US4443846A (en) * | 1980-12-29 | 1984-04-17 | Sperry Corporation | Dual port exchange memory between multiple microprocessors |
SE445572B (sv) * | 1981-06-29 | 1986-06-30 | Volvo Ab | Hjulspinnreglersystem for motorfordon |
US4876664A (en) * | 1987-08-26 | 1989-10-24 | Allen-Bradley Company, Inc. | Programmable controller with a dual intermodule message system |
-
1991
- 1991-09-07 DE DE4129809A patent/DE4129809C2/de not_active Expired - Fee Related
-
1994
- 1994-04-05 US US08/222,505 patent/US5454095A/en not_active Expired - Lifetime
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4603383A (en) * | 1980-12-05 | 1986-07-29 | Minolta Camera Kabushiki Kaisha | Apparatus for direct data transfer among central processing units |
EP0249720A2 (de) * | 1986-06-20 | 1987-12-23 | International Business Machines Corporation | Multiprozessoren mit gemeinschaftlichem Speicher |
US4894797A (en) * | 1986-11-17 | 1990-01-16 | Amp Incorporated | FIFO data storage system using PLA controlled multiplexer for concurrent reading and writing of registers by different controllers |
US4875157A (en) * | 1987-03-18 | 1989-10-17 | International Telesystems Corporation | Alternate memory addressing for information storage and retrieval |
GB2217056A (en) * | 1988-03-23 | 1989-10-18 | Benchmark Technologies | Double buffering in multi-processor |
EP0375194A2 (de) * | 1988-12-19 | 1990-06-27 | Advanced Micro Devices, Inc. | RAM mit doppelten Ein/Ausgängen |
Also Published As
Publication number | Publication date |
---|---|
DE4129809A1 (de) | 1992-07-30 |
US5454095A (en) | 1995-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4129809C2 (de) | Mehrrechnersystem | |
DE4221815C2 (de) | Verfahren zur Behandlung von Störungen in einer elektronischen Steuereinheit eines Fahrzeugs | |
DE4000443C2 (de) | ||
DE69428633T2 (de) | Fahrzeugsdiagnosesystem | |
DE4410775C2 (de) | Steuergerät und Arbeitsverfahren eines Betriebssystems für dieses Steuergerät | |
DE4003507A1 (de) | Digitales steuergeraet, insbesondere zuend- und/oder einspritzsteuergeraet fuer kraftfahrzeuge | |
DE68915074T2 (de) | Integrierte Zeitgeberschaltung mit mehreren Kanälen und zugeordnetem Bedienungsprozessor. | |
DE3904891A1 (de) | Fehlerdiagnosesystem fuer ein kraftfahrzeug | |
DE102006019305A1 (de) | Verfahren zur Datenübertragung von und zu einem Steuergerät | |
DE3336977A1 (de) | Ausfallsicheres verfahren fuer einen fahrzeugcomputer | |
DE3501194C2 (de) | Verfahren und Vorrichtung zum Datenaustausch zwischen Mikroprozessoren | |
EP1590737A1 (de) | Steuergerät für ein kraftfahrzeug und kommunikationsverfahren dafür | |
EP3736688A1 (de) | Virtuelles steuergerät | |
DE2806409A1 (de) | Vorrichtung zur reduzierung der befehlsausfuehrungszeit bei einem rechner mit indirekter adressierung eines datenspeichers | |
DE2720842B2 (de) | Datenübertragungssystem | |
DE60128596T2 (de) | Interrupt-steuerung für einen mikroprozessor | |
DE19755311B4 (de) | Verfahren und Vorrichtung zur Informationsübertragung in Kraftfahrzeugen | |
EP0677147B1 (de) | Controller in einem rechenwerk | |
DE19903302B4 (de) | Verfahren und Vorrichtung zur Überprüfung der Funktion eines Rechners | |
EP0562151A1 (de) | Integrierter Mikroprozessor | |
DE19642843A1 (de) | Steuergerät | |
DE69127592T2 (de) | Dialogverfahren zwischen den Prozessoren eines Systems, System zu seiner Durchführung und zu seinem Einsatz für die Verteilung von Prozessen auf Prozessoren | |
EP1098236A2 (de) | Übertragungseinrichtung | |
DE102004008869A1 (de) | Steuergerät und Computerprogramm zum Steuern eines Antriebsaggregates eines Fahrzeugs | |
EP1085387A2 (de) | Speichersteuerung zum Durchführen von Schaltbefehlen für den Zugriff auf Speicherzellen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |