DE4204119C2 - Multiprozessorsystem - Google Patents
MultiprozessorsystemInfo
- Publication number
- DE4204119C2 DE4204119C2 DE4204119A DE4204119A DE4204119C2 DE 4204119 C2 DE4204119 C2 DE 4204119C2 DE 4204119 A DE4204119 A DE 4204119A DE 4204119 A DE4204119 A DE 4204119A DE 4204119 C2 DE4204119 C2 DE 4204119C2
- Authority
- DE
- Germany
- Prior art keywords
- output
- read
- data
- memory
- port
- 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 - Fee Related
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/16—Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Static Random-Access Memory (AREA)
- Multi Processors (AREA)
- Memory System (AREA)
Description
Die Erfindung bezieht sich auf ein Multiprozessorsystem mit einem
ersten System und einem zweiten System und
auf einen Dual-Port-Speicher, der bei der Datenüber
tragung zwischen den Systemen verwendet wird.
Fig. 3 ist ein Blockschaltbild, welches eine Betriebsausfüh
rung eines Dual-Port-Speichers zeigt. Nach Fig. 3 weist ein
Dual-Port-Speicher 1 zwei Eingangs-/Ausgangs-Ports (Tore) auf.
Ein Eingangs-/Ausgangs-Port (im folgenden als A-Port bezeichnet)
ist mit einem Host(Wirts)-System 3 über einen Systembus 2 ver
bunden. Der andere Port (im folgenden als B-Port bezeichnet)
des Dual-Port-Speichers 1 ist über einen Systembus 4 mit einem
Slave(Sklaven)-System 5 verbunden. Das Host-System 3 und das
Slave-System 5 können beliebige Systeme zur Datenverarbeitung
sein, oft wird beispielsweise ein eine CPU (Zentralverarbei
tungseinheit) enthaltendes Multiprozessorsystem verwendet.
Daher enthält das Host-System 3 eine Host-CPU (Wirts-CPU) 31,
einen ROM 32 und RAM 33, und das Slave-System 5 enthält eine
Slave-CPU (Sklaven-CPU) 51, einen ROM 52 und RAM 53. Im Dual-
Port-Speicher 1 ist eine Speichereinrichtung enthalten. Die
Speichereinrichtung ist individuell durch das Host-System 3
und das Slave-System 5 zugreifbar.
Ein Dual-Port-Speicher 1 wie oben beschrieben wird oft zum Aus
tausch von Daten zwischen einem Host-System 3 und einem Slave-
System 5 verwendet. Es ist beispielsweise, wenn das Host-System
3 und das Slave-System 5 asynchron zueinander arbeiten, oft
schwierig, eine direkte Datenübertragung zwischen den Systemen
auszuführen. Die Ausführung der Datenübertragung über den Dual-
Port-Speicher 1 erlaubt die Eingabe/Ausgabe von Daten zwischen
den Systemen, wenn sie erforderlich ist. Damit wird der Durch
satz der Systeme verbessert, und die Systeme 3 und 5 arbeiten
in Verknüpfung miteinander, so daß ein größeres System
aufgebaut werden kann.
Fig. 4 ist ein Blockschaltbild, das eine Ausführungsform des
Aufbaues eines bei der Anmelderin vorhandenen Dual-Port-Speichers zeigt. Nach
Fig. 4 ist in einem Speicherzellarray 10 eine Mehrzahl von
einander kreuz enden Wortleitungen und Bitleitungen angeordnet,
und eine Speicherzelle ist jeweils an einem Kreuzungspunkt
einer Wortleitung und einer Bitleitung angeordnet. Für das
Speicherezellarray 10 sind ein Dekoder 11a und ein Lesever
stärker 12a für den A-Port und ein Dekoder 11b und ein Lese
verstärker 12b für den B-Port vorgesehen. A-Port-Adreßdaten vom
Host-System 3 werden über einen Adresseneingabeanschluß 13a an
den Dekoder 11a angelegt, und B-Port-Adreßdaten vom Slave-
System 5 werden über einen Adresseneingangsanschluß 13b an den
Dekoder 11b angelegt. Parallel zueinander sind zwischen dem
Leseverstärker 12a und dem A-Port-Dateneingabe-/ausgabeanschluß
14a ein 3-Zustands-Puffer 15a zum Schreiben von Daten und ein
3-Zustands-Puffer 16a zum Lesen von Daten angeordnet. Ein
Schreibfreigabesignal wird vom Host-System 3 an den 3-Zustands-
Puffer 15a, über einen A-Port-Schreibsignaleingangsanschluß 17a
angelegt. Der Ausgangszustand des 3-Zustands-Puffers 15a wird
auf der Grundlage des Schreibfreigabesignals gesteuert. Ein
Lesefreigabesignal wird vom Host-System 3 an den Steueranschluß
des 3-Zustands-Puffers 16a über einen A-Port-Lesesignalein
gangsanschluß 18a angelegt. Der Ausgabezustand des 3-Zustands-
Puffers 16a wird auf der Basis des Lesefreigabesignals gesteu
ert. Ahnlich sind für den B-Port ein 3-Zustands-Puffer 15b zum
Schreiben von Daten und 3-Zustands-Puffer 16b zum Lesen von
Daten parallel zueinander zwischen einem Leseverstärker 12b und
einem B-Port-Dateneingangs-/ausgangsanschluß 14b angeordnet.
Ein Schreibfreigabesignal wird vom Slave-System 5 über einen B-
Port-Schreibsignaleingangsanschluß 17b an den Steueranschluß
des 3-Zustands-Puffers 15b angelegt. Der Ausgabezustand des 3-
Zustands-Puffers 15b wird auf der Basis des Schreibfreigabesi
gnals gesteuert. Ein Lesefreigabesignal wird vom Slave-System 5
an den Steueranschluß des 3-Zustands-Puffers 16b über einen
B-Port-Lesesignaleingangsanschluß 18b angelegt. Der Ausgabezu
stand des 3-Zustands-Puffers 16b wird auf der Basis des Lese
freigabesignals gesteuert.
Fig. 5 ist ein Schaltbild, welches den Eingangs-/Ausgangsauf
bau einer Speicherezelle in dem in Fig. 4 gezeigten Speicher
zellarray 10 zeigt. Eine Mehrezahl von Speicherezellen 101 ist in
einer Matrix von Zeilen und Spalten angeordnet. Im Speicher
zellarray 101 sind, wie in Fig. 5 gezeigt, für jede Zeile für
die Speicherezelle 101 zwei Wortleitungen 103a und 103b angeord
net, und zwei Bitleitungen 104a und 104b sind für jede Spalte
angeordnet. Eine Speicherzelle 101 ist mit zwei Transfergate-
Transistoren 102a und 102b versehen. Die Wortleitung 103a, die
Bitleitung 104a und der Transfergate-Transistor 102a sind in
Verknüpfung mit dem A-Port angeordnet. Die Wortleitung 103b,
die Bitleitung 104b und der Transfergate-Transistor 102b sind
in Verknüpfung mit dem B-Port angeordnet. Beim Dual-Port-
Speicher nach den Fig. 4 und 5 sind der A- und der B-Port
damit jeweils mit einem völlig separaten und unabhängigen Zu
griffssystem versehen. Das Speicherzellarray 10 ist daher
gleichzeitig vom Host-System 3 und vom Slave-System 5 aus zu
greifbar.
Beim so aufgebauten Dual-Port-Speicher 1 wird der 3-Zustands-
Puffer 15a in Reaktion auf eine Schreibanforderung vom Host
system 3 aktiviert, und Schreibdaten vom Host-System 3 werden
an den Leseverstärker 12a angelegt. Der 3-Zustands-Puffer 15b
wird in Reaktion auf eine Schreibanforderung vom Slave-System 5
aktiviert, und Schreibdaten werden an den Leseverstärker 12b
angelegt. Weiter wird der 3-Zustands-Puffer 16 in Reaktion auf
eine Leseanforderung vom Host-System 3 aktiviert, und der aus
einer aktivierten und ausgewählten Speicherezelle ausgelesene
Wert wird über den A-Port-Dateneingangs-/ausgangsanschluß 14a
an das Host-System ausgegeben. Der 3-Zustands-Puffer 16b wird
in Reaktion auf eine Leseanforderung vom Slave-System 5 akti
viert, und der aus einer aktivierten und ausgewählten Speicher
zelle ausgelesene Wert wird über den B-Port-Dateneingangs-/aus
gangsanschluß 14b an das Slave-System 5 ausgegeben.
Wenn ein Multiprozessorsystem aufgebaut wird, wird ein bereits
fertiggestellter einzelner Prozessor (z. B. ein Host-System)
mitunter mit einem Slave-System versehen, welches einen Teil
der Daten vom Host-System verwendet, wodurch das Multiprozes
sorsystem als Ganzes ausgeführt wird. In diesem Falle kann, wie
in Fig. 6 gezeigt, wenn eine Dual-Port-Speicheradresse an der
Oberseite des Adreßraumes 34 der Speicher innerhalb des durch
die Host-CPU 31 gesteuerten Host-Systems plaziert werden kann,
ein Slave-System hinzugefügt werden, ohne daß irgendeine Pro
grammänderung im Host-System erforderlich wäre, weil der Adreß
raum der auf der Seite des Host-Systems gesteuerten Speicher
nicht ausgeweitet wird.
Üblicherweise hat es sich jedoch als unmöglich herausgestellt,
das Adreßgebiet des Dual-Port-Speichers im Adreßraum der
Speicher innerhalb des Host-Systems vorzusehen. Wenn die Host-
CPU 31 versucht, Daten aus dem Dual-Port-Speicher auszulesen,
finden Datenkollisionen statt, weil auch interne Speicherge
biete, die die gleichen Adressen haben, bestimmt werden.
Daher ist es, wenn ein Slave-System, wie in Fig. 7 gezeigt, zu
einem bereits fertiggestellten Host-System hinzugefügt wird,
erforderlich, das Adreßgebiet des Dual-Port-Speichers an einem
Überlappen mit dem Adreßraum des internen Speichers des Host-
Systems zu hindern, und damit ist auf der Seite des Host-
Systems eine aufwendige Neuprogrammierung erforderlich.
Dieses eben beschriebene Problem wird genauer unter Bezugnahme
auf die Motorsteuerung eines Autos erläutert.
Im Falle der Motorsteuerung eines Autos sind Daten für ein Mo
torsteuersystem zur Steuerung seiner Übertragungseinrichtungen
erforderlich. Jedoch wird in manchen Fällen, wie im Falle eines
handgeschalteten Autos wie eines Sportwagens, die Steuerung der
Übertragungseinrichtungen nicht durch einen Mikrocomputer aus
geführt. Mit anderen Worten, von Autos, die mit demselben Motor
ausgerüstet sind, ist bei einigen eine Mikrocomputer-Steuerung
der Übertragung erforderlich und bei anderen nicht. Wenn ein
Mikrocomputersystem zur Motorsteuerung entworfen wird, welches
in Rechnung stellt, ob ein Mikrocomputer für die Übertragungs
steuerung erforderlich ist oder nicht, sind unterschiedliche
Programme in Abhängigkeit von der Existenz oder Abwesenheit von
Datenübertragungsvorgängen zwischen dem Host-System und dem
Dual-Port-Speicher erforderlich, was nachteilig ist und oftmals
Probleme bei der Handhabung aufwirft.
Aus Electronik Informationen Nr. 12-1983, Seiten 52, 53 ist ein
Multiprozessorsystem nach dem Oberbegriff des Patentanspruches 1
bekannt. Auf den Dual-Port-RAM wird über zwei Busse "quasi
gleichzeitig" zugegriffen. Eine Entscheidungslogik ist vorgesehen, die
bestimmt, welcher Bus den Vorrang erhält und welcher Bus zugrei
fen darf. Eine Festlegung von Adressen ist nicht vorgesehen.
Aus dem US-Patent 3,742,458 ist ein Speicherschutzsystem be
kannt, bei dem ein Adressenregister solche Adressen speichert,
für die ein Zugriff verhindert und/oder erlaubt werden soll.
Es ist daher Aufgabe der vorliegenden Erfindung, ein Multipro
zessorsystem vorzusehen, das eine Verbindung des ersten mit dem
zweiten System ermöglicht, ohne daß die CPU des ersten Systemes
neu programmiert werden muß. Diese Aufgabe wird gelöst durch ein
Multiprozessorsystem mit den Merkmalen des Patentanspruches 1.
Bevorzugte Ausgestaltungen der Erfindung ergeben sich aus den
Unteransprüchen. Ein Dual-Port-Speicher, wie er in dem Multipro
zessorsystem verwendet wird, führt eine Datenübertragung zwi
schen dem ersten und dem zweiten System über einen ersten und
zweiten Eingangs-/Ausgangs-Port
(Tore) aus und ist gleichzeitig von dem ersten und dem zweiten
System zugreifbar. Der Dual-Port-Speicher enthält ein Speicher
zellarray mit einer Mehrzahl von Speicherzellen, eine erste und
eine zweite Speicherzellauswahleinrichtung und eine Lesedaten
ausgabe-Verbietungseinrichtung. Die erste Speicherauswahlein
richtung wählt auf der Basis von Adreßdaten vom ersten System
eine der Speicherzellen im Speicherzellarray aus. Die zweite
Speicherzellauswahleinrichtung wählt auf der Grundlage von
Adreßdaten vom zweiten System eine der Speicherzellen im Spei
cherzellarray aus. Die Lesedatenausgabeverbietungseinrichtung
verbietet eine Ausgabe von aus der ausgewählten Speicherzelle
gelesenen Daten.
Bei dem Dual-Port-Speicher entsprechend der Erfindung wird
die Ausgabe von aus der ausgewählten Speicherzelle ausgelesenen
Daten durch die Lesedatenausgabeverbietungseinrichtung
verboten. Daher finden keine Datenkollisionen statt, wenn das
Adreßgebiet des Dual-Port-Speichers sich mit dem Adreßraum der
internen Speicher im Host-System überlappt.
Es folgt die Erläuterung von Ausführungsbeispielen anhand der
Figuren.
Von den Figuren zeigen:
Fig. 1 ein Blockschaltbild des Aufbaues einer Ausfüh
rungsform,
Fig. 2 ein Blockschaltbild des Aufbaues einer weiteren
Ausführungsform,
Fig. 3 ein Blockschaltbild eines Ausführungsbeispieles
der Anwendung eines Dual-Port-Speichers,
Fig. 4 ein Blockschaltbild einer Ausführungsform des
Aufbaues eines vorhandenen Dual-Port-Spei
chers,
Fig. 5 ein Schaltbild, das teilweise den inneren Aufbau
eines Speicherzellarrays im Dual-Port-Speicher
nach Fig. 4 zeigt,
Fig. 6 eine Darstellung, die ein Beispiel der Plazie
rungs-Beziehung zwischen dem Speichergebiet
einer Host-CPU und einem Dual-Port-Speicherge
biet zeigt, und
Fig. 7 ist eine Darstellung, die ein weiteres Beispiel
für die Plazierungs-Beziehung zwischen dem Spei
chergebiet einer Host-CPU und einem Dual-Port-
Speichergebiet zeigt.
Der in Fig. 1 gezeigte Dual-Port-Speicher (2torige Speicher)
ist im wesentlichen identisch mit dem Aufbau des
in Fig. 4 gezeigten Dual-Port-Speichers, wobei es nur die fol
genden wesentlichen Unterschiede gibt. Gleiche Bezugszeichen
bezeichnen die gleichen oder entsprechenden Teile bzw.
Abschnitte, und deren Beschreibung wird hier nicht wiederholt.
Wie Fig. 1 zeigt, wird ein Leseerlaubnis-/Verbotsinformations
signal an einen Leseerlaubnis-/Verbotsinformationseingangsan
schluß 61 angelegt. Das Leseerlaubnis-/Verbotsinformations
signal kann im Host-System 3 oder im Slave-System 5 nach Fig.
3 oder in einer anderen extern angeordneten Schaltung erzeugt
werden. Das Leseerlaubnis-/Verbotsinformationssignal von 1 Bit,
das in den Leseerlaubnis-/Verbotsinformationseingangsanschluß
61 eingegeben wird, wird im Leseerlaubnis-/Verbotsregister 62
gespeichert. Das Leseerlaubnis-/Verbotsregister 62 ist bei
spielsweise aus einem Flip-Flop, der zur Speicherung von Daten
von mindestens 1 Bit in der Lage ist, gebildet. Der Ausgang des
Leseerlaubnis-/Verbotsregisters 62 wird an einen Eingangsan
schluß eines UND-Gatters 63 angelegt. Ein Lesefreigabesignal
wird vom Host-System 3 an den anderen Eingangsanschluß des UND-
Gatters 63 über den A-Port-Lesesignaleingangsanschluß 18a ange
legt. Der Ausgang des UND-Gatters 63 wird an den Steueranschluß
des 3-Zustands-Puffers 16a zum Lesen aus dem A-Port angelegt.
Nachfolgend wird die Betriebsweise der in Fig. 1 gezeigten
Ausführungsform beschreiben.
Die Beschreibung wird für den Fall gegeben, daß im Leseerlaub
nis-/Verbotsregister 62 eine Leseerlaubnis-/Verbotsinformation
aufhohem Pegel vorhanden ist. In diesem Falle wird an einen
Eingangsanschluß des UND-Gatters 63 vom Leseerlaubnis-/Verbots
register 62 ein H-Pegel-Signal angelegt. In diesem Zustand wird
über den A-Port-Lesesignaleingangsanschluß 18a ein Lesefreiga
besignal auf H-Pegel vom Host-System 3 eingegeben, wenn vom
Host-System 3 eine Leseanforderung ausgegeben wird. Das Lese
freigabesignal auf H-Pegel wird an den anderen Eingangsan
schluß des UND-Gatters 63 angelegt. Der Ausgang des UND-Gatters
63 nimmt daher H-Pegel an. Infolgedessen wird der 3-Zustands-
Puffer 16a aktiviert, und der aus der Speicherzelle ausgelesene
Wert wird über den 3-Zustands-Puffer 15a und den A-Port-Daten
ein-/ausgangsanschluß 14a an das Host-System 3 ausgegeben.
Nachfolgend wird eine Beschreibung für den Fall gegeben, daß im
Leseerlaubnis-/Verbotsregister 62 eine Leseerlaubnis-/Verbots
information auf L-Pegel vorhanden ist. Das Potential des einen
Eingangsanschlusses des UND-Gatters 63 ist konstant auf L-Pegel,
und damit bleibt der Ausgang des UND-Gatters 63 auch
dann auf L-Pegel, wenn vom Host-System 3 eine Leseanforderung
ausgegeben wird. Der 3-Zustands-Puffer 16a ist daher in einem
Zustand hoher Impedanz (einem hochohmigen Zustand), und ein von
einer Speicherzelle ausgelesener Wert kann den 3-Zustands-Puf
fer 16a nicht passieren. Damit wird eine Datenkollision verhin
dert. Mit anderen Worten, sind eine Adresse im internen Speicher
des Host-Systems und eine entsprechende Adresse des Speicher
zellarrays 10 gleichzeitig bestimmt, und der vom Speicherzell
array 10 ausgelesene Wert wird nicht an das Host-System 3 aus
gegeben, wodurch eine Datenkollision verhindert wird.
Die anderen Betriebsmerkmale der in Fig. 1 gezeigten Ausfüh
rungsform sind im wesentlichen dieselben wie bei der in Fig. 4
gezeigten Ausführungsform. Mit anderen Worten ist das Host-
System 3 in der Lage, Daten in ein Speicherzellarray 10 einezu
schreiben, und das Slave-System 5 ist in der Lage, Daten in das
Speicherzellarray 10 einezuschreiben und daraus auszulesen.
Obgleich die Ausgabe von aus allen Speicherezellen im Speicher
zellarray 10 ausgelesenen Daten verboten ist, wenn eine Lesean
forderung vom Host-System 3 in dem Zustand ausgegeben wird, in
dem eine L-Pegel-Leseerlaubnis-/Verbotsinformation im Leseer
laubnis-/Verbotsregister 62 verankert ist, kann (in einer ande
ren Ausführungsform) statt dessen auch die Ausgabe von aus einem
Teil der Speicherzellen im Speicherzellarray ausgelesenen Wer
ten verboten werden. Eine solche Ausführungsform wird im fol
genden beschrieben.
Fig. 2 ist ein Blockschaltbild, das den Aufbau einer weiteren
Ausführungsform der Erfindung zeigt. Die in Fig. 2 gezeigte
Ausführungsform hat - mit den folgenden wesentlichen Unter
schieden - einen im wesentlichen mit der in Fig. 1 gezeigten
Ausführungsform identischen Aufbau. Gleiche Bezugszeichen be
zeichnen gleiche oder einander entsprechende Teile, und deren
Beschreibung wird nicht wiederholt.
Nach Fig. 2 wird von einem Leseerlaubnis-/Verbotsinformations
signal-Eingangsanschluß 65 ein Leseerlaubnis-/Verbotsinforma
tionssignal von beispielsweise 4 Bit eingegeben. Das Speicher
zellarray 10 ist in 4 Untergebiete aufgeteilt, und die 4-Bit-
Leseerlaubnis-/Verbotsinformation entspricht jedem der Unterge
biete. Das vom Leseerlaubnis-/Verbotsinformations-Eingangsan
schluß 65 eingegebene 4-Bit-Leseerlaubnis-/Verbotsinformations
signal wird in einem Leseerlaubnis-/Verbotsregister 66 gespei
chert. Das Leseerlaubnis-/Verbotsregister 66 ist beispielsweise
aus 4 Flip-Flops aufgebaut, so daß darin eine 4-Bit-Leseerlaub
nis-/Verbotsinformation gespeichert werden kann. Die von den
Flip-Flops im Leseerlaubnis-/Verbotsregister 66 ausgegebenen
Ausgangswerte Q1 bis Q4 werden jeweils an einen Eingangsan
schluß der UND-Gatter AG1 bis AG4 angelegt. Ein Adreßdekoder 67
dekodiert die vom Host-System 3 über den Adreßeingangsanschluß
13a angelegten Adreßdaten und gibt dekodierte Signale S1 bis S4
aus. Diese dekodierten Signale S1 bis S4 werden an die anderen
Eingangsanschlüsse der UND-Gatter AG1 bis AG4 angelegt. Die de
kodierten Signale S1 bis S4 vom Adreßdekoder 67 entsprechen je
weils einem Untergebiet im Speicherzellarray 10. Mit anderen
Worten nimmt, wenn ein Zugriff auf das erste Untergebiet im
Speicherzellarray 10 ausgeführt wird, das dekodierte Signal S1
H-Pegel an, und die anderen dekodierten Signale S2 bis S4
nehmen L-Pegel an. Auch wenn ein Zugriff auf das zweite Unter
gebiet im Speicherzellarray 10 ausgeführt wird, nimmt nur das
dekodierte Signal S2 H-Pegel an, und die anderen dekodierten
Signale S1, S3 und S4 nehmen L-Pegel an. Analog nehmen, wenn
ein Zugriff auf das dritte oder vierte Untergebiet ausgeführt
wird, nur die dekodierten Signale S3 oder S4 H-Pegel an.
Die Ausgänge (Ausgangswerte) der UND-Gatter AG1 bis AG4 werden
an das ODER-Gatter OG angelegt. Der Ausgang des ODER-Gatters OG
wird an einen Eingangsanschluß des UND-Gatters 63 angelegt. Ein
Lesefreigabesignal wird vom Host-System 3 an den anderen Ein
gangsanschluß des UND-Gatters 63 über den A-Port-Lesesignalein
gangsanschluß 18a angelegt. Der Ausgang des UND-Gatters 63 wird
an den Steueranschluß des 3-Zustands-Puffers 16a zum Auslesen
vom A-Port angelegt. Im folgenden wird die Betriebsweise der in
Fig. 2 dargestellten Ausführungsform beschrieben. Das Gerät
der in Fig. 2 gezeigten Ausführungsform ist in der Lage, die
Ausgabe von aus einem Teil der Mehrzahl der Speicherzellen im
Speicherezellarray 10 ausgelesenen Daten zu verbieten. Mit ande
ren Worten kann das Ausgabeverbot der ausgelesenen Daten für
jeden Zellblock gesteuert werden. Im folgenden wird der Fall
beschrieben, daß die Ausgabe von aus dem ersten Unterblock und
dem zweiten Unterblock im Speicherzellarray 10 ausgelesenen Da
ten verboten ist. In diesem Falle ist innerhalb des Informa
tionsgehaltes der Leseerlaubnis-/Verbotsinformation von 4 Bit
im Leseerlaubnis-/Verbotsregister 66 das erste Bit auf L-Pegel,
das zweite Bit auf L-Pegel, das dritte Bit auf H-Pegel und das
vierte Bit auf H-Pegel. Die Pegel der Ausgangssignale Q1 und Q2
vom Leseerlaubnis-/Verbotsregister 66 nehmen L-Pegel an, und
die Signale Q3 und Q4 nehmen H-Pegel an. Wenn im Host-System 3
in diesem Zustand eine Leseanforderung für den ersten Unter
block im Speicherzellarray 10 erzeugt wird, bringt der Adreß
dekoder 67 nur das dekodierte Signal S1 auf H-Pegel, und die
anderen dekodierten Signale S2 bis S4 werden auf L-Pegel gezo
gen, obwohl das dekodierte Signal S1 H-Pegel an das UND-Gatter
AG1 L-Pegel annimmt, weil das Ausgangssignal Q1 des Leseerlaub
nis-/Verbotsregisters 66, wie oben beschrieben, auf L-Pegel
ist. Die Ausgänge der anderen UND-Gatter AG2 bis AG4 nehmen L-Pegel
an, weil die dekodierten Signale S2 bis S4 auf L-Pegel
sind. Demnach werden in das ODER-Gatter OG nur Signale auf L-Pegel
eingegeben, wodurch dessen Ausgänge auf L-Pegel sind. Der
Ausgang des UND-Gatters 63 nimmt L-Pegel an. Dies erlaubt dem
3-Zustands-Puffer 16a, in einem hochohmigen Zustand zu sein,
wodurch die Ausgabe von aus dem ersten Unterblock im Speicher
zellarray 10 ausgelesenen Daten verboten wird.
Unter der Annahme, daß im Host-System 3 eine Anforderung zum
Lesen aus dem zweiten Unterblock im Speicherzellarray 10
erzeugt wird, zieht der Adreßdekoder 67 nur das dekodierte
Signal S2 auf H-Pegel und hält die anderen dekodierten Signale
S1, S3 und S4 auf L-Pegel. Der Ausgang des UND-Gatters AG2 ist
auf L-Pegel, weil das Signal Q2 auf L-Pegel daran angelegt
ist. Die Ausgänge der anderen UND-Gatter AG1, AG3 und AG4 sind
auf L-Pegel, da daran die dekodierten Signale S1, S3 und S4 auf
L-Pegel angelegt sind. Infolgedessen wird auch in diesem Falle,
ähnlich wie im Falle der Leseanforderung aus dem ersten Unter
block, an den Steueranschluß des 3-Zustands-Puffers 16a über
das UND-Gatter 63 ein Signal auf L-Pegel angelegt, und der 3-
Zustands-Puffer 16a nimmt einen hochohmigen Zustand an. Im Er
gebnis dessen ist die Ausgabe von aus dem zweiten Unterblock im
Speicherarray 10 ausgelesenen Daten verboten.
Wenn im Host-System 3 eine Anforderung zum Lesen von Daten aus
dem dritten Unterblock im Speicherezellarray 10 erzeugt wird,
bringt der Adreßdekoder 67 das dekodierte Signal S3 auf H-Pegel
und die anderen dekodierten Signale S1, S2 und S4 auf L-Pegel.
Das dekodierte Signal S3 auf H-Pegel und das Signal Q3 auf H-Pegel
werden an das UND-Gatter AG3 angelegt, und damit nimmt
dessen Ausgang H-Pegel an. Der Ausgangswert des UND-Gatters AG3
auf H-Pegel wird an einen Eingangsanschluß des UND-Gatters 63
über das ODER-Gatter OG angelegt. Vom Host-System 3 wird über
den A-Port-Lesesignaleingangsanschluß 18a an den anderen
Eingangsanschluß des UND-Gatters 63 ein Lesefreigabesignal auf
H-Pegel angelegt, und damit nimmt der Ausgang des UND-Gatters
63 H-Pegel an. An den Steueranschluß des 3-Zustands-Puffer 16a
wird ein Signal auf H-Pegel angelegt und damit der 3-Zustands-
Puffer 16a aktiviert. Im Ergebnis dessen werden die vom dritten
Unterblock im Speicherezellarray ausgelesenen Daten über den 3-
Zustands-Puffer 16a und den A-Port-Dateneingangs-/Ausgangsan
schluß 14a an das Host-System 3 ausgegeben.
Wenn im Host-System 3 eine Anforderung zum Lesen aus dem
vierten Untergebiet im Speicherzellarray 10 erzeugt wird,
bringt der Adreßdekoder 67 nur das dekodierte Signal S4 auf H-Pegel
und die anderen dekodierten Signale S1 bis S3 auf L-Pegel.
Das UND-Gatter AG4 wird daher mit dem dekodierten Signal
S4 auf H-Pegel und dem Signal Q4 auf H-Pegel versorgt, und der
Ausgang des Gatters nimmt H-Pegel an. Das Ausgangssignal vom
UND-Gatter AG4 auf H-Pegel wird an einen Eingangsanschluß des
UND-Gatters 63 über das ODER-Gatter OG angelegt. Gleichzeitig
wird an den anderen Eingangsanschluß des UND-Gatters 63 vom
Host-System 3 über den A-Port-Lesesignaleingangsanschluß 18a
ein Lesefreigabesignal angelegt. Dies erlaubt es dem Ausgang
des UND-Gatters 63, H-Pegel anzunehmen, und das Signal auf H-Pegel
wird an den Steueranschluß des 3-Zustand-Puffers 16a
angelegt. Die vom vierten Untergebiet im Speicherzellarray 10
ausgelesenen Daten werden über den 3-Zustands-Puffer 16a und
den A-Port-Dateneingangs-/Ausgangsanschluß 14a an das Host-
System 3 ausgegeben.
Wie oben beschrieben, ist die in Fig. 2 gezeigte Ausführungs
form in der Lage, nur die Ausgabe von aus dem ersten und zwei
ten Untergebiet im Speicherezellarray 10 gelesenen Daten zu ver
bieten. Es ist unnötig zu sagen, daß die Kombination der Unter
gebiete, in Bezug auf die die Ausgabe gelesener Daten verboten sein
Soll, durch Verändern der Inhalte der Leseerlaubnis-/Verbotsin
formation, die im Leseerlaubnis-/Verbotsregister 66 verankert
ist, beliebig verändert werden kann. Infolgedessen kann die
Ausgabe von aus einem mit dem Adreßraum des internen Speichers
des Host-Systems überlappenden Untergebiet verboten werden.
Obgleich bei den beschriebenen Ausführungsformen die Ausgabe
gelesener Daten an eines der beiden Systeme, die sich den Dual-
Port-Speicher teilen, verboten wird, kann die Ausgabe ausgele
sener Daten an das andere System verboten werden, und weiterhin
kann die Ausgabe ausgelesener Daten an beide Systeme verboten
werden.
Wie oben beschrieben, kann das
Adreßgebiet des Dual-Port-Speichers so plaziert sein, daß es
den Adreßraum des internen Speichers des Systems, das den Dual-
Port-Speicher nutzt, ohne die Erzeugung von Datenkollisionen
überlappt. Infolgedessen ist, wenn einem bereits fertiggestell
ten Host-System ein Slave-System hinzugefügt wird, keine Verän
derung in der Programmierung des Host-Systems erforderlich, was
erheblich den Entwurf vereinfacht und mit der Handhabung des
Entwurfes verbundene Fehler verringert.
Claims (9)
1. Multiprozessorsystem mit einem ersten System und einem zwei
ten System, mit einem Dual-Port-Speicher zum Verbinden des
ersten Systems mit dem zweiten System, wobei das erste System
eine CPU und einen Speicher aufweist, der in einem vorgegebenen
Adreßraum adressierbar ist,
dadurch gekennzeichnet,
daß dem Dual-Port-Speicher Adressen in dem Adreßraum zugeordnet werden und
daß eine Lesedatenausgabeverbietungseinrichtung (16a, 62, 63, 66, 67, AG1, AG4, OG) zum Verbieten der Ausgabe von aus den ausgewählten Speicherzellen des Dual-Port-Speichers ausgelesenen Daten vorgesehen ist.
daß dem Dual-Port-Speicher Adressen in dem Adreßraum zugeordnet werden und
daß eine Lesedatenausgabeverbietungseinrichtung (16a, 62, 63, 66, 67, AG1, AG4, OG) zum Verbieten der Ausgabe von aus den ausgewählten Speicherzellen des Dual-Port-Speichers ausgelesenen Daten vorgesehen ist.
2. Multiprozessorsystem nach Anspruch 1, dadurch gekennzeich
net, daß die Lesedatenausgabeverbietungseinrichtung die Ausgabe
gelesener Daten auf das erste oder zweite System verbietet.
3. Multiprozessorsystem nach Anspruch 1, dadurch gekennzeich
net, daß die Lesedatenausgabeverbietungseinrichtung die Ausgabe
gelesener Daten sowohl an das erste als auch an das zweite Sy
stem verbietet.
4. Multiprozessorsystem nach einem der Ansprüche 1 bis 3, da
durch gekennzeichnet, daß die Lesedatenausgabeverbietungsein
richtung die Ausgabe von aus allen Speicherzellen im Speicher
zellarray gelesenen Daten verbietet.
5. Multiprozessorsystem nach einem der Ansprüche 1 bis 3, da
durch gekennzeichnet, daß die Lesedatenausgabeverbietungsein
richtung die Ausgabe von aus einem Teil der Speicherzellen im
Speicherzellarray ausgelesenen Daten verbietet.
6. Multiprozessorsystem nach einem der Ansprüche 1 bis 5, da
durch gekennzeichnet, daß die Lesedatenausgabeverbietungsein
richtung eine Gattereinrichtung (16a) zum Puffern von aus den
Speicherzellen ausgelesenen Daten und eine Steuereinrich
tung (63, 66, 67, AG1 bis AG4) zum Steuern des Öffnens und Schließens
der Gattereinrichtung (16a) aufweist.
7. Multiprozessorsystem nach Anspruch 6, dadurch gekennzeich
net, daß die Steuereinrichtung das Öffnen und Schließen der Gat
tereinrichtung auf der Grundlage einer extern festgelegten Lese
erlaubnis-/Verbotsinformation steuert.
8. Multiprozessorsystem nach Anspruch 6, dadurch gekennzeich
net, daß die Steuereinrichtung die Gattereinrichtung so steuert,
daß die Ausgabe von Daten nur dann verboten ist, wenn Daten aus
Speicherzellen in einem vorbestimmten Gebiet im Speicherzellarray
ausgelesen werden.
9. Multiprozessorsystem nach Anspruch 8, dadurch gekennzeich
net, daß die Steuereinrichtung eine Vorgabeeinrichtung (66) zur
Vorgabe einer Leseerlaubnis-/Verbotsinformation für jedes Gebiet
im Speicherzellarray,
eine Dekodereinrichtung (67) zum Dekodieren der Adreßdaten und
zur Ausgabe eines individuell den Zugriffszustand jedes Gebietes
im Speicherzellarray kennzeichnenden Signales und eine Steuersi
gnalerzeugungseinrichtung (AG1 bis AG4, OG, 63) zur Erzeugung
eines Öffnen/Schließen-Steuersignales für die Gattereinrichtung
auf der Basis der Leseerlaubnis-/Verbotsinformation, die in der
Vorgabeeinrichtung verankert ist, und eines Ausgangssignales von
der Dekodereinrichtung aufweist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3018690A JPH04257048A (ja) | 1991-02-12 | 1991-02-12 | デュアルポートメモリ |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4204119A1 DE4204119A1 (de) | 1992-08-13 |
DE4204119C2 true DE4204119C2 (de) | 1997-04-17 |
Family
ID=11978616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4204119A Expired - Fee Related DE4204119C2 (de) | 1991-02-12 | 1992-02-12 | Multiprozessorsystem |
Country Status (3)
Country | Link |
---|---|
US (1) | US5459851A (de) |
JP (1) | JPH04257048A (de) |
DE (1) | DE4204119C2 (de) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07225727A (ja) * | 1994-02-14 | 1995-08-22 | Fujitsu Ltd | 計算機システム |
JPH08212132A (ja) * | 1995-02-07 | 1996-08-20 | Mitsubishi Electric Corp | 記憶装置 |
US5802597A (en) * | 1995-12-22 | 1998-09-01 | Cirrus Logic, Inc. | SDRAM memory controller while in burst four mode supporting single data accesses |
US5852608A (en) * | 1996-06-06 | 1998-12-22 | Sun Microsystems, Inc. | Structure and method for bi-directional data transfer between asynchronous clock domains |
US5884100A (en) * | 1996-06-06 | 1999-03-16 | Sun Microsystems, Inc. | Low-latency, high-throughput, integrated cache coherent I/O system for a single-chip processor |
JPH1027150A (ja) | 1996-07-09 | 1998-01-27 | Murata Mach Ltd | 情報処理装置及び外部装置 |
US5768211A (en) * | 1996-07-31 | 1998-06-16 | Cypress Semiconductor Corporation | Multi-port arbitration for high performance width expansion |
US5825878A (en) * | 1996-09-20 | 1998-10-20 | Vlsi Technology, Inc. | Secure memory management unit for microprocessor |
US6078997A (en) * | 1996-12-09 | 2000-06-20 | Intel Corporation | Directory-based coherency system for maintaining coherency in a dual-ported memory system |
US5860120A (en) * | 1996-12-09 | 1999-01-12 | Intel Corporation | Directory-based coherency system using two bits to maintain coherency on a dual ported memory system |
US5995570A (en) * | 1997-06-27 | 1999-11-30 | International Business Machines Corporation | Recovering a clock signal in a multimedia network using time stamps |
US5978903A (en) * | 1997-08-19 | 1999-11-02 | Advanced Micro Devices, Inc. | Apparatus and method for automatically accessing a dynamic RAM for system management interrupt handling |
US6067595A (en) * | 1997-09-23 | 2000-05-23 | Icore Technologies, Inc. | Method and apparatus for enabling high-performance intelligent I/O subsystems using multi-port memories |
US5907508A (en) * | 1997-10-28 | 1999-05-25 | International Business Machines Corporation | Method and apparatus for single clocked, non-overlapping access in a multi-port memory cell |
US5956286A (en) * | 1997-10-28 | 1999-09-21 | International Business Machines Corporation | Data processing system and method for implementing a multi-port memory cell |
US5870349A (en) * | 1997-10-28 | 1999-02-09 | International Business Machines Corporation | Data processing system and method for generating memory control signals with clock skew tolerance |
US5877976A (en) * | 1997-10-28 | 1999-03-02 | International Business Machines Corporation | Memory system having a vertical bitline topology and method therefor |
US6233659B1 (en) | 1998-03-05 | 2001-05-15 | Micron Technology, Inc. | Multi-port memory device with multiple modes of operation and improved expansion characteristics |
US6304973B1 (en) * | 1998-08-06 | 2001-10-16 | Cryptek Secure Communications, Llc | Multi-level security network system |
US7333388B2 (en) * | 2001-10-03 | 2008-02-19 | Infineon Technologies Aktiengesellschaft | Multi-port memory cells |
JP3693013B2 (ja) * | 2001-12-26 | 2005-09-07 | 日本電気株式会社 | データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体 |
US8397034B1 (en) | 2003-06-27 | 2013-03-12 | Cypress Semiconductor Corporation | Multi-port arbitration system and method |
JP2005259320A (ja) * | 2004-03-15 | 2005-09-22 | Nec Electronics Corp | パーシャル・デュアル・ポート・メモリ及び該メモリを用いた電子機器 |
JP2005259321A (ja) * | 2004-03-15 | 2005-09-22 | Nec Electronics Corp | フレキシブル・マルチエリア・メモリ及び該メモリを用いた電子機器 |
US7813213B1 (en) | 2005-05-04 | 2010-10-12 | Cypress Semiconductor Corporation | Pulsed arbitration system |
US20060253659A1 (en) * | 2005-05-05 | 2006-11-09 | International Business Machines Corporation | Method and virtual port register array for implementing shared access to a register array port by multiple sources |
US7962698B1 (en) | 2005-10-03 | 2011-06-14 | Cypress Semiconductor Corporation | Deterministic collision detection |
US7600081B2 (en) * | 2006-01-18 | 2009-10-06 | Marvell World Trade Ltd. | Processor architecture having multi-ported memory |
TW200745873A (en) * | 2006-06-05 | 2007-12-16 | Dmp Electronics Inc | Dual computers for backup and being fault-tolerant system architecture |
US7483313B2 (en) * | 2007-01-31 | 2009-01-27 | Dell Products, Lp | Dual ported memory with selective read and write protection |
US7613055B2 (en) | 2007-08-09 | 2009-11-03 | Altera Corporation | Programmable control block for dual port SRAM application |
US20140192601A1 (en) * | 2013-01-09 | 2014-07-10 | Chang-Ho Do | Multi-port memory device with serial input/output interface |
US10409742B2 (en) | 2015-10-07 | 2019-09-10 | Rambus Inc. | Interface for memory readout from a memory component in the event of fault |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4930578B1 (de) * | 1970-09-30 | 1974-08-14 | ||
US4590552A (en) * | 1982-06-30 | 1986-05-20 | Texas Instruments Incorporated | Security bit for designating the security status of information stored in a nonvolatile memory |
US4577292A (en) * | 1983-05-31 | 1986-03-18 | International Business Machines Corporation | Support circuitry for multi-port systems |
JPS61211759A (ja) * | 1985-03-16 | 1986-09-19 | Meidensha Electric Mfg Co Ltd | マルチcpuシステムにおける2ポ−トメモリ制御回路 |
US4742487A (en) * | 1986-04-15 | 1988-05-03 | International Business Machines Corporation | Inhibit and transfer circuitry for memory cell being read from multiple ports |
DE3786539T2 (de) * | 1986-12-19 | 1993-10-28 | Fujitsu Ltd | Halbleiterspeicher mit Doppelzugriffseinrichtung zur Realisierung eines Lesebetriebs mit hoher Geschwindigkeit. |
JPH01178193A (ja) * | 1988-01-07 | 1989-07-14 | Toshiba Corp | 半導体記憶装置 |
US4975878A (en) * | 1988-01-28 | 1990-12-04 | National Semiconductor | Programmable memory data protection scheme |
US4975870A (en) * | 1988-02-25 | 1990-12-04 | Data General Corporation | Apparatus for locking a portion of a computer memory |
JPH01241643A (ja) * | 1988-03-24 | 1989-09-26 | Mitsubishi Electric Corp | インタフェース装置 |
US5014247A (en) * | 1988-12-19 | 1991-05-07 | Advanced Micro Devices, Inc. | System for accessing the same memory location by two different devices |
JPH0812646B2 (ja) * | 1989-03-03 | 1996-02-07 | 三菱電機株式会社 | 半導体集積回路 |
-
1991
- 1991-02-12 JP JP3018690A patent/JPH04257048A/ja active Pending
-
1992
- 1992-02-12 DE DE4204119A patent/DE4204119C2/de not_active Expired - Fee Related
-
1994
- 1994-08-31 US US08/298,083 patent/US5459851A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5459851A (en) | 1995-10-17 |
JPH04257048A (ja) | 1992-09-11 |
DE4204119A1 (de) | 1992-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4204119C2 (de) | Multiprozessorsystem | |
DE69815258T2 (de) | Elektrisch programmier- und löschbarer nichtflüchtiger Speicher mit einem lese- und/oder schreibgeschützen Bereich einschliesslich zugehöriger elektronischer Schaltung | |
DE69520665T2 (de) | Anordnung von nichtflüchtigen EEPROM,insbesondere Flash-EEPROM | |
DE4207945C2 (de) | Multiport-Speicher und Verfahren zum Entscheiden eines Zugriffskonflikts darin | |
DE69217761T2 (de) | Lese- und Schreibschaltung für einen Speicher | |
DE4114410C2 (de) | ||
DE3884848T2 (de) | Rascher Zugriff für einen FIFO-Speicher. | |
EP0908893B1 (de) | Speicherarchitektur mit Mehrebenenhierarchie | |
DE4200758C2 (de) | Halbleiterspeichereinrichtung und Verfahren zur Steuerung des Betriebs derselben | |
DE2908691C2 (de) | ||
DE4238062C2 (de) | Multiport-Speichereinrichtung | |
DE4025151A1 (de) | Halbleiterspeichereinrichtung mit flasch-schreibfunktion | |
DE4218686C2 (de) | Statischer Direktzugriffsspeicher | |
DE3906897A1 (de) | Halbleiterspeichereinrichtung mit verbesserter redundanzschaltung | |
DE4309320A1 (de) | Halbleiterspeichervorrichtung und Betriebsverfahren | |
EP0224887B1 (de) | Gate Array Anordnung in CMOS-Technik | |
EP1352318B1 (de) | Mikroprozessorschaltung für tragbare datenträger | |
DE4406258C2 (de) | Informationsverarbeitungsvorrichtung | |
DE68926158T2 (de) | Einchip-Mikrorechner mit EPROM | |
DE69326154T2 (de) | Integrierte Schaltung für die Programmierung einer Speicherzelle eines nicht flüchtigen Speicherregisters | |
EP1118999A1 (de) | Verfahren und Vorrichtung zum wechselweisen Betreiben eines Schreib-Lese-Speichers im Ein-Speicher-Betriebsmodus und im verschränkten Mehr-Speicher-Betriebsmodus | |
DE4206079C2 (de) | Halbleiterspeichereinrichtung und Verfahren zum Lesen von Daten aus einer solchen Halbleiterspeichereinrichtung | |
DE10105627B4 (de) | Mehrfachanschlussspeichereinrichtung, Verfahren und System zum Betrieb einer Mehrfachanschlussspeichereinrichtung | |
DE2235883A1 (de) | Datenverarbeitungseinrichtung | |
DE69319886T2 (de) | Halbleiterspeicher mit Speichermatrix, der mit einem einzigen Sektor assoziierte Redundantezellenspalte enthält |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |