EP0209530A1 - Multiprocessor memory access system - Google Patents

Multiprocessor memory access system

Info

Publication number
EP0209530A1
EP0209530A1 EP19860900059 EP86900059A EP0209530A1 EP 0209530 A1 EP0209530 A1 EP 0209530A1 EP 19860900059 EP19860900059 EP 19860900059 EP 86900059 A EP86900059 A EP 86900059A EP 0209530 A1 EP0209530 A1 EP 0209530A1
Authority
EP
European Patent Office
Prior art keywords
processor
memory
multiplexer
common
priority
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.)
Ceased
Application number
EP19860900059
Other languages
German (de)
French (fr)
Inventor
Klaus Gotschlich
Gerhard Lotterbach
Egbert Perenthaler
Jan Faas Van Woudenberg
Udo Zucker
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of EP0209530A1 publication Critical patent/EP0209530A1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control

Definitions

  • the invention is based on a multiprocessor system according to the preamble of the main claim.
  • a multiprocessor system is already known from US Pat. No. 4,164,787, in which two processors are connected to a multiplexer in such a way that the multiplexer in each case switches the entire address and data bus of a processor to a common memory.
  • the multiplexer is regularly switched synchronously with a clock generator, so that a time-division multiplex of constant switching frequency results for the access.
  • the disadvantage of this multiprocessor system is the fixed synchronism, which does not allow a processor to continuously access the memory for longer times than half a clock period of the clock. Complex procedures in the programs of the processors are therefore necessary, for example via interrupt controls, in order to ensure that a longer program is worked through correctly. Furthermore, hardware circuits are necessary to inform the respective processor that the next the multiplexer will switch.
  • the fixed switching frequency effectively reduces the service life of the memory's idress and data bus, since after switching, no access is possible on the bus lines during the settling times of the signals.
  • the multiprocessor system according to the invention with the characterizing features of the main claim has the advantage that an undisturbed access of a processor to the common memory is possible, which is only interrupted by an access request by a processor of higher priority. In this way, lengthy procedures of a processor can be carried out continuously.
  • the asynchronous coupling of the processors via the shared memory enables fast data exchange between the processors, since the multiplexer is not supplied with a fixed clock frequency. It can switch to memory immediately after a data transfer is completed so that the next processor can read the stored date.
  • This coupling which is adapted to the requirements of the processors, increases the overall throughput and the performance of the multiprocessor system according to the invention considerably.
  • the priority assignment to the individual processors is carried out in a particularly simple manner if at least the memory access signals (read, write, chip select) or the multiplexer selection signals of the processors for the common memory are fed to the priority encoder. These signals provide a sufficient and particularly simple basis for the selection logic of the priority encoder.
  • a typing Locking for the low-priority processors offers special security when two processors want to access the memory and the multiplexer at the same time and the signals - especially on the address lines of the shared memory - have not yet settled. This prevents undefined write operations in the memory.
  • connection between the processors and the address bus of the common memory is made via an address memory that can be released by the multiplexer and, moreover, if the connection between the processors and the data bus of the shared memory are guided via transceivers that can be released by the multiplexer.
  • the circuitry complexity for the multiplexer is also reduced, since only the enable lines for address memory and transceiver have to be switched to assign a processor.
  • FIG. 1 An embodiment of the invention is shown in the drawing and explained in more detail in the following description.
  • the sole figure shows a multiprocessor system with two processors, which is used as a control device in a motor vehicle for controlling the injection.
  • the figure shows two microprocessors 1, 2, of which the first microprocessor 1 represents the master processor, the second microprocessor 2 the slave processes sor.
  • the processors 1, 2 are each connected to a multiplexer 3 and a common memory 4.
  • the processor 1 is connected via an address memory 5 and the processor 2 via an address memory 6 to the address bus 4 1 of the memory 4.
  • the processor 1 is connected to the data bus 42 of the memory 4 via a transceiver 7 and the processor 2 via a transceiver 8.
  • a priority encoder 9 connects the processor 1 and the processor 2 to the multiplexer 3.
  • a write lock 10 is inserted between the processor 2 and the multiplexer 3.
  • the master processor 1 is connected with a port P1 to a bus 51, which leads to the address memory 4 and the transceiver 7.
  • the address memory 5 is activated via a line 53 by a signal at an output ALE1 (address latch enable).
  • the slave processor 2 is connected completely symmetrically with a port P2 to a bus 61, which leads to the address memory 6 and the transceiver 8.
  • the address memory 6 is activated via a line 63 by a signal at an output ALE2.
  • the outputs of the address memories 5, 6 are connected via an address bus 41 to the address input A of the common memory 4.
  • the associated data are transmitted via a data bus 42, which is connected between the transceivers 7, 8 and the common memory 4.
  • the write signal WR1 and the read signal RD1 of the master processor 1 are routed to the multiplexer 3.
  • the multiplexer selection signals MS1 of the master processor 1 and MS2 of the slave processor 2 are routed to the priority encoder 9, which activates the multiplexer 3 via a line 91 and the write lock 10 and an input BUSY of the slave processor 2 via a line 92 speaks.
  • the multiplexer 3 controls the transceiver 7 or 8 via a line 71 or 81 and the address memory 5 or 6 via a line 52 or 62.
  • the memory 4 is controlled by the multiplexer 3 via a line 43.
  • This two-processor system is used in a control unit for a motor vehicle, in which the master processor 1 receives operating data 11 from the internal combustion engine.
  • the master processor 1 controls the ignition of the internal combustion engine from the rotational speed n, the load L and the temperature T and calculates default data for the injection.
  • the slave processor 2 is used to control an injection device 12, wherein it separately and sequentially measures the required injection quantities at the correct injection times for each cylinder of the internal combustion engine. For this purpose, he receives operating data 13 from the internal combustion engine, e.g. the delivery pressure of the petrol pump.
  • the coupling between master processor 1 and slave processor 2 via the common memory 4 serves to transmit the control specifications and reciprocal transmission of operating data.
  • the coupling is designed so that the master processor 1 can access the common memory 4 as if the slave processor 2 were not present at all.
  • the slave processor 2, on the other hand, is interrupted when the shared memory 4 is accessed, or access is not even made possible when the master processor 1 accesses.
  • the multiplexer 3 When a data is transferred from the master processor 1 to the common memory 4, the multiplexer 3 is first activated by a signal MS1 via the priority encoder 9 and the address of the memory location is placed on the port P1. After address memory 5 is released via line 52 by setting the signal ALE1, the address is loaded into the address memory 5 and held there by withdrawing the signal ALE1. The date is then applied to port P1 and the transceiver 7 is activated by multiplexer 3 via line 71. The data is sent from port P1 to transceiver 7, the direction of transmission of which is determined by signal RD1. The memory 4 is now released for writing by a signal on line 43.
  • the multiplexer 3 releases the transceiver 7, so that the data present at the port P1 can be written into the associated address in the memory 4.
  • the reading process by the master processor 1 takes place in a manner equivalent to the writing process.
  • the priority encoder 9 is addressed first. This forms a signal for the write lock 10, which immediately interrupts write access by the slave processor 2 to the multiplexer 3 or blocks a future access request. For this purpose, this signal is routed to a BUSY input of slave processor 2. This input is queried by the slave processor 2 after each access to the shared memory 4. If there is a signal from the priority encoder 9, the access is repeated as soon as the write lock 10 is released again.
  • the slave processor 2 can freely access the memory 4, the functional sequence in the address memory 6 and in the transceiver 8 being completely identical to the functional sequence in the address memory 5 and in the transceiver 7 when the master processor 1 accesses it.
  • the processor 4 is accessed while the memory 4 is being accessed, active, the priority encoder 9 is immediately activated by the signal MS1 and the write lock 10 is switched on.
  • the multiplexer 3 withdraws the releases for the address memory 6 and the transceiver 8, so that their inputs and outputs to the buses 4 1, 42 of the common memory 4 become high-resistance.
  • the signal at the BUSY input tells the slave processor 2 in time that no information is lost.
  • the slave processor 2 repeats its interrupted access until the BUSY signal is withdrawn.
  • processors can be coupled via a common memory.
  • each processor is assigned an address memory and a transceiver, which are controlled by a common multiplexer.
  • a priority encoder then blocks the lower priority processors from accessing the shared memory when a higher priority processor accesses them.
  • it depends on the type of modules used, which control signals are present, whether there are separate write and read signals from the processors, whether there is a common clock of the processors, so that work synchronously but perform asynchronous access to the common memory. It is also possible to connect processors of different types in the manner according to the invention via a common memory.
  • Multiplexers and priority encoders can be constructed in discrete logic, which is assigned to each processor in terms of hardware and can also be implemented in software there. By exchanging control bytes, the processors can be mutually checked with one another.
  • the multiprocessor system according to the invention can be simplified even further by using modules suitable for this purpose.
  • the address memories can be omitted if the shared memory already has an address memory.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

Système multiprocesseur avec un multiplexeur (3) commun et une mémoire (4) commune, travaillant de manière asynchrone. Pour cela, le multiplexeur débloque selon la demande du processeur (1, 2) un transcepteur correspondant (7, 8) pour la donnée et une mémoire adresse (5, 6) pour l'adresse. Un codeur de priorité (9) garantit qu'un seul processeur à la fois a accès à la mémoire commune.Multiprocessor system with a common multiplexer (3) and a common memory (4), working asynchronously. For this, the multiplexer unlocks according to the request of the processor (1, 2) a corresponding transceiver (7, 8) for the data and an address memory (5, 6) for the address. A priority encoder (9) ensures that only one processor at a time has access to the common memory.

Description

Multiprozessorspeicherzugriffsystem Multiprocessor memory access system
Stand der TechnikState of the art
Die Erfindung geht aus von einem Multiprozessorsystem nach der Gattung des Hauptanspruchs.The invention is based on a multiprocessor system according to the preamble of the main claim.
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.A multiprocessor system is already known from US Pat. No. 4,164,787, in which two processors are connected to a multiplexer in such a way that the multiplexer in each case switches the entire address and data bus of a processor to a common memory. The multiplexer is regularly switched synchronously with a clock generator, so that a time-division multiplex of constant switching frequency results for the access.
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ß dem nächst der Multiplexer umschalten wird. Durch die feste Umschaltfreqjienz wird die Standzeit des idress- 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.The disadvantage of this multiprocessor system is the fixed synchronism, which does not allow a processor to continuously access the memory for longer times than half a clock period of the clock. Complex procedures in the programs of the processors are therefore necessary, for example via interrupt controls, in order to ensure that a longer program is worked through correctly. Furthermore, hardware circuits are necessary to inform the respective processor that the next the multiplexer will switch. The fixed switching frequency effectively reduces the service life of the memory's idress and data bus, since after switching, no access is possible on the bus lines during the settling times of the signals.
Vorteile der ErfindungAdvantages of the invention
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 s.chneller 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.The multiprocessor system according to the invention with the characterizing features of the main claim has the advantage that an undisturbed access of a processor to the common memory is possible, which is only interrupted by an access request by a processor of higher priority. In this way, lengthy procedures of a processor can be carried out continuously. The asynchronous coupling of the processors via the shared memory enables fast data exchange between the processors, since the multiplexer is not supplied with a fixed clock frequency. It can switch to memory immediately after a data transfer is completed so that the next processor can read the stored date. This coupling, which is adapted to the requirements of the processors, increases the overall throughput and the performance of the multiprocessor system according to the invention considerably.
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-Encoder zugeführt sind. Mit diesen Signalen ist eine ausreichende und besonders einfache Basis für die Auswahllogik des Prioritäts-Encoders gegeben. Eine Schreibver- riegelung 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.Particularly advantageous embodiments of the multiprocessor system according to the invention are specified by the subclaims. The priority assignment to the individual processors is carried out in a particularly simple manner if at least the memory access signals (read, write, chip select) or the multiplexer selection signals of the processors for the common memory are fed to the priority encoder. These signals provide a sufficient and particularly simple basis for the selection logic of the priority encoder. A typing Locking for the low-priority processors offers special security when two processors want to access the memory and the multiplexer at the same time and the signals - especially on the address lines of the shared memory - have not yet settled. This prevents undefined write operations in the memory. For the circuitry complexity of the multiprocessor system according to the invention, it is particularly advantageous if the connection between the processors and the address bus of the common memory is made via an address memory that can be released by the multiplexer and, moreover, if the connection between the processors and the data bus of the shared memory are guided via transceivers that can be released by the multiplexer. This considerably reduces the number of lines required and reduces the system's susceptibility to faults. The circuitry complexity for the multiplexer is also reduced, since only the enable lines for address memory and transceiver have to be switched to assign a processor.
Zeichnungdrawing
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.An embodiment of the invention is shown in the drawing and explained in more detail in the following description. The sole figure shows a multiprocessor system with two processors, which is used as a control device in a motor vehicle for controlling the injection.
Beschreibung des AusführungsbeispielesDescription of the embodiment
In der Figur sind zwei Mikroprozessoren 1, 2 dargestellt, von denen der erste Mikroprozessor 1 den Masterprozessor darstellt, der zweite Mikroprozessor 2 den Slaveprozes sor. 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 4 1 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.The figure shows two microprocessors 1, 2, of which the first microprocessor 1 represents the master processor, the second microprocessor 2 the slave processes sor. The processors 1, 2 are each connected to a multiplexer 3 and a common memory 4. The processor 1 is connected via an address memory 5 and the processor 2 via an address memory 6 to the address bus 4 1 of the memory 4. The processor 1 is connected to the data bus 42 of the memory 4 via a transceiver 7 and the processor 2 via a transceiver 8. A priority encoder 9 connects the processor 1 and the processor 2 to the multiplexer 3. A write lock 10 is inserted between the processor 2 and the multiplexer 3.
Der Masterprozessor 1 ist mit einem Port P1 an einen Bus 51 angeschlossen, der zum Adressspeicher 4 und zum Transceiver 7 führt. Durch ein Signal an einem Ausgang ALE1 (Adress Latch Enable) wird der Adressspeicher 5 über eine Leitung 53 aktiviert. Hierzu völlig symmetrisch ist der Slaveprozessor 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 ALE2 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 WR1 und das Lesesignal RD1 des Masterprozessors 1 sind auf den Multiplexer 3 geführt. Das Lesesignal RD2 des SlaveprozessorsThe master processor 1 is connected with a port P1 to a bus 51, which leads to the address memory 4 and the transceiver 7. The address memory 5 is activated via a line 53 by a signal at an output ALE1 (address latch enable). For this purpose, the slave processor 2 is connected completely symmetrically with a port P2 to a bus 61, which leads to the address memory 6 and the transceiver 8. The address memory 6 is activated via a line 63 by a signal at an output ALE2. The outputs of the address memories 5, 6 are connected via an address bus 41 to the address input A of the common memory 4. The associated data are transmitted via a data bus 42, which is connected between the transceivers 7, 8 and the common memory 4. The write signal WR1 and the read signal RD1 of the master processor 1 are routed to the multiplexer 3. The read signal RD2 of the slave processor
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 Multiplexer2 is also routed to the multiplexer 3, while the write signal WR2 is routed to the write lock 10, which in turn is a write signal WR2 'to the 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 91 den Multiplexer 3 aktiviert und über eine Leitung 92 die Schreibverriegelung 10 und einen Eingang BUSY des Slaveprozessors 2 an spricht. 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.3 leads. The multiplexer selection signals MS1 of the master processor 1 and MS2 of the slave processor 2 are routed to the priority encoder 9, which activates the multiplexer 3 via a line 91 and the write lock 10 and an input BUSY of the slave processor 2 via a line 92 speaks. The multiplexer 3 controls the transceiver 7 or 8 via a line 71 or 81 and the address memory 5 or 6 via a line 52 or 62. Furthermore, the memory 4 is controlled by the multiplexer 3 via a line 43.
Dieses Zweiprozessorsystem ist in einem Steuergerät für ein Kraftfahrzeug eingesetzt, bei dem der Masterprozessor 1 Betriebsdaten 11 von der Br ennkraftmas chine 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.This two-processor system is used in a control unit for a motor vehicle, in which the master processor 1 receives operating data 11 from the internal combustion engine. The master processor 1 controls the ignition of the internal combustion engine from the rotational speed n, the load L and the temperature T and calculates default data for the injection. The slave processor 2 is used to control an injection device 12, wherein it separately and sequentially measures the required injection quantities at the correct injection times for each cylinder of the internal combustion engine. For this purpose, he receives operating data 13 from the internal combustion engine, e.g. the delivery pressure of the petrol pump.
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.The coupling between master processor 1 and slave processor 2 via the common memory 4 serves to transmit the control specifications and reciprocal transmission of operating data. The coupling is designed so that the master processor 1 can access the common memory 4 as if the slave processor 2 were not present at all. The slave processor 2, on the other hand, is interrupted when the shared memory 4 is accessed, or access is not even made possible when the master processor 1 accesses.
Bei einer Übertragung eines Datums vom Masterprozessor 1 zum gemeinsamen Speicher 4 wird zuerst durch ein Signal MS1 der Multiplexer 3 über den Prioritäts-Encoder 9 aktiviert und die Adresse des Speicherplatzes an den Port P1 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 Übertragungsr ichtung durch das Signal RD1 festgelegt wird. Durch ein Signal an der Leitung 43 wird nun der Speicher 4 zum Schreiben freigegeben. Wach 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.When a data is transferred from the master processor 1 to the common memory 4, the multiplexer 3 is first activated by a signal MS1 via the priority encoder 9 and the address of the memory location is placed on the port P1. After address memory 5 is released via line 52 by setting the signal ALE1, the address is loaded into the address memory 5 and held there by withdrawing the signal ALE1. The date is then applied to port P1 and the transceiver 7 is activated by multiplexer 3 via line 71. The data is sent from port P1 to transceiver 7, the direction of transmission of which is determined by signal RD1. The memory 4 is now released for writing by a signal on line 43. After the addressing process in the memory 4 has ended, the multiplexer 3 releases the transceiver 7, so that the data present at the port P1 can be written into the associated address in the memory 4. The reading process by the master processor 1 takes place in a manner equivalent to the writing process.
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.When the master processor 1 is activated by the signal MS1 multiplexer 3 to access the memory 4, the priority encoder 9 is addressed first. This forms a signal for the write lock 10, which immediately interrupts write access by the slave processor 2 to the multiplexer 3 or blocks a future access request. For this purpose, this signal is routed to a BUSY input of slave processor 2. This input is queried by the slave processor 2 after each access to the shared memory 4. If there is a signal from the priority encoder 9, the access is repeated as soon as the write lock 10 is released again.
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 1 ist. Wird bei einem laufenden Zugriff auf den Speicher 4 jedoch der Masterprozessor 1 aktiv, so wird durch das Signal MS1 sofort der PrioritätsEncoder 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 4 1 , 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.If the master processor 1 is not active, the slave processor 2 can freely access the memory 4, the functional sequence in the address memory 6 and in the transceiver 8 being completely identical to the functional sequence in the address memory 5 and in the transceiver 7 when the master processor 1 accesses it. However, if the processor 4 is accessed while the memory 4 is being accessed, active, the priority encoder 9 is immediately activated by the signal MS1 and the write lock 10 is switched on. At the same time, the multiplexer 3 withdraws the releases for the address memory 6 and the transceiver 8, so that their inputs and outputs to the buses 4 1, 42 of the common memory 4 become high-resistance. The signal at the BUSY input tells the slave processor 2 in time that no information is lost. During the access by the master processor 1, the slave processor 2 repeats its interrupted access until the BUSY signal is withdrawn.
Die Erfindung ist selbstverständlich nicht auf das hier gewählte Ausfuhrungsbeispiel 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ätsEncoder 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. The invention is of course not limited to the exemplary embodiment chosen here. In the same way, more than two processors can be coupled via a common memory. Then each processor is assigned an address memory and a transceiver, which are controlled by a common multiplexer. A priority encoder then blocks the lower priority processors from accessing the shared memory when a higher priority processor accesses them. Furthermore, it depends on the type of modules used, which control signals are present, whether there are separate write and read signals from the processors, whether there is a common clock of the processors, so that work synchronously but perform asynchronous access to the common memory. It is also possible to connect processors of different types in the manner according to the invention via a common memory. Multiplexers and priority encoders can be constructed in discrete logic, which is assigned to each processor in terms of hardware and can also be implemented in software there. By exchanging control bytes, the processors can be mutually checked with one another. The multiprocessor system according to the invention can be simplified even further by using modules suitable for this purpose. In particular, the address memories can be omitted if the shared memory already has an address memory.

Claims

Ansprüche Expectations
1. Multiprozessorsystem, insbesondere Steuergerät für ein Kraftfahrzeug, mit wenigstens zwei Prozessoren (1, 2), miteinem gemeinsamen Speicher ( k ) und mit einem gemeinsamen Multiplexer (3) zur Ermöglichung des Zugriffes eines Prozessors auf den gemeinsamen Speicher (4), dadurch gekennzeichnet, daß ein Zugriff eines Prozessors ( 2) auf den gemeinsamen Speicher (4) unterbrochen oder verhindert wird, wenn ein. Prozessor (1) höherer Priorität auf den gemeinsamen Speicher (4) zugreift.1. Multiprocessor system, in particular control device for a motor vehicle, with at least two processors (1, 2), with a common memory (k) and with a common multiplexer (3) to enable a processor to access the common memory (4), characterized that access of a processor (2) to the shared memory (4) is interrupted or prevented when a. Processor (1) with higher priority accesses the shared memory (4).
2. Multivrozessor system nach Anspruch 1, dadurch gekennzeichnet, daß die Prioritätszuweisung an die Prozessoren (1, 2) durch einen gemeinsamen Prioritäts-Encoder (9) vorgenommen wird, dem wenigstens die Multiplexerauswahlsignale (MS1, MS2) zugeführt sind.2. Multi-processor system according to claim 1, characterized in that the priority assignment to the processors (1, 2) is carried out by a common priority encoder (9) to which at least the multiplexer selection signals (MS1, MS2) are supplied.
3. Multiprozessorsystem nach Anspruch 1, dadurch gekennzeichnet, daß dem Prioritäts-Encoder (9) wenigstens die Speicherzugriffsignale der Prozessoren (1, 2) zugeführt sind.3. Multiprocessor system according to claim 1, characterized in that the priority encoder (9) at least the memory access signals of the processors (1, 2) are supplied.
4 . Multiprozessorsystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß eine Schreibverriegelung (10) einen Zugriff eines Prozessors (2) auf den gemeinsamen Multiplexer (3) unterbricht oder verhindert, wenn ein Prozessor (1) höherer Priorität auf den gemeinsamen Multiplexer (3) zugreift. 4th Multiprocessor system according to one of the preceding claims, characterized in that a write lock (10) interrupts or prevents access by a processor (2) to the common multiplexer (3) when a processor (1) with higher priority accesses the common multiplexer (3) .
5. Multiprozessorsystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß ein Prozessor ( 1, 2) bei einem Zugriff auf den gemeinsamen Speicher ( 4 ) die Adressen in einen Adressspeicher (5, 6) schreibt und daß der Multiplexer (3) die Übergabe der Adressen vom Adressspeicher (5, 6) zum gemeinsamen Speicher ( 4 ) freigibt (52, 62).5. Multiprocessor system according to one of the preceding claims, characterized in that a processor (1, 2) writes the addresses in an address memory (5, 6) when accessing the common memory (4) and that the multiplexer (3) transfers the addresses from the address memory (5, 6) to the shared memory (4) releases (52, 62).
6. Multiprozessorsystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß ein Prozessor (1, 2) bei einem. Zugriff auf den gemeinsamen Speicher (4) die Daten über einen Transceiver (7, 8) sendet oder empfängt und daß der Multiplexer (3) den Transceiver (7, 8) freigibt (71, 81).6. Multiprocessor system according to one of the preceding claims, characterized in that a processor (1, 2) at one. Access to the common memory (4) sends or receives the data via a transceiver (7, 8) and that the multiplexer (3) releases the transceiver (7, 8) (71, 81).
7. Steuergerät für eine Brennkraftmaschine mit einem Multiprozessorsystem nach einem der vorhergebenden Ansprüche, dadurch gekennzeichnet, daß der Prozessor (1) höchster Priorität Betriebsdaten (11) der Brennkraftmaschine erhält, daß ein Prozessor (2) niederer Prior-ität die Brennkraftmaschine steuert, vorzugsweise Ein sprit z z eit en und Einspritzmengen berechnet und daraufhin Einspritzvorrichtungen (12) der Brennkraftmaschine ansteuert, und daß der Prozessor (2) niederer Priorität Vorgabedaten für die Steuerung über den gemeinsamen Speicher ( 4 ) vom Prozessor (1) höchster Priorität erhält.7. Control device for an internal combustion engine with a multiprocessor system according to one of the preceding claims, characterized in that the processor (1) receives the highest priority operating data (11) of the internal combustion engine, that a processor (2) low priority controls the internal combustion engine, preferably on Sprit zz eit s and injection quantities and then controls injectors (12) of the internal combustion engine, and that the processor (2) low priority receives default data for control via the common memory (4) from the processor (1) highest priority.
8. Steuergerät nach Anspruch 7, dadurch gekennzeichnet, daß der Prozessor (2) niederer Priorität Betriebsdaten (13) der Brennkraftmaschine erhält und dem Prozessor (1) höchster Priorität über den gemeinsamen Speicher ( 4 ) übermittelt. 8. Control device according to claim 7, characterized in that the processor (2) receives lower priority operating data (13) of the internal combustion engine and the processor (1) transmits highest priority via the common memory (4).
EP19860900059 1985-01-28 1985-12-14 Multiprocessor memory access system Ceased EP0209530A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19853502721 DE3502721A1 (en) 1985-01-28 1985-01-28 MULTIPROCESSOR SYSTEM
DE3502721 1985-01-28

Publications (1)

Publication Number Publication Date
EP0209530A1 true EP0209530A1 (en) 1987-01-28

Family

ID=6260937

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19860900059 Ceased EP0209530A1 (en) 1985-01-28 1985-12-14 Multiprocessor memory access system

Country Status (6)

Country Link
EP (1) EP0209530A1 (en)
JP (1) JPS62501656A (en)
AU (1) AU574884B2 (en)
BR (1) BR8507171A (en)
DE (1) DE3502721A1 (en)
WO (1) WO1986004434A1 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4987530A (en) * 1985-11-15 1991-01-22 Data General Corp. Input/output controller for a data processing system
FR2611396B1 (en) * 1987-02-27 1991-10-11 Trt Telecom Radio Electr DEVICE FOR ALLOWING TWO INFORMATION PROCESSING SYSTEMS ACCESS TO A COMMON CIRCUIT
BE1001383A7 (en) * 1987-12-07 1989-10-17 Electronique Et Telecomm Bell Multiple access device.
GB2215874A (en) * 1988-03-23 1989-09-27 Benchmark Technologies Arbitration system
US5111530A (en) * 1988-11-04 1992-05-05 Sony Corporation Digital audio signal generating apparatus
DE3923872A1 (en) * 1989-07-19 1991-01-24 Philips Patentverwaltung CIRCUIT ARRANGEMENT FOR CONTROLLING ACCESS TO A MEMORY
CA2038404C (en) * 1990-05-16 1995-08-22 Neil C. Griffen Hysteresis-compensated weighing apparatus and method
DE4139011A1 (en) * 1990-11-27 1992-06-04 Jatco Corp Memory device for automobile engine control microcomputer - has back=up voltage supply for maintaining memory contents upon battery disconnection
DE4117393A1 (en) * 1991-05-28 1992-12-03 Kloeckner Humboldt Deutz Ag DEVICE FOR CONTROLLING THE FUEL INJECTION OF AN INTERNAL COMBUSTION ENGINE
FR2692698A1 (en) * 1992-06-19 1993-12-24 Sgs Thomson Microelectronics Method for sharing a random access memory between two asynchronous processors and an electronic circuit for implementing this method.

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4152764A (en) * 1977-03-16 1979-05-01 International Business Machines Corporation Floating-priority storage control for processors in a multi-processor system
IT1126475B (en) * 1979-12-03 1986-05-21 Honeywell Inf Systems COMMUNICATION APPARATUS BETWEEN MORE PROCESSORS
US4415972A (en) * 1980-12-29 1983-11-15 Sperry Corporation Dual port memory interlock
US4484273A (en) * 1982-09-03 1984-11-20 Sequoia Systems, Inc. Modular computer system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO8604434A1 *

Also Published As

Publication number Publication date
AU574884B2 (en) 1988-07-14
JPS62501656A (en) 1987-07-02
WO1986004434A1 (en) 1986-07-31
BR8507171A (en) 1987-07-14
AU5236086A (en) 1986-08-13
DE3502721A1 (en) 1986-07-31

Similar Documents

Publication Publication Date Title
DE3687426T2 (en) MULTI-PROCESSOR SYSTEM ARCHITECTURE.
DE3852433T2 (en) Functionally distributed control unit.
DE3689226T2 (en) Multiprocessor system with multi-hierarchical levels.
DE3853574T2 (en) Control of user responses in a transmission bus.
DE3750938T2 (en) Multiprocessor system.
EP0050304B1 (en) Multiprocessor system with determination of the processor obtaining the smallest result
DE3685876T2 (en) MASTER SLAVE MICROPROCESSOR SYSTEM WITH A VIRTUAL MEMORY.
DE3688363T2 (en) Interrupt processing in a multiprocessor computer system.
EP0179936A1 (en) Method and apparatus for global bus control
DE3851554T2 (en) Control arrangement for shared storage.
DE68915074T2 (en) Integrated timer circuit with several channels and assigned operating processor.
DE3049774C2 (en)
DE69122142T2 (en) Control system for a multiprocessor system
EP0050305B1 (en) Unit to control the access of processors to a data bus
DE2237672A1 (en) ERROR CHECK AND ERROR DIAGNOSTIC DEVICE IN AN ELECTRONIC DATA PROCESSING SYSTEM AND PROCEDURES FOR ITS OPERATION
EP0209530A1 (en) Multiprocessor memory access system
DE3780307T2 (en) PROTOCOL AND ARRANGEMENT FOR CONNECTING A CONTROL UNIT AND SEVERAL PERIPHERAL ELEMENTS.
EP0062141B1 (en) Circuit arrangement for entering control commands into a microcomputer system
DE19950255B4 (en) microprocessor
DE102006009034B3 (en) Bus system method for operating a bus system has transmission channels for linking masters and slaves to each other and linking each master to an arbiter
DE60211874T2 (en) Arrangement of two devices connected by a crossover switch
DE3855284T2 (en) Direct memory access control
DE4416879B4 (en) Control device with means for switching between two data lines
DE3855718T2 (en) Transfer system between processors in a message processing system with transfer between execution processors during transfer between other processors
EP0562151A1 (en) Integrated microprocessor

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 19860806

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): DE FR GB IT

RIN1 Information on inventor provided before grant (corrected)

Inventor name: VAN WOUDENBERG, JAN, FAAS

Inventor name: ZUCKER, UDO

Inventor name: LOTTERBACH, GERHARD

Inventor name: GOTSCHLICH, KLAUS

Inventor name: PERENTHALER, EGBERT

17Q First examination report despatched

Effective date: 19881007

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 19890625

RIN1 Information on inventor provided before grant (corrected)

Inventor name: LOTTERBACH, GERHARD

Inventor name: ZUCKER, UDO

Inventor name: VAN WOUDENBERG, JAN, FAAS

Inventor name: GOTSCHLICH, KLAUS

Inventor name: PERENTHALER, EGBERT