DE4111483A1 - Dual-port-speicher - Google Patents

Dual-port-speicher

Info

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
Application number
DE4111483A
Other languages
English (en)
Other versions
DE4111483C2 (de
Inventor
Mitsuru Sugita
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE4111483A1 publication Critical patent/DE4111483A1/de
Application granted granted Critical
Publication of DE4111483C2 publication Critical patent/DE4111483C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access 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.
(1) Betrieb im Fall 1
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.
(2) Betrieb im Fall 2
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.
(3) Betrieb im Fall 3
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.
(4) Betrieb im Fall 4
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.
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.
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.
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.
DE4111483A 1990-04-10 1991-04-09 Dual-Port-Speicher Expired - Fee Related DE4111483C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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