DE4111483A1 - Dual-port-speicher - Google Patents
Dual-port-speicherInfo
- Publication number
- DE4111483A1 DE4111483A1 DE4111483A DE4111483A DE4111483A1 DE 4111483 A1 DE4111483 A1 DE 4111483A1 DE 4111483 A DE4111483 A DE 4111483A DE 4111483 A DE4111483 A DE 4111483A DE 4111483 A1 DE4111483 A1 DE 4111483A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- write
- read
- memory cell
- 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.)
- Granted
Links
Classifications
-
- 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
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
Description
Die Erfindung betrifft allgemein einen Dual-Port-Speicher mit zwei
Ein-/Ausgangsports und insbesondere einen Dual-Port-Speicher, wie er
beispielsweise bei der Datenübertragung zwischen zwei Mikroprozessorsystemen
benutzt wird.
Fig. 1 zeigt ein Blockdiagramm der Konfiguration zur allgemeinen
Verwendung eines Dual-Port-Speichers. In der Figur weist ein Dual-
Port-Speicher 1 zwei Ein-/Ausgansports (einer wird im weiteren als
A-Port, der andere als B-Port bezeichnet) auf. A-Port ist über einen
Systembus 2 mit einem A-System 3, B-Port über einen Systembus 4 mit
einem B-System 5 verbunden. Das A-System 3 und das B-System 5 können
beliebige Systeme sein, die Daten verarbeiten. In vielen Fällen sind
diese z. B. Mikroprozessorsysteme, die eine CPU aufweisen. Der Dual-
Port-Speicher 1 weist intern eine Speichereinrichtung auf. Auf diese
Speichereinrichtung kann durch das A-System 3 und das B-System 5 getrennt
zugegriffen werden.
Der oben angeführte Dual-Port-Speicher 1 wird häufig für Datenempfang/
-übertragung zwischen dem A-System 3 und dem B-System 5 benutzt.
Beispielsweise ist es im Fall, wenn das A-System 3 und das B-
System 5 asynchron arbeiten, schwierig, zwischen den jeweiligen Systemen
eine Datenübertragung direkt auszuführen. Beim Übertragen von
Daten über den Dual-Port-Speicher 1 ist es jedem System möglich, Daten
beliebig ein-/auszugeben, wenn dies notwendig ist. Folglich verbessert
sich der Durchsatz des Systems. Darüber hinaus arbeiten die
Systeme 3 und 5 zusammen, um die Entwicklung eines größeren Systems
zu ermöglichen.
Es gibt zwei herkömmliche Zugriffsverfahren auf den Dual-Port-Speicher,
die im folgenden beschrieben werden.
Fig. 2A zeigt das erste Zugriffsverfahren, bei dem Adreßdaten, die
von einer CPU 6 des A-Systems (im weiteren als A-Port-Adreßdaten bezeichnet)
zugeführt werden, und Adreßdaten, die an den B-Port von
einer CPU 7 des B-Systems (im weiteren als B-Port-Adreßdaten bezeichnet)
angelegt werden, von einem Adreßmultiplexer 8 gemultiplext
und an einen Dekoder 9 angelegt werden. Der Dekoder 9 wählt entsprechend
entweder den A-Port- oder B-Port-Adreßdaten, die über den
Adreßmultiplexer 8 zugeführt worden sind, eine Speicherzelle eines
Speicherzellenfeldes 10 aus. Das Speicherzellenfeld 10 weist eine
Mehrzahl von Speicherzellen auf, die in Form einer Matrix in Zeilen-
und Spaltenrichtung angeordnet sind. Wie in Fig. 2B gezeigt ist,
weist jede Zeile von Speicherzellen 11 eine Wortleitung 12 auf. Ferner
weist jede Spalte von Speicherzellen 11 eine Bitleitung 13 auf.
Es ist ein Leseverstärker 14 angeordnet, der durch die jeweiligen
Bitleitungen 13 unterteilt wird. Über diesen unterteilten Leseverstärker
14 werden von der CPU 6 oder 7 Schreibdaten an die Bitleitung
13 angelegt oder Daten, die auf die Bitleitungen ausgelesen
worden sind, werden der CPU 6 oder 7 zugeführt. Der Dekoder 9 betreibt
selektiv eine der Mehrzahl von Wortleitungen 12 in Übereinstimmung
mit den angelegten Daten. Dies bewirkt, daß ein Transfergattertransistor
15 der ausgewählten Zeile einen leitenden Zustand
annimmt. Ferner aktiviert der Dekoder 9 selektiv einen der unterteilten
Leseverstärker 14 in Übereinstimmung mit den zugeführten Daten.
Damit wird die ausgewählte Speicherzelle 11 über den entsprechenden
Transfergattertransistor 15 mit der CPU 6 oder 7 verbunden.
Damit ist ein Lesen und Schreiben von Daten bezüglich der ausgewählten
Speicherzelle 11 möglich.
Das zweite Zugriffsverfahren ist in Fig. 3A dargestellt. Bei diesem
sind ein Dekoder 9a und ein Leseverstärker 14a für den A-Port und
ein Dekoder 9b und ein Leseverstärker 14b für den B-Port im Zusammenhang
mit einem Speicherzellenfeld 100 gebildet. Die A-Port-Adreßdaten
von der CPU 6 werden dem Dekoder 9a und die B-Port-Adreßdaten
von der CPU 7 dem Dekoder 9b zugeführt. Das Speicherzellenfeld 100
weist eine Mehrzahl von Speicherzellen auf, die ähnlich wie beim
Speicherzellenfeld 10 der Fig. 2A in Form einer Matrix entlang der
Zeilen- und Spaltenrichtung angeordnet sind. Es sei bemerkt, daß das
Speicherzellenfeld 100 zwei Wortleitungen 12a und 12b, die entsprechend
jeder Zeile von Speicherzellen 11 gebildet sind, und ferner
auch zwei Bitleitungen 13a und 13b, die entsprechend jeder Spalte
angeordnet sind, aufweist, wie in Fig. 3B dargestellt ist. Außerdem
sind zwei Transfergattertransistoren 15a und 15b für eine Speicherzelle
11 gebildet. Wortleitung 12a, Bitleitung 13a und Transfergattertransistor
15a sind entsprechend dem A-Port und Wortleitung 12b,
Bitleitung 13b und Transfergattertransistor 15b sind entsprechend
dem B-Port geschaffen. Damit können die CPUs 6 und 7 auf das
Speicherzellenfeld 100 zur selben Zeit zugreifen, da beim Dual-Port-
Speicher der Fig. 3A die Zugriffssysteme für den A-Port und den B-
Port vollständig unabhängig voneinander sind.
Da auf den Dual-Port-Speicher der Fig. 3A von den CPUs 6 und 7
gleichzeitig zugegriffen werden kann, gibt es Fälle, in denen ein
Zugriffskonflikt durch die beiden CPUs 6 und 7 bezüglich derselben
Speicherzelle auftritt. In einem solchen Fall tritt entsprechend der
Zugriffsart der CPUs 6 und 7 der Zustand von Fig. 4 auf. Tritt ein
Lesezugriffskonflikt bezüglich derselben Speicherzelle auf (Fall von
Fig. 4(1)), so sind die aus der ausgewählten Speicherzelle gelesenen
Daten normal. Tritt ein Lesezugriffs- und Schreibzugriffskonflikt
bezüglich derselben Speicherzelle auf (Fall von Fig. 4(2), (3)), so
sind die von der ausgewählten Speicherzelle ausgelesenen Daten nicht
definiert (das bedeutet, es kann nicht entschieden werden, ob sie
normal oder unnormal sind), während die in die ausgewählte Speicherzelle
geschriebenen Daten normal sind. Tritt ein Konflikt bei einer
Schreibzugriffsoperation bezüglich derselben Speicherzelle (Fall von
Fig. 4(4)) auf, so sind die in die ausgewählte Speicherzelle geschriebenen
Daten nicht definiert.
Um die oben angeführten Zugriffskonfliktprobleme zu lösen, ist ein
Schaltkreis für einen beliebigen Zugriff vorgeschlagen worden, der
bezüglich des Dual-Port-Speichers intern oder extern gebildet werden
soll. Tritt ein Zugriffskonflikt der Systeme auf, so vergibt dieser
Schaltkreis ein Zugriffsrecht an eines der Systeme entsprechend einer
vorbestimmten Priorität und hält den Zugriff des anderen Systems
temporär an. Anschließend wird der temporär angehaltene Zugriff gestartet,
wenn ein konfliktfreier Zustand erreicht worden ist.
Fig. 5 zeigt ein Systemkonfigurationsdiagramm eines Dual-Port-RAM,
der einen Schaltkreis für einen beliebigen Zugriff aufweist, wie er
in der JP 62-1 75 992 beschrieben ist.
Der Dual-Port-RAM der Fig. 5 weist einen Ausgangsdaten-Steuerschaltkreis
20 auf, wobei die D-Flip-Flops 21a und 21b als Schaltkreis für
beliebigen Zugriff gebildet sind. Die restliche Struktur ist der des
Dual-Port-Speichers von Fig. 3A ähnlich, so daß für einander entsprechende
Abschnitte dieselben Bezugszeichen benutzt werden. Dem
Ausgangsdaten-Steuerschaltkreis 20 werden von der CPU 6 A-Port-
Adreßdaten A(A), von der CPU 7 B-Port-Adreßdaten B(B), ein A-Port-
Schreibsignal (A) und ein B-Port-Schreibsignal (B) zugeführt.
Der Ausgangsdaten-Steuerschaltkreis 20 erzeugt Ausgangsdaten-Steuersignale
ΦA und ΦB in Übereinstimmung mit den zugeführten Adreßdaten
und Schreibsignalen. Das Ausgangsdaten-Steuersignal ΦA wird dem D-
Flip-Flop 21a und das Ausgangsdaten-Steuersignal ΦB dem D-Flip-Flop
21b zugeführt. Das D-Flip-Flop 21a liest und hält die A-Port-Ausgangsdaten
Dout(A) vom Leseverstärker 14a in Abhängigkeit vom Ausgangsdaten-
Steuersignal ΦA. Das Q-Ausgangssignal des D-Flip-Flops
21a wird der CPU 6 als externe Ausgangsdaten Dout(A)* des A-Ports
zugeführt. Demgegenüber liest und hält das D-Flip-Flop 21a die B-
Port-Ausgangsdaten Dout(b) vom Leseverstärker 14b in Abhängigkeit
vom Ausgangsdaten-Steuersignal ΦB. Das Q-Ausgangssignal des D-Flip-
Flops 21b wird der CPU 7 als externe Ausgangsdaten Dout(B)* des B-
Ports zugeführt.
Fig. 6 zeigt ein weiteres Detail des Ausgangsdaten-Steuerschaltkreises
20 der Fig. 5. Der Ausgangsdaten-Steuerschaltkreis 20 weist Exklusiv-
Logiksummengatter 22₀-22 n, eine ODER-Gatter 23 und NOR-Gatter
24a, 24b auf. Die Exklusiv-Logiksummengatter 22₀-22 n erfassen jeweils,
ob die Logik eines jeden Adreßsignals A0(A)-An(A), die in den
A-Port-Adreßdaten A(A) enthalten sind, mit der Logik eines jeden
Adreßsignals A0(B)-An(B), die in den B-Port-Adreßdaten A(B) enthalten
sind, übereinstimmt. Das ODER-Gatter 23 ermittelt, ob die A-
Port-Adreßdaten (A) mit den B-Port-Adreßdaten (B) als ganzes übereinstimmen,
indem die logische Summe der Ausgangssignale von den Exklusiv-
Logiksummengattern 22₀-22 n gebildet wird. Das NOR-Gatter 24a
empfängt das Ausgangssignal des ODER-Gatters 23 sowie das B-Port-
Schreibsignal (B), um ein Ausgangsdaten-Steuersignal ΦA für den A-
Port zu bilden. Das NOR-Gatter 24b empfängt das Ausgangssignal des
ODER-Gatters 23 sowie das A-Port-Schreibsignal (A), um ein Ausgangsdaten-
Steuersignal ΦB für den B-Port zu bilden.
Fig. 7 zeigt die detaillierte Struktur des D-Flip-Flops 21b von Fig. 5.
Das D-Flip-Flop 21b weist einen Inverter 25 und NOR-Gatter 26-29
auf. Die NOR-Gatter 28 und 29 bilden den Datenhalteschaltkreis, wobei
jedes Ausgangssignal an einen Eingang des anderen NOR-Gatters 29
bzw. 28 angelegt wird. Die B-Port-Ausgangsdaten vom Leseverstärker
14 werden sowohl einem Eingang des NOR-Gatters 26 als auch über den
Inverter 25 einem Eingang des NOR-Gatters 27 zugeführt. Das Ausgangsdaten-
Steuersignal ΦB vom Ausgangsdaten-Steuerschaltkreis 20
wird an die jeweils anderen Eingänge der NOR-Gatter 26 und 27 angelegt.
Jedes der Ausgangssignale der NOR-Gatter 26 und 27 wird an den
anderen Eingang der NOR-Gatter 28 und 29 angelegt. Die NOR-Gatter 26
und 27 bestimmen in Abhängigkeit vom Ausgangsdaten-Steuersignal ΦB,
ob die Daten, die im Datenhalteschaltkreis aus den NOR-Gattern 28
und 29 gehalten werden, aktualisiert werden sollen.
Der Aufbau des D-Flip-Flops 21a ist dem des obenerwähnten D-Flip-
Flops 21b ähnlich, außer daß sich das Eingangssignal und das Ausgangssignal
von denen des oben angeführten D-Flip-Flops 21b unterscheiden.
Fig. 8 zeigt den Betrieb des herkömmlichen Dual-Port-RAMs der Fig.
5-7 im Falle eines Konfliktes zwischen einem Schreibzugriff auf der
Seite des A-Ports und einem Lesezugriff auf der Seite des B-Ports
bezüglich derselben Speicherzelle. Unter Bezugnahme auf das Zeitdiagramm
der Fig. 8 wird nun der Betrieb zum Zeitpunkt des Zugriffskonfliktes
im oben angeführten Dual-Port-RAM beschrieben.
Zuerst wird die Koinzidenz der A-Port-Adresse A(A) und der B-Port-
Adresse A(B) durch die Exklusiv-Logiksummengatter 22₀-22 n und das
ODER-Gatter 23 erfaßt. Dies bewirkt, daß der Ausgang des ODER-Gatters
23 den L-Pegel annimmt. Mit dem Beginn der Schreiboperation auf
der Seite des A-Ports wird das A-Port-Schreibsignal (A) auf den L-
Pegel gebracht, um als Reaktion hierauf das Ausgangsdaten-Steuersignal
ΦB auf den H-Pegel zu bringen. Damit wird die Aktualisierungsoperation
der Haltedaten des D-Flip-Flops 21b unterbunden. Obwohl
die gespeicherten Daten der ausgewählten Speicherzelle durch die
Schreiboperation der Seite des A-Ports überschrieben werden, fährt
das D-Flip-Flop 21b daher damit fort, die alten Daten (die Daten vor
der Aktualisierung) zu halten. Entsprechend werden die externen Ausgangsdaten
Dout(B)* des B-Ports stabil gehalten. Ist die Schreiboperation
der Seite des A-Ports beendet, so kehrt das A-Port-Schreibsignal
(A) auf den H-Pegel zurück, wobei als Reaktion hierauf das
Ausgangsdaten-Steuersignal ΦB auf den L-Pegel gebracht wird. Dies
beendet die Unterbindung der Datenaktualisierung im D-Flip-Flop 21b.
Daher werden die Haltedaten des D-Flip-Flops 21b durch die Ausgangsdaten
Dout(b) des B-Ports aktualisiert. Dies bedeutet, daß die externen
Ausgangsdaten Dout(B)* des B-Ports zu diesem Zeitpunkt auf
neue Daten aktualisiert werden.
Im Dual-Port-RAM der Fig. 5-7 werden die externen Ausgangsdaten
Dout(B)* des B-Ports auf neue Daten aktualisiert (die neu in die
Speicherzelle geschriebenen Daten), nachdem die Schreiboperation des
A-Ports beendet ist, wenn zwischen dem Schreibzugriff der Seite des
A-Ports und dem Lesezugriff der Seite des B-Ports bezüglich derselben
Speicherzelle ein Konflikt auftritt. Daher muß das B-System mit
dem Lesen der neuen Daten warten, bis der Schreibzugriff des A-Systems
beendet ist. Tritt ein Zugriffskonflikt auf, so wird allgemein
vom Dual-Port-RAM ein BELEGT-Signal an das A-System oder B-System
übermittelt, um die Zugriffsoperation des A- oder B-Systems in einem
Wartezustand zu halten (dies ist in der JP 62-1 75 992 nicht beschrieben).
In Fig. 8 reagiert die Zugriffsoperation des B-Systems auf ein
BELEGT-Signal vom B-Port, damit diese in einem Wartezustand gehalten
wird, bis die Schreiboperation des A-Systems beendet ist. Fig. 9
zeigt ein Systemstrukturdiagramm eines herkömmlichen Multiportspeichers,
der einen Schaltkreis für beliebigen Zugriff aufweist und
beispielsweise in der JP 63-1 83 678 beschrieben ist. Ein Multiportspeicher
34 weist drei Ein-/Ausgabeports A-Port, B-Port und C-Port
auf, so daß drei CUPs 31, 32 und 33 gleichzeitig zugreifen können.
Im Multiportspeicher 34 verriegeln Adreßverriegelungen 35a, 35b und
35c die Adreßdaten, die von den CPUs 31, 32 bzw. 33 zugeführt werden.
Ein Adreßselektor 36 wählt diejenigen Adreßdaten aus den Adreßdaten,
die in den Adreßverriegelungen 35a-35c gehalten werden, aus,
die an einen Speicherbereich 37 angelegt werden sollen. Die Schreibdatenverriegelungen
38a, 38b und 38c verriegeln die Schreibdaten,
die von den CPUs 31, 32 bzw. 33 zugeführt werden. Die von den
Schreibdatenverriegelungen 38a, 38b und 38c gehaltenen Schreibdaten
werden über Schreibdatentreiber 39a, 39b bzw. 39c dem Speicherbereich
37 zugeführt. Die aus dem Speicherbereich 37 ausgelesenen Daten
werden über die Datenports 40a, 40b bzw. 40c den CPUs 31, 32 und
33 zugeführt. Ein Speichersteuerabschnitt 41 steuert die Adreßverriegelungen
35a-35c, die Schreibdatenverriegelungen 38a-38c, die
Schreibdatentreiber 39a-39c, die Datenports 40a-40c und den
Speicherbereich 37.
Nun wird der Betrieb des herkömmlichen Multiportspeichers der Fig. 9
beschrieben. Tritt zwischen mehreren CPUs ein Zugriffskonflikt auf,
so hält der Speichersteuerbereich 41 Adreßdaten und Schreibdaten in
den jeweiligen Verriegelungen 35a-35c, 38a-38c und führt eine
Schreiboperation in den Speicherbereich 37 aus, nachdem der andere
Zugriff vervollständigt worden ist.
Tritt nachfolgend ein Schreibzugriff von einer CPU auf, wenn ein
Schreibzugriff bereits im Multiportspeicher wartet, so wartet im
Multiportspeicher der Fig. 9 der Schreibzugriff dieser CPU auf der
Seite der CPU.
Der oben angeführte und in herkömmlichen Dual-Port- oder Multiportspeichern
benutzte Schaltkreis für beliebigen Zugriff kann die Zugriffsoperationen
bezüglich des Systems in eine Warteschlange einreihen,
wenn zwischen den Systemen ein Zugriffskonflikt auftritt.
Dies führt zu dem Nachteil, daß der herkömmliche Dual-Port-Speicher
nur dann benutzt werden kann, wenn eine Funktion zur Behandlung der
Zugriffwarteforderung des Dual-Port-Speichers (beispielsweise eine
BEREIT-Funktion) gebildet ist. Ferner tritt das Problem auf, daß die
Anwendung auf den industriellen Bereich beschränkt ist, in dem eine
gewisse Wartezeit erlaubt ist.
In einem System, in dem stets eine Echtzeitverarbeitung ausgeführt
wird, muß die Operation von allen Einrichtungen zu identischen Zeitpunkten
ausgeführt werden. Ist in einem solchen System die Zeitabstimmung
der Wartezeiterzeugung nicht bekannt, kann ein Dual-Port-
Speicher, der die Erzeugung einer solchen Wartezeit erlaubt, nicht
verwendet werden, wie kurz die Wartezeit auch ist.
Darüber hinaus fehlt bei Mikrocomputer, die in kleinen Systemen benutzt
werden, manchmal der BEREIT-Anschluß (der Anschluß, an den ein
Warteanforderungssignal angelegt wird) aufgrund der Tatsache, daß
eine Erhöhung der LSI-Anschlüsse die Kosten erhöht. In einem solchen
System kann kein Dual-Port-Speicher benutzt werden, obwohl er für
die Verbesserung des Systemdurchsatzes vorteilhaft wäre.
Aufgabe der Erfindung ist es daher, einen Dual-Port-Speicher zu
schaffen, der selbst dann einen beliebigen Zugriff gestattet, ohne
an das System eine Zugriffswarteanforderung auszugeben, wenn zwischen
Systemen ein Zugriffskonflikt auftritt. Der Dual-Port-Speicher
in Übereinstimmung mit der vorliegenden Erfindung überträgt Daten
zwischen einem ersten System und einem zweiten System über erste und
zweite Ein-/Ausgabeports und es kann vom ersten und vom zweiten System
gleichzeitig auf ihn zugegriffen werden. Der Dual-Port-Speicher
weist ein Speicherzellenfeld, eine erste und eine zweite Speicherzellen-
Auswahleinrichtung, eine Zugriffskonflikt-Erfassungseinrichtung,
eine Steuersignal-Erzeugereinrichtung und eine erste und eine
zweite Übertragungssteuereinrichtung auf. Das Speicherzellenfeld
weist eine Mehrzahl von Speicherzellen auf. Die erste Speicherzellen-
Auswahleinrichtung wählt eine Speicherzelle des Speicherzellenfeldes
in Übereinstimmung mit Adreßdaten vom ersten System und die
zweite Speicherzellen-Auswahleinrichtung eine Speicherzelle aus dem
Speicherzellenfeld in Übereinstimmung mit Adreßdaten vom zweiten System
aus. Die Zugriffskonflikt-Erfassungseinrichtung erfaßt einen
Zugriffskonflikt des ersten und zweiten Systems bezüglich derselben
Speicherzelle im Speicherzellenfeld. Die Steuersignal-Erzeugereinrichtung
erzeugt verschiedene Steuersignale in Übereinstimmung mit
den Steuerdaten vom ersten und zweiten System und dem Ausgangssignal
von der Zugriffskonflikt-Erfassungseinrichtung. Die erste Übertragungssteuereinrichtung
steuert die Übertragung der Schreib-/
Lesedaten zwischen dem ersten System in Abhängigkeit von einem
Steuersignal und das zweite Übertragungssystem die Übertragung der
Schreib-/Lesedaten zwischen dem zweiten System in Abhängigkeit von
einem Steuersignal. Die erste Übertragungssteuereinrichtung weist
wenigstens eine erste Lesedaten-Auswahleinrichtung und die zweite
Übertragungssteuereinrichtung wenigstens eine zweite Lesedaten-Auswahleinrichtung
auf. Wenn ein Konflikt zwischen einem Lesezugriff
des ersten Systems und einem Schreibzugriff des zweiten Systems bezüglich
derselben Speicherzelle im Speicherzellenfeld auftritt,
wählt die erste Lesedaten-Auswahleinrichtung entweder die Daten, die
aus der Speicherzelle ausgelesen worden sind, oder die Schreibdaten,
die vom zweiten System zugeführt werden, als die Lesedaten aus, die
dem ersten System zugeführt werden. Tritt ein Konflikt zwischen einem
Lesezugriff des zweiten Systems und einem Lesezugriff des ersten
Systems bezüglich derselben Speicherzelle im Speicherzellenfeld auf,
so wählt die zweite Lesedaten-Auswahleinrichtung entweder die Daten
aus der Speicherzelle oder die vom ersten System zugeführten Daten
als Lesedaten aus, die dem zweiten System zugeführt werden.
Tritt bei der vorliegenden Erfindung ein Zugriffskonflikt zwischen
dem ersten System und dem zweiten System bezüglich derselben
Speicherzelle auf, so vermittelt die Steuersignal-Erzeugereinrichtung
und die erste und die zweite Übertragungssteuereinrichtung im
Zugriffskonflikt. Die Steuersignal-Erzeugereinrichtung und die erste
und die zweite Übertragungssteuereinrichtung verarbeiten den Zugriffskonflikt
im Inneren des Dual-Port-Speichers und erzeugen keine
Zugriffswarteanforderung für die Systemseite. Die erste und die
zweite Übertragungssteuereinrichtung umfassen zu diesem Zweck erste
und zweite Lesedaten-Auswahleinrichtungen. Tritt ein Lese- und
Schreibzugriffskonflikt auf, so verhindern die erste und die zweite
Lesedaten-Auswahleinrichtung eine Undefiniertheit der Lesedaten, indem
entweder die aus der Speicherzelle ausgelesenen Daten oder die
vom System auf der Seite des Schreibzugriffs angelegten Daten als
Lesedaten ausgewählt und zugeführt werden, die dem System auf der
Seite des Lesezugriffs als Lesedaten übergeben werden.
Weitere Merkmale und Zweckmäßigkeiten der Erfindung ergeben sich aus
der Beschreibung eines Ausführungsbeispieles anhand der Figuren. Von
den Figuren zeigt
Fig. 1 ein Systemblockdiagramm einer allgemeinen Anwendungskonfiguration
eines Dual-Port-Speichers,
Fig. 2A ein Blockdiagramm eines Beispiels eines herkömmlichen
Dual-Port-Speichers,
Fig. 2B ein Diagramm, das eine Teilstruktur des Speicherzellenfeldes
von Fig. 2B darstellt,
Fig. 3A ein Blockdiagramm eines weiteren Beispiels eines
herkömmlichen Dual-Port-Speichers,
Fig. 3B ein Diagramm, das eine Teilstruktur des Speicherzellenfeldes
von Fig. 3B darstellt,
Fig. 4 ein Diagramm, das die Zustände der Lese- und Schreibdaten
darstellt, wenn im herkömmlichen Dual-Port-Speicher der
Fig. 3A ein Zugriffskonflikt auftritt,
Fig. 5 ein Blockdiagramm, das ein Beispiel eines herkömmlichen
Dual-Port-Speichers darstellt, der einen Schaltkreis für
die Schlichtung des Zugriffskonfliktes aufweist,
Fig. 6 ein Logikgatterdiagramm, das die Detailstruktur des
Ausgangsdaten-Steuerschaltkreises von Fig. 5 darstellt,
Fig. 7 ein Logikgatterdiagramm, das die Detailstruktur des
D-Flip-Flops 21b in Fig. 5 darstellt,
Fig. 8 ein Zeitdiagramm zur Erläuterung der Operation zum
Zeitpunkt des Zugriffskonfliktes im herkömmlichen Dual-
Port-Speicher von Fig. 5,
Fig. 9 ein Blockdiagramm, das die Struktur eines herkömmlichen
Multiportspeichers darstellt, der einen Schaltkreis zur
Schlichtung eines Zugriffskonfliktes aufweist,
Fig. 10 ein Blockdiagramm der Struktur einer Ausführungsform der
vorliegenden Erfindung,
Fig. 11 ein Logikschaltbild, das die Detailstruktur des Schaltkreises
zur Schlichtung eines Zugriffskonfliktes aus
Fig. 10 darstellt,
Fig. 12A ein Schaltbild, das die Detailstruktur des Leseoperations-
Steuerschaltkreises darstellt, der im Steuersignal-
Erzeugerschaltkreis der Fig. 10 enthalten ist,
Fig. 12B ein Schaltbild, das ein Beispiel der Struktur des
Schreiboperations-Steuerschaltkreises darstellt, der im
Steuersignal-Erzeugerschaltkreis der Fig. 10 enthalten
ist,
Fig. 12C ein Schaltbild, das ein weiteres Beispiel der Struktur des
Schreiboperations-Steuerschaltkreises darstellt, der im
Steuersignal-Erzeugerschaltkreis der Fig. 10 enthalten
ist,
Fig. 13 ein Zeitdiagramm zum Beschreiben der grundlegenden Lese-/
Schreiboperation der Ausführungsform von Fig. 10,
Fig. 14 ein Diagramm, das schematisch die Schreib-/Leseoperation
der Ausführungsform von Fig. 10 darstellt,
Fig. 15 ein Zeitdiagramm zur Erläuterung des Betriebes, wenn
zwischen dem Schreibzugriff auf der Seite des A-Ports und
einem Lesezugriff auf der Seite des B-Ports in der
Ausführungsform von Fig. 10 ein Konflikt auftritt,
Fig. 16 A ein schematisches Diagramm, das die Zugriffskonflikt-
Zeitabstimmung der vier Fälle von Fig. 15 darstellt,
Fig. 16B-16E Diagramme zur Darstellung des Datenflusses im A- und
B-Port in den vier Fällen der Fig. 15,
Fig. 17A-17I Diagramme zur Erläuterung des Operationszustandes des
Dual-Port-RAM entsprechend 1-9 der Fig. 15 und 16,
Fig. 18 ein Zeitdiagramm zur Erläuterung des Betriebs des
Schreiboperations-Steuerschaltkreises von Fig. 12B, wenn
zwischen einem Schreibzugriff auf der Seite des A-Ports
und einem Schreibzugriff auf der Seite des B-Ports
bezüglich derselben Speicherzelle ein Konflikt auftritt
und
Fig. 19 ein Zeitdiagramm zur Erläuterung der Operation des
Schreiboperation-Steuerschaltkreises von Fig. 12C, wenn
zwischen einem Schreibzugriff auf der Seite des A-Ports
und einem Schreibzugriff auf der Seite des B-Ports
bezüglich derselben Speicherzelle ein Konflikt auftritt.
Unter Bezugnahme auf die Figuren wird nun ein Dual-Port-RAM in Übereinstimmung
mit einer Ausführungsform der vorliegenden Erfindung beschrieben.
Es ist zu beachten, daß diese Erfindung nicht auf einen
Dual-Port-Speicher mit einem RAM beschränkt ist, sondern auch auf
Dual-Port-Speicher mit anderen Speicherarten anwendbar ist.
Fig. 10 zeigt ein Blockdiagramm der Struktur eines Dual-Port-RAM in
Übereinstimmung mit einer Ausführungsform der Erfindung. Ein Dual-
Port-RAM 50 weist ein Speicherzellenfeld 100, Dekoder 9a und 9b und
Leseverstärker 14a, 14b auf. Das Speicherzellenfeld 100, die Dekoder
9a und 9b sowie die Leseverstärker 14a und 14b weisen Strukturen
auf, die den in den Fig. 3A und 3B gezeigten ähnlich sind.
Der Dual-Port-RAM 50 weist ferner einen Zugriffskonflikt-Erfassungsschaltkreis
51 und einen Steuersignal-Erzeugerschaltkreis 52 auf.
Der Zugriffskonflikt-Erfassungsschaltkreis 51 empfängt von der CPU 6
des A-Systems A-Port-Adreßdaten A(A) und von der CPU 7 des B-Systems
B-Port-Adreßdaten A(B) und ermittelt, ob zwischen dem A- und dem B-
System ein Zugriffskonflikt auftritt. Der Steuersignal-Erzeugerschaltkreis
52 erzeugt in Übereinstimmung mit einem Zugriffskonflikt-
Erfassungssignal S1, das vom Zugriffskonflikt-Erfassungsschaltkreis
51 zugeführt wird, von der CPU 6 angelegten A-Port-Steuerdaten
und von der CPU 7 angelegten B-Port-Steuerdaten ein Steuersignal
für den A-Port und ein Steuersignal für den B-Port. Die A-
Port-Steuerdaten weisen ein Schreibsteuersignal (A), ein Definitionssignal
*(A) für die erlaubte Periode der Schreiboperation und
ein Lesesteuersignal (A), die B-Port-Steuerdaten ein Schreibsteuersignal
(B), ein Definitionssignal *(B) für die erlaubte Periode
der Schreiboperation und ein Lesesteuersignal (B) auf. Das im Steuersignal-
Erzeugerschaltkreis 52 erzeugte Steuersignal für den A-Port
weist ein Schaltsteuersignal SEL(A), ein Definitionssignal W(A) für
den externen Schreibzyklus, ein Definitionssignal WE(A) für den internen
Schreibzyklus, ein Lesedatenausgabe-Steuersignal R(A) und ein
Lesedateneinlese-Steuersignal RE(A), das Steuersignal für den B-Port
ein Schaltsteuersignal SEL(B), ein Definitionssignal W(B) für den
externen Schreibzyklus, ein Definitionssignal WE(B) für den internen
Schreibzyklus, ein Lesedatenausgabe-Steuersignal R(B) und ein
Lesedateneinlese-Steuersignal RE(B) auf.
Der Dual-Port-RAM 50 weist ferner Schreibdatenverriegelungen 53a,
53b und Lesedatenverriegelungen 54a, 54b auf. Die Schreibdatenverriegelung
53a hält Schreibdaten von der Seite des A-Ports, die
Schreibdatenverrriegelung 53b Schreibdaten von der Seite des B-Ports.
Ferner hält die Lesedatenverriegelung 54a Lesedaten von der Seite
des A-Ports, die Lesedatenverriegelung 54b Lesedaten von der Seite
des B-Ports.
Der Dual-Port-RAM 50 weist ferner Schalter 55a-57a, 55b-57b, Auswahlschalter 58a, 58b und Drei-Zustands-Puffer 59a, 59b auf. Die
Schalter 55a-57a, 55b-57b bestehen beispielsweise jeweils aus einer
Transistoreinrichtung. Die Auswahlschalter 58a, 58b sind beispielsweise
parallel geschaltet und bestehen aus zwei Transistoreinrichtungen,
die komplementär zueinander arbeiten. Der Schalter 55a befindet
sich zwischen einem Systembus 2 und der Schreibdatenverriegelung
53a, der Schalter 55b zwischen einem Systembus 4 und der
Schreibdatenverriegelung 53b. Der Durchschalt-/Sperrzustand dieser
Schalter 55a, 55b wird von den Definitionssignalen W(A) bzw. W(B)
des externen Schreibzyklus definiert. Der Schalter 56a befindet sich
zwischen der Schreibdatenverriegelung 53a und dem Leserverstärker
14a, der Schalter 56b zwischen der Schreibdatenverriegelung 53b und
dem Leseverstärker 54b. Die Schalter 56a, 56b sind Durchschalt-/
Sperrschalter und werden von den Definitionssignalen W(EA) bzw.
W(EB) des internen Schreibzyklus gesteuert. Der Auswahlschalter 58a
wählt entweder das Ausgangssignal des Leseverstärkers 14a oder das
Ausgangssignal der Schreibdatenverriegelung 53b aus und legt das
ausgewählte Ausgangssignal an die Lesedatenverriegelung 54a an. Der
Auswahlschalter 58b wählt entweder das Ausgangssignal des Leseverstärkers
14b oder das Ausgangssignal der Schreibdatenverriegelung
53a aus und legt das ausgewählte Ausgangssignal an die Lesedatenverriegelung
54b an. Die Schaltstellungen der Auswahlschalter 58a, 58b
werden von den Schaltsteuersignalen SEL(A) bzw. SEL(B) gesteuert.
Der Schalter 57a befindet sich zwischen dem Auswahlschalter 58a und
der Lesedatenverriegelung 54a, der Schalter 57a zwischen dem Auswahlschalter
58b und der Lesedatenverriegelung 54b. Der Durchschalt-/
Sperrzustand der Schalter 57a, 57b wird von den Lesedateneinlese-
Steuersignalen RE(A) bzw. RE(B) gesteuert. Der Drei-Zustands-Puffer
59a befindet sich zwischen der Lesedatenverriegelung 54a und dem
Systembus 2, der Drei-Zustands-Puffer 59b zwischen der Lesedatenverriegelung
54b und dem Systembus 4. Die Durchschalt-/Sperrzustände
der Drei-Zustands-Puffer 59a, 59b werden von den Lesedatenausgabe-
Steuersignalen R(A) bzw. R(B) gesteuert. Der Systembus 2 ist mit der
CPU 6 auf der Seite des A-Systems, der Systembus mit der CPU 7 auf
der Seite des B-Systems verbunden.
Fig. 11 stellt ein Logikgatterdiagramm dar, das die Detailstruktur
des Zugriffskonflikt-Erfassungsschaltkreises 51 der Fig. 10 zeigt.
Der Zugriffskonflikt-Erfassungsschaltkreis 51 weist Exklusiv-NOR-
Gatter 60₀-60 n und ein UND-Gatter 61 auf. Die Exklusiv-NOR-Gatter
60₀-60 n erfassen, ob die Logik der jeweiligen Adreßsignale A0(A)-
An(A), die im A-Port-Adreßsignal enthalten sind, mit der Logik der
jeweiligen Adreßsignale A0(B)-An(B), die im B-Port-Adreßsignal enthalten
sind, übereinstimmt. Das UND-Gatter 61 ermittelt, ob die A-
Port-Adreßdaten A(A) mit den B-Port-Adreßdaten A(B) als Ganzes übereinstimmen,
indem das logische Produkt der Ausgangssignale der Exklusiv-
NOR-Gatter 60₀-60 n bestimmt wird. Das UND-Gatter 61 stellt
nur dann ein Signal mit H-Pegel bereit, wenn die A-Port-Adreßdaten
A(A) vollständig mit den B-Port-Adreßdaten A(B) übereinstimmen.
Der Steuersignal-Erzeugerschaltkreis 52 der Fig. 10 weist einen Leseoperations-
Steuerschaltkreis, um Steuersignale zum Steuern der Leseoperation
des A- und B-Ports zu erzeugen, und einen Schreiboperations-
Steuerschaltkreis, um Steuersignale zum Steuern der Schreiboperation
des A- und B-Ports zu erzeugen, auf.
Fig. 12 zeigt ein Blockdiagramm der Konfiguration des oben angeführten
Leseoperations-Steuerschaltkreises, der im Steuersignal-Erzeugerschaltkreis
52 enthalten ist. Der Leseoperations-Steuerschaltkreis
weist einen Leseoperations-Steuerschaltkreis 63a der Seite des
A-Ports und einen Leseoperations-Steuerschaltkreis 63b der Seite des
B-Ports auf. Der Leseoperations-Steuerschaltkreis 63a der Seite des
A-Ports und der Leseoperations-Steuerschaltkreis 63b der Seite des
B-Ports besitzen ähnliche Strukturen, wie in der Figur dargestellt
ist. Es unterscheiden sich nur das angelegte Signal und das
erzeugende Signal, die Schaltkreisstruktur ist dieselbe. Daher werden
die einander entsprechenden Abschnitte durch dieselben Bezugszeichen
bezeichnet, wobei den Bezugszeichen für den Schaltkreis auf
der Seite des A-Ports ein "a" und den Bezugszeichen für den Schaltkreis
auf der Seite des B-Ports ein "b" angehängt wird. Im folgenden
wird die Struktur des Leseoperations-Steuerschaltkreises 63a auf der
Seite des A-Ports beschrieben.
Der Leseoperations-Steuerschaltkreis 63a auf der Seite des A-Ports
von Fig. 12A wird durch UND-Gatter 64a-67a, ein ODER-Gatter 69a,
einen Inverter 70a, Abfallerfassungsschaltkreise 71a, 72a zum Erfassen
des Abfalls des Eingangssignals, Anstiegserfassungsschaltkreise
73a, 74a zum Erfassen des Anstiegs des Eingangssignals und RS-Flip-
Flops 75a, 76a mit Priorität des Setzeinganges implementiert. Die
Abfallerfassungsschaltkreise 71a, 72a geben als Reaktion auf den Abfall
des Eingangssignals einen Einzelimpuls mit H-Pegel aus. Sie
sind z. B. aus einem Einzelimpulsmultivibrator gebildet, der in Abhängigkeit
von einem Signalabfall betreibbar ist. Die Anstiegserfassungsschaltkreise
73a, 74a geben als Reaktion auf den Anstieg des
Eingangssignals einen Einzelimpuls mit H-Pegel aus. Sie sind z. B.
aus einem Einzelimpulsmultivibrator gebildet, der in Abhängigkeit
von einem Signalanstieg betreibbar ist. Das UND-Gatter 64a empfängt
an einem Eingang ein invertiertes Signal des Schreibsteuersignals
(B) und am anderen Eingang ein Zugriffskonflikt-Erfassungssignal S1
vom Zugriffskonflikt-Erfassungsschaltkreis 51. Das Ausgangssignal
des UND-Gatters 64a wird sowohl an einen Eingang des UND-Gatters 65a
als auch an den Abfallerfassungsschaltkreis 72a angelegt. Das Ausgangssignal
des UND-Gatters 65 wird dem Einstellanschluß des RS-
Flip-Flops 75a zugeführt. Das Ausgangssignal des Abfallerfassungsschaltkreises
72a wird an einen Eingang des UND-Gatters 66a, das Lesesteuersignal
(A) an den Abfallerfassungsschaltkreis 71a, den Anstiegserfassungsschaltkreis
73a und den Inverter 70a angelegt. Das
Ausgangssignal des Abfallerfassungsschaltkreises 71a wird sowohl dem
anderen Eingang des UND-Gatters 65a als auch dem Einstelleingang des
RS-Flip-Flops 76a zugeführt. Das Ausgangssignal des Anstiegserfassungsschaltkreises
73a wird sowohl an den Rückstelleingang des RS-
Flip-Flops 75a als auch an den ersten Eingang des ODER-Gatters 69a
angelegt. Das Ausgangssignal des Inverters 71a wird als Lesedatenausgabe-
Steuersignal R(A) bereitgestellt. Das Definitionssignal (B)
für die erlaubte Periode der Schreiboperation wird an den Anstiegserfassungsschaltkreis
74a und das Ausgangssignal des Anstiegserfassungsschaltkreises
74a an einen Eingang des UND-Gatters
67a angelegt. Das Q-Ausgangssignal des RS-Flip-Flops 75a wird als
Schaltsteuersignal SEL(A) bereitgestellt und an den anderen Eingang
des UND-Gatters 67a angelegt. Das Q-Ausgangssignal des RS-Flip-Flops
75a wird invertiert und das invertierte Ausgangssignal dem anderen
Eingang des UND-Gatters 66a zugeführt. Das Ausgangssignal des UND-
Gatters 66a wird an den zweiten Eingang des ODER-Gatters 69a, das
Ausgangssignal des UND-Gatters 67a an den dritten Eingang des ODER-
Gatters 69a angelegt. Das Ausgangssignal des ODER-Gatters 69a wird
dem Rückstelleingang des RS-Flip-Flops 76a zugeführt und das Q-Ausgangssignal
des RS-Flip-Flops 76a als Lesedateneinlese-Steuersignal
RE(A) bereitgestellt.
Unter Betrachtung des oben angeführten Schreiboperations-Steuerschaltkreises,
der im Steuersignal-Erzeugerschaltkreis 52 der Fig. 10
enthalten ist, werden nun Beispiele zweier Schaltkreise beschrieben.
Genauer gesagt handelt es sich um die in den Fig. 12B und 12C
gezeigten Schreiboperations-Steuerschaltkreise. Der Schreiboperations-
Steuerschaltkreis der Fig. 12B stellt einen Typ dar, bei dem ein
später erzeugter Schreibzugriff Priorität genießt, wenn ein Konflikt
zwischen einem Schreibzugriff auf der Seite des A-Ports und einem
Schreibzugriff auf der Seite des B-Ports auftritt. Der Schreiboperations-
Steuerschaltkreis von Fig. 12C stellt einen Typ dar, bei dem
der Zugriff einer vorbestimmten Seite stets Priorität besitzt (in
Fig. 12C der Schreibzugriff der Seite des A-Ports), wenn ein Konflikt
zwischen einem Schreibzugriff auf der Seite des A-Ports und
einem Schreibzugriff auf der Seite des B-Ports auftritt.
Nun wird die Struktur des Schreiboperations-Steuerschaltkreises der
Fig. 12B beschrieben. Die Schreibsteuersignale (A), (B) werden an
die Inverter 81a bzw. 81b angelegt. Die Ausgangssignale der Inverter
81a, 81b werden als Definitionssignale W(A) bzw. W(B) des externen
Schreibzyklus bereitgestellt und an die Abfallerfassungsschaltkreise
82a bzw. 82b angelegt. Die Abfallerfassungsschaltkreise 82a, 82b geben
als Reaktion auf den Abfall des Eingangssignals einen Einzelimpuls
mit H-Pegel aus. Sie sind z. B. als Einzelimpulsmultivibrator,
der von einem Signalabfall abhängig ist, gebildet. Das Ausgangssignal
des Abfallerfassungsschaltkreises 82a wird dem Eingang des RS-
Flip-Flops 83a mit Priorität des Setzeinganges zugeführt. Das Ausgangssignal
des Abfallerfassungsschaltkreises 82b wird an den Einstelleingang
des RS-Flip-Flops 83b mit Priorität des Rückstelleingangs
angelegt. Das Zugriffskonflikt-Erfassungssignal S1 vom Zugriffskonflikt-
Erfassungsschaltkreis 51 wird an die jeweiligen einen
Eingänge der UND-Gatter 84a, 84b, das Q-Ausgangssignal des RS-Flip-
Flops 83b an den anderen Eingang des UND-Gatters 84a und das Q-Ausgangssignal
des RS-Flip-Flops 83a an den anderen Eingang des UND-
Gatters 84b angelegt. Die Ausgangssignale der UND-Gatter 84a, 84b
werden den Anstiegserfassungsschaltkreisen 85a bzw. 85b zugeführt.
Die Anstiegserfassungsschaltkreise 85a, 85b geben als Reaktion auf
einen Anstieg des Eingangssignals einen Einzelimpuls mit H-Pegel
aus. Sie bestehen z. B. aus einem Einzelimpulsmultivibrator, der von
einem Signalanstieg abhängig ist. Die Ausgangssignale der Anstiegserfassungsschaltkreise
85a, 85b werden den Eingängen der ODER-
Gatter 86a, 86b zugeführt. Die Definitionssignale *(A), *(B) für die
erlaubte Periode der Leseoperation werden an die anderen Eingänge
der ODER-Gatter 86a, 86b, die Ausgangssignale der ODER-Gatter 86a,
86b an die jeweiligen Rückstelleingänge der RS-Flip-Flops 83a, 83b
angelegt. Das Q-Ausgangssignal des RS-Flip-Flops 83a wird als Definitionssignal
WE(A) für den internen Schreibzyklus und das Q-Ausgangssignal
des RS-Flip-Flops 83b als Definitionssignal WE(B) des
internen Schreibzyklus bereitgestellt.
Im folgenden wird die Struktur des Schreiboperations-Steuerschaltkreises
der Fig. 12C beschrieben. Der Schreiboperations-Steuerschaltkreis
der Fig. 12C weist ähnlich wie der Schreiboperations-
Steuerschaltkreis der Fig. 12B Inverter 81a, 81b, Abfallerfassungsschaltkreise
82a, 82b, RS-Flip-Flops 83a, 83b und ein ODER-Gatter
86b auf. Es wird jedoch das Definitionssignal *(A) der erlaubten Periode
für die Schreiboperation direkt an den Rückstelleingang des
RS-Flip-Flops 83a angelegt. Ferner wird auch das Definitionssignal
*(B) für die erlaubte Periode der Leseoperation direkt an einen Eingang
des ODER-Gatters 86b angelegt. Der Q-Ausgang des RS-Flip-Flops
83a wird einem Eingang des UND-Gatters 87 zugeführt, während das Zugriffskonflikt-
Erfassungssignal S1 vom Zugriffskonflikt-Erfassungsschaltkreis
51 an den anderen Eingang des UND-Gatters 87 angelegt
wird.
Fig. 13 zeigt ein Zeitdiagramm zur Erläuterung der allgemeinen Operation
der in den Fig. 10-12C gezeigten Ausführungsform. Unter Bezugnahme
auf die Fig. 13 wird nun die Schreib-/Leseoperation der
Seite des A-Ports in einem Fall beschrieben, bei dem kein Zugriffskonflikt
auftritt. Es sei bemerkt, daß die Schreib-/Leseoperation
der Seite des B-Ports in gleicher Weise ausgeführt wird.
Zuerst wird die allgemeine Schreiboperation der Seite des A-Ports
beschrieben. Während des Schreibens empfängt der Dual-Port-RAM 50 A-
Port-Adreßdaten A(A) von der CPU 6, ein Schreibsteuersignal (A),
ein Definitionssignal *(A) der erlaubten Periode für die Schreiboperation
und Schreibdaten über den Systembus. In allgemeinen Speichereinrichtungen
werden Schreibdaten während der Periode in eine
Speicherzelle geschrieben, in der sich das Schreibsteuersignal (A)
auf dem L-Pegel befindet. Im Dual-Port-RAM 50 der Fig. 10 wird die
L-Pegel-Periode des Schreibsteuersignals (A) der Einleseperiode der
Schreibdaten zugewiesen, so daß die praktische Ausführung des
Schreibens in eine Speicherzelle innerhalb einer vorbestimmten Zeitspanne
nach der Einleseperiode der Schreibdaten ausgeführt wird. Zu
diesem Zweck wird das Definitionssignal *(A) für die erlaubte Periode
der Schreiboperation verwendet. Dieses Definitionssignal *(A)
für die erlaubte Periode der Schreiboperation stellt ein Signal dar,
dessen Impuls breiter als das Schreibsteuersignal (A) ist. Die
Zeitspanne vom Anstieg des Schreibsteuersignals (A) bis zum Anstieg
des Definitionssignals *(A) für die erlaubte Periode der Schreiboperation
wird der Schreibperiode der Daten in die Speicherzelle zugewiesen.
Während dieser Periode ist das Schreiben von Daten in die
ausgewählte Speicherzelle möglich, da die A-Port-Adreßdaten A(A) immer
noch anliegen. Ein solches Definitionssignal *(A) für die erlaubte
Periode der Schreiboperation wird z. B. unter Verwendung eines
Systemtaktsignals extern erzeugt. Ferner kann auch ein Taktsignal,
wie beispielsweise ein Adreßverriegelungs-Aktivierungssignal, als
Definitionssignal *(A) für die erlaubte Periode der Schreiboperation
benutzt werden. Das Definitionssignal (A) für den externen
Schreibzyklus, das das invertierte Signal des Schreibsteuersignals
(A) darstellt, wird während der Zeitspanne, in der sich das
Schreibsteuersignal (A) auf dem L-Pegel befindet, auf den H-Pegel
gebracht. Befindet sich das Definitionssignal (A) für den externen
Schreibzyklus auf dem H-Pegel, schaltet der Schalter 55a durch, so
daß die Schreibdaten von der CPU 6 in die Schreibdatenverriegelung
53a eingelesen und gehalten werden. Da die Zeitspanne, während der
sich das Schreibsteuersignal (A) auf dem L-Pegel befindet (d. h.
wenn das Definitionssignal W(A) für den externen Schreibzyklus auf
dem H-Pegel liegt), den Schreibzyklus von der Seite der CPU 6 aus
gesehen darstellt, wird diese Zeitspanne im weiteren als externer
Schreibzyklus bezeichnet. Das Definitionssignal WE(A) für den internen
Schreibzyklus befindet sich während der Zeitspanne vom Anstieg
des Schreibsteuersignals (A) bis zum Anstieg des Definitionssignals
*(A) für die erlaubte Periode der Schreiboperation auf dem H-Pegel.
Dies ergibt sich aus der Tatsache, daß das RS-Flip-Flop 83a der Fig.
12B und 12C als Reaktion auf den Anstieg des Schreibsteuersignals
(A) gesetzt (der Q-Ausgang auf den H-Pegel gebracht) und als Reaktion
auf den Anstieg des Definitionssignals *(A) für die erlaubte
Periode der Schreiboperation zurückgestellt (der Q-Ausgang auf den
L-Pegel gebracht) wird. Befindet sich das Definitionssignal WE(A)
für den internen Schreibzyklus auf dem L-Pegel, so wird der Schalter
56a durchgeschaltet, um die in der Schreibdatenverriegelung 53a gehaltenen
Schreibdaten dem Leseverstärker 14a zuzuführen. Diese Daten
werden in die ausgewählte Speicherzelle des Speicherzellenfeldes 10
geschrieben. Damit ist im Inneren des Dual-Port-RAM 50 die Zeitspanne
des H-Pegels des Definitionssignals (A) des internen
Schreibzyklus der tatsächliche Schreibzyklus in eine Speicherzelle.
Daher wird die Periode, während der sich das Definitionssignal WE(A)
des internen Schreibzyklus auf dem H-Pegel befindet, im weiteren als
interner Schreibzyklus bezeichnet.
Nun wird die allgemeine Leseoperation der Seite des A-Ports beschrieben.
Während des Lesens empfängt der Dual-Port-RAM 50 A-Port-
Adreßdaten A(A) und ein Lesesteuersignal (A) von der CPU 6 über den
Systembus 2. Da zu diesem Zeitpunkt kein Zugriffskonflikt auftritt,
befindet sich das Zugriffskonflikt-Erfassungssignal S1 vom Zugriffskonflikt-
Erfassungsschaltkreis 51 auf dem L-Pegel. Daher liegt der
Ausgang des UND-Gatters 64a im Leseoperations-Steuerschaltkreis 63
der Fig. 12A auf dem L-Pegel. Selbst wenn das Lesesteuersignal (A)
abfällt und vom Abfallerfassungsschaltkreis 71a ein Einzelimpuls mit
H-Pegel ausgegeben wird, kann dieser Einzelimpuls folglich das UND-
Gatter 65a nicht durchlaufen. Das RS-Flip-Flop 74a wird nicht gesetzt
und dessen Q-Ausgang, d. h. das Schaltsteuersignal SEL(A), wird
auf dem L-Pegel gehalten. Als Reaktion hierauf wählt der Auswahlschalter
58a das Ausgangssignal des Leseverstärkers 14a aus. Ferner
wird das RS-Flip-Flop 76a als Reaktion auf den Abfall des Lesesteuersignals
(A) gesetzt. Entsprechend befindet sich der Q-Ausgang des
RS-Flip-Flops 76a, d. h. das Lesedateneinlese-Steuersignal RE(A) während
der Zeitspanne, in der das Lesesteuersignal (A) auf dem L-Pegel
liegt, auf dem H-Pegel. Befindet sich das Lesedateneinlese-Steuersignal
RE(A) auf dem H-Pegel, so schaltet der Schalter 57a durch,
um das Ausgangssignal des Leseverstärkers 14a über den Schalter 57a
an die Lesedatenverriegelung 54a anzulegen. Daher hält die Lesedatenverriegelung
54a das Ausgangssignal des Leseverstärkers 14a, d. h.
die aus der ausgewählten Speicherzelle des Feldes 100 gelesenen Daten.
Da das Lesedatenausgabe-Steuersignal R(A) das invertierte Signal des
Lesesteuersignals (A) darstellt, befindet sich das Lesedatenausgabe-
Steuersignal R(A) während der Zeitspanne, in der das Lesesteuersignal
(A) auf dem L-Pegel liegt, auf dem H-Pegel. Befindet sich
das Lesedatenausgabe-Steuersignal R(A) auf dem H-Pegel, so wird der
Drei-Zustands-Puffer 59a in einen leitenden Zustand geschaltet, um
die in der Lesedatenverriegelung 54a gehaltenen Lesedaten über den
Systembus 2 zur CPU 6 auszugeben. Ähnlich wie bei der oben angeführten
Schreiboperation wird bei der Leseoperation der Lesezyklus, wie
er von der CPU 6 aus gesehen wird (definiert durch die L-Pegel-Periode
des Lesesteuersignals (A)), als externer Lesezyklus und der Lesezyklus
im Inneren des Dual-Port-RAM 50 (definiert durch die H-Pegel-
Periode des Lesedateneinlese-Steuersignals RE(A)) als interner
Lesezyklus bezeichnet. Die oben beschriebene allgemeine Schreib-/
Leseoperation wird auf der Seite des B-Ports in identischer Weise
ausgeführt.
Aus der oben angeführten Beschreibung ergibt sich, daß der Dual-
Port-RAM 50 wie in Fig. 14 dargestellt arbeitet. Die gesamte Schreiboperation
(Schreibzyklus) wird in die erste Hälfte des externen
Schreibzyklus mit der Zeitperiode T1 und die spätere Hälfte des internen
Schreibzyklus mit der Zeitperiode T2 unterteilt. Während des
externen Schreibzyklus wird das Einlesen der Schreibdaten von der
CPU 6 ausgeführt. Während des internen Schreibzyklus erfolgt das
tatsächliche Schreiben in die ausgewählte Speicherzelle. Bei der Leseoperation
fällt der externe Lesezyklus mit dem internen Lesezyklus
zusammen. Mit anderen Worten wird die Leseoperation von der CPU in
Echtzeit mit der Leseoperation aus der Speicherzelle ausgeführt.
Fig. 15 zeigt ein Zeitdiagramm zur Erläuterung der Operation, wenn
zwischen einem Schreibzugriff auf der Seite des A-Ports und einem
Lesezugriff auf der Seite des B-Ports bezüglich derselben Speicherzelle
ein Zugriffskonflikt auftritt. Unter Bezugnahme auf die Fig. 15
wird nun der Betrieb der Ausführungsform der Fig. 10-12C beschrieben,
wenn der oben angeführte Zugriffskonflikt auftritt. Fig. 15
zeigt die Taktsignale für die vier Fälle des Zugriffskonfliktes.
Fig. 16A ist zur Verdeutlichtung angegeben, in der Fall 1 von (a)
zeigt, daß der Lesezyklus des B-Ports vor dem internen Schreibzyklus
des A-Ports beginnt, wobei der Lesezyklus des B-Ports während des
externen Schreibzyklus des A-Ports endet. Fall 2 von (b) in Fig. 16A
zeigt, daß der Lesezyklus des B-Ports vor dem externen Schreibzyklus
des A-Ports beginnt und nach der Beendigung des internen Schreibzyklus
des A-Ports endet. Fall 3 von (c) in Fig. 16A legt dar, daß der
Lesezyklus des B-Ports während des exteren Schreibzyklus des A-
Ports beginnt und nach der Ausführung des internen Schreibzyklus des
B-Ports endet. Fall 4 von (d) in Fig. 16A zeigt, daß der Lesezyklus
des B-Ports während des internen Schreibzyklus des A-Ports beginnt
und nach der Beendigung des internen Schreibzyklus endet. Im folgenden
wird der Betrieb in den Fällen 1-4 beschrieben. In den Fig. 16B-
16E ist der Datenfluß im A- und B-Port in den Fällen 1-4 dargestellt.
Wird der Lesezyklus des B-Ports durch einen Abfall des Lesesteuersignals
(B) auf den L-Pegel gestartet, steigt das Lesedatenausgabe-
Steuersignal R(B), das das invertierte Signal des Lesesteuersignals
(B) darstellt, auf den H-Pegel an. Ferner wird im Leseoperations-
Steuerschaltkreis 63b auf der Seite des B-Ports (siehe Fig. 12A) vom
Abfallerfassungsschaltkreis 71b ein Einzelimpuls mit H-Pegel ausgegeben
und das RS-Flip-Flop 76b gesetzt. Dies bewirkt einen Anstieg
des Lesedateneinlese-Steuersignals RE(B) auf den H-Pegel. Da zu diesem
Zeitpunkt kein Zugriffskonflikt existiert, liegt das Zugriffskonflikt-
Erfassungssignal S1 vom Zugriffskonflikt-Erfassungsschaltkreis
51 auf dem L-Pegel. Das Schreibsteuersignal (A) befindet sich
auf dem H-Pegel. Daher liegt der Ausgang des UND-Gatters 64b auf dem
L-Pegel. Selbst wenn als Reaktion auf den Abfall des Lesesteuersignals
(B) ein Einzelimpuls mit H-Pegel vom Abfallerfassungsschaltkreis
71b ausgegeben wird, kann dieser Impuls das UND-Gatter 65b
nicht passieren. Damit wird das RS-Flip-Flop 75b nicht gesetzt und
das Schaltsteuersignal SEL(B) bleibt auf dem L-Pegel. Da das Lesedatenausgabe-
Steuersignal R(B) auf dem H-Pegel liegt, ist der Drei-
Zustands-Puffer 59b leitend. Ferner ist der Schalter 57b durchgeschaltet,
da sich das Lesedateneinlese-Steuersignal RE(B) auf dem H-
Pegel befindet. Außerdem wählt der Auswahlschalter 58b den Ausgang
des Leseverstärkers 14b aus, da sich das Schaltsteuersignal SEL(B)
auf dem L-Pegel befindet. Entsprechend ist der Betriebszustand des
Dual-Port-RAM 50 zu diesem Zeitpunkt der in Fig. 17A dargestellte.
Mit anderen Worten wird auf der Seite des A-Ports keine Operation
ausgeführt, da der Schreibzyklus noch nicht gestartet worden ist.
Demgegenüber werden auf der Seite des B-Ports die vom Leseverstärker
14b ausgegebenen Lesedaten über die Lesedatenverriegelung 54b dem
Systembus 4 zugeführt.
Fallen nun das Schreibsteuersignal (A) und das Definitionssignal
*(A) für die erlaubte Periode der Schreiboperation auf den L-Pegel
ab, so steigt das Definitionssignal W(A) für den externen Schreibzyklus,
das das invertierte Signal des Schreibsteuersignals (A) darstellt,
auf den H-Pegel an und der externe Schreibzyklus des A-Ports
beginnt. Im Schreiboperations-Steuerschaltkreis der Fig. 12B und 12C
wird vom Abfallerfassungsschaltkreis 82a zu diesem Zeitpunkt kein
Einzelimpuls ausgegeben und das RS-Flip-Flop 83a bleibt in einem
rückgestellten Zustand. Daher befindet sich das Definitionssignal
WE(A) des internen Schreibzyklus auf dem L-Pegel. Demgegenüber gibt
es keine Änderung im Betriebszustand des Leseoperations-Steuerschaltkreises
63b auf der Seite des B-Ports. Daher verbleiben das
Lesedatenausgabe-Steuersignal R(B) sowie das Lesedateneinlese-Steuersignal
RE(B) auf dem H-Pegel, während das Schaltsteuersignal
SEL(B) auf dem L-Pegel bleibt. Da sich das Definitionssignal W(A)
des externen Schreibzyklus auf dem H-Pegel befindet, wird der Schalter
55a auf der Seite des A-Ports neu durchgeschaltet. Daher befindet
sich der Betriebszustand des Dual-Port-RAM 50 zu diesem Zeitpunkt
im Zustand der Fig. 17B. Das bedeutet, daß die Schreibdaten
von der CPU 6 der Schreibdatenverriegelung 53a auf der Seite des
A-Ports zugeführt und gehalten werden. Demgegenüber tritt im Betriebszustand
auf der Seite des B-Ports keine Änderung auf und vom
Leseverstärker 14b ausgegebenen Lesedaten werden über die Lesedatenverriegelung
54b dem Systembus 4 zugeführt.
Wenn nun das Lesesteuersignal (B) ansteigt und der Lesezyklus des
B-Ports endet, fällt das Lesedatenausgabe-Steuersignal, das das invertierte
Signal des Lesesteuersignals (B) darstellt, ab. Ferner
wird im Leseoperations-Steuerschaltkreis 63b auf der Seite des B-
Ports vom Anstiegerfassungsschaltkreis 73b als Reaktion auf den Anstieg
des Lesesteuersignals R(B) ein Einzelimpuls mit H-Pegel ausgegeben.
Dieser Einzelimpuls durchläuft das ODER-Gatter 69b und wird
an den Rückstelleingang des RS-Flip-Flops 76b angelegt. Dies bewirkt,
daß das RS-Flip-Flop 76b zurückgesetzt wird. Entsprechend
fällt das Lesedateneinlese-Steuersignal RE(B) auf den L-Pegel ab.
Demgegenüber ändert sich der Betriebszustand im Schreiboperations-
Steuerschaltkreis der Fig. 12B und 12C nicht. Daher bleiben das Definitionssignal
W(A) für den externen Schreibzyklus auf dem H-Pegel
und das Definitionssignal WE(A) für den internen Schreibzyklus und
das Schaltsteuersignal SEL auf dem L-Pegel. Da das Lesedateneinlese-
Steuersignal RE(B) und das Lesedatenausgabe-Steuersignal R(B) auf
den L-Pegel abfallen, wird der Schalter 55b gesperrt und der Drei-
Zustands-Puffer 59b auf der Seite des B-Ports in einen nicht-leitenden
Zustand geschaltet. Daher ist der Betriebszustand des Dual-Port-
RAM 50 zu diesem Zeitpunkt der in von Fig. 17C dargestellte.
Dies bedeutet, daß der Betrieb auf der Seite des B-Ports angehalten
ist. Demgegenüber ändert sich der Betriebszustand auf der Seite des
A-Ports nicht und die Schreibdaten von der CPU 6 werden der Schreibdatenverriegelung
zugeführt und gehalten.
Steigt das Schreibsteuersignal (A) auf den H-Pegel an und fällt das
Definitionssignal W(A) für den externen Schreibzyklus, das dessen
invertiertes Signal darstellt, auf den L-Pegel ab, so endet der externe
Schreibzyklus des A-Ports. Als Reaktion auf den Abfall des Definitionssignals
W(A) des externen Schreibzyklus wird vom Abfallerfassungsschaltkreis
82a im Schreiboperations-Steuerschaltkreis der
Fig. 12B und 12C ein Einzelimpuls ausgegeben, um das RS-Flip-Flop
83a zu setzen. Dies bewirkt, daß das Definitionssignal WE(A) des internen
Schreibzyklus auf den H-Pegel ansteigt und der interne
Schreibzyklus des A-Ports beginnt. Demgegenüber ändert sich der Betriebszustand
des Leseoperations-Steuerschaltkreises 63b auf der
Seite des B-Ports nicht. Entsprechend behalten das Lesedateneinlese-
Steuersignal RE(B), das Lesedatenausgabe-Steuersignal SR(B) und
das Schaltsteuersignal SEL(B) jeweils den L-Pegel bei. Damit fällt
das Definitionssignal W(A) des externen Schreibzyklus auf den L-Pegel,
um den Schalter 55a zu sperren. Da das Definitionssignal WE(A)
für den internen Schreibzyklus auf den H-Pegel ansteigt, schaltet
der Schalter 56a durch. Damit ist der Betriebszustand des Dual-Port-
RAM 50 zu diesem Zeitpunkt der von in Fig. 17D gezeigte. Das bedeutet,
daß die in der Schreibdatenverriegelung 53a gehaltenen
Schreibdaten über den Schalter 56a dem Leseverstärker 14a zugeführt
und in die ausgewählte Speicherzelle des Speicherzellenfeldes 100
geschrieben werden. Demgegenüber tritt im Betriebszustand auf der
Seite des B-Ports keine Änderung auf und der Betrieb bleibt angehalten.
Beim Betrieb im Fall 1 werden die an den A-Port angelegten Schreibdaten
nicht sofort in eine Speicherzelle geschrieben, sondern zuerst
in der Schreibdatenverriegelung gehalten, während das Lesen und Ausgeben
von Daten auf der Seite des B-Ports während dieser Periode
ausgeführt werden. Beim Schreiben der in der Schreibdatenverriegelung
53a gehaltenen Schreibdaten in eine Speicherzelle wird die Ausgabeoperation
der Lesedaten im B-Port verhindert, so daß eine Undefiniertheit
der Lesedaten, die sich aus dem Konflikt zwischen einem
Schreib- und einem Lesezugriff ergibt, verhindert wird.
Zuerst beginnt der Lesezyklus des B-Ports, indem das Lesesteuersignal
(B) auf den L-Pegel fällt. Zu diesem Zeitpunkt ist der externe
Schreibzyklus auf der Seite des A-Ports noch nicht begonnen worden.
Daher ist der Betriebszustand des Dual-Port-RAM 50 zu diesem Zeitpunkt
der Zustand von in der oben angeführten Fig. 17A. Dies bedeutet,
daß die vom Leseverstärker 14b ausgegebenen Lesedaten über
die Lesedatenverriegelung 54b dem Systembus 4 zugeführt werden.
Als nächstes fallen das Schreibsteuersignal (A) und das Definitionssignal
*(A) für die erlaubte Periode der Schreiboperation auf
den L-Pegel und der externe Schreibzyklus des A-Ports beginnt. Zu
diesem Zeitpunkt befindet sich der B-Port in der Mitte des Lesezyklus.
Daher ist der Betriebszustand des Dual-Port-RAM 50 zu diesem
Zeitpunkt der Zustand von in der oben angeführten Fig. 17B. Das
bedeutet, daß auf der Seite des A-Ports die von der CPU 6 zugeführten
Schreibdaten an die Schreibdatenverriegelung 53a angelegt und
gehalten werden. Auf der Seite des B-Ports werden die vom Leseverstärker
14b ausgegebenen Lesedaten über die Lesedatenverriegelung
54b dem Systembus 3 zugeleitet.
Wenn als nächstes das Schreibsteuersignal (A) auf den H-Pegel ansteigt
und das Definitionssignal W(A) für den externen Schreibzyklus,
das das invertierte Signal hierzu darstellt, auf den L-Pegel
abfällt, ist der externe Schreibzyklus des A-Ports beendet. Ferner
wird als Reaktion auf den Abfall des Definitionssignals W(A) für den
externen Schreibzyklus vom Abfallerfassungsschaltkreis 82a im
Schreiboperations-Steuerschaltkreis der Fig. 12B und 12C ein Einzelimpuls
mit H-Pegel ausgegeben, um das RS-Flip-Flop 83a zu setzen.
Dies bewirkt einen Anstieg des Definitionssignals WE(A) für den internen
Schreibzyklus auf den H-Pegel, wodurch der interne Schreibzyklus
des A-Ports gestartet wird. Demgegenüber fällt im Leseoperations-
Steuerschaltkreis 63b auf der Seite des B-Ports das Ausgangssignal
des UND-Gatters 64b vom H- auf den L-Pegel ab. Dies ergibt sich
aus der Tatsache, daß der L-Pegel des Schreibsteuersignals (A) auf
den H-Pegel ansteigt und damit eine Eingang des UND-Gatters 64b auf
den L-Pegel gezogen wird, obwohl sich das Zugriffskonflikt-Erfassungssignal
S1 vom Zugriffskonflikt-Erfassungsschaltkreis 51 auf dem
H-Pegel befindet. Als Reaktion auf den Abfall des Ausgangssignals
vom UND-Gatter 64b wird vom Abfallerfassungsschaltkreis 72b ein Einzelimpuls
mit H-Pegel ausgegeben. Dieser Einzelimpuls wird an einen
Eingang des UND-Gatters 66b angelegt. Zu diesem Zeitpunkt wird das
invertierte Signal des Schaltsteuersignals SEL(B), d. h. ein Signal
mit H-Pegel, an den anderen Eingang des UND-Gatters 66b angelegt.
Entsprechend durchläuft der Einzelimpuls vom Abfallerfassungsschaltkreis
72b das UND-Gatter 66b und wird über das ODER-Gatter 69b dem
Rückstelleingang des RS-Flip-Flops 76b zugeführt. Hierdurch wird das
RS-Flip-Flop 76b zurückgestellt und das Lesedateneinlese-Steuersignal
RW(B) auf den L-Pegel gezogen. Das Lesedatenausgabe-Steuersignal
R(B) behält den H-Pegel und das Schaltsteuersignal SEL(B) den
L-Pegel bei. Damit wird der Schalter 55a in einen gesperrten Zustand
gebracht, da das Definitionssignal W(A) für den externen Schreibzyklus
auf den L-Pegel gezogen wird. Ferner wird der Schalter 56a
durchgeschaltet, da das Definitionssignal WE(A) für den internen
Schreibzyklus auf den H-Pegel gebracht wird. Darüber hinaus wird der
Schalter 57b gesperrt, da das Lesedateneinlese-Steuersignal RE(B)
auf den L-Pegel gebracht wird. Daher ist der Betriebszustand des
Dual-Port-RAM 50 zu diesem Zeitpunkt der als in Fig. 17E dargestellte
Zustand. Dies bedeutet, daß auf der Seite des A-Ports die in
der Schreibdatenverriegelung 53a gehaltenen Schreibdaten über den
Schalter 56a dem Leseverstärker 14 zugeführt werden, um in die ausgewählte
Speicherzelle geschrieben zu werden. Demgegenüber werden
auf der Seite des B-Ports die in der Lesedatenverriegelung 54b gehaltenen
Lesedaten über den Drei-Zustands-Puffer 59b dem Systembus 4
zugeführt.
Wenn als nächstes das Definitionssignal *(A) für die erlaubte Periode
der Schreiboperation auf den H-Pegel ansteigt, wird das RS-Flip-
Flop im Schreiboperations-Steuerschaltkreis der Fig. 12B und 12C zurückgestellt
und das Definitionssignal WE(A) für den internen
Schreibzyklus fällt auf den L-Pegel, um den internen Schreibzyklus
des A-Ports zu beenden. Demgegenüber findet im Leseoperations-Steuerschaltkreis
63b auf der Seite des B-Ports keine Veränderung des
Betriebszustandes statt. Daher behalten das Schaltsteuersignal
SEL(B) und das Lesedateneinlese-Steuersignal RE(B) den L-Pegel bei,
wohingegen das Lesedatenausgabe-Steuersignal R(B) den H-Pegel beibehält.
Damit wird der Schalter 56a gesperrt, das das Definitionssignal
WE(A) des internen Schreibzyklus auf den L-Pegel gebracht wird.
Daher ist der Betriebszustand des Dual-Port-RAM 50 zu diesem Zeitpunkt
der Zustand von in Fig. 17F. Dies bedeutet, daß der Betrieb
auf der Seite des A-Ports vollständig angehalten ist. Demgegenüber
findet im Betriebszustand auf der Seite des B-Ports keine Änderung
statt und die in der Lesedatenverriegelung 54b gehaltenen Lesedaten
werden über den Drei-Zustands-Puffer 59b dem Systembus 4 zugeführt.
Damit wird im Fall 2 eine Undefiniertheit der Lesedaten, die bei einem
Konflikt zwischen einem Schreib- und einem Lesezugriff auftritt,
verhindert, indem selbst während des Schreibzyklus des A-Ports die
in der Lesedatenverriegelung 54b gehaltenen Lesedaten zum Zeitpunkt
des Beginns des Lesezyklus dem Systembus 4 zugeführt werden.
Zuerst fallen das Schreibsteuersignal (A) und das Definitionssignal
*(A) für die erlaubte Periode der Schreiboperation auf den L-Pegel
ab. Als Reaktion steigt das Definitionssignal (A) für den externen
Schreibzyklus, das das invertierte Signal des Schreibsteuersignals
(A) ist, an, um den externen Schreibzyklus des A-Ports zu starten.
Zu diesem Zeitpunkt ist der Lesezyklus des B-Ports noch nicht begonnen
worden. Dieser Zustand ist ähnlich dem Zustand des oben angeführten
Falles 1, bei dem der Lesezyklus des B-Ports während des externen
Schreibzyklus des A-Ports endet. Daher ist der Betriebszustand
des Dual-Port-RAM 50 zu diesem Zeitpunkt der Zustand in
der oben angeführten Fig. 17C. Dies bedeutet, daß auf der Seite des
A-Ports die von der CPU 6 angelegten Schreibdaten über den Schalter
55a der Schreibdatenverriegelung 53a zugeführt und gehalten werden.
Demgegenüber wird auf der Seite des B-Ports keine Operation ausgeführt,
da der Lesezyklus noch nicht begonnen hat.
Wenn das Lesesteuersignal (B) auf den L-Pegel abfällt, steigt das
Lesedatenausgabe-Steuersignal R(B), das dessen invertiertes Signal
darstellt, auf den H-Pegel an, um den Lesezyklus des B-Ports zu
starten. Zu diesem Zeitpunkt befinden sich die beiden Eingänge des
UND-Gatters 64b im Leseoperations-Steuerschaltkreis 63b auf der
Seite des B-Ports auf dem H-Pegel und das Ausgangssignal des UND-
Gatters 64b liegt damit ebenfalls auf dem H-Pegel.
Wird als Reaktion auf den Abfall des Lesesteuersignals (B) vom Abfallerfassungsschaltkreis
71b ein Einzelimpuls ausgegeben, so läuft
dieser Impuls folglich durch das UND-Gatter 65b durch und setzt das
RS-Flip-Flop 75b. Daher steigt das Schaltsteuersignal SEL(B) auf den
H-Pegel an. Ferner setzt der vom Abfallerfassungsschaltkreis 71b
ausgegebene Einzelimpuls auch das RS-Flip-Flop 76b. Entsprechend
steigt auch das Lesedateneinlese-Steuersignal RE(B) auf den H-Pegel
an. Demgegenüber findet im Schreiboperations-Steuerschaltkreis der
Fig. 12B und 12C keine Änderung des Betriebszustandes statt. Daher
behält das Definitionssignal W(A) für den externen Schreibzyklus den
H-Pegel und das Definitionssignal WE(A) für den internen Schreibzyklus
den L-Pegel bei. Damit wählt der Auswahlschalter 58b das Ausgangssignal
der Schreibdatenverriegelung 53a aus, da das Schaltsteuersignal
SEL(B) auf den H-Pegel gezogen wird. Ferner schaltet auch
der Schalter 57b durch, da sich das Lesedateneinlese-Steuersignal
RE(B) auf dem H-Pegel befindet. Darüber hinaus wird auch der Drei-
Zustands-Puffer 59 in einen leitenden Zustand gebracht, da sich das
Lesedatenausgabe-Steuersignal R(B) auf dem H-Pegel befindet. Daher
ist der Betriebszustand des Dual-Port-RAM 50 zu diesem Zeitpunkt der
Zustand in Fig. 17G. Dies bedeutet, daß auf der Seite des A-
Ports keine Änderung des Betriebszustandes stattfindet und die von
der CPU 6 angelegten Schreibdaten werden über den Schalter 55a der
Schreibdatenverriegelung 53a zugeführt und gehalten. Demgegenüber
werden auf der Seite des B-Ports die in der Schreibdatenverriegelung
53a auf der Seite des A-Ports gehaltenen Daten über den Auswahlschalter
58b und den Schalter 57b der Lesedatenverriegelung 54b zugeführt
und gehalten. Die gehaltenen Daten der Lesedatenverriegelung
54b werden dem Systembus 4 über den Drei-Zustands-Puffer als Lesedaten
übergeben. Dies bedeutet, daß die auf der Seite des A-Ports eingelesenen
Daten als Lesedaten vom B-Port abgegeben werden, bevor sie
in die Speicherzelle geschrieben werden.
Steigt das Schreibsteuersignal (A) als nächstes auf den H-Pegel an,
fällt das Definitionssignal W(A) für das externe Schreiben, das dessen
invertiertes Signal darstellt, auf den L-Pegel ab und der externe
Schreibzyklus des A-Ports endet. Ferner wird als Reaktion auf
den Abfall des Definitionssignals W(A) für den externen Schreibzyklus
vom Abfallerfassungsschaltkreis 82a im Schreiboperations-Steuerschaltkreis
der Fig. 12B und 12C ein Einzelimpuls mit H-Pegel ausgegeben,
um das RS-Flip-Flop 83a zu setzen. Daher steigt das Definitionssignal
WE(A) für den internen Schreibzyklus auf den H-Pegel an,
um den internen Schreibzyklus im Port A zu starten. Demgegenüber
findet im Leseoperations-Steuerschaltkreis 63b auf der Seite des B-
Ports keine Änderung des Betriebszustandes statt. Daher behalten das
Schaltsteuersignal SEL, das Schreibdateneinlese-Steuersignal RE(B)
und das Lesedatenausgabe-Steuersignal R(B) jeweils den H-Pegel bei.
Damit wird der Schalter 55a gesperrt, da das Definitionssignal W(A)
für den externen Schreibzyklus auf den L-Pegel gebracht wird. Ferner
wird der Schalter 56a durchgeschaltet, da das Definitionssignal
WE(A) für den internen Schreibzyklus auf den H-Pegel gezogen wird.
Somit ist der Betriebszustand des Dual-Port-RAM 50 zu diesem Zeitpunkt
der Zustand in Fig. 17H. Dies bedeutet, daß auf der Seite
des A-Ports die Eingabe von der CPU 6 zur Schreibdatenverriegelung
53a blockiert ist und die in der Schreibdatenverriegelung 53a gehaltenen
Schreibdaten über den Schalter 56a dem Leseverstärker 14a zugeführt
werden. Daher werden Daten in die ausgewählte Speicherzelle
des Speicherzellenfeldes 100 geschrieben. Demgegenüber findet auf
der Seite des B-Ports keine Veränderung des Betriebszustandes statt
und die in der Schreibdatenverriegelung 53a gehaltenen Daten werden
dem Systembus 4 über die Lesedatenverriegelung 54b als Lesedaten zugeführt.
Fällt nun das Definitionssignal *(A) für die erlaubte Periode der
Schreiboperation auf den L-Pegel ab, so wird das RS-Flip-Flop 83a in
den Fig. 12B und 12C zurückgestellt, so daß das Definitionssignal
WE(A) für den internen Schreibzyklus auf den L-Pegel abfällt. Daher
endet der interne Schreibzyklus des A-Ports. Zu diesem Zeitpunkt befindet
sich der B-Port in der Mitte des Lesezyklus. Dieser Zustand
ist dem Zustand im Fall 2 ähnlich, wenn der interne Schreibzyklus
des A-Ports endet. Daher ist der Betriebszustand des Dual-Port-RAM
50 zu diesem Zeitpunkt der Zustand in der obenerwähnten Fig. 17F.
Dies bedeutet, daß auf der Seite des A-Ports keine Operation
ausgeführt wird, da der Schreibzyklus beendet worden ist. Demgegenüber
werden auf der Seite des B-Ports die in der Lesedatenverriegelung
54b gehaltenen Daten (die von der Schreibdatenverriegelung 53a
während des Schreibzyklus des A-Ports eingelesenen Daten) dem
Systembus 4 zugeführt.
Im Fall 3 werden die während des Schreibzyklus des A-Ports in die
Schreibdatenverriegelung 53a eingelesenen Daten der Lesedatenverriegelung
54b über den Auswahlschalter 58b zugeführt und von der Lesedatenverriegelung
54b dem Systembus 4 als Lesedaten übergeben. Da
die ausgewählte Speicherzelle später von den Schreibdaten von der
CPU 6 überschrieben wird, werden die von der Schreibdatenverriegelung
54b gehaltenen Daten vor der Ausführung des Überschreitens mit anderen
Worten als Lesedaten behandelt. Dies verhindert eine Undefiniertheit
der Lesedaten, die bei einem Konflikt zwischen einem
Schreibzugriff der Seite des A-Ports und einem Lesezugriff der Seite
des B-Ports auftritt.
Zuerst fallen das Schreibsteuersignal (A) und das Definitionssignal
*(A) für die erlaubte Periode der Schreiboperation auf den L-Pegel
ab. Daher steigt das Definitionssignal W(A) für den externen
Schreibzyklus, das das invertierte Signal des Schreibsteuersignals
(A) ist, auf den H-Pegel an, um den externen Schreibzyklus des A-
Ports zu starten. Zu diesem Zeitpunkt ist der Lesezyklus des B-Ports
noch nicht gestartet worden. Dieser Zustand ist dem Zustand im oben
erwähnten Fall 3 ähnlich, wenn der externe Schreibzyklus des A-
Ports beginnt. Daher ist der Betriebszustand des Dual-Port-RAM 50 zu
diesem Zeitpunkt der Zustand in Fig. 17C. Dies bedeutet, daß auf
der Seite des A-Ports die von der CPU 6 angelegten Schreibdaten über
den Schalter 55a der Schreibdatenverriegelung 53a zugeführt und verriegelt
werden. Demgegenüber wird auf der Seite des B-Ports keine
Operation ausgeführt, da der Lesezyklus noch nicht gestartet worden
ist.
Steigt das Schreibsteuersignal (A) nun auf den H-Pegel an, so fällt
das Definitionssignal W(A) des externen Schreibzyklus, das dessen
invertiertes Signal ist, auf den L-Pegel ab. Ferner steigt das Definitionssignal
WE(A) für den internen Schreibzyklus an, um den internen
Schreibzyklus des A-Ports zu starten. Zu diesem Zeitpunkt ist im
B-Port der Lesezyklus noch nicht gestartet worden. Dieser Zustand
ist dem Zustand des oben angeführten Falles 1 ähnlich, wenn der interne
Schreibzyklus des A-Ports beginnt. Daher ist der Betriebszustand
des Dual-Port-RAM 50 zu diesem Zeitpunkt der Zustand in
der oben angeführten Fig. 17D. Dies bedeutet, daß die in der
Schreibdatenverriegelung 53a gehaltennen Schreibdaten an den Leserverstärker
14a angelegt werden, um in die ausgewählte Speicherzelle des
Speicherzellenfeldes 100 eingeschrieben zu werden. Demgegenüber wird
auf der Seite des B-Ports keine Operation ausgeführt, da der Lesezyklus
noch nicht gestartet worden ist.
Fällt das Lesesteuersignal (B) nun auf den L-Pegel, so steigt das
Lesedatenausgabe-Steuersignal R(B), das dessen invertiertes Signal
darstellt, auf den H-Pegel an, um den Lesezyklus des B-Ports zu
starten. Als Reaktion auf den Abfall des Lesesteuersignals (B) wird
vom Abfallerfassungsschaltkreis 71b ein Einzelimpuls ausgegeben, um
das RS-Flip-Flop 76b zu setzen. Folglich steigt das Lesedateneinlese-
Steuersignal RE(B) auf den H-Pegel an. Das Schaltsteuersignal
SEL(B) befindet sich zu diesem Zeitpunkt auf dem L-Pegel. Demgegenüber
findet keine Änderung des Betriebszustandes im Schreiboperations-
Steuerschaltkreis der Fig. 12B und 12C statt. Daher behalten das
Definitionssignal W(A) für den externen Schreibzyklus und des Definitionssignal
WE(A) für den internen Schreibzyklus den L-Pegel bei.
Damit wählt der Auswahlschalter 58b das Ausgangssignal des Leseverstärkers
14b aus, da das Schaltsteuersignal SEL(B) auf dem L-Pegel
liegt. Ferner wird der Schalter 57b durchgeschaltet, da das Lesedateneinlese-
Steuersignal RE(B) auf den H-Pegel gebracht wird. Darüber
hinaus wird der Drei-Zustands-Puffer 59b leitend, weil das Lesedatenausgabe-
Steuersignal R(B) auf den H-Pegel gezogen wird. Somit ist
der Betriebszustand des Dual-Port-RAM 50 zu diesem Zeitpunkt der Zustand
in Fig. 17I. Das bedeutet, daß auf der Seite des A-Ports
die in der Schreibdatenverriegelung 53a gehaltenen Schreibdaten dem
Leseverstärker 14a zugeführt werden, um in die ausgewählte Speicherzelle
eingeschrieben zu werden. Demgegenüber werden auf der Seite
des B-Ports die vom Leseverstärker 14b ausgegebenen Lesedaten über
die Lesedatenverriegelung 54b dem Systembus 4 zugeführt.
Wenn als nächstes das Definitionssignal *(A) für die erlaubte Periode
der Schreiboperation auf den H-Pegel ansteigt, so fällt das Definitionssignal
WE(A) für den internen Schreibzyklus ab, um die interne
Schreiboperation des A-Ports zu beenden. Zu diesem Zeitpunkt
befindet sich der B-Port in der Mitte des Lesezyklus. Dieser Zustand
ist ähnlich dem Zustand des oben angeführten Falles 1, wenn der Lesezyklus
des B-Ports beginnt. Daher ist der Betriebszustand des
Dual-Port-RAM 50 zu diesem Zeitpunkt der Zustand in Fig. 17A. Da
der interne Schreibzyklus auf der Seite des A-Ports beendet worden
ist, bedeutet dies, daß dessen Betrieb vollständig angehalten ist.
Demgegenüber werden auf der Seite des B-Ports die vom Leseverstärker
14b ausgegebenen Lesedaten über die Lesedatenverriegelung 54b dem
Systembus 4 zugeführt.
Da der Lesezyklus des B-Ports nach dem Beginn des internen Schreibzyklus
des A-Ports gestartet wird, befinden sich damit die aus der
Speicherzelle ausgelesenen Daten selbst dann nicht in einem undefinierten
Zustand, wenn ein Zugriffskonflikt auftritt. Daher werden
die aus der Speicherzelle ausgelesenen Daten dem Systembus 4 über
die Lesedatenverriegelung 54b zugeführt.
Obwohl die oben angeführte Operation für einen Fall beschrieben worden
ist, bei dem ein Konflikt zwischen einem Schreibzugriff der
Seite des A-Ports und einem Lesezugriff der Seite des B-Ports bezüglich
derselben Speicherzelle im Speicherzellenfeld 100 beschrieben
worden ist, wird eine ähnliche Operation für den umgekehrten Fall
ausgeführt, daß ein Konflikt zwischen einem Lesezugriff auf der
Seite des A-Ports und einem Schreibzugriff auf der Seite des B-Ports
auftritt, wobei hier nur die Rolle von A- und B-Port vertauscht ist.
Nun wird der Betrieb für den Fall beschrieben, daß ein Konflikt zwischen
einem Schreibzugriff der Seite des A-Ports und einem Schreibzugriff
der Seite des B-Ports bezüglich derselben Speicherzelle im
Speicherzellenfeld 100 auftritt. Wie oben erwähnt worden ist, unterscheiden
sich die Verfahren zur Vermeidung eines Zugriffskonfliktes
zwischen dem Schreiboperations-Steuerschaltkreis der Fig. 12B und
dem Schreiboperations-Steuerschaltkreis der Fig. 12C. Dies bedeutet,
daß der Schreiboperations-Steuerschaltkreis der Fig. 12B dem später
erzeugten Schreibzugriff Priorität einräumt, wenn zwischen einem
Schreibzugriff der Seite des A-Ports und einem Schreibzugriff der
Seite des B-Ports ein Konflikt auftritt. Andererseits gibt der
Schreiboperations-Steuerschaltkreis der Fig. 12C stets dem Schreibzugriff
der Seite des A-Ports Priorität, wenn zwischen einem
Schreibzugriff der Seite des A-Ports und einem Schreibzugriff der
Seite des B-Ports ein Konflikt auftritt.
Fig. 18 zeigt ein Zeitdiagramm des Betriebs des Schreiboperations-
Steuerschaltkreises der Fig. 12B, wenn zwischen einem Schreibzugriff
der Seite des A-Ports und einem Schreibzugriff der Seite des B-Ports
bezüglich derselben Speicherzelle ein Konflikt auftritt. Unter Bezugnahme
auf die Fig. 18 wird zuerst der Betrieb des Schreiboperations-
Steuerschaltkreises der Fig. 12B zum Zeitpunkt des Zugriffskonfliktes
beschrieben. Es wird angenommen, daß zuerst ein Schreibzugriff
der Seite des A-Ports erzeugt wird, gefolgt von der Erzeugung
eines Schreibzugriffs der Seite des B-Ports währe 05221 00070 552 001000280000000200012000285910511000040 0002004111483 00004 05102nd des internen
Schreibzyklus. Endet der externe Schreibzyklus des B-Ports und fällt
das Definitionssignal W(B) des externen Schreibzyklus auf den L-Pegel
ab, so gibt der Abfallerfassungsschaltkreis 82b einen Einzelimpuls
mit H-Pegel aus und setzt das RS-Flip-Flop 83b. Dies bewirkt
einen Anstieg des Definitionssignals WE(B) für den internen Schreibzyklus
auf den H-Pegel, um den internen Schreibzyklus der Seite des
B-Ports zu starten. Als Reaktion auf den Anstieg des Definitionssignals
WE(B) des internen Schreibzyklus auf den H-Pegel steigt auch
der Ausgang des UND-Gatters 84b auf den H-Pegel an. Als Reaktion
hierauf wird vom Anstiegserfassungsschaltkreis 85a ein Einzelimpuls
mit H-Pegel ausgegeben. Dieser Einzelimpuls wird über das ODER-Gatter
86a an das RS-Flip-Flop 83a angelegt, um dieses zurückzustellen.
Dies bewirkt einen Abfall des Definitionssignals WE(A) des internen
Schreibzyklus auf den L-Pegel. Das heißt, der interne Schreibzyklus
der Seite des A-Ports wird beendet und dem internen Schreibzyklus
der Seite des B-Ports wird Priorität gegeben. Für den Fall, daß der
Schreibzugriff der Seite des B-Ports vor dem Schreibzugriff der
Seite des A-Ports erzeugt wird, wird eine ähnliche Operation ausgeführt,
nur sind die Rollen der Ports A und B vertauscht.
Fig. 19 zeigt ein Zeitdiagramm der Operation des Schreiboperations-
Steuerschaltkreises der Fig. 12C, wenn zwischen einem Schreibzugriff
der Seite des A-Ports und einem Schreibzugriff der Seite des B-Ports
bezüglich derselben Speicherzelle ein Konflikt auftritt. Unter Bezugnahme
auf die Fig. 19 wird der Betrieb des Schreiboperations-
Steuerschaltkreises der Fig. 19C zum Zeitpunkt des Zugriffskonfliktes
beschrieben. Fig. 19 zeigt vier Fälle eines Zugriffskonfliktes.
In Fig. 19 zeigt Fall 1, daß der interne Schreibzyklus der Seite des
A-Ports nach der Beendigung des internen Schreibzyklus der Seite des
B-Ports beginnt. Es gibt keine Schlichtung des Zugriffskonfliktes,
da kein Konflikt beim Schreiben von Daten bezüglich derselben
Speicherzelle existiert.
Fall 2 zeigt, daß der interne Schreibzyklus der Seite des A-Ports
während des internen Schreibzyklus der Seite des B-Ports beginnt. In
diesem Fall steigt das Ausgangssignal des UND-Gatters 87 als Reaktion
auf den Anstieg des Definitionssignals WE(A) des internen
Schreibzyklus auf den H-Pegel an. Der Anstieg des Ausgangssignals
vom UND-Gatter 87 wird über das ODER-Gatter 86b an das RS-Flip-Flop
83b angelegt, um dieses zurückzustellen. Entsprechend fällt das Definitionssignal
WE(B) des internen Schreibzyklus auf den L-Pegel ab.
Dies bedeutet, daß der interne Schreibzyklus auf der Seite des B-
Ports beendet wird und dem internen Schreibzyklus der Seite des A-
Ports Priorität eingeräumt wird.
Fall 3 zeigt den Zustand, wenn versucht wird, während des internen
Schreibzyklus der Seite des A-Ports den internen Schreibzyklus der
Seite des B-Ports zu starten. In diesem Fall wird das RS-Flip-Flop
83b nicht gesetzt, das das Definitionssignal WE(A) des internen
Schreibzyklus und das Zugriffskonflikt-Erfassungssignal S1 vom Zugriffskonflikt-
Erfassungsschaltkreis 51 auf dem H-Pegel liegen und
damit der Rückstelleingang des RS-Flip-Flops 83b auf dem H-Pegel gehalten
wird, selbst wenn das Definitionssignal W(B) für den externen
Schreibzyklus abfällt und der Abfallerfassungsschaltkreis 82b einen
Einzelimpuls mit H-Pegel ausgibt. Dies bedeutet, daß der Beginn des
internen Schreibzyklus der Seite des B-Ports angehalten wird und dem
internen Schreibzyklus der Seite des A-Ports Priorität eingeräumt
wird.
Fall 4 zeigt, daß der interne Schreibzyklus der Seite des B-Ports
beginnt, nachdem der interne Schreibzyklus der Seite des A-Ports
beendet worden ist. In diesem Fall wird keine Schlichtung des Zugriffskonfliktes
ausgeführt, da ähnlich wie beim oben angeführten
Fall 1 kein Konflikt beim Datenschreiben bezüglich derselben
Speicherzelle existiert.
Da ein Konflikt zwischen einem Schreibzugriff der Seite des A-Ports
und des B-Ports von der externen Seite des Systems vermieden werden
kann, erfordert der Dual-Port-Speicher der vorliegenden Erfindung
wenigstens die Funktion, einen Konflikt zwischen einem Schreib- und
einem Lesezugriff schlichten zu können.
Damit kann in Übereinstimmung mit der vorliegenden Erfindung eine
Schlichtung des Zugriffskonflikts intern im Dual-Port-Speicher ausgeführt
werden, ohne daß eine Zugriffswarteanforderung zur externen
Systemseite ausgegeben wird, wenn ein Zugriffskonflikt auftritt. Es
ist daher möglich, diesen Dual-Port-Speicher in Systemen zu verwenden,
die eine Zugriffswarteanforderung nicht verarbeiten können.
Ferner ist es möglich, unter Verwendung von Dual-Port-Speichern ein
Echtzeit-Steuersystem zu entwickeln, wenn Echtzeit gefordert wird.
Claims (9)
1. Dual-Port-Speicher zum Übertragen von Daten zwischen einem ersten
System und einem zweiten System (6, 7) über erste und zweite Ein-/
Ausgabeports, auf den gleichzeitig vom ersten und zweiten System
(6, 7) zugegriffen werden kann, aufweisend
ein Speicherzellenfeld (100) mit einer Mehrzahl von Speicherzellen,
eine erste Speicherzellen-Auswahleinrichtung (9a) zum Auswählen von einer der Speicherzellen im Speicherzellenfeld (100) in Abhängigkeit von Adreßdaten, die vom ersten System (6) zugeführt werden,
eine zweite Speicherzellen-Auswahleinrichtung (9b) zum Auswählen von einer der Speicherzellen im Speicherzellenfeld (100) in Abhängigkeit von Adreßdaten, die vom zweiten System (7) zugeführt werden,
eine Zugriffskonflikt-Erfassungseinrichtung (51) zum Erfassen eines Konfliktes zwischen einem Zugriff des ersten Systems (6) und einem Zugriff des zweiten Systems (7) bezüglich derselben Speicherzelle im Speicherzellenfeld (100),
eine Steuersignal-Erzeugereinrichtung (52) zum Erzeugen von Steuersignalen in Übereinstimmung mit den Steuerdaten von den ersten und zweiten Systemen (6, 7) und dem Ausgangssignal der Zugriffskonflikt- Erfassungseinrichtung,
eine erste Übertragungssteuereinrichtung (53a-59a), die vom Steuersignal abhängig ist, zum Steuern der Übertragung von Schreibdaten und Lesedaten zwischen dem ersten System (6) und dem Speicherzellenfeld, und
eine zweite Übertragungssteuereinrichtung (53b-59b), die vom Steuersignal abhängig ist, zum Steuern der Übertragung von Schreibdaten und Lesedaten zwischen dem zweiten System (6) und dem Speicherzellenfeld, wobei
die erste Übertragungseinrichtung (53a-59a) eine erste Lesedaten- Auswahleinrichtung (58a) zum selektiven Anlegen von Daten, die aus der Speicherzelle gelesen worden sind, oder der Schreibdaten, die vom zweiten System (7) zugeführt werden, an das erste System (6) in Abhängigkeit von der Zugriffskonflikt-Erfassungseinrichtung (51), die einen Konflikt erfaßt, und
die zweite Übertragungssteuereinrichtung (53b-59b) eine zweite Lesedaten- Auswahleinrichtung (58b) zum selektiven Anlegen von Daten, die aus der Speicherzelle gelesen worden sind, oder der Schreibdaten, die vom ersten System (8) zugeführt werden, an das zweite System (7) in Abhängigkeit von der Zugriffskonflikt-Erfassungseinrichtung (51), die einen Konflikt erfaßt.
ein Speicherzellenfeld (100) mit einer Mehrzahl von Speicherzellen,
eine erste Speicherzellen-Auswahleinrichtung (9a) zum Auswählen von einer der Speicherzellen im Speicherzellenfeld (100) in Abhängigkeit von Adreßdaten, die vom ersten System (6) zugeführt werden,
eine zweite Speicherzellen-Auswahleinrichtung (9b) zum Auswählen von einer der Speicherzellen im Speicherzellenfeld (100) in Abhängigkeit von Adreßdaten, die vom zweiten System (7) zugeführt werden,
eine Zugriffskonflikt-Erfassungseinrichtung (51) zum Erfassen eines Konfliktes zwischen einem Zugriff des ersten Systems (6) und einem Zugriff des zweiten Systems (7) bezüglich derselben Speicherzelle im Speicherzellenfeld (100),
eine Steuersignal-Erzeugereinrichtung (52) zum Erzeugen von Steuersignalen in Übereinstimmung mit den Steuerdaten von den ersten und zweiten Systemen (6, 7) und dem Ausgangssignal der Zugriffskonflikt- Erfassungseinrichtung,
eine erste Übertragungssteuereinrichtung (53a-59a), die vom Steuersignal abhängig ist, zum Steuern der Übertragung von Schreibdaten und Lesedaten zwischen dem ersten System (6) und dem Speicherzellenfeld, und
eine zweite Übertragungssteuereinrichtung (53b-59b), die vom Steuersignal abhängig ist, zum Steuern der Übertragung von Schreibdaten und Lesedaten zwischen dem zweiten System (6) und dem Speicherzellenfeld, wobei
die erste Übertragungseinrichtung (53a-59a) eine erste Lesedaten- Auswahleinrichtung (58a) zum selektiven Anlegen von Daten, die aus der Speicherzelle gelesen worden sind, oder der Schreibdaten, die vom zweiten System (7) zugeführt werden, an das erste System (6) in Abhängigkeit von der Zugriffskonflikt-Erfassungseinrichtung (51), die einen Konflikt erfaßt, und
die zweite Übertragungssteuereinrichtung (53b-59b) eine zweite Lesedaten- Auswahleinrichtung (58b) zum selektiven Anlegen von Daten, die aus der Speicherzelle gelesen worden sind, oder der Schreibdaten, die vom ersten System (8) zugeführt werden, an das zweite System (7) in Abhängigkeit von der Zugriffskonflikt-Erfassungseinrichtung (51), die einen Konflikt erfaßt.
2. Dual-Port-Speicher nach Anspruch 1, dadurch gekennzeichnet, daß
die erste Übertragungssteuereinrichtung (53a-59a)
eine erste Schreibdaten-Halteeinrichtung (53a) zum temporären Halten der Schreibdaten, die vom ersten System (6) zugeführt werden, und eine erste Schreibdaten-Anlegeeinrichtung (56a) zum Anlegen der Schreibdaten, die in der ersten Schreibdaten-Halteeinrichtung (53a) gehalten werden, nach einer vorbestimmten ersten Zeitspanne an das Speicherzellenfeld (100), aufweist, und daß
die zweite Übertragungssteuereinrichtung (53b-59b) eine zweite Schreibdaten-Halteeinrichtung (53b) zum temporären Halten der Schreibdaten, die vom zweiten System (7) zugeführt werden, und
eine zweite Schreibdaten-Anlegeeinrichtung (56b) zum Anlegen der Schreibdaten, die in der zweiten Schreibdaten-Halteeinrichtung (53b) gehalten werden, nach der vorbestimmten ersten Zeitspanne an das Speicherzellenfeld (100) aufweist.
eine erste Schreibdaten-Halteeinrichtung (53a) zum temporären Halten der Schreibdaten, die vom ersten System (6) zugeführt werden, und eine erste Schreibdaten-Anlegeeinrichtung (56a) zum Anlegen der Schreibdaten, die in der ersten Schreibdaten-Halteeinrichtung (53a) gehalten werden, nach einer vorbestimmten ersten Zeitspanne an das Speicherzellenfeld (100), aufweist, und daß
die zweite Übertragungssteuereinrichtung (53b-59b) eine zweite Schreibdaten-Halteeinrichtung (53b) zum temporären Halten der Schreibdaten, die vom zweiten System (7) zugeführt werden, und
eine zweite Schreibdaten-Anlegeeinrichtung (56b) zum Anlegen der Schreibdaten, die in der zweiten Schreibdaten-Halteeinrichtung (53b) gehalten werden, nach der vorbestimmten ersten Zeitspanne an das Speicherzellenfeld (100) aufweist.
3. Dual-Port-Speicher nach Anspruch 2, dadurch gekennzeichnet, daß
die erste Lesedaten-Auswahleinrichtung (58a)
Daten, die von der durch die erste Speicherzellen-Auswahleinrichtung (9a) ausgewählten Speicherzelle gelesen worden sind, in Abhängigkeit davon auswählt, daß (i) das erste System (6) eine Speicherleseoperation auslöst, bevor das zweite System (7) Daten zuführt, die in den Speicher geschrieben werden sollen, und (ii) das erste System (6) eine Leseoperation während einer Zeitspanne auslöst, in der Schreibdaten, die in das Speicherzellenfeld (100) geschrieben werden sollen, in der zweiten Schreibdaten-Halteeinrichtung (53b) gehalten werden, als Lesedaten auswählt, die dem ersten System (6) durch die zweite Schreibdaten-Anlegeeinrichtung (56b) zugeführt werden sollen, und
die Schreibdaten, die in der zweiten Schreibdaten-Halteeinrichtung (53b) gehalten werden, in Abhängigkeit davon, daß das erste System eine Speicherleseoperation auslöst, nachdem Daten, die vom zweiten System (7) in den Speicher eingeschrieben werden sollen, in der zweiten Schreibdaten-Halteeinrichtung (58b) gespeichert worden sind und vor die gehaltenen Schreibdaten an das Speicherzellenfeld (100) angelegt worden sind, als Lesedaten auswählt, die dem ersten System (6) von der zweiten Schreibdaten-Anlegeeinrichtung (56b) zugeführt werden sollen, und daß
die zweite Lesedaten-Auswahleinrichtung (58b) Daten, die von der durch die zweite Speicherzellen-Auswahleinrichtung (9b) ausgewählten Speicherzelle gelesen worden sind, in Abhängigkeit davon auswählt, daß (i) das zweite System (7) eine Speicherleseoperation auslöst, bevor das erste System (6) Daten zuführt, die in den Speicher geschrieben werden sollen, und (ii) das zweite System (7) eine Leseoperation während einer Zeitspanne auslöst, in der Schreibdaten, die in das Speicherzellenfeld (100) geschrieben werden sollen, in der ersten Schreibdaten-Halteeinrichtung (53a) gehalten werden, als Lesedaten auswählt, die dem zweiten System (7) durch die erste Schreibdaten-Anlegeeinrichtung (56a) zugeführt werden sollen, und
die Schreibdaten, die in der ersten Schreibdaten-Halteeinrichtung (53a) gehalten werden, in Abhängigkeit davon, daß das zweite System (7) eine Speicherleseoperation auslöst, nachdem Daten, die vom ersten System (6) in den Speicher eingeschrieben werden sollen, in der ersten Schreibdaten-Halteeinrichtung (58a) gespeichert worden sind und vor die gehaltenen Schreibdaten an das Speicherzellenfeld (100) angelegt worden sind, als Lesedaten auswählt, die dem zweiten System (7) von der ersten Schreibdaten-Anlegeeinrichtung (56a) zugeführt werden sollen.
Daten, die von der durch die erste Speicherzellen-Auswahleinrichtung (9a) ausgewählten Speicherzelle gelesen worden sind, in Abhängigkeit davon auswählt, daß (i) das erste System (6) eine Speicherleseoperation auslöst, bevor das zweite System (7) Daten zuführt, die in den Speicher geschrieben werden sollen, und (ii) das erste System (6) eine Leseoperation während einer Zeitspanne auslöst, in der Schreibdaten, die in das Speicherzellenfeld (100) geschrieben werden sollen, in der zweiten Schreibdaten-Halteeinrichtung (53b) gehalten werden, als Lesedaten auswählt, die dem ersten System (6) durch die zweite Schreibdaten-Anlegeeinrichtung (56b) zugeführt werden sollen, und
die Schreibdaten, die in der zweiten Schreibdaten-Halteeinrichtung (53b) gehalten werden, in Abhängigkeit davon, daß das erste System eine Speicherleseoperation auslöst, nachdem Daten, die vom zweiten System (7) in den Speicher eingeschrieben werden sollen, in der zweiten Schreibdaten-Halteeinrichtung (58b) gespeichert worden sind und vor die gehaltenen Schreibdaten an das Speicherzellenfeld (100) angelegt worden sind, als Lesedaten auswählt, die dem ersten System (6) von der zweiten Schreibdaten-Anlegeeinrichtung (56b) zugeführt werden sollen, und daß
die zweite Lesedaten-Auswahleinrichtung (58b) Daten, die von der durch die zweite Speicherzellen-Auswahleinrichtung (9b) ausgewählten Speicherzelle gelesen worden sind, in Abhängigkeit davon auswählt, daß (i) das zweite System (7) eine Speicherleseoperation auslöst, bevor das erste System (6) Daten zuführt, die in den Speicher geschrieben werden sollen, und (ii) das zweite System (7) eine Leseoperation während einer Zeitspanne auslöst, in der Schreibdaten, die in das Speicherzellenfeld (100) geschrieben werden sollen, in der ersten Schreibdaten-Halteeinrichtung (53a) gehalten werden, als Lesedaten auswählt, die dem zweiten System (7) durch die erste Schreibdaten-Anlegeeinrichtung (56a) zugeführt werden sollen, und
die Schreibdaten, die in der ersten Schreibdaten-Halteeinrichtung (53a) gehalten werden, in Abhängigkeit davon, daß das zweite System (7) eine Speicherleseoperation auslöst, nachdem Daten, die vom ersten System (6) in den Speicher eingeschrieben werden sollen, in der ersten Schreibdaten-Halteeinrichtung (58a) gespeichert worden sind und vor die gehaltenen Schreibdaten an das Speicherzellenfeld (100) angelegt worden sind, als Lesedaten auswählt, die dem zweiten System (7) von der ersten Schreibdaten-Anlegeeinrichtung (56a) zugeführt werden sollen.
4. Dual-Port-Speicher nach Anspruch 3, dadurch gekennzeichnet, daß
die erste Übertragungssteuereinrichtung (53a-59a) eine erste Lesedaten-
Halteeinrichtung (54a) zum Halten der Lesedaten aufweist, die
von der ersten Lesedaten-Auswahleinrichtung (58a) ausgewählt worden
sind, und daß
die zweite Übertragungssteuereinrichtung (53b-59b) eine zweite Lesedaten-
Halteeinrichtung (54b) zum Halten der Lesedaten aufweist, die
von der zweiten Lesedaten-Auswahleinrichtung (58b) ausgewählt worden
sind.
5. Dual-Port-Speicher nach Anspruch 4, dadurch gekennzeichnet, daß
die erste Übertragungssteuereinrichtung (53a-59a) eine erste Lesedaten-
Aufrechterhaltungseinrichtung (57a) aufweist, zum Verhindern der
Änderung der gelesenen Daten, die in der ersten Lesedaten-Halteeinrichtung
(54a) gehalten werden, in Abhängigkeit von der Überschreibung,
wenn die in der Speicherzelle gespeicherten Daten überschrieben
werden, indem die in der zweiten Schreibdaten-Halteeinrichtung
(53b) gehaltenen Schreibdaten für den Fall, daß die erste Lesedaten-
Auswahleinrichtung (58a) die aus der von der ersten Speicherzellen-
Auswahleinrichtung (9a) ausgewählten Speicherzelle ausgelesenen Daten
auswählt, durch die zweite Schreibdaten-Anlegeeinrichtung (56b)
an das Speicherzellenfeld (100) angelegt werden, und daß
die zweite Übertragungssteuereinrichtung (53b-59b) eine zweite Lesedaten-
Aufrechterhaltungseinrichtung (57b) aufweist, zum Verhindern
der Änderung der gelesenen Daten, die in der zweiten Lesedaten-Halteeinrichtung
(54b) gehalten werden, in Abhängigkeit von der Überschreibung,
wenn die in der Speicherzelle gespeicherten Daten überschrieben
werden, indem die in der ersten Schreibdaten-Halteeinrichtung
(53a) gehaltenen Schreibdaten für den Fall, daß die zweite Lesedaten-
Auswahleinrichtung (58b) die aus der von der zweiten
Speicherzellen-Auswahleinrichtung (9b) ausgewählten Speicherzelle
ausgelesenen Daten auswählt, durch die erste Schreibdaten-Anlegeeinrichtung
(56a) an das Speicherzellenfeld (100) angelegt werden.
6. Dual-Port-Speicher nach Anspruch 5, dadurch gekennzeichnet, daß
die erste Lesedaten-Aufrechterhaltungseinrichtung (57a) eine erste
Schalteinrichtung (57a) zum Blockieren des Signalpfades zwischen der
ersten Lesedaten-Auswahleinrichtung (58a) und der ersten Lesedaten-
Halteeinrichtung (54a) aufweist, und daß
die zweite Lesedaten-Aufrechterhaltungseinrichtung (57b) eine zweite
Schalteinrichtung (57b) zum Blockieren des Signalpfades zwischen der
zweiten Lesedaten-Auswahleinrichtung (58b) und der zweiten Lesedaten-
Halteeinrichtung (54b) aufweist.
7. Dual-Port-Speicher nach Anspruch 1, dadurch gekennzeichnet, daß
die erste Übertragungssteuereinrichtung (53a-59a) eine erste
Schreibverhinderungseinrichtung (56a) aufweist, um das Schreiben der
vom ersten System (6) zugeführten Schreibdaten in die Speicherzelle
zu verhindern, wenn die Schreiboperation durch das zweite System (7)
während der Schreiboperation des ersten Systems (6) bezüglich derselben
Speicherzelle gestartet wird, und daß
die zweite Übertragungssteuereinrichtung (53b-59b) eine zweite
Schreibverhinderungseinrichtung (56a) aufweist, um das Schreiben der
vom zweiten System (7) zugeführten Schreibdaten in die Speicherzelle
zu verhindern, wenn die Schreiboperation durch das erste System (6)
während der Schreiboperation des zweiten Systems (7) bezüglich derselben
Speicherzelle gestartet wird.
8. Dual-Port-Speicher nach Anspruch 1, dadurch gekennzeichnet, daß
die erste Übertragungssteuereinrichtung (53a-59a) eine Schreibverhinderungseinrichtung
(53a) aufweist, um das Schreiben der vom ersten
System (6) zugeführten Schreibdaten in die Speicherzelle zu
verhindern, wenn die Schreiboperation des zweiten Systems (7) während
der Schreiboperation des ersten Systems (6) bezüglich derselben
Speicherzelle und wenn die Schreiboperation des ersten Systems (6)
während der Schreiboperation des zweiten Systems (7) bezüglich derselben
Speicherzelle gestartet wird.
9. Dual-Port, aufweisend
ein Speicherzellenfeld mit ersten und zweiten Adreßdekodern und ersten und zweiten Datenein-/-ausgabeeinrichtungen,
erste und zweite Adreßdaten-Empfangseinrichtungen zum Zuführen von ersten und zweiten Adreßdaten an den ersten bzw. den zweiten Adreßdekoder,
eine Kollisionserfassungseinrichtung zum Erfassen einer Koinzidenz der Adreßdaten, die an die erste bzw. zweite Adreßempfangseinrichtung angelegt worden sind und zum Ausgeben eines Zugriffskollisionssignals in Abhängigkeit hiervon,
erste und zweite Steuersignal-Eingabeeinrichtungen zum Empfangen von Steuerdaten, die
(i) erste und zweite Speicherlese-Steuersignale zum Empfangen jeweiliger erster und zweiter Speicherdaten-Leseanforderungen und
(ii) erste und zweite Speicherschreib-Steuersignale zum Empfangen jeweiliger erster und zweiter Speicherschreibanforderungen aufweisen,
erste und zweite Datenein-/-ausgabeeinrichtungen zum (i) jeweiligen Empfangen erster und zweiter Eingangsdaten, die in das Speicherzellenfeld geschrieben werden sollen und (ii) Ausgeben jeweiliger Daten aus dem Speicherzellenfeld,
erste und zweite Schreibdatenverriegelungen zum jeweiligen Speichern der ersten und zweiten Eingangsdaten und zum Anlegen der ersten und zweiten Eingangsdaten an die erste bzw. zweite Datenein-/ -ausgabeeinrichtung in Abhängigkeit von den ersten und zweiten Speicherschreib- Steuersignalen,
eine erste Lesedaten-Verriegelungseinrichtung, die von einem ersten Leseursprungs-Steuersignal abhängig ist, um selektiv (i) aus dem Speicher gelesene und an der ersten Datenein-/-ausgabeeinrichtung bereitgestellte Daten oder (ii) in der zweiten Schreibdatenverriegelung gespeicherte Daten zu speichern,
eine zweite Lesedaten-Verriegelungseinrichtung, die von einem zweiten Leseursprungs-Steuersignal abhängig ist, um selektiv (i) aus dem Speicher gelesene und an der zweiten Datenein-/-ausgabeeinrichtung bereitgestellte Daten oder (ii) in der ersten Schreibdatenverriegelung gespeicherte Daten zu speichern,
eine Steuereinrichtung, die von den Steuerdaten und dem Zugriffskollisionssignal abhängig ist, um die ersten und zweiten Speicherschreib- Steuersignale sowie die ersten und zweiten Lesesteuersignale bereitzustellen, wobei
an eine der Datenein-/-ausgabeeinrichtungen angelegte Daten, die an eine bestimmte Stelle im Speicherzellenfeld geschrieben werden sollen, von einer entsprechenden der Schreibdatenverriegelungen in Abhängigkeit von einer vorher an der entsprechenden anderen Ein-/ Ausgabeeinrichtung empfangenen und fortgesetzten Speicherleseoperation gehalten werden, wobei die gehaltenen Daten nach dem Abschluß der Leseoperation in das Speicherzellenfeld geschrieben werden,
an eine der Datenein-/-ausgabeeinrichtungen angelegte Daten, die an eine bestimmte Stelle im Speicherzellenfeld geschrieben werden sollen, von einer entsprechenden der Schreibdatenverriegelungen in Abhängigkeit von einer vorher an der entsprechenden anderen Ein-/ Ausgabeeinrichtung empfangenen und fortgesetzten Speicherschreiboperation gehalten werden, wobei die gehaltenen Daten nach dem Abschluß der Schreiboperation in das Speicherzellenfeld geschrieben werden, und
Daten, die aus dem Speicherzellenfeld an eine der Ein-/ Ausgabeeinrichtungen ausgelesen werden sollen, von der entsprechenden anderen der Schreibdatenverriegelungen zugeführt werden, wenn eine Datenanforderung während einer Schreiboperation empfangen wird, die an die andere der Ein-/Ausgabeeinrichtung angelegte Daten speichert.
ein Speicherzellenfeld mit ersten und zweiten Adreßdekodern und ersten und zweiten Datenein-/-ausgabeeinrichtungen,
erste und zweite Adreßdaten-Empfangseinrichtungen zum Zuführen von ersten und zweiten Adreßdaten an den ersten bzw. den zweiten Adreßdekoder,
eine Kollisionserfassungseinrichtung zum Erfassen einer Koinzidenz der Adreßdaten, die an die erste bzw. zweite Adreßempfangseinrichtung angelegt worden sind und zum Ausgeben eines Zugriffskollisionssignals in Abhängigkeit hiervon,
erste und zweite Steuersignal-Eingabeeinrichtungen zum Empfangen von Steuerdaten, die
(i) erste und zweite Speicherlese-Steuersignale zum Empfangen jeweiliger erster und zweiter Speicherdaten-Leseanforderungen und
(ii) erste und zweite Speicherschreib-Steuersignale zum Empfangen jeweiliger erster und zweiter Speicherschreibanforderungen aufweisen,
erste und zweite Datenein-/-ausgabeeinrichtungen zum (i) jeweiligen Empfangen erster und zweiter Eingangsdaten, die in das Speicherzellenfeld geschrieben werden sollen und (ii) Ausgeben jeweiliger Daten aus dem Speicherzellenfeld,
erste und zweite Schreibdatenverriegelungen zum jeweiligen Speichern der ersten und zweiten Eingangsdaten und zum Anlegen der ersten und zweiten Eingangsdaten an die erste bzw. zweite Datenein-/ -ausgabeeinrichtung in Abhängigkeit von den ersten und zweiten Speicherschreib- Steuersignalen,
eine erste Lesedaten-Verriegelungseinrichtung, die von einem ersten Leseursprungs-Steuersignal abhängig ist, um selektiv (i) aus dem Speicher gelesene und an der ersten Datenein-/-ausgabeeinrichtung bereitgestellte Daten oder (ii) in der zweiten Schreibdatenverriegelung gespeicherte Daten zu speichern,
eine zweite Lesedaten-Verriegelungseinrichtung, die von einem zweiten Leseursprungs-Steuersignal abhängig ist, um selektiv (i) aus dem Speicher gelesene und an der zweiten Datenein-/-ausgabeeinrichtung bereitgestellte Daten oder (ii) in der ersten Schreibdatenverriegelung gespeicherte Daten zu speichern,
eine Steuereinrichtung, die von den Steuerdaten und dem Zugriffskollisionssignal abhängig ist, um die ersten und zweiten Speicherschreib- Steuersignale sowie die ersten und zweiten Lesesteuersignale bereitzustellen, wobei
an eine der Datenein-/-ausgabeeinrichtungen angelegte Daten, die an eine bestimmte Stelle im Speicherzellenfeld geschrieben werden sollen, von einer entsprechenden der Schreibdatenverriegelungen in Abhängigkeit von einer vorher an der entsprechenden anderen Ein-/ Ausgabeeinrichtung empfangenen und fortgesetzten Speicherleseoperation gehalten werden, wobei die gehaltenen Daten nach dem Abschluß der Leseoperation in das Speicherzellenfeld geschrieben werden,
an eine der Datenein-/-ausgabeeinrichtungen angelegte Daten, die an eine bestimmte Stelle im Speicherzellenfeld geschrieben werden sollen, von einer entsprechenden der Schreibdatenverriegelungen in Abhängigkeit von einer vorher an der entsprechenden anderen Ein-/ Ausgabeeinrichtung empfangenen und fortgesetzten Speicherschreiboperation gehalten werden, wobei die gehaltenen Daten nach dem Abschluß der Schreiboperation in das Speicherzellenfeld geschrieben werden, und
Daten, die aus dem Speicherzellenfeld an eine der Ein-/ Ausgabeeinrichtungen ausgelesen werden sollen, von der entsprechenden anderen der Schreibdatenverriegelungen zugeführt werden, wenn eine Datenanforderung während einer Schreiboperation empfangen wird, die an die andere der Ein-/Ausgabeeinrichtung angelegte Daten speichert.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2095308A JP2965043B2 (ja) | 1990-04-10 | 1990-04-10 | デュアルポートメモリ |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4111483A1 true DE4111483A1 (de) | 1991-10-17 |
DE4111483C2 DE4111483C2 (de) | 1995-11-02 |
Family
ID=14134134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4111483A Expired - Fee Related DE4111483C2 (de) | 1990-04-10 | 1991-04-09 | Dual-Port-Speicher |
Country Status (3)
Country | Link |
---|---|
US (1) | US5276842A (de) |
JP (1) | JP2965043B2 (de) |
DE (1) | DE4111483C2 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4333226A1 (de) * | 1993-09-30 | 1995-04-06 | Licentia Gmbh | Verfahren und Vorrichtung zur Steuerung des Zugriffs zu Dual-Port-Speichern |
Families Citing this family (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2727555B2 (ja) * | 1988-03-08 | 1998-03-11 | 神鋼電機株式会社 | 券売機 |
JPH04271089A (ja) * | 1991-02-26 | 1992-09-28 | Nec Ic Microcomput Syst Ltd | Icメモリ装置 |
US5420984A (en) * | 1992-06-30 | 1995-05-30 | Genroco, Inc. | Apparatus and method for rapid switching between control of first and second DMA circuitry to effect rapid switching beween DMA communications |
FR2693575B1 (fr) * | 1992-07-09 | 1994-08-19 | Gemplus Card Int | Carte à mémoire de masse avec fonction entrée/sortie. |
FR2695740B1 (fr) * | 1992-09-16 | 1994-11-25 | Bull Sa | Système de transmission de données entre un bus d'ordinateur et un réseau en forme d'anneau à très haut débit. |
US5737569A (en) * | 1993-06-30 | 1998-04-07 | Intel Corporation | Multiport high speed memory having contention arbitration capability without standby delay |
JPH0756885A (ja) * | 1993-08-20 | 1995-03-03 | Mitsubishi Electric Corp | マイクロコンピュータ |
US5375089A (en) * | 1993-10-05 | 1994-12-20 | Advanced Micro Devices, Inc. | Plural port memory system utilizing a memory having a read port and a write port |
US5398211A (en) * | 1993-10-14 | 1995-03-14 | Integrated Device Technology, Inc. | Structure and method for providing prioritized arbitration in a dual port memory |
US6122706A (en) * | 1993-12-22 | 2000-09-19 | Cypress Semiconductor Corporation | Dual-port content addressable memory |
JP2790034B2 (ja) * | 1994-03-28 | 1998-08-27 | 日本電気株式会社 | 非運用系メモリ更新方式 |
WO1996007139A1 (en) * | 1994-09-01 | 1996-03-07 | Mcalpine Gary L | A multi-port memory system including read and write buffer interfaces |
US6272465B1 (en) * | 1994-11-02 | 2001-08-07 | Legerity, Inc. | Monolithic PC audio circuit |
JPH08235852A (ja) * | 1995-02-28 | 1996-09-13 | Mitsubishi Electric Corp | 半導体記憶装置 |
JPH0945079A (ja) * | 1995-07-25 | 1997-02-14 | Oki Micro Design Miyazaki:Kk | デュアルポートram |
US5699530A (en) * | 1995-10-03 | 1997-12-16 | Intel Corporation | Circular RAM-based first-in/first-out buffer employing interleaved storage locations and cross pointers |
JP3441613B2 (ja) * | 1996-04-11 | 2003-09-02 | シャープ株式会社 | 逐次型順序変換装置 |
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 |
US5845130A (en) * | 1996-09-11 | 1998-12-01 | Vlsi Technology, Inc. | Mailbox traffic controller |
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 |
US6046982A (en) * | 1997-03-18 | 2000-04-04 | Cabletron Systems, Inc. | Method and apparatus for reducing data loss in data transfer devices |
US6020760A (en) * | 1997-07-16 | 2000-02-01 | Altera Corporation | I/O buffer circuit with pin multiplexing |
US6034857A (en) * | 1997-07-16 | 2000-03-07 | Altera Corporation | Input/output buffer with overcurrent protection circuit |
US6011744A (en) * | 1997-07-16 | 2000-01-04 | Altera Corporation | Programmable logic device with multi-port memory |
DE19740694A1 (de) | 1997-09-16 | 1999-03-18 | Siemens Ag | Schaltungsanordnung zur Behandlung von Zugriffskonflikten |
US5999478A (en) * | 1998-05-21 | 1999-12-07 | Integrated Device Technology, Inc. | Highly integrated tri-port memory buffers having fast fall-through capability and methods of operating same |
US5982700A (en) * | 1998-05-21 | 1999-11-09 | Integrated Device Technology, Inc. | Buffer memory arrays having nonlinear columns for providing parallel data access capability and methods of operating same |
US6216205B1 (en) | 1998-05-21 | 2001-04-10 | Integrated Device Technology, Inc. | Methods of controlling memory buffers having tri-port cache arrays therein |
US5978307A (en) * | 1998-05-21 | 1999-11-02 | Integrated Device Technology, Inc. | Integrated circuit memory devices having partitioned multi-port memory arrays therein for increasing data bandwidth and methods of operating same |
US7096324B1 (en) | 2000-06-12 | 2006-08-22 | Altera Corporation | Embedded processor with dual-port SRAM for programmable logic |
US6658525B1 (en) * | 2000-09-28 | 2003-12-02 | International Business Machines Corporation | Concurrent access of an unsegmented buffer by writers and readers of the buffer |
US6546461B1 (en) | 2000-11-22 | 2003-04-08 | Integrated Device Technology, Inc. | Multi-port cache memory devices and FIFO memory devices having multi-port cache memory devices therein |
US7120761B2 (en) | 2000-12-20 | 2006-10-10 | Fujitsu Limited | Multi-port memory based on DRAM core |
US7171525B1 (en) * | 2002-07-31 | 2007-01-30 | Silicon Image, Inc. | Method and system for arbitrating priority bids sent over serial links to a multi-port storage device |
US8397034B1 (en) | 2003-06-27 | 2013-03-12 | Cypress Semiconductor Corporation | Multi-port arbitration system and method |
US7042792B2 (en) * | 2004-01-14 | 2006-05-09 | Integrated Device Technology, Inc. | Multi-port memory cells for use in FIFO applications that support data transfers between cache and supplemental memory arrays |
JP2005259321A (ja) * | 2004-03-15 | 2005-09-22 | Nec Electronics Corp | フレキシブル・マルチエリア・メモリ及び該メモリを用いた電子機器 |
JP2005259320A (ja) * | 2004-03-15 | 2005-09-22 | Nec Electronics Corp | パーシャル・デュアル・ポート・メモリ及び該メモリを用いた電子機器 |
US7516280B1 (en) | 2004-03-30 | 2009-04-07 | Cypress Semiconductor Corporation | Pulsed arbitration system and method |
WO2006001078A1 (ja) * | 2004-06-28 | 2006-01-05 | Renesas Technology Corp. | 半導体集積回路装置 |
US7110304B1 (en) * | 2004-08-26 | 2006-09-19 | Altera Corporation | Dual port memory array using shared write drivers and read sense amplifiers |
US7813213B1 (en) | 2005-05-04 | 2010-10-12 | Cypress Semiconductor Corporation | Pulsed arbitration system |
DE102005037219A1 (de) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Vorrichtung und Verfahren zur Speicherung von Daten und/oder Befehlen in einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten und wenigstens einem ersten Speicher oder Speicherbereich für Daten und/oder Befehle |
KR100655081B1 (ko) * | 2005-12-22 | 2006-12-08 | 삼성전자주식회사 | 가변적 액세스 경로를 가지는 멀티 포트 반도체 메모리장치 및 그에 따른 방법 |
KR100725100B1 (ko) * | 2005-12-22 | 2007-06-04 | 삼성전자주식회사 | 포트간 데이터 전송기능을 갖는 멀티패쓰 억세스블 반도체메모리 장치 |
KR100735612B1 (ko) * | 2005-12-22 | 2007-07-04 | 삼성전자주식회사 | 멀티패쓰 억세스블 반도체 메모리 장치 |
US7600081B2 (en) * | 2006-01-18 | 2009-10-06 | Marvell World Trade Ltd. | Processor architecture having multi-ported memory |
KR100745374B1 (ko) * | 2006-02-21 | 2007-08-02 | 삼성전자주식회사 | 멀티포트 반도체 메모리 장치 및 그에 따른 신호 입출력방법 |
TW200745873A (en) * | 2006-06-05 | 2007-12-16 | Dmp Electronics Inc | Dual computers for backup and being fault-tolerant system architecture |
JP4835935B2 (ja) * | 2007-01-05 | 2011-12-14 | 横河電機株式会社 | データ転送回路および半導体試験装置 |
US7630272B2 (en) | 2007-02-19 | 2009-12-08 | Freescale Semiconductor, Inc. | Multiple port memory with prioritized world line driver and method thereof |
US8587595B2 (en) | 2009-10-01 | 2013-11-19 | Hand Held Products, Inc. | Low power multi-core decoder system and method |
JP2011227834A (ja) * | 2010-04-22 | 2011-11-10 | Sony Corp | 信号制御装置及び信号制御方法 |
US8918594B2 (en) | 2010-11-16 | 2014-12-23 | Micron Technology, Inc. | Multi-interface memory with access control |
US8582389B2 (en) * | 2011-06-15 | 2013-11-12 | Arm Limited | Write assist in a dual write line semiconductor memory |
US8700879B2 (en) | 2011-08-31 | 2014-04-15 | Micron Technology, Inc. | Concurrent memory operations |
US8432756B1 (en) | 2011-10-18 | 2013-04-30 | Apple Inc. | Collision prevention in a dual port memory |
WO2017194326A1 (en) * | 2016-05-13 | 2017-11-16 | Sony Corporation | Apparatuses and methods for using arq processes in a relay device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4860263A (en) * | 1987-01-23 | 1989-08-22 | Siemens Aktiengesellschaft | Semiconductor memory with random access via two separate inputs/outputs |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5146572A (en) * | 1980-11-17 | 1992-09-08 | International Business Machines Corporation | Multiple data format interface |
JP2615088B2 (ja) * | 1987-11-06 | 1997-05-28 | 株式会社日立製作所 | 半導体記憶装置 |
US4937781A (en) * | 1988-05-13 | 1990-06-26 | Dallas Semiconductor Corporation | Dual port ram with arbitration status register |
US5157775A (en) * | 1989-12-15 | 1992-10-20 | Eastman Kodak Company | Dual port, dual speed image memory access arrangement |
-
1990
- 1990-04-10 JP JP2095308A patent/JP2965043B2/ja not_active Expired - Fee Related
-
1991
- 1991-04-09 DE DE4111483A patent/DE4111483C2/de not_active Expired - Fee Related
- 1991-04-09 US US07/682,826 patent/US5276842A/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4860263A (en) * | 1987-01-23 | 1989-08-22 | Siemens Aktiengesellschaft | Semiconductor memory with random access via two separate inputs/outputs |
Non-Patent Citations (2)
Title |
---|
DE-Z.: eee Elektronik-Applikation, Nr. 3, vom 3. Februar 1987, S. 44-46 * |
DE-Z: KROSS, M.: "Der Einsatz statischer Dual-Port-RAMs", In: Design & Elektronik, Ausgabe 1, 7.1.1987, S. 61-69 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4333226A1 (de) * | 1993-09-30 | 1995-04-06 | Licentia Gmbh | Verfahren und Vorrichtung zur Steuerung des Zugriffs zu Dual-Port-Speichern |
Also Published As
Publication number | Publication date |
---|---|
US5276842A (en) | 1994-01-04 |
JP2965043B2 (ja) | 1999-10-18 |
JPH03292695A (ja) | 1991-12-24 |
DE4111483C2 (de) | 1995-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4111483C2 (de) | Dual-Port-Speicher | |
DE2741886A1 (de) | Datenuebertragungseinrichtung | |
DE3508291A1 (de) | Realzeit-datenverarbeitungssystem | |
DE10003465A1 (de) | Halbleiterspeichervorrichtung mit Mehrfachanschluß (Multiple-Port Semiconductor Memory Device) | |
DE1424762B2 (de) | Datenverarbeitungsanlage | |
DE4204119A1 (de) | Dual-port-speicher | |
DE1524882A1 (de) | Vorrangschaltung fuer Speicher verschiedener Zugriffszeiten | |
DE2905675A1 (de) | Schaltungsanordnung zur sperrung des zugangs zu einem speicher | |
DE2727876B2 (de) | Steuereinrichtung mit einem Mikroprozessor | |
DE2928488A1 (de) | Speicher-subsystem | |
DE2933474C2 (de) | ||
DE4207945A1 (de) | Multiport-speicher und verfahren zum entscheiden eines zugriffskonflikts darin | |
DE4024594C2 (de) | ||
DE3123382C2 (de) | Verfahren und Einrichtung zum Übertragen von Daten in einem Mehrprozessorsystem | |
DE2905676A1 (de) | Integrierte schaltung mit einem einzigen chip | |
EP0062141B1 (de) | Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem | |
DE4406258C2 (de) | Informationsverarbeitungsvorrichtung | |
DE1237812B (de) | Datenverarbeitungsgeraet mit mehreren Speichern | |
DE4206079C2 (de) | Halbleiterspeichereinrichtung und Verfahren zum Lesen von Daten aus einer solchen Halbleiterspeichereinrichtung | |
DE112019007853T5 (de) | Steuereinrichtung | |
DE2316321C2 (de) | Schaltungsanordnung an der Schnittstelle zwischen einer Steuerung eines Rechenwerkes und einem Hauptspeichers einer Rechenanlage | |
DE2713304C2 (de) | ||
DE2633155A1 (de) | Einrichtung zur erzeugung zeitdefinierter steuersignale | |
EP0113379A1 (de) | Rechnerkopplung | |
DE69629542T2 (de) | Adressierbares serielles prüfsystem |
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 | ||
8328 | Change in the person/name/address of the agent |
Representative=s name: PRUFER & PARTNER GBR, 81545 MUENCHEN |
|
8339 | Ceased/non-payment of the annual fee |