DE3587843T2 - Speicherzugriffsteuerungsanordnung. - Google Patents
Speicherzugriffsteuerungsanordnung.Info
- Publication number
- DE3587843T2 DE3587843T2 DE3587843T DE3587843T DE3587843T2 DE 3587843 T2 DE3587843 T2 DE 3587843T2 DE 3587843 T DE3587843 T DE 3587843T DE 3587843 T DE3587843 T DE 3587843T DE 3587843 T2 DE3587843 T2 DE 3587843T2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- bank
- data
- register
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 claims description 12
- 230000003111 delayed effect Effects 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims description 5
- 230000003213 activating effect Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 9
- 238000000034 method Methods 0.000 description 6
- 241001510512 Chlamydia phage 2 Species 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/04—Addressing variable-length words or parts of words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1647—Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Multi Processors (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf ein Speicherzugriffssteuersystem. Im besonderen bezieht sie sich auf ein Zugriffssteuersystem für einen Hauptspeicher, der eine Vielzahl von Speicherbänken hat. Die vorliegende Erfindung wird in einem Hauptspeicher eines Computersystems vorteilhaft eingesetzt.
- Vor kurzem wurde ein Verfahren zum Teilen eines Hauptspeichers eines Computersystems in eine Vielzahl von Speicherbänken offenbart, wodurch ein paralleles Verarbeiten von Daten ermöglicht und der praktische Durchsatz für Daten in dem Hauptspeicher angehoben wird.
- Bei diesem Verfahren sind wenigstens zwei Datenbusleitungen zum Eingeben von Schreibdaten und zum Ausgeben von Lesedaten vorgesehen. Jede der Datenbusleitungen wird für Eingabe- und Ausgabeoperationen separat verwendet, um eine Steuerung der Busleitung zu erleichtern und um den Durchsatz für die Daten anzuheben.
- In diesem Fall ist jedoch ein Begrenzungswert von fünfzig Prozent bei der Nutzungseffektivität der Busleitung vorhanden, da entweder die Eingabe- oder die Ausgabe-Busleitung bei jeder Anforderung eines Zugriffs auf den Speicher alternativ ausgewählt wird. Die Probleme bezüglich der Nutzungseffektivität der Busleitungen werden nachfolgend eingehend erläutert.
- EP-A-0 109 298 offenbart einen Computerspeicher mit Merkmalen, die jenen der Präambel des beiliegenden Anspruches 1 entsprechen. Der Speicher umfaßt Speichermodule, die in "gerade" und "ungerade" Sektionen geteilt sind, die gerade bzw. ungerade Adressenplätze enthalten und ihre eigenen Datenverriegelungen haben. Wenn ein Lesezugriff auszuführen ist, wird ein Steuersignal erzeugt, das Daten aus dem Speicher in beide Datenverriegelungen auf einmal liest. Ein nachfolgendes Signal wählt entweder die "gerade" oder "ungerade" Datenverriegelung aus, um die Daten jener Verriegelung auf einen Datenbus auszugeben. Die andere Datenverriegelung wird dann ausgewählt, um ihre Daten in schneller Folge auf den Datenbus zu bringen. Schreibzugriffe auf den Speicher erfolgen auf entsprechende Weise.
- US-A-4 099 231 offenbart ein Speichersteuersystem mit einer ähnlichen Struktur und Operation. Bis zu vier Datenwörter können gleichzeitig adressiert werden, aber wieder erfolgen Datenübertragungen auf einer seriellen Basis (immer ein Wort).
- US-A-3 792 439 offenbart ein Nachrichtenaustauschsystem zum Übertragen von Binärdatensignalen in einer programmgesteuerten Fernmeldevermittlungsstelle. Ein Kernspeicher ist in eine Anzahl von Speichereinheiten geteilt, die jeweils mit individuellen Verarbeitungseinheiten verbunden sind, so daß eine Verarbeitung gleichzeitig in mehreren Speichereinheiten auf einmal erfolgen kann.
- EP-A-0 029 517 offenbart eine Datenverarbeitungsvorrichtung mit einem Cachespeicher und in Übereinstimmung mit der Präambel des beiliegenden Anspruches 1.
- Gemäß der vorliegenden Erfindung ist ein Speicherzugriffssteuersystem vorgesehen, mit : -einem Speichermittel mit einer Vielzahl von gerad- und ungeradzahligen Speicherbänken, die in zwei Gruppen geteilt sind;
- einem Busmittel zum Übertragen von Daten und mit einer Befehls-/Adreßbusleitung, einer Schreibdatenbusleitung und einer Lesedatenbusleitung, die alle mit dem genannten Speichermittel gekoppelt sind, wobei die Schreib- und Lesedatenbusleitungen jeweils eine Busbreite von einem Wort haben und gleichzeitig betriebsfähig sind;
- einem Aktivierungsmittel, das mit dem genannten Busmittel gekoppelt ist, zum Aktivieren eines Zugriffs zu einer von der genannten Vielzahl von Speicherbänken, die zu einer Gruppe gehören, und eines anderen Zugriffs zu einer von der genannten Vielzahl von Speicherbänken, die zu der anderen Gruppe gehören, in Abhängigkeit von der einzelnen Zugriffsanforderung, die gestattet, zwei sequentielle Datenübertragungen, eine von jeder Gruppe, über das genannte Busmittel für die einzelne Zugriffsanforderung auszuführen, so daß in jedem Zyklus zwei Wörter gleichzeitig übertragen werden können, ein Wort über die genannten Lesedatenbusleitungen und das andere Wort über die genannten Schreibdatenbusleitungen, welches Aktivierungsmittel umfaßt : -ein Befehls- und Adressenregistermittel, das mit der genannten Befehls-/Adreßbusleitung verbunden ist, zum Senden von Zwei-Wort-Befehlen an das genannte Speichermittel und zum Bezeichnen einer Adresse für eine ausgewählte Speicherbank von jeder der genannten zwei Gruppen;
- einen Dekoder, der mit dem genannten Befehls- und Adressenregistermittel und dem genannten Speichermittel verbunden ist, zum Aktivieren jeder entsprechenden bezeichneten Speicherbank;
- ein Schreibdatenregister, das mit der genannten Schreibdatenbusleitung verbunden ist, zum Übertragen von Schreibdaten; und ein Lesedatenregister, das mit der genannten Lesedatenbusleitung verbunden ist, zum Übertragen von Lesedaten;
- dadurch gekennzeichnet, daß das genannte Speichermittel wenigstens einen Hauptspeicher umfaßt, mit:
- einer Vielzahl von Bankregistern, die der genannten Vielzahl von Speicherbänken entspricht, wobei jedes der genannten Bankregister ein Adressenregister, ein Schreibdatenregister und ein Lesedatenregister hat; und
- einer Vielzahl von Zählerschaltungen, die der genannten Vielzahl von Speicherbänken entspricht, wobei jede Zählerschaltung durch Flipflop-Gatter, UND-Gatter, ODER- Gatter und exklusive ODER-Gatter gebildet ist und in einem Eingangsabschnitt der entsprechenden Speicherbank vorgesehen ist;
- bei dem jede Zählerschaltung auf ein Signal von dem genannten Dekoder reagiert, um ein Zählen ab Null zu starten, und, während der Zählerstand nicht Null ist, ein Takthaltesignal zum Halten des Inhalts des entsprechenden Adressenregisters und Schreibdatenregisters auszugeben, um eine nächste Zugriffsanforderung für die entsprechende Bank zu sperren;
- und bei dem die Zählerschaltung von jeder ungeradzahligen Speicherbank auf den genannten Zwei-Wort-Befehl reagiert, um ein verzögertes Taktsignal auszugeben, das um deinen Zyklus ab dem genannten Takthaltesignal verzögert ist, um eine Schreib- und Lesezeitlage für die entsprechende Speicherbank um einen Zyklus zu verzögern; wodurch die genannte geradzahlige Speicherbank Daten zu derselben Zeitlage des genannten Zugriffs speichert und die genannte ungeradzahlige Speicherbank Daten nach einer Verzögerung von einem Zyklus, verglichen mit dem Speichern durch die genannte geradzahlige Speicherbank, speichert.
- Eine Ausführungsform der vorliegenden Erfindung kann ein Speicherzugriffssteuersystem vorsehen, das in einem Hauptspeicher eines Computersystems zu verwenden ist.
- Eine Ausführungsform der vorliegenden Erfindung kann ein Speicherzugriffssteuersystem vorsehen, das die Nutzungseffektivität von Datenbusleitungen zwischen dem Hauptspeicher und einer Speichersteuereinheit, und zwischen der Speichersteuereinheit und einer zentralen Verarbeitungseinheit oder einer Kanalverarbeitungseinheit anheben und eine Verbesserung bei deren Durchsatz ermöglichen kann.
- Als Beispiel wird Bezug auf die beiliegenden Zeichnungen genommen, in denen:
- Fig. 1 ein schematisches Blockdiagramm eines relativ großen Computersystems ist;
- Fig. 2 eine herkömmliche schematische Struktur des in Fig. 1 gezeigten Hauptspeichers ist;
- Fig. 3 eine schematische Struktur eines Hauptspeichers gemäß einer Ausführungsform der vorliegenden Erfindung ist;
- Fig. 4A bis 4D detaillierte Blockdiagramme des in Fig. 3 gezeigten Hauptspeichers sind;
- Fig. 5A und 5B Zeitlagendiagramme für Befehle, Adressen, Schreibdaten und Lesedaten in dem in Fig. 4 gezeigten Hauptspeicher sind;
- Fig. 6A und 6B detaillierte Blockdiagramme einer Speichersteuereinheit gemäß einer Ausführungsform der vorliegenden Erfindung sind; und
- Fig. 7 und 8 Steuerschaltungen zeigen, die für jede der in Fig. 4 gezeigten Speicherbänke vorgesehen sind.
- Bevor die bevorzugten Ausführungsformen beschrieben werden, erfolgt eine Erläuterung eines herkömmlichen Speicherzugriffssteuersystems.
- Fig. 1 ist ein schematisches Blockdiagramm eines relativ großen Computersystems, bei dem wenigstens ein Hauptspeicher (Hauptspeichereinheit) verwendet wird, der eine Vielzahl von Speicherbänken hat.
- In Fig. 1 bezeichnen Bezugszeichen 1-1 bis 1-n eine Vielzahl von zentralen Verarbeitungseinheiten (CPU), 2-1 bis 2-n eine Vielzahl von Kanalverarbeitungseinheiten (CHP), 3 eine Wartungseinheit (MU), 4 eine Speichersteuereinheit (MCU) und 5 eine Hauptspeichereinheit (MSU). Jede CHP 2 und CPU 1 ist mit der MSU 5 durch die MCU 4 verbunden. Die MU 3 ist direkt mit der MCU 4 verbunden.
- In diesem System bildet die MCU 4 eine Warteschlange, indem Anforderungen für den Zugriff auf die MSU 5, die von einer CHP 2 oder CPU 1 übertragen wurden, empfangen werden, überträgt die Zugriffsanforderungen in der Reihenfolge, die auf der Warteschlange basiert, zu der MSU 5 und überträgt dann die Lesedaten von der MSU 5 zu der CHP 2 oder CPU 1, die den Zugriff auf die Daten anforderte.
- Fig. 2 ist eine herkömmliche schematische Struktur einer Hauptspeichereinheit (MSU) 5. Die MSU 5 ist durch eine Arraysektion 10 mit einer Vielzahl von Speicherbänken 12-1 bis 12-n und eine Steuersektion 11 mit einem Adressenregister 13 und einem Befehlsregister 14 gebildet. Jede der Speicherbänke 12-1 bis 12-n kann die Daten unabhängig schreiben und lesen.
- Eine Speicheradresse ist jeder der Speicherbänke 12-1 bis 12-n durch ein Verschachtelungsverfahren zugeordnet. Das heißt, wenn acht Byte pro Wort vorhanden sind, ist eine Byteadresse jeder Speicherbank 12 zugeordnet, d. h., Speicherbank 12-1 ist "0", Speicherbank 12-2 ist "8", Speicherbank 12-3 ist "16", . . . und Speicherbank 12-n ist "8· (n- 1)", wie in Fig. 2 gezeigt.
- Die Operation dieses Systems wird nachfolgend erläutert.
- Die MCU 4 setzt auf der Grundlage der Zugriffsanforderung zum Beispiel von der CPU 1 die Speicheradresse, auf die zuzugreifen ist, in dem Adressenregister 13 der MSU 5 und setzt den Lese- oder Schreibbefehl in dem Befehlsregister 14 der MSU 5. Beim Schreibmodus setzt die MCU 4 die zu schreibenden Daten gleichzeitig in dem Schreibdatenregister 15.
- Die MSU 5 wählt durch eine dekodierte Ausgabe auf der Grundlage eines Teils des Inhalts des Registers 13 in einem Dekoder 19 eine der Speicherbänke 12 aus und überträgt die Schreibdaten des Schreibdatenregisters 15 zu einem Bankadressenregister und einem Bankdatenregister, die in der Speicherbank 12 enthalten sind. Demzufolge wird nur eine Speicherbank, die durch die dekodierte Ausgabe auf der Grundlage des Inhalts des Dekoders 19 ausgewählt wurde, durch eine Zugriffsanforderung betrieben.
- Bei einer Leseoperation werden die Daten, die aus der ausgewählten Speicherbank 12 zu lesen sind, in einem Lesedatenregister 16 gesetzt und von dem Lesedatenregister 16 zu der MCU 4 übertragen.
- In diesem Fall beansprucht die Operation zum Setzen der Speicheradresse aus dem Adressenregister 13 in dem Bankadressenregister in der Speicherbank 12 wenigstens einen Zyklus, und im allgemeinen beansprucht die Zugriffsoperation in der Speicherbank 12 selbst mehrere Zyklen. Dementsprechend kann, wenn auch die in Betrieb befindliche Speicherbank 12 während dieser Zeit durch die Zugriffsoperation belegt ist, eine andere Speicherbank 12 die nächste Speicheradresse in der Reihenfolge setzen.
- Bei solch einem Speicher mit einer Vielzahl von Speicherbänken können die Lese- oder Schreibdaten von einem Wort pro Zyklus der MSU 5 bei einer sehr hohen Nutzungseffektivität eingegeben oder von ihr ausgegeben werden.
- Bei der in Fig. 2 gezeigten herkömmlichen Struktur ist jedoch der oben erläuterte Datendurchsatz begrenzt, da entweder die Busleitung 17 oder die Busleitung 18 für jede Zugriffsanforderung alternierend verwendet wird. Demzufolge kann die Nutzungseffektivität für jede Busleitung einen Maximalwert von fünfzig Prozent nicht überschreiten.
- Eine effektivere Nutzung, d. h., eine Verbesserung des praktischen Durchsatzes, ist bei einem bekannten Speicherzugriffssteuersystem noch nicht hinlänglich erreicht worden.
- Ein Speicherzugriffssteuersystem gemäß einer Ausführungsform der vorliegenden Erfindung wird nun beschrieben.
- Fig. 3 zeigt eine schematische Struktur einer Hauptspeichereinheit (MSU) 5' gemäß einer Ausführungsform der vorliegenden Erfindung.
- In Fig. 3 bezeichnen dieselben Bezugszeichen dieselben Komponenten wie in Fig. 2. Die Hauptspeichereinheit (MSU) 5' umfaßt eine Arraysektion 10', die in zwei Gruppen von Speicherbänken geteilt ist, d. h., geradzahlige Speicherbänke (gerade Bänke), die zu einer Gruppe 12a0 bis 12an gehören, und ungeradzahlige Speicherbänke (ungerade Bänke), die zu der anderen Gruppe 12b0 bis 12bn gehören, je nachdem, ob die Wortadressenzahl ungerade oder gerade ist. Jede Speicheradresse ist durch ein Verschachtelungsverfahren wie im Fall von herkömmlichen Speicherbänken jeder der Speicherbänke zugeordnet.
- Bei Ausführungsformen der vorliegenden Erfindung wird ein Zwei-Wort-Zugriffsbefehl verwendet, um Zugriff auf die Speicherbänke zu erlangen. Der Zwei-Wort-Befehl umfaßt zum Beispiel sechzehn Byte (2· acht Byte pro Wort) und kann durch den Zugriff von zwei Wörtern, die durch eine sequentielle Adresse gebildet sind, zwei Speicherbänke bezeichnen.
- Die Grundoperation der MSU 5' ist unten erläutert.
- Eine Speicheradresse und ein Befehl, der von der Speichersteuereinheit (MCU) gesendet wurde, werden durch das Adressenregister 13 und das Befehlsregister 14 empfangen.
- Wenn der Befehl, der durch das Register 14 empfangen wurde, kein Zwei-Wort-Befehl ist, d. h., die acht Byte eines Ein-Wort-Befehls sind, wird nur eine Speicherbank aktiviert. In diesem Fall arbeitet die MSU 5' nach demselben Verfahren wie bei dem herkömmlichen System.
- Wenn der Befehl, der durch das Register 14 empfangen wurde, ein Zwei-Wort-Befehl ist, wählt ein Dekoder 30 eine Speicherbank nach der anderen, die jeweils die sequentielle Adresse haben, alternierend von der geraden Bankgruppe und der ungeraden Bankgruppe aus. Demzufolge werden zwei Speicherbänke von benachbarten geraden und ungeraden Bänken durch den Dekoder 30 ausgewählt. In diesem Fall wird eine gerade Bank mit der geraden Adresse durch eine Kopfspeicheradresse einer sogenannten Zwei-Wort-Grenze (16-Byte- Grenze) zuerst bezeichnet.
- Fig. 4A bis 4D sind detaillierte Blockdiagramme der in Fig. 3 gezeigten Hauptspeichereinheit. In Fig. 4A bis 4D entsprechen gerade Bänke mit den Zahlen 0, 2, 4, 6 ---, N-1 den geraden Bänken 12a0, 12a1, 12a2 --- 12an, die in Fig. 3 gezeigt sind. Ähnlich entsprechen ungerade Bänke 1, 3, 5 --- N den ungeraden Bänken 12b0, 12b1, 12b2 --- 12bn, die in fig. 3 gezeigt sind. Jede Speicherbank, ob gerade oder ungerade, umfaßt ein Bankregister, das durch ein Adressenregister A, ein Schreibdatenregister WD und ein Lesedatenregister RD gebildet ist. Bezugszeichen 20 und 23 bezeichnen Selektoren (SEL). Der Selektor 23 wird nur für Teilspeicherdaten verwendet und arbeitet, um Teilspeicherdaten mit Schreibdaten zu kombinieren. Der Selektor 20 hat die zwei Funktionen, die Teilspeicherdaten mit den Schreibdaten zu kombinieren und eine Ausgabezeitlage von Lesedaten in Übereinstimmung mit der Ausgabe einer Steuerpipeline 21a zu wählen. Bezugszeichen 21 ist ein Pipeline-Register, das aus einer Steuerpipeline (CTRL) 21a und einer Schreibdatenpipeline (WD) 21b besteht. Die CTRL-Pipeline 21a steuert die Ausgabezeitlage der Lesedaten durch Verschieben der Zugriffsanforderung, und die WD-Pipeline 21b steuert die Teilspeicherdaten, wie unten erläutert. Bezugszeichen 22 bezeichnet ein Mittel zum Erzeugen eines Fehlerkorrekturkodes (ECC). Bezugszeichen 30 ist ein Dekoder, der einen "BANK GO"-Befehl erzeugt, um die ausgewählte Speicherbank auf der Grundlage des Zwei-Wort-Befehls, der von dem Befehls-(CMD)-Register 14 gesendet wurde, zu aktivieren.
- Fig. 5A und 5B sind Zeitlagendiagramme der Operation in dem Befehlsregister 14, Adressenregister 13, jeder der Speicherbänke und den CTRL/WD-Pipelines 21a und 21b.
- Ein Abschnitt über der Strichpunktlinie in den Figuren ist die Seite der Speichersteuereinheit,
- Die Operation der in Fig. 4 gezeigten MSU 5' wird unter Bezugnahme auf das in Fig. 5 gezeigte Zeitlagendiagramm eingehend erläutert.
- T&sub0;, T&sub1;, T&sub2; --- T&sub1;&sub9; sind Zugriffsanforderungszeitlagen für die Operation jedes Registers und jeder Speicherbank.
- Die Periode zwischen jeder der Zeitlagen ist einem Zugriffsanforderungszyklus äquivalent.
- Zu der Zeitlage T&sub2; empfängt das Adressenregister (MSU ADDR) 13 die Speicheradresse, die von dem Befehls-/Adressenregister (MS CMD/ADDR) in der Speichersteuereinheit (MCU) zu der Zeitlage T&sub1; gesendet wurde. Das Befehlsregister (MSU CMD) 14 empfängt auch, zum Beispiel, einen Zwei-Wort-Befehl, der von dem MS CMD/ADDR in der MCU zu der Zeitlage T&sub1; gesendet wurde, und das Schreibdatenregister (MSU WDR) 15 empfängt auch die Schreibdaten, die von dem Schreibdatenregister (MS WDR) in der MCU zu der Zeitlage T&sub1; gesendet wurden.
- Wenn ein Zwei-Wort-Befehl, d. h., ein 16-Byte-Befehl, gesendet wird, sendet das MSU CMD 14 den 16-Byte-Befehl zu dem Dekoder (DEC) 30. Der Dekoder 30 erzeugt den "BANK GO"- Befehl für die entsprechenden zwei ausgewählten Speicherbänke, zum Beispiel die GERADE BANK 0 und die UNGERADE BANK 1, und aktiviert diese Bänke.
- Beim Schreibmodus empfangen zu der Zeitlage T&sub3; das Bankadressenregister A&sub0; in der GERADEN BANK 0 und das Bankadressenregister A&sub1; in der UNGERADEN BANK 1 gleichzeitig die Speicheradresse, und das Bankschreibdatenregister WD&sub0; in der GERADEN BANK 0 empfängt auch die Schreibdaten. Das Bankschreibdatenregister WD&sub1; in der UNGERADEN BANK 1 empfängt jedoch die Schreibdaten nach einer Verzögerung von einem Zyklus, d. h., zu der Zeitlage T&sub4;.
- Wenn der Befehl, der durch das MSU CMD 14 empfangen wurde, nicht der Zwei-Wort-Befehl ist, wird nur eine Speicherbank direkt aktiviert, aber nicht durch den Dekoder 30, sondern durch das MSU ADDR 13 und das MSU WDR 15.
- Beim Lesemodus empfangen zu der Zeitlage T&sub4; das Adressenregister A&sub2; in der GERADEN BANK 2 und das Adressenregister A&sub3; in der UNGERADEN BANK 3 gleichzeitig die Leseadresse, und das Lesedatenregister RD&sub2; in der GERADEN BANK 2 liest die gespeicherten Daten nach acht Zyklen, d. h. zu der Zeitlage T&sub1;&sub2;, aus, und diese ausgelesenen Daten werden durch das ECC-Register 22 von dem Lesedatenregister (MSU RDR) 16 ausgegeben. Jedoch liest das Lesedatenregister RD&sub3; in der UNGERADEN BANK 3 die gespeicherten Daten nach einer Verzögerung von einem Zyklus, d. h. zu der Zeitlage T&sub1;&sub3;, aus. Diese Auslesesteuerung wird durch die Steuerpipeline (CTRL) 21a ausgeführt.
- Wie in dem oberen Abschnitt von Fig. 5A und 5B gezeigt, kann das Befehlsregister (MS CMD) in der MCU alternierend "Schreib"- und "Lese"-Anweisungen befehlen, die aus dem Zwei-Wort-Befehl bestehen (FST 16 Byte und FCH 16 Byte; wobei FST Vollspeicherdaten und FCH Holdaten sind). Das Adressenregister (MS ADDR) in der MCU sendet, wie oben erwähnt, Adressen zu dem Adressenregister (MSU ADDR) 13, und das MSU ADDR 13 bezeichnet zwei Speicherbänke in den GERADEN und UNGERADEN BÄNKEN sowohl für die "Schreib"- (Speicher-) als auch für die "Lese"- (Hol-) Modi. Demzufolge kann das MSU ADDR 13 zu jeder Zeitlage immer zwei Speicherbänke in jedem Zyklus aktivieren. Diese Operationen werden ähnlich für andere Speicherbänke in den GERADEN und UNGERADEN Bänken ausgeführt.
- Wie klar verständlich ist, bezeichnet das MSU ADDR 13, wenn Schreib- oder Lesezugriffsanforderungen, die aus dem Zwei-Wort-Befehl bestehen, alternierend und sequentiell von dem MS CMD/ADDR in der MCU erzeugt werden, zwei Speicherbänke in den GERADEN und UNGERADEN Bänken auf der Grundlage eines Abschnittes der unteren Bankadresse, und das MSU WDR 15 sendet die Schreibdaten zu der vorbestimmten Zeitlage zu der bezeichneten Speicherbank.
- Nach der Zeitlage T&sub1;&sub3; halten dementsprechend, wie in der Figur gezeigt, das MSU WDR 15 und das MSU RDR 16 gleichzeitig Daten, d. h., das MSU WDR 15 hält die Schreibdaten, und das MSU RDR 16 hält die Lesedaten.
- Demzufolge kann die Nutzungseffektivität, d. h., der praktische Durchsatz, der Datenbusleitungen 17 und 18 auf einen Wert von bis zu einhundert Prozent als maximaler Effektivitätswert angehoben werden.
- Die CTRL-Pipeline 21a funktioniert als Schieberegister. Diese Pipeline 21a kann die Zugriffsanforderung, die von dem MSU CMD 14 und dem MSU ADDR 13 eingegeben wurde, um jede Teilung oder Abstand von P&sub1;, P&sub2; - verschieben. Zum Beispiel wird das Verschieben des Zugriffsanforderungszyklus 1 des "MS GO"-Befehls in der MCU zu der Zeitlage T&sub2; begonnen, zu der die GERADE BANK 0 und die UNGERADE BANK 1 bezeichnet werden. Ähnlich wird das Verschieben des Zugriffsanforderungszyklus 2 zu der Zeitlage T&sub3; begonnen, zu der die GERADE BANK 2 und die UNGERADE BANK 3 bezeichnet werden.
- Wenn der verschobene Abstand des Zyklus 2 die Zeitlage P&sub9; erreicht, werden die Lesedaten des RD&sub2; der GERADEN BANK 2 an das MSU RDR 16 ausgegeben, indem die Übereinstimmung zwischen den Lesedaten und den verschobenen Daten in dem Selektor (SEL) 20 berücksichtigt wird. Zu der nächsten Zeitlage P&sub1;&sub0; werden die gelesenen Daten des RD&sub3; der UNGERADEN BANK 3 an das MSU RDR 16 ausgegeben. In diesem Fall steuert die CTRL-Pipeline 21a die Ausgabe des RD&sub3;&sub1; so daß sie um nur einen Zugriffszyklus verzögert wird, damit das RD&sub3; die Lesedaten nach einer Verzögerung von einem Zyklus von der Ausgabe des RD&sub2; ausgeben kann. Zu den Zeitlagen P&sub9; und P&sub1;&sub0; des Zyklus 4 werden die Lesedaten des RD&sub6; und des RD&sub7; durch dasselbe Verfahren wie im Zyklus 2 ausgegeben.
- Die WD-Pipeline 21b, die in Fig. 4C gezeigt ist, wird zum Verändern der 8-Byte-Schreibdaten zum Beispiel in 2- Byte-Schreibdaten als Teilspeicherdaten verwendet. Diese Pipeline 21b wird durch einen "Ladezugriff" aktiviert, der von dem MSU WDR 15 gesendet wird. Zwei Busleitungen PL&sub1; und PL&sub2; werden für diese Operation verwendet. Das heißt, die Teilspeicherdaten, zum Beispiel 2-Byte-Schreibdaten, werden zu dem SEL 20 gesendet und mit den 8-Byte-Lesedaten kombiniert. Die kombinierten 8-Byte-Schreibdaten werden durch das ECC 22 zu dem SEL 23 gesendet. Das ECC 22 sieht einen neuen Fehlerkorrekturkode für die neuen 8-Byte-Schreibdaten vor. Die Ausgabedaten des SEL 23 werden dann in die bezeichnete Speicherbank als 8-Byte-Schreibdaten geschrieben, wie oben erläutert.
- Fig. 6A und 6B sind detaillierte Blockdiagramme von einer Speichersteuereinheit (MCU) 4' gemäß einer Ausführungsform der vorliegenden Erfindung. In Fig. 6B ist eine andere Hauptspeichereinheit (MSU) 5" mit der MCU 4' durch die Busleitung verbunden, und die zentralen Verarbeitungseinheiten (CPU 0, CPU 1) und die Kanalverarbeitungseinheit CHP sind auch mit der MCU 4' durch die Busleitung verbunden. Zum Zweck des Anhebens des praktischen Durchsatzes umfaßt die MCU 4' zum Beispiel zwei Eingangsports P0 und P1 für den Adreßbefehl, der von dem Adressenregister MSAR in der CPU 0 gesendet wurde, zwei Eingangsports P0 und P1 für die CPU 1, und vier Kanalports P0, P1, P2 und P3 für die CHP. Die MCU 4' umfaßt auch Schreibdatenports, die jedem CPU-0-Port, CPU-1-Port und CHP-Port entsprechen. Zum Beispiel ist der CPU-0-Port WD durch die Ports P0U und P0L, die dem Port P0 entsprechen, und die Ports P1U und P1L, die dem Port P1 entsprechen, gebildet. Der Port P0U wird für obere 8 Byte und der Port P0L für untere 8 Byte verwendet. Demzufolge umfaßt jeder Port P0, P1, P2 und P3 eine Kapazität von 16 Byte, so daß der CHP-Port WD eine Kapazität von 64 Byte (16 Byte·4) umfaßt. Jeder Port umfaßt in dieser Ausführungsform eine Kapazität von wenigstens zwei Datenwörtern (zum Beispiel 8 Byte·2).
- Wie klar verständlich ist, sind in dieser Ausführungsform eine Vielzahl von Ports in der MCU 4' vorgesehen, die jeder CPU und CHP entsprechen, um den praktischen Durchsatz der MCU anzuheben. Da der praktische Durchsatz zwischen der MSU und MCU durch Verwenden der oben erläuterten Teilung und Steuerung der Speicherbänke angehoben wird, sind diese Ports vorgesehen, weil es notwendig ist, den praktischen Durchsatz zwischen der MCU und CPU oder CHP anzuheben.
- In Fig. 6A und 6B bestimmt eine Prioritätsschaltung 41 die Priorität der Adresse, die von jedem CPU-0-, CPU-1- und CHP-Port gesendet wurde, und sendet die Adresse, die durch die Prioritätsentscheidung ausgewählt wurde, zu einem Schreibdatenauswahlregister 42.
- Das Register 42 erkennt den entsprechenden Port der Prioritätsadresse, die durch die Prioritätsschaltung 41 ausgewählt wurde, und sendet die entsprechenden Schreibdaten durch ein Schreibdatenregister MS WDR zu der MSU 5' oder MSU 5''. In diesem Fall arbeitet das Register 42, um den Zwei- Wort-Befehl, d. h., 16 Byte in zwei Zyklen, (die oberen 8 Byte werden immer zuerst ausgewählt, und dann werden die unteren 8 Byte ausgewählt) oder den Ein-Wort-Befehl, d. h., 8 Byte in einem Zyklus, (in diesem Fall werden nur die oberen 8 Byte verwendet) auszuwählen.
- Ein BANK-BESETZT-Register 43 wird zum Speichern eines Flags der Bank verwendet, auf die durch die Prioritätsschaltung 41 zugegriffen wurde, um einen nächsten Zugriff, der dieselbe Speicherbank wie jene bezeichnet, auf die gerade vorher zugegriffen wurde, zu steuern. Denn da die Speicherbank, auf die gerade vorher zugegriffen wurde, "besetzt" ist, wenn dieselbe Speicherbank wieder bezeichnet wird, wird diese Flag-Operation verwendet, weil der nächste Zugriff für die vorbestimmte Zeit verzögert werden muß, um eine Zugriffskollision zu vermeiden.
- Eine Pipeline 44 wählt die Holdaten aus, die von der MSU 5' und der MSU 5'' ausgelesen wurden, indem die Auslesezeitlagen der MSU 5' und MSU 5'' beachtet werden. Die Pipeline 44 meldet auch eine Datenübertragung, Beendigung des Speicherns und dergleichen der CPU und CHP.
- Die Auswahl zwischen der MSU 5' und der MSU 5'' erfolgt durch die Kopfadresse, die in jeder MSU und in der Pipeline 44 gespeichert ist, gemäß der Übereinstimmung zwischen beiden Kopfadressen.
- In der CPU umfaßt ein Speicherpuffer SB ein Adressenregister ADDR und Schreibdatenregister WDU und WDL. Der Speicherpuffer SB wird mit einem Cacheregister (nicht gezeigt) verwendet. Jedes der Register WDU und WDL umfaßt 8 Byte von oberen Daten und 8 Byte von unteren Daten, d. h., insgesamt 16 Byte von Daten pro Adresse. Für einen Speicher- (Schreib-) Zugriff von 16 Byte gibt der Speicherpuffer SB einen 16-Byte-Datenzugriff, d. h. einen Zwei-Wort-Zugriff in zwei Zugriffszyklen, aus. Ein 16-Byte-Datenzugriff wird im allgemeinen immer dann verwendet, wenn ein Datenspeicherzugriff von mehr als 8 Byte vorhanden ist, zum Beispiel ein "Übertragungs"-Befehl oder "Speicher-Multi"-Befehl. Für einen Speicherzugriff von 8-Byte-Daten werden nur die oberen 8 Byte zum Datenzugriff pro Zyklus verwendet.
- Dementsprechend beruht eine Entscheidung zwischen dem 16-Byte-Datenzugriff und dem 8-Byte-Datenzugriff, d. h., zwischen dem Zwei-Wort-Zugriff und dem Ein-Wort-Zugriff, auf der Art des empfangenen Befehls (zum Beispiel "Übertragen", "Speicher-Multi", etc.) und der Datenlänge der Schreibdaten.
- Fig. 7 und 8 zeigen Steuerschaltungen der Speicherbank. Die in Fig. 7 gezeigte Steuerschaltung ist an dem Eingangsabschnitt jeder GERADEN BANK vorgesehen, und die in Fig. 8 gezeigte Steuerschaltung ist an dem Eingangsabschnitt jeder UNGERADEN BANK vorgesehen.
- Der untere Abschnitt der Schaltung in Fig. 7 ist ein Dreibitzähler als eine Ausführungsform. Das Flipflop FF1 wird für das höchstwertige Bit verwendet, und das Flipflop FF3 wird für das niedrigstwertige Bit verwendet. Wenn das "BANK GO"-Signal, das von dem Dekoder 30 erzeugt wurde, einem ODER-Gatter OR1 eingegeben ist, startet die Schaltung das Zählen ab "0". Ein Ausgabe-ODER-Gatter OR2 erreicht immer einen hohen Pegel und gibt ein Takthaltesignal CLK HOLD aus, wenn der Zählstand zwischen "1" und "7" liegt. Das Signal CLK HOLD hält den Inhalt der Register, wenn es EIN- geschaltet ist. Die Eingabe des Taktsignals ist gesperrt, während CLK HOLD EIN-geschaltet ist.
- Wenn CLK HOLD ausgegeben wird, selbst wenn BANK GO gestoppt ist (BANK GO wird nur für einen Zyklus ausgegeben), wird das Zählen fortgesetzt. Wenn das Zählen von "7" auf "0" zurückkommt, wird ferner die Erzeugung von CLK HOLD gestoppt, und das Zählen wird auch gestoppt.
- Da der Inhalt jedes der Register ADDR und WDR durch CLK HOLD gehalten wird, kann dementsprechend die nächste Zugriffsanforderung nicht empfangen werden, während CLK HOLD EIN-geschaltet ist.
- Bei einer GERADEN BANK zeigt ein Operationskode OPC WR, der für den Kopf der Speicheradresse vorgesehen ist, an, ob ein Ein-Wort-Befehl (8-Byte-Befehl) oder Zwei-Wort-Befehl (16-Byte-Befehl) vorhanden ist. Wenn BANK GO und OPC WR dem Flipflop FF0 durch ein UND-Gatter eingegeben werden, wird demzufolge ein Schreibfreigabesignal RAM WE, das ein Signal mit hohem Pegel hat, direkt von dem Flipflop FF0 an die Speicherbank (RAM) ausgegeben.
- Der untere Abschnitt der Schaltung in Fig. 8 ist ein Dreibitzähler, wie in der in Fig. 7 gezeigten Schaltung. Demzufolge wird ein Flipflop FF1 für das höchstwertige Bit verwendet, und ein Flipflop FF3 wird für das niedrigstwertige Bit verwendet. Wenn der Operationskode keinen 16- Byte-Zugriff anzeigt, wird ein Schreibtakthaltesignal WR CLK HOLD äquivalent als Adreßtakthaltesignal AD CLK HOLD und Schreibdatentaktsignal WD CLK HOLD verwendet. In diesem Fall ist die Operation dieser Schaltung dieselbe wie jene der in Fig. 7 gezeigten Schaltung.
- Wenn der Operationskode einen 16-Byte-Zugriff anzeigt, wird das WD CLK HOLD-Signal um einem Zyklus von dem des WR CLK HOLD verzögert und empfängt die Daten im zweiten Zyklus. Wenn das AD CLK HOLD-Signal um einen Zyklus länger als jenes von WR CLK HOLD ist, hält AD CLK HOLD die Adresse über einen Zusatzzyklus. Wenn der Operationskode 16B einen 16-Byte- Zugriff anzeigt, wird, falls der 16-Byte-Zugriff dem Flipflop FF eingegeben wird, die Ausgabezeitlage der Schreibfreigabe WE um nur einen Zyklus verzögert, indem beide UND- Gatter und die Flipflop-Schaltung verwendet werden. Wenn der Zählstand "7" wird, wird der 16-Byte-Zugriff unter Verwendung des Flipflops FF0 um nur einen Zyklus verzögert. Demzufolge wird AD CLK HOLD durch die Ausgabe des ODER- Gatters um einen Zyklus verzögert.
Claims (7)
1. Ein Speicherzugriffssteuersystem mit
:einem Speichermittel (5') mit einer Vielzahl
von gerad- und ungeradzahligen Speicherbänken, die in zwei
Gruppen (12a&sub0;, 12a&sub1;, . . . , 12b&sub0;, 12b&sub1;, . . . ) geteilt sind;
einem Busmittel zum Übertragen von Daten und
mit einer Befehls-/Adreßbusleitung, einer
Schreibdatenbusleitung (17) und einer Lesedatenbusleitung (18), die alle
mit dem genannten Speichermittel (5') gekoppelt sind, wobei
die Schreib- und Lesedatenbusleitungen jeweils eine
Busbreite von einem Wort haben und gleichzeitig betriebsfähig
sind;
einem Aktivierungsmittel, das mit dem
genannten Busmittel gekoppelt ist, zum Aktivieren eines Zugriffs
zu einer von der genannten Vielzahl von Speicherbänken, die
zu einer Gruppe gehören, und eines anderen Zugriffs zu einer
von der genannten Vielzahl von Speicherbänken, die zu der
anderen Gruppe gehören, in Abhängigkeit von der einzelnen
Zugriffsanforderung, die gestattet, zwei sequentielle
Datenübertragungen, eine von jeder Gruppe, über das genannte
Busmittel für die einzelne Zugriffsanforderung auszuführen,
so daß in jedem Zyklus zwei Wörter gleichzeitig übertragen
werden können, ein Wort über die genannten
Lesedatenbusleitungen und das andere Wort über die genannten
Schreibdatenbusleitungen, welches Aktivierungsmittel umfaßt
: -ein Befehls- und Adressenregistermittel (13,
14), das mit der genannten Befehls-/Adreßbusleitung
verbunden ist, zum Senden von Zwei-Wort-Befehlen an das
genannte Speichermittel (5') und zum Bezeichnen einer Adresse für
eine ausgewählte Speicherbank von jeder der genannten zwei
Gruppen;
einen Dekoder (30), der mit dem genannten
Befehls- und Adressenregistermittel (13, 14) und dem
genannten
Speichermittel (5') verbunden ist, zum Aktivieren jeder
entsprechenden bezeichneten Speicherbank;
ein Schreibdatenregister (15), das mit der
genannten Schreibdatenbusleitung (17) verbunden ist, zum
Übertragen von Schreibdaten; und ein Lesedatenregister (16),
das mit der genannten Lesedatenbusleitung (18) verbunden
ist, zum Übertragen von Lesedaten;
dadurch gekennzeichnet, daß das genannte
Speichermittel (5') wenigstens einen Hauptspeicher umfaßt,
mit:
einer Vielzahl von Bankregistern (BANK REG),
die der genannten Vielzahl von Speicherbänken entspricht,
wobei jedes der genannten Bankregister ein Adressenregister
(A), ein Schreibdatenregister (WD) und ein Lesedatenregister
(RD) hat; und
einer Vielzahl von Zählerschaltungen, die der
genannten Vielzahl von Speicherbänken entspricht, wobei jede
Zählerschaltung durch Flipflop-Gatter, UND-Gatter, ODER-
Gatter und exklusive ODER-Gatter gebildet ist und in einem
Eingangsabschnitt der entsprechenden Speicherbank vorgesehen
ist;
bei dem jede Zählerschaltung auf ein Signal
(BANK GO) von dem genannten Dekoder (30) reagiert, um ein
Zählen ab Null zu starten, und, während der Zählstand nicht
Null ist, ein Takthaltesignal (CLK HOLD, WR CLK HOLD) zum
Halten des Inhalts des entsprechenden Adressenregisters (A0,
A2, . . . ; A1, A3, . . . ) und Schreibdatenregisters (WD0, WD2,
. . . ; WD1, WD3, . . . ) auszugeben, um eine nächste
Zugriffsanforderung für die entsprechende Bank zu sperren;
und bei dem die Zählerschaltung von jeder
ungeradzahligen Speicherbank (12b&sub0;, 12b&sub1;, . . . ) auf den
genannten Zwei-Wort-Befehl reagiert, um ein verzögertes
Taktsignal (WD CLK HOLD) auszugeben, das um einen Zyklus ab
dem genannten Takthaltesignal (WR CLK HOLD) verzögert ist,
um eine Schreib- und Lesezeitlage für die entsprechende
Speicherbank um einen Zyklus zu verzögern; wodurch die
genannte geradzahlige Speicherbank Daten zu derselben
Zeitlage des genannten Zugriffs speichert und die genannte
ungeradzahlige Speicherbank Daten nach einer Verzögerung von
einem Zyklus, verglichen mit dem Speichern durch die
genannte geradzahlige Speicherbank, speichert.
2. Ein Speicherzugriffssteuersystem nach Anspruch 1,
bei dem das genannte Aktivierungsmittel ferner ein
Steuerpipelineregister (21a) zum Steuern einer Ausgabezeitlage von
Lesedaten, ein Schreibdatenpipelineregister (21b) zum
Steuern einer Schreibzeitlage von Teilspeicherdaten und zwei
Selektoren (20, 23) zum Kombinieren der genannten
Teilspeicherdaten mit den genannten Schreibdaten umfaßt.
3. Ein Speicherzugriffssteuersystem nach Anspruch 1
oder 2, bei dem bei einer Leseoperation auf eine genannte
geradzahlige Speicherbank und eine benachbarte
ungeradzahlige Speicherbank durch das genannte Adressenregistermittel
(13) auf der Grundlage des genannten Zwei-Wort-Befehls
gleichzeitig zugegriffen wird, und die genannte geradzahlige
Speicherbank Daten zu einer Zeitlage spezifischer Zyklen
nach dem genannten Zugriff ausliest, aber die genannte
ungeradzahlige Speicherbank Daten nach einer Verzögerung von
einem Zyklus, verglichen mit der genannten geradzahligen
Speicherbank, unter der Steuerung des genannten
Steuerpipelineregisters ausliest.
4. Ein Speicherzugriffssteuersystem nach irgendeinem
vorhergehenden Anspruch, bei dem der genannte Zwei-Wort-
Befehl einen Sechzehn-Byte-Befehl umfaßt, der durch zwei
Acht-Byte-Befehle gebildet ist.
5. Ein Speicherzugriffssteuersystem nach irgendeinem
vorhergehenden Anspruch, das ferner eine
Speichersteuereinheit (4') zum Steuern des genannten Befehls- und
Adressenregistermittels (13, 14), des genannten
Schreibdatenregisters (15) und des genannten Lesedatenregisters (16) in
dem genannten Hauptspeicher umfaßt.
6. Ein Speicherzugriffssteuersystem nach Anspruch 5,
bei dem die genannte Speichersteuereinheit (4') eine
Vielzahl von Eingangsportmitteln für zentrale
Verarbeitungseinheiten und Kanalverarbeitungseinheiten umfaßt.
7. Ein Speicherzugriffssteuersystem nach Anspruch 6,
bei dem jedes der genannten Vielzahl von Eingangsportmitteln
wenigstens zwei Eingangsports (P0, P1, . . . ; P0U, P0L, P1U,
P1L) umfaßt, welche zwei Eingangsports ein Port von oberen
acht Byte und ein Port von unteren acht Byte sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59127805A JPS618785A (ja) | 1984-06-21 | 1984-06-21 | 記憶装置アクセス制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3587843D1 DE3587843D1 (de) | 1994-07-14 |
DE3587843T2 true DE3587843T2 (de) | 1994-09-15 |
Family
ID=14969111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3587843T Expired - Fee Related DE3587843T2 (de) | 1984-06-21 | 1985-06-21 | Speicherzugriffsteuerungsanordnung. |
Country Status (9)
Country | Link |
---|---|
US (1) | US4866603A (de) |
EP (1) | EP0165822B1 (de) |
JP (1) | JPS618785A (de) |
KR (1) | KR910001448B1 (de) |
AU (1) | AU560427B2 (de) |
BR (1) | BR8502966A (de) |
CA (1) | CA1240069A (de) |
DE (1) | DE3587843T2 (de) |
ES (1) | ES8609770A1 (de) |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4791552A (en) * | 1986-01-29 | 1988-12-13 | Digital Equipment Corporation | Apparatus and method for addressing semiconductor arrays in a main memory unit on consecutive system clock cycles |
EP0261751A3 (de) * | 1986-09-25 | 1990-07-18 | Tektronix, Inc. | Simultanes Speicherzugriffssystem |
EP0315550A3 (de) * | 1987-11-06 | 1989-10-25 | Oryx Corporation | Hochparallele Rechnerbauweise unter Verwendung eines Koordinatenschalters mit ausgewählter Pipelineverzögerung |
US5081575A (en) * | 1987-11-06 | 1992-01-14 | Oryx Corporation | Highly parallel computer architecture employing crossbar switch with selectable pipeline delay |
US4918587A (en) * | 1987-12-11 | 1990-04-17 | Ncr Corporation | Prefetch circuit for a computer memory subject to consecutive addressing |
GB2216307B (en) * | 1988-03-01 | 1992-08-26 | Ardent Computer Corp | Vector register file |
JP2895488B2 (ja) * | 1988-04-18 | 1999-05-24 | 株式会社東芝 | 半導体記憶装置及び半導体記憶システム |
USRE39529E1 (en) * | 1988-04-18 | 2007-03-27 | Renesas Technology Corp. | Graphic processing apparatus utilizing improved data transfer to reduce memory size |
JPH02156349A (ja) * | 1988-12-08 | 1990-06-15 | Nec Corp | メモリ制御装置 |
KR930007185B1 (ko) * | 1989-01-13 | 1993-07-31 | 가부시키가이샤 도시바 | 레지스터뱅크회로 |
JPH0740241B2 (ja) * | 1989-01-17 | 1995-05-01 | 富士通株式会社 | リクエストキャンセル方式 |
CA1324679C (en) * | 1989-02-03 | 1993-11-23 | Michael A. Gagliardo | Method and means for interfacing a system control unit for a multi-processor system with the system main memory |
JPH0775006B2 (ja) * | 1989-03-16 | 1995-08-09 | 株式会社日立製作所 | 記憶装置の制御方法 |
US5091851A (en) * | 1989-07-19 | 1992-02-25 | Hewlett-Packard Company | Fast multiple-word accesses from a multi-way set-associative cache memory |
JP3039557B2 (ja) * | 1989-11-01 | 2000-05-08 | 日本電気株式会社 | 記憶装置 |
DE69122520T2 (de) * | 1990-01-31 | 1997-02-13 | Hewlett Packard Co | Vielfachbus-Systemspeicherarchitektur |
JP3215105B2 (ja) * | 1990-08-24 | 2001-10-02 | 富士通株式会社 | メモリアクセス装置 |
GB9018990D0 (en) * | 1990-08-31 | 1990-10-17 | Ncr Co | Register control for workstation interfacing means |
US5303309A (en) * | 1990-09-18 | 1994-04-12 | E-Mu Systems, Inc. | Digital sampling instrument |
JPH04270440A (ja) * | 1991-02-26 | 1992-09-25 | Fujitsu Ltd | アクセス方式 |
US5289584A (en) * | 1991-06-21 | 1994-02-22 | Compaq Computer Corp. | Memory system with FIFO data input |
EP0615190A1 (de) * | 1993-03-11 | 1994-09-14 | Data General Corporation | Erwertbarer Speicher für einen Digitalrechner |
TW357295B (en) * | 1994-02-08 | 1999-05-01 | United Microelectronics Corp | Microprocessor's data writing, reading operations |
US6301299B1 (en) * | 1994-10-28 | 2001-10-09 | Matsushita Electric Industrial Co., Ltd. | Memory controller for an ATSC video decoder |
US5644780A (en) * | 1995-06-02 | 1997-07-01 | International Business Machines Corporation | Multiple port high speed register file with interleaved write ports for use with very long instruction word (vlin) and n-way superscaler processors |
FR2748595B1 (fr) * | 1996-05-10 | 1998-07-10 | Sgs Thomson Microelectronics | Memoire a acces parallele |
US6026473A (en) * | 1996-12-23 | 2000-02-15 | Intel Corporation | Method and apparatus for storing data in a sequentially written memory using an interleaving mechanism |
US5959929A (en) * | 1997-12-29 | 1999-09-28 | Micron Technology, Inc. | Method for writing to multiple banks of a memory device |
KR100313503B1 (ko) * | 1999-02-12 | 2001-11-07 | 김영환 | 멀티-뱅크 메모리 어레이를 갖는 반도체 메모리 장치 |
KR100328726B1 (ko) * | 1999-04-29 | 2002-03-20 | 한탁돈 | 메모리 엑세스 시스템 및 그 제어방법 |
US6377502B1 (en) * | 1999-05-10 | 2002-04-23 | Kabushiki Kaisha Toshiba | Semiconductor device that enables simultaneous read and write/erase operation |
US6438024B1 (en) * | 2001-01-11 | 2002-08-20 | Sun Microsystems, Inc. | Combining RAM and ROM into a single memory array |
DE10121745A1 (de) * | 2001-05-04 | 2002-11-14 | Systemonic Ag | Verfahren und Anordnung zu einem Stack mit einem, in Datengruppen mit mehreren Elementen aufgeteilten Speicher |
US6839797B2 (en) | 2001-12-21 | 2005-01-04 | Agere Systems, Inc. | Multi-bank scheduling to improve performance on tree accesses in a DRAM based random access memory subsystem |
US8250295B2 (en) | 2004-01-05 | 2012-08-21 | Smart Modular Technologies, Inc. | Multi-rank memory module that emulates a memory module having a different number of ranks |
US7916574B1 (en) | 2004-03-05 | 2011-03-29 | Netlist, Inc. | Circuit providing load isolation and memory domain translation for memory module |
US7532537B2 (en) * | 2004-03-05 | 2009-05-12 | Netlist, Inc. | Memory module with a circuit providing load isolation and memory domain translation |
US7289386B2 (en) * | 2004-03-05 | 2007-10-30 | Netlist, Inc. | Memory module decoder |
US8595459B2 (en) * | 2004-11-29 | 2013-11-26 | Rambus Inc. | Micro-threaded memory |
US20060277355A1 (en) * | 2005-06-01 | 2006-12-07 | Mark Ellsberry | Capacity-expanding memory device |
KR20090065504A (ko) | 2006-12-25 | 2009-06-22 | 파나소닉 주식회사 | 메모리 제어 장치, 메모리 장치 및 메모리 제어 방법 |
US8516185B2 (en) | 2009-07-16 | 2013-08-20 | Netlist, Inc. | System and method utilizing distributed byte-wise buffers on a memory module |
US8154901B1 (en) | 2008-04-14 | 2012-04-10 | Netlist, Inc. | Circuit providing load isolation and noise reduction |
US8417870B2 (en) | 2009-07-16 | 2013-04-09 | Netlist, Inc. | System and method of increasing addressable memory space on a memory board |
US9128632B2 (en) | 2009-07-16 | 2015-09-08 | Netlist, Inc. | Memory module with distributed data buffers and method of operation |
KR101292309B1 (ko) * | 2011-12-27 | 2013-07-31 | 숭실대학교산학협력단 | 반도체칩 및 메모리 제어방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체 |
US10324841B2 (en) | 2013-07-27 | 2019-06-18 | Netlist, Inc. | Memory module with local synchronization |
US11306012B2 (en) | 2018-01-02 | 2022-04-19 | Reed Scientific Services Ltd. | Soil-based flow-through rhizosphere system for treatment of contaminated water and soil |
DE102021107044A1 (de) | 2021-03-10 | 2022-09-15 | Elmos Semiconductor Se | Sicherheitsrelevantes Rechnersystems mit einem Datenspeicher und einem Datenspeicher |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE755034A (fr) * | 1969-08-19 | 1971-02-19 | Siemens Ag | Installation de traitement d'informations a commande centrale programmepar memoire |
JPS5410219B2 (de) * | 1973-12-07 | 1979-05-02 | ||
US4099231A (en) * | 1975-10-01 | 1978-07-04 | Digital Equipment Corporation | Memory control system for transferring selected words in a multiple memory word exchange during one memory cycle |
JPS5475941A (en) * | 1977-11-30 | 1979-06-18 | Fujitsu Ltd | Control system for memory unit |
US4298929A (en) * | 1979-01-26 | 1981-11-03 | International Business Machines Corporation | Integrated multilevel storage hierarchy for a data processing system with improved channel to memory write capability |
US4317168A (en) * | 1979-11-23 | 1982-02-23 | International Business Machines Corporation | Cache organization enabling concurrent line castout and line fetch transfers with main storage |
JPS5736353A (ja) * | 1980-08-13 | 1982-02-27 | Toshiba Corp | Memoriakusesuhoshiki |
JPS57105879A (en) * | 1980-12-23 | 1982-07-01 | Hitachi Ltd | Control system for storage device |
JPS57113165A (en) * | 1980-12-29 | 1982-07-14 | Fujitsu Ltd | Data processor |
US4438493A (en) * | 1981-07-06 | 1984-03-20 | Honeywell Information Systems Inc. | Multiwork memory data storage and addressing technique and apparatus |
US4439827A (en) * | 1981-12-28 | 1984-03-27 | Raytheon Company | Dual fetch microsequencer |
JPS58149548A (ja) * | 1982-03-02 | 1983-09-05 | Hitachi Ltd | メモリ制御方式 |
US4513372A (en) * | 1982-11-15 | 1985-04-23 | Data General Corporation | Universal memory |
JPS6015771A (ja) * | 1983-07-08 | 1985-01-26 | Hitachi Ltd | ベクトルプロセッサ |
JPS60157646A (ja) * | 1984-01-27 | 1985-08-17 | Mitsubishi Electric Corp | メモリバンク切換装置 |
JPH0670773B2 (ja) * | 1984-11-01 | 1994-09-07 | 富士通株式会社 | 先行制御方式 |
JPS62194561A (ja) * | 1986-02-21 | 1987-08-27 | Toshiba Corp | 半導体記憶装置 |
-
1984
- 1984-06-21 JP JP59127805A patent/JPS618785A/ja active Granted
-
1985
- 1985-06-14 CA CA000484012A patent/CA1240069A/en not_active Expired
- 1985-06-17 AU AU43733/85A patent/AU560427B2/en not_active Ceased
- 1985-06-20 BR BR8502966A patent/BR8502966A/pt not_active IP Right Cessation
- 1985-06-20 KR KR1019850004386A patent/KR910001448B1/ko not_active IP Right Cessation
- 1985-06-20 ES ES544377A patent/ES8609770A1/es not_active Expired
- 1985-06-21 EP EP85304442A patent/EP0165822B1/de not_active Expired - Lifetime
- 1985-06-21 DE DE3587843T patent/DE3587843T2/de not_active Expired - Fee Related
-
1988
- 1988-01-20 US US07/147,071 patent/US4866603A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
AU560427B2 (en) | 1987-04-09 |
US4866603A (en) | 1989-09-12 |
CA1240069A (en) | 1988-08-02 |
ES544377A0 (es) | 1986-07-16 |
JPS618785A (ja) | 1986-01-16 |
KR860000601A (ko) | 1986-01-29 |
BR8502966A (pt) | 1986-03-04 |
AU4373385A (en) | 1986-01-02 |
EP0165822A3 (en) | 1989-02-22 |
JPH0363096B2 (de) | 1991-09-30 |
DE3587843D1 (de) | 1994-07-14 |
EP0165822B1 (de) | 1994-06-08 |
KR910001448B1 (ko) | 1991-03-07 |
EP0165822A2 (de) | 1985-12-27 |
ES8609770A1 (es) | 1986-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3587843T2 (de) | Speicherzugriffsteuerungsanordnung. | |
DE69132195T2 (de) | System für verteilte Mehrfachrechnerkommunikation | |
DE2350884C2 (de) | Adreßumsetzungseinheit | |
DE69131734T2 (de) | Datenprozessor mit verschachteltem DRAM-Speicher | |
DE69725632T2 (de) | Halbleiterspeicheranordnung mit "Pipeline" Betrieb | |
US5335336A (en) | Memory device having refresh mode returning previous page address for resumed page mode | |
DE69323861T2 (de) | Multiprozessorsystem mit gemeinsamem Speicher | |
DE3689087T2 (de) | Modularer Mehrfachportdatenknoten. | |
DE102005051478B4 (de) | Flashdatenspeichervorrichtung | |
DE69131972T2 (de) | Speichersteuerungseinheit und Speichereinheit | |
DE69707688T2 (de) | Speichersteuerungseinheit zur optimalen ausführung von speichersteuerungsabfolgen zwischen verschiedenen speicherbanken | |
DE69325774T2 (de) | Programmierbare Externspeichersteuerungseinrichtung | |
DE69429289T2 (de) | Synchroner dynamischer Direktzugriffspeicher | |
DE2944419C2 (de) | ||
DE69132077T2 (de) | Speicher | |
DE69031524T2 (de) | Verfahren und Vorrichtung zur Datenübertragung zwischen Prozessorelementen | |
DE60034998T2 (de) | Verbesserungen in oder bezüglich von Mikroprozessoren | |
DE3688400T2 (de) | Cachespeicherschaltung geeignet zur verarbeitung einer leseanforderung waehrend der uebertragung eines datenblocks. | |
DE19908618A1 (de) | Gemeinsam genutzter Hochleistungscachespeicher | |
DE3650642T2 (de) | Speichermittel mit Mehrwortauslesen und Schreiben | |
DE69330923T2 (de) | Verschachteltes Speichersystem | |
DE69025580T2 (de) | Auffrichungspuffer für Speicherkarte | |
DE69032757T2 (de) | Speichervorrichtung | |
DE3851241T2 (de) | Speicheranordnung. | |
AU636680B2 (en) | Main storage memory cards having single bit set and reset functions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |