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
Application number
DE3587843T
Other languages
English (en)
Other versions
DE3587843D1 (de
Inventor
Takashi Dai Saginuma Gur Chiba
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of DE3587843D1 publication Critical patent/DE3587843D1/de
Publication of DE3587843T2 publication Critical patent/DE3587843T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • 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/1647Handling 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.
DE3587843T 1984-06-21 1985-06-21 Speicherzugriffsteuerungsanordnung. Expired - Fee Related DE3587843T2 (de)

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)

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

* Cited by examiner, † Cited by third party
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 半導体記憶装置

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