DE10030380A1 - Mehrere CPUs enthaltendes System - Google Patents
Mehrere CPUs enthaltendes SystemInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4239—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/167—Interprocessor 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.
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
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.
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.
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.
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.
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)
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)
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 |
-
2000
- 2000-06-21 DE DE10030380A patent/DE10030380A1/de not_active Withdrawn
-
2001
- 2001-06-21 US US09/886,558 patent/US20020046297A1/en not_active Abandoned
Patent Citations (3)
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 |