DE3850212T2 - Multiple CPU system with shared memory. - Google Patents

Multiple CPU system with shared memory.

Info

Publication number
DE3850212T2
DE3850212T2 DE3850212T DE3850212T DE3850212T2 DE 3850212 T2 DE3850212 T2 DE 3850212T2 DE 3850212 T DE3850212 T DE 3850212T DE 3850212 T DE3850212 T DE 3850212T DE 3850212 T2 DE3850212 T2 DE 3850212T2
Authority
DE
Germany
Prior art keywords
cpu
shared memory
memory
access
cpus
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 - Lifetime
Application number
DE3850212T
Other languages
German (de)
Other versions
DE3850212D1 (en
Inventor
Masayuki Iwatsuka
Yasuo Masuo
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.)
Panasonic Electric Works Co Ltd
Original Assignee
Matsushita Electric Works Ltd
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 Matsushita Electric Works Ltd filed Critical Matsushita Electric Works Ltd
Application granted granted Critical
Publication of DE3850212D1 publication Critical patent/DE3850212D1/en
Publication of DE3850212T2 publication Critical patent/DE3850212T2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

HINTERGRUND DER ERFINDUNGBACKGROUND OF THE INVENTION

Die vorliegende Erfindung betrifft ein Vielfach-CPU-System mit einem gemeinsamen Speicher, in dem unter Verwendung des gemeinsamen Speichers Dateninformation zwischen mehreren CPUs übertragen wird. Im besonderen bezieht sich die Erfindung auf die Steuerung des gemeinsamen Speichers.The present invention relates to a multiple CPU system having a shared memory in which data information is transferred between a plurality of CPUs using the shared memory. In particular, the invention relates to the control of the shared memory.

Ein Vielfach-CPU-System, bei dem unter Verwendung eines gemeinsamen Speichers Dateninformation zwischen mehreren CPUs gegenseitig übertragen wird, ist im Stand der Technik bekannt. Zwei typische Beispiele werden in Japanese Patent Application Laid-Open Nr. 243763/1985 und Nr. 245063/1985 offenbart.A multiple CPU system in which data information is mutually transferred between a plurality of CPUs using a common memory is known in the art. Two typical examples are disclosed in Japanese Patent Application Laid-Open No. 243763/1985 and No. 245063/1985.

In Fig. 10 wird das in der Japanese Patent Application Laid-Open Nr. 243763/1985 offenbarte Vielfach-CPU-System veranschaulicht. In diesem System wird Dateninformation zwischen einer Wort-CPU 1, die auf einen gemeinsamen Speicher 3 mit einer Wortlängeneinheit zugreift, und einer Byte-CPU 2, die auf den gleichen gemeinsamen Speicher 3 mit einer Bytelängeneinheit zugreift, gegenseitig übertragen. Die Länge von einem Byte entspricht einer Hälfte der Länge von einem Wort. Der gemeinsame Speicher 3 umfaßt zwei Dual-Port-Speicher 3&sub1; und 3&sub2;, die jeweils Dateninformation von einem Byte speichern. Wenn bei diesem Vielfach- CPU-System Dateninformation von einer Wortlänge von der Byte-CPU 2 in den gemeinsamen Speicher 3 geschrieben wird, wird das erste Byte der Dateninformation von einer Wortlänge in einem der Dual-Port-Speicher, z. B. 3&sub1;, gespeichert, und dann wird das zweite Byte der Dateninformation in dem anderen Dual-Port-Speicher 3&sub2; gespeichert. Während dieser zwei Funktionsabläufe kann es jedoch zu einem Zugriffskonflikt kommen, wenn die Wort-CPU 1 auf den gemeinsamen Speicher 3 zugreift, während die Byte-CPU 2 mit dem Schreiben des zweiten Bytes der Dateninformation in die gleiche Adresse fortfährt. Dieser Zugriffskonflikt kann die von der Byte-CPU 2 in den gemeinsamen Speicher 3 einzugebende Dateninformation von einem Wort zerstören oder kann die Wort-CPU 1 veranlassen, eine falsche Dateninformation zu lesen, bei der Daten von nur einem Byte erneuert sind. Wenn hingegen Dateninformation von einem Wort aus dem gemeinsamen Speicher 3 in die Byte-CPU 2 gelesen wird, wird zuerst das erste Byte der Dateninformation von einem Wort ausgelesen, und dann wird das zweite Byte der Dateninformation ausgelesen. Während dieser beiden Funktionsabläufe kann es in diesem Fall ebenfalls zu einem Zugriffskonflikt kommen, wenn die Wort-CPU 1 neue Dateninformation in den gemeinsamen Speicher 3 schreibt, während die Byte-CPU 2 mit dem Lesen des zweiten Bytes der Dateninformation in der gleichen Adresse fortfährt. Dieser Zugriffskonflikt kann die von dem gemeinsamen Speicher 3 an die Byte-CPU 2 auszugebende Dateninformation zerstören.Fig. 10 illustrates the multiple CPU system disclosed in Japanese Patent Application Laid-Open No. 243763/1985. In this system, data information is mutually transferred between a word CPU 1 which accesses a common memory 3 having a unit word length and a byte CPU 2 which accesses the same common memory 3 having a unit byte length. The length of one byte is one half the length of one word. The common memory 3 includes two dual-port memories 3₁ and 3₂ each storing data information of one byte. In this multiple CPU system, when data information of one word length is written from the byte CPU 2 to the common memory 3, the first byte of the data information of one word length is stored in one of the dual-port memories, e.g. B. 3₁, and then the second byte of data information is stored in the other dual port memory 3₂. However, during these two operations, an access conflict may occur when the word CPU 1 accesses the shared memory 3 while the byte CPU 2 continues to write the second byte of data information to the same address. This access conflict may destroy the data information of one word to be input from the byte CPU 2 into the shared memory 3, or may cause the word CPU 1 to read incorrect data information in which data of only one byte is renewed. On the other hand, when data information from a When a word is read from the shared memory 3 to the byte CPU 2, the first byte of data information from a word is read out first, and then the second byte of data information is read out. During these two operations, an access conflict may also occur in this case if the word CPU 1 writes new data information to the shared memory 3 while the byte CPU 2 continues reading the second byte of data information at the same address. This access conflict may destroy the data information to be output from the shared memory 3 to the byte CPU 2.

In Anbetracht dieser Tatsachen wird bei diesem Vielfach-CPU-System des Standes der Technik der Wort-CPU 1 untersagt, auf den gemeinsamen Speicher 3 zuzugreifen, und sie wird wenigstens in ihrem Wartezustand gehalten, während die Byte-CPU 2 für die Dateninformation von einem Wort auf den gemeinsamen Speicher 3 zugreift. Das Wort "wenigstens" bedeutet, daß "wenigstens" das Konfliktproblem durch das genannte Verfahren umgangen wird. Tatsächlich wird bei dem Vielfach-CPU-System des Standes der Technik auch der Byte-CPU 2 untersagt, auf den gemeinsamen Speicher 3 zuzugreifen, und sie wird in ihrem Wartezustand gehalten, während die Wort-CPU 1 auf den gemeinsamen Speicher 3 zugreift. Das heißt, wenn sowohl die Wort-CPU 1 als auch die Byte-CPU 2 auf den gemeinsamen Speicher 3 zugreifen, werden Zugriffsanforderungssignale S1 und S2 von den jeweiligen CPUs an betreffende Eingänge einer Verriegelungsschaltung 20 angelegt, die aus einem Flip-FLop-Kreis besteht. Ein "NAND"-Ergebnis von Ausgangssignalen aus der Verriegelungsschaltung 20 erlaubt entweder der Wort-CPU 1 oder der Byte-CPU 2, Zugang zu dem gemeinsamen Speicher 3 zu erlangen. Das Zugriffsananforderungssignal S2 von der Wort-CPU 1 wird hierin einer "AND"-Operation mit einer Umkehrung eines Wortzugriffssignals S3 unterzogen, das ausgegeben wird, wenn die Byte-CPU 2 für die Dateninformation von einem Wort zugreift, und das AND-Ergebnis wird an die Verriegelungsschaltung 20 angelegt. Daher kann, während die Byte-CPU 2 auf den gemeinsamen Speicher 3 für die Dateninformation von einem Wort zugreift, das Zugriffsanforderungssignal S2 von der Wort-CPU 1 nicht in die Verriegelungsschaltung 20 eingegeben werden. Das heißt, während die Byte- CPU 2 den Zugriff auf den gemeinsamen Speicher 3 für das zweite Byte fortsetzt, kann die Wort-CPU 1 nicht auf den gemeinsamen Speicher 3 zugreifen. Invertierte Signale der Ausgänge von der Verriegelungsschaltung 20 und die jeweiligen Zugriffsanforderungssignale S1 und S2 werden einer UND-Funktion unterzogen, um jeweilige Wartesignale S4 und S5 zu bilden. Kraft dieser Wartesignale S4 und S5 wird, während eine CPU auf den gemeinsamen Speicher zugreift, die andere CPU in ihrem Wartezustand gehalten. Wie oben beschrieben wurde, sichert diese Art des Vielfach-CPU-Systems die Dateninformation von einem Wort in dem gemeinsamen Speicher 3, wenn die Byte-CPU 2 auf diese Information zugreift.In view of these facts, in this prior art multiple CPU system, the word CPU 1 is prohibited from accessing the shared memory 3 and is kept at least in its waiting state while the byte CPU 2 accesses the shared memory 3 for the data information of one word. The word "at least" means that "at least" the contention problem is avoided by the above method. In fact, in the prior art multiple CPU system, the byte CPU 2 is also prohibited from accessing the shared memory 3 and is kept at its waiting state while the word CPU 1 accesses the shared memory 3. That is, when both the word CPU 1 and the byte CPU 2 access the shared memory 3, access request signals S1 and S2 from the respective CPUs are applied to respective inputs of a latch circuit 20 consisting of a flip-flop circuit. A "NAND" result of output signals from the latch circuit 20 allows either the word CPU 1 or the byte CPU 2 to gain access to the shared memory 3. Herein, the access request signal S2 from the word CPU 1 is subjected to an "AND" operation with an inversion of a word access signal S3 output when the byte CPU 2 accesses the data information of one word, and the AND result is applied to the latch circuit 20. Therefore, while the byte CPU 2 is accessing the shared memory 3 for the data information of one word, the access request signal S2 from the word CPU 1 cannot be input to the latch circuit 20. That is, while the byte CPU 2 continues accessing the shared memory 3 for the second byte, the word CPU 1 cannot access the shared memory 3. Inverted signals of the outputs from the locking circuit 20 and the respective access request signals S1 and S2 are subjected to an AND function to form respective wait signals S4 and S5. By virtue of these wait signals S4 and S5, while one CPU is accessing the shared memory, the other CPU is kept in its wait state. As described above, this type of multiple CPU system saves the data information of one word in the shared memory 3 when the byte CPU 2 accesses this information.

Bei dieser Art des Vielfach-CPU-Systems wird jedoch, während eine CPU auf eine bestimmte Adresse zugreift, die andere CPU in ihrem Wartezustand gehalten, auch wenn sie Zugriff auf eine andere Adresse anfordert. Dies resultiert in längerer Informationsverarbeitungszeit.However, in this type of multiple CPU system, while one CPU is accessing a certain address, the other CPU is kept in its waiting state even if it requests access to another address. This results in longer information processing time.

Fig. 11 zeigt das in Japanese Patent Application Laid-Open Nr. 245063/ 1985 offenbarte Vielfach-CPU-System. Der Zweck dieses Systems nach dem Stand der Technik ist, das Problem des Systems des Standes der Technik von Fig. 10, daß es eine längere Zeit bei Datenübertagungsfunktionen benötigt, zu verbessern. Bei diesem Vielfach-CPU-System werden die Zeiten, in denen die zwei CPUs 1 und 2 asynchron auf einen Speicher 3 zugreifen, den beiden CPUs abwechselnd zugeteilt. Das System erlaubt z. B. der CPU 1 auf den gemeinsamen Speicher 3 nur während der Zeit zuzugreifen, die der CPU 1 zugeteilt ist, um auf den gemeinsamen Speicher 3 zuzugreifen. Dieses Vielfach-CPU-System umfaßt: einen Impulsgenerator 21, der fortlaufende Impulssignale erzeugt; ein Flip-Flop 22, das durch ein Ausgangssignal von dem Impulsgenerator 21 abwechselnd gesetzt und und rückgestellt wird; UND-Gatter 23 und 24, die UND-Funktionen zwischen jeweiligen Ausgangssignalen von dem Flip-Flop 22 und jeweiligen Zugriffsanforderungssignalen A und B von den CPUs 1 und 2 vornehmen; Flip-Flops 25 und 26, die durch jeweilige Ausgangssignale von den UND-Gattern 23 und 24 gesetzt werden, und einen Adreßselektor 27, der einer der CPUs erlaubt, auf ihre ausersehene Adresse zuzugreifen, je nachdem, welches der Flip-Flops 25 und 26 gesetzt ist. Das heißt, wenn die Zugriffsanforderungssignale A und B von den jeweiligen CPUs 1 und 2 ausgegeben werden, wenn einer der Ausgänge Q und des Flip-Flops 22, die den jeweiligen CPUs 1 und 2 entsprechen, einen HOCH-Pegelwert aufweist, wird eines der Flip-Flops 25 und 26 gesetzt und der entsprechenden CPU 1 oder 2 erlaubt, auf die ausersehene Adresse zuzugreifen, die in der CPU 1 oder 2 gespeichert ist. Die CPUs 1 und 2 haben hier ihre Adreßspeicher als periphere Schaltungen, um die Zugriffsadresse zu speichern. Ferner wird der invertierte Ausgang von jedem der Flip-Flops 25 und 26 an einen "Inhibierungs-Anschluß des UND-Gatters 23 oder 24 angelegt, das mit dem anderen Flip-Flop 25 oder 26 verbunden ist, um eine CPU vom Zugreifen auf den gemeinsamen Speicher 3 abzuhalten, während die andere darauf zugreift. Außerdem werden, wenn ein Zugriff beendet ist, die Flip-Flops 25 und 26 durch jeweilige Mitteilungssignale E1 und E2 rückgesetzt, die von der jeweiligen CPU 1 oder 2 ausgegeben werden. Da bei diesem Vielfach-CPU-System die Warteverlustzeit nur auftritt, wenn es die CPU versäumt, in der dieser CPU zugeteilten Periode zuzugreifen, ist die Datentransferzelt kürzer als bei dem vorigen Vielfach-CPU-System. Jedoch wird auch bei diesem Vielfach-CPU-System, während eine CPU auf den gemeinsamen Speicher 3 zugreift, die andere CPU in ihrem Wartezutand gehalten, auch wenn die andere CPU Zugriff auf eine andere Adresse anfordert. Es besteht immer noch ein Problem der zusätzlichen Verarbeitungszeit.Fig. 11 shows the multiple CPU system disclosed in Japanese Patent Application Laid-Open No. 245063/1985. The purpose of this prior art system is to improve the problem of the prior art system of Fig. 10 that it takes a longer time in data transfer functions. In this multiple CPU system, the times during which the two CPUs 1 and 2 asynchronously access a memory 3 are alternately allocated to the two CPUs. For example, the system allows the CPU 1 to access the shared memory 3 only during the time allotted to the CPU 1 to access the shared memory 3. This multiple CPU system comprises: a pulse generator 21 which generates continuous pulse signals; a flip-flop 22 which is alternately set and reset by an output signal from the pulse generator 21; AND gates 23 and 24 which perform AND functions between respective outputs from the flip-flop 22 and respective access request signals A and B from the CPUs 1 and 2; flip-flops 25 and 26 which are set by respective outputs from the AND gates 23 and 24; and an address selector 27 which allows one of the CPUs to access its designated address depending on which of the flip-flops 25 and 26 is set. That is, when the access request signals A and B are output from the respective CPUs 1 and 2, if one of the outputs Q and of the flip-flop 22 corresponding to the respective CPUs 1 and 2 has a HIGH level value, one of the flip-flops 25 and 26 is set and the corresponding CPU 1 or 2 is allowed to access the designated address. which is stored in CPU 1 or 2. CPUs 1 and 2 have their address memories here as peripheral circuits to store the access address. Further, the inverted output of each of the flip-flops 25 and 26 is applied to an "inhibit" terminal of the AND gate 23 or 24 connected to the other flip-flop 25 or 26 to prevent one CPU from accessing the common memory 3 while the other is accessing it. In addition, when an access is completed, the flip-flops 25 and 26 are reset by respective notification signals E1 and E2 issued from the respective CPU 1 or 2. In this multiple CPU system, since the wait loss time occurs only when the CPU fails to access in the period allotted to that CPU, the data transfer time is shorter than in the previous multiple CPU system. However, also in this multiple CPU system, while one CPU is accessing the common memory 3, the other CPU is kept in its wait state even if the other CPU requests access to another address. There is still a problem of additional processing time.

Ein anderes Verfahren wird in dem Vielfach-CPU-System des Standes der Technik offenbart, das einen gemeinsamen Speicher verwendet, der ein Dual-Port-Speicher ist, der einen "Besetzt"-Anschluß als einen Konfliktentscheidungsanschluß umfaßt, von dem ein Entscheidungssignal aus Anlaß des Zugriffskonfliktes ausgegeben wird, um eine CPU in ihrem Wartezustand zu halten, während die andere CPU auf die gleiche Adresse in dem gemeinsamen Speicher zugreift. Für diese Art des gemeinsamen Speichers mit dem Besetztanschluß ist z. B. der MB8421 von Fujitsu, Ltd. verwendbar. Wenn bei diesem gemeinsamen Speicher für das Vielfach-CPU-System die Adressen und Chip-Auswahlsignale (CS) miteinander wetteifern, erteilt der gemeinsame Speicher der CPU eine Priorität, die früher auf den gemeinsamen Speicher zugegriffen hat, und hält die andere CPU in ihrem Wartezustand, indem das entsprechende Besetztsignal (Busy) auf dem tiefen Pegel gehalten wird. In Fig. 12 ist ein Beispiel eines Vielfach-CPU-Systems dargestellt, das diese Art des gemeinsamen Speichers benutzt. Bei diesem System wird die Dateninformation zwischen den CPUs 1 und 2 durch einen gemeinsamen Speicher 3 gegenseitig übertragen. Für die genannten CPUs 1 und 2 werden z. B. Intel 8085 und 8086 verwendet. Diese Art der CPU besitzt einen "Bereit"-Eingang, dessen Zustand in den HOCH-Pegel verändert wird, wenn sie zugreifen kann. Durch Verbinden dieses Bereitanschlusses mit dem Busy-Anschluß des gemeinsamen Speichers 3 kann dieses System die Konfliktentscheidung hinsichtlich des gemeinsamen Speichers 3 leicht realisieren. Das heißt, wenn die CPU 2 Zugriff auf den gemeinsamen Speicher 3 anfordert, während die CPU 1 auf die gleiche Adresse desselben zugreift, läßt der gemeinsame Speicher 3 das Besetztsignal (Busy&sub2;) den TIEF-Pegel annehmen und hält dadurch die CPU 2 bis zur Beendigung des Zugriffs von der CPU 1 in ihrem Wartezustand. Die CPU 2 kann auf den gemeinsamen Speicher 3 zugreifen, nachdem der Zugriff von der CPU 1 beendet worden ist und sich das Besetztsignal (Busy&sub2;) auf den HOCH-Pegel verändert hat. Wie oben beschrieben wurde, kann die Konfliktentscheidung hinsichtlich der gleichen Adresse in dem gemeinsamen Speicher 3 verwirklicht werden. Hierin enthält ein Steuersignal (Cnt) in Fig. 12 Signale wie ein Lesesignal (RD), ein Schreibsignal (WT) und ein Chip-Auswahlsignal (CS).Another method is disclosed in the prior art multiple CPU system using a shared memory which is a dual port memory including a "busy" terminal as a contention arbitration terminal from which an arbitration signal is output upon the occasion of the access contention to keep one CPU in its waiting state while the other CPU accesses the same address in the shared memory. For this type of shared memory with the busy terminal, for example, the MB8421 of Fujitsu, Ltd. is applicable. In this shared memory for the multiple CPU system, when the addresses and chip select signals (CS) compete with each other, the shared memory gives priority to the CPU which has accessed the shared memory earlier and keeps the other CPU in its waiting state by keeping the corresponding busy signal (Busy) at the low level. Fig. 12 shows an example of a multiple CPU system using this type of shared memory. In this system, the data information is transmitted between CPUs 1 and 2 through a shared memory 3. For the CPUs 1 and 2 mentioned, Intel 8085 and 8086 are used. This type of CPU has a "Ready" input, the state of which is changed to HIGH level when it is able to access. By connecting this Ready terminal to the Busy terminal of the shared memory 3, this system can easily realize the contention decision regarding the shared memory 3. That is, when the CPU 2 requests access to the shared memory 3 while the CPU 1 is accessing the same address thereof, the shared memory 3 makes the busy signal (Busy₂) attain the LOW level, thereby keeping the CPU 2 in its wait state until the access from the CPU 1 is completed. The CPU 2 can access the shared memory 3 after the access from the CPU 1 is completed and the busy signal (Busy₂) has changed to the HIGH level. As described above, the contention decision regarding the same address in the shared memory 3 can be realized. Here, a control signal (Cnt) in Fig. 12 includes signals such as a read signal (RD), a write signal (WT), and a chip select signal (CS).

Da jedoch bisher ein sogenannter "Ein-Chip-Mikrocomputer", wie z. B. ein Intel 8031, keinen Bereit-Anschluß oder einen gleichwertigen Anschluß besitzt, kann kann er die oben dargelegte Konfliktentscheidung für den gemeinsamen Speicher 3 nicht durchführen.However, since a so-called "single-chip microcomputer", such as an Intel 8031, does not have a ready connection or an equivalent connection, it cannot carry out the conflict decision described above for the shared memory 3.

Bei einem anderen aus dem Stand der Technik bekannten System, wie in Electronics, Vol. 49, Nr. 20, 30. Sept. 1976, Seiten 89-90, offenbart, wird Dateninformation zwischen einem gemeinsamen Speicher und einem gegebenen Computer mit Hilfe eines durch zwei Flip-Flops gesteuerten TTL-Parallel-Zugriffsregisters als Pufferstufe zwischen einem gemeinsamen Speicher (FIFO) und einem Computer übertragen. Die Verwendung einer Zeitsteuerschaltung zum Steuern des Timings des Datentransfers zwischen zwei Prozessoren und einem gemeinsamen Speicher ist schließlich aus IBM T.D.B. Vol. 30, Nr. 5, Selten 163-172, Okt. 1987 bekannt, das ein synchronisiertes System aus zwei 8051 Mikroprozessoren mit einem gemeinsam benutzten RAM offenbart, worin eine Taktdehnungs- und Synchronisationsschaltung veranlaßt, daß die Befehlszyklen in den 8051ern miteinander 50% außer Phase sind, was es jedem Prozessor erlaubt, auf das gemeinsame RAM während der Zeit zuzugreifen, wenn der andere Prozessor einen solchen Zugriff nicht vornehmen kann.In another prior art system, as disclosed in Electronics, Vol. 49, No. 20, Sept. 30, 1976, pages 89-90, data information is transferred between a shared memory and a given computer using a TTL parallel access register controlled by two flip-flops as a buffer stage between a shared memory (FIFO) and a computer. Finally, the use of a timing circuit to control the timing of the data transfer between two processors and a shared memory is known from IBM T.D.B. Vol. 30, No. 5, Rar 163-172, Oct. 1987, which discloses a synchronized system of two 8051 microprocessors with a shared RAM, wherein a clock stretching and synchronization circuit causes the instruction cycles in the 8051s to be 50% out of phase with each other, allowing each processor to access the shared RAM during times when the other processor cannot make such access.

ZUSAMMENFASSUNG DER ERFINDUNGSUMMARY OF THE INVENTION

Die vorliegende Erfindung ist gedacht, die zuvor dargelegten Probleme zu überwinden. Es ist daher eine Aufgabe der vorliegenden Erfindung, ein Vielfach-CPU-System zur Verfügung zu stellen, das eine Konfliktentscheidung für einen gemeinsamen Speicher auch in dem Fall der Verwendung eines sogenannten Ein-Chip-Mikrocomputers, der keinen Steueranschluß besitzt, verwirklichen kann.The present invention is intended to overcome the problems set forth above. It is therefore an object of the present invention to provide a multi-CPU system which can realize contention arbitration for a shared memory even in the case of using a so-called single-chip microcomputer which has no control terminal.

Ein erfindungsgemäßes Vielfach-CPU-System, wie in den Ansprüchen 1 und 2 beansprucht, umfaßt die folgenden Elemente zwischen einer CPU ohne Steueranschluß und einem gemeinsamen Speicher: einen Zugriffsentscheidungsspeicher zum Zwischenspeichern von Dateninformation und einer entsprechenden Adreßinformation beim Ausführen von Lese- oder Schreibvorgängen zwischen einer CPU und dem gemeinsamen Speicher, und eine Zeitsteuerschaltung zum Steuern des Timings des Datenlesens oder Datenschreibens zwischen dem Zugriffsentscheidungsspeicher und dem gemeinsamen Speicher gemäß einem von einem Konfliktentscheidungsanschluß des gemeinsamen Speichers ausgegebenen Entscheidungssignal.A multiple CPU system according to the invention as claimed in claims 1 and 2 comprises the following elements between a CPU without a control terminal and a common memory: an access arbitration memory for temporarily storing data information and corresponding address information when performing read or write operations between a CPU and the common memory, and a timing control circuit for controlling the timing of data reading or writing between the access arbitration memory and the common memory according to an arbitration signal output from a conflict arbitration terminal of the common memory.

Mit der obigen Anordnung führt die Zeitsteuerschaltung bei der Ausführung des Datenlesens oder Datenschreibens zwischen der CPU ohne den Steueranschluß und dem gemeinsamen Speicher die Zeltsteuerung des Datenlesens und Datenschreibens zwischen dem Zugriffsentscheidungsspeicher und dem gemeinsamen Speicher gemäß einem Entscheidungszustand mit Bezug auf einen Ausgang eines Konfliktentscheidungsanschlusses des gemeinsamen Speichers richtig aus, um dadurch die Konfliktentscheidung für den gemeinsamen Speicher auch in dem Fall der Verwendung eines sogenannten Ein-Chip-Mikrocomputers auszuführen.With the above arrangement, when executing the data reading or writing between the CPU without the control terminal and the common memory, the timing control circuit properly executes the timing control of the data reading and writing between the access arbitration memory and the common memory in accordance with a arbitration state with respect to an output of a contention arbitration terminal of the common memory, thereby executing the contention arbitration for the common memory even in the case of using a so-called single-chip microcomputer.

Andere und weitere Aufgaben, Merkmale und Vorteile der Erfindung werden aus der folgenden Beschreibung in Verbindung mit den begleitenden Zeichnungen ausführlicher erkennbar werden.Other and further objects, features and advantages of the invention will become more apparent from the following description taken in conjunction with the accompanying drawings.

KURZBESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS

Fig. 1 ist eine Schaltung eines Vielfach-CPU-Systems gemäß einer Ausführung der vorliegenden Erfindung;Fig. 1 is a circuit diagram of a multiple CPU system according to an embodiment of the present invention;

Fig. 2 und Fig. 3 sind Zeitdiagramme zur Erklärung der Schreibfunktionen in der Ausführung von Fig. 1;Fig. 2 and Fig. 3 are timing charts for explaining the write functions in the embodiment of Fig. 1;

Fig. 4 und Fig. 5 sind Zeitdiagramme zur Erklärung der Lesefunktionen in der Ausführung von Fig. 1;Fig. 4 and Fig. 5 are timing charts for explaining the reading functions in the embodiment of Fig. 1;

Fig. 6 ist eine Schaltung einer anderen Zeitsteuerschaltung;Fig. 6 is a circuit diagram of another timing control circuit;

Fig. 7 ist ein Zeitdiagramm zur Erklärung einer Funktion der Ausführung von Fig. 1;Fig. 7 is a timing chart for explaining an operation of the embodiment of Fig. 1;

Fig. 8 ist eine Schaltung eines Vielfach-CPU-Systems gemäß einer weiteren Ausführung der Erfindung;Fig. 8 is a circuit diagram of a multiple CPU system according to another embodiment of the invention;

Fig. 9 ist ein Zeitdiagramm zur Erklärung einer Funktion der Ausführung von Fig. 8;Fig. 9 is a timing chart for explaining an operation of the embodiment of Fig. 8;

Fig. 10 ist eine Schaltung eines herkömmlichen Vielfach-CPU-Systems;Fig. 10 is a circuit of a conventional multiple CPU system;

Fig. 11 ist eine Schaltung eines weiteren herkömmlichen Vielfach-CPU- Systems, undFig. 11 is a circuit of another conventional multiple CPU system, and

Fig. 12 ist ein Blockschaltbild zur Veranschaulichung noch eines weiteren herkömmlichen Systems.Fig. 12 is a block diagram illustrating still another conventional system.

AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGENDETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Ausführung 1Version 1

Ein Vielfach-CPU-System, das einen gemeinsamen Speicher benutzt, gemäß der ersten Ausführung der Erfindung wird mit Verweis auf Fig. 1 bis 7 beschrieben. In dieser Ausführung wird ein Dual-Port-Speicher mit einem Konfliktentscheidungsanschluß als ein gemeinsamer Speicher 3 verwendet. An dem Konfliktentscheidungsanschluß wird ein Entscheidungssignal ausgegeben, das CPUs ohne Priorität vom Zugriff auf eine Adresse in dem gemeinsamen Speicher abhält, während eine CPU auf die gleiche Adresse tatsächlich zugreift. Dateninformation wird zwischen einer CPU 1 vom Typ eines sogenannten "Ein-Chip-Mikrocompters", der keinen "Bereit"-Anschluß oder dergleichen besitzt, und einer CPU 2, die den "Bereit"-Anschluß besitzt, durch den gemeinsamen Speicher 3 gegenseitig übertragen. Zwischen der CPU 1 und der CPU ist eine Konfliktentscheidung erforderlich, wenn ein Datentransfer zwischen der CPU 1 und dem gemeinsamen Speicher 3 ausgeführt wird. Um diese Konfliktentscheidung zu erreichen, umfaßt das Vielfach-CPU-System: einen Zugriffsentscheidungsspeicher zum Speichern der zwischen der CPU 1 und dem gemeinsamen Speicher 3 zu übertragenden Dateninformation und einer entsprechenden Adreßinformation, und eine Zeitsteuerschaltung 18 zum Steuern des Timings des Datenlesens und Datenschreibens zwischen dem Zugriffsentscheidungsspeicher und dem gemeinsamen Speicher 3 gemäß einem Entscheidungssignal, das von einem Busy-Anschluß Busy&sub1; ausgegeben wird, der ein Konfliktentscheidungsanschluß des gemeinsamen Speichers 3 ist. Der Zugriffsentscheidungsspeicher umfaßt einen Speicher 4 zum Speichern der Adresse, auf die im dem gemeinsamen Speicher 3 zuzugreifen ist, wenn die Dateninformation zwischen dem gemeinsamen Speicher 3 und der CPU 1 übertragen wird, ein D-Flip-Flop 5 (nachfolgend kurz D-FF genannt) mit dreistufigem Ausgang zum Zwischenspeichern der in den gemeinsamen Speicher 3 zu schreibenden Dateninformation, und ein D-FF 6 zum Zwischenspeichern der aus dem gemeinsamen Speicher 3 gelesenen Dateninformation. Die Zeltsteuerschaltung 18 umfaßt alle negativen Logikkreise der "UND-Kreise 7 und 8, eines "NOR"-Kreises 9, der "ODER"-Kreise 10 bis 14, die Widerstände R1 und R2 sowie die Kondensatoren C1 und C2. Und sie hält den Datentransfer zwischen dem D-FF 5 oder 6 und dem gemeinsamen Speicher 3 in seinem Wartezustand, bis das "Busy"-Signal (Busy&sub1;) in den Zustand ohne Konflikt wechselt, wenn ein Lesesignal (RD) oder ein Schreibsignal (WT) von der CPU 1 ausgegeben wird und sich im Konflikt mit der CPU 2 (die CPU 2 hat die Zugriffspriorität) befindet.A multiple CPU system using a shared memory according to the first embodiment of the invention will be described with reference to Figs. 1 to 7. In this embodiment, a dual port memory having a contention arbitration terminal is used as a shared memory 3. At the contention arbitration terminal, a arbitration signal is outputted which prohibits CPUs without priority from accessing an address in the shared memory while a CPU is actually accessing the same address. Data information is mutually transferred between a CPU 1 of a so-called "single chip microcomputer" type having no "ready" terminal or the like and a CPU 2 having the "ready" terminal through the shared memory 3. Contention arbitration is required between the CPU 1 and the CPU when data transfer is carried out between the CPU 1 and the shared memory 3. To achieve this conflict decision, the multiple CPU system comprises: an access decision memory for storing the data information to be transferred between the CPU 1 and the common memory 3 and corresponding address information, and a timing control circuit 18 for controlling the timing of data reading and writing between the access arbitration memory and the common memory 3 in accordance with an arbitration signal output from a busy terminal Busy₁ which is a contention arbitration terminal of the common memory 3. The access arbitration memory comprises a memory 4 for storing the address to be accessed in the common memory 3 when the data information is transferred between the common memory 3 and the CPU 1, a D-flip-flop 5 (hereinafter referred to as D-FF) having a three-stage output for latching the data information to be written into the common memory 3, and a D-FF 6 for latching the data information read from the common memory 3. The timing control circuit 18 includes all the negative logic circuits of the "AND" circuits 7 and 8, a "NOR" circuit 9, the "OR" circuits 10 to 14, the resistors R1 and R2, and the capacitors C1 and C2. And it keeps the data transfer between the D-FF 5 or 6 and the common memory 3 in its waiting state until the "Busy" signal (Busy₁) changes to the non-conflict state when a read signal (RD) or a write signal (WT) is output from the CPU 1 and is in conflict with the CPU 2 (the CPU 2 has the access priority).

Nachstehend wird die Funktion dieser Ausführung erklärt. Zuerst erfolgt eine Erklärung mit Verweis auf Fig. 2 für den Fall, bei dem der Datentransfer von der CPU 1 nach dem gemeinsamen Speicher 3 sich nicht in Konflikt mit der CPU 2 befindet oder sie die Zugriffspriorität besitzt, auch wenn sie nicht mit der CPU 2 konkurriert. Wenn die CPU 1 auf den gemeinsamen Speicher 3 zugreift, wechseln ein Chip-Auswahlsignal CS und das Schreibsignal WT der CPU 1 zu dem TIEF-Pegel, wie in Fig. 2(a) bzw. 2(b) gezeigt; ein Ausgang COWT des UND-Kreises 8 als UND-Funktion des Chip-Auswahlsignals CS und des Schreibsignals WT wechselt zu dem TIEF-Pegel, wie in Fig. 2(e) gezeigt, und ein Ausgang CORW des NOR-Kreises 9 wechselt zu dem HOCH-Pegel, wie in Fig. 2(f) gezeigt. Die Adresse, in die die Dateninformation zu schreiben ist, wird durch Verwendung der Vorderflanke des Ausgangs CORW des NOR-Kreises 9, wie Fig. 2(h) zeigt, in dem Speicher 4 gespeichert. Die zu schreibende Dateninformation selbst wird durch Verwendung der Vorderflanke des Ausgangs COWT des UND-Kreises 8 In dem D-FF 5 gespeichert.The function of this embodiment will be explained below. First, an explanation will be made with reference to Fig. 2 for the case where the data transfer from the CPU 1 to the shared memory 3 is not in conflict with the CPU 2 or it has the access priority even if it does not compete with the CPU 2. When the CPU 1 accesses the shared memory 3, a chip select signal CS and the write signal WT of the CPU 1 change to the LOW level, as shown in Fig. 2(a) and 2(b), respectively; an output COWT of the AND circuit 8 as an AND function of the chip select signal CS and the write signal WT changes to the LOW level as shown in Fig. 2(e), and an output CORW of the NOR circuit 9 changes to the HIGH level as shown in Fig. 2(f). The address into which the data information is to be written is stored in the memory 4 by using the leading edge of the output CORW of the NOR circuit 9 as shown in Fig. 2(h). The data information itself to be written is stored in the D-FF 5 by using the leading edge of the output COWT of the AND circuit 8.

Als nächstes wird ein tatsächlicher Schreibvorgang in den gemeinsamen Speicher 3 beschrieben. Dieser Vorgang wird unter Verwendung eines Ausgangs DWT des ODER-Kreises 13 in Fig. 2(g) durchgeführt. Da in diesem Fall der Beschreibung kein Konflikt zwischen den CPUs 1 und 2 besteht oder die CPU 1 die Priorität zum Zugriff auf den gemeinsamen Speicher 3 hat, befindet sich das Busy-Signal (Busy&sub1;) in dem HOCH- Pegel, und der Ausgang DWT des ODER-Kreises 13 wechselt daher zu dem TIEF-Pegel in dem Moment, wenn der Ausgang COWT des UND-Kreises 8 zu dem TIEF-Pegel wechselt. Folglich wechseln die Spannungen eines Schreibanschlusses WT&sub1; des gemeinsamen Speichers 3 und einer Ausgabefreigabe OE des D-FF 5, wobei beide Anschlüsse mit dem Ausgang DWT des ODER-Kreises 13 gespeist werden, zu dem TIEF-Pegel. Da zur gleichen Zeit ein Ausgang des ODER-Kreises 14, an den der Ausgang DWT des ODER-Kreises 13 als ein Eingang angelegt wird, zu dem TIEF-Pegel wechselt, und der Chip-Auswahlanschluß CS&sub1; des gemeinsamen Speichers 3, an den der Ausgang des ODER-Kreises 14 angelegt wird, wie in Fig. 2(j) gezeigt, zu dem TIEF-Pegel wechselt, wird der Schreibvorgang in den gemeinsamen Speicher 3 in dem Moment möglich, wenn das Schreibsignal WT von der CPU 1 eingegeben wird. Der Ausgang COWT des UND Kreises 8 wechselt zu dem HOCH-Pegel, wenn das Schreibsignal WT der CPU 1 zu dem HOCH-Pegel wechselt, so daß die Dateninformation selbst in dem D-FF 5 gespeichert wird. Da in diesem Moment das Busy-Signal Busy&sub1; und der Ausgang des UND-Kreises 8 zu dem HOCH-Pegel wechseln, die beide in den ODER-Kreis 12 eingegeben werden, wechselt der Ausgang des ODER-Kreises 12 zu dem HOCH-Pegel. Das Ausgangssignal DWT des ODER-Kreises 13 wird jedoch während einer Periode τ&sub2;, die die durch den Widerstand R2 und den Kondensator C2 bestimmte Zeltkonstante ist, auf dem TIEF-Pegel gehalten. Das tatsächliche Schreiben der Dateninformation in den gemeinsamen Speicher 3 wird mit Hilfe des Ausgangssignals DWT des ODER-Kreises 13 ausgeführt, das nach der Verzögerungszeit τ&sub2; in den HOCH-Pegel geändert wird. Die Zeitkonstante τ&sub2; wird hierin auf die Dauer eingestellt, die benötigt wird, um die Dateninformation in den gemeinsamen Speicher 3 zu schreiben. In dem Fall, wo ein Zugriff von der CPU 2 auf den gemeinsamen Speicher 3 auftritt, während der Speicher 3 von der CPU 1 beschrieben wird, wechselt die Spannung des Busy-Anschlusses Busy&sub2; des gemeinsamen Speichers 3, der direkt mit dem Bereit-Anschluß der CPU 2 verbunden ist, zu dem TIEF- Pegel, und die CPU 2 wird dadurch in ihrem Wartezustand gehalten, bis der Schreibvorgang von der CPU 1 beendet worden ist. Wenn kein Konflikt besteht, wird das Busy-Signal Busy&sub2; auf dem HOCH-Pegel gehalten, wie eine Strichpunktlinie in Fig. 2(k) zeigt. Die Periode τ&sub1; in Fig. 2(k) ist eine Verzögerungszeit, die benutzt wird, um den Konfliktzustand des gemeinsamen Speichers 3 aufzuheben.Next, an actual write operation to the shared memory 3 will be described. This operation is performed using an output DWT of the OR circuit 13 in Fig. 2(g). In this case of description, since there is no conflict between the CPUs 1 and 2 or the CPU 1 has the priority to access the shared memory 3, the busy signal (Busy₁) is in the HIGH level and the output DWT of the OR circuit 13 therefore changes to the LOW level at the moment when the output COWT of the AND circuit 8 changes to the LOW level. Consequently, the voltages of a write terminal WT₁ of the shared memory 3 and an output enable OE of the D-FF 5, both terminals supplied with the output DWT of the OR circuit 13, change to the LOW level. At the same time, since an output of the OR circuit 14 to which the output DWT of the OR circuit 13 is applied as an input changes to the LOW level and the chip select terminal CS₁ of the common memory 3 to which the output of the OR circuit 14 is applied changes to the LOW level as shown in Fig. 2(j), the write operation into the common memory 3 becomes possible at the moment when the write signal WT is input from the CPU 1. The output COWT of the AND circuit 8 changes to the HIGH level when the write signal WT of the CPU 1 changes to the HIGH level, so that the data information itself is stored in the D-FF 5. Since at this moment the busy signal Busy₁ and the output of the AND circuit 8 change to the HIGH level, both of which are input to the OR circuit 12, the output of the OR circuit 12 changes to the HIGH level. However, the output signal DWT of the OR circuit 13 is maintained at the LOW level for a period τ₂ which is the time constant determined by the resistor R2 and the capacitor C2. The actual writing of the data information into the common memory 3 is carried out by means of the output signal DWT of the OR circuit 13 which is changed to the HIGH level after the delay time τ₂. The time constant τ₂ is set herein to the period required to write the data information into the common memory 3. In the case where an access from the CPU 2 to the shared memory 3 occurs while the memory 3 is being written by the CPU 1, the voltage of the busy terminal Busy₂ of the shared memory 3, which is directly connected to the ready terminal of the CPU 2, changes to the LOW level, and the CPU 2 is thereby kept in its wait state until the write operation has been completed by the CPU 1. When there is no conflict, the busy signal Busy₂ is maintained at the HIGH level as shown by a dashed line in Fig. 2(k). The period τ₁ in Fig. 2(k) is a delay time used to cancel the conflict state of the shared memory 3.

Nachfolgend wird eine anderer Fall erläutert, wo sich die CPUs 1 und 2 im Konflikt befinden und die CPU 2 die Zugriffspriorität besitzt, um auf den gemeinsamen Speicher 3 zuzugreifen. Da das Busy-Signal Busy&sub1;, wie in Fig. 3(g) gezeigt, zu dem TIEF-Pegel wechselt, wobei die Adreß- Information aus dem Speicher 4 in den gemeinsamen Speicher 3 gelesen worden ist, wechselt in diesem Fall der Ausgang DWT des ODER-Kreises 13 nicht zu dem HOCH-Pegel, auch wenn der Ausgang COWT des UND-Kreises 8, wie in Fig. 3(e) gezeigt, zu dem HOCH-Pegel wechselt. Die CPU 1 wird folglich vom Schreiben der Dateninformation abgehalten, bis der Zugriff von der CPU 2 beendet worden ist. Wenn das Busy-Signal Busy&sub1;, wie in Fig. 3(g) gezeigt, zu dem HOCH-Pegel wechselt, wird die Dateninformation, die in dem DFF 5 gespeichert worden ist, als Reaktion auf den Anstieg des Ausgangs DWT des ODER-Kreises 13, der nach der Verzögerungszeit τ&sub2; auftritt, in der gleichen Weise wie oben beschrieben in den gemeinsamen Speicher 3 geschrieben.Next, another case will be explained where the CPUs 1 and 2 are in conflict and the CPU 2 has the access priority to access the shared memory 3. In this case, since the busy signal Busy₁ changes to the LOW level as shown in Fig. 3(g) with the address information being read from the memory 4 into the shared memory 3, the output DWT of the OR circuit 13 does not change to the HIGH level even if the output COWT of the AND circuit 8 changes to the HIGH level as shown in Fig. 3(e). The CPU 1 is thus prevented from writing the data information until the access from the CPU 2 is completed. When the busy signal Busy₁ changes to the HIGH level as shown in Fig. 3(g), the data information that has been stored in the DFF 5 is written into the common memory 3 in response to the rise of the output DWT of the OR circuit 13 occurring after the delay time τ₂ in the same manner as described above.

Nachstehend wird die Funktion des Auslesens der Dateninformation aus dem gemeinsamen Speicher 3 beschrieben. Zuerst wird mit Verweis auf Fig. 4 der Fall beschrieben, wo kein Konflikt besteht oder wo im Fall des Konfliktes die CPU 1 die Zugriffspriorität besitzt. Beim Auslesen der Dateninformation von dem gemeinsamen Speicher 3 wechseln, wie in Fig. 4(c) und 4(b) gezeigt, das Lesesignal RD und das Chip-Auswahlsignal CS zu dem TIEF-Pegel, und der Ausgang CORD des UND-Kreises 7 wechselt daher zu dem TIEF-Pegel, wie in Fig. 4(e) gezeigt. Da zur gleichen Zeit der Ausgang CORW des NOR-Kreises 9, wie in Fig. 4(f) gezeigt, zu dem HOCH-Pegel wechselt, wird die Adresse der auszulesenden Dateninformation in dem Speicher 4 gespeichert. Da das Ausgangssignal CORD des UND-Kreises 7 an einen Ausgabefreigabeanschluß OE des D-FF 6, in dem die ausgelesene Dateninformation gespeichert ist, angelegt wird, werden die in dem D-FF 6 gespeicherten Daten als Reaktion auf den Ausgang CORD des UND-Kreises 7 in die CPU 1 ausgelesen. Da das D-FF 6 die Dateninformation speichert, die bei dem vorangehenden Zugriff auf den gemeinsamen Speicher 3 ausgelesen wurde, wird die bei dem vorangehenden Zugriff ausgelesene Dateninformation in der oben dargelegten Leseoperation der CPU 1 zu Verfügung gestellt. Als Folge wird die Dateninformation aus dem gemeinsamen Speicher 3 in die CPU 1 gelesen, indem zweimal auf den gemeinsamen Speicher 3 zugegriffen wird. Wenn der Ausgang CORD des UND-Kreises 7, wie in Fig. 4(e) gezeigt, zu dem HOCH-Pegel wechselt, wechselt der Ausgang DRD des ODER- Kreises 11 zu dem HOCH-Pegel nach einer Verzögerungszeit τ&sub1;, die eine durch den Widerstand R1 und den Kondensator C1 bestimmte Zeitkonstante ist, wie in Fig. 4(g) gezeigt. Als Reaktion auf die Eingabe des Signals DRD in einen Taktanschluß des D-FF 6 wird die Dateninformation aus dem gemeinsamen Speicher 3 in das D-FF 6 geschrieben. Die Zeltkonstante τ&sub1; wird hierin auf die Dauer festgelegt, die gebraucht wird, um Daten aus dem gemeinsamen Speicher 3 zu lesen. Das Ausgangssignal DRD des ODER-Kreises 11 wird an den Ausgabefreigabeanschluß OE&sub1; des gemeinsamen Speichers 3 angelegt, und das Ausgangssignal des ODER- Kreises 14 wird an den Chip-Auswahlanschluß CS&sub1; angelegt. Wenn der Konflikt mit der CPU 2 eintritt, wechselt der Busy-Anschluß Busy&sub2;, wie in Fig. 4(1) gezeigt, in der gleichen Weise wie bei der vorangehenden Schreiboperation zu dem TIEF-Pegel.Next, the operation of reading out the data information from the shared memory 3 will be described. First, the case where there is no conflict or where the CPU 1 has the access priority in the case of the conflict will be described with reference to Fig. 4. When reading out the data information from the shared memory 3, as shown in Figs. 4(c) and 4(b), the read signal RD and the chip select signal CS change to the LOW level, and the output CORD of the AND circuit 7 therefore changes to the LOW level as shown in Fig. 4(e). At the same time, since the output CORW of the NOR circuit 9 changes to the HIGH level as shown in Fig. 4(f), the address of the data information to be read out is stored in the memory 4. Since the output signal CORD of the AND circuit 7 is applied to an output enable terminal OE of the D-FF 6 in which the read-out data information is stored, the data stored in the D-FF 6 is read out to the CPU 1 in response to the output CORD of the AND circuit 7. Since the D-FF 6 stores the data information read out in the previous access to the common memory 3, the the previous access is provided to the CPU 1 in the read operation set out above. As a result, the data information is read from the common memory 3 into the CPU 1 by accessing the common memory 3 twice. When the output CORD of the AND circuit 7 changes to the HIGH level as shown in Fig. 4(e), the output DRD of the OR circuit 11 changes to the HIGH level after a delay time τ₁ which is a time constant determined by the resistor R1 and the capacitor C1 as shown in Fig. 4(g). In response to the input of the signal DRD to a clock terminal of the D-FF 6, the data information from the common memory 3 is written into the D-FF 6. The time constant τ₁ is set herein to the time taken to read data from the common memory 3. The output signal DRD of the OR circuit 11 is applied to the output enable terminal OE₁ of the common memory 3, and the output signal of the OR circuit 14 is applied to the chip select terminal CS₁. When the conflict with the CPU 2 occurs, the busy terminal Busy₂ changes to the LOW level as shown in Fig. 4(1) in the same manner as in the previous write operation.

Zum anderen wird im Fall des Konfliktes mit der CPU 2, die die Zugriffspriorität besitzt, die Dateninformation aus dem gemeinsamen Speicher 3 gelesen und wird nach einer Dauer τ&sub1; von dem Anstieg des Busy-Signals Busy&sub1; an, wie in Fig. 5(g) gezeigt, an das D-FF 6 gesendet.On the other hand, in case of the conflict with the CPU 2 having the access priority, the data information is read from the shared memory 3 and is sent to the D-FF 6 after a period τ1 from the rise of the busy signal Busy1 as shown in Fig. 5(g).

Wie in den vorangehenden Seiten beschrieben, steuert bei der ersten Ausführung der Erfindung, um den Datentransfer zwischen dem gemeinsamen Speicher 3 und der CPU 1 ohne den Bereit-Anschluß auszuführen, die vorgenannte Zeitsteuerschaltung 18 das Timing des Datentransfers zwischen dem Speicher 4 und dem gemeinsamen Speicher 3 in Übereinstimmung mit dem Zugriffskonflikt mit Bezug auf das Ausgangssignal von dem Busy-Anschluß des gemeinsamen Speichers 3. Die Konfliktentscheidung des Speichers 3 kann daher auch im dem Fall realisiert werden, wo ein sogenannter "Ein-Chip-Mikrocomputer" verwendet wird.As described in the preceding pages, in the first embodiment of the invention, in order to carry out the data transfer between the shared memory 3 and the CPU 1 without the ready terminal, the aforementioned timing control circuit 18 controls the timing of the data transfer between the memory 4 and the shared memory 3 in accordance with the access contention with reference to the output signal from the busy terminal of the shared memory 3. The contention decision of the memory 3 can therefore be realized even in the case where a so-called "single-chip microcomputer" is used.

Eine in Fig. 6 dargestellte modifizierte Schaltung kann das gleiche Ergebnis verwirklichen. Die Zeitsteuerschaltung 18 umfaßt ein D-FF 15, das durch jedes Ausgangssignal COWT des UND-Kreises 8 voreingestellt und durch den Ausgang CORD des UND-Kreises 7 gelöscht wird. Die UND- Funktionen zwischen dem Busy-Signal Busy&sub1; und jeweiligen Ausgangssignalen Q und werden in den jeweiligen UND-Kreisen 16 und 17 ausgeführt, und die UND-Ergebnisse werden an jeweilige ODER-Kreise 10 und 12 angelegt. Bei dem Vorgang des Datenlesens oder Datenschreibens der CPU 1 wird das Busy-Signal Busy&sub1; nur an die Entsprechende der lesenden oder schreibenden Seite der nachfolgenden Schaltung angelegt. Das Ausgangstiming der UND-Kreise 16 und 17 ist das gleiche wie das des Busy-Signals Busy&sub1;. Es ist daher abgemacht, daß die Funktion dieser Modifikation die gleiche ist wie die der vorigen Ausführung von Fig. 1 außer, daß das Busy-Signal Busy&sub1; durch das Ausgangssignal der UND-Kreise 16 und 17 ersetzt ist.A modified circuit shown in Fig. 6 can achieve the same result. The timing control circuit 18 comprises a D-FF 15 which is preset by each output signal COWT of the AND circuit 8. and is cleared by the output CORD of the AND circuit 7. The AND functions between the busy signal Busy₁ and respective output signals Q and are performed in the respective AND circuits 16 and 17, and the AND results are applied to respective OR circuits 10 and 12. In the data reading or data writing operation of the CPU 1, the busy signal Busy₁ is applied only to the corresponding one of the reading or writing side of the subsequent circuit. The output timing of the AND circuits 16 and 17 is the same as that of the busy signal Busy₁. It is therefore agreed that the function of this modification is the same as that of the previous embodiment of Fig. 1 except that the busy signal Busy₁ is replaced by the output signal of the AND circuits 16 and 17.

Die obige Beschreibung gilt für den Fall, wo die Konfliktentscheidung für den gemeinsamen Speicher 3 zwischen der CPU 1 ohne den Steueranschluß (z. B. den Bereit-Anschluß) und der CPU 2 mit dem Steuerananschluß ausgeführt wird. Es wird jedoch angemerkt, daß die Erfindung auch auf den Fall angewandt wird, wo die Konfliktentscheidung zwischen mehreren CPUs ohne den Steueranschluß durchgeführt wird. In diesem Fall wird die Zeitsteuerschaltung 18 zwischen jeder CPU ohne den Steueranschluß und dem gemeinsamen Speicher 3 angeordnet.The above description applies to the case where the contention decision for the shared memory 3 is carried out between the CPU 1 without the control terminal (e.g., the ready terminal) and the CPU 2 with the control terminal. It is noted, however, that the invention is also applied to the case where the contention decision is carried out between a plurality of CPUs without the control terminal. In this case, the timing control circuit 18 is arranged between each CPU without the control terminal and the shared memory 3.

Ausführung 2Version 2

Ein Vielfach-CPU-System, das einen gemeinsamen Speicher verwendet, gemäß einer weiteren Ausführung der Erfindung ist in Fig. 8 und 9 dargestellt. Das Folgende sind Sätze eines Programms für den Schreibvorgang von der CPU 1 in den gemeinsamen Speicher 3 der ersten Ausführung. Dieses Programm gilt für die Verwendung des Intel 8031. Schritt 1A multiple CPU system using a shared memory according to another embodiment of the invention is shown in Figs. 8 and 9. The following are sentences of a program for the write operation from the CPU 1 to the shared memory 3 of the first embodiment. This program is for use of the Intel 8031. Step 1

Das heißt, das Programm arbeitet wie folgt: Bestimmen des zu schreibenden Datums DATA1 in dem Schritt 1; Bestimmen einer Adresse, in die das Datum zu schreiben ist, in dem Schritt 2; Schreiben des Datums DATA1 in die Adresse Add.1 in dem Schritt 3; Bestimmen des nächsten zu schreibenden Datums DATA2 in dem Schritt 4; Bestimmen einer Adresse Add.2, in die das Datum DATA2 zu schreiben ist, in dem Schritt 5, und Schreiben des Datums DATA2 in die Adresse Add.2 In dem Schritt 6.That is, the program works as follows: Determine the data to be written DATA1 in step 1; Determine an address to which the data is to be written in step 2; Write the data DATA1 to the address Add.1 in step 3; determining the next data DATA2 to be written in step 4; determining an address Add.2 into which the data DATA2 is to be written in step 5, and writing the data DATA2 to the address Add.2 in step 6.

Bei der ersten Ausführung von Fig. 1, deren Programm oben aufgelistet ist, wechselt im dem Fall, wie in Fig. 7(a) und 7(e) gezeigt, wo die CPU 2 auf eine Adresse in dem gemeinsamen Speicher 3 zugreift, bevor die CPU 1 das Schreiben in die gleiche Adresse in dem Schritt 3 ausführt, der Busy-Ausgang Busy&sub1; des gemeinsamen Speichers 3 zu dem TIEF- Pegel. Wenn der Zugriff von der CPU 1 beendet worden ist, kehrt das Signal Busy nach einer Verzögerungszeit t&sub1; zu dem HOCH-Pegel zurück. Dann werden mit Hilfe der vorgenannten Zeitsteuerschaltung 18 die Ausgänge des Schreibanschlusses WT&sub1; und des Chip-Auswahlanschlusses 751 nach einer Verzögerungszeit τ&sub2;, d. h. die Zelt, die benötigt wird, um Daten in den gemeinsamen Speicher 3 zu schreiben, zu dem HOCH-Pegel zurückgebracht.In the first embodiment of Fig. 1, the program of which is listed above, in the case as shown in Figs. 7(a) and 7(e) where the CPU 2 accesses an address in the shared memory 3 before the CPU 1 executes writing to the same address in the step 3, the busy output Busy1 of the shared memory 3 changes to the LOW level. When the access by the CPU 1 has been completed, the signal Busy returns to the HIGH level after a delay time t1. Then, by means of the aforementioned timing control circuit 18, the outputs of the write terminal WT1 and the chip select terminal 751 are returned to the HIGH level after a delay time τ2, i.e., the time required to write data into the shared memory 3.

Wenn jedoch in dem Schritt 6 der nächste Schreibvorgang beginnt, bevor die Spannungen des Schreibanschlusses WT&sub1; usw. zu dem HOCH-Pegel zurückkehren, wie in Fig. 7(a) durch eine unterbrochene Linie dargestellt, werden der Schreibanschluß WT&sub1; und der Chip-Auswahlanschluß CS&sub1; in dem TIEF-Pegel gehalten, wie durch unterbrochene Linien in Fig. 7(b) und 7(c) dargestellt, und bei dieser Situation geht die CPU 1 zu dem Schreibvorgang des nächsten Datums DATA2. Dies bedeutet, daß die CPU 1 die vorangehende Dateninformation DATA1 nicht schreiben kann. Die Bedingung, unter der ein solches Problem vorkommen wird, ist gegeben durch: T2 + t1 + τ&sub2; > T1. üblicherweise können verschiedene CPUs als die CPU 2 verwendet werden. Wenn eine CPU mit der langen Zugriffszelt T&sub2; als die CPU 2 benutzt wird, wird die oben aufgestellte Formel erfüllt, und der Schreibvorgang von dem Mikroprozessor 1 kann daher nicht garantiert werden. Das gleiche Problem kann auch bei dem Lesevorgang auftreten.However, in the step 6, if the next write operation starts before the voltages of the write terminal WT1 etc. return to the HIGH level as shown by a broken line in Fig. 7(a), the write terminal WT1 and the chip select terminal CS1 are held in the LOW level as shown by broken lines in Figs. 7(b) and 7(c), and in this situation, the CPU 1 goes to the write operation of the next data DATA2. This means that the CPU 1 cannot write the previous data information DATA1. The condition under which such a problem will occur is given by: T2 + t1 + τ2 > T1. Usually, various CPUs can be used as the CPU 2. If a CPU with the long access time T2 is used, the CPU 1 and the chip select terminal CS1 are kept ... when the CPU 2 is used, the above formula is satisfied, and the writing operation from the microprocessor 1 cannot be guaranteed. The same problem may also occur in the reading operation.

Bei der in Fig. 8 gezeigten Ausführung ermittelt daher die CPU 1 die Beendigung des Transfers der Dateninformation, deren entsprechende Adreßinformation in dem Speicher 4 gespeichert ist, in den gemeinsamen Speicher 3 durch Verwendung des Ausgangssignals CS&sub1; des ODER- Kreises 14 In der Zeitsteuerschaltung 18, und die nächste Adresse wird gesperrt, bis der oben genannte Schreib- oder Lesevorgang zu Ende ist. Zu diesem Zweck ist eine Steuereinrichtung vorhanden, die in einer softwaremäßigen Weise in Logikreisen der CPU 1 aufgebaut ist und Funktionen zum Ermitteln der Beendigung des Schreibens durch Anlegen des Ausgangssignals CS&sub1; des ODER-Kreises 14 in der Zeitsteuerschaltung 18 an einen Eingangsanschluß Port1 der CPU 1 und Sperren des nächsten Zugriffs, bis zur Beendigung des Schreibens oder Lesens der Daten mit der in dem Speicher 4 gespeicherten Adresse in oder aus dem gemeinsamen Speicher 3, besitzt.In the embodiment shown in Fig. 8, therefore, the CPU 1 detects the completion of the transfer of the data information whose corresponding address information is stored in the memory 4 into the common memory 3 by using the output signal CS₁ of the OR circuit 14 in the timing control circuit 18, and the next address is blocked until the above-mentioned writing or reading operation is completed. For this purpose, a control device is provided which is constructed in a software manner in logic circuits of the CPU 1 and has functions for detecting the completion of the writing by applying the output signal CS₁ of the OR circuit 14 in the timing control circuit 18 to an input terminal Port1 of the CPU 1 and blocking the next access until the completion of the writing or reading of the data with the address stored in the memory 4 into or from the common memory 3.

Das Folgende sind Sätze eines Programms zum Schreiben von der CPU 1 in den gemeinsamen Speicher 3 dieser Ausführung. Schritt 1The following are sentences of a program for writing from the CPU 1 to the shared memory 3 of this embodiment. Step 1

Schritt 6Step 6

Schritt 7Step 7

In diesem Programm entsprechen die Schritte 1 bis 5 denen der ersten Ausführung. In Schritt 6 wird der Zugriff bis zur Beendigung des vorangehenden Datenschreibens (Add.1) angehalten. In Schritt 7 wird das Datum DATA2 in die Adresse Add.2 geschrieben.In this program, steps 1 to 5 correspond to those of the first execution. In step 6, access is stopped until the previous data writing (Add.1) is completed. In step 7, the data DATA2 is written to the address Add.2.

Bei diesem Programm ermittelt die CPU 1 die Beendigung des vorangehenden Zugriffs (Schritt 3), bevor sie den nächsten Zugriff beginnt (Schritt 7), d. h. sie ermittelt den Wechsel des Ausgangs CS&sub1; des ODER- Kreises 14 zu dem HOCH-Pegel (Fig. 9(c)) durch den Eingangssignalzustand der Eingangsports Port1, an den der Ausgang CS&sub1; angelegt wird, und führt, wie in Fig. 9(a) gezeigt, den nächsten Zugriff nach dem Ende des Schreibens aus. Mit dieser Anordnung kann das Problem der ersten Ausführung, d. h. der Zugriffsfehler des DATA1, gelöst werden.In this program, the CPU 1 detects the completion of the previous access (step 3) before starting the next access (step 7), that is, it detects the change of the output CS1 of the OR circuit 14 to the HIGH level (Fig. 9(c)) by the input signal state of the input port Port1 to which the output CS1 is applied, and executes the next access after the end of the writing as shown in Fig. 9(a). With this arrangement, the problem of the first execution, that is, the access error of the DATA1, can be solved.

Wie in den vorangehenden Seiten beschrieben, kann bei dem Vielfach- CPU-System der vorliegenden Erfindung die Konfliktentscheidung für den gemeinsamen Speicher auch im Fall der Verwendung des sogenannten Ein- Chip-Mikrocomputers erreicht werden.As described in the preceding pages, in the multiple CPU system of the present invention, the contention decision for the shared memory can be achieved even in the case of using the so-called single-chip microcomputer.

Claims (4)

1. System mit mehreren CPUS, die einen gemeinsamen Speicher verwenden, in dem Dateninformation zwischen einer Vielzahl von CPUs gegenseitig übertragen wird, wobei das System umfaßt:1. A system having multiple CPUs using a shared memory in which data information is mutually transferred between a plurality of CPUs, the system comprising: eine erste CPU mit einem Steueranschluß, die ihren Zugriff auf den gemeinsamen Speicher im Ansprechen auf ein an den Steueranschluß angelegtes Entscheidungssignal unterbricht;a first CPU having a control terminal that interrupts its access to the shared memory in response to an arbitration signal applied to the control terminal; eine zweite CPU ohne den Steueranschluß; wobei der gemeinsame Speicher das Entscheidungssignal an die CPUs ohne Priorität ausgibt, wenn auf eine gleiche Adresse des gemeinsamen Speichers von der Vielzahl von CPUs zugegriffen wird;a second CPU without the control terminal; wherein the shared memory outputs the arbitration signal to the CPUs without priority when a same address of the shared memory is accessed by the plurality of CPUs; einen Zugriffsentscheidungsspeicher, der zwischen der zweiten CPU und dem gemeinsamen Speicher angeordnet ist, zum Zwischenspeichern von Dateninformation, die zwischen der zweiten CPU und dem gemeinsamen Speicher übertragen wird und einer entsprechenden Adreßinformation; undan access decision memory arranged between the second CPU and the shared memory for temporarily storing data information transferred between the second CPU and the shared memory and corresponding address information; and einen Zeitsteuerschaltkreis, der zwischen der zweiten CPU und dem gemeinsamen Speicher angeordnet ist zum Steuern der Zeitabläufe des Datentransfers zwischen dem Zugriffsentscheidungsspeicher und dem gemeinsamen Speicher nach Maßgabe des Entscheidungssignals.a timing control circuit arranged between the second CPU and the shared memory for controlling the timing of data transfer between the access arbitration memory and the shared memory in accordance with the arbitration signal. 2. System mit mehreren CPUs, die einen gemeinsamen Speicher verwenden, in dem Dateninformation zwischen einer Vielzahl von CPUs gegenseitig übertragen wird, wobei2. System with multiple CPUs using a shared memory in which data information is mutually transferred between a plurality of CPUs, whereby die Vielzahl von CPUs keinen Steueranschluß besitzen und von sich aus ihren Zugriff auf den gemeinsamen Speicher nicht unterbrechen können;the large number of CPUs do not have a control connection and cannot interrupt their access to the shared memory on their own initiative; wobei der gemeinsame Speicher ein Entscheidungssignal an die CPUs ohne Priorität ausgibt, wenn auf eine gleiche Adresse des gemeinsamen Speichers von der Vielzahl von CPUs zugegriffen wird; und das System umfaßt:wherein the shared memory outputs an arbitration signal to the CPUs without priority when a same address of the shared memory is accessed by the plurality of CPUs; and the system comprises: einen Zugriffsentscheidungsspeicher, der zwischen jeder CPU und dem gemeinsamen Speicher angeordnet ist, zum Zwischenspeichern von Dateninformation, die zwischen den CPUs und dem gemeinsamen Speicher übertragen wird und einer entsprechenden Adreßinformation; undan access decision memory arranged between each CPU and the common memory for temporarily storing data information transferred between the CPUs and the common memory and corresponding address information; and einen Zeitsteuerschaltkreis, der zwischen jeder CPU und dem gemeinsamen Speicher angeordnet ist zum Steuern der Zeitabläufe des Datentransfers zwischen dem Zugriffsentscheidungsspeicher und dem gemeinsamen Speicher nach Maßgabe des Entscheidungssignals.a timing control circuit disposed between each CPU and the common memory for controlling the timing of data transfer between the access arbitration memory and the common memory in accordance with the arbitration signal. 3. System nach Anspruch 1, worin die zweite CPU eine Steuereinrichtung umfaßt zum Erkennen der Adreßinformation, die den Daten entspricht, die in dem Zugriffsentscheidungsspeicher gespeichert sind, aus einem Ausgangssignal des Zeitsteuerschaltkreises, wenn die Übertragung von Dateninformation beendet worden ist und zum Verhindern des nächsten Zugriffs auf den gemeinsamen Speicher, bis die Übertragung beendet ist.3. A system according to claim 1, wherein the second CPU includes a control means for recognizing the address information corresponding to the data stored in the access decision memory from an output signal of the timing control circuit when the transfer of data information has been completed and for preventing the next access to the shared memory until the transfer is completed. 4. System nach Anspruch 2, worin die CPUs eine Steuereinrichtung umfassen zum Erkennen der Adreßinformation, die den Daten entspricht, die in dem Zugriffsentscheidungsspeicher gespeichert sind aus einem Ausgangssignal des Zeitsteuerschaltkreises, wenn die Übertragung von Dateninformation beendet worden ist, und zum Verhindern des nächsten Zugriffs auf den gemeinsamen Speicher, bis die Übertragung beendet ist.4. A system according to claim 2, wherein the CPUs include a control means for recognizing the address information corresponding to the data stored in the access decision memory from an output signal of the timing control circuit when the transfer of data information has been completed, and for preventing the next access to the shared memory until the transfer is completed.
DE3850212T 1987-10-26 1988-10-25 Multiple CPU system with shared memory. Expired - Lifetime DE3850212T2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP26957487 1987-10-26
JP63158840A JP2749819B2 (en) 1987-10-26 1988-06-27 Shared memory control method

Publications (2)

Publication Number Publication Date
DE3850212D1 DE3850212D1 (en) 1994-07-21
DE3850212T2 true DE3850212T2 (en) 1994-09-22

Family

ID=26485834

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3850212T Expired - Lifetime DE3850212T2 (en) 1987-10-26 1988-10-25 Multiple CPU system with shared memory.

Country Status (4)

Country Link
US (1) US5155855A (en)
EP (1) EP0314069B1 (en)
JP (1) JP2749819B2 (en)
DE (1) DE3850212T2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5341473A (en) * 1990-08-09 1994-08-23 Nec Corporation System of transferring data in a multi-CPU arrangement using address generators
GB9018992D0 (en) * 1990-08-31 1990-10-17 Ncr Co Internal bus for work station interfacing means
EP0645026B1 (en) * 1992-06-12 1997-11-12 The Dow Chemical Company Stealth interface for process control computers
US5495588A (en) * 1993-11-18 1996-02-27 Allen-Bradley Company, Inc. Programmable controller having joined relay language processor and general purpose processor
US5732757A (en) * 1996-05-10 1998-03-31 Jvm Innovation & Design Llc Slotted panel and strap combination
FR2765006B1 (en) * 1997-06-18 1999-07-16 Schlumberger Ind Sa DEVICE FOR EXCHANGING ASYNCHRONOUS DATA BETWEEN TWO MICROPROCESSORS
WO2000000903A1 (en) * 1998-06-30 2000-01-06 Mitsubishi Denki Kabushiki Kaisha Multiple cpu unit
KR100598488B1 (en) 2004-11-03 2006-07-11 주식회사 팬택 Personal portable device with remote function controlling capability and method thereof

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2462745B1 (en) * 1979-07-30 1986-01-03 Jeumont Schneider DEVICE FOR TEMPORAL SHARING OF ACCESS TO A MEMORY CONNECTED TO A SINGLE BUS BETWEEN A CENTRAL COMPUTER AND A PLURALITY OF PERIPHERAL COMPUTERS
JPS56123047A (en) * 1980-03-04 1981-09-26 Mitsubishi Electric Corp Electronic computer device
US4395753A (en) * 1980-06-26 1983-07-26 Gte Automatic Electric Labs Inc. Allocation controller providing for access of multiple common resources by a plurality of central processing units
US4415972A (en) * 1980-12-29 1983-11-15 Sperry Corporation Dual port memory interlock
US4633392A (en) * 1982-04-05 1986-12-30 Texas Instruments Incorporated Self-configuring digital processor system with logical arbiter
IT1151683B (en) * 1982-07-06 1986-12-24 Honeywell Inf Systems ASYNCHRONOUS BUS MULTIPROCESSOR SYSTEM WITH LOADING OF MICRO INSTRUCTIONS FROM WORK MEMORY
US4698753A (en) * 1982-11-09 1987-10-06 Texas Instruments Incorporated Multiprocessor interface device
IT1161467B (en) * 1983-01-21 1987-03-18 Cselt Centro Studi Lab Telecom PARALLEL INTERFACE FOR INTERVIEW MANAGEMENT BETWEEN AN ASYNCHRONOUS BUS AND A SYNCHRONOUS BUS CONNECTED TO MULTIPLE TERMINALS EQUIPPED EACH WITH ITS OWN SYNCHRONIZATION SIGNAL
US4594657A (en) * 1983-04-22 1986-06-10 Motorola, Inc. Semaphore for memory shared by two asynchronous microcomputers
JPS60247767A (en) * 1984-05-24 1985-12-07 Nec Corp Simultaneous input and output system for reading-out and writing-in operation of shared memory
US4669044A (en) * 1984-07-02 1987-05-26 Ncr Corporation High speed data transmission system
CA1239227A (en) * 1984-10-17 1988-07-12 Randy D. Pfeifer Method of and arrangement for ordering of multiprocessor operations in a multiprocessor system
US4641238A (en) * 1984-12-10 1987-02-03 Itt Corporation Multiprocessor system employing dynamically programmable processing elements controlled by a master processor
US4722048A (en) * 1985-04-03 1988-01-26 Honeywell Bull Inc. Microcomputer system with independent operating systems
JPS6257050A (en) * 1985-09-06 1987-03-12 Nippon Signal Co Ltd:The Common memory device
US4797815A (en) * 1985-11-22 1989-01-10 Paradyne Corporation Interleaved synchronous bus access protocol for a shared memory multi-processor system
JPH0715674B2 (en) * 1986-01-20 1995-02-22 日本電気株式会社 Micro computer
US4780822A (en) * 1986-09-17 1988-10-25 Integrated Device Technology, Inc. Semaphore circuit for shared memory cells
US4761735A (en) * 1986-12-19 1988-08-02 Ncr Corporation Data transfer circuit between a processor and a peripheral
FR2611396B1 (en) * 1987-02-27 1991-10-11 Trt Telecom Radio Electr DEVICE FOR ALLOWING TWO INFORMATION PROCESSING SYSTEMS ACCESS TO A COMMON CIRCUIT
US4866664A (en) * 1987-03-09 1989-09-12 Unisys Corporation Intercomputer communication control apparatus & method

Also Published As

Publication number Publication date
DE3850212D1 (en) 1994-07-21
EP0314069A3 (en) 1989-12-27
JPH01199261A (en) 1989-08-10
EP0314069B1 (en) 1994-06-15
JP2749819B2 (en) 1998-05-13
US5155855A (en) 1992-10-13
EP0314069A2 (en) 1989-05-03

Similar Documents

Publication Publication Date Title
DE19860650B4 (en) A synchronous semiconductor memory device having a chip set memory control device with data masking function
DE68923944T2 (en) RAM with double inputs / outputs.
DE2953861C2 (en)
DE3844033C2 (en) Memory circuit for a microprocessor system
DE2855673C2 (en)
DE68919539T2 (en) Data processing system with access sources of different throughput.
DE3146356A1 (en) DATA PROCESSING SYSTEM
DE4018481C2 (en)
DE4019135A1 (en) SERIAL RAM-BASED MEMORY WITH PARALLEL READING
DE3688400T2 (en) CACHE MEMORY CIRCUIT SUITABLE FOR PROCESSING A READING REQUEST DURING THE TRANSFER OF A DATA BLOCK.
DE3687867T2 (en) MICROCALCULATOR.
DE3049774C2 (en)
DE69127771T2 (en) Data transfer control device
DE3784368T2 (en) DATA PROCESSOR WITH WAIT CONTROL, ALLOWING HIGH-SPEED ACCESS.
DE3850514T2 (en) Cache with hit prediction logic.
DE2813080A1 (en) DEVICE FOR MEMORY ADDRESSING
DE3123382C2 (en) Method and device for transmitting data in a multiprocessor system
DE2912073C2 (en)
DE69029815T2 (en) CENTRALIZED REFERENCE AND CHANGE TABLE FOR A VIRTUAL STORAGE ARRANGEMENT
DE19900251B4 (en) Apparatus and method for controlling a versatile USB endpoint channel
DE3911721C2 (en)
DE3850212T2 (en) Multiple CPU system with shared memory.
DE4328909C2 (en) Information processing system, information processor in an information processing system and interrupt controller in an information processing system
DE3314139C2 (en)
DE3882425T2 (en) Data transfer control device for direct memory access.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)