DE2458525A1 - Speichersystem mit haupt- und pufferspeicher - Google Patents

Speichersystem mit haupt- und pufferspeicher

Info

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
Application number
DE19742458525
Other languages
English (en)
Other versions
DE2458525C3 (de
DE2458525B2 (de
Inventor
Gerrit Adriaan Spoelder
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Philips Gloeilampenfabrieken NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Philips Gloeilampenfabrieken NV filed Critical Philips Gloeilampenfabrieken NV
Publication of DE2458525A1 publication Critical patent/DE2458525A1/de
Publication of DE2458525B2 publication Critical patent/DE2458525B2/de
Application granted granted Critical
Publication of DE2458525C3 publication Critical patent/DE2458525C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/20Address 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 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»
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
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 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)

  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 21
    PHN". 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 in
    S09827/0821
    PHN.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/0821
    PHN". 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/0821
    Leerseite
DE2458525A 1973-12-21 1974-12-11 Speicheranordnung mit Haupt- und Pufferspeicher Expired DE2458525C3 (de)

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)

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

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

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

Patent Citations (3)

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

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