DE4129809A1 - Mehrrechnersystem - Google Patents
MehrrechnersystemInfo
- Publication number
- DE4129809A1 DE4129809A1 DE4129809A DE4129809A DE4129809A1 DE 4129809 A1 DE4129809 A1 DE 4129809A1 DE 4129809 A DE4129809 A DE 4129809A DE 4129809 A DE4129809 A DE 4129809A DE 4129809 A1 DE4129809 A1 DE 4129809A1
- Authority
- DE
- Germany
- Prior art keywords
- computer
- memory
- computers
- computer system
- master
- 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.)
- Granted
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 Oberbegriff
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, daß wenig
stens zwei Rechner gemeinsam auf den gleichen Speicher zugreifen.
Bei diesen Einrichtungen treten Schwierigkeiten auf, wenn beide
Rechner gleichzeitig auf die Speicherzelle zugreifen. Um dies zu
verhindern, sind aufwendige Maßnahmen erforderlich, die sicherstel
len, daß nicht mehrere Rechner gleichzeitig auf die gleiche Spei
cherzelle zugreifen.
Der Erfindung liegt die Aufgabe zugrunde, bei einem System mit meh
reren Rechnern die Sicherheit der Datenübertragung zu gewährleisten,
die Verzögerungen durch den Datenaustausch zwischen den Rechnern zu
minimieren und die Laufzeitbelastung der einzelnen Rechner sowie des
Gesamtsystems zu optimieren.
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 verschiedene
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 Speicherbereich 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 Fort RAMS als exter
nes RAM für die Mikrorechner verwendet werden. Die Vorgehensweise
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 Verbindungsstellen 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 Ausgangssignalen 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
signalen 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 Ausgangssignalen 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 (9)
1. Mehrrechnersystem insbesondere zur Steuerung von Vorgängen in
Kraftfahrzeugen, wobei wenigstens zwei Rechner gemeinsam auf ein
Speichermittel zugreifen, dadurch gekennzeichnet, daß das Speicher
mittel in wenigstens zwei Bereiche unterteilt ist, daß auf einen
Speicherbereich ein erster Rechner nur lesend und ein zweiter Rech
ner nur schreibend zugreift, und daß auf einen weiteren Speicherbe
reich der zweite Rechner nur lesend und der erste Rechner nur
schreibend zugreift, wobei die Rechner so synchronisiert werden, daß
die Rechner zum gleichen Zeitpunkt in der gleichen Weise auf das
Speichermittel zugreifen.
2. Mehrrechnersystem nach Anspruch 1, dadurch gekennzeichnet, daß
alle Rechner jeweils gleiche Funktionsabfolgen (Lesen, Rechnen,
Schreiben) ausführen.
3. Mehrrechnersystem nach einem der vorstehenden Ansprüche, dadurch
gekennzeichnet, daß ein Master-Rechner einen Interrupt an wenigstens
einen Slave-Rechner abgibt auf den hin alle Rechner mit der gleichen
Funktionsabfolge starten.
4. Mehrrechnersystem nach einem der vorstehenden Ansprüche, dadurch
gekennzeichnet, daß anschließend an den Interrupt die Rechner zuerst
lesend und danach schreibend auf das Speichermittel zugreifen.
5. Mehrrechnersystem nach einem der vorstehenden Ansprüche, dadurch
gekennzeichnet, daß der Slave-Rechner bei Ausfall des Master-Rech
ners einen Notbetrieb ermöglicht, indem er dessen Funktion teilweise
übernimmt.
6. Mehrrechnersystem nach wenigstens einem der Ansprüche 1 bis 4,
dadurch gekennzeichnet, daß daß der Master-Rechner bei Ausfall des
Slave-Rechners einen Notbetrieb ermöglicht, indem er dessen Funktion
teilweise übernimmt.
7. Mehrrechnersystem nach einem der vorstehenden Ansprüche, dadurch
gekennzeichnet, daß der Master-Rechner, ein Kraftstoffmengensignal
und der Slave-Rechner ein Spritzbeginnsignal berechnet.
8. Mehrrechnersystem nach einem der Ansprüche 1 bis 6, dadurch ge
kennzeichnet, daß der Master-Rechner Ansteuersignale berechnet, und
der Slave-Rechner das Kraftstoffmengensignal und das Spritzbeginn
signal berechnet, sowie ein weiterer Slave-Rechner die Ein- und Aus
gabe von Daten übernimmt.
9. Mehrrechnersystem nach einem der Ansprüche 1 bis 8, dadurch ge
kennzeichnet, daß die nicht zum Datenaustausch benötigten Speicher
bereiche der Speichermittel als externer Speicher für die Mikrorech
ner 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 true DE4129809A1 (de) | 1992-07-30 |
DE4129809C2 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) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1995010811A1 (en) * | 1993-10-13 | 1995-04-20 | Nokia Telecommunications Oy | Method and system for transferring data between processors |
WO1996007819A1 (en) * | 1994-09-11 | 1996-03-14 | Mecel Ab | Arrangement and method for configuration of distributed computer networks implemented in multi cylinder combustion engines |
DE19736231A1 (de) * | 1997-08-20 | 1999-02-25 | Siemens Ag | Verfahren zum Ändern von Daten eines Steuergeräts für ein Kraftfahrzeug |
EP1074901A2 (de) * | 1999-08-03 | 2001-02-07 | Lorenzo Ancona | Programmierbare und computerisierte Systemeinheit für eine zentralisierte Verwaltung von Befehls- und Antriebsvorrichtungen in elektrischen Betriebseinrichtungen |
EP1093037A2 (de) * | 1999-10-11 | 2001-04-18 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Steuerung von Vorgängen in einem Fahrzeug |
EP2177413A3 (de) * | 2004-07-15 | 2011-02-16 | Hitachi Ltd. | Fahrzeugsteuerungssystem |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69316559T2 (de) * | 1992-12-03 | 1998-09-10 | Advanced Micro Devices Inc | Servoregelkreissteuerung |
US6604118B2 (en) | 1998-07-31 | 2003-08-05 | Network Appliance, Inc. | File system image transfer |
US7174352B2 (en) | 1993-06-03 | 2007-02-06 | Network Appliance, Inc. | File system image transfer |
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 |
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 |
US6961749B1 (en) | 1999-08-25 | 2005-11-01 | Network Appliance, Inc. | Scalable file server with highly available pairs |
US6668264B1 (en) | 2001-04-03 | 2003-12-23 | Network Appliance, Inc. | Resynchronization of a target volume with a source volume |
US7694302B1 (en) | 2001-04-05 | 2010-04-06 | Network Appliance, Inc. | Symmetric multiprocessor synchronization using migrating scheduling domains |
US7178137B1 (en) | 2001-04-05 | 2007-02-13 | Network Appliance, Inc. | Automatic verification of scheduling domain consistency |
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 |
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 |
KR20090039761A (ko) * | 2006-07-14 | 2009-04-22 | 인터디지탈 테크날러지 코포레이션 | 심볼 레이트 하드웨어 가속기 |
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 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4164787A (en) * | 1977-11-09 | 1979-08-14 | Bell Telephone Laboratories, Incorporated | Multiple microprocessor intercommunication arrangement |
JPS5797133A (en) * | 1980-12-05 | 1982-06-16 | Minolta Camera Co Ltd | Control system of data transfer |
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 |
US5010476A (en) * | 1986-06-20 | 1991-04-23 | International Business Machines Corporation | Time multiplexed system for tightly coupling pipelined processors to separate shared instruction and data storage units |
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 |
US4876664A (en) * | 1987-08-26 | 1989-10-24 | Allen-Bradley Company, Inc. | Programmable controller with a dual intermodule message system |
GB2217056A (en) * | 1988-03-23 | 1989-10-18 | Benchmark Technologies | Double buffering in multi-processor |
US5014247A (en) * | 1988-12-19 | 1991-05-07 | Advanced Micro Devices, Inc. | System for accessing the same memory location by two different devices |
-
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
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4497671B4 (de) * | 1993-10-13 | 2004-02-05 | Nokia Telecommunications Oy | Verfahren und System zur Übertragung von Daten zwischen Prozessoren |
GB2298064A (en) * | 1993-10-13 | 1996-08-21 | Nokia Telecommunications Oy | Transferring data between processors |
GB2298064B (en) * | 1993-10-13 | 1998-01-14 | Nokia Telecommunications Oy | Method and system for transferring data between processors |
WO1995010811A1 (en) * | 1993-10-13 | 1995-04-20 | Nokia Telecommunications Oy | Method and system for transferring data between processors |
WO1996007819A1 (en) * | 1994-09-11 | 1996-03-14 | Mecel Ab | Arrangement and method for configuration of distributed computer networks implemented in multi cylinder combustion engines |
DE19736231A1 (de) * | 1997-08-20 | 1999-02-25 | Siemens Ag | Verfahren zum Ändern von Daten eines Steuergeräts für ein Kraftfahrzeug |
DE19736231C2 (de) * | 1997-08-20 | 2000-03-02 | Siemens Ag | Verfahren zum Ändern von Daten eines Steuergeräts für ein Kraftfahrzeug |
EP1074901A2 (de) * | 1999-08-03 | 2001-02-07 | Lorenzo Ancona | Programmierbare und computerisierte Systemeinheit für eine zentralisierte Verwaltung von Befehls- und Antriebsvorrichtungen in elektrischen Betriebseinrichtungen |
EP1074901A3 (de) * | 1999-08-03 | 2004-01-07 | Lorenzo Ancona | Programmierbare und computerisierte Systemeinheit für eine zentralisierte Verwaltung von Befehls- und Antriebsvorrichtungen in elektrischen Betriebseinrichtungen |
EP1093037A3 (de) * | 1999-10-11 | 2004-01-21 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Steuerung von Vorgängen in einem Fahrzeug |
EP1093037A2 (de) * | 1999-10-11 | 2001-04-18 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Steuerung von Vorgängen in einem Fahrzeug |
EP2177413A3 (de) * | 2004-07-15 | 2011-02-16 | Hitachi Ltd. | Fahrzeugsteuerungssystem |
US8645022B2 (en) | 2004-07-15 | 2014-02-04 | Hitachi, Ltd. | Vehicle control system |
US9650038B2 (en) | 2004-07-15 | 2017-05-16 | Hitachi, Ltd. | Vehicle control system |
Also Published As
Publication number | Publication date |
---|---|
US5454095A (en) | 1995-09-26 |
DE4129809C2 (de) | 2000-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4129809C2 (de) | Mehrrechnersystem | |
DE69428633T2 (de) | Fahrzeugsdiagnosesystem | |
DE4410775C2 (de) | Steuergerät und Arbeitsverfahren eines Betriebssystems für dieses Steuergerät | |
DE2953861C2 (de) | ||
EP0512240A1 (de) | System zur Steuerung eines Kraftfahrzeuges | |
DE3508291A1 (de) | Realzeit-datenverarbeitungssystem | |
DE4003507A1 (de) | Digitales steuergeraet, insbesondere zuend- und/oder einspritzsteuergeraet fuer kraftfahrzeuge | |
DE102006019305A1 (de) | Verfahren zur Datenübertragung von und zu einem Steuergerät | |
DE68922545T2 (de) | Zugeordneter Dienstprozessor mit Übertragungsmöglichkeiten zwischen Kanälen. | |
EP0886823B1 (de) | Verfahren zur überprüfung der funktionsfähigkeit einer recheneinheit | |
DE4005042C2 (de) | Mehrrechnersystem zur Durchführung von Bewegungssteuerungen | |
DE3543996C2 (de) | Verfahren und Vorrichtung zur Anpassung eines Mehrrechnersystems an verschiedene Anwendungsbedingungen | |
EP1565825A2 (de) | Einrichtung und verfahren zur analyse von eingebetteten systemen | |
DE3501194C2 (de) | Verfahren und Vorrichtung zum Datenaustausch zwischen Mikroprozessoren | |
EP1093037B1 (de) | Verfahren und Vorrichtung zur Steuerung von Vorgängen in einem Fahrzeug | |
EP0207051B1 (de) | Mikrorechnersystem | |
DE69411096T2 (de) | Entwicklungsunterstützungssystem für einen Mikrocomputer mit internem Cachespeicher | |
EP3736688B1 (de) | Virtuelles steuergerät | |
DE69232371T2 (de) | Programmierbares Steuergerät | |
DE19607101A1 (de) | Elektronisches Gerät und Einrichtung zur Datenübertragung zwischen zwei gleichartig aufgebauten elektronischen Geräten | |
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 | |
DE10200242A1 (de) | Verfahren zur Funktionsüberwachung eines Steuergeräts | |
EP0562151A1 (de) | Integrierter Mikroprozessor |
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 |