DE10030380A1 - Mehrere CPUs enthaltendes System - Google Patents

Mehrere CPUs enthaltendes System

Info

Publication number
DE10030380A1
DE10030380A1 DE10030380A DE10030380A DE10030380A1 DE 10030380 A1 DE10030380 A1 DE 10030380A1 DE 10030380 A DE10030380 A DE 10030380A DE 10030380 A DE10030380 A DE 10030380A DE 10030380 A1 DE10030380 A1 DE 10030380A1
Authority
DE
Germany
Prior art keywords
data
memory
cpus
address
mem
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.)
Withdrawn
Application number
DE10030380A
Other languages
English (en)
Inventor
Kumar Jain Raj
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE10030380A priority Critical patent/DE10030380A1/de
Priority to US09/886,558 priority patent/US20020046297A1/en
Publication of DE10030380A1 publication Critical patent/DE10030380A1/de
Withdrawn 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4239Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)

Abstract

Das beschriebene System zeichnet sich dadurch aus, daß für die mehreren CPUs ein gemeinsamer Speicher vorgesehen ist, daß von den mehreren CPUs nur eine oder mehrere bestimmte CPUs an den zur Adressierung des gemeinsamen Speichers vorgesehenen Adreß-Bus angeschlossen sind, und daß Zugriffe der anderen CPUs auf den gemeinsamen Speicher über eine der an den Adreß-Bus angeschlossene CPUs erfolgen. Dadurch kommt das System, obgleich es einen gemeinsamen Speicher aufweist, mit verhältnismäßig kurzen und/oder wenig verzweigten Bussen aus.

Description

Die vorliegende Erfindung betrifft eine Vorrichtung gemäß dem Oberbegriff des Patentanspruchs 1, d. h. ein mehrere CPUs ent­ haltendes System.
Solche Systeme sind seit vielen Jahren in den verschiedensten Ausführungsformen bekannt.
Ein bekanntes Problem bei derartigen Systemen besteht darin, daß deren Aufbau und Betrieb im allgemein sehr aufwendig ist.
Dies liegt unter anderem daran, daß für jede CPU ein eigener Speicher vorgesehen wird, in welchem die von der betreffenden CPU benötigten Programme und Daten gespeichert sind. Dies ist nachteilig, weil es hierbei vorkommen kann, daß bestimmte Da­ ten in mehreren Speichern, also mehrfach gespeichert werden müssen und/oder daß Teile der in den Speichern gespeicherten Daten in Übereinstimmung gehalten werden müssen.
Eine mögliche Alternative hierzu besteht darin, für alle CPUs einen gemeinsamen Speicher vorzusehen. Dies ist allerdings mit erheblichen anderen Nachteilen verbunden: die Verbindung der CPUs mit dem gemeinsamen Speicher erfordert im allgemei­ nen sehr lange und weit verzweigte Busse, und darüber hinaus muß eine die Busvergabe regelnde Steuereinrichtung vorgesehen werden.
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, ein einfach aufgebautes und betreibbares System mit mehreren CPUs zu schaffen.
Diese Aufgabe wird erfindungsgemäß durch das in Patentan­ spruch 1 beanspruchte System gelöst.
Das erfindungsgemäße System zeichnet sich dadurch aus,
  • - daß für die mehreren CPUs ein gemeinsamer Speicher vorgese­ hen ist,
  • - daß von den mehreren CPUs nur eine oder mehrere bestimmte CPUs an den zur Adressierung des gemeinsamen Speichers vor­ gesehenen Adreß-Bus angeschlossen sind, und
  • - daß Zugriffe der anderen CPUs auf den gemeinsamen Speicher über eine der an den Adreß-Bus angeschlossene CPUs erfol­ gen.
Diese Merkmale ermöglichen es, daß das System, obgleich es einen gemeinsamen Speicher aufweist, mit verhältnismäßig kur­ zen und/oder weniger verzweigten Bussen auskommt, und daß der Zugriff auf den gemeinsamen Speicher relativ einfach und fle­ xibel steuerbar ist.
Das beanspruchte System läßt sich damit mit verhältnismäßig geringem Aufwand aufbauen und betreiben.
Vorteilhafte Weiterbildungen der Erfindung sind den Unteran­ sprüchen, der folgenden Beschreibung, und der Figur entnehm­ bar.
Die Erfindung wird nachfolgend anhand eines Ausführungsbei­ spiels unter Bezugnahme auf die Figur näher erläutert.
Die Figur zeigt schematisch den Aufbau des nachfolgend näher beschriebenen Systems.
Das betrachtete System enthält fünf CPUs. Es sei jedoch be­ reits an dieser Stelle darauf hingewiesen, daß auf diese An­ zahl keine Einschränkung besteht. Die nachfolgend näher be­ schriebenen Besonderheiten des betrachteten Systems lassen sich auch bei Systemen mit beliebig viel mehr oder weniger CPUs einsetzen.
Die CPUs des betrachteten Systems sind auf einem einzigen Halbleiter-Chip untergebracht. Bei dem Halbleiter-Chip han­ delt es sich um einen Signalprozessor, der über mehrere Kanä­ le erhaltene Daten parallel verarbeitet. Auch hierauf besteht keine Einschränkung. Der Halbleiter-Chip, dessen Bestandteil die CPUs sind, kann auch ein beliebiger anderer Baustein, beispielsweise ein Mikroprozessor oder Mikrocontroller sein. Darüber hinaus besteht auch keine Notwendigkeit, daß die meh­ reren CPUs auf einem einzigen Halbleiter-Chip untergebracht sind; die nachfolgend näher beschriebenen Besonderheiten des betrachteten Systems erweisen sich auch als vorteilhaft, wenn die CPUs auf mehrere verschiedene Bauteile oder Bauteil- Gruppen verteilt sind.
Die mehreren CPUs können den selben oder einen unterschiedli­ chen Aufbau aufweisen.
Die fünf CPUs des betrachteten Systems sind in der Figur mit den Bezugszeichen CPU0 bis CPU4 bezeichnet.
Für diese fünf CPUs ist ein einziger, für alle CPUs gemeinsa­ mer Speicher vorgesehen; dieser Speicher ist in der Figur mit dem Bezugszeichen MEM bezeichnet.
Der gemeinsame Speicher MEM ist über
  • - einen zur Adressierung des Speichers vorgesehenen Adreß-Bus ADRBUS,
  • - einen zur Übertragung von in den Speicher einzuschreibenden Daten vorgesehenen Daten-Bus DATAWRITEBUS,
  • - einen zur Übertragung von aus dem Speicher ausgelesenen Da­ ten vorgesehenen Daten-Bus DATAREADBUS, und
  • - diversen, in der Figur nur teilweise dargestellten Steuer­ leitungen zur Steuerung des Speichers, insbesondere Leitun­ gen, über welche an den Speicher Aufforderungen zum Ausle­ sen (Leseaufforderungssignal) oder Einschreiben von Daten (Schreibaufforderungssignal) übermittelt werden,
mit den restlichen Komponenten des in der Figur dargestellten Systems verbunden. Diese restlichen Komponenten sind neben den bereits erwähnten CPUs CPU0 bis CPU4 ein ODER-Glied OR, eine im betrachteten Beispiel durch ein Register R realisier­ te Adreß-Speichereinrichtung, und eine im betrachteten Bei­ spiel durch einen Multiplexer MUX realisierte Schalteinrich­ tung.
Der Adreß-Bus ADRBUS besteht aus zwei Teilen: einem ersten Teil, der zwischen der CPU CPU0, dem Register R und einem der Eingangsanschlüsse des Multiplexers MUX verläuft und diese miteinander verbindet, und einem zweiten Teil, der zwischen dem Ausgangsanschluß des Multiplexers MUX und dem Speicher MEM verläuft und diese miteinander verbindet.
Der Daten-Bus DATAWRITEBUS verläuft zwischen der CPU CPU0 und dem Speicher MEM und verbindet diese miteinander.
Der Daten-Bus DATAREADBUS verläuft zwischen den CPUs CPU0, CPU1, CPU2, CPU3, CPU4, und dem Speicher MEM und verbindet diese miteinander.
Der Multiplexer MUX weist zwei Eingangsanschlüsse und einen Ausgangsanschluß auf. Wie bereits erwähnt wurde, ist der er­ ste Eingangsanschluß über den ersten Teil des Adreß-Busses ADRBUS mit der CPU CPU0 verbunden, und ist der Ausgangsan­ schluß über den zweiten Teil des Adreß-Busses ADRBUS mit dem Speicher MEM verbunden. Der zweite Eingangsanschluß des Mul­ tiplexers MUX ist über einen in der Figur nicht näher be­ zeichneten Bus mit dem Register R verbunden. Der Multiplexer MUX wird durch ein in der Figur mit dem Bezugszeichen MUXC bezeichnetes Steuersignal gesteuert. Das Steuersignal MUXC entscheidet, ob die über den ersten Teil des Adreß-Busses ADRBUS übertragenen (aus der CPU CPU0 ausgegebene Daten) oder die im Register R gespeicherten Daten als Adresse verwendet werden, durch welche festgelegt wird, welche Daten aus dem Speicher ausgelesen werden sollen bzw. wohin in den Speicher einzuschreibende Daten geschrieben werden sollen.
Das bereits mehrfach erwähnte Register R
  • - kann von der CPU CPU0 über den ersten Teil des Adreß-Busses ADRBUS beschrieben werden,
  • - kann seinen Inhalt auf Veranlassung durch ein Steuersignal C inkrementieren, und
  • - gibt seinen Inhalt an den zweiten Eingangsanschluß des Mul­ tiplexers MUX aus.
Das die Inkrementierung des Register-Inhalts veranlassende Steuersignal C wird im betrachteten Beispiel zugleich als ein dem Speicher MEM zugeführtes Leseaufforderungs-Signal verwen­ det, durch welches der Speicher MEM dazu veranlaßt wird, die Daten, die unter der ihm über den Adreß-Bus ADRBUS zugeführ­ ten Adresse gespeichert sind, auszulesen und über den Daten- Bus DATAREADBUS auszugeben.
Es sei bereits an dieser Stelle darauf hingewiesen, daß die Inkrementierung des Register-Inhalts und die Veranlassung des Speichers MEM zum Auslesen von Daten auch durch verschiedene Steuersignale bewirkt werden können.
Es sei ferner darauf hingewiesen, daß das die Inkrementierung des Register-Inhalts veranlassende Steuersignal C alternativ zugleich als ein dem Speicher MEM zugeführtes Schreibauffor­ derungs-Signal verwendet werden kann, durch welches der Spei­ cher MEM dazu veranlaßt wird, die Daten, die ihm über den Da­ ten-Bus DATAWRITEBUS zugeführt werden, unter der ihm über den Adreß-Bus ADRBUS zugeführten Adresse zu speichern; dies er­ weist sich beispielsweise als vorteilhaft, wenn die nicht an den Adreß-Bus ADRBUS angeschlossenen CPUs häufig und/oder ef­ fizient Schreibzugriffe durchführen (müssen) und aus diesem Grund nicht mit dem DATAREADBUS, sondern mit dem DATAWRITEBUS verbunden sind.
Das Steuersignal wird vorliegend durch das ODER-Glied OR ge­ bildet; das ODER-Glied OR unterwirft ihm zugeführte Steuersi­ gnale C1 bis C4 einer ODER-Verknüpfung und gibt das Ergebnis als das bereits erwähnte Steuersignal C an das Register R und den Speicher MEM aus.
Die Signale C1 bis C4 stammen von den nicht an den Adreß-Bus ADRBUS angeschlossenen CPUs CPU1 bis CPU4 oder von diesen zu­ geordneten Einrichtungen und signalisieren, ob die jeweiligen CPUs ein Auslesen von Daten aus dem Speicher veranlassen möchten.
Die Signale C1 bis C4 hängen im betrachteten Beispiel von den Adressen ab, welche die nicht an den Adreß-Bus ADRBUS ange­ schlossenen CPUs CPU1 bis CPU4 ausgeben.
Die CPUs CPU1 bis CPU4 geben wie auch andere CPUs Adressen zur Adressierung eines daran anschließbaren Speichers aus. Weil die CPUs CPU1 bis CPU4 aber nicht über zugeordnete eige­ ne Speicher verfügen und auch nicht an den Adreß-Bus ADRBUS zur Adressierung des gemeinsamen Speichers MEM angeschlossen sind, werden die genannten Adressen nicht zur Speicher- Adressierung benötigt und können anderweitig verwendet wer­ den. Im betrachteten Beispiel werden die Adreßsignale der CPUs CPU1 bis CPU4 oder in Abhängigkeit davon gebildete Si­ gnale zur Steuerung des Speichers MEM, des Registers R und/oder sonstiger Systemkomponenten verwendet, wobei durch diese Signale prinzipiell beliebige Systemkomponenten belie­ big gesteuert werden können.
Im betrachteten Beispiel sei angenommen, daß die CPUs CPU1 bis CPU4 durch Ausgabe einer Adresse 8000 (hex) signalisie­ ren, daß sie den gemeinsamen Speicher MEM veranlassen wollen, daß dieser die Daten, die unter der ihm zugeführten (im Regi­ ster R gespeicherten) Adresse gespeichert sind, ausliest und auf den Daten-Bus DATAREADBUS ausgibt. In diesem Fall werden die Signale C1 bis C4 durch innerhalb oder außerhalb der CPUs CPU1 bis CPU4 vorgesehene Adreßvergleichseinrichtungen er­ zeugt, welche überprüfen, ob die von den betreffenden CPUs ausgegebenen Adressen den Wert 8000 aufweisen; unter Umstän­ den können auch gleich die 16. Bits der von den betreffenden CPUs ausgegebenen Adressen als die Signale C1 bis C4 verwen­ det werden.
Wenn durch eines der Signale C1 bis C4 signalisiert wird, daß ein Speicherzugriff erfolgen soll, nimmt das Steuersignal C einen Wert an, durch welchen
  • - der gemeinsame Speicher MEM dazu veranlaßt wird, die Daten, die unter der ihm zugeführten (im Register R gespeicherten) Adresse gespeichert sind, auf den Daten-BUS DATAREADBUS auszugeben, und
  • - das Register R veranlaßt wird, seinen Inhalt zu inkremen­ tieren.
Damit können die CPUs CPU1 bis CPU4 durch eine wiederholte Ausgabe der Adresse 8000 einen beliebig großen Speicherbe­ reich auslesen.
Entsprechendes gilt selbstverständlich auch, wenn die CPUs CPU1 bis CPU4 durch die Ausgabe einer beliebigen anderen Adresse oder durch Setzen oder Rücksetzen eines oder mehrerer anderer Adreßbits signalisieren, daß sie den Speicher zur Ausgabe von Daten und das Register R zur Inkrementierung des Register-Inhalts veranlassen wollen.
Ferner kann vorgesehen werden, daß die CPUs CPU1 bis CPU4 durch Ausgabe anderer Adressen oder Setzen oder Rücksetzen anderer Adreßbits andere Systemkomponenten steuern.
Der Vollständigkeit halber sei angemerkt, daß die Signale C1 bis C4 auch beliebig anders erzeugt werden können; insbeson­ dere besteht keine Notwendigkeit, daß diese Signale basierend auf den von den CPUs ausgegebenen Adressen gebildet werden.
Wie der Aufbau des betrachteten Systems bereits vermuten läßt, kommt der CPU CPU0 eine besondere Funktion zu: wie nachfolgend noch genauer beschrieben wird, erfolgen sämtliche Zugriffe der vorhandenen CPUs auf den Speicher MEM über die CPU CPU0. Sie hat im betrachteten Beispiel keine weitere Funktion, kann aber selbstverständlich auch beliebige weitere Aufgaben übernehmen.
Die CPU CPU0 ist die einzige der vorhandenen CPUs, die den Speicher MEM ohne Einschränkungen adressieren kann: nur sie ist über den Adreß-Bus ADRBUS mit dem Speicher MEM verbunden, und sie bestimmt über das von ihr erzeugte Steuersignal MUXC, ob die auf den Adreß-Bus anliegenden Daten oder die im Regi­ ster R gespeicherten Daten als Adresse verwendet werden.
Wenn eine der anderen CPUs CPU1 bis CPU4 Daten aus dem Spei­ cher MEM benötigt, teilt sie dies (über in der Figur nicht gezeigte Verbindungsleitungen zwischen den CPUs) unter Angabe von Informationen darüber, wo die benötigten Daten im Spei­ cher gespeichert sind, der CPU CPU0 mit.
Die Informationen über die Stelle, an welcher die benötigten Daten gespeichert sind, können beliebige Informationen sein, beispielsweise
  • - die an den Speicher MEM anzulegende Adresse,
  • - ein eine in der CPU CPU0 gespeicherte Adresse spezifizie­ render Code, und/oder
  • - ein Offset bezüglich einer in der CPU CPU0 gespeicherten Adresse.
Die Art und Weise der Übertragung dieser Information zur CPU CPU0, d. h. insbesondere ob eine serielle oder eine parallele Übertragung erfolgt, ist keinen Einschränkungen unterworfen.
Wenn die CPU CPU0 von einer der CPUs CPU1 bis CPU4 eine Mit­ teilung erhält, daß diese Daten aus dem Speicher MEM benö­ tigt,
  • - gibt sie die Adresse, unter welcher die benötigten Daten im Speicher MEM gespeichert sind, auf den Adreß-Bus ADRBUS aus, und sorgt dafür, daß diese in das Register R übernom­ men wird,
  • - setzt das den Multiplexer MUX steuernde Steuerbit MUXC auf einen Wert, der den Multiplexer MUX dazu veranlaßt, die im Register R gespeicherten Daten durchzuschalten, und
  • - bestätigt der das Auslesen des Speichers MEM anfordernden CPU, daß die Vorkehrungen, die zum gewünschten Auslesen er­ forderlich sind, getroffen werden oder wurden.
Die das Auslesen des Speichers MEM anfordernde CPU erzeugt daraufhin ein den Auslese-Wunsch signalisierendes Steuersi­ gnal, nämlich das Signal Cx (d. h. C1 bzw. C2 bzw. C3 bzw. C4) und kann sodann die benötigten Daten aus dem Speicher MEM auslesen. Die Ausgabe des Steuersignals Cx bewirkt, daß
  • - der Speicher MEM die Daten, die unter der im Register R stehenden Adresse gespeichert sind, ausliest und über den Daten-Bus DATAREADBUS ausgibt, und
  • - der Inhalt des Registers R (die darin gespeicherte Adresse) inkrementiert wird.
Wenn die das Auslesen des Speichers MEM anfordernden CPU da­ nach erneut ein Steuersignal Cx ausgibt, bewirkt dies, daß
  • - der Speicher MEM die Daten, die unter der im Register R stehenden inkrementierten Adresse gespeichert sind, aus­ liest und über den Daten-Bus DATAREADBUS ausgibt, und
  • - der Inhalt des Registers R (die darin gespeicherte Adresse) erneut inkrementiert wird.
Dieser Vorgang (die Ausgabe des Steuersignals Cx durch die das Auslesen des Speichers MEM anfordernde CPU) kann beliebig oft wiederholt werden. Dadurch kann die betreffende CPU eine beliebig große Datenmenge aus dem Speicher MEM auslesen.
Wenn die den Speicher MEM auslesende CPU keine weiteren Daten mehr benötigt, teilt sie dies der CPU CPU0 mit, welche dar­ aufhin einer anderen CPU das Auslesen von Daten aus dem Spei­ cher MEM ermöglichen kann.
Wann die CPU CPU0 welcher CPU das Auslesen von Daten aus dem Speicher MEM ermöglicht, kann grundsätzlich beliebig festge­ legt werden. Im betrachteten Beispiel erfolgt die Vergabe der Zugriffsberechtigung nach dem sogenannten Round-Robin- Verfahren, durch welches allen CPUs die selbe Priorität zuge­ wiesen wird.
Ein wie beschrieben erfolgendes Auslesen von im Speicher MEM gespeicherten Daten ermöglicht einen äußerst einfachen Aufbau des Systems: insbesondere entfällt die Notwendigkeit, den Adreß-Bus, über welchen dem Speicher MEM die Adresse übermit­ telt wird, von welcher er lesen soll bzw. welche er beschrei­ ben soll, mit allen CPUs zu verbinden; es genügt, wenn der Adreß-Bus mit der das Auslesen des Speichers MEM organisie­ renden CPU (im betrachteten Beispiel der CPU0) verbunden wird. Dadurch läßt sich die Länge des Adreß-Busses ADRBUS und die Anzahl der über diesen zu verbindenden Systemkomponenten auf ein Minimum reduzieren. Daß die restlichen CPUs nicht mehr völlig selbständig, sondern nur über eine das Auslesen des Speichers organisierenden CPU auf den Speicher zugreifen können, stellt in der Praxis keinen nennenswerten Nachteil dar. Zwar kann dadurch, daß die Adresse nicht von der CPU, welche die Daten benötigt, sondern von einer den Speicherzu­ griff organisierenden CPU auf den Adreß-Bus ausgegeben wird, unter Umständen eine Verzögerung auftreten, doch handelt es sich hierbei um eine einmalige Verzögerung, die unabhängig von der Datenmenge, die aus dem Speicher ausgelesen wird, pro Auslesevorgang nur ein einziges Mal auftritt. Im Gegenzug entfällt die Notwendigkeit, eine die Busvergabe steuernde Bussteuereinrichtung vorzusehen.
Da, wie vorstehend bereits erwähnt wurde, nur die CPU CPU0 in der Lage ist, den Speicher MEM ohne Einschränkungen zu adres­ sieren, kann auch das Einschreiben von Daten in den Speicher MEM nur unter Mitwirkung durch die CPU CPU0 erfolgen.
Im betrachteten Beispiel wird davon ausgegangen, daß ein Be­ schreiben des Speichers MEM sehr selten durchzuführen ist. Deshalb ist der Daten-Bus DATAWRITEBUS, über welchen die im Speicher MEM zu speichernden Daten zu diesem übertragen wer­ den, ebenfalls nur mit der CPU CPU0 verbunden; die CPUs CPU1 bis CPU4 sind nicht an den Daten-Bus DATAWRITEBUS angeschlos­ sen.
Die CPUs CPU1 bis CPU4 verfügen damit nicht über die Möglich­ keit, Daten in den Speicher MEM zu schreiben. Wenn eine der CPUs CPU1 bis CPU4 Daten in den Speicher MEM zu schreiben hat, muß dies vollständig über die CPU CPU0 erfolgen. Hierzu transferiert die CPU, die Daten in den Speicher MEM zu schreiben hat, die in den Speicher zu schreibenden Daten und die Adresse, unter welcher diese Daten zu speichern sind, an die CPU0, und läßt diese das Einschreiben der übermittelten Daten in den Speicher MEM vornehmen.
Der Vollständigkeit halber sei angemerkt, daß zwischen der CPU CPU0 und dem Speicher MEM eine in der Figur nicht gezeig­ te Steuerleitung vorgesehen ist, über welche die CPU CPU0 dem Speicher MEM signalisiert, daß dieser die über den Daten-Bus DATAWRITEBUS übertragenen Daten speichern soll.
Dadurch, daß auch der Daten-Bus DATAWRITEBUS nur mit der CPU CPU0 verbunden ist, läßt sich auch dessen Länge und die An­ zahl der an diesen anzuschließenden Systemkomponenten auf ein Minimum reduzieren.
Beim betrachteten System ist, obgleich für mehrere CPUs ein gemeinsamer Speicher vorgesehen ist, nur der Daten-Bus DATAREADBUS, über welchen aus dem Speicher ausgelesene Daten ausgegeben werden, mit allen CPUs verbunden. Die anderen Bus­ se, das heißt der Adreß-Bus ADRBUS und der Daten-Bus DATAWRITEBUS, sind nur mit einer einzigen CPU verbunden. Da­ durch lassen sich die Länge der Busse und die Anzahl der dar­ an anzuschließenden Systemkomponenten auf ein Minimum redu­ zieren.
Es dürfte einleuchten daß das in der Figur gezeigte und unter Bezugnahme darauf beschriebene System in vielfacher Hinsicht modifizierbar ist. Insbesondere kann vorgesehen werden,
  • - daß auch der Daten-Bus DATAREADBUS nur mit bestimmten CPUs verbunden ist (dies ist sinnvoll, wenn die CPUs CPU1 bis CPU4 nur selten Daten aus dem Speicher benötigen und/oder wenn das Auslesen von Daten aus dem Speicher nicht zeitkri­ tisch ist), und/oder
  • - daß der Daten-Bus DATAWRITEBUS mit mehreren oder allen vor­ handenen CPUs verbunden ist (dies ist sinnvoll, wenn die CPUs CPU1 bis CPU4 häufig Daten in den Speicher einzu­ schreiben haben und/oder wenn das Einschreiben von Daten in den Speicher sehr schnell vonstatten gehen muß), und/oder
  • - daß der Adreß-Bus ADRBUS mit mehr als nur einer CPU verbun­ den ist (dies ist sinnvoll, wenn mehrere CPUs uneinge­ schränkt selbst auf den gemeinsamen Speicher zugreifen kön­ nen sollen, und/oder wenn der Zugriff der nicht an den Adreß-Bus ADRBUS angeschlossenen CPUs über verschiedene an­ dere CPUs erfolgen können soll).
Grundsätzlich können der Adreß-Bus ADRBUS und die Daten-Busse DATAREADBUS und DATAWRITEBUS unabhängig voneinander mit be­ liebig vielen und beliebig ausgewählten CPUs verbunden sein.
Unabhängig hiervon kann es sich als vorteilhaft erweisen, wenn einzelne, mehrere oder alle CPUs die Möglichkeit haben, den Inhalt des Registers R auszulesen. Dies kann beispiels­ weise dadurch bewerkstelligt werden, daß das Register R mit dem Daten-Bus DARAREADBUS verbunden ist und auf Veranlassung durch ein entsprechendes Steuersignal seinen Inhalt auf den Daten-Bus DATAREADBUS ausgibt, wobei das Steuersignal ähnlich wie das vorstehend erwähnte Steuersignal C, also abhängig von den von den CPUs ausgegebenen Adressen erzeugt werden kann.
Unabhängig hiervon und unabhängig von weiteren Einzelheiten der praktischen Realisierung kommt das betrachtete System, obgleich es einen gemeinsamen Speicher aufweist, mit verhält­ nismäßig kurzen und/oder wenig verzweigten Bussen aus, und ist nichtsdestotrotz relativ einfach und flexibel steuerbar und betreibbar.
Bezugszeichenliste
ADRBUS Adreß-Bus
Cx Steuersignale zur Steuerung von MEM und R
CPUx CPUs
DATAREADBUS Daten-Bus zur Übertragung von aus MEM auszu­ lesenden Daten
DATAWRITEBUS Daten-Bus zur Übertragung von in MEM einzu­ schreibenden Daten
MEM gemeinsamer Speicher
MUX Multiplexer
MUXC Multiplexer-Steuersignal
OR ODER-Glied
R Register

Claims (18)

1. Mehrere CPUs enthaltendes System, dadurch gekennzeichnet,
daß für die mehreren CPUs (CPU0-CPU4) ein gemeinsamer Speicher (MEM) vorgesehen ist,
daß von den mehreren CPUs (CPU0-CPU4) nur eine oder meh­ rere bestimmte CPUs an den zur Adressierung des gemeinsamen Speichers (MEM) vorgesehenen Adreß-Bus (ADRBUS) angeschlos­ sen sind, und
daß Zugriffe der anderen CPUs auf den gemeinsamen Speicher (MEM) über eine der an den Adreß-Bus (ADRBUS) angeschlosse­ ne CPUs erfolgen.
2. System nach Anspruch 1, dadurch gekennzeichnet, daß nur eine oder mehrere bestimmte CPUs an den Daten-Bus (DATAREADBUS), über welchen der gemeinsame Speicher (MEM) aus ihm ausgelesene Daten ausgibt, angeschlossen sind.
3. System nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß nur eine oder mehrere bestimmte CPUs an den Daten-Bus (DATAWRITEBUS), über welchen dem gemeinsame Speicher in die­ sen einzuschreibende Daten zugeführt werden, angeschlossen sind.
4. System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die nicht an den Adreß-Bus (ADRBUS) angeschlossenen CPUs zumindest teilweise an den Daten-Bus (DATAREADBUS), über wel­ chen der gemeinsame Speicher (MEM) aus ihm ausgelesene Daten ausgibt und/oder an den Daten-Bus (DATAWRITEBUS), über wel­ chen dem gemeinsame Speicher in diesen einzuschreibende Daten zugeführt werden, angeschlossen sind.
5. System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß eine Schaltvorrichtung (MUX) vorgesehen ist, durch welche dem gemeinsamen Speicher (MEM) wahlweise die Daten, die eine der an den Adreß-Bus (ADRBUS) angeschlossenen CPUs auf den Adreß-Bus ausgibt, oder in einer Adreß-Speichereinrichtung (R) gespeicherte Daten als Adresse zugeführt werden.
6. System nach Anspruch 5, dadurch gekennzeichnet, daß die Schaltvorrichtung (MUX) ein Multiplexer ist,
dessen erster Eingangsanschluß über den Adreß-Bus (ADRBUS) mit den daran angeschlossenen CPUs verbunden ist,
dessen zweiter Eingangsanschluß mit der Adreß- Speichereinrichtung (R) verbunden ist, und
dessen Ausgangsanschluß mit dem gemeinsamen Speicher (MEM) verbunden ist.
7. System nach Anspruch 5 oder 6, dadurch gekennzeichnet, daß die Schaltvorrichtung (MUX) durch die an den Adreß-Bus (ADRBUS) angeschlossenen CPUs steuerbar ist.
8. System nach einem der Ansprüche 5 bis 7, dadurch gekennzeichnet, daß die Adreß-Speichereinrichtung (R) an den Adreß-Bus (ADRBUS) angeschlossen ist und die Adressen, die von den an den Adreß-Bus angeschlossenen CPUs auf den Adreß-Bus ausgege­ ben werden, speichert.
9. System nach einem der Ansprüche 5 bis 8, dadurch gekennzeichnet, daß der Inhalt der Adreß-Speichereinrichtung (R) durch die nicht am Adreß-Bus angeschlossenen CPUs inkrementierbar ist.
10. System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die nicht an den Adreß-Bus (ADRBUS) angeschlossenen CPUs den gemeinsamen Speicher (MEM) zum Auslesen von Daten aus dem Speicher und/oder zum Einschreiben von Daten in den Speicher veranlassen können.
11. System nach Anspruch 10, dadurch gekennzeichnet, daß das Signal (C), durch welches der gemeinsame Speicher (MEM) zum Auslesen von Daten aus dem Speicher und/oder zum Einschreiben von Daten in den Speicher veranlaßbar ist, ein Signal ist, dessen Verlauf von den Adressen abhängt, welche die nicht an den Adreß-Bus angeschlossenen CPUs zur Adressie­ rung eines daran anschließbaren Speichers ausgeben.
12. System nach Anspruch 10 oder 11, dadurch gekennzeichnet, daß das Signal (C), durch welches der gemeinsame Speicher (MEM) zum Auslesen von Daten aus dem Speicher und/oder zum Einschreiben von Daten in den Speicher veranlaßbar ist, das Ergebnis einer logischen Verknüpfung von Signalen ist, die von den CPUs, welche ein Auslesen von Daten aus dem Speicher und/oder ein Einschreiben von Daten in den Speicher veranlas­ sen können sollen, oder von diesen zugeordneten Einrichtungen stammen, und durch die für jede einzelne CPU signalisiert wird, ob diese ein Auslesen von Daten aus dem Speicher und/oder ein Einschreiben von Daten in den Speicher veranlas­ sen möchte.
13. System nach einem der Ansprüche 10 bis 12, dadurch gekennzeichnet, daß das Signal (C), durch welches der gemeinsame Speicher (MEM) zum Auslesen von Daten aus dem Speicher und/oder zum Einschreiben von Daten in den Speicher veranlaßbar ist, auch als das Signal verwendet wird, durch welches die Adreß- Speichereinrichtung dazu veranlaßbar ist, ihren Inhalt zu in­ krementieren.
14. System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die nicht an den Adreß-Bus (ADRBUS) angeschlossenen CPUs bei einem über eine der am Adreß-Bus angeschlossenen CPUs er­ folgenden Zugriff auf den gemeinsamen Speicher (MEM) der CPU, über welche der Zugriff erfolgen soll, die Adresse oder Da­ ten, aus welche die betreffende CPU die Adresse ermitteln kann, bei welcher das Auslesen von Daten aus dem gemeinsamen Speicher oder das Einschreiben von Daten in den Speicher be­ ginnen soll, übermittelt.
15. System nach Anspruch 14, dadurch gekennzeichnet, daß die CPU, über welche das Auslesen von Daten aus dem ge­ meinsamen Speicher oder das Einschreiben von Daten in den ge­ meinsamen Speicher erfolgt,
die Adresse, bei welcher das Auslesen von Daten aus dem ge­ meinsamen Speicher oder das Einschreiben von Daten in den gemeinsamen Speicher beginnen soll, auf den Adreß-Bus aus­ gibt,
die Schalteinrichtung so ansteuert, daß dem gemeinsamen Speicher die in der Adreß-Speichereinrichtung gespeicherten Daten als Adresse zugeführt werden, und
der CPU, welche den Zugriff auf den gemeinsamen Speicher angefordert hat, mitteilt, daß sie nun Daten aus dem ge­ meinsamen Speicher auslesen oder Daten in den gemeinsamen Speicher einschreiben kann.
16. System nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die die Adressen repräsentierenden Signale, welche die nicht an den Adreß-Bus angeschlossenen CPUs ausgeben, als Steuersignale verwendet oder in Steuersignale umgesetzt wer­ den, durch welche beliebige andere Systemkomponenten steuer­ bar sind.
17. System nach einem der Ansprüche 5 bis 16, dadurch gekennzeichnet, daß die Adreß-Speichereinrichtung (R) an den Daten-Bus (DATAREADBUS), über welchen der gemeinsame Speicher (MEM) aus ihm ausgelesene Daten ausgibt, angeschlossen ist, und auf Veranlassung durch eine der CPUs den in ihr gespeicherten In­ halt auf den Daten-Bus ausgibt.
18. System nach Anspruch 17, dadurch gekennzeichnet, daß das Signal, durch welches die Adreß-Speichereinrichtung (R) dazu veranlaßbar ist, den in ihr gespeicherten Inhalt auf den Daten-Bus (DATAREADBUS) auszugeben, ein Signal ist, des­ sen Verlauf von den Adressen abhängt, welche die nicht an den Adreß-Bus angeschlossenen CPUs zur Adressierung von daran an­ schließbaren Speichern ausgeben.
DE10030380A 2000-06-21 2000-06-21 Mehrere CPUs enthaltendes System Withdrawn DE10030380A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10030380A DE10030380A1 (de) 2000-06-21 2000-06-21 Mehrere CPUs enthaltendes System
US09/886,558 US20020046297A1 (en) 2000-06-21 2001-06-21 System containing a plurality of central processing units

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10030380A DE10030380A1 (de) 2000-06-21 2000-06-21 Mehrere CPUs enthaltendes System

Publications (1)

Publication Number Publication Date
DE10030380A1 true DE10030380A1 (de) 2002-01-03

Family

ID=7646398

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10030380A Withdrawn DE10030380A1 (de) 2000-06-21 2000-06-21 Mehrere CPUs enthaltendes System

Country Status (2)

Country Link
US (1) US20020046297A1 (de)
DE (1) DE10030380A1 (de)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4523272A (en) * 1981-04-10 1985-06-11 Hitachi, Ltd. Bus selection control in a data transmission apparatus for a multiprocessor system
US5642337A (en) * 1995-03-14 1997-06-24 Sony Corporation Network with optical mass storage devices
US5995992A (en) * 1997-11-17 1999-11-30 Bull Hn Information Systems Inc. Conditional truncation indicator control for a decimal numeric processor employing result truncation

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8328396D0 (en) * 1983-10-24 1983-11-23 British Telecomm Multiprocessor system
JPH031260A (ja) * 1989-05-30 1991-01-07 Hitachi Ltd 計算機方式
US5167028A (en) * 1989-11-13 1992-11-24 Lucid Corporation System for controlling task operation of slave processor by switching access to shared memory banks by master processor
ES2109256T3 (es) * 1990-05-25 1998-01-16 At & T Corp Disposicion de bus de acceso a memoria.
DE69630126T2 (de) * 1995-07-27 2004-06-17 Intel Corporation, Santa Clara Historische zustandinformation verwendendes entscheidungsprotokoll für zugriff auf ein geteiltes speichergebiet
US5900015A (en) * 1996-08-09 1999-05-04 International Business Machines Corporation System and method for maintaining cache coherency using path directories
US5913227A (en) * 1997-03-24 1999-06-15 Emc Corporation Agent-implemented locking mechanism
US6272604B1 (en) * 1999-05-20 2001-08-07 International Business Machines Corporation Contingent response apparatus and method for maintaining cache coherency
WO2001069372A2 (en) * 2000-03-10 2001-09-20 Koninklijke Philips Electronics N.V. Method for compiling a program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4523272A (en) * 1981-04-10 1985-06-11 Hitachi, Ltd. Bus selection control in a data transmission apparatus for a multiprocessor system
US5642337A (en) * 1995-03-14 1997-06-24 Sony Corporation Network with optical mass storage devices
US5995992A (en) * 1997-11-17 1999-11-30 Bull Hn Information Systems Inc. Conditional truncation indicator control for a decimal numeric processor employing result truncation

Also Published As

Publication number Publication date
US20020046297A1 (en) 2002-04-18

Similar Documents

Publication Publication Date Title
DE69919137T2 (de) Datenspeichersystem
DE3438869C2 (de)
DE69229716T2 (de) Schaltungsarchitektur zum mehrkanaligen DMA-Betrieb
DE3642324C2 (de) Multiprozessoranlage mit Prozessor-Zugriffssteuerung
DE68926043T2 (de) Mehrprozessor-Computersystem
CH656728A5 (de) Schnittstellenschaltungsanordnung zur verbindung eines prozessors mit einem nachrichtenkanal.
DE1956604A1 (de) Datenverarbeitungsanlage mit einem Speichersystem
DE2455803A1 (de) Mehrprozessor-datenverarbeitungsanlage
DE2719247B2 (de) Datenverarbeitungssystem
DE68927795T2 (de) Übertragungssystem mit einem gemeinsamen Speicher
DE69031297T2 (de) Eingabewarteschlange für Speichersubsysteme
DE1774052B1 (de) Rechner
DE3650249T2 (de) Hochkapazitätsspeicher für Multiprozessorsystem.
DE2758829A1 (de) Multiprozessor-datenverarbeitungssystem
DE69119149T2 (de) Struktur zur direkten Speicher-zu-Speicher-Übertragung
EP0062141B1 (de) Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem
DE3013064C2 (de) Schaltungsanordnung zur Übertragung von Bitgruppen zwischen einer von mehreren peripheren Einheiten und einem Pufferspeicher
DE60029167T2 (de) Arbiter und Arbitrierungsverfahren
EP0739509B1 (de) Anordnung mit master- und slave-einheiten
DE69033416T2 (de) Hauptspeicherkarten mit Einzelbit-Setz- und Rücksetz-Funktion
DE102004013635A1 (de) Verfahren und Vorrichtung zur Vergabe von Buszugriffsrechten in Multimaster-Bussystemen
DE69032490T2 (de) Datenspeichersystem und dessen Betriebsverfahren
DE3247083A1 (de) Mehrprozessorsystem
DE69129566T2 (de) Hochgeschwindigkeitsbussystem
DE10030380A1 (de) Mehrere CPUs enthaltendes System

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal
8165 Publication of following application cancelled