[go: up one dir, main page]

DE3588009T2 - Vorrichtung und Verfahren zum Rekonfigurieren eines Speichers in einer Datenverarbeitungsanordnung. - Google Patents

Vorrichtung und Verfahren zum Rekonfigurieren eines Speichers in einer Datenverarbeitungsanordnung.

Info

Publication number
DE3588009T2
DE3588009T2 DE3588009T DE3588009T DE3588009T2 DE 3588009 T2 DE3588009 T2 DE 3588009T2 DE 3588009 T DE3588009 T DE 3588009T DE 3588009 T DE3588009 T DE 3588009T DE 3588009 T2 DE3588009 T2 DE 3588009T2
Authority
DE
Germany
Prior art keywords
output
memory
data
cache
parallel
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 - Lifetime
Application number
DE3588009T
Other languages
English (en)
Other versions
DE3588009D1 (de
Inventor
Dennis J Kayser
James B Macdonald
John M Martins
Robert R Trottier
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.)
LG Electronics Inc
Original Assignee
Wang Laboratories Inc
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 Wang Laboratories Inc filed Critical Wang Laboratories Inc
Publication of DE3588009D1 publication Critical patent/DE3588009D1/de
Application granted granted Critical
Publication of DE3588009T2 publication Critical patent/DE3588009T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Description

  • Die vorliegende Erfindung betrifft Speichereinrichtungen und ein Verfahren zum Betreiben derselben in einem Digitaldatenverarbeitungs- oder Rechnersystem und bezieht sich auf den Zugriff auf die Speichereinrichtungen.
  • Ein bei der Auslegung von Rechner- und Datenverarbeitungssystemen immer wieder auftauchendes Problem ist die Bereitstellung von Mitteln und Wegen zur Verbesserung der Leistungsfähigkeit eines Systems, z.B. der Speicherkapazität oder der Systembetriebsgeschwindigkeit, ohne daß das System in größerem Umfang geändert oder umgebaut werden müßte.
  • Nach dem Stand der Technik ist bekannt, daß die Systemspeicherkapazität ohne weiteres erweiterbar ist, ohne daß das System bedeutend geändert werden muß. Bei vielen Systemen ist eine Erweiterung des Speichers durch einfaches Einsetzen zusätzlicher Speicherkarten je nach Bedarf möglich.
  • Die Erhöhung der Betriebsgeschwindigkeit des Systems ist jedoch schwieriger, insofern die Faktoren, welche die Systembetriebsgeschwindigkeit, also die Geschwindigkeit, mit der das System Daten und Befehle bearbeiten kann, in großem Maße von der Auslegung der Speicher- und Prozessorelemente des Systems abhängig ist. Die Prozessor- und Speicherelemente des Systems sind integrierende Teile des Systems und eine Änderung eines Teils führt im allgemeinen zu bedeutenden Änderungen des Systems als Ganzes. Beispielsweise kann die Systemgeschwindigkeit durch die Geschwindigkeit beschränkt sein, mit welcher der Systemrechner Daten und Befehle empfangen und bearbeiten kann. Eine Erhöhung der Rechnergeschwindigkeit kann den Einbau eines verschiedenen Rechners erfordern, was seinerseits eine Änderung der Systembetriebsprogramme erforderlich machen kann, also der den gesamten Systembetrieb kontrollierenden Überwachungsprogramme.
  • Die Hauptbeschränkung der Systembetriebsgeschwindigkeit geht jedoch in den meisten Fällen von der Geschwindigkeit aus, mit der Befehle und Daten vom Speicher zum Systemrechner übertragen werden können. Die Übertragungsgeschwindigkeit zwischen Speicher und Rechner wird in den meisten Fällen durch den Einbau eines schnelleren Speichers oder eines schnellen, komplexen Cachespeichersystems zwischen Systemspeicher und Rechner verbessert. Der Austausch gegen einen schnellen Speicher oder die Hinzufügung eines Cachespeichers macht jedoch häufig Änderungen an den Rechner- und Systemspeicherschnittstellen notwendig und erfordert häufig entsprechende Änderungen oder Ergänzungen der Systembetriebsprogramme.
  • Ein Versuch zur Erhöhung der Übertragungsgeschwindigkeit zwischen Speicher und Rechner ist in der US-Patentschrift 4,156, 290 beschrieben. Eine Adressierungseinrichtung für eine Speichereinrichtung entsprechend dem Oberbegriff von Anspruch 1 enthält eine Anzahl M von Speicherbänken mit getrennten Datenausgangsregistern und -pfaden, wobei die genannten Datenausgangspfade als einzelner Ausgangspfad mit der Breite einer Bank konfiguriert sind. Die Bänke weisen eine Kapazität von 1024 8-Bit-Wörtern auf und jede hat einen getrennten Ausgangspfad; die genannten Datenausgangspfade sind über die steuerbaren Ausgangsregister zu einem einzelnen, eine Bank breiten Ausgangspfad 23 verbunden. Die Bänke sind an einen 10-Bit-Adressenkanal angeschlossen, wogegen Adressensteuerung und Adressendecodierer die aktuelle Adresse über einen 13- Bit-Kanal empfangen. Der Decodierer empfängt die drei niedrigstwertigen Bit der aktuellen Adresse. Diese drei Bit werden zur Adressierung einer der Bänke decodiert. Die aktuelle Adresse, die für einen sequentiellen Speicher mit der Breite eine Bank und der Tiefe M (=8) benutzt werden könnte, wird so rekonfiguriert, daß die Speichereinrichtung als ein paralleler Speicher mit der Breite M Bänke und der einfachen Tiefe adressiert wird, derart, daß Informationen aus M Bankspeicherplätzen parallel ausgelesen werden. Der Decodierer steuert ferner Einrichtungen zum Ansteuern bestimmter der parallelen Bankausgangspfade für die Verbindung mit dem genannten einzelnen, eine Bank breiten Ausgangspfad. Diese Konfiguration ergibt eine Erhöhung der Datenübertragungsgeschwindigkeit zwischen dem Hauptspeicher und der Zentraleinheit und benötigt keine bedeutenden Rechner- oder Systemspeicherschnittstellen.
  • Der in den beigefügten Patentansprüchen definierten Erfindung liegt die Aufgabe zugrunde, für ein Datenverarbeitungssystem eine Speichereinrichtung und ein Verfahren zu ihrem Betrieb zu schaffen, welche die Geschwindigkeit der Informationsübertragung zwischen dem Systemspeicher und dem Systemrechner und dadurch ferner die Betriebsgeschwindigkeit des Systems erhöhen, ohne daß bedeutende Systemänderungen erforderlich sind.
  • Der Systemspeicher ist von einer Vielzahl Speicherbänke gebildet, die je ein oder mehrere Wörter breit sind und je einen getrennten Datenausgangspfad aufweisen.
  • Bei einer ersten, langsameren Konfiguration (die nicht Teil der vorliegenden Erfindung ist), adressiert eine Speichersteuerung die Speicherbänke als ein sequentieller Speicher, derart, daß jeweils aus einem Adressenplatz gelesen wird, und die Ausgangsdatenpfade der Speicherbänke sind zu einem einzelnen, eine Bank breiten Datenpfad zum Systemrechner konfiguriert. Wenn z.B. jede Bank ein Wort breit und N Wörter tief ist und M Speicherbänke vorhanden sind, erscheint der Speicher als ein sequentieller Speicher mit der Breite ein Wort und der Tiefe M×N Wörter, aus dem jeweils ein Wort ausgelesen werden kann. Die Informationsübertragungsgeschwindigkeit ist dadurch durch die Geschwindigkeit bestimmt, mit der ein Wort aus einer Bank gelesen werden kann.
  • In einer zweiten Konfiguration ist der Speicher durch Hinzufügen einer Adressenübersetzungseinrichtung und einer Busrekonfigurierungseinrichtung umkonstruiert. Der Adressenübersetzer liefert Adressen zum parallelen Adressieren von M Bänken, so daß bei jeder Leseoperation M Speicherplätze gelesen werden. Die Busrekonfigurierungseinrichtung rekonfiguriert die Bankausgangsbusse zu parallelen Bussen, das heißt zu M parallelen Bussen und stellt eine Auswahleinrichtung bereit, die in Abhängigkeit von der Adressierungseinrichtung die Informationen, die an einem angesteuerten Bankausgangsbus anstehen, als den Speicherausgang des Systemrechners liefert. Unter der Annahmne desselben Beispiels wie zuvor, ist der Speicher dadurch zu einem parallelen Speicher mit der Breite M Wörter und der Tiefe N Wörter rekonfiguriert, bei dem jeweils M Wörter aus dem Speicher ausgelesen werden können. Die Informationsübertragungsgeschwindigkeit ist dadurch über die der seguentiellen Speicherkonfiguration hinaus erhöht.
  • Sowohl bei der seguentiellen als auch der parallelen Konfiguration umfaßt der Datenpfad zum Systemrechner, das heißt der kombinierte, einfach breite Pfad der sequentiellen Konfiguration und der Auswahleinrichtungsausgang der parallelen Konfiguration, einen direkten Datenpfad vom Speicher zum Rechner. Das heißt, ein Pfad, über den aus dem Speicher ausgelesene Informationen beim Auslesen aus dem Speicher dem Rechner im wesentlichen direkt bereitgestellt werden.
  • Erfindungsgemäß ist für den Speicher bei der zweiten Konfiguration ein Cachepfad vorgesehen, der zum direkten Datenpfad, das heißt von den parallelen Bankausgängen zum Auswahleinrichtungsausgang, parallel geschaltet ist, um gegenüber gegenwärtig verarbeiteten Informationen vorweggenommen zu speichern. Die Informationsübertragungsgeschwindigkeit ist dadurch weiter erhöht, insofern als auf Informationen aus dem Cachespeicher, der im wesentlichen ein kleiner, schneller Speicher ist, statt aus dem Systemspeicher zugegriffen werden kann.
  • Eine Ausführungsform der Erfindung wird mit näheren Einzelheiten unter Bezugnahme auf die Zeichnungen beschrieben, in denen zeigt:
  • Fig. 1 ein Teilblockschaltbild eines Systems mit dem rekonfigurierbaren Speicher in der cachefreien Konfiguration, und
  • Fig. 2 ein Teilblockschaltbild eines Systems mit dem rekonfigurierbaren Speicher in der Cache-Konfiguration.
  • Die nachstehende Beschreibung zeigt den Aufbau und die Arbeitsweise eines Speichersystems mit einem Cachespeicher. Das System und der Speicher werden zuerst in der cachefreien Grundkonfiguration und dann nach Rekonfiguration durch den Cachespeicher, das heißt in der Cache-Konfiguration beschrieben. Wie weiter oben unter Bezugnahme auf die Zeichnungen angegeben, ist die cachefreie Konfiguration in Fig. 1, die Cache-Konfiguration in Fig. 2 dargestellt. Die Fig. 1 und 2 können zur weiteren Erläuterung der nachstehend in Einzelheiten beschriebenen Konzepte nebeneinander angeordnet werden.
  • 1. Grundkonfiguration
  • Es wird zuerst Bezug genommen auf die in Fig. 1 dargestellte Grundkonfiguration. Ein Rechnersystem 10 umfaßt einen Hauptspeicher (MM) 12 zum Speichern von Daten und Befehlen und eine Zentraleinheit (CPU) 14, die ansprechend auf die Befehle Operationen an den Daten auszuführen vermag. Zwischen den MM 12 und die CPU 14 ist eine Speicher- und Bussteuerung (MBC) 16 zwischengeschaltet, welche die Übertragung von Befehlen und Daten zwischen dem MM 12 und der CPU 14 steuert.
  • Die MEC 16 spricht auf Lese/Schreibadressen (CPAD) an, die von der CPU 14 über einen CPAD-Bus 18 geliefert werden, und stellt für den MM 12 entsprechende Lese/Schreibadressen (MMAD) über einen MMAD-Bus 20 bereit. Der MM 12 und die MBC 16 sprechen auf die zugehörigen MMAD- und CPAD-Adressen an, derart, daß Hauptspeicher-Lesedaten (MMRD), das heißt Daten und Befehle, vom MM 12 an die MBC 16 über MMRD-Busse 22-1 und 22-2 bzw. entsprechende Zentraleinheitsdaten (CPD) von der MBC 16 an die CPU 14 über einen CPD-Bus 24 ausgelesen werden. Der MM 12 und die MBC 16 sprechen auf ähnliche Weise auf MMAD- und CPAD-Adressen an, derart, daß Hauptspeicher- Schreibdaten (MMWD) von der CPU 14 über einen MMWD-Bus 26 in den MM 12 geschrieben werden.
  • Gemäß Fig. 1 ist der MM 12 in der cachefreien Grundkonfiguration von einer oder mehreren Speicherbänken (MB) 28 gebildet. Aus Gründen der Erläuterung im Vergleich mit der nachstehenden Beschreibung des cache-rekonfigurierten MM 12 ist der MM 12 in der Grundkonfiguration mit zwei MB 28 dargestellt, welche mit MB 28-1 und MB 28-2 bezeichnet sind. Jede MB 28 umfaßt beim gezeigten Beispiel eine Speicherbank mit der Breite ein Wort und der Tiefe N Wörter mit getrennten Eingangsadressen- und Datenpfaden MMAD 20-1 bzw. MMAD 20-2 und MMWD 26-1 bzw. MMWD 26-2 sowie getrennten Ausgangsdatenpfaden MMRD 22-1 bzw. MMRD 22-2. Die Eingangs- und Ausgangsdatenpfade MB 28-1 und MB 28-2 sind je ein Wort breit.
  • Beim gezeigten Beispiel kann das System 10 ein 32-Bit-System sein, das heißt, jedes Wort kann 32 Bit Befehls- oder Dateninformationen enthalten, wogegen N gleich 262 144 Wörter sein kann. Als weiteres Beispiel kann jedes in einer MB 28 gespeicherte Wort 32 Informationsbit plus 7 ERCC-Bit oder 39 Bit enthalten. Aus Gründen der Übersichtlichkeit in der nachstehenden Beschreibung bleiben jedoch die ERCC-Bit und die Funktionen von MM 12 und MBC 16 unbeachtet.
  • Gemäß Fig. 1 ist der MMAD-Ausgang der MBC 16 von der Speicheradressiereinrichtung (MA) 29 über den MMAD-Bus 20 mit den Adresseneingängen MMAD 20-1 und MMAD 20-2 der MB 28-1 und der MB 28-2 parallel verbunden, damit jeder MMAD-Ausgang der MBC 16 beiden MB 28-1 und MB 28-2 gleichzeitig zugeleitet wird. Die MA 29 ist im wesentlichen ein Pufferspeicher, kann jedoch bestimmte Adressenübersetzungsfunktionen ausführen. Die in Abhängigkeit von jeder von der CPU 14 bereitgestellten CPAD- Adresse von der MA 29 bereitgestellten MMAD-Adressen bezeichnen einzelne Adressenplätze oder Wörter in den MB 28-1 und 28-2. Aus jeder CPAD-Adresse ergibt sich daher die Ansteuerung eines einzelnen Wortes im MM 12.
  • Bei der in Fig. 1 dargestellten cachefreien Grundkonfiguration sind in der MBC 16 die getrennten ein Wort breiten Datenausgangspfade MMRD 22-1 und 22-2 der MB 28-1 28-2 über eine Daten-ODER-Verknüpfungseinrichtung (DOR) 30 zu einem einzelnen ein Wort breiten Ausgangsdatenpfad MMRD 22 konfiguriert. Die DOR 30 kann eine ein Wort breite ODER-Verknüpfungsschaltung oder z.B. eine einfache festverdrahtete ODER- Verknüpfung von MMRD 22-1 und 22-2 sein, wenn MB 28-1 und MB 28-2 mit Ausgangstreiberschaltungen mit drei Ausgangszuständen oder mit offenem Kollektor versehen sind. Weil bei jeder Leseoperation jede von der MA 29 an den MM 12 gesandte MMAD ein einziges aus dem MM 12 auszulesendes Wort abruft, erscheint auf den MMRD-Bussen 22-1 und 22-2 nur ein entsprechendes Ausgangswort. Es entstehen somit in der DOR 30 keine gleichzeitig nicht zulässige Datenausgänge, und die bei jeder Operation aus dem MM 12 ausgelesenen Einzelwörter erscheinen auf dem MMRD-Bus 22. Auf dem MMRD-Bus 22 anstehende Wörter werden, im wesentlichen durch eine Pufferoperation, über einen Direkt-Lese-Datenpfad (DIRD) 32 zum CPD-Bus 24 und zur CPU 14 übertragen.
  • Bei der cachefreien Konfiguration sind daher die MB 28-1 und MB 28-2 hinsichtlich sowohl der Adressierung als auch der Datenausgabe durch die MBC 16 funktionell sequentiell konfiguriert, so daß der MM 12 von der Funktion her von einem ein Wort breiten und 2×N Wörter tiefen Speicher gebildet ist. Eine schematische Darstellung der cachefreien seguentiellen Konfiguration der MB 28-1 und MB 28-2 als ein ein Wort breiter und 2xN Wörter tiefer Speicher ist in Fig. 1 über dem MM 12 dargestellt.
  • Alle Leseoperationen von Wörtern aus dem MM 12 durch die CPU 14 in der cachefreien Grundkonfiguration betreffen daher einzelne Wörter, und die Datenübertragungsgeschwindigkeit zwischen dem MM 12 und der CPU 14 wird daher durch die Geschwindigkeit bestimmt, mit der Wörter aus dem MM 12 ausgelesen werden.
  • Es sei darauf hingewiesen, daß, weil die CPU 14 beim gezeigten Beispiel auf der Basis einzelner Wörter arbeitet, alle Datenschreiboperationen von der CPU 14 in den MM 12 üblicherweise aus einzelnen Wörtern bestehen. Die Dateneingangspfade MMWD 26-1 und MMWD 26-2 von der MB 28-1 bzw. 28-2 sind daher mit dem MMWD-Bus 26 parallel verbunden und bilden einen ein Einzelwort breiten Datenpfad in die MB 28-1 bzw. die MB 28-2.
  • Es sei ferner darauf hingewiesen, daß in der Grundkonfiguration einzelne Wortspeicherplätze im MM 12, d.h. in den MB 28- 1 und MB 28-2, zugewiesen sein und sequentiell adressiert werden können. Bei einer alternativen Ausführungsform oder wie nachstehend hinsichtlich der Cache-Rekonfiguration des MM 12 beschrieben, können ungerade Adreßplätze beispielsweise in der MB 28-1, dagegen-gerade Adreßplätze in der MB 28-2 zugewiesen sein.
  • 2. Cache-Konfiguration
  • Es wird nunmehr auf Fig. 2 Bezug genommen, in der das Rechnersystem 10 in der Cache-Konfiguration dargestellt ist. Wie weiter oben im Zusammenhang mit der Grundkonfiguration beschrieben, weist das System 10 eine CPU 14 und einen MM 12 auf. Statt einer oder mehrerer MB 28 enthält der MM 12 jedoch zwei oder ein Mehrfaches von zwei MB 28, und die MBC 16 ist durch eine Speicherbussteuerung/Cache-Einrichtung (MBC/C) 34 ersetzt.
  • Wie sich aus einem Vergleich der Fig. 1 und 2 ergibt und weiter unten beschrieben wird, führt der Ersatz der MBC 16 durch die MBC/C 34 zur Rekonfiguration der Datenausgangspfade des MM 12, das heißt der MMRD 22-1 und MMRD 22-2, durch die MBC/C 34. Die Rekonfiguration der MMRD 22-1 und 22-2 durch die MBC/C 34 trennt die MMRD 22-1 und 22-2 in getrennte, parallele, ein Wort breite Datenausgangspfade von der MB 28-1 bzw. der MB 28-2, so daß der Datenpfad vom MM 12 zur MBC/C 34 zwei Wort breit ist. Wie weiter unten in Verbindung mit einer weiteren, detaillierteren Beschreibung der Bauteile von MBC/C 34 beschrieben wird, sind MMRD 22-1 und MMRD 22-2 in getrennte parallele Pfade durch einen Multiplexer (MUX) 38 rekonfiguriert, der die DOR 30 der MBC 16 ersetzt.
  • Die MBC/C 34 führt ferner eine Übersetzungsoperation an den von der CPU 14 bereitgestellten CPAD-Adressen aus, damit für die geänderte Konfiguration des MM 12 geeignete entsprechende MMAD zur Verfügung-stehen. Die Konfigurationen und Funktionen aller übrigen Daten- und Adressenpfade erfahren keine Änderung gegenüber der cachefreien Konfiguration, ebenso wie die internen Operationen und die Schnittstellen der MB 28 und der CPU 14.
  • Wie vorstehend hinsichtlich der cachefreien Konfiguration beschrieben wurde, arbeitet die CPU auf der Basis von Einzelwörtern und folglich beziehen sich die von der CPU 14 der MBC/C 34 bereitgestellten CPAD-Adressen auf Einzelwörter. Jedoch kann irgendein bestimmtes Einzelwort als ein Glied eines Ungerade/Gerade-Wortpaares betrachtet werden, das heißt, eines Wortpaares, in dem ein Wort des Paares durch eine ungerade Adresse und das andere Wort des Paares durch die benachbarte gerade Adresse oder umgekehrt bezeichnet sind. Die Adressen der beiden Wörter eines solchen Paares unterscheiden sich durch ein Bit, das heißt ein ungerades/gerades Bit, das ein bestimmtes Wort als das ungerade oder das gerade Wort eines Paares bezeichnet.
  • Die von der MBC/C 34 durchgeführte Adressenübersetzungsoperation wird von einem Speicheradressenübersetzer (MAT) 36 ausgeführt, der die MA 29 der MBC 16 ersetzt. Der MAT 36 wandelt von der CPU 14 empfangene CPAD-Einzelwortreferenzen in MMAD- Adressen um, die sich auf entsprechende Ungerade/Gerade-Wortpaare beziehen, indem er das ungerade/gerade Bit der CPAD effektiv beseitigt. Aus einer von der CPU 14 bereitgestellten CPAD ergibt sich dadurch eine MMAD, die auf ein Ungerade/Gerade-Wortpaar verweist, in dem ein Wort des Paares das Wort ist, auf welches die anfängliche CPAD-Adresse verweist, und das andere Wort des Paares das entsprechende ungerade oder gerade Wort des Paares ist.
  • Wie weiter oben beschrieben, wird der MM 12 in der Cache-Konfiguration wenigstens ein Paar MB 28, z.B. MB 28-1 und MB 28- 2 umfassen, und kann mehrere Paare MB 28 aufweisen, abhängig von dem durch die CPAD- und MMAD-Adressen definierten Adressenraum. In der Cache-Konfiguration sind die Adreßplätze im MM 12, das heißt in jedem MB 28-1/MB 28-2-Paar, zugeordnet, so daß alle ungeraden Adreßplätze z.B. in MB 28-1 liegen und alle geraden Adreßplätze in entsprechenden Adreßplätzen in der MB 28-2.
  • Wie zuvor in bezug auf die MBC 16 beschrieben, ist der MMAD- Ausgang der MBC/C 34 über den MAT 36 und den MMAD-Bus 20 mit den Adresseneingängen MMAD 20-1 und 20-2 der MB 28-1 und 28-2 parallel so verbunden, daß jeder MMAD-Ausgang der MBC/C 34 beiden MB 28-1 und MB 28-2 gleichzeitig zugeleitet wird. Jede von der MBC/C 34 gelieferte MMAD-Ungerade/Gerade-Paar-Adresse spricht dadurch entsprechende parallele Speicherplätze in MB 28-1 und MB 28-2 an, so daß das entsprechende Ungerade/Gerade-Wortpaar zur gleichen Zeit und parallel auf den Datenausgangsbussen MMRD 22-1 und 22-2 des MM 12 ansteht.
  • Jedes MB 28-1/MB 28-2-Paar wird dadurch sowohl hinsichtlich der Adressierung und der Datenausgangspfade durch die MBC 16 funktionell aus einer sequentiellen, ein Wort breiten Konfiguration in eine parallele, zwei Wort breite Konfiguration umgewandelt. Der Ersatz der MBC 16 durch die MBC/C 34 rekonfiguriert dadurch den MM 12 aus einem ein Wort breiten und 2×N Wort tiefen Speicher, in dem jede Leseoperation ein Wort liefert, in einen zwei Wort breiten und N Wort tiefen Speicher, in dem jede Leseoperation einen parallelen Ausgang von zwei Wörtern liefert. Die MBC/C 34 verdoppelt dadurch die Ausgangsdatengeschwindigkeit des MM 12 gegenüber der in Fig. 1 dargestellten cachefreien Konfiguration der MBC 16. Eine schematische Darstellung der parallelen Cache-Konfiguration der MB 28-1 und 28-2 als zwei Wort breiter und N Wort tiefer Speicher ist in Fig. 2 über dem MM 12 dargestellt.
  • Zusätzlich zu der vorstehend beschriebenen Rekonfiguration des MM 12 stellt die MBC/C 34 ferner, wie nachstehend näher beschrieben wird, eine doppelten Datenpfad vom MM 12 zur CPU 14 bereit. Der erste Zweig des Pfades ist ein direkter Datenpfad für die Übertragung von Einzelwörtern direkt vom MMRD 22-1 oder MMRD 22-2 zum CPD-Bus 24 und entspricht dem Direkt- Lese-Datenpfad aus DOR 30 und DIRD 32 der MBC 16. Der parallel zum direkten Datenpfad geschaltete zweite Pfad enthält einen Cachespeicher zum Speichern von Wörtern unter Vorwegnahme des Bedarfs der CPU 14.
  • Es wird zuerst auf den direkten Datenpfad Bezug genommen. Die DOR 30 der MBC 16 ist in der MBC/C 34 durch den Multiplexer (MUX) 38 ersetzt, der von den MMRD-Bussen 22-1 und 22-2 parallele Eingänge empfängt und einen ein Wort breiten Ausgang auf den MMRD-Bus 22 zum DIRD 32 der MBC/C 34 bereitstellt. Der Ausgang des DIRD 32 der MBC/C 34 ist seinerseits mit dem CPD-Bus 24 zur CPU 14 verbunden. Wie vorstehend beschrieben, ergibt jede dem MM 12 durch den MAT 36 gelieferte MMAD-Adresse ein Wortpaar, das parallel auf den MMRD-Bussen 22-1 und 22-2 erscheint, das heißt, an den Eingängen des MUX 38. Der MUX 38 spricht auf eine MUX-Adresse (MUXA) an, die der MAT 36 in Verbindung mit jeder MMAD bereitstellt, derart, daß das Einzelwort, auf das die entsprechende CPAD verweist, ausgewählt und auf den MMRD 22 übertragen wird. Die Einzelwörter werden dann durch den DIRD 32 auf den Einzelwort-Datenpfad CPD 24 der CPU 14 übertragen.
  • Gemäß dem in Fig. 2 dargestellten parallelen Cache-Datenpfad enthält die MBC/C 34 einen CACHE-Speicher 40, der mit MUX 38 und DIRD 32 parallelgeschaltet ist. Der CACHE 40 weist einen zwei Wort breiten Dateneingangspfad auf, der von zwei parallelen Einzelwort-Pfaden gebildet ist, welche ausgehend von MMRD 22-1 und 22-2 zu den entsprechenden Eingängen des MUX 38 parallelgeschaltet sind. Der CACHE 40 weist einen ein Wort breiten Ausgangspfad auf, der an den CPD 24 in ODER-Konfiguration mit dem Ausgang des DIRD 32 verbunden ist.
  • Jede CPAD-Adresse, welche die CPU 14 an die MBC/C 34 liefert, wird in der MBC/C 34 als CACHE-Eingangsadresse (CAD) zur Cacheeinrichtung der MBC/C 34 bereitgestellt. Wenn das adressierte Wort im CACHE 40 gegenwärtig resident ist, spricht CACHE 40 durch Bereitstellen einer zweckdienlichen Treffer/Fehlschlags-Anzeige (H/M) an den MAT 36 an. Der MAT 36 spricht auf einen Cachetreffer durch Sperren der Übertragung einer MMAD an den MM 12 an, und abhängig von der CAD liefert der CACHE 40 das angeforderte Wort über seinen Ausgang an den CPD 24 und somit an die CPU 14.
  • Wenn sich das angeforderte Wort gegenwärtig nicht im CACHE 40 befindet, wird die CPAD in eine Ungerade/Gerade-Wortpaar-MMAD an den MM 12 übersetzt, und das angeforderte Wort und sein ihm zugeordnetes Paarwort werden aus dem MM 12 an die MBC/C 34 ausgelesen. Das angeforderte Einzelwort wird über den direkten Datenpfad, der vom MUX 38, dem DIRD 32 und dem CPD-Bus 24 gebildet ist, direkt zur CPU 14 übertragen. Die Wörter des Paares werden gleichzeitig in den CACHE 40 eingelesen und gespeichert. Leseanforderungen durch die CPU 14 führen dadurch zur Übertragung zusätzlicher Wörter zum CACHE 40, die über die sofort von der CPU 14 benötigten Wörter hinausgehen und im CACHE 40 unter Vorwegnahme des Bedarfs der CPU 14 gehalten werden. Bei einer weiteren bevorzugten Ausführungsform ist der CACHE 40 mit der in der Fachwelt bekannten Fähigkeit implementiert, Speicherzugriffszyklen, die von der CPU 14 nicht auf andere Weise benötigt werden, zum Lesen und Speichern noch weiterer Informationen aus dem MM 12 unter Vorwegnahme des Bedarfs der CPU 14 zu benutzen.
  • Hinsichtlich Schreiboperationen von der CPU 14 an den MM 12 sei bei der Cache-Konfiguration darauf hingewiesen, daß bei der vorliegenden Ausführungsform der Schreibdatenpfad beibehalten wird, wie bei der cachefreien Konfiguration. Das heißt, daß die MMWD-Busse 26-1 und 26-2 vom MMWD-Bus 26 aus parallel als Einzelwort-Pfad an die MB 28 des MM 12 angeschlossen sind. Das Einschreiben der Wörter in einzelne Ungerade- oder Gerade-Adressenplätze im MM 12 geschieht durch eine Operation des MAT 36, der bei Schreiboperationen einen Schreibfreigabebefehl an die entsprechende ungerade oder gerade Adresse in den MB 28-Bänken leitet. Bei einer alternativen Ausführungsform kann jedoch der Schreibdatenpfad auf eine Mehrwortbreite vergrößert werden, die das gleichzeitige Schreiben einer entsprechenden Anzahl Wörter ermöglicht, wenn die CPU 14 die Fähigkeit hat, mehrere Wörter zu schreiben, oder so abgewandelt ist.
  • Aus dem Ersatz der MBC 16 durch die MBC/C 34 ergibt sich dadurch eine Erhöhung der Datenübertragungsgeschwindigkeit zwischen dem MM 12 und der CPU 14, ohne daß der übrige Teil des Systems, insbesondere der MM 12 und die CPU 14, abgeändert oder umgebaut werden muß. Diese Verbesserung ergibt sich aus der effektiven Verdoppelung der Breite des Datenpfades vom MM 12 zur CPU mit einer entsprechenden Erhöhung der Datenübertragungsgeschwindigkeit und dem keine Systemänderung erfordernden Einschluß einer Cacheeinrichtung mit auch hier einer entsprechenden Erhöhung der Datenübertragungsgeschwindigkeit. Die MBC/C 34 erreicht diese Verbesserung durch die Rekonfiguration des MM 12 aus einem Einzelwort breiten und 2×N Wort tiefen Speicher in einen zwei Wort breiten und N Wort tiefen Speicher und durch Bereitstellen eines Cachedatenpfades parallel zu dem schon bestehenden direkten Datenpfad.
  • Die vorliegende Erfindung kann in noch anderen speziellen Formen ausgeführt werden, ohne daß von ihrem Sinn oder wesentlichen Merkmalen abgewichen wird. Beispielsweise können die Dimensionen der Speicherbänke MB 28 von dem hier gezeigten Beispiel verschieden sein oder die vom System benutzte Wortbreite kann verschieden sein. Außerdem ist es nicht notwendig, daß alle MB 28-Paare in der Cache-Konfiguration tatsächlich ein Paar enthalten. Das heißt, daß ein oder mehrere "Paare" nur eine MB 28 aufweisen, und daß ein Teil des MM 12 in der Cache-Konfiguration als ein Einzelwort breiter Speicher erscheint. Bei einer noch anderen Ausführungsform der Cache-Konfiguration kann der MM 12 statt als Zwei-Wort breiter als Drei-, Vier-Wort breiter oder noch breiterer Speicher konfiguriert sein, mit einer entsprechenden Vervielfachung der MMRD-Busse 22. Auch kann jede MB 28 mehrere Wörter breit sein, mit einer entsprechenden Vergrößerung der Breite der Datenpfade und einer entsprechenden Vergrößerung der Anzahl Wörter, die bei jeder Lese- oder Schreiboperation aus jeder MB 28 ausgelesen oder in sie eingeschrieben werden. Bei einer noch weiteren Ausführungsform kann der Schreibdatenpfad von der CPU 14 zum MM 12 in der Breite so vergrößert sein, daß das gleichzeitige Schreiben mehrerer Wörter in den MM 12 möglich ist. Bei einer noch weiteren Ausführungsform kann die Breite der direkten und der Cachedatenpfade entsprechend der Breitenvergrößerung des rekonfigurierten Speichers vergrößert sein, wodurch das gesamte System von beispielsweise einem 8- Bit-Wort-System auf beispielsweise ein 16- oder 32-Bit-Wort- System umkonfiguriert werden kann.

Claims (4)

1. Speichereinrichtung (12) für ein Datenverarbeitungssystem, das Mittel zum Erzeugen erster Adressen, die aus der Speichereinrichtung auszulesenden Daten entsprechen, aufweist, wobei die Speichereinrichtung eine Anzahl M von Speicherbänken (28-1, 28-2) mit getrennten Datenausgangspfaden (22-1, 22-2) aufweist, eine auf die ersten Adressen ansprechende Adressierungseinrichtung (36) zum Bereitstellen zweiter entsprechender Adressen, um die Speicherbänke (28-1, 28-2) als einen parallelen M Bänke breiten mal eine einzige Bank tiefen Speicher zu adressieren, um Daten aus Speicherplätzen von M Bänken parallel auszulesen, eine Einrichtung (38), um ansprechend auf eine Ausgabe der Adressierungseinrichtung (36) die Datenausgangspfade (22-1, 22-2) der M Speicherbänke wahlweise mit einem Ausgangsdatenpfad (24) der Speichereinrichtung zu verbinden, wobei der Ausgangsdatenpfad (24) der Speichereinrichtung eine Breite von N hat, wobei N kleiner als M ist,
gekennzeichnet durch
eine parallel zu der Einrichtung zum wahlweisen Verbinden geschaltete Cache-Einrichtung (40) mit M Eingängen, von denen je einer mit je einem der M parallelen Bankausgangsdatenpfade (22-1, 22-2) verbunden ist, um auf den M parallelen Bankausgangsdatenpfaden (22-1, 22-2) erscheinende Informationen zur möglichen späteren Übertragung an den Ausgangspfad (24) der Speichereinrichtung zu speichern, wobei die Cache-Einrichtung (40) einen mit dem Ausgangsdatenpfad (24) der Speichereinrichtung verbundenen Ausgang aufweist; und
dadurch gekennzeichnet, daß
die Cache-Einrichtung (40) auf eine erste Adresse anspricht, die bereits in der Cache-Einrichtung (40) gespeicherte Daten bezeichnet, um der Adressierungseinrichtung (36) eine Trefferanzeige bereitzustellen, und um die bezeichneten Daten an den Ausgangsdatenpfad (24) der Speichereinrichtung auszugeben, wobei die Trefferanzeige die Adressierungseinrichtung (36) veranlaßt, das Ausgeben einer entsprechenden zweiten Adresse an die M Speicherbänke (28-1, 28-2) zu sperren; und
dadurch, daß die Cache-Einrichtung (40) auf eine erste Adresse anspricht, die nicht schon in der Cache-Einrichtung (40) gespeicherte Daten bezeichnet, um der Adressierungseinrichtung (36) eine Fehlschlagsanzeige zu liefern, wobei die Fehlschlagsanzeige die Adressierungseinrichtung (36) veranlaßt, eine entsprechende zweite Adresse an die M Speicherbänke (28-1, 28-2) auszugeben, wodurch es der Cache-Einrichtung (40) ermöglicht wird, die auf den M parallelen Bankausgangsdatenpfaden (22-1, 22-2) erscheinenden Daten parallel dazu zu speichern, daß die Einrichtung (38) zum wahlweisen Verbinden einen ausgewählten der M parallelen Bankausgangsdatenpfade (22-1, 22-2) mit dem Ausgangsdatenpfad (24) der Speichereinrichtung verbindet.
2. Speichereinrichtung (12) nach Anspruch 1, dadurch gekennzeichnet, daß die Ausgabe von der Adressierungseinrichtung (36) zu der Einrichtung (38) zum wahlweisen Verbinden mindestens ein geringstwertiges erstes Adreßbit aufweist.
3. Verfahren zum Betreiben einer Speichereinrichtung (12) in einem Datenverarbeitungssystem, das Mittel zum Erzeugen erster Adressen aufweist, die aus der Speichereinrichtung zu lesenden Daten entsprechen, wobei die Speichereinrichtung eine Anzahl M von speicherbänken (28-1, 28-2) mit getrennten Datenausgangspfaden (22-1, 22-2) aufweist, eine auf die ersten Adressen ansprechende Adressierungseinrichtung (36) zum Bereitstellen zweiter entsprechender Adressen, um die Speicherbänke (28-1, 28-2) als einen parallelen M Bänke breiten mal eine einzige Bank tiefen Speicher zum parallelen Lesen von Daten aus Speicherplätzen der M Bänke zu adressieren, eine Einrichtung (38), um die Datenausgangspfade (22-1, 22-2) der M Speicherbänke ansprechend auf eine Ausgabe der Adressierungseinrichtung (36) wahlweise mit einem Ausgangsdatenpfad (24) der Speichereinrichtung zu verbinden, wobei der Ausgangsdatenpfad (24) der Speichereinrichtung eine Breite von N hat, wobei N kleiner als M ist,
dadurch gekennzeichnet, daß
eine Cache-Einrichtung (40) bereitgestellt wird, die parallel mit der Einrichtung ,zum wahlweisen Verbinden geschaltet ist, die Cache-Einrichtung (40) M Eingänge hat, von denen je einer mit je einem der M parallelen Bankausgangsdatenpfade (22-1, 22-2) verbunden ist, um auf den M parallelen Bankausgangsdatenpfaden (22-1, 22-2) erscheinende Informationen für eine mögliche spätere Übertragung zum Ausgangspfad (24) der Speichereinrichtung zu speichern, wobei die Cache-Einrichtung (40) einen mit dem Ausgangsdatenpfad (24) der Speichereinrichtung verbundenen Ausgang hat;
eine Trefferanzeige von der Cache-Einrichtung (40) an die Adressierungseinrichtung (36) in Reaktion auf eine erste Adresse, die bereits in der Cache-Einrichtung (40) gespeicherte Daten bezeichnet, bereitzustellen, wobei die Trefferanzeige die Adressierungseinrichtung (36) veranlaßt, das Ausgeben einer entsprechenden zweiten Adresse an die M Speicherbänke (28-1, 28-2) zu sperren; und
aus der Cache-Einrichtung (40) die bezeichneten Daten an den Ausgangsdatenpfad (24) der Speichereinrichtung auszugeben; eine Fehlschlagsanzeige von der Cache-Einrichtung (40) an die Adressierungseinrichtung (36) in Reaktion auf eine erste Adresse, die nicht bereits in der Cache-Einrichtung (40) gespeicherte Daten bezeichnet, bereitzustellen, wobei eine Fehlschlagsanzeige die Adressierungseinrichtung (36) veranlaßt, eine entsprechende zweite Adresse an die M Speicherbänke (28-1, 28-2) auszugeben;
entsprechende Daten von den M Speicherbänken (28-1, 28-2) an die M parallelen Bankausgangsdatenpfade (22-1, 22-2) auszugeben;
und mittels der Einrichtung (38) einen ausgewählten der M parallelen Bankausgangsdatenpfade (22-1, 22-2) mit dem Ausgangsdatenpfad (24) der Speichereinrichtung zu verbinden;
wodurch es der Cache-Einrichtung (40) ermöglicht wird, die auf den M parallelen Bankausgangsdatenpfaden (22-1, 22-2) auftretenden Daten parallel dazu zu speichern, daß die Einrichtung (38) zum wahlweisen Verbinden einen ausgewählten der M parallelen Bankausgangsdatenpfaden (22-1, 22-2) mit dem Ausgangsdatenpfad (24) der Speichereinrichtung verbindet.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß die Einrichtung (38) zum wahlweisen Verbinden abhängig von einer Ausgabe der Adressierungseinrichtung (36) betrieben wird, die mindestens ein geringstwertiges erstes Adreßbit aufweist.
DE3588009T 1984-01-09 1985-01-02 Vorrichtung und Verfahren zum Rekonfigurieren eines Speichers in einer Datenverarbeitungsanordnung. Expired - Lifetime DE3588009T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/568,997 US4747070A (en) 1984-01-09 1984-01-09 Reconfigurable memory system

Publications (2)

Publication Number Publication Date
DE3588009D1 DE3588009D1 (de) 1995-05-24
DE3588009T2 true DE3588009T2 (de) 1995-11-23

Family

ID=24273663

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3588009T Expired - Lifetime DE3588009T2 (de) 1984-01-09 1985-01-02 Vorrichtung und Verfahren zum Rekonfigurieren eines Speichers in einer Datenverarbeitungsanordnung.

Country Status (6)

Country Link
US (1) US4747070A (de)
EP (1) EP0149451B1 (de)
JP (1) JPS60147857A (de)
AU (1) AU577307B2 (de)
CA (1) CA1226673A (de)
DE (1) DE3588009T2 (de)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9405914D0 (en) * 1994-03-24 1994-05-11 Discovision Ass Video decompression
US5146572A (en) * 1980-11-17 1992-09-08 International Business Machines Corporation Multiple data format interface
US5111389A (en) * 1987-10-29 1992-05-05 International Business Machines Corporation Aperiodic mapping system using power-of-two stride access to interleaved devices
US5253358A (en) * 1989-05-19 1993-10-12 Compaq Computer Corporation Cache memory expansion and transparent interconnection
EP0398191A3 (de) * 1989-05-19 1991-11-27 Compaq Computer Corporation Vierfachwort-, Multiplex-Seitenmodusspeicher und Cache-Speicher
JPH04233642A (ja) * 1990-07-27 1992-08-21 Dell Usa Corp キャッシュアクセスと並列的にメモリアクセスを行なうプロセッサ及びそれに用いられる方法
US5249277A (en) * 1990-08-08 1993-09-28 Compuadd Corporation Optimized performance memory method and system
US5301344A (en) * 1991-01-29 1994-04-05 Analogic Corporation Multibus sequential processor to perform in parallel a plurality of reconfigurable logic operations on a plurality of data sets
US5412788A (en) * 1992-04-16 1995-05-02 Digital Equipment Corporation Memory bank management and arbitration in multiprocessor computer system
US6079009A (en) * 1992-06-30 2000-06-20 Discovision Associates Coding standard token in a system compromising a plurality of pipeline stages
US5842033A (en) 1992-06-30 1998-11-24 Discovision Associates Padding apparatus for passing an arbitrary number of bits through a buffer in a pipeline system
US6330665B1 (en) 1992-06-30 2001-12-11 Discovision Associates Video parser
US6112017A (en) * 1992-06-30 2000-08-29 Discovision Associates Pipeline processing machine having a plurality of reconfigurable processing stages interconnected by a two-wire interface bus
DE69229338T2 (de) * 1992-06-30 1999-12-16 Discovision Associates, Irvine Datenpipelinesystem
US6034674A (en) * 1992-06-30 2000-03-07 Discovision Associates Buffer manager
US5809270A (en) * 1992-06-30 1998-09-15 Discovision Associates Inverse quantizer
US6067417A (en) * 1992-06-30 2000-05-23 Discovision Associates Picture start token
US6417859B1 (en) 1992-06-30 2002-07-09 Discovision Associates Method and apparatus for displaying video data
US5768561A (en) * 1992-06-30 1998-06-16 Discovision Associates Tokens-based adaptive video processing arrangement
US7095783B1 (en) 1992-06-30 2006-08-22 Discovision Associates Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto
US6263422B1 (en) * 1992-06-30 2001-07-17 Discovision Associates Pipeline processing machine with interactive stages operable in response to tokens and system and methods relating thereto
US6047112A (en) * 1992-06-30 2000-04-04 Discovision Associates Technique for initiating processing of a data stream of encoded video information
US5764373A (en) 1993-03-16 1998-06-09 Mitsubishi Denki Kabushiki Kaisha Image data compression-expansion circuit
US6115547A (en) 1993-03-29 2000-09-05 Trilogy Development Group, Inc. Flash configuration cache
US5805914A (en) * 1993-06-24 1998-09-08 Discovision Associates Data pipeline system and data encoding method
IL109921A (en) * 1993-06-24 1997-09-30 Quickturn Design Systems Method and apparatus for configuring memory circuits
CA2145379C (en) * 1994-03-24 1999-06-08 William P. Robbins Method and apparatus for addressing memory
CA2145365C (en) * 1994-03-24 1999-04-27 Anthony M. Jones Method for accessing banks of dram
CA2145361C (en) * 1994-03-24 1999-09-07 Martin William Sotheran Buffer manager
WO1995032466A1 (en) * 1994-05-19 1995-11-30 Vlsi Technology, Inc. Flexible register mapping scheme
US5798719A (en) 1994-07-29 1998-08-25 Discovision Associates Parallel Huffman decoder
GB9417138D0 (en) * 1994-08-23 1994-10-12 Discovision Ass Data rate conversion
SE514348C2 (sv) * 1995-06-09 2001-02-12 Saab Dynamics Ab Minnesstruktur anpassad för lagring och hämtning av vektorer
US5806997A (en) * 1996-02-20 1998-09-15 Canon Business Machines, Inc. Dot matrix printer
US7266634B2 (en) 2000-01-05 2007-09-04 Rambus Inc. Configurable width buffered module having flyby elements
US7363422B2 (en) * 2000-01-05 2008-04-22 Rambus Inc. Configurable width buffered module
US7017002B2 (en) * 2000-01-05 2006-03-21 Rambus, Inc. System featuring a master device, a buffer device and a plurality of integrated circuit memory devices
US6502161B1 (en) 2000-01-05 2002-12-31 Rambus Inc. Memory system including a point-to-point linked memory subsystem
US7404032B2 (en) * 2000-01-05 2008-07-22 Rambus Inc. Configurable width buffered module having switch elements
US20050010737A1 (en) * 2000-01-05 2005-01-13 Fred Ware Configurable width buffered module having splitter elements
US7356639B2 (en) * 2000-01-05 2008-04-08 Rambus Inc. Configurable width buffered module having a bypass circuit
US20030002474A1 (en) * 2001-03-21 2003-01-02 Thomas Alexander Multi-stream merge network for data width conversion and multiplexing
US6754741B2 (en) 2001-05-10 2004-06-22 Pmc-Sierra, Inc. Flexible FIFO system for interfacing between datapaths of variable length
EP1345234A1 (de) * 2002-03-11 2003-09-17 STMicroelectronics S.r.l. Halbleiterspeicher mit Selbstauffrisch-Modus
US6877046B2 (en) * 2002-03-29 2005-04-05 International Business Machines Corporation Method and apparatus for memory with embedded processor
US6996686B2 (en) * 2002-12-23 2006-02-07 Sun Microsystems, Inc. Memory subsystem including memory modules having multiple banks
JP4451733B2 (ja) * 2004-06-30 2010-04-14 富士通マイクロエレクトロニクス株式会社 半導体装置
US7562271B2 (en) * 2005-09-26 2009-07-14 Rambus Inc. Memory system topologies including a buffer device and an integrated circuit memory device
US7464225B2 (en) * 2005-09-26 2008-12-09 Rambus Inc. Memory module including a plurality of integrated circuit memory devices and a plurality of buffer devices in a matrix topology
US11328764B2 (en) 2005-09-26 2022-05-10 Rambus Inc. Memory system topologies including a memory die stack

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3686640A (en) * 1970-06-25 1972-08-22 Cogar Corp Variable organization memory system
US3693165A (en) * 1971-06-29 1972-09-19 Ibm Parallel addressing of a storage hierarchy in a data processing system using virtual addressing
US3820078A (en) * 1972-10-05 1974-06-25 Honeywell Inf Systems Multi-level storage system having a buffer store with variable mapping modes
IT1052771B (it) * 1975-12-31 1981-07-20 Olivetti C E C S P A Dispositivo di indirizzamento di una memoria
US4093995A (en) * 1976-03-26 1978-06-06 Norland Corporation Random access memory apparatus for a waveform measuring apparatus
US4162534A (en) * 1977-07-29 1979-07-24 Burroughs Corporation Parallel alignment network for d-ordered vector elements
US4157587A (en) * 1977-12-22 1979-06-05 Honeywell Information Systems Inc. High speed buffer memory system with word prefetch
US4349871A (en) * 1980-01-28 1982-09-14 Digital Equipment Corporation Duplicate tag store for cached multiprocessor system
US4382278A (en) * 1980-06-05 1983-05-03 Texas Instruments Incorporated Hierarchial memory system with microcommand memory and pointer register mapping virtual CPU registers in workspace cache #4 and main memory cache
US4410944A (en) * 1981-03-24 1983-10-18 Burroughs Corporation Apparatus and method for maintaining cache memory integrity in a shared memory environment

Also Published As

Publication number Publication date
EP0149451A2 (de) 1985-07-24
AU577307B2 (en) 1988-09-22
CA1226673A (en) 1987-09-08
DE3588009D1 (de) 1995-05-24
JPS60147857A (ja) 1985-08-03
AU3237284A (en) 1986-03-06
US4747070A (en) 1988-05-24
EP0149451A3 (en) 1989-09-06
EP0149451B1 (de) 1995-04-19

Similar Documents

Publication Publication Date Title
DE3588009T2 (de) Vorrichtung und Verfahren zum Rekonfigurieren eines Speichers in einer Datenverarbeitungsanordnung.
EP0013737B1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE2350884C2 (de) Adreßumsetzungseinheit
DE68924306T2 (de) Mehrprozessorrechneranordnungen mit gemeinsamem Speicher und privaten Cache-Speichern.
DE3724317C2 (de)
DE2515696C2 (de) Datenverarbeitungssystem
DE68926036T2 (de) Speicherkonfiguration zur Verwendung für Schnittstellenbildung zwischen einer Systemsteuereinheit für ein Multiprozessorsystem und dem Hauptspeicher
DE69721590T2 (de) Ein bereichsbasiertes seiten-table-walk-bit verwendendes verfahren sowie vorrichtung
DE69915243T2 (de) Speicherplattenanordnung-Steuerungsvorrichtung
DE2224537C2 (de) Einrichtung und Verfahren zur Instruktionsauswahl in einem Fließbandprozessor
DE2241257C3 (de) Datenverarbeitende Anlage
DE68923863T2 (de) Ein-/Ausgabecachespeicherung.
DE2617408B2 (de) Speichermodul für ein Datenverarbeitungsgerät mit Speicherhierarchie
DE3909896A1 (de) Vorrichtung und verfahren fuer den zugriff zu in einem seitenspeicher gespeicherten daten
DE3502147C2 (de)
DE2404146A1 (de) Digitales, hierarchisch in wenigstens drei hierarchie-stufen aufgebautes speichersystem
DE69838701T2 (de) Vorrichtung zum Lese/-Schreibzugriff von Registern in zentraler Verarbeitungseinheit
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE69119149T2 (de) Struktur zur direkten Speicher-zu-Speicher-Übertragung
DE3911721C2 (de)
DE19526008A1 (de) Vertikal partitionierter, primärer Befehls-Cache-Speicher
DE19908618A1 (de) Gemeinsam genutzter Hochleistungscachespeicher
DE69724732T2 (de) Atomare Operation in Fernspeicher und Vorrichtung zur Durchführung der Operation
DE3650642T2 (de) Speichermittel mit Mehrwortauslesen und Schreiben
DE2926351A1 (de) Look-ahead-speicheradressen- steuereinrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: WANG LABORATORIES, INC., BILLERICA, MASS., US

8327 Change in the person/name/address of the patent owner

Owner name: LG SEMICON CO., LTD., CHEONGJU, KR

8327 Change in the person/name/address of the patent owner

Owner name: LG ELECTRONICS INC., SEOUL/SOUL, KR

8328 Change in the person/name/address of the agent

Representative=s name: COHAUSZ & FLORACK, 40472 DUESSELDORF