DE2617408B2 - Speichermodul für ein Datenverarbeitungsgerät mit Speicherhierarchie - Google Patents
Speichermodul für ein Datenverarbeitungsgerät mit SpeicherhierarchieInfo
- Publication number
- DE2617408B2 DE2617408B2 DE2617408A DE2617408A DE2617408B2 DE 2617408 B2 DE2617408 B2 DE 2617408B2 DE 2617408 A DE2617408 A DE 2617408A DE 2617408 A DE2617408 A DE 2617408A DE 2617408 B2 DE2617408 B2 DE 2617408B2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- bits
- module
- address
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0851—Cache with interleaved addressing
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)
Description
Die Erfindung betrifft einen Speichermodul gemäß Oberbegriff des Anspruchs 1.
Der Zugriff zu schnellen Speichern ist von außerordentlicher Bedeutung, um eine schnelle Verarbeitung
der Daten zu erhalten und die hoge Geschwindigkeit der zur Zeit verfügbaren Rechenwerke auszunutzen. Ein
Weg, eine erhöhte Speichergeschwindigkeit zu erreichen, besteht darin, eine Speicherhierarchie vorzusehen,
in der eine große und verhältnismäßig langsame Hauptspeichereinheit und eine kleinere, schnelle Hilfs-Speichereinheit
mit dem Rechenwerk verbunden sind. Der schnelle Speicher, allgemein als »Cache«-Speichereinheit
bekannt, dient als ein Mittel zur Speicherung von aus dem Hauptspeicher ausgewählten Daten. Die Daten
vom Hauptspeicher, die in die Cache-Einheit auf einmal t>o
in Mengen von üblicherweise einigen Worten (oder Bytes) eingespeichert werden, werden so ausgewählt,
daß sie Daten enthalten, von denen man annimmt, daß sie durch das Rechenwerk bei nachfolgenden Speicheranfragen
angefordert werden. Wenn dies der Fall ist, b5 dann wird die Speichergeschwindigkeit dadurch entsprechend
erhöht, daß das Rechenwerk von dem schnellen Cache-SDeicher bedient wird, und nicht von
dem langsameren Hauptspeicher.
Ein Speichersystem vom Cache-Typ erfordert eine Speichersteuerung, die folgendes feststellen muß:
1. ob durch das Rechenwerk angeforderte Daten im Cache-Speicher sind, und falls ja. wo:
2. falls diese Daten nicht im Cache-Speicher sind, an welche Stelle innerhalb des Cache-Speichers die
Daten von dem langsamen Speicher eingespeichert werden müssen;
3. wie das Rechenwerk den schnellen und den langsamen Speicher modifiziert und
4. welche Zustände das System beim Einschalten einnehmen soll.
Eine Cache-Speicheranordnung macht auch Gebrauch von einer assoziativen Speichereinheit, die die
sich auf den langsamen Speicher beziehenden Adressen der Daten im Cache-Speicher enthält. Dieser Assoziativspeicher
kann wirkungsvoll als ein inhaltsadressierter Speicher verwirklicht werden, der für eine gleichzeitige
Suche auf all seinen Speicherplätzen sorgt, um festzustellen, ob die von dem Rechenwerk gewünschten
Daten im Cache-Speicher sind, und falls ja, wo.
Unter den verschiedenen Punkten, die Einfluß auf die
Leistung eines Speichersystems des besprochenen Typs haben, ist auch das Verhältnis der Geschwindigkeiten
zwischen dem langsamen Speicher und dem Cache-Speicher. Dies kann auch durch das Größenverhältnis
des Cache-Speichers und des langsamen Speichers bestimmt werden. Wenn einmal die Größe des
Cache-Speichers und seine Geschwindigkeit ausgewählt sind, um eine gewünschte Leistung zu erhalten, muß die
Speichersteuerung so ausgelegt werden, daß sie fur eine
wirkungsvolle Methode zum Austausch alter Worte im Cache-Speicher gegen neue Worte sorgt
Durch die DE-OS 23 50 215 ist ein Datenverarbeitungsgerät
der im Oberbegriff des Anspruchs 1 genannten Art bekannt. Bei dem bekannten Gerät kann
die HilfsSpeicherkapazität verringert werden, um die Kosten des Geräts zu verringern. Die Hauptspeicherteile
sind durch Module gebildet und die Hilfsspeicherteile sind durch von den Hauptspeicherteilen getrennte
Module gebildet, so daß bei einer Vergrößerung der Hauptspeicherkapazität der Hilfsspeicher in seiner
Größe unverändert bleibt Bei dem bekannten Gerät ist bereits vorgesehen, die Hauptspeichermodule mit
Adressenverschränkung und Speicherüberlappung zu betreiben. Wird der Hauptspeicher vergrößert so
nimmt bei dem bekannten Gerät wegen der nur begrenzten Größe des HilfsSpeichers die wirksame
Zugriffszeit zu.
Auch durch die Zeitschrift »Elektronische Rechenanlagen«, 12. Jahrgang, 1970, Heft 2, S. 95 bis 103 ist ein
Datenverarbeitungsgerät bekannt, dessen Hauptspeicher mit Verschränkung oder Verteilung arbeiten und
dem ein schneller Pufferspeicher vorgeschaltet ist. In dieser Druckanschrift ist erwähnt, daß eines oder
mehrere Segmente mit 1024 Wörtern des Pufferspeichers, dessen Gesamtkapazität 4096 Wörter beträgt,
abgeschaltet werden können, wobei das Gerät funktionsfähig bleibt
Der Erfindung liegt die Aufgabe zugrunde, eine Möglichkeit zu schaffen, die Arbeitsgeschwindigkeit
eines Geräts der im Oberbegriff des Anspruchs 1 genannten Art zu erhöhen, wobei die sich ergebende
hohe Arbeitsgeschwindigkeit auch bei einer Vergrößerung der Speicherkapazität beibehalten werden soll.
Diese Aufgabe wird durch die im Anspruch 1 angegebenen Merkmale gelöst Weiterbildungen der
Erfindung sowie ein erfindungsgemäßes Datenverarbeitungsgerät sind in den Unteransprüchen gekennzeichnet
Die Erfindung ermöglicht es durch das Cache-Speichersystem mit Verteilung oder Versehachtelung,
die Operationsgeschwindigkeit im Ganzen gesehen zu erhöhen, denn die im Cache-Speicher gespeicherten
Daten aller Speichermodule sind verteilt oder verschachtelt angeordnet, so daß Daten, von denen
erwartet wird, daß sie nachfolgend während der Operation des Datenverarbeitungsgeräts benötigt werden,
aufeinander folgend in verschiedenen Cache-Speichereinheiten der Speichermodule gespeichert sind.
Beim Stand der Technik wurden derartige aufeinander folgende Daten dagegen bisher in einer einzigen
Cache-Speichereinheit gespeichert, und diese konnten daher nicht gleichzeitig verfügbar gemacht werden, weil
in einem bestimmten Zeitpunkt ein Zugriff nur zu einem einzigen Modul erfolgen kann. Durch die Technik der
verteilten Speicherung im Cache-Speicher wird die Wahrscheinlichkeit verringert, daß Wörter, die aufeinander
folgend benötigt werden, im selben Cache-Speicher sich befinden und es wird die Wahrscheinlichkeit
erhöht, daß solche aufeinander folgende Wörter tatsächlich gleichzeitig zugänglich sind, das heißt, es ist
der Zugriff zu dem nächsten Wort einer Sequenz möglich, bevor die Verarbeitung des früheren Worts
abgeschlossen worden ist Auf diese Weise kann die Gesamtgeschwindigkeit der Operation bei solchen
Systemen, in denen ein derartiger überlappender Zugriff
durchgeführt werden kann, erhöht werden.
to Ein weiterer wichtiger Vorteil der Erfindung liegt in
der Tatsache, daß jeder Speichermodul sowohl einen Hauptspeicherteil als auch einen Cache-Speicherteil
einschließt Wenn die Speicherkapazität durch Hinzufügen von einem oder mehreren Modulen erhöht wird,
wird auch die Cache-Speicherkapazität erhöht so daß die wirksame Zugriffszeit im wesentlichen unverändert
bleibt Durch die dem Speich«rmodul zugeordneten Schaltmittel zum überlappenden Speichern wird eine
relativ leichte Auswahl einer geeigneten Verteilung der
Cache-Speicher in Übereinstimmung mit der Anzahl der
verwendeten Speichermodule gestattet
Speziell bei relativ kleinen Rechnersystemen, in denen die Speicherkapazität verhältnismäßig klein ist,
kann das gesamte Speichersystem in der Form einer Anzahl derartiger Speichermodule angeordnet werden,
wobei der Hauptspeicherteil eine i-elativ niedrige
Arbeitsgeschwindigkeit und eine relative große Kapazität aufweist und der Cache-Speicherteil eine viel
kleinere Kapazität und eine viel höhere Arbeitsge-
JO schwindigkeit aufweist Beispielsweise kann ein
Speichersystem für 64 K Wörter in der Weise angeordnet werden, daß es acht Modulen benutzt,
wobei jeder Modul einen Hauptspeicherteil mit 8 K aufweist und einen Cache-Teil, der vier Blöcke mit
J5 jeweils vier Wörtern aufweist In einem solchen System
sind 32 Blöcke von Cache-Wörtern verfügbar, wobei man in der Lage ist, diese Wörter in einer Zwei-Wege-Verteilung,
einer Vier-Wege-Verteilung oder einer Acht-Wege-Verteilung, wie weiter unten näher beschrieben,
zu speichern.
Nachfolgend werden an Hand der Zeichnung Ausführungsbeispiele der Erfindung näher erläutert.
F i g. 1 ist ein Übersichts-Blockdiagramm eines Speichermoduls gemäß der Erfindung mit einem
Hauptspeicher und einem Hilfs-Cache-Speicher;
F i g. 2 zeigt eine detailliertere Ansicht eines Teils des Hauptspeichers und Cache-Speichers des Moduls nach
Fig.l;
F i g. 3 zeigt eine nochmals detailliertere Ansicht
F i g. 3 zeigt eine nochmals detailliertere Ansicht
so eines Teils des Hauptspeichers und Cache-Speichers des Speichermoduisnach Fig. 1;
F i g. 4 zeigt einen detaillierteren Abschnitt eines anderen Teils des Speichermoduls nach F i g. 1;
F i g. 5 und 6 zeigen die Zeitlogik des Speichermoduls nach F i g. 1;
F i g. 5 und 6 zeigen die Zeitlogik des Speichermoduls nach F i g. 1;
F i g. 7 zeigt ein Zeitdiagramm, das die zeitliche Abhängigkeit zwischen verschiedenen Signalen der
Zeitlogik nach F i g. 5 und 6 zeigt;
F i g. 8, 9 und 10 zeigen detailliertere Diagramme der
F i g. 8, 9 und 10 zeigen detailliertere Diagramme der
bo Speichersteuerlogik von F i g. 1;
F i g. 11 zeigt detailliertere Diagramme der Auffrischungslogik
nach F i g. 1;
F i g. 12 zeigt eine detailliertere Zeichnung der Logik zur Erzeugung einer Arbeitsweise des Cache-Speichers
b5 des Speichermoduls nach Fig.l mit Verteilung oder
ohne Verteilung der zu speichernden Information;
Fig. 13 zeigt eine andere Ausführungsform der in F i g. 12 gezeigten Logik;
Fig. 14 bis 16 sind Diagramme zur Erläuterung der
Operation der Logik von F i g. 13.
Ein Blockdiagramm, das allgemein einen typischen Speichermodul beschreibt, der bei der vorliegenden
Erfindung verwendet wird, ist in F i g. 1 dargestellt, in der ein Hauptspeicher 31 gezeigt ist, der eine Zykluszeit
von beispielsweise 600 ns hat, und ein kleinerer Halbleiterspeicher mit einer größeren Geschwindigkeit,
der allgemein als Cache-Speicher 32 bezeichnet ist, mit einer Zykluszeit von beispielsweise 100 ns bis 200 ns.
Der Hauptspeicherteil 31 ist mit einer Speicher-Datensammelleitung verbunden und zusätzlich mit einem
Speicheradressenregister 33, das wiederum mit einer Adreß-Sammelleitung, wie gezeigt, verbunden ist, über
ein Speicherdatenregister 38.
Eine Assoziativspeichereinheit in der Form eines inhaltsadressierbaren Speichers 34 ist mit dem Speicheradreßregister
33 verbunden und wird von diesem beaufschlagt und ist so ausgebildet, daß es Daten an
seinen Eingängen mit bereits in seinem Speicher gespeicherten Daten vergleicht, um eine Übereinstimmung
anzuzeigen, wenn diese Daten identisch sind. Diese Untersuchung auf Gleichheit wird bei allen Bits
parallel durchgeführt Die gespeicherten Daten sind gebildet durch vier Wörter mit zwölf Bits, und der
Signaleingang ist ein Wort mit elf Bits vom Speicheradreßregister 33 und ein Prüfbit. Die Ausgangssignale
des inhaltsadressierbaren Speichers 34 enthalten ein zum Cache-Speicher 32 geleitetes Signal, wenn eine
Obereinstimmung gefunden wird (GLEICH), und ein zum Hauptspeicher 31 geleitetes Signal, wenn eine
Übereinstimmung nicht gefunden wird (GLEICH). Zusätzlich wird eine Adresse, die als A4 und RB
bezeichnet ist, und die einen Schnellspeicherplatz im Cache-Speicher 32 bezeichnet, zu dem Cache-Speicher
32 geleitet, wenn eine Übereinstimmung auftritt.
Der Hauptspeicher 31 ist auch so verbunden, daß er den Cache-Speicher 32 mit vier Wörtern oder einem
Block von Speicherdaten lädt, wenn ein derartiger Befehl vorliegt. Die Signale WA und WB, die zum
Cache-Speicher 32 und zum inhaitsadressierbaren Speicher 34 geliefert werden, bezeichnen immer die
Cache-Speicheradresse, wo die vom Hauptspeicherteil 31 stammenden Daten eingeschrieben werden müssen
und werden von der Cache-Wortaustauschlogikeinheit 35 erhalten. Die spezielle für diese Einheit verwendete
Logik bildet keinen notwendigen Teil der vorliegenden Erfindung und jede geeignete Methode zur Auswahl der
Wörter, die im Cache-Speicher gespeichert werden müssen, kann benutzt werden. Eine geeignete Technik
und die Logik hierfür ist in der US-PS 39 49 369 mit dem Titel »Memory Access Technique« (Speicherzugrifftechnik),
angemeldet von William P. Churchill am 23. Januar 1974 und auf den Anmelder der vorliegenden
Erfindung übertragen, beschrieben.
Eine Speichersteuerlogik 37 ist mit dem Cache-Speicher 32, dem Hauptspeicher 31, dem inhaltsadressierbaren
Speicher 34 und der Cache-Wortaustauschlogik 35 verbunden, um sicherzustellen, daß eine geeignete
Abfolge der Behandlung der Information aufrechterhalten wird, was im folgenden deutlich werden
wird.
Das System gemäß der Erfindung verwendet vorzugsweise einen dynamischen Halbleiterhauptspeicher
31, der deswegen, weil die in ihm gespeicherten Daten innerhalb einer Zeitperiode sich verschlechtern,
es erfordert, daß diese Daten periodisch in geeigneter Weise aufgefrischt werden. Eine geeignete Auffrischlogik
39 und ein »Adressenerhaltungs«-Register 40 werden für diesen Zweck benötigt, wie genauer unten
beschrieben wird.
Wie bei der in F i g. 2 beschriebenen Ausführungsform erkennbar ist, weist der Hauptspeicher vier Zeilen 31Λ, 31ß, 31Cund 31£> von Speicher-Halbleiterplättchen entsprechend der Zeile 0, Zeile 1, Zeile 2 bzw. Zeile 3 auf, wobei jede Zeile 21 Speicherhalbleiterplättchen aufweist und jedes Plättchen ein (2 K. χ I)-Plättchen ist.
Wie bei der in F i g. 2 beschriebenen Ausführungsform erkennbar ist, weist der Hauptspeicher vier Zeilen 31Λ, 31ß, 31Cund 31£> von Speicher-Halbleiterplättchen entsprechend der Zeile 0, Zeile 1, Zeile 2 bzw. Zeile 3 auf, wobei jede Zeile 21 Speicherhalbleiterplättchen aufweist und jedes Plättchen ein (2 K. χ I)-Plättchen ist.
ίο Der Hauptspeicher hat so eine Kapazität für die
Speicherung von 8 K Wörtern, wobei jedes Wort 21 Bit
lang ist. Der Cache-Speicher 32 umfaßt 21 4-Bit-Speicherhalbleiterplättchen und hat daher eine Gesamtkapazität
von 84 Bit, die vier Worte mit 21 Bit
!5 repräsentieren. Das System ist so ausgelegt, daß vier
Wörter aus dem Hauptspeicher in den Cache-Speicher mit einem Takt geschrieben werden, während ein
einzelnes Wort mit jedem einzelnen Takt in den Hauptspeicher von dem Rechenwerk geschrieben wird.
Wie man mehr im einzelnen in Fig.3 sieht, sind
typische Verbindungen zwischen einer speziellen Spalte von vier Registern 50, 51, 52 und 53 im Hauptspeicher
dargestellt, von denen jedes ein Bit von jeden« von 8 K Worten, die im gesamten Hauptspeicher gespeichert
sind, speichert, und ein Register 54 des Cache-Speichers, das ein Bit von vier Wörtern, die im Cache-Speicher
gespeichert sind, speichert. Für das hier beschriebene System repräsentiert diese Spalte eine von 21 solcher
Spalten zur Speicherung von Wörtern mit 21 Bit im Hauptspeicher und Cache-Speicher, wobei 16 dieser
Bits die Bits eines 16-Bit-Daten worts repräsentieren
und die übrigen fünf Bits für Fehlerkorrekturzwecke benutzt werden, die nicht Teil der vorliegenden
Erfindung bilden. Entsprechend sind die Verbindungen in bezug auf die letztgenannten Bits nicht im einzelnen
beschrieben.
Die Zwischenverbindungen zwischen den vier Zeilen der Hauptspeicherregister (wobei jede Zeile 16 solcher
Register enthält) und den Cache-Speicherregistern (die 16 solcher Register aufweisen) sind in Gruppen von vier
Spalten angeordnet, wobei eine solche Gruppe speziell in F i g. 3 mit Bezug auf die Zwischenverbindungen
zwischen den Hauptspeicherregistern 1 bis 4 der Zeilen 0 bis 3 und den Cache-Speicherregistern 1 bis 4 gezeigt
ist Obwohl in den Zeichnungen nicht im einzelnen gezeigt, sind im wesentlichen die gleichen entsprechenden
Verbindungen vorgesehen mit Bezug auf die Hauptspeicherregister 5 bis 8 der Zeilen 0 bis 3 und die
Cache-Speicherregister 5 bis 8, die Hauptspeicherregiso ster 9 bis 12 der Zeilen 0 bis 3 und die Cache-Speicherregister
9 bis 12, und die Hauptspeicherregister 13 bis 16 der Zeilen 0 bis 3 und die Cache-Speicherregister 13 bis
16.
Die Speicherbist MBO bis MB\5 werden von der Speicherdatensammelleitung über das Speicherdatenregister
41 geliefert. Das Cache-Register Nr. 1 beispielsweise speichert ein Bit von jedem von vier Registern
einer einzelnen Zeile, die hier als Beispiel als Zeile 0 des Hauptspeichers bezeichnet ist, während das Cache-Register
Nr. 2 ein Bit von jedem von vier Registern der Zeile 1 des Hauptspeichers speichert, das Cache-Register
Nr. 3 ein Bit von jedem von vier Registern der Zeüe 2 des Hauptspeichers speichert und das Cache-Register
Nr. 4 ein Bit von jedem von vier Registern der Zeile 3 des Hauptspeichers speichert
Auf diese Weise speichern die 16 Cache-Datenregister vier 16-Bit-Datenwörter (sowie vier 5 Bit
Fehlerkorrekturwörter) in dem beschriebenen System.
Die Signale WA und WB bezeichnen die Adressen, in die die Wörter einzuspeichern sind, wobei eine derartige
Speicherung als Ergebnis eines Signals OACHE LD erfolgt. Der Cache-Speicher kann ein Wort zu der
Speicherdatensammelleitung über Speichersammeileitungstreiber 42 übertragen (ein Element der ersten
Spalte ist hierbei als Element 42Λ bezeichnet, wie in F i g. 3 gezeigt ist). Die Signale RA und RB bezeichnen
die Adresse, aus der ein solches Wort gelesen werden soll, und eine solche Übertragung erfolgt als Ergebnis ι ο
eines Signals DA TEN ZUR SAMMELLEITUNG. Es werden geeignete Taktsignale zum Hauptspeicher 31
geliefert, ebenso Adreß-Signale AQ bis A10, wie
gezeigt, wobei Daten in den Hauptspeicher beim Auftreten von Schreibaktiviersignalen WO bis W3 für
jede der Zeilen des Hauptspeichers eingegeben werden.
Wie man in F i g. 4 sieht, liefert das Speicheradreßregister 33 zusätzlich zu der Tatsache, daß es die
11-Bit-Adresse und die Prüf information zu dem inhaltsadressierbaren Speicher 34 liefert, auch die Bits
MD14 und MD15, die diejenige Adresse identifizieren,
die in der Adressenerhaltungslogik 44 während der Schreiboperation aufbewahrt werden muß, wie unten
beschrieben.
Die Fig.5 und 6 zeigen die Zeitlogik für den
Speichermodul und weisen ein Synchrontaktregister 45 auf, das die Taktsignale TX bis Γ4 liefert und die Logik
zur Herstellung der Treibersignale FIl, F12 und F13 aufweist. Aus Gründen der elektrischen Belastung
werden diese Signale als eine Mehrzahl von Signalen FHA bis FIIL, FI2A bis F/2Fund FI3A bis F/3F,die
in Fig.6 gezeigt sind, erzeugt, um unterschiedliche logische Elemente, die für die Arbeit des Hauptspeichers
erforderlich sind, zu speisen. Der zeitliche Zusammenhang der Zeitsignale der F i g. 5 und gewisser
anderer Signale des Speichermoduls ist in dem Zeitdiagramm der F i g. 7 gezeigt für die Operation
innerhalb des 800-Nanosekunden-Operationszyklus des Hauptspeichers.
Die Taktgeber des MOS-Hauptspeichers werden durch die in F i g. 6 gezeigten Taktgebertreibersignaie
angesteuert, welche Signale wiederum von den Zeitsignalen aus dem Synchrontaktregister 45 getrieben
werden. Die Taktgebertreiber arbeiten in drei Stufen. Die erste Stufe, die die Taktgebertreibersignale FIXA
bis FIXL benötigt, bewirkt ein Vorladen und Bereitmachen
des Hauptspeichers, wodurch ein wirkungsvolles Starten der Tätigkeit des Hauptspeichers und ein
Einrasten der Adressen am Ende dieser Stufe erfolgt. Alle Zeilen des Hauptspeichers werden gleichzeitig in
den Cache-Speicher eingelesen.
Die zweite Stufe, die die Taktgebertreibersignaie FI2A bis F/2F benötigt, ist eine »Lese«-Stufe zum
Auslesen von Daten aus jeder Speichereinheit-matrix (d.h, jedes 2 K-Halbleiterplättchen des Hauptspeichers).
Die dritte Stufe, die die Taktgebertreibersignaie FI3A bis F/3F benötigt, ist eine »Schreib«-Stufe und
schreibt Daten aus dem Speicherdatenregister in den Hauptspeicher oder vervollständigt den Auffrischzyldus
(wie unten diskutiert wird).
Die Speichersteuerlogik ist in den Fig.8, 9 und 10
dargestellt Fi g. 8 zeigt drei Register 46,47 und 48 zur
Lieferung geeigneter Steuersignale, wie gezeigt Ist beispielsweise einmal der Speichermodul durch das es
Rechenwerk ausgewählt worden, zeigt ein geeignetes Steuersignal an, daß der ausgewählte Modul die Adresse
von der Speicheradressensammelleitung erhalten hat und daß die Verarbeitung dieser Adresse beginnen
kann. Weiterhin werden Signale zum Beginn der Leseoder Schreibzyklen (LESEZYKLUS, SCHREIBZY
KLUS) geliefert, ebenso Signale, die anzeigen, ob eine Datenübertragung vom Speichermodul noch schwebt
(TRANSPEND), und ob die Speicherdatensammelleitung zum Transport von Daten dorthin bereit ist
(BEREITTP). Weitere Signale umfassen eine Anforderung
nach einem Auffrischzyklus (AUFFRISCH) und die Einleitung eines solchen Auffrischzyklus
(AUFFZYK). Wenn sich der Modul in einem Fehlerkorrekturzyklus
(FKOR ZY) befindet, wird ein Signal geliefert, während die Anwesenheit eines geeigneten
Taktsignals (MCASYN) für die interne Synchronisation der Lese- und/oder Schreiboperationen sorgt, ohne daß
eine externe Synchronisation vom Rechenwerk erforderlich ist. Wenn es gewünscht wird, daß die Daten an
einer ausgewählten Adresse im Hauptspeicher des Moduls geändert werden und Daten einer solchen
Adresse auch im Cache-Speicher gespeichert sind, wird ein Signal ENTF geliefert, während die Daten im
Hauptspeicher auf den neuesten Stand gebracht werden, welches Signal anzeigt, daß die im Cache-Speicher
früher gespeicherten Daten ungültig sind und verhindert, daß durch ein Einschreiben der ungültigen
Bedingung in den inhaltsadressierbaren Speicher 34 (IASPLD) in diesem inhaltsadressierbaren Speicher 34
eine Übereinstimmung festgestellt wird. Wenn ein Befehl zum Laden des Cache-Speichers (CACHELD)
gegeben wurde, sind die Daten, die so in den Cache-Speicher geladen werden, für einen Zugriff nicht
verfügbar, bis eine Zeitspanne verstrichen ist, die ausreichend ist, um diese Operation völlig zu vollenden.
Um die Übertragung solcher Cache-Daten auf die Speicherdatensammelleitung bis zu diesem Zeitpunkt zu
verhindern, werden diese Daten nicht verfügbar gemacht, bis ein Signal CACHELDSV durch das
Register 48 geliefert wird, welches Signal um eine geeignete Zeitverzögerung nachdem das Laden des
Cache-Speichers begonnen wurde, vorhanden ist
Das in F i g. 9 gezeigte Register 49 liefert ein Signal ENTFSV, ein Signal BUSYSV, ein Signal MEMSE-
LECTSV und ein Signal GLEICHSV, wie gezeigt. In
einer Art ähnlich der oben an Hand des Signals CACHE LD SV diskutierten werden diese Signale um
vorbestimmte Zeiten, die der Einleitung der angegebenen Operationen folgen, verzögert, so daß diese
Operationen völlig abgeschlossen werden können, bevor eine folgende Operationen in Verbindung mit
diesen beginnen kann.
Die Auffrischlogik ist in F i g. 11 gezeigt Wie bekannt
ist erfordern MOS-Speicher, daß die in ihnen gespeicherten Daten periodisch aufgefrischt werden.
Entsprechend dem gezeigten System haben die (2 K χ lJ-Speicher-Halbleiterplättchen Speicherzellen, die in
einer 32 χ 64-Matrix angeordnet sind, wobei die 64 Bits
einer einzelnen aus den 32 Zeilen gleichzeitig (innerhalb weniger als 2 Millisekunden) aufgefrischt werden, und
eine spezielle Zeile alle 25 Mikrosekunden aufgefrischt
wird, so daß die gesamte Speichermatrix von jedem (2Kx 1)-Halbleiterplättchen alle 800 Mikrosekunden
aufgefrischt wird, was zum periodischen Auffrischen von z.B. gegenwärtig verfügbaren MOS-Speichern
ausreichend ist
Wie man in F i g. 11 sieht, wird ein Zeitgeber 60 für 25
Mikrosekunden zusammen mit einem 5-Bit-Auffrischzahler 61 verwendet, um die Zählersignale zu liefern, um
das Auffrischen aller 32 Zeilen zu gestattea
Ein Festwertspeicher 62 (FWSP) liefert die Schreibsignale WO bis W3 für jede der vier Zeilen der
(2 K χ l^Speicher-Halbleiterplättchen des Hauptspeichers in Übereinstimmung mit dem Signal SCHREIB
ZYKLUS von den Speichersteuerregistern der F i g. 8 und den Signalen WD14 und WD15 von der
Adressenerhaltungslogik der Fig.4. Die Adressentreibersignale
Λ 0 bis Λ 4 werden während des Auffrischzyklus von den Signalen Ri bis R 5 des Zählers 51
abgeleitet in Übereinstimmung mit dem Signal SET REF CYCLE; von F i g. 8.
Fig. 12 zeigt die Verbindungen, die am Speichermodul
erforderlich sind, um Operationen des Cache-Speichers mit Verteilung oder ohne Verteilung vorzusehen.
Seine Operation für jede Art eines Verteilungsprozesses benutzt die 18-Bit-Adresse des Systems, Von den in
einer Adresse verfügbaren 18 Bits erfordert die Hauptspeicheradresseninformation, wie oben erwähnt,
11 Bits, die Identifizierung des ausgewählten Speichermoduls
erfordert 5 Bits (für ein System, das 32 Speichermoduln verwendet), und die Identifizierung
eines speziellen Worts im Cache-Speicher des ausgewählten Moduls erfordert 2 Bits. Für ein System ohne
Verteilung sind die Adressenbits in der folgenden Weise vom höchstwertigen Bit (HWB) bis zum niedrigstwertigen
Bit (NWB) angeordnet:
HWB <-
Modulauswahl
(5 Bits)
Hauptspeicheradresse
Bits)
18 Bits
18 Bits
(1
HWB <r-
Modulauswahl
(4 Bits)
HWB <-
Modulauswahl
(3 Bit)
(3 Bit)
HWB <Modul
auswahl
auswahl
(2 Bits)
Hauptspeicher- Moduladresse auswahl
(11 Bits) (I Bit)
18 Bits
(11 Bits) (I Bit)
18 Bits
Hauptspeicher- Moduladresse auswahl
(11 Bits) (2 Bits)
18 Bits
(11 Bits) (2 Bits)
18 Bits
Hauptspeicheradresse
(11 Bits)
18 Bits
Modulauswahl
(3 Bits)
(3 Bits)
So benutzt für einen Prozeß mit einer Zweiwege-Verteilung ein 16 K-Speichersystem zwei 8 K-Speichermoduln
(bezeichnet als Moduln 1 und 2\ von denen jeder einen Cache-Speicher hat, der in der Lage ist, vier
Blöcke von Wörtern (bezeichnet als Block A, B, C und D) zu speichern. In Übereinstimmung hiermit kann eine
Folge von 32 Wortblöcken 0 bis 31 in den Wortblöcken
>NWB
Cache-Wort
(2 Bits)
Für Systeme mit einer Verteilung, die eine Zweiwege-Verteilung, Vierwege-Verteilung und Achtwege-Verteilung
benutzen, sind die Adressenbits in der folgenden Weise angeordnet:
> NWB
Cache-Wort (2 Bit)
> NWB Cache-Wort
(2 Bit)
> NWB Cache-Wort (2 Bits)
der Cache-Speicher der Moduln in der folgenden Weise gespeichert werden:
Wortblöcke 0 bis 31 -
Cache-Speicherblöcke IA bis ID und 2A bis 2D
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
IA | 2A | IB | 2B | IC | 2C | ID | 2D |
8 | 9 | 10 | 11. | 12 | 13 | 14 | 15 |
10 IA | 2A | IB | 2B | IC | 2C | ID | 2D |
16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
IA | 2A | IB | 2B | IC | 2C | ID | 2D |
is 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
IA 2A IB 2B IC 2C ID 2D
Für einen Prozeß mit einer Vierwege-Verteilung in einem 32 K-Speichersystem, das vier 8 K-Speichermoduln
benutzt, kann eine Folge von 32 Wortblöcken in den Cache-Speichern wie folgt gespeichert werden:
Wortblöcke 0 bis 31 -
Cache-Speicherblöcke IA bis ID, 2A bis 2D, 3 A bis 3D
und 4A bis 4D
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
IA | 2A | 3A | 4A | IB | 2B | 3B | 4B |
9 | 10 | 11 | 12 | 13 | 14 | 15 | |
IC | 2C | 3C | 4C | ID | 2D | 3D | 4D |
16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
IA | 2A | 3A | 4A | IB | 2B | 3B | 4B |
35 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
IC 2C 3C 4C
ID 2D 3D 4D
Für einen Prozeß mit einer Achtwege-Verteilung in einem 64 K-Speichersystem, das acht 8 K-Speichermoduln
verwendet, kann eine Folge von 32 Wortblöcken in den Cache-Speichern wie folgt gespeichert werden:
Wortblöcke 0 bis 31 -
Cache-Speicherblöcke IAbis ID,2A bis2D,3Abis3D,
4A bis 4D, 5A bis 5D, 6A bis 6D, 7A bis 7D, 8A bis 8D
0 | 1 | 2 | 3 | 4 | 5 | 6 | / |
50 IA | 2A | 3A | 4A | 5A | 6A | 7A | 8A |
8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
IB | 2B | 3B | 4B | 5B | 6B | 7B | 8B |
16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
55 IC | 2C | 3C | 4C | 5C | 6C | 7C | 8C |
24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
ID 2D 3D 4D 5D 6D 7D
Beim Einrichten jedes Speichermoduls für die Benutzung in einer Arbeitsweise ohne Verteilung oder
mit Verteilung werden die Bits der 18-Bit-Adressen in
dem speziellen hier beschriebenen System in der Weise identifiziert, daß sie 15 Adreßbus, Λ4 0 bis PA15,
aufweisen und drei besondere Adreß-Bits, XPA 0 bis XPA 2, welche Bits folgendermaßen für jeden Operationstyp
zugeteilt werden können.
Operation
Adresse
Ohne Verteilung
Zweiwege-Verteilung
Vierwege-Verteilung
Achtwege-Verteilung
HWB <
Modul-Auswahl
(5 Bits)
(5 Bits)
XPA 0-XPA 2
PA 1, PA 2
HWB <
Modul-Auswahl
(4 Bits)
XPA H-XPA 2 PA 1
(4 Bits)
XPA H-XPA 2 PA 1
HWB <
Modul-Auswahl
(3 Bits)
XPA 0-XPA 2
HWB <
Modul-Auswahl
(2 Bits)
(2 Bits)
XPA 0, Λ"Ρ/4 1
Speicher-Adresse (11 Bits)
PA 3-PA
Speicher-Adresse (11 Bits)
PA 1-PA Modul-Auswahl (1 Bit)
PA 13
Speicher-Adresse (11 Bits) PA 1-PA Modul-Auswahl
(2 Bits)
PA 12, Λ4 13
Speicher-Adresse
(11 Bits)
XPA 2, PA I-PA Modul-Adresse (3 Bits)
PyI 11 -PA 13
> NWB
Cache-Wort (2 Bits)
Λ4 14, PA 15
> NWB
Cache-Wort (2 Bits)
PA 14, PA 15
-> NWB
Cache-Wort
(2 Bits)
PA 14, PA 15
> NWB
Cache-Wort
(2 Bits)
PA 14, PA 15
Zum Beispiel sind in dem Fall, daß keine Verteilung vorgenommen wird, die ersten fünf höchstwertigen Bits jo
verfügbar, um den Speichermodul zu identifizieren, der ausgewählt wird. Bei einem System mit Achtwege-Verteilung
werden die Moduln durch die ersten zwei höchstwertigen Bits zusammen mit dem dritten, vierten
und fünften niedrigstwertigen Bit identifiziert. Die Speicheradresse weist 11 Bits auf, die den Cache-Block
im Cache-Speicher in dem ausgewählten Modul identifizieren, und zwei Bits werden benötigt zur
Identifizierung des Cache-Worts innerhalb des identifizierten Cache-Blocks.
Eine Verwirklichung der oben diskutierten Schemata in jedem Speichermodul wird in Fi g. 12 gezeigt, in der
die Logik Adreßinformation mit Bezug auf die Bits XPAO bis XPA 2, PAh PA 2, und PAU bis PA 13
erhält, welche Bits, wie man oben sieht, die einzigen Bits sind, die für die Identifizierung der Modul- und
Cache-Auswahl in allen Fällen mit oder ohne Verteilung der im Cache-Speicher zu speichernden Information
dienen.
Das niedrige Bit 0, das niedrige Bit 1 und das niedrige
Bit 2 repräsentieren das fünfte, vierte bzw. dritte am wenigsten signifikante Bit oder am niedrigstenwertige
Bit der 18-Bit-Adresse. Die Hauptspeicheradresse benutzt alle drei niedrigen Bits als PA 11, PA 12 und
PA 13 für ein Schema ohne Verteilung, sie benutzt nur das niedrige Bit 0 und das niedrige Bit 1 als PA 11 und
PA12 für eine Zweiwege-Verteilung, sie benutzt nur das
niedrige Bit 0 als PA11 für eine Vierwege-Verteilung
und sie benutzt keines der drei niedrigen Bits für eine
Achtwege-Verteilung. In jedem einzelnen Fall, wo eo PA11, PA12 und PA 13 nicht in der Hauptspeicheradresse
verwendet werden, werden sie benutzt, um den richtigen Modul, der ausgewählt werden soll, zu
identifizieren, wie oben diskutiert wurde.
Eine Anzahl von Schaltern 80 bis 87 wird benutzt, um
geeignete Verbindungen zur Auswahl des gewünschten Speichermoduls sowohl für eine Situation ohne
Verteilung als auch für eine mit Verteilung zu liefern.
Für ein System, das 32 8 K-Speichermoduln benutzt,
wird deren Auswahl bestimmt durch geeignete Benutzung der Schalter 80, 81, 83, 85 und 87, welche in jeder
einzelnen Situation der Einfachheit halber so betrachtet werden können, als wenn sie einen 5-Bit-Code zur
Kennzeichnung eines ausgewählten von 32 Moduln repräsentieren. Die Stellung solcher Schalter in ihrer
linken Lage, wie sie in der Zeichnung gezeigt ist, kann als Repräsentierung einer »0« bezeichnet werden und
die Stellung auf der rechten Seite als »1«, wie in F i g. 12 dargestellt ist. Wenn beispielsweise eine Auswahl des
dem niedrigsten Speichermodul benachbarten Moduls getroffen werden soll und dieser Modul dem 5-Bit-Code
00001 entspricht, sind die Schalter 80, 81, 83 und 85 in ihrer linken (oder »0«) Position, während der Schalter 87
in seiner rechten (oder »1«) Position ist.
Weiterhin liefert die Wahl der Stellung der Schalter 82, 84 und 86 ein geeignetes Mittel zur Auswahl einer
geeigneten Betriebsweise mit Verteilung oder ohne Verteilung. Soll keine Verteilung stattfinden, sind alle
die zuletzt genannten Schalter in ihrer linken (oder »N«) Stellung, während für eine Zweiwege-Verteilung nur
der Schalter 86 in seine rechte (oder »I«) Lage gebracht ist, für eine Vierwege-Verteilung sind beide Schalter 84
und 86 in ihrer rechten Stellung, und für eine Achtwege-Verteilung sind alle drei Schalter 82, 84 und
86 in ihrer rechten Stellung.
Als weiteres Beispiel sind dann, wenn ein Modul, der durch den 5-Bit-Modul-Auswahlcode 00010 bei einer
Zweiwege-Verteilung ausgewählt werden soll, die Schalter 80,81,83 und 87 ebenso wie die Schalter 82 und
84 in ihrer linken Stellung, während die Schalter 85 und 86 in ihrer rechten Stellung sind.
Als weiteres Beispiel sind dann, wenn der höchste Adressenblock der 32 Speichermoduln (repräsentiert
durch 11111) bei einer Achtwege-Verteilung ausgewählt
wird, alle Schalter 80 bis 87 in ihrerTechten Stellung.
Als Alternative können die Schalter durch Anschlüsse ersetzt werden, die in passender Weise durch geeignete
Schaltdrahtverbindungen, wie in Fig. 13 gezeigt.
untereinander verbunden sind. Um zu illustrieren, wie
solche Schaltdrahtverbindungen für besondere beispielhafte Selektionen angeordnet sind und um die spezielle
beispielhafte Auswahl eines Zustands mit Verteilung oder ohne Verteilung zu illustrieren, sind alle Anschlüsse
der F i g. 13 (d. h. entsprechend den Anschlüssen in den
Spalten, die mit 90 bis 94 bezeichnet sind) in den F i g. 14, 15 und 16 in einem Schema aufgeführt und die
Schaltdrahtverbindungen entsprechend den Schalterverbindungen für die drei oben mit Bezug auf die
Fig. 12 diskutierten Beispiele sind in diesen Figuren gezeigt
So sind in F i g. 14 die Schaltdrahtverbindungen 95 zur Auswahl eines Moduls so angeschlossen, wie gezeigt,
um eine Modulselektion entsprechend dem Modulselektionscode 00001 zu ergeben, während die Schaltdrehverbindungen
96 in der gezeigten Weise vorgenommen sind, um einen Zustand ohne Verteilung herzustellen.
In F i g. 15 sorgen die Schaltdrahtverbindungen 95 zur Modulselektion für die Auswahl eines Moduls entsprechend
dem Modulauswahlcode 00010, während die Schaltdrahtverbindungen 96 für eine Zweiwege-Verteilung
sorgen.
In F i g. 16 sorgen die Schaltdrahtverbindungen 95 zur
Mc'dulauswahl für die Auswahl eines Moduls entsprechend dem Modulselektionscode 11111, während die
Schaltdrahtverbindungen 96 für eine Achtwege-Verteilung sorgen.
In jedem Fall ist das Muster der Schaltdrahtverbindungen
in Fig. 13 und das Muster der Schalterverbindüngen
in Fig. 12, die für unterschiedliche Zustände erforderlich sind, aus den oben diskutierten Beispielen
offenbar.
Die Erfindung eignet sich speziell für Kleinrechner (Mini-Computer). Die auf jedem Speichermodul angeordneten
Verbindungsmittel gestatten es erfindungsgemäß wahlweise, entweder mit einer Verteilung der zi
speichernden Information auf eine Mehrzahl vor Cache-Speichern zu arbeiten, oder ohne derartige
Verteilung. Wenn zusätzliche Moduln zum Systerr hinzugefügt werden, wird automatisch ein zusätzliche!
»Cache«-Speicher hinzugefügt und die Fähigkeit, eine Verteilung höherer Ordnung vorzunehmen, wird aui
einfache Weise ermöglicht.
ίο Die in den einzelnen Figuren gezeigten Schaltunger
sind teilweise in der obigen Beschreibung nicht irr einzelnen erläutert In diesen Fällen müssen die
Schaltungseinzelheiten den Zeichnungen entnommer werden. Einige der in den Zeichnungen und in dei
Beschreibung vorkommenden Begriffe aus der aus den amerikanischen stammenden Rechnerfachsprache wur
den nicht ins Deutsche übersetzt
In einigen der Figuren sind mehrere UND-Gliedei
zusammengezeichnet und ausgangsseitig in nicht nähei dargestellter Weise mit einem ODER-Glied verbunden
vgl. beispielsweise Fig.5, oder es sind mehrere zusammengezeichnete ODER-Glieder ausgangsseitig ir
nicht näher dargestellter Weise mit einem UND-Glied verbündet vgl. beispielsweise F i g. 8, linke untere
Ecke. Diese vereinfachte zeichnerische Darstellung is· in der Weise zu verstehen, daß die einzelnen Ausgänge
der UND-Glieder bzw. ODER-Glieder alle mit Eingän gen des ihnen nachgeschalteten ODER- bzw. UND
Glieds verbunden sind. Diese vereinfachte Darstellung
jo wurde deswegen gewählt, weil die Verknüpfungsgliedei
üblicherweise auf einem einzigen Halbleiterplättcher angeordnet sind und die geschilderten Verbindunger
der Ausgänge mit den Eingängen des nachfolgender Verknüpfungsglieds intern vorgenommen sind.
Hierzu 13 Blatt Zeichnungen
Claims (10)
1. Speichermodul für ein eine Mehrzahl von Speicherteilen und Hilfsspeicherteilen aufweisendes
Datenverarbeitungsgerät mit Adressenverschränkung und Speicherüberlappung, wobei jeder Hauptspeicherteil
mit einer ersten Geschwindigkeit betreibbar ist und jeder Hilfsspeicherteil mit einer
zweiten Geschwindigkeit betreibbar ist, die höher ist ι ο
als die erste Geschwindigkeit, zum zeitweiligen Speichern von ausgewählten Abschnitten der im
Hauptspeicherteil gespeicherten Daten; mit einem Assoziativspeicher zum zeitweiligen Speichern von
ausgewählten Hauptspeicheradressen und zum Vergleichen der gespeicherten Adressen mit einer neu
empfangenen Adresse in einer Lese/Schreiboperation, um Vergleichsdaten zu erzeugen zur Bestim-•itiung,
ob die durch die neu empfangene Adresse angeforderten Daten im Hilfsspeicher gespeichert
sind; dadurch gekennzeichnet, daß ein Hauptspeicherteil (31), ein Hilfsspeicherteil (32) und
ein Assoziativspeicher (34) Bestandteile eines zu einem Datenverarbeitungsgerät zu- oder abschaltbaren
Speichermoduls sind und daß dem Speichermodul Schaltmittel (Schalter 80—87, Schakdrahtverbindungen
95,96) zum überlappenden Speichern von Informationen in den Hilfsspeicherteilen mehrerer
Module zugeordnet sind.
2. Speichermodul nach Anspruch 1, dadurch gekennzeichnet, daß er eine Logik (Schalter 80', 81,
83, 85) aufweist, die auf eine Anzahl von Bits einer Adresse zur Bestimmung des ausgewählten
Speichermoduls anspricht.
3. Speichermodul nach Anspruch 2, dadurch gekennzeichnet, daß die Logik veränderbare Schaltverbindungen
(80—87,95,96) aufweist, die wahlweise in Übereinstimmung mit dem ausgewählten
Speichermodul und in Übereinstimmung mit der Art, in der die Daten im Hilfsspeicher verteilt werden
sollen, einstellbar sind, derart, daß bestimmte Bits
der Adresse bestimmten Stellen der Moduladresse und der Speicheradresse innerhalb eines Moduls
zugewiesen werden.
4. Speichermodul nach Anspruch 3, dadurch gekennzeichnet, daß die veränderbaren Schaltverbindungen
eine Anzahl von Schaltern (80—87) aufweisen, die selektiv betätigbar sind.
5. Speichermodul nach Anspruch 3, dadurch gekennzeichnet, daß die veränderbaren Schaltverbindungen
eine Anzahl von beweglichen Schaltdrahtverbindungen (95,96) aufweisen.
6. Datenverarbeitungsgerät mit Speichermoduln nach einem der vorhergehenden Ansprüche, dadurch
gekennzeichnet, daß es N Speichermoduln aufweist, daß die ausgewählten Datenabschnitte in
einer N-Wege-Verteilung oder N-fach-Verteilung so
gespeichert sind, daß jede aufeinanderfolgende Gruppe von N aufeinanderfolgenden Wörtern
aufeinanderfolgend in den Hilfsspeichern (32) der N Spejchermoduln gespeichert ist
7. Datenverarbeitungsgerät nach Anspruch 6, dadurch gekennzeichnet, daß N = 8 ist.
8. Datenverarbeitungsgerät nach Anspruch 6, dadurch gekennzeichnet, daß N = 4 ist
9. Datenverarbeitungsgerät nach Anspruch 6, dadurch gekennzeichnet, daß N = 2 ist
10. Datenverarbeitungsgerät nach einem der Ansprüche 6 bis 9, dadurch gekennzeichnet, daß die
Wortadressen, die benutzt werden, eine erste Anzahl von Bits zur Identifizierung eines ausgewählten
Speichermoduls, eine zweite Anzahl von Bits zur Identifizierung einer Adresse im Hauptspeicherteil
des ausgewählten Speichermoduls aufweisen und eine dritte Anzahl von Bits zur Identifizierung eines
ausgewählten Worts im Hilfsspeicherteil des ausgewählten Moduls aufweisen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/571,573 US4056845A (en) | 1975-04-25 | 1975-04-25 | Memory access technique |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2617408A1 DE2617408A1 (de) | 1976-11-04 |
DE2617408B2 true DE2617408B2 (de) | 1979-12-06 |
DE2617408C3 DE2617408C3 (de) | 1980-08-28 |
Family
ID=24284238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2617408A Expired DE2617408C3 (de) | 1975-04-25 | 1976-04-21 | Speichermodul fur ein Datenverarbeitungsgerät mit Speicherhierarchie |
Country Status (5)
Country | Link |
---|---|
US (1) | US4056845A (de) |
JP (1) | JPS51128232A (de) |
CA (1) | CA1056954A (de) |
DE (1) | DE2617408C3 (de) |
GB (1) | GB1532278A (de) |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5459846A (en) * | 1988-12-02 | 1995-10-17 | Hyatt; Gilbert P. | Computer architecture system having an imporved memory |
US5526506A (en) * | 1970-12-28 | 1996-06-11 | Hyatt; Gilbert P. | Computer system having an improved memory architecture |
US4954951A (en) * | 1970-12-28 | 1990-09-04 | Hyatt Gilbert P | System and method for increasing memory performance |
US4285040A (en) * | 1977-11-04 | 1981-08-18 | Sperry Corporation | Dual mode virtual-to-real address translation mechanism |
US4323968A (en) * | 1978-10-26 | 1982-04-06 | International Business Machines Corporation | Multilevel storage system having unitary control of data transfers |
GB2037039B (en) * | 1978-12-11 | 1983-08-17 | Honeywell Inf Systems | Cache memory system |
US4245304A (en) * | 1978-12-11 | 1981-01-13 | Honeywell Information Systems Inc. | Cache arrangement utilizing a split cycle mode of operation |
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 |
DE3068498D1 (en) * | 1979-05-09 | 1984-08-16 | Int Computers Ltd | Hierarchical data storage system |
JPS5619575A (en) * | 1979-07-25 | 1981-02-24 | Fujitsu Ltd | Data processing system having hierarchy memory |
EP0039227A3 (en) * | 1980-04-25 | 1982-09-01 | Data General Corporation | Data processing system |
US4386399A (en) * | 1980-04-25 | 1983-05-31 | Data General Corporation | Data processing system |
CA1168377A (en) * | 1980-04-25 | 1984-05-29 | Michael L. Ziegler | Data processing system having a memory system which utilizes a cache memory and unique pipelining techniques for providing access thereto |
US4370710A (en) * | 1980-08-26 | 1983-01-25 | Control Data Corporation | Cache memory organization utilizing miss information holding registers to prevent lockup from cache misses |
US4464713A (en) * | 1981-08-17 | 1984-08-07 | International Business Machines Corporation | Method and apparatus for converting addresses of a backing store having addressable data storage devices for accessing a cache attached to the backing store |
DE3138972A1 (de) * | 1981-09-30 | 1983-04-14 | Siemens AG, 1000 Berlin und 8000 München | Onchip mikroprozessorchachespeichersystem und verfahren zu seinem betrieb |
US4442487A (en) * | 1981-12-31 | 1984-04-10 | International Business Machines Corporation | Three level memory hierarchy using write and share flags |
US4575814A (en) * | 1982-05-26 | 1986-03-11 | Westinghouse Electric Corp. | Programmable interface memory |
US4587610A (en) * | 1984-02-10 | 1986-05-06 | Prime Computer, Inc. | Address translation systems for high speed computer memories |
US4736293A (en) * | 1984-04-11 | 1988-04-05 | American Telephone And Telegraph Company, At&T Bell Laboratories | Interleaved set-associative memory |
US4783736A (en) * | 1985-07-22 | 1988-11-08 | Alliant Computer Systems Corporation | Digital computer with multisection cache |
US4794521A (en) * | 1985-07-22 | 1988-12-27 | Alliant Computer Systems Corporation | Digital computer with cache capable of concurrently handling multiple accesses from parallel processors |
US4953073A (en) * | 1986-02-06 | 1990-08-28 | Mips Computer Systems, Inc. | Cup chip having tag comparator and address translation unit on chip and connected to off-chip cache and main memories |
US5446844A (en) * | 1987-10-05 | 1995-08-29 | Unisys Corporation | Peripheral memory interface controller as a cache for a large data processing system |
AU2278688A (en) * | 1988-02-16 | 1989-08-17 | Sun Microsystems, Inc. | Distributed cache architecture |
GB9008145D0 (en) * | 1989-05-31 | 1990-06-06 | Ibm | Microcomputer system employing address offset mechanism to increase the supported cache memory capacity |
US5053991A (en) * | 1989-10-06 | 1991-10-01 | Sanders Associates, Inc. | Content-addressable memory with soft-match capability |
US5125098A (en) * | 1989-10-06 | 1992-06-23 | Sanders Associates, Inc. | Finite state-machine employing a content-addressable memory |
US5434990A (en) * | 1990-08-06 | 1995-07-18 | Ncr Corporation | Method for serially or concurrently addressing n individually addressable memories each having an address latch and data latch |
ATE179810T1 (de) * | 1991-03-01 | 1999-05-15 | Advanced Micro Devices Inc | Mikroprozessor mit externem speicher |
JPH04293135A (ja) * | 1991-03-20 | 1992-10-16 | Yokogawa Hewlett Packard Ltd | メモリアクセス方式 |
US5630098A (en) * | 1991-08-30 | 1997-05-13 | Ncr Corporation | System and method for interleaving memory addresses between memory banks based on the capacity of the memory banks |
US5581734A (en) * | 1993-08-02 | 1996-12-03 | International Business Machines Corporation | Multiprocessor system with shared cache and data input/output circuitry for transferring data amount greater than system bus capacity |
TW321744B (de) * | 1994-04-01 | 1997-12-01 | Ibm | |
JPH08314794A (ja) * | 1995-02-28 | 1996-11-29 | Matsushita Electric Ind Co Ltd | 安定記憶装置へのアクセス待ち時間を短縮するための方法およびシステム |
US5752260A (en) * | 1996-04-29 | 1998-05-12 | International Business Machines Corporation | High-speed, multiple-port, interleaved cache with arbitration of multiple access addresses |
US5987581A (en) * | 1997-04-02 | 1999-11-16 | Intel Corporation | Configurable address line inverter for remapping memory |
US6101589A (en) * | 1998-04-01 | 2000-08-08 | International Business Machines Corporation | High performance shared cache |
US6661421B1 (en) | 1998-05-21 | 2003-12-09 | Mitsubishi Electric & Electronics Usa, Inc. | Methods for operation of semiconductor memory |
US6559851B1 (en) | 1998-05-21 | 2003-05-06 | Mitsubishi Electric & Electronics Usa, Inc. | Methods for semiconductor systems for graphics processing |
US6535218B1 (en) | 1998-05-21 | 2003-03-18 | Mitsubishi Electric & Electronics Usa, Inc. | Frame buffer memory for graphic processing |
US6504550B1 (en) | 1998-05-21 | 2003-01-07 | Mitsubishi Electric & Electronics Usa, Inc. | System for graphics processing employing semiconductor device |
US7310706B1 (en) | 2001-06-01 | 2007-12-18 | Mips Technologies, Inc. | Random cache line refill |
US7136960B2 (en) * | 2002-06-14 | 2006-11-14 | Integrated Device Technology, Inc. | Hardware hashing of an input of a content addressable memory (CAM) to emulate a wider CAM |
US7171439B2 (en) * | 2002-06-14 | 2007-01-30 | Integrated Device Technology, Inc. | Use of hashed content addressable memory (CAM) to accelerate content-aware searches |
US7290084B2 (en) * | 2004-11-02 | 2007-10-30 | Integrated Device Technology, Inc. | Fast collision detection for a hashed content addressable memory (CAM) using a random access memory |
FR2989504B1 (fr) * | 2012-04-12 | 2014-04-25 | St Microelectronics Rousset | Registre protege contre des attaques par injection de fautes |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR1541240A (fr) * | 1966-11-10 | Ibm | Accès à chevauchement et à intercalation pour mémoires à plusieurs vitesses | |
US3588829A (en) * | 1968-11-14 | 1971-06-28 | Ibm | Integrated memory system with block transfer to a buffer store |
US3588839A (en) * | 1969-01-15 | 1971-06-28 | Ibm | Hierarchical memory updating system |
US3699530A (en) * | 1970-12-30 | 1972-10-17 | Ibm | Input/output system with dedicated channel buffering |
US3693165A (en) * | 1971-06-29 | 1972-09-19 | Ibm | Parallel addressing of a storage hierarchy in a data processing system using virtual addressing |
US3764996A (en) * | 1971-12-23 | 1973-10-09 | Ibm | Storage control and address translation |
US3829840A (en) * | 1972-07-24 | 1974-08-13 | Ibm | Virtual memory system |
US3820078A (en) * | 1972-10-05 | 1974-06-25 | Honeywell Inf Systems | Multi-level storage system having a buffer store with variable mapping modes |
US3810110A (en) * | 1973-05-01 | 1974-05-07 | Digital Equipment Corp | Computer system overlap of memory operation |
US3866183A (en) * | 1973-08-31 | 1975-02-11 | Honeywell Inf Systems | Communications control apparatus for the use with a cache store |
US3840862A (en) * | 1973-09-27 | 1974-10-08 | Honeywell Inf Systems | Status indicator apparatus for tag directory in associative stores |
-
1975
- 1975-04-25 US US05/571,573 patent/US4056845A/en not_active Expired - Lifetime
-
1976
- 1976-04-21 DE DE2617408A patent/DE2617408C3/de not_active Expired
- 1976-04-23 CA CA250,916A patent/CA1056954A/en not_active Expired
- 1976-04-23 GB GB16648/76A patent/GB1532278A/en not_active Expired
- 1976-04-24 JP JP51047144A patent/JPS51128232A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JPS51128232A (en) | 1976-11-09 |
DE2617408A1 (de) | 1976-11-04 |
US4056845A (en) | 1977-11-01 |
CA1056954A (en) | 1979-06-19 |
DE2617408C3 (de) | 1980-08-28 |
GB1532278A (en) | 1978-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2617408C3 (de) | Speichermodul fur ein Datenverarbeitungsgerät mit Speicherhierarchie | |
DE3909896C2 (de) | ||
DE3834759C2 (de) | ||
DE1956604C3 (de) | Datenverarbeitungsanlage | |
DE3588009T2 (de) | Vorrichtung und Verfahren zum Rekonfigurieren eines Speichers in einer Datenverarbeitungsanordnung. | |
DE10343525B4 (de) | Verfahren zum Betreiben von Halbleiterbausteinen, Steuervorrichtung für Halbleiterbausteine und Anordnung zum Betreiben von Speicherbausteinen | |
DE3032630C2 (de) | Halbleiterspeicher aus Speicherbausteinen mit redundanten Speicherbereichen und Verfahren zu dessen Betrieb | |
EP0908893B1 (de) | Speicherarchitektur mit Mehrebenenhierarchie | |
EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE102005056351A1 (de) | Speichervorrichtung, Speichersteuereinheit und Verfahren zum Betreiben derselben | |
DE3724317A1 (de) | Speicherzugriffssystem | |
DE2803989A1 (de) | Wahlfreie zugriffsspeichervorrichtung fuer digitale daten | |
DE2359178A1 (de) | Speicheranordnung | |
DE2163342A1 (de) | Hierarchische binäre Speichervorrichtung | |
DE10147592A1 (de) | System und Verfahren zum Vorsehen geichzeitiger Zeilen- und Spaltenbefehle | |
DE2310631C3 (de) | Speicherhierarchie für ein Datenverarbeitungssystem | |
DE2404146A1 (de) | Digitales, hierarchisch in wenigstens drei hierarchie-stufen aufgebautes speichersystem | |
DE102013018135B4 (de) | Adressenbit-Wiederabbildungsschema zur Reduzierung einer Zugriffsauflösung von DRAM-Zugriffen | |
DE69011867T2 (de) | Nibble-mode-d-ram-festkörperspeichereinrichtung. | |
DE1922304A1 (de) | Datenspeichersteuergeraet | |
DE69025782T2 (de) | Registerbankschaltung | |
EP0009625B1 (de) | Datentransferschalter mit assoziativer Adressauswahl in einem virtuellen Speicher | |
DE4302754C1 (de) | Monolithisch integrierte Datenspeicheranordnung und Verfahren zu deren Betrieb | |
EP0012207B1 (de) | Speicherhierarchie mit Ladungsverschiebungsspeicher | |
CH495584A (de) | Datenverarbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OGA | New person/name/address of the applicant | ||
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |