DE4111483C2 - Dual-Port-Speicher - Google Patents

Dual-Port-Speicher

Info

Publication number
DE4111483C2
DE4111483C2 DE4111483A DE4111483A DE4111483C2 DE 4111483 C2 DE4111483 C2 DE 4111483C2 DE 4111483 A DE4111483 A DE 4111483A DE 4111483 A DE4111483 A DE 4111483A DE 4111483 C2 DE4111483 C2 DE 4111483C2
Authority
DE
Germany
Prior art keywords
data
read
write
port
memory cell
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE4111483A
Other languages
English (en)
Other versions
DE4111483A1 (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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Static Random-Access Memory (AREA)

Description

Die Erfindung betrifft allgemein einen Dual-Port-Speicher nach dem Oberbegriff des Patenanspruches 1.
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-/Ausgangsports (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 ge­ trennt zugegriffen werden.
Der oben angeführte Dual-Port-Speicher 1 wird häufig für Datenemp­ fang/-übertragung zwischen dem A-System 3 und dem B-System 5 be­ nutzt. Beispielsweise ist es im Fall, wenn das A-System 3 und das B- System 5 asynchron arbeiten, schwierig, zwischen den jeweiligen Sy­ stemen eine Datenübertragung direkt auszuführen. Beim Übertragen von Daten über den Dual-Port-Speicher 1 ist es jedem System möglich, Da­ ten beliebig ein-/auszugeben, wenn dies notwendig ist. Folglich ver­ bessert 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-Spei­ cher, 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 be­ zeichnet) 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 be­ zeichnet) angelegt werden, von einem Adreßmultiplexer 8 gemultiplext und an einen Dekoder 9 angelegt werden. Der Dekoder 9 wählt entspre­ chend 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. Fer­ ner 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 Lesever­ stärker 14 werden von der CPU 6 oder 7 Schreibdaten an die Bitlei­ tung 13 angelegt oder Daten, die auf die Bitleitungen ausgelesen worden sind, werden der CPU 6 oder 7 zugeführt. Der Dekoder 9 be­ treibt selektiv eine der Mehrzahl von Wortleitungen 12 in Überein­ stimmung mit den angelegten Daten. Dies bewirkt, daß ein Transfer­ gatetransistor 15 der ausgewählten Zeile einen leitenden Zustand annimmt. Ferner aktiviert der Dekoder 9 selektiv einen der unter­ teilten Leseverstärker 14 in Übereinstimmung mit den zugeführten Da­ ten. Damit wird die ausgewählte Speicherzelle 11 über den entspre­ chenden Transfergatetransistor 15 mit der CPU 6 oder 7 verbunden. Damit ist ein Lesen und Schreiben von Daten bezüglich der ausgewähl­ ten 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 Zusam­ menhang 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 entspre­ chend 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 Transfergatetransistoren 15a und 15b für eine Speicher­ zelle 11 gebildet. Wortleitung 12a, Bitleitung 13a und Transfergate­ transistor 15a sind entsprechend dem A-Port und Wortleitung 12b, Bitleitung 13b und Transfergatetransistor 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 Speicher­ zelle 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 ge­ schriebenen 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 ei­ ner vorbestimmten Priorität und hält den Zugriff des anderen Systems temporär an. Anschließend wird der temporär angehaltene Zugriff ge­ startet, 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-175992 beschrieben ist.
Der Dual-Port-RAM der Fig. 5 weist einen Ausgangsdaten-Steuerschalt­ kreis 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 ent­ sprechende 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-Steuer­ signale Φ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-Aus­ gangsdaten Dout(A) vom Leseverstärker 14a in Abhängigkeit vom Aus­ gangsdaten-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-Steuerschaltkrei­ ses 20 der Fig. 5. Der Ausgangsdaten-Steuerschaltkreis 20 weist Ex­ klusiv-Logiksummengatter 22₀-22 n, ein ODER-Gatter 23 und NOR-Gatter 24a, 24b auf. Die Exklusiv-Logiksummengatter 22₀-22 n erfassen je­ weils, 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) enthal­ ten sind, übereinstimmt. Das ODER-Gatter 23 ermittelt, ob die A- Port-Adreßdaten (A) mit den B-Port-Adreßdaten (B) als ganzes über­ einstimmen, indem die logische Summe der Ausgangssignale von den Ex­ klusiv-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 Aus­ gangsdaten-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, wo­ bei 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 Aus­ gangsdaten-Steuersignal ΦB vom Ausgangsdaten-Steuerschaltkreis 20 wird an die jeweils anderen Eingänge der NOR-Gatter 26 und 27 ange­ legt. 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 oben erwähnten D-Flip- Flops 21b ähnlich, außer daß sich das Eingangssignal und das Aus­ gangssignal von denen des oben angeführten D-Flip-Flops 21b unter­ scheiden.
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 Zeitdia­ gramm der Fig. 8 wird nun der Betrieb zum Zeitpunkt des Zugriffskon­ fliktes 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-Gat­ ters 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-Steuersi­ gnal ΦB auf den H-Pegel zu bringen. Damit wird die Aktualisierungs­ operation 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 Aus­ gangsdaten Dout(B)* des B-Ports stabil gehalten. Ist die Schreibope­ ration der Seite des A-Ports beendet, so kehrt das A-Port-Schreibsi­ gnal (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 Ausgangs­ daten Dout(b) des B-Ports aktualisiert. Dies bedeutet, daß die ex­ ternen Ausgangsdaten Dout(B)* des B-Ports zu diese 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 dersel­ ben Speicherzelle ein Konflikt auftritt. Daher muß das B-System mit dem Lesen der neuen Daten warten, bis der Schreibzugriff des A-Sy­ stems 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-175992 nicht beschrie­ ben). 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 Multiportspei­ chers, der einen Schaltkreis für beliebigen Zugriff aufweist und beispielsweise in der JP 63-183678 beschrieben ist. Ein Multiport­ speicher 34 weist drei Ein-/Ausgabeports A-Port, B-Port und C-Port auf, so daß drei CPUs 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 wer­ den. 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 Schreib­ datenverriegelungen 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 Speicherbe­ reich 37 zugeführt. Die aus dem Speicherbereich 37 ausgelesenen Da­ ten werden über die Datenports 40a, 40b bzw. 40c den CPUs 31, 32 und 33 zugeführt. Ein Speichersteuerabschnitt 41 steuert die Adreßver­ riegelungen 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 Multiport­ speichern benutzte Schaltkreis für beliebigen Zugriff kann die Zu­ griffsoperationen bezüglich des Systems in eine Warteschlange ein­ reihen, 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 Zeit­ punkten ausgeführt werden. Ist in einem solchen System die Zeitab­ stimmung 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 be­ nutzt 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.
Aus der deutschen Zeitschrift "Design & Elektronik", Ausgabe 1, 7. Januar 1987, Seiten 61 bis 69, ist ein Dual-Port-Speicher nach dem Oberbegriff des Patentanspruches 1 bekannt. Bei dem bekannten Dual-Port-Speicher können die beiden Ein-/Ausgabeports voneinan­ der unabhängig auf jeden Speicherplatz lesend oder schreibend zugreifen. Durch eine On-Chip-Logik ist Vorsorge getroffen, daß es zu keinen Zugriffskonflikten kommen kann.
Es ist Aufgabe der vorliegenden Erfindung, einen Dual-Port-Spei­ cher der eingangs beschriebenen Art vorzusehen, der selbst dann flexibel einen beliebigen Zugriff gestattet, ohne an das System eine Zugriffswarteanforderung auszugeben, wenn zwischen den Systemen ein Zugriffskonflikt auftritt.
Diese Aufgabe wird gelöst durch einen Dual-Port-Speicher der ein­ gangs beschriebenen Art, der durch die Merkmale des kennzeichnen­ den Teiles des Patentanspruches 1 gekennzeichnet ist.
Bevorzugte Ausgestaltungen der Erfindung sind in den zugehörigen Unteransprüchen angegeben.
Tritt bei dem vorliegenden Speicher ein Zugriffskonflikt zwischen dem ersten System und dem zweiten System bezüglich derselben Speicherzelle auf, so vermittelt die Steuersignal-Erzeugereinrich­ tung und die erste und die zweite Übertragungssteuereinrichtung im Zugriffskonflikt. Die Steuersignal-Erzeugereinrichtung und die erste und die zweite Übertragungssteuereinrichtung verarbeiten den Zu­ griffskonflikt 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, in­ dem 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.
Es folgt die Beschreibung eines Ausführungsbeispieles anhand der Figuren. Von den Figuren zeigen:
Fig. 1 ein Systemblockdiagramm einer allgemeinen Anwendungs­ konfiguration eines Dual-Port-Speichers;
Fig. 2A ein Blockdiagramm eines Beispiels eines herkömmlichen Dual-Port-Speichers;
Fig. 2B ein Diagramm, das eine Teilstruktur des Speicher­ zellenfeldes 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 Speicher­ zellenfeldes von Fig. 3B darstellt;
Fig. 4 ein Diagramm, das die Zustände des 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 Schalt­ kreises 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. 16A 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 Über­ einstimmung mit einer Ausführungsform der vorliegenden Erfindung be­ schrieben. 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-Erfassungs­ schaltkreis 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-Erzeuger­ schaltkreis 52 erzeugt in Übereinstimmung mit einem Zugriffskon­ flikt-Erfassungssignal S1, das vom Zugriffskonflikt-Erfassungs­ schaltkreis 51 zugeführt wird, von der CPU 6 angelegten A-Port-Steu­ erdaten und von der CPU 7 angelegten B-Port-Steuerdaten ein Steuer­ signal für den A-Port und ein Steuersignal für den B-Port. Die A- Port-Steuerdaten weisen ein Schreibsteuersignal (A), ein Definiti­ onssignal *(A) für die erlaubte Periode der Schreiboperation und ein Lesesteuersignal (A), die B-Port-Steuerdaten ein Schreibsteuer­ signal (B), ein Definitionssignal *(B) für die erlaubte Periode der Schreiboperation und ein Lesesteuersignal (B) auf. Das im Steu­ ersignal-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 in­ ternen 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 inter­ nen 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 Schreibdatenver­ riegelung 53a hält Schreibdaten von der Seite des A-Ports, die Schreibdatenverriegelung 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, Aus­ wahlschalter 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 beispiels­ weise parallel geschaltet und bestehen aus zwei Transistoreinrich­ tungen, die komplementär zueinander arbeiten. Der Schalter 55a be­ findet sich zwischen einem Systembus 2 und der Schreibdatenverriege­ lung 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 Leseverstä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 WE(A) bzw. WE(B) 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 Lesever­ stärkers 14b oder das Ausgangssignal der Schreibdatenverriegelung 53a aus und legt das ausgewählte Ausgangssignal an die Lesedatenver­ riegelung 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 Aus­ wahlschalter 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 Lesedatenver­ riegelung 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 ent­ halten 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 über­ einstimmen, indem das logische Produkt der Ausgangssignale der Ex­ klusiv-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 Le­ seoperations-Steuerschaltkreis, um Steuersignale zum Steuern der Le­ seoperation des A- und B-Ports zu erzeugen, und einen Schreibopera­ tions-Steuerschaltkreis, um Steuersignale zum Steuern der Schreibo­ peration des A- und B-Ports zu erzeugen, auf.
Fig. 12 zeigt ein Blockdiagramm der Konfiguration des oben angeführ­ ten Leseoperations-Steuerschaltkreises, der im Steuersignal-Erzeu­ gerschaltkreis 52 enthalten ist. Der Leseoperations-Steuerschalt­ kreis 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 darge­ stellt ist. Es unterscheiden sich nur das angelegte Signal und das erzeugende Signal, die Schaltkreisstruktur ist dieselbe. Daher wer­ den die einander entsprechenden Abschnitte durch dieselben Bezugs­ zeichen bezeichnet, wobei den Bezugszeichen für den Schaltkreis auf der Seite des A-Ports ein "a" und den Bezugszeichen für den Schalt­ kreis 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 Erfas­ sen 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 Ab­ fall des Eingangssignals einen Einzelimpuls mit H-Pegel aus. Sie sind z. B. aus einem Einzelimpulsmultivibrator gebildet, der in Ab­ hängigkeit von einem Signalabfall betreibbar ist. Die Anstiegserfas­ sungsschaltkreise 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 Aus­ gangssignal des UND-Gatters 65 wird dem Einstellanschluß des RS- Flip-Flops 75a zugeführt. Das Ausgangssignal des Abfallerfassungs­ schaltkreises 72a wird an einen Eingang des UND-Gatters 66a, das Le­ sesteuersignal (A) an den Abfallerfassungsschaltkreis 71a, den An­ stiegerfassungsschaltkreis 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 Anstiegerfas­ sungsschaltkreises 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 Lesedaten­ ausgabe-Steuersignal R(A) bereitgestellt. Das Definitionssignal (B) für die erlaubte Periode der Schreiboperation wird an den An­ stiegserfassungsschaltkreis 74a und das Ausgangssignal des An­ stiegserfassungsschaltkreises 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-Aus­ gangssignal des RS-Flip-Flops 76a als Lesedateneinlese-Steuersignal RE (A) bereitgestellt.
Unter Betrachtung des oben angeführte Schreiboperations-Steuer­ schaltkreises, der im Steuersignal-Erzeugerschaltkreis 52 der Fig. 10 enthalten ist, werden nun Beispiele zweier Schaltkreise beschrie­ ben. Genauer gesagt handelt es sich um die in den Fig. 12B und 12C gezeigten Schreiboperations-Steuerschaltkreise. Der Schreiboperati­ ons-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 Schreibopera­ tions-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 Kon­ flikt 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 ge­ ben als Reaktion auf den Abfall des Eingangssignals einen Einzelim­ puls mit H-Pegel aus. Sie sind z. B. als Einzelimpulsmultivibrator, der von einem Signalabfall abhängig ist, gebildet. Das Ausgangssi­ gnal des Abfallerfassungsschaltkreises 82a wird dem Eingang des RS- Flip-Flops 83a mit Priorität des Setzeinganges zugeführt. Das Aus­ gangssignal des Abfallerfassungsschaltkreises 82b wird an den Ein­ stelleingang des RS-Flip-Flops 83b mit Priorität des Rückstellein­ gangs angelegt. Das Zugriffskonflikt-Erfassungssignal S1 vom Zu­ griffskonflikt-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-Aus­ gangssignal 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 An­ stiegserfassungsschaltkreise 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 Defi­ nitionssignal WE(A) für den internen Schreibzyklus und das Q-Aus­ gangssignal des RS-Flip-Flops 83b als Definitionssignal WE(B) des internen Schreibzyklus bereitgestellt.
Im folgenden wird die Struktur des Schreiboperations-Steuerschalt­ kreises der Fig. 12C beschrieben. Der Schreiboperations-Steuer­ schaltkreis der Fig. 12C weist ähnlich wie der Schreiboperations- Steuerschaltkreis der Fig. 12B Inverter 81a, 81b, Abfallerfassungs­ schaltkreise 82a, 82b, RS-Flip-Flops 83a, 83b und ein ODER-Gatter 86b auf. Es wird jedoch das Definitionssignal *(A) der erlaubten Pe­ riode 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 Ein­ gang 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 Zu­ griffskonflikt-Erfassungssignal S1 vom Zugriffskonflikt-Erfassungs­ schaltkreis 51 an den anderen Eingang des UND-Gatter 87 angelegt wird.
Fig. 13 zeigt ein Zeitdiagramm zur Erläuterung der allgemeinen Ope­ ration der in den Fig. 10-12C gezeigten Ausführungsform. Unter Be­ zugnahme auf die Fig. 13 wird nun die Schreib-/Leseoperation der Seite des A-Ports in einem Fall beschrieben, bei dem kein Zugriffs­ konflikt 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 Schreibo­ peration und Schreibdaten über den Systembus. In allgemeinen Spei­ chereinrichtungen 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 Zeit­ spanne nach der Einleseperiode der Schreibdaten ausgeführt wird. Zu diesem Zweck wird das Definitionssignal *(A) für die erlaubte Peri­ ode 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 Schreibo­ peration wird der Schreibperiode der Daten in die Speicherzelle zu­ gewiesen. Während dieser Periode ist das Schreiben von Daten in die ausgewählte Speicherzelle möglich, da die A-Port-Adreßdaten A(A) im­ mer noch anliegen. Ein solches Definitionssignal *(A) für die er­ laubte 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 Schreibopera­ tion 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 inter­ nen 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 Reak­ tion 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 ge­ haltenen 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 Zeit­ spanne 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 be­ schrieben. 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 Zugriffs­ konflikt-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 75a wird nicht ge­ setzt und dessen Q-Ausgang, d. h. das Schaltsteuersignal SEL(A) wird auf dem L-Pegel gehalten. Als Reaktion hierauf wählt der Auswahl­ schalter 58a das Ausgangssignal des Leseverstärkers 14a aus. Ferner wird das RS-Flip-Flop 76a als Reaktion auf den Abfall des Lesesteu­ ersignals (A) gesetzt. Entsprechend befindet sich der Q-Ausgang des RS-Flip-Flops 76a, d. h. das Lesedateneinlese-Steuersignal RE(A) wäh­ rend der Zeitspanne, in der das Lesesteuersignal (A) auf dem L-Pe­ gel liegt, auf dem H-Pegel. Befindet sich das Lesedateneinlese-Steu­ ersignal 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 Leseda­ tenverriegelung 54a das Ausgangssignal des Leseverstärkers 14a, d. h. die aus der ausgewählten Speicherzelle des Feldes 100 gelesenen Da­ ten.
Da das Lesedatenausgabe-Steuersignal R(A) das invertierte Signal des Lesesteuersignals (A) darstellt, befindet sich das Lesedatenaus­ gabe-Steuersignal R(A) während der Zeitspanne, in der das Lesesteu­ ersignal (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ühr­ ten Schreiboperation wird bei der Leseoperation der Lesezyklus, wie er von der CPU 6 aus gesehen wird (definiert durch die L-Pegel-Peri­ ode des Lesesteuersignals (A)), als externer Lesezyklus und der Le­ sezyklus im Inneren des Dual-Port-RAM 50 (definiert durch die H-Pe­ gel-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 Schrei­ boperation (Schreibzyklus) wird in die erste Hälfte des externen Schreibzyklus mit der Zeitperiode T1 und die spätere Hälfte des in­ ternen 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 Le­ seoperation 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 Speicher­ zelle ein Zugriffskonflikt auftritt. Unter Bezugnahme auf die Fig. 15 wird nun der Betrieb der Ausführungsform der Fig. 10-12C be­ schrieben, wenn der oben angeführte Zugriffskonflikt auftritt. Fig. 15 zeigt die Taktsignale für die vier Fälle des Zugriffskonfliktes. Fig. 16A ist zur Verdeutlichung 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 Schreibzy­ klus des A-Ports endet. Fall 3 von (c) in Fig. 16A legt dar, daß der Lesezyklus des B-Ports während des externen 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 folgen­ den 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 darge­ stellt.
(1) Betrieb im Fall 1
Wird der Lesezyklus des B-Ports durch einen Abfall des Lesesteuersi­ gnals (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 ausge­ geben und das RS-Flip-Flop 76b gesetzt. Dies bewirkt einen Anstieg des Lesedateneinlese-Steuersignals RE(B) auf den H-Pegel. Da zu die­ sem Zeitpunkt kein Zugriffskonflikt existiert, liegt das Zugriffs­ konflikt-Erfassungssignal S1 vom Zugriffskonflikt-Erfassungsschalt­ kreis 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 Lesesteuersi­ gnals (B) ein Einzelimpuls mit H-Pegel vom Abfallerfassungsschalt­ kreis 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 Lese­ datenausgabe-Steuersignal R(B) auf dem H-Pegel liegt, ist der Drei- Zustands-Puffer 59b leitend. Ferner ist der Schalter 57b durchge­ schaltet, 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 Schreibzy­ klus, das das invertierte Signal des Schreibsteuersignals (A) dar­ stellt, 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-Steuer­ schaltkreises 63b auf der Seite des B-Ports. Daher verbleiben das Lesedatenausgabe-Steuersignal R(B) sowie das Lesedateneinlese-Steu­ ersignal 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 Schal­ ter 55a auf der Seite des A-Ports neu durchgeschaltet. Daher befin­ det sich der Betriebszustand des Dual-Port-RAM 50 zu diesem Zeit­ punkt im Zustand der Fig. 17B. Das bedeutet, daß die Schreibda­ ten von der CPU 6 der Schreibdatenverriegelung 53a auf der Seite des A-Ports zugeführt und gehalten werden. Demgegenüber tritt im Be­ triebszustand auf der Seite des B-Ports keine Änderung auf und vom Leseverstärker 14b ausgegebenen Lesedaten werden über die Lesedaten­ verriegelung 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 in­ vertierte 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 An­ stieg des Lesesteuersignals R(B) ein Einzelimpuls mit H-Pegel ausge­ geben. Dieser Einzelimpuls durchläuft das ODER-Gatter 69b und wird an den Rückstelleingang des RS-Flip-Flops 76b angelegt. Dies be­ wirkt, 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 De­ finitionssignal 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-leiten­ den 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 Schreib­ datenverriegelung 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 ex­ terne Schreibzyklus des A-Ports. Als Reaktion auf den Abfall des De­ finitionssignals W(A) des externen Schreibzyklus wird vom Abfaller­ fassungsschaltkreis 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 in­ ternen Schreibzyklus auf den H-Pegel ansteigt und der interne Schreibzyklus des A-Ports beginnt. Demgegenüber ändert sich der Be­ triebszustand des Leseoperations-Steuerschaltkreises 63b auf der Seite des B-Ports nicht. Entsprechend behalten das Lesedateneinlese- Steuersignals RE(B), das Lesedatenausgabe-Steuersignals 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-Pe­ gel, 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 be­ deutet, 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 angehal­ ten.
Beim Betrieb im Fall 1 werden die an den A-Port angelegten Schreib­ daten nicht sofort in eine Speicherzelle geschrieben, sondern zuerst in der Schreibdatenverriegelung gehalten, während das Lesen und Aus­ geben von Daten auf der Seite des B-Ports während dieser Periode ausgeführt werden. Beim Schreiben der in der Schreibdatenverriege­ lung 53a gehaltenen Schreibdaten in eine Speicherzelle wird die Aus­ gabeoperation der Lesedaten im B-Port verhindert, so daß eine Unde­ finiertheit 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 Lesesteuersi­ gnal (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 Zeit­ punkt der Zustand von in der oben angeführten Fig. 17A. Dies be­ deutet, 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 Definiti­ onssignal *(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 Lesezy­ klus. 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ühr­ ten Schreibdaten an die Schreibdatenverriegelung 53a angelegt und gehalten werden. Auf der Seite des B-Ports werden die vom Lesever­ stärker 14b ausgegebenen Lesedaten über die Lesedatenverriegelung 54b dem Systembus 3 zugeleitet.
Wenn als nächstes das Schreibsteuersignal (A) auf den H-Pegel an­ steigt und das Definitionssignal W(A) für den externen Schreibzy­ klus, 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 Einze­ limpuls mit H-Pegel ausgegeben, um das RS-Flip-Flop 83a zu setzen. Dies bewirkt einen Anstieg des Definitionssignals WE(A) für den in­ ternen Schreibzyklus auf den H-Pegel, wodurch der interne Schreibzy­ klus des A-Ports gestartet wird. Demgegenüber fällt im Leseoperati­ ons-Steuerschaltkreis 63b auf der Seite des B-Ports das Ausgangssi­ gnal 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 ein Eingang des UND-Gatters 64b auf den L-Pegel gezogen wird, obwohl sich das Zugriffskonflikt-Erfas­ sungssignal 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 Ein­ zelimpuls 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 Abfallerfassungsschalt­ kreis 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-Steuersi­ gnal RW(B) auf den L-Pegel gezogen. Das Lesedatenausgabe-Steuersi­ gnal 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 Schreibzy­ klus 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 darge­ stellte 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 aus­ gewählte Speicherzelle geschrieben zu werden. Demgegenüber werden auf der Seite des B-Ports die in der Lesedatenverriegelung 54b ge­ haltenen Lesedaten über den Drei-Zustands-Puffer 59b dem Systembus 4 zugeführt.
Wenn als nächstes das Definitionssignal *(A) für die erlaubte Peri­ ode der Schreiboperation auf den H-Pegel ansteigt, wird das RS-Flip- Flop im Schreiboperations-Steuerschaltkreis der Fig. 12B und 12C zu­ rü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-Steu­ erschaltkreis 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 beibe­ hält. Damit wird der Schalter 56a gesperrt, das das Definitionssi­ gnal WE(A) des internen Schreibzyklus auf den L-Pegel gebracht wird. Daher ist der Betriebszustand des Dual-Port-RAM 50 zu diesem Zeit­ punkt 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 ei­ nem 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 begon­ nen worden. Dieser Zustand ist ähnlich dem Zustand des oben ange­ führten Falles 1, bei dem der Lesezyklus des B-Ports während des ex­ ternen Schreibzyklus des A-Ports endet. Daher ist der Betriebszu­ stand 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 ausge­ fü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 Ab­ fallerfassungsschaltkreis 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 ausgegeben 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 Schreibzy­ klus den L-Pegel bei. Damit wählt der Auswahlschalter 58b das Aus­ gangssignal der Schreibdatenverriegelung 53a aus, da das Schaltsteu­ ersignal 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 Auswahl­ schalter 58b und den Schalter 57b der Lesedatenverriegelung 54b zu­ geführt und gehalten. Die gehaltenen Daten der Lesedatenverriegelung 54b werden dem Systembus 4 über den Drei-Zustands-Puffer als Leseda­ ten übergeben. Dies bedeutet, daß die auf der Seite des A-Ports ein­ gelesenen 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 des­ sen invertiertes Signal darstellt, auf den L-Pegel ab und der ex­ terne Schreibzyklus des A-Ports endet. Ferner wird als Reaktion auf den Abfall des Definitionssignals W(A) für den externen Schreibzy­ klus vom Abfallerfassungsschaltkreis 82a im Schreiboperations-Steu­ erschaltkreis der Fig. 12B und 12C ein Einzelimpuls mit H-Pegel aus­ gegeben, um das RS-Flip-Flop 83a zu setzen. Daher steigt das Defini­ tionssignal 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 Zeit­ punkt 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 gehal­ tenen Schreibdaten über den Schalter 56a dem Leseverstärker 14a zu­ gefü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 zu­ gefü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 be­ findet 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 oben erwä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 Lesedatenverriege­ lung 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 Lesedatenverrie­ gelung 54b über den Auswahlschalter 58b zugeführt und von der Lese­ datenverriegelung 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 in der Schreibdatenverriegelung 54b gehaltenen Daten vor der Ausführung des Überschreibens mit ande­ ren Worten als Lesedaten behandelt. Dies verhindert eine Undefi­ niertheit 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 ver­ riegelt 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 Defi­ nitionssignal WE(A) für den internen Schreibzyklus an, um den inter­ nen 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 in­ terne Schreibzyklus des A-Ports beginnt. Daher ist der Betriebszu­ stand 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 gehaltenen Schreibdaten an den Lesever­ stä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 Lesezy­ klus 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 Lesedatenein­ lese-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 Schreiboperati­ ons-Steuerschaltkreis der Fig. 12B und 12C statt. Daher behalten das Definitionssignal W(A) für den externen Schreibzyklus und das Defi­ nitionssignal WE(A) für den internen Schreibzyklus den L-Pegel bei. Damit wählt der Auswahlschalter 58b das Ausgangssignal des Lesever­ stärkers 14b aus, da das Schaltsteuersignal SEL(B) auf dem L-Pegel liegt. Ferner wird der Schalter 57b durchgeschaltet, da das Leseda­ teneinlese-Steuersignal RE(B) auf den H-Pegel gebracht wird. Darüber hinaus wird der Drei-Zustands-Puffer 59b leitend, weil das Leseda­ tenausgabe-Steuersignal R(B) auf den H-Pegel gezogen wird. Somit ist der Betriebszustand des Dual-Port-RAM 50 zu diesem Zeitpunkt der Zu­ stand 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 Speicher­ zelle 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 Peri­ ode der Schreiboperation auf den H-Pegel ansteigt, so fällt das De­ finitionssignal WE(A) für den internen Schreibzyklus ab, um die in­ terne 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 Le­ sezyklus 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 Schreib­ zyklus des A-Ports gestartet wird, befinden sich damit die aus der Speicherzelle ausgelesenen Daten selbst dann nicht in einem undefi­ nierten 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 wor­ den ist, bei dem ein Konflikt zwischen einem Schreibzugriff der Seite des A-Ports und einem Lesezugriff der Seite des B-Ports bezüg­ lich 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 zwi­ schen einem Schreibzugriff der Seite des A-Ports und einem Schreib­ zugriff der Seite des B-Ports bezüglich derselben Speicherzelle im Speicherzellenfeld 100 auftritt. Wie oben erwähnt worden ist, unter­ scheiden 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 Schreib­ zugriff 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 Schreiboperation- 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 Be­ zugnahme auf die Fig. 18 wird zuerst der Betrieb des Schreiboperati­ ons-Steuerschaltkreises der Fig. 12B zum Zeitpunkt des Zugriffskon­ fliktes beschrieben. Es wird angenommen, daß zuerst ein Schreibzu­ griff der Seite des A-Ports erzeugt wird, gefolgt von der Erzeugung eines Schreibzugriffs der Seite des B-Ports während des internen Schreibzyklus. Endet der externe Schreibzyklus des B-Ports und fällt das Definitionssignal W(B) des externen Schreibzyklus auf den L-Pe­ gel ab, so gibt der Abfallerfassungsschaltkreis 82b einen Einzelim­ puls mit H-Pegel aus und setzt das RS-Flip-Flop 83b. Dies bewirkt einen Anstieg des Definitionssignals WE(B) für den internen Schreib­ zyklus auf den H-Pegel, um den internen Schreibzyklus der Seite des B-Ports zu starten. Als Reaktion auf den Anstieg des Definitionssi­ gnals 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 Anstiegerfassungsschaltkreis 85a ein Einzelimpuls mit H-Pegel ausgegeben. Dieser Einzelimpuls wird über das ODER-Gat­ ter 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 ausge­ fü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 Be­ zugnahme auf die Fig. 19 wird der Betrieb des Schreiboperations- Steuerschaltkreises der Fig. 19C zum Zeitpunkt des Zugriffskonflik­ tes 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 Reak­ tion 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 De­ finitionssignal 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, da das Definitionssignal WE(A) des internen Schreibzyklus und das Zugriffskonflikt-Erfassungssignal S1 vom Zu­ griffskonflikt-Erfassungsschaltkreis 51 auf dem H-Pegel liegen und damit der Rückstelleingang des RS-Flip-Flops 83b auf dem H-Pegel ge­ halten 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 Zu­ griffskonfliktes 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 aus­ geführt werden, ohne daß ei 00512 00070 552 001000280000000200012000285910040100040 0002004111483 00004 00393ne Zugriffswarteanforderung zur externen Systemseite ausgegeben wird, wenn ein Zugriffskonflikt auftritt. Es ist daher möglich, diesen Dual-Port-Speicher in Systemen zu verwen­ den, 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 (10)

1. Dual-Port-Speicher zum Übertragen von Daten zwischen einem ersten System (6) und einem zweiten System (7) über einen ersten und einen zweiten Ein-/Ausgabeport, auf den gleichzeitig vom ersten und zweiten System (6, 7) zugegriffen werden kann, mit:
einem Speicherzellenfeld (100) mit einer Mehrzahl von Speicher­ zellen,
einer ersten Speicherzellen-Auswahleinrichtung (9a) zum Auswählen von einer der Speicherzellen im Speicherzellenfeld (100) in Ab­ hängigkeit von Adreßdaten A(A), die vom ersten System (6) zuge­ führt werden,
einer zweiten Speicherzellen-Auswahleinrichtung (9b) zum Auswählen von einer der Speicherzellen im Speicherzellenfeld (100) in Ab­ hängigkeit von Adreßdaten A(B), die vom zweiten System (7) zuge­ führt werden,
einer Zugriffskonflikt-Erfassungseinrichtung (51) zum Erfassen eines Konfliktes zwischen einem Zugriff des ersten Systems (6) und einem Zugriff des zweiten Systems (7) bezüglich derselben Spei­ cherzelle im Speicherzellenfeld (100),
gekennzeichnet durch:
eine Steuersignal-Erzeugungseinrichtung (52) zum Erzeugen einer Mehrzahl von Steuersignalen (SEL(A), W(A), WE(A), R(A), RE(A); SEL(B), W(B), WE(B), R(B), RE(B)) in Übereinstimmung mit den Steuerdaten ((A), *(A), (A); (B), *(B), (B)) von den ersten und zweiten Systemen (6, 7) und dem Ausgangssignal (S1) der Zu­ griffskonflikt-Erfassungseinrichtung (51),
eine erste Übertragungssteuereinrichtung (53a-59a), die von den Steuersignalen abhängig ist, zum Steuern der Übertragung von Schreibdaten und Lesedaten zwischen dem ersten System (6) und dem Speicherzellenfeld (100), und
eine zweite Übertragungssteuereinrichtung (53b-59b), die von den Steuersignalen abhängig ist, zum Steuern der Übertragung von Schreibdaten und Lesedaten zwischen dem zweiten System (7) und dem Speicherzellenfeld (100), wobei
die erste Übertragungssteuereinrichtung (53a-59a) eine erste Lese­ daten-Auswahleinrichtung (58a) aufweist 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 einem ersten Schaltsteuersi­ gnal (SEL(A)) aus der Mehrzahl von Steuersignalen von der Zu­ griffskonflikt-Erfassungseinrichtung (51), die einen Konflikt erfaßt, und
die zweite Übertragungssteuereinrichtung (53b-59b) eine zweite Lesedaten-Auswahleinrichtung (58b) aufweist zum selektiven Anlegen von Daten, die aus der Speicherzelle gelesen worden sind, oder der Schreibdaten, die vom ersten System (6) zugeführt werden, an das zweite System (7) in Abhängigkeit von einem zweiten Schaltsteuer­ signal (SEL(B)) aus der Mehrzahl von Steuersignalen von der Zu­ griffskonflikt-Erfassungseinrichtung (51), die einen Konflikt er­ faßt.
2. Dual-Port-Speicher nach Anspruch 1, dadurch gekennzeichnet, daß die erste Übertragungssteuereinrich­ tung (53a-59a)
eine erste Schreibdaten-Halteeinrichtung (53a) zum temporären Halten der Schreibdaten, die vom ersten System (6) zugeführt werden, und
einen ersten Schreibdaten-Schalter (56a) zum Anlegen der Schreibdaten, die in der ersten Schreib­ daten-Halteeinrichtung (53a) gehalten werden, nach einer vorbe­ stimmten ersten Zeitspanne an das Speicherzellenfeld (100) in Abhängigkeit eines ersten Definitionssignales (WE(A)) aus der Mehrzahl von Steuerdaten 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
einen zweiten Schreibdaten-Schalter (56b) zum Anlegen der Schreibdaten, die in der zweiten Schreib­ daten-Halteeinrichtung (53b) gehalten werden, nach der vorbe­ stimmten ersten Zeitspanne an das Speicherzellenfeld (100) in Abhängigkeit eines zweiten Definitionssignales (WE(B)) aus der Mehrzahl von Steuerdaten aufweist.
3. Dual-Port-Speicher nach Anspruch 2, dadurch gekennzeichnet, daß die erste Lesedaten-Auswahleinrichtung (58a)
Daten, die aus der durch die erste Speicherzellen-Auswahleinrich­ tung (9a) ausgewählten Speicherzelle gelesen worden sind, als Lesedaten auswählt, die dem ersten System (6) durch den zweiten Schreibdaten-Schalter (56b) zugeführt werden sollen, in Abhängig­ keit davon, daß
  • (i) das erste System (6) eine Speicherleseoperation auslöst, bevor das zweite System (7) Daten zuführt, die in den Speicher ge­ schrieben werden sollen, und
  • (ii) das erste System (6) eine Leseoperation während einer Zeit­ spanne auslöst, in der Schreibdaten, die in das Speicherzellenfeld (100) geschrieben werden sollen, in der zweiten Schreibdaten- Halteeinrichtung (53b) gehalten werden, und
die Schreibdaten, die in der zweiten Schreibdaten-Halteeinrichtung (53b) gehalten werden, als Lesedaten auswählt, die dem ersten System (6) von dem zweiten Schreibdaten-Schalter (56b) zugeführt werden sollen, in Abhängigkeit davon, daß das erste System (6) eine Speicherleseoperation auslöst, nachdem Daten, die vom zweiten System (7) in den Speicher eingeschrieben werden sollen, in der zweiten Schreibdaten-Halteeinrichtung (53b) gespeichert worden sind und vor den gehaltenen Schreibdaten an das Speicherzellenfeld (100) angelegt worden sind, und daß
die zweite Lesedaten-Auswahleinrichtung (58b) Daten, die von der durch die zweite Speicherzellen-Auswahlein­ richtung (9b) ausgewählten Speicherzelle gelesen worden sind, als Lesedaten auswählt, die dem zweiten System (7) durch den ersten Schreibdaten-Schalter (56a) zugeführt werden sollen, in Abhängig­ keit davon, daß
  • (i) das zweiten System (7) eine Speicherleseoperation auslöst, bevor das erste System (6) Daten zuführt, die in den Speicher ge­ schrieben werden sollen, und
  • (ii) das zweite System (7) eine Leseoperation während einer Zeit­ spanne auslöst, in der Schreibdaten, die in das Speicherzellenfeld (100) geschrieben werden sollen, in der Schreibdaten-Halteein­ richtung (53a) gehalten werden, und
die Schreibdaten, die in der Schreibdaten-Halteeinrichtung (53a) gehalten werden, als Lesedaten auswählt, die dem zweiten System (7) von dem ersten Schreibdaten-Schalter (56a) zugeführt werden sollen, in Abhängigkeit davon, daß das zweiten System (7) eine Speicherleseoperation auslöst, nachdem Daten, die vom ersten System (6) in den Speicher eingeschrieben werden sollen, in der ersten Schreibdaten-Halteeinrichtung (53a) gespeichert worden sind und vor den gehaltenen Schreibdaten an das Speicherzellenfeld (100) angelegt worden sind.
4. Dual-Port-Speicher nach Anspruch 3, dadurch gekennzeichnet, daß die erste Übertragungssteuereinrich­ tung (53a-59a) eine erste Lesedaten-Halteeinrichtung (54a) zum Halten der Lesedaten aufweist, die von der ersten Lesedaten-Aus­ wahleinrichtung (58a) ausgewählt worden sind, und
daß die zweite Übertragungssteuereinrichtung (53b-59b) eine zweite Lesedaten-Halteeinrichtung (54b) zum Halten der Lesedaten auf­ weist, die von der zweiten Lesedaten-Auswahleinrichtung (58b) ausgewählt worden sind.
5. Dual-Port-Speicher nach Anspruch 4, dadurch gekennzeichnet, daß die erste Übertragungssteuereinrich­ tung (53a-59a) einen ersten Lesedaten-Schalter (57a) in Abhängig­ keit von einem ersten Lesedatensteuersignal (RE(A)) aus der Mehr­ zahl von Steuersignalen 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 Lese­ daten-Auswahleinrichtung (58a) die aus der von der ersten Spei­ cherzellen-Auswahleinrichtung (9a) ausgewählten Speicherzelle ausgelesenen Daten auswählt, durch den zweiten Schreibdaten- Schalter (56b) an das Speicherzellenfeld (100) angelegt werden, und
daß die zweite Übertragungssteuereinrichtung (53b-59b) einen zweiten Lesedaten-Schalter (57b) in Abhängigkeit von einem zweiten Lesedatensteuersignal (RE(B)) aus der Mehrzahl von Steuersignalen 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 den ersten Schreibdaten-Schalter (56a) an das Speicherzellenfeld (100) angelegt werden.
6. Dual-Port-Speicher nach Anspruch 5, dadurch gekennzeichnet, daß der erste Lesedaten-Schalter (57a) zum Blockieren des Signalpfades zwischen der ersten Lesedaten-Auswahl­ einrichtung (58a) und der ersten Lesedaten-Halteeinrichtung (54a) dient, und daß
der zweite Lesedaten-Schalter (57b) zum Blockieren des Signalpfa­ des zwischen der zweiten Lesedaten-Auswahleinrichtung (58b) und der zweiten Lesedaten-Halteeinrichtung (54b) dient.
7. Dual-Port-Speicher nach Anspruch 1, dadurch gekennzeichnet, daß der erste Schreibdaten-Schalter (56a) das Schreiben der vom ersten System (6) zugeführten Schreibdaten in die Speicherzelle verhindert, wenn die Schreiboperation durch das zweite System (7) während der Schreiboperation des ersten Systemes (6) bezüglich derselben Speicherzelle gestartet wird, und daß
der zweite Schreibdaten-Schalter (56b) das Schreiben der vom zweiten System (7) zugeführten Schreibdaten in die Speicherzelle verhindert, wenn die Schreiboperation durch das erste System (6) während der Schreiboperation des zweiten Systemes (7) bezüglich derselben Speicherzelle gestartet wird.
8. Dual-Port-Speicher nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß die erste und zweite Speicherauswahl­ einrichtung (9a, 9b) ein erster und ein zweiter Adreßdekoder sind,
daß eine erste und zweite Datenein-/-ausgabeeinrichtung vorgesehen sind,
daß eine erste und zweite Adreßdaten-Empfangseinrichtung zum Zu­ führen von ersten und zweiten Adreßdaten A(A), A(B), an den ersten bzw. den zweiten Adreßdekoder vorgesehen sind,
daß die Zugriffskonflikt-Erfassungseinrichtung (51) eine Koinzi­ denz der Adreßdaten erfaßt, die an die erste bzw. zweite Adreß­ empfangseinrichtung angelegt worden sind, und das Ausgangssignal (S1) in Abhängigkeit hiervon ausgibt.
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 DE4111483A1 (de) 1991-10-17
DE4111483C2 true 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)

Families Citing this family (61)

* 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 マイクロコンピュータ
DE4333226A1 (de) * 1993-09-30 1995-04-06 Licentia Gmbh Verfahren und Vorrichtung zur Steuerung des Zugriffs zu Dual-Port-Speichern
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 シャープ株式会社 逐次型順序変換装置
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
US5852608A (en) * 1996-06-06 1998-12-22 Sun Microsystems, Inc. Structure and method for bi-directional data transfer between asynchronous clock domains
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
US6216205B1 (en) 1998-05-21 2001-04-10 Integrated Device Technology, Inc. Methods of controlling memory buffers having tri-port cache arrays therein
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
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
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
JPWO2006001078A1 (ja) * 2004-06-28 2008-04-17 株式会社ルネサステクノロジ 半導体集積回路装置
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
KR100725100B1 (ko) * 2005-12-22 2007-06-04 삼성전자주식회사 포트간 데이터 전송기능을 갖는 멀티패쓰 억세스블 반도체메모리 장치
KR100735612B1 (ko) * 2005-12-22 2007-07-04 삼성전자주식회사 멀티패쓰 억세스블 반도체 메모리 장치
KR100655081B1 (ko) * 2005-12-22 2006-12-08 삼성전자주식회사 가변적 액세스 경로를 가지는 멀티 포트 반도체 메모리장치 및 그에 따른 방법
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
US10819416B2 (en) 2016-05-13 2020-10-27 Sony Corporation Apparatuses and methods for using ARQ processes in a relay device

Family Cites Families (5)

* 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
EP0275884B1 (de) * 1987-01-23 1993-05-26 Siemens Aktiengesellschaft Halbleiterspeicher mit wahlfreiem Zugriff über zwei getrennte Ein/Ausgänge
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

Also Published As

Publication number Publication date
DE4111483A1 (de) 1991-10-17
JPH03292695A (ja) 1991-12-24
US5276842A (en) 1994-01-04
JP2965043B2 (ja) 1999-10-18

Similar Documents

Publication Publication Date Title
DE4111483C2 (de) Dual-Port-Speicher
DE3508291C2 (de) Datenverarbeitungssystem
DE4025151C2 (de) Halbleiterspeichereinrichtung und Betriebsverfahren für eine Halbleiterspeichereinrichtung
DE4200758C2 (de) Halbleiterspeichereinrichtung und Verfahren zur Steuerung des Betriebs derselben
EP0513611B1 (de) Verfahren zur Datenübertragung für einen Halbleiterspeicher und Halbleiterspeicher zur Durchführung des Verfahrens
DE4207945C2 (de) Multiport-Speicher und Verfahren zum Entscheiden eines Zugriffskonflikts darin
DE2741886A1 (de) Datenuebertragungseinrichtung
DE10003465A1 (de) Halbleiterspeichervorrichtung mit Mehrfachanschluß (Multiple-Port Semiconductor Memory Device)
DE3606650A1 (de) Hardware logik-simulator
DE4238062C2 (de) Multiport-Speichereinrichtung
DE19510902A1 (de) Emulation eines Mehrtor-Speichers unter Verwendung von Markierregistern
DE102005003863B4 (de) Speichervorrichtung mit Nicht-Variabler Schreiblatenz
EP0046500B1 (de) Schieberegister für Prüf- und Test-Zwecke
DE3930932A1 (de) Ausgangsrueckkopplungssteuerschaltung fuer integrierte schaltung
DE3123382C2 (de) Verfahren und Einrichtung zum Übertragen von Daten in einem Mehrprozessorsystem
DE2905676A1 (de) Integrierte schaltung mit einem einzigen chip
DE4309320A1 (de) Halbleiterspeichervorrichtung und Betriebsverfahren
DE3501194A1 (de) Verfahren und vorrichtung zum datenaustausch zwischen mikroprozessoren
DE4406258C2 (de) Informationsverarbeitungsvorrichtung
DE1237812B (de) Datenverarbeitungsgeraet mit mehreren Speichern
DE3214230A1 (de) Speicheranordnung mit mehrfach-zugriffsleitungen
DE4206079C2 (de) Halbleiterspeichereinrichtung und Verfahren zum Lesen von Daten aus einer solchen Halbleiterspeichereinrichtung
DE69910172T2 (de) Schaltkreis mit pseudo-mehrport-speicher
DE69629542T2 (de) Adressierbares serielles prüfsystem
DE10063936A1 (de) Interrupt Controller für einen Mikroprozessor

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