DE2458525A1 - Speichersystem mit haupt- und pufferspeicher - Google Patents
Speichersystem mit haupt- und pufferspeicherInfo
- Publication number
- DE2458525A1 DE2458525A1 DE19742458525 DE2458525A DE2458525A1 DE 2458525 A1 DE2458525 A1 DE 2458525A1 DE 19742458525 DE19742458525 DE 19742458525 DE 2458525 A DE2458525 A DE 2458525A DE 2458525 A1 DE2458525 A1 DE 2458525A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- memory
- word
- blocks
- group
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
-
- 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/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/20—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits using counters or linear-feedback shift registers [LFSR]
Description
PHN.7278.
ΐΤΓ/i FODDTG DEEN/EVH.
Aniv^.-.u'ng vcrr.i . .
Speichersystem mit Haupt- und Pufferspeicher
Die Erfindung betrifft eine Speicheranordnung mit mindestens einem langsamen Hauptspeicher grosser
Speicherkapazität, der in Wortblöcke eingeteilt ist, und mit mindestens einem schnellen Pufferspeicher geringer
Speicherkapazität, der gleichfalls in Wortblöcke eingeteilt ist, jedoch mit geringerer Anzahl als im Hauptspeicher,
mit weiter einem Adressenspeicher, der in eine Anzahl Adressblöcke gleich der Anzahl Wortblöcke des
Pufferspeichers eingeteilt ist, wobei pro Adressblock die Adresse eines im Pufferspeicher befindlichen Wortblockes
aufnehmbar ist und der Adresspeicher mit Vergleiehsmitteln versehen ist, mit denen die Adresse eines
509827/0821
30.11.74.
Wortblockes eines abgerufenen Wortes mit den im Adressenspeicher gespeicherten Adressblöcken der im Pufferspeicher
vorhandenen Wortblöcke vergleichbar ist, wobei bei Uebereinstimmung der betreffende Wortblock im Pufferspeicher
auswählbar ist und bei Nichtübereinstimmung der Adresse der Wortblock aus dem Hauptspeicher auswählbar und zum
Pufferspeicher und die betreffende Adresse zu einem Adressblock des Adressenspeichers übertragbar sind.
Derartige Konfigurationen sind bekannt und dienen dazu, die Geschwindigkeit der mit diesen Konfigurationen zusammenarbeitenden
Prozessoren besser auszunutzen. Die Geschwindigkeit des Pufferspeichers hat die gleiche
Grössenordnung wie die Arbeitsgeschwindigkeit des Prozessors.
Der Hauptspeicher, der langsam ist, kann jedoch, ohne dass sein Preis alle Schranken durchbricht, sehr
grossen Umfang haben. Beim heutigen Stand der Technik kann der Hauptspeicher ein Magnetkernspeicher und der
Pufferspeicher ein integrierter Halbleiterspeicher sein. In der Praxis wird es jedoch Fälle geben, bei
denen es vorteilhaft ist, .den. Pufferspeicher als selb*-
ständigen Speicher verwenden zu können. D.h. die Verbindung mit dem Hauptspeicher wird unterbrochen und es
erfolgt keine Ladung des Puffers mehr auf Basis der häufigst verwendeten Programmteile und/oder Daten. Ein
solcher Fall tritt ein, wenn eine Störung im Hauptspeicher
509827/0821
30.11.7^.
auftritt und dieser Speicher für einige Zeit ausser
Betrieb ist. Der Pufferspeicher ist dann jedoch brauchbar,
wenn spezielle Massnahmen getroffen werden. Es ist die Aufgabe der Erfindung, den Pufferspeicher als normalen
Speicher, d.h. als selbständigen Speicher oder als Teil des Hauptspeichers, arbeiten lassen zu können. Ein zusätzlicher
Vorteil, die diese Wirkungsweise des Pufferspeichers
als eines normalen Speichers hat, ist folgende! Der Pufferspeicher kann, abgeschaltet vom Rest des
Computersystems, von dem er ein Teil ist, getrennt getestet werden. Im Betrieb als normaler Speicher sind alle
Pufferspeicherwörter aufeinanderfolgend adressierbar und
somit auf fehlerhafte oder defekte Wortstellen oder Teile davon prüfbar.
Zumal in Computersystemen, bei denen bei Verwendung mehrerer Prozessoren auch mehrere Pufferspeicher
vorhanden sind, ist es besonders nützlich, wenn die jeweiligen Pufferspeicher getrennt geprüft werden können.
Obige Möglichkeit ist mit dem Pufferspeicher in
der erfindungsgemässen Speicheranordnung gegeben, weil
ein Adressengenerator vorhanden ist, in dem aufeinanderfolgende Adressen zur Indifikation der Wortblöcke des
Pufferspeichers erzeugbar sind, wobei Mittel vorhanden sind, mit denen die aufeinanderfolgenden Adressen in
die Adressblöcke des Adressenspeichers aufnehmbar sind,
509827/0821
PHN,7278.
30.11.74,
so dass der Pufferspeicher über den Adressenspeicher als ein Speicher mit aufeinanderfolgenden Adressen adressierbar
ist.
Damit'ist also erreicht worden, dass im Adressenspeicher
aufeinanderfolgende Adressen stehen, mit denen beim Anbieten einer derartigen Adresse von aussen her
oder vom Adressengenerator über die Vergleichsanordnung, die angibt, dass die Adresse im Adressenspeicher steht,
im Pufferspeicher der betreffende Wortblock ausgewählt
wird. Im Zusammenhang mit dem leichteren Auswählen, insbesondere im Pufferspeicher, und mit der einfachen Gestaltung
der Vergleichsmittel (möglichst kurz, aber vor allem . möglichst wenig Bitserien miteinander vergleichen) ist
nach einer weiteren Ausführungsform der Anordnung nach der Erfindung in der obenerwähnten Speicheranordnung
der langsame Hauptspeicher in Gruppen von Wortblöcken eingeteilt, und der Pufferspeicher ist in eine gleiche
Anzahl Gruppen von Wortblöcken wie im Hauptspeicher, aber
mit weniger Wortblöcken pro Gruppe,eingeteilt; weiter ist
der Adressenspeicher in eine Anzahl Gruppen von Adressblöcken eingeteilt, welche Anzahl gleich der Anzahl
Gruppen von Wortblöcken des Hauptspeichers ist. Weiter ist die Anzahl Adressblöcke pro Gruppe gleich der Anzahl
Wortblöcke pro Gruppe des Pufferspeichers. Pro Adressblock
ist die Adresse eines im Pufferspeicher befindlichen
509827/0821
PHN.7278.
30.11.7**.
•Wortblockes in eine Gruppe aufnehmbar» Die Auswahl in
dieser Speicherkonfiguration ist in Gruppenauswahl und Blockauswahl in einer Gruppe aufgeteilt. In den für den
Adressenspeicher vorhandenen Vergleichsmitteln wird die Adresse eines Wortblockes eines aus einer ausgewählten
Gruppe abgerufenen Wortes mit den im Adressenspeicher in dieser ausgewählten Gruppe gespeicherten Adressblöcken
der in der gleichen Gruppe des Pufferspeichers vorhandenen
Wortblöcke verglichen. Bei UebereinStimmung ist der betreffende
Wortblock im Pufferspeicher auswählbar. Bei Nichtübereinstimmung der Adresse ist der Wortblock aus
der ausgewählten Gruppe des Hauptspeichers auswählbar
und nach dieser gleichen Gruppe des Pufferspeichers und
die betreffende Adresse nach einem Adressblock dieser gleichen Gruppe des Adressenspeichers transportierbar.
Diese Gruppeneinteilung für eine Speicherkonfiguration
ist an sich bekannt (siehe DT-AS 1956604). Zum Erfüllen der oben bereits erwähnten Aufgabe der
Erfindung mit dieser gruppeneingeteilten Speicheranordnung ist sie erfindungsgemäss dadurch gekennzeichnet, dass
ein Adressengenerator vorhanden ist, in dem aufeinanderfolgende Adressen erzeugbar sind, von denen ein erster
Adressteil für Gruppenauswahl und ein zweiter Adressteil für Identifikation der Wortblöcke pro Gruppe des Pufferspeichers
dient, wobei Mittel vorhanden sind, Mit denen
509827/0821
PHN.7278.
30.11.74.
der zweite Adressteil in die Adressblöcke pro Gruppe des Adressenspeichers aufnehmbar sind, so dass der !Pufferspeicher
über den Adressenspeicher in Verbindung mit der Gruppenauswahl als ein Speicher mit aufeinanderfolgenden
Adressen adressierbar ist".
Bei der Verwendung von Pufferspeichern in einer oben erwähnten Speicheranordnung ist das Vorhandensein
des Adressenspeichers eine Notwendigkeit, In praktischer Hinsicht ist es auch erwünscht, dass dieser Adressenspeicher
vollständig geprüft werden kann. Dieses vollständige Prüfen des Adressenspeichers ist weiter nach
der Erfindung auf besonders einfache Weise dadurch möglich, dass eine Invert eranordnung vorhanden ist, in der die
in die Adressblöcke des Adressenspeichers aufzunehmenden
aufeinanderfolgenden Adressen invertierbar sind, so dass
der Pufferspeicher über den Adressenspeicher als ein
Speicher mit aufeinanderfolgenden invertierten Adressen
adressierbar ist.
Im obigen Falle eines in Gruppen eingeteilten Speichers ist es weiter nach der Erfindung möglich, dass
der Adressengenerator ein zum Auswählen der Gruppen der
Anordnung vorhandener Gruppenzähler ist, der um eine Anzahl Bits η erweitert ist, wobei 2 gleich der Anzahl
Adressen des Adressenspeichers ist, die der WortblockspeicherkapazitXt pro Gruppe dee Pufferspeichers entspricht,
Ι03β27/0β21 ■··
• PHN.7278.
3O.1T.7*.
Auf diese Weise ist es also möglich, jede Bitstelle des Adressenspeichers im einen Falle mit einem
1- oder einem O-Bit und im anderen Falle mit einem 0- oder
einem 1-Bit zu schreiben. Wenn in beiden Fällen, also
sowohl bei der nicht invertiert geschriebenen als auch bei der invertiert geschriebenen Adresse, bei dem aufeinanderfolgenden
Anbieten aller Adressen bzw« der invertierten Adressen, über die Vergleichsanordnung Gleichheit eintritt,
so bedeutet dies, dass die Bitstellen des Adressenspeichers einwandfrei sind.
Die Erfindung wird nachstehend an Hand der Zeichnungen näher erläutert. Es· zeigen
Fig. 1 ein Computersystem mit einer Speicheranordnung
mit einem Haupt- und einem Pufferspeicher,
Fig. 2 ein Ausführungsbeispiel einer erfindungsgemässen
Speicherkonfiguration,
Fig. 3 ein Adressenformat, wie es in der Anordnung
nach Fig. h verwendet wird,
Fig. h ein anderes Ausführungsbeispiel einer bei der Erfindung zu verwendenden Speicheranordnung,
Fig. 5 einen Teil der erfindungsgemässen '
Speicheranordnung nach Fig. h,
Fig. 6 den Adresseninhalt einer Gruppe des Adressenspeichers nach Fig. 5>
Fig. 1 zeigt ein an sich bekanntes Computersystem
B0 9827/0821
PHN.7278..
mit einem Prozessor P1 einem Hauptspeicher MS, einem
Pufferspeicher BS, eine Steueranordnung CS und Eingangs/Ausgangseinrichtungen I/O. Der Pufferspeicher BS dient dazu,
die Geschwindigkeit des Prozessors P besser auszunutzen, trotz der Beschränkung, die ihm durch die Verwendung
eines verhältnismässig langsamen grossen Hauptspeichers MS
auferlegt worden ist. In Fig. 1 ist mit CS die Steueranordnung angegeben, die allen Verkehr zwischen den Speichern
dem Prozessor und der "Aussenwelt" regelt. Der Aufbau
dieser Steueranordnung CS wird nachstehend nur soweit für ein gutes Verständnis der Erfindung nötig, erläutert.
Er wird in CS mit C bezeichnet. Mit den punktierten Blocken in Fig. 1 ist weiter angegeben, dass in einem·
derartigen Computersystem noch mehr Prozessoren P1 und/oder
mehrere Hauptspeicher MS1 und Pufferspeicher BS1 vorhanden
sein können.
In Fig. 2 ist ein erstes Ausführungsbeispiel der erfindungsgemässen Speicherkonfiguration dargestellt.
Hierin ist MS wiederum der Hauptspeicher, der mit einer
Auswahleinheit SE versehen ist, mit der beim Anbieten
einer Adresse A im Adressenregister AR ein Wortblock WB aus dem Hauptspeicher MS auswählbar ist. Das Schreiben/
Lesen des Wortblockes WB erfolgt über das Eingangs/Ausgangsregister
MSR. Der Pufferspeicher BS hat in diesem Beispiel einen Umfang von 4 WortbliScken, für die die
509827/0821
PHN.7278. 3O.11.72*.
Stellen in BS mit wbO, wb1 , wb2 und wb3 bezeichnet sind.
Diese Anzahl von vier ist zur Vereinfachung der Beschreibung
so gewählt, Das Eingangs/Ausgangsregister des Pufferspeichers ist mit BSR bezeichnet. Weiter ist ein Adressenspeicher
mit AS und eine Vergleichsanordnung mit V bezeichnet. Ein anderer in der Praxis möglicher Aufbau ist
der, bei dem die Vergleichsmittel für den Adressenspeicher
aus der Assoziativität des Adressenspeichers selbst bestehen. Der Adressenspeicher kann genau so viele Adressen
enthalten als BS Wortblöcke aufnehmen kann. Die Stellen für diese Adressen, die sogenannten Adressenblöcke, sind
mit abO, ab1, ab2 und ab3 bezeichnet. In der Vergleichsanordnung V wird eine im Register AR angebotene Adresse A
mit den im Adressenspeicher AS stehenden Adressen verglichen. Dies kann für alle Adressen gleichzeitig stattfinden
oder auch für eine nach der anderen, so dass weniger Vergleichslogik benötigt wird. Ist AS ein Assoziativspeicher,
erfolgt dies automatisch für alle Adressen gleichzeitig. Ist eine der Adressen gleich, wird eine
betreffende Leitung 10, 11, 12 oder 13 erregt und der
zu dieser Adresse gehörige Wortblock wird damit im Pufferspeicher BS ausgewählt. Dieser Wortblock kann dabei
in den Prozessor (mit P bezeichnet) gelesen oder aus dem Prozessor P geschrieben werden. Ist jedoch der Wortblock WB
mit der Adresse.A nicht im Pufferspeicher BS vorhanden,
609 827/0821
PHN.7278.
30.11.74.
tritt für diese Adresse A keine Gleichheit in der Einrichtung V ein, was auf der Leitung Ik signalisiert wird,
und der Wortblock WB wird aus dem Hauptspeicher ausgewählt.
Schreiben/Lesen dieses Wortblockes WB ist dabei über das Register MSR möglich. Weiter geschieht hier
noch folgendes: der Inhalt des Wortblockes WB wird auch BSR angeboten, denn dieser Wortblock muss jetzt nach dem
Prinzip dieser Speicheranordnung als der zuletzt verwendete im Pufferspeicher BS gespeichert werden. Wenn BS bereits
voll besetzt ist, muss ein früher gespeicherter.Wortblock überschrieben oder nötigenfalls sogar daraus entfernt
und zum Hauptspeicher gebracht werden, letzteres in dem Falle, in dem ein Wortblock des Pufferspeichers, ohne
dass dieser im Hauptspeicher aufgezeichnet wurde, geschrieben werden darf. Welcher der gespeicherten Wortblöcke
dafür in Betracht kommt, wird in der Entscheidungsanordnung BI bestimmt, in der z.B. auf einer Regel (first
in, first out) "der zuerst» Kommende geht auch wieder als Erster heraus" die Entscheidung fällt. Andere mögliche
Entscheidungskriterien sind z.B.t "kürzest zuvor gebracht" oder auf "Gebrauchsfrequenz", Um eine derartige Entscheidung
treffen zu können, sind die Adressblöcke abi in AS mit zusätzlichen Datenbits versehen. Später wird
dies näher erläutert (bei Fig. 5). Auf Basis der Entscheidung wird ein Adressblock abi in AS. und der ent-
509827/0 8.21
PHN.7278.
30.11.74.
sprechende Wortblock wbi in BS freigemacht und die Adresse A kann darin aus dem Register AR und der zugehörige
Wortblock WB im Adressenblock abi von AS bzw, im Wortblock wbi von BS gespeichert werden.
Erfindungsgemäss ist in oben dargestellter und an sich bekannter Speicheranordnung ein Adressengenerator
AG vorhanden. Dieser Generator AG kann auf die Steuerung eines Taktsignals am Eingang CL aufeinanderfolgende
Adressen, bei 00 anfangend, erzeugen. AG ist hier als ein
Binärzähler ausgebildet und liefert in diesem Beispiel die aufeinanderfolgenden Adressen 00, 01, 10 und 11,
Wenn jetzt der Pufferspeicher BS erfindungsgemäss als ein normaler Speicher'arbeiten muss, werden in diesem Beispiel
diese Adressen aufeinanderfolgend auf den Leitungen a0
und al und weiter mit Bits eines bestimmten Wertes, hier
mit "0" angegeben, ergänzt, als eine vollständige Adresse A» Über eine Torschaltung PS, die an ihrem Eingang 1
erregt ist, dem Adressenspeicher AS angeboten. Ausserdem werden die Adressen aus dem Generator AG in einem Adressendekoder
AD dekodiert, und'über Leitungen "da" werden damit hintereinander die aufeinanderfolgenden Adressblöcke
abi von AS ausgewählt. Auf diese Weise wird der Adresspuffer AS hintereinander mit den erwähnten Adressen
000...000, 000...001, 000...010, 000...011 gefüllt (Ladeaktion).
Die erwähnte Dekodierung der Adressen des
509827/0821
PHN.7278.
30.11.7^.
Adressengenerators AG ist nicht nötig, wenn vor der
Inbetriebnahme des Pufferspeichers als normalen Speicher
die Entscheidungsanordnung BI in einen Anfangszustand gebracht ist (der zwischen'Klammern angegebene Befehl RC),
so dass die Entscheidungsanordnung BI beim Anbieten der
erwähnten Adressen Af den Adressenspeicher AS automatisch
aufeinanderfolgend mit den Adressen A*'füllt« Es sei
bemerkt, dass auch die Ergänzung der aufeinanderfolgenden
Adressen mit anderen Werten als nur O-Bits erfolgen kann.
Z.B. wird eine bestimmte Adresse, die als Basisadresse dient, den oben erwähnten aufeinanderfolgenden Adressen
zugefügt (indexierung),
Hiernach kann der Pufferspeicher als normaler
Speicher verwendet werden: wenn eine Adresse A in den Adressraum von A1 fällt oder mit anderen Worten, wenn A
eine der Adressen A1 darstellt, ergibt dies in der Vergleichsanordnung
V ein Signal auf der betreffenden Leitung Ii, und der betreffende Wortblock wird damit in BS
ausgewählt (Auswählaktion). Der Adressraum aufeinanderfolgender Adressen ist also durch die Grosse des Pufferspeichers
bestimmt,,während die Adressen selbst aufeinanderfolgend
durch den Kode bestimmt sind, mit dem der Adressengenerator die Adressenerzeugung beginnt. Dies
wird praktisch meistens eine O-Anfangsposition sein, so dass der Adressraum mit aufeinanderfolgenden Adressen von
509827/0821
PHN.7278.
0 , ... K läuft, wobei Kf die Anzahl Wortblöcke des Pufferspeichers
ist. Wenn der Pufferspeicher auf die dargestellte
Weise mit aufeinanderfolgenden Adressen versehen als ein
Teil des Hauptspeichers verwendet wird, kann z.B. für den Pufferspeicher MS jede Adresse um einen Wert N erhöht
werden, so dass BS gleichsam unten in MS hinzugefügt ist.
Eine wichtige Möglichkeit, die mit diesem
erfindungsgemässen Aufbau verwirklicht ist, ist folgende:
der Puffer BS kann "off-line", also völlig unabhängig vom System und insbesondere unabhängig vom Hauptspeicher
geprüft werden. Denn der BS ist direkt mit aufeinanderfolgenden Adressen adressierbar. Diese Adressen können
vom Prozessor geliefert werden. Weiter ist es möglich, dafür den Adressengenerator AG zu verwenden: die Adressen Α·,
die auf Taktimpulse an der Klemme CL von AG geliefert und mit O-Bits ergänzt werden, werden in V mit dem Inhalt
von AS verglichen und ein betreffender Wortblock in BS ist ausgewählt. Während dieser Aktion muss AD abgeschaltet
sein, damit die Auswahl in AS und damit in BS nicht direkt über eine der Leitungen "da" erfolgt. Hierzu ist
i dem Dekoder AD ein Signal nad zugefügt. Das Prüfen von BS
kann weiter auf bekannte Weise erfolgen. Eine häufig angewandte Methode ist: Anbieten von Bitmustern, abermaliges
Auslesen davon und Betrachten des Ergebnisses mit Hilfe von Paritätsprüfungen.
509827/0821
PHN.7278.
2453525
Deutlichkeitshalber wird als Beispiel hier eine folgende Methode erwähnt: auf Befehl am Eingang CL von AG
aufeinanderfolgend alle Adressen A' erzeugen und damit
die aufeinanderfolgenden Wortblöcke in BS auswählen.
Dabei in diesen Wortblöcken alles 1-Bits schreiben. Darauf: erneut alle Adressen A' erzeugen und jetzt die
Wortblöcke lesen» dies muss für jedes Bit ein 1-Bit ergeben. Dies lässt sich z.B. dadurch prüfen,, dass am Ausgang
des Registers BSR eine UND-Operation durchgeführt wird. In Pig. 2 ist dies mit dem punktierten UND-Gatter (n)eN
angegeben. Wenn alle Bits 1-Wert haben, ergibt dies eine
11I".. Um die Prüfung zu vervollständigen, muss auch geprüft
werden, ob alle Bitstellen des Puffers BS auch O-Bitwerte annehmen können. Dazu kann obige Methode wiederholt
werden (Erzeugen aller Adressen A1), und dabei werden zunächst alles O-Bits geschrieben und darauf wieder gelesen
und geprüft, ob alle gelesenen Bits auch O'-Bits sind. Dies ist durch Invertieren des Inhalts des Registers BSR
und erneutes Durchführen der UND-Operation möglich. In Fig. 2 ist darauf durch das eingeklammerte N beim
UND-Gatter (N)EN hingewiesen.
Die skizzierte erfindungsgemässe Speicheranordnung bietet auch die Möglichkeit, den Adressenspeicher vollständig
zu prüfen. Auf die obenbeschriebene Weise sind über PS alle Adressen A* "normal" dem Adressenspeicher AS
509827/0821
PHN.7278.
zugeführt. Venn die Adressen aus dem Prozessor oder aus
dem Adressengenerator AG wie oben beschrieben (AD abgeschaltet) aufeinanderfolgend abgefragt werden, muss immer '
Gleichheit auftreten. Ist das der Pail, ist der Adressenspeicher
in Ordnung, immerhin soweit es die "normale" Adresse A1 betrifft. Zum vollständigen Prüfen ist es
nötig, auch den Adressenspeicher mit der invertierten Adresse zu prüfen. Hierzu ist im Beispiel nach Fig. 2
eine Inverteranordnung INVPS, die gleichfalls als Torschaltung
dient, vorhanden. Wenn der Eingang 2 vom INVPS einen Befehl führt, ist am Eingang 1 der Torschaltung
kein Befehl vorhanden, und es wird eine Adresse A1 dem
Adressenspeicher invertiert zugeführt. Bei der oben erwähnten Ladeaktion werden jetzt also invertierte Adressen
in die Adressblöcke von AS aufgenommen. Sowohl nach der
erstgenannten Ladeaktion für die ."normalen" Adressen
als auch nach der letztgenannten Ladeaktion für die invertierten Adressen muss bei dem aufeinanderfolgenden
Auswählen dieser gleichen Adressen nach jeder dieser Ladeaktionen durch erneutes Anbieten der Adressen an die
Vergleichsanordnung V und durch Vergleichen dieser Adresse mit den in diesem Augenblick im Adressenspeicher
gespeicherten Adressen immer Gleichheit auftreten. Ist das der Fall, so bedeutet dies, dass die Bitstellen
des Adressenspeichers alle ein 0- und ein T-Bit enthalten
509827/0821
PHN.7278.
30.11.7*.
können. Damit ist also die Funktion des Adressenspeichers
geprüft.
In Fig. 3 ist ein Adressenformat (struktur) einer Speicherkonfiguration angegeben, die in eine Anzahl
Gruppen von Worfblöcken, sowohl für den Haupt- als auch für den Pufferspeicher, eingeteilt ist. Die Anzahl Gruppen
ist für beide gleich, nämlich 2 , worin c die Anzahl erforderlicher Bits ist, um jede Gruppe gesondert identifizieren
zu können, Weiter ist 2 die Anzahl Wortblöcke, die zu jeder Gruppe des Hauptspeichers oder in Bänke:,
des Hauptspeichers gehört, b ist die dazu benötigte Anzahl
SL
Bits. Schliesslich kann noch eine Anzahl von 2 Speicherbänken
vorhanden sein, die sueammen den kompletten Hauptspeicher
MS bilden, a ist die Anzahl dazu benötigter Bits, In den folgenden Figuren 4 und 5 wird von diesem Adressenformat
ausgegangen. Dabei sind a und b zusammengenommen und der Hauptspeicher ist als eine Einheit betrachtet,
obgleich er aus einer Anzahl gesonderter Speicherbänke 2
besteht. Ebenso kann in Fig. 4 und 5 mit mehr als einem
System von Pufferspeicher und Adressenspeicher gearbeitet
werden. Da dies jedoch für ein gutes Verständnis der Erfindung unwichtig ist, wird auf eine weitere Beschreibung
verzichtet, Es sei bemerkt, dass die Bezeichnungen in den Fig. 4 und 5 und die in Fig, 2 möglichst angeglichen
sind,
$09827/0821
PHN. 7278.
30.11.7^.
Fig, Η zeigt den Aufbau einer Speicheranordnung
nach dem Entwurf der Erfindung mit einer Einteilung in Gruppen der getrennten Speicher: Hauptspeicher MS, Pufferspeicher
BS und Adressenspeicher AS, hier wiederum mit der Vergleichsanordnung V, obgleich auch hier AS und V
zusammen ein Assoziativspeicher sein können. In Fig. h
ist ein Prozessor P mit Datenregister PDR für Prozessordaten
PD dargestellt. Weiter gibt es ein Adressenregister AR, das eine Adresse mit Adressenformat nach Fig, 3 enthalten
kann. Das Register AR kann mit einer Adresse (a + b + c) aus dem Prozessor P oder aus einer anderen Adressenquelle,
z,B, einem Prozessor P1 oder aus einem Peripheriegerät
mit der allgemeinen Bezeichnung I/O, gefüllt werden.
Ein weiteres Adressenregister DAR ist für den Hauptspeicher MS vorhanden. Hierin können Adressen (a+b+c) zum Auswählen
in MS aufgenommen werden. Diese Adressen können aus P, P1, I/O herrühren. Der Adressteil c dient dabei
für die Gruppenauswahl in MS, Hierzu wird c im Gruppendekoder GDM dekodiert. Eine im Register AR vorhandene
Adresse dient zum Auswählen im Pufferspeicher BS, Der
Adressteil c gelangt in das Gruppenregister GR und wird im Gruppendekoder GD dekodiert, damit ist gleichzeitig
in BS und im Adressenspeicher AS eine Gruppe ausgewählt.
Der Adressteil (a+b) im Register DAR dient zum Auswählen in einer Gruppe des Hauptspeichers MS, Im
509827/0821 - .
2^58525
Dekoder DAD erfolgt die Dekodierung von (a+b), so dass ein Wortblock WB in einer Gruppe ausgewählt wird. Ein
Wortblock WB kann eine Anzahl z.B. 2 oder h Speichsrwörter
w1, w2 enthalten. Ein derartiger ausgewählter Wortblock ist dann über das Eingangs/Ausgangsregister MSR
schreib- oder lesbar. Diese Daten sind z.B. die oben erwähnten Prozessordaten PD. Selbstverständlich können
diese Daten auch aus anderen Quellen herrühren oder auf andere'Empfänger übertragen werden.
Die Anordnung von Registern AR und DAR muss dafür sorgen, dass unabhängig in MS und BS ausgewählt
werden kann. Ein Pi-ozessor P ist z.B. mit BS beschäftigt, während eine i/O-Aktivität zusammen mit MS erfolgt..
Der Pufferspeicher BS hat eine beschränkte Speicherkapazität pro Gruppe, In diesem Beispiel einfachheitshalber vier,
nämlich Wortblockstellen wbO, wb1, wb2 und wb3 pro Gruppe.
Beim Auswählen über die Leitungen 10, 11, 12 oder 13 ist
einer der Wortblöcke über das Eingangs/Ausgangsregister BSR schreib- oder lesbar. Der Adressenspeicher AS enthält
die Bits a+b der WortblcJcke, die pro Gruppe im Puffer BS
stehen, denn Gruppenauswahl erfolgt auch hier von selbst über GR und GD. Die Adressblöcke AB pro Gruppe sind gleich
der Anzahl Wortblöcke pro Gruppe BS, somit auch vierj abO, ab1, ab2 und ab3. Beim Anbieten einer Adresse in AR
wird der (a+b)-Teil davon der Vergleichsanordnung V angeboten.
50 982 7/0821
PHN.7278.
30.11.7V
Der Inhalt der AdressblScke abO, ab1, ab2 und ab3 der
ausgewählten Gruppe (Teil c der Adresse in AR) wird mit dem (a+b)-¥ert in V verglichen. Tritt bei einem davon
Gleichheit auf, wird sie auf der betreffenden Leitung 10, 11, 12 oder 13 signalisiert, und der entsprechende Wortblock
wird in- BS ausgewählt. Wird keine Gleichheit signalisiert, erscheint hinter dem NICHT-ODER-Gatter 3 ein
1-Signal auf der Leitung 14. Dieses 1-Signal auf der
Leitung lh bereitet das UND-Gatter k vor, und damit wird
die Adresse in AR an DAR weitergeleitet, wenn Über die Leitung 15 dieser Weg freigegeben wird. Die Leitung 15
führt 1-Signal, wenn MS frei ist, um eine neue Adresse auszuwählen. Danach erfolgt die Auswahl des Adressteiles
(a+li) im Hauptspeicher MS, Der Inhalt des dabei gefundenen
Wortblockes wird jetzt über MSR auf den Prozessor P und
gleichfalls auf BSR übertragen, um in den Puffer BS aufgenommen zu werden. Wenn BS voll besetzt ist, entscheidet
die Entscheidungsanordnung/-BI, an welcher Stelle
dieser immer noch gleichen Gruppe dieser Wortblock aufgehoben wird. Der Adressteil (a+b) dieses Wortblocks wird
dabei im Adressenspeicher an der entsprechenden Stelle in dieser gleichen Gruppe gespeichert. Wenn abgesehen vom
Laden des Puffers normalerweise nur im Puffer gelesen wird, kann der "alte" Wortblock und seine Adresse überschrieben
werden. Wenn auch das Schreiben von Wortblöcken
509827/0821
PHN.7278. 30.11.7**.
- 20 -
im Puffer möglich ist, ohne dass .diese direkt im Hauptspeicher
aufgezeichnet werden, wird der aus dem Puffer herauszuschiebende Wortblock, z.B. bei einem folgenden
Zyklus des Hauptspeichers, wieder nach seinen Platz
in dieser Gruppe des Hauptspeichers gebracht. Dabei
wird auch der Adressblock benutzt, der vor diesem Wortblock im Adressenspeicher AS stand, aber jetzt also auch herausgeschoben ist. Wie dies alles in der Praxis verwirklicht ist, ist an sich bekannt und braucht keine
nähere Erläuterung, weil es für ein gutes Verständnis
der Erfindung unwichtig ist.
in dieser Gruppe des Hauptspeichers gebracht. Dabei
wird auch der Adressblock benutzt, der vor diesem Wortblock im Adressenspeicher AS stand, aber jetzt also auch herausgeschoben ist. Wie dies alles in der Praxis verwirklicht ist, ist an sich bekannt und braucht keine
nähere Erläuterung, weil es für ein gutes Verständnis
der Erfindung unwichtig ist.
In Fig. 5 ist der für die Erfindung wichtige Teil der Speicheranordnung nach Fig. 4 mit den dazu
gehörigen erfindungsgemässen Massnahmen für diese Anordnung angegeben»
gehörigen erfindungsgemässen Massnahmen für diese Anordnung angegeben»
Dazu ist in Fig. 5 gezeigt: der Adressenspeicher AS, die Vergleichsanordnung V, hier in Subeinheiten VO,
V1, V2 und V3 unterteilt, Flipflops FFO, FF1, FF2 und FF3,
die Entscheidungsanordmmg BI, ein Adressengenerator AGG
mit Dekoder DAGG, weiter das Gruppenregister GR, der
Gruppendekoder GD und schliesslich noch die UND-Gatter EO, E1, E2 und E3 und die ODER-Gatter 00, 01, 02 und 03}
QO, Q1, Q2 und Q3 sowie TO, T1, T2 und T3. Die Adressblöcke abO, ab1, ab2 und ab3 des Adressenspeichers AS sind jeweils in Teile eingeteilt: (a+b) zum Speichern des
Gruppendekoder GD und schliesslich noch die UND-Gatter EO, E1, E2 und E3 und die ODER-Gatter 00, 01, 02 und 03}
QO, Q1, Q2 und Q3 sowie TO, T1, T2 und T3. Die Adressblöcke abO, ab1, ab2 und ab3 des Adressenspeichers AS sind jeweils in Teile eingeteilt: (a+b) zum Speichern des
509827/0821
PHN.7278.
30.11.7^.
Adressteiles (a+b), der für die Auswahl in einer Gruppe
sorgt, ν zur Speicherung eines sogenannten Gültigkeitsbits, das angeben muss, ob ein betreffender Wortblock
als gültig (mit brauchbarem Inhalt) oder als ungültig (also negierbar und somit auch überschreibbar) betrachtet
werden muss, und den Teil pr, der sogenannte Prioritätsbits enthält, die innder Entscheidungsanordnung BI benutzt werden, um entscheiden zu können, welcher Wortblock
bei voll besetztem Pufferspeicher überschrieben oder
herausgeschoben werden darf (muss). Einfachheitshalber
wird weiter unten angenommen, dass ein neuer Wortblock und die zugehörige Adresse ohne weiteres einem "alten"
Wortblock und seiner Adresse Überschrieben werden kann (der Fall eines Pufferspeichers, in dem ausschliesslich
gelesen wird und keine zwischenzeitigen A'enderungen in den Wortblöcken des Puffers erfolgen). Daneben können
Aenderungen im Hauptspeicher MS aufgezeichnet werden. Dabei muss also, wenn ein geänderter Wortblock in BS
vorhanden ist, dieser Wortblock für ungültig erklärt werden (sie weiter unten auch bei Gültigkeit). Wenn
bei der Verwendung einer Speicheranordnung mit einem Pufferspeicher und zugehörigem Adressenspeicher angefangen
wird, muss die Einheit zunächst in eine Startposition gebracht werden. Dies geschieht im Aufbau nach
Fig. h und 5 wie folgt: das v-Bit jedes Adressblocks abi
509827/0821
PHN.7278. 30.1 ι .72U
2Λ58525
muss auf ungültig, angenommen = 0. gesetzt werden* Damit
ist alles frei und die Startposition ist also eingestellt. Diese O-Stellen der v-Bits geht einfach wie
folgt vor sich: es ist ein Zähler CT1 vorhanden (der auch als Teil des Adressengenerators AGG dienen kann,
wie später erläutert wird, der auf Taktimpulse am Eingang CL aufeinanderfolgend alle Gruppen von 0 bis 2°
abzählt. Für dieses Abzählen gibt es auf der Leitung ST (Startleitung) ein 1-Signal, das über die ODER-Gatter TO
bis T3 die entsprechenden Flipflops FFO bis FF3 in die
O-Stellung bringt; diese O-Stellung wird mit einem
Schreibbefehl an den v-Bitstellen der Adressblöcke abO
bis ab3 bei jeder Stellung des Zählers CT1 geschrieben. Der Zähler zählt alle Gruppen ab: Zählerstellung χ wird
über Gruppenregister GR und Dekoder GD zum Auswählen
der Gruppe χ verwendet. Nach dem Durchlaufen aller 2 Stellungen
ist jedes v-Bit = 0 gesetzt.
Jetzt kann die Speicheranordnung nach Bedarf arbeiten, und zwar der Pufferspeicher in Verbindung mit
dem Hauptspeicher. Es werden Adressen (a+b+c) angeboten, und zwar in den Gruppenteil c und den Teil (a+b) usw.
getrennt, wie oben bereits beschrieben. Das Vergleichen erfolgt gleichzeitig in den Subvergleichsanordnungen VO
bis V3. Liegt Gleichheit vor und ist ν -= 1 für diesen
Fall (dieses ν = 1 kann z.B. in jeder der VO bis V3 fest-
509827/0821
PHN.7278. 30.11.7**.
gestellt werden), so tritt eine Signalisierung auf der betreffenden Leitung 10, 11, 12 oder 13 auf. Der entsprechende
Wortblock aus dieser gleichen Gruppe des Pufferspeichers wird ausgewählt usw., wie oben beschrieben.
Tritt keine Gleichheit auf, so wird auf Basis der Werte, die jedes der Bits pr darstellen, in der
Entscheidungsanordnung BI bestimmt, an welcher Stelle in
der ausgewählten Gruppe des Pufferspeichers der Wortblock
mit der nicht im Adressenspeicher vorhandenen Adresse (a+b) geschrieben wird. Hierzu wird eine der Leitungen sO,
si, s2 oder s3 erregt. Damit wird durch das zugehörige ODER-Gatter QO, Q1, Q2 oder Q3 der zugehörigen Vergleichungsanordnung
VO, V1, V2 oder V3 ein Befehl gegeben, der die zu Vergleichszwecken angebotene Adresse (a+b) an die
Adressteile des Adressblocks abi des Adressenspeichers weiterleitet. Ist also ab2 zum Ueberschreiben ausgewählt,
hat s2 1-Signal und wird V2 über Q2 gesteuert, um die
(a+b)-Adresse in ab2 zu bringen. Gleichzeitig steuert die erregte Leitung, hier beispielsweise s2 über das
ODER-Gatter 02 den Flipflop FF2 an. Dieser FF2 wird gesetzt und es wird ein v=1~Bit an die Validitätsbitstellen
von ab2 weitergeleitet. In dieser Situation führt auch die Leitung 12 1-Signal, denn durch das Einführen von
(a+b) in ab2 ist Gleichheit erzeugt, und damit wird der Wortblock wb2 (Fig. 4) mit den Daten gefüllt, die zu
B09827/0821
PHN.7278.
dieser Adresse (a+b) gehören.
Wenn im Computersystem (vgl. Fig. 1) eine Aktion
stattfindet, bei der von der "Aussenwelt" d.h. von einem
Peripheriegerät oder von anderen Abschnitten des Computer« systems, Daten auf die Speicherkonfiguration und insbesondere
auf den Hauptspeicher übertragen werden, muss dafür gesorgt werden, dass die Validitätsinformation v=0 wird,
wenn eine Adresse, auf der im Hauptspeicher geschrieben wird, auch in AS vorhanden ist. Dies ist in Fig. 5 auch
angegeben. Im Zustand:Hauptspeicher ist mit der Aussenwelt
verbunden, führt die Leitung MSP ein 1-Signal, das an den UND-Gattern EO, E1, E2 und E3 liegt. Tritt in einer der
Anordnungen VO, VI, V2 oder V3 Gleichheit auf, wird Über
die betreffende Ii das Gatter Ei geöffnet und mit dessen Ausgang wird über das ODER-Gatter Ti der Flipflop FFi
rückgestellt, wodurch im Adressblock abi das Gültigkeitsbit v=0 wird.
Beim Gruppenregister GR ist noch angegeben, woher das c einer Adresse (a+b+c) herrühren kann: PAR d.h. aus
dem Prozessor (siehe Fig.'k, das c aus dem Register AR)}
MSPR: d.h. aus einem Register, von dem aus die oben erwähnte Aktion zwischen der "Aussenwelt" und dem Hauptspeicher
erfolgt.
Um in oben dargestellter Anordnung das Arbeiten des Pufferspeichers nach der Erfindung als normaler
S09827/0821
PHN.7278.
.Speicher zu ermöglichen, ist folgendes vorgesehen: der
Gruppenzähler CTI ist um einen Teil CT2 erweitert, und diese beiden Teile bilden den sogenannten Adressengenerator
AGG (vgl, den Adressengenerator AG in Pig. 2). Für den Teil CT1 bleibt gültig, dass er für die Gruppenauswahl
dient, wie oben bereits beschrieben wurde, Wenn der Pufferspeicher
BS mit seinem Adressenspeicher AS als normaler Speicher arbeiten muss (also AS muss aufeinanderfolgende
Adressen besitzen, die dazu verwendet werden, in BS auswählen zu können, als wäre BS ein normaler Speicher mit
aufeinanderfolgend adressierten Wortblöcken), so führt
die Leitung BMS 1-Signal. Dieses Signal gelangt über die ODER-Gatter 00, 01, 02 und 03 an den Setzeingang
der Flipflops FPO, FP1, PF2 und FP3. Hiermit wird für
jedes Validitätsbit ν aller Adressblöcke der v=1-Wert weitergeleitet. Gleichfalls liegt die Leitung BMS am
Dekoder DAGG, in dem die Zählstellungen von CT2 dekodiert
werden. Die Zählkapazität von CT2 ist durch die Anzahl Wortblöcke, die pro Gruppe im Pufferspeicher vorhanden
ist, bestimmt. Das sind hier also vier, d.h, CT2 umfasst
2 Bits für 2 =4 ZählStellungen, Das Füllen des Adressenspeichers
AS mit aufeinanderfolgenden Adressen geht dann wie folgt vor sich: der Adressengenerator AGG spricht
auf Taktimpulse am Eingang CL an. Ausgehend von der Stellung 00/0 ... 00 wird zunächst in der 0. Gruppe im
509827/08.21
PHN.7278.
0, Adressblock abO der Kode 00 (vor dem Strich der erwähnten Stelltang, hier wiederum beispielsweise, ausschliesslich
mit O-Werten gefüllt, so dass die ganze
Adresse (a+b) = A' den Wert 000 ··· 000 hat) eingebracht. Der erwähnte Kode 00 wird im Dekoder DAGG dekodiert und
liefert auf der Leitung daO ein Signal, mit dem die erwähnte Adresse (a+b)= A1 über die Anordnung VO an der
Adressteile von abO gebracht wird.
Ist die folgende Stellung von CT1, CT2 00/0 ... 01,.
so wird die erste Gruppe ausgewählt, und nach obiger Beschreibung wird in der 1,Gruppe an der Stelle abO die
Adresse AM 000 ... 000 gebracht. Die folgende Stellung von CT1, CT2 ist 00/0 ... 10, damit wird die 2,Gruppe
ausgewählt, und gleichfalls wird in dieser Gruppe an der Stelle abO die Adresse AM 000 ... 000 geschrieben. Dies
läuft so weiter für alle Gruppen. Sind alle Gruppen einmal an der Reihe gewesen, ist die Stellung von CT1, CT2:
01/00 ... 00. hiermit wird wiederum die 0,'Gruppe angewiesen, aber jetzt wird der Kode 01 in DAGG dekodiert,
was ein 1-Signal an dal bedeutet. Dies hat zur Folge,
dass der mit Nullen ergänzte Kode 01t 000 ... 001 an der
Adressteile ab1 dieser 0, Gruppe geschrieben wird. Dieser Vorgang wiederholt sich, bis der vollständige
Adressenspeicher mit aufeinanderfolgenden Adressen gefüllt
ist. Zur Veranschaulichung ist in Fig. 6 für
509827/0821".
PHN.7278.
30. r..7*U
eine Gruppe i der Inhalt des Adressenspeichers dargestellt.
Fig. 6 steht neben Fig. 5) ™ z« zeigen, wie
dies insgesamt zusammenhört, An den Stellen pr der Priorität sdat en sind Kreuze angegeben, weil für diesen Fall
ihr Inhalt keine Rolle spielt.
Auf diese Weise ist also mit sehr geringen Mitteln (nämlich Erweiterung von CT1 mit CT2) der Zweck
der Erfindung erreicht. Wenn eine beliebige Adresse (a+b+c), die im Adressraum des auf oben beschriebene Weise gefüllten
Adressenspeichers liegt, angeboten wird, führt nach dem Vergleichen des (a+b)-Teils in den Vergleichsanordnungen
VO, V1, V2 und V3, eine der Leitungen 10, 11, 12 oder 13 1-Signal, und der entsprechende Wortblock dieser
Gruppe wird (auf Hinweis des Adressteiles c) im Pufferspeicher BS ausgewählt.
Das Prüfen des Puffers" und des Adressenspeichers geht weiter auf entsprechende Weise wie an Hand der Fig. 2
beschrieben. Hierfür ist in Fig. 5 sowie in Fig. 2 das Signal nad und die Anordnung mit der Torschaltung PS mit
dem Eingang 1 und der Invertertorschaltung INVPS mit dem Eingang 2 angegeben.
509827/0821
Claims (1)
- PATENTANSPRÜCHE;Speicheranordnung mit mindestens einem langsamen Hauptspeicher grosser Speicherkapazität, der in Wortblöcke eingeteilt ist, und mit mindestens einem schnellen Pufferspeicher geringer Speicherkapazität, der gleichfalls in Wortblöcke eingeteilt ist, jedoch mit geringerer Anzahl als im Hauptspeicher, mit weiter einem Adressenspeicher, der in eine Anzahl Adressblöcke gleich der Anzahl Wortblöcke des Pufferspeichers eingeteilt ist, wobei pro Adressblock die Adresse eines im Pufferspeicher befindlichen Wortblockes aufnehmbar ist und der Adressenspeicher mit Vergleichsmitteln versehen ist, mit denen die Adresse eines Wortblocks eines abgerufenen Wortes mit den im Adressenspeicher gespeicherten Adressblöcken der im Pufferspeicher vorhandenen Wortblöcke vergleichbar ist, wobei box Uebereinstimmung der betreffende Wortblock im Pufferspeicher auswählbar ist und bei Nichttibereinstimmung der Adresse der Wortblock aus dem Hauptspeicher auswählbar und zum Pufferspeicher und die betreffende Adresse zu einem Adressblock des Adressenspeichers übertragbar sind, dadurch gekennzeichnet, dass ein Adressengenerator vorhanden ist, in dem aufeinanderfolgende Adresse zur Identifizierung der Wortblöcke des Pufferspeichers erzeugbar sind, wobei Mittel vorhanden sind,509827/08 21PHN". 7278 .?o.11.7^. - 29 V ■ 2A58525•rait denen die aufeinanderfolgenden Adressen in die Adressblöcke, des Adressenspeichers aufnehmbar sind, so dass der Pufferspeicher über den Adressenspeicher als ein Speicher mit aufeinanderfolgenden Adressen adressierbar ist, 2« Speicheranordnung mit mindestens einem langsamen Hauptspeicher grosser Speicherkapazität, der in Gruppen von Wortblöcken, und mit mindestens einem schnellen Pufferspeicher mit geringer Speicherkapazität, der in einer gleichen Anzahl Gruppen von Wortblöcken wie beim Hauptspeicher, aber mit weniger Wortblöcken pro Gruppe, eingeteilt ist, mit weiter einem Adressenspeicher, der eine Anzahl Gruppen von Adressblöcken gleich der Anzahl Gruppen von Wortblöcken des Hauptspeichers eingeteilt ist, und von dom die Anzahl Adressblöcke pro Gruppe gleich der Anzahl Wortblöcke pro Gruppe des Pufferspeichers ist, wobei pro Adressblock die Adresse eines im Pufferspeicher befindlichen Wortblockes eine Gruppe aufnehmbar ist und weiter die Auswahl in Gruppenauswahl und Blockauswahl in einer Gruppe aufgeteilt ist und der Adressenspeicher mit Vergleichsmitteln versehen ist, mit denen die Adresse eines Wortblocks eines aus einer ausgewählten Gruppe abgerufenen Wortes mit den im Adressenspeicher in dieser ausgewählten Gruppe gespeicherten Adressblöcken der im Pufferspeicher vorhandenen Wortblöcke vergleichbar ist, wobei bei Uebereinstimmung der betreffende Wortblock inS09827/0821PHN.7278..ΊΟ. 11. 7^.■- 30 -der gleichen Gruppe des Pufferspeichers, und bei Nichtübereinstimmung der Adresse der Vortblock aus der ausgewählten Gruppe des Hauptspeichers auswählbar und auf .diese gleiche Gruppe des Pufferspeichers und die betreffende Adresse auf einen Adressblock dieser gleichen Gruppe des Adressenspeichers übertragbar ist, dadurch gekennzeichnet, dass ein Adressengenerator vorhanden ist, in dem aufeinanderfolgende Adressen erzeugbär sind, von denen ein erster Adressteil für Gruppenauswahl und ein zweiter Adressteil zur Identifizierung der Wortblöcke pro Gruppe des Pufferspeichers dient und wobei Mittel vorhanden sind, mit denen der zweite Adressteil in die Adressblöcke pro Gruppe des Adressenspeichers aufnehmbar sind, so dass der Pufferspeicher über den Adressenspeicher in Verbindung mit der Gruppenauswahl als ein Speicher mit aufeinanderfolgenden Adressen adressierbar ist.3. , Speicheranordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass eine Inverteranordnung vorhanden ist, in der die in die Adressblöcke des Adressenspeichers aufzunehmenden aufeinanderfolgenden Adressen invertierbar sind, so dass der Pufferspeicher über den Adressenspeicher als ein Speicher mit aufeinanderfolgenden invertierten Adressen adressierbar ist. 4* Speicheranordnung nach Anspruch 2 9 dadurch gekennzeichnet, dass der Adressengenerator ein zum Auswählen der Gruppen der Konfiguration vorgesehener Gruppen-509827/0821PHN". 7278. 30.'. I.7k.zähler ist, der um eine Anzahl Bits η erweitert ist, wobei 2 gleich der Anzahl Adressen des Adressenspeichers ist, die dervWortblockspeicherkapazität pro Gruppe des Pufferspeichers entspricht.509827/0821Leerseite
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NL7317545A NL7317545A (nl) | 1973-12-21 | 1973-12-21 | Geheugensysteem met hoofd- en buffergeheugen. |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2458525A1 true DE2458525A1 (de) | 1975-07-03 |
DE2458525B2 DE2458525B2 (de) | 1981-03-19 |
DE2458525C3 DE2458525C3 (de) | 1983-03-03 |
Family
ID=19820243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2458525A Expired DE2458525C3 (de) | 1973-12-21 | 1974-12-11 | Speicheranordnung mit Haupt- und Pufferspeicher |
Country Status (5)
Country | Link |
---|---|
US (1) | US3986171A (de) |
DE (1) | DE2458525C3 (de) |
FR (1) | FR2255676B1 (de) |
GB (1) | GB1482688A (de) |
NL (1) | NL7317545A (de) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5263038A (en) * | 1975-10-01 | 1977-05-25 | Hitachi Ltd | Data processing device |
DE2547488C2 (de) * | 1975-10-23 | 1982-04-15 | Ibm Deutschland Gmbh, 7000 Stuttgart | Mikroprogrammierte Datenverarbeitungsanlage |
GB2013942B (en) * | 1977-12-22 | 1982-03-24 | Honeywell Inf Systems | Cache stores in data processing systems |
US4195342A (en) * | 1977-12-22 | 1980-03-25 | Honeywell Information Systems Inc. | Multi-configurable cache store system |
US4276609A (en) * | 1979-01-04 | 1981-06-30 | Ncr Corporation | CCD memory retrieval system |
DE3068498D1 (en) * | 1979-05-09 | 1984-08-16 | Int Computers Ltd | Hierarchical data storage system |
US4298932A (en) * | 1979-06-11 | 1981-11-03 | International Business Machines Corporation | Serial storage subsystem for a data processor |
DE2934771C3 (de) * | 1979-08-28 | 1982-03-25 | Siemens AG, 1000 Berlin und 8000 München | Speichervorrichtung. |
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 |
JPS58102381A (ja) * | 1981-12-15 | 1983-06-17 | Nec Corp | バツフアメモリ |
JP3433978B2 (ja) * | 1993-07-30 | 2003-08-04 | 富士通株式会社 | 入出力制御装置 |
US5563833A (en) * | 1995-03-03 | 1996-10-08 | International Business Machines Corporation | Using one memory to supply addresses to an associated memory during testing |
US5815427A (en) * | 1997-04-02 | 1998-09-29 | Micron Technology, Inc. | Modular memory circuit and method for forming same |
US20050069222A1 (en) * | 2003-07-17 | 2005-03-31 | Marco Winzker | Process and system for digital data signal processing |
US8127117B2 (en) * | 2006-05-10 | 2012-02-28 | Qualcomm Incorporated | Method and system to combine corresponding half word units from multiple register units within a microprocessor |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2230266A1 (de) * | 1971-06-29 | 1973-01-11 | Ibm | Datenverarbeitungsanlagen mit einer zentraleinheit unter verwendung virtueller adressierung |
DE2209253A1 (de) * | 1972-02-26 | 1973-09-06 | Ibm Deutschland | Verfahren und schaltungsanordnung zur fehlerpruefung einer speicheradressierung |
DE1956604B2 (de) * | 1968-11-14 | 1973-10-04 | International Business Machines Corp., Armonk, N.Y. (V.St.A.) | Datenverarbeitungsanlage |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE629069A (de) * | 1962-03-05 | |||
US3427592A (en) * | 1964-11-12 | 1969-02-11 | Ibm | Data processing system |
US3581291A (en) * | 1968-10-31 | 1971-05-25 | Hitachi Ltd | Memory control system in multiprocessing system |
US3541529A (en) * | 1969-09-22 | 1970-11-17 | Ibm | Replacement system |
US3771137A (en) * | 1971-09-10 | 1973-11-06 | Ibm | Memory control in a multipurpose system utilizing a broadcast |
US3723976A (en) * | 1972-01-20 | 1973-03-27 | Ibm | Memory system with logical and real addressing |
US3878513A (en) * | 1972-02-08 | 1975-04-15 | Burroughs Corp | Data processing method and apparatus using occupancy indications to reserve storage space for a stack |
US3766532A (en) * | 1972-04-28 | 1973-10-16 | Nanodata Corp | Data processing system having two levels of program control |
US3858183A (en) * | 1972-10-30 | 1974-12-31 | Amdahl Corp | Data processing system and method therefor |
-
1973
- 1973-12-21 NL NL7317545A patent/NL7317545A/ unknown
-
1974
- 1974-11-20 US US05/525,649 patent/US3986171A/en not_active Expired - Lifetime
- 1974-12-11 DE DE2458525A patent/DE2458525C3/de not_active Expired
- 1974-12-18 GB GB54626/74A patent/GB1482688A/en not_active Expired
- 1974-12-23 FR FR7442479A patent/FR2255676B1/fr not_active Expired
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1956604B2 (de) * | 1968-11-14 | 1973-10-04 | International Business Machines Corp., Armonk, N.Y. (V.St.A.) | Datenverarbeitungsanlage |
DE2230266A1 (de) * | 1971-06-29 | 1973-01-11 | Ibm | Datenverarbeitungsanlagen mit einer zentraleinheit unter verwendung virtueller adressierung |
DE2209253A1 (de) * | 1972-02-26 | 1973-09-06 | Ibm Deutschland | Verfahren und schaltungsanordnung zur fehlerpruefung einer speicheradressierung |
Non-Patent Citations (2)
Title |
---|
Elektronische Rechenanlagen, 1970, H. 2, S. 95 bis 103 * |
Siemens Zeitschrift, 1971, H. 11, S. 886 bis 892 * |
Also Published As
Publication number | Publication date |
---|---|
GB1482688A (en) | 1977-08-10 |
NL7317545A (nl) | 1975-06-24 |
DE2458525C3 (de) | 1983-03-03 |
FR2255676A1 (de) | 1975-07-18 |
FR2255676B1 (de) | 1979-02-23 |
DE2458525B2 (de) | 1981-03-19 |
US3986171A (en) | 1976-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2515696C2 (de) | Datenverarbeitungssystem | |
DE2617408C3 (de) | Speichermodul fur ein Datenverarbeitungsgerät mit Speicherhierarchie | |
DE3011552C2 (de) | ||
DE2458525A1 (de) | Speichersystem mit haupt- und pufferspeicher | |
DE2154106A1 (de) | Arbeitsspeicherwerk | |
DE2523414B2 (de) | Hierarchische Speicheranordnung mit mehr als zwei Speicherstufen | |
DE2723523A1 (de) | Kompression und dekompression von gespeicherten digitaldaten | |
DE1951552A1 (de) | System zur Speichersicherung | |
DE1524788C3 (de) | Schaltungsanordnung zum Erkennen und zum automatischen Ersetzen von schadhaften Speicherstellen in Datenspeichern | |
DE1249926B (de) | Einrichtung zum Umadressieren fehlerhafter Speicherstellen eines beliebig zuganglichen Hauptspeichers in einer Datenverarbeitungsanlage | |
DE2725396C3 (de) | ||
DE2144870A1 (de) | Verfahren und Schaltungsanordnung zur Kompensation schadhafter Speicherstellen in Halbleiterspeichern | |
DE2640357A1 (de) | Wortgruppenprioritaetsanordnung | |
DE1499206B2 (de) | Rechenanlage | |
DE4117672A1 (de) | Verfahren und vorrichtung zur steuerung eines zwischen einer zentraleinheit und einem arbeitsspeicher angeordneten cache-speichers | |
DE2527062B2 (de) | Anpassungsfähiger Adressendecodierer | |
DE2302061B2 (de) | Assoziativspeicher | |
DE2004934A1 (de) | ||
EP0012207A1 (de) | Speicherhierarchie mit Ladungsverschiebungsspeicher | |
DE2519195A1 (de) | Assoziativspeicher | |
EP1559111A1 (de) | Verfahren zum betreiben einer speicheranordnung | |
EP0036148A1 (de) | Hybrid-Assoziativspeicher | |
DE3016269C2 (de) | ||
EP0026460A1 (de) | Schaltungsanordnung zum Adressieren von Daten für Lese- und Schreibzugriffe in einer Datenverarbeitungsanlage | |
DE10137332A1 (de) | Verfahren und Anordnung zur Ausgabe von Bitfehler-Tabellen aus Halbleitereinrichtungen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |