DE2515696A1 - Anordnung zum selektiven loeschen von teilen beziehungsweise zum ersatz von daten in einem cache-speicher - Google Patents
Anordnung zum selektiven loeschen von teilen beziehungsweise zum ersatz von daten in einem cache-speicherInfo
- Publication number
- DE2515696A1 DE2515696A1 DE19752515696 DE2515696A DE2515696A1 DE 2515696 A1 DE2515696 A1 DE 2515696A1 DE 19752515696 DE19752515696 DE 19752515696 DE 2515696 A DE2515696 A DE 2515696A DE 2515696 A1 DE2515696 A1 DE 2515696A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- signals
- address
- counter
- cache memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/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
- 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/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
Description
S München 22. Hcrrnstr. 15, Tel. 292553
Postanschritt München 26, Postfach 4
München, den 10. April 1975
Mein Zeichen: P 2139
Anmelder: Honeywell Information Systems Inc.
200 Smith Street
Waltham, Mass.02154
USA
Waltham, Mass.02154
USA
Anordnung zum selektiven Löschen von Teilen beziehungsweise zum Ersatz von Daten in einem Cache-Speicher
Die Erfindung bezieht sich auf elektronische digitale Datenverarbeitungssysteme und insbesondere auf Prozessoren,
die einen Cache-Speicher enthalten, wobei eine selektive Löschoperation in Verbindung mit einem Datenprozessor einen
Zugriff zu einem virtuellen Speicher liefert, und zwar durch .Ausnutzung von Programmunterteilungs- und Seitenbildungsoperationen.
509843/0832
2515695
Ein Cache-Speicher ist ein kleiner, leicht zugänglicher Speicher, der in dem Prozessor bzw. der Zentraleinheit eines Datenverarbeitungssystems
untergebracht ist, wobei der Cache-Speicher einen Teil der Grosse des Hauptspeichers ausmacht, jedoch
einen schnelleren Zugriff zu gespeicherter Dateninformation ermöglicht als ein Zugriff zu dem Hauptspeicher. Operanden
und Befehle, im folgenden generell als Daten bezeichnet, werden aus dem Hauptspeicher abgerufen und in dem Cache-Speicher
gespeichert. Die Zentraleinheit nimmt dann einen Zugriff zu dem Cache-Speicher erst für die benötigten Daten vor. Die
in dem Cache-Speicher gespeicherten Daten werden durch einen ersten Zugriff der Zentraleinheit zu dem Hauptspeicher hin
erhalten. Die abgeführten Daten werden von der Zentraleinheit ausgenutzt und gleichzeitig in dem Cache-Speicher gespeichert.
Die Cache-Speicher-Wirksamkeit hängt davon ab, dass die Zentraleinheit dieselben Daten ein zweitesmal und möglicherweise
in einer Häufigkeit während desselben Programms benutzt. Es gibt Zeiten, wie bei der Beendigung eines vollständigen
Programms, zu denen die beste Ausnutzung des Cache-Speichers darin besteht, ihn vollständig zu löschen, und zwar in Erwartung
der ersten Ausnutzung von Daten von dem nächsten Programm her. Dies ist wahrscheinlich das effektivste Löschen
des Cache-Speichers, wobei die einzige bekannte Grosse das Programm ist, das verarbeitet wird. Im Falle der Anwendung
eines Datenverarbeitungssystems, welches eine Programmunterteilung und Seitenbildung für den Zugriff
zu dem Hauptspeidaer enthält, wird jedoch eine weitere bekannte
Grosse in das Programm eingeführt; gemäss dieser Grosse kann in dem Fall, dass ein Segment nicht mehr von
Nutzen ist, der gesamte Cache-Speicher gelöscht werden, da ein Segment im allgemeinen viel grosser ist als der
Cache-Speicher. Das Segment in der Programmunterteilungs-Wiederauffindung eines Speichers ist in kleinere Bereiche
unterteilt, die im allgemeinen als Seiten bezeichnet werden und die üblicherweise 1000 Wörter umfassen. Diese Grosse ist
509843/0832
jedoch kleiner als die Grosse des Cache-Speichers. Deshalb
wäre ein selektives Löschen in dem Fall von Vorteil, dass durch den verarbeiteten Befehl festgelegt ist, dass eine
Dateninformations-Seite nicht mehr benötigt wird und dass eine neue Seite desselben Segments erforderlich ist.
Eine allgemeine Löschoperation für einen Cache-Speicher besteht darin, den gesamten Cache-Speicher auf sämtliche externen
Unterbrechungsoperationen hin zu löschen. Diese Unterbrechungsoperationen zeigen an, dass gegebenenfalls
die in dem Hauptspeicher enthaltenen Daten durch die Opera-Ausgabe
tionen der Eingabe/f-Steuereinrichtung geändert worden sind und dass daher die Daten in dem Cache-Speicher unzutreffend sein können. Obwohl diese Art des Löschens vielleicht mechanisch abläuft, ist sie zwangsweise und führt zu einem erheblichen unnötigen Löschen der Dateninformation aus dem Cache-Speicher. Gegebenenfalls ist lediglich 5096 der Eingabe/Ausgabe-Operation eingabeorientiert, was zur Änderung des Hilfsspeichers oder Hauptspeichers führen würde, wobei lediglich während eines kleinen Bruchteils der Zeit diese Daten in dem Cache-Speicher vorhanden wären. Die Löschwirkung führt zum Löschen des gesamten Cache-Speichers, weshalb wesentlich mehr Dateninformation verloren ist und im nächsten Zugriff zu dem Hauptspeicher wieder bereitgestellt werden muss.
tionen der Eingabe/f-Steuereinrichtung geändert worden sind und dass daher die Daten in dem Cache-Speicher unzutreffend sein können. Obwohl diese Art des Löschens vielleicht mechanisch abläuft, ist sie zwangsweise und führt zu einem erheblichen unnötigen Löschen der Dateninformation aus dem Cache-Speicher. Gegebenenfalls ist lediglich 5096 der Eingabe/Ausgabe-Operation eingabeorientiert, was zur Änderung des Hilfsspeichers oder Hauptspeichers führen würde, wobei lediglich während eines kleinen Bruchteils der Zeit diese Daten in dem Cache-Speicher vorhanden wären. Die Löschwirkung führt zum Löschen des gesamten Cache-Speichers, weshalb wesentlich mehr Dateninformation verloren ist und im nächsten Zugriff zu dem Hauptspeicher wieder bereitgestellt werden muss.
Die Anwendung eines Cache-Speichers in einem Mehrprozessor-Betrieb
bringt zusätzliche Probleme mit sich. Dabei antwortet lediglich ein Prozessor bzw. eine Zentraleinheit
auf externe Unterbrechungssignale. Das Löschen des Cache-Speichers jeweils dann, wenn ein Prozessor eine Tastungs-
bzw. Ausblendroutine in den Hauptspeicher einführt, stellt eine Verbesserung gegenüber dem Löschen des Cache-Speichers
auf jede Eingabe/Ausgabe-Operation hin dar. Diese Verbesserung bezüglich der Löschoperation hat jedoch dazu geführt, dass
509843/0832
der Cache-Speicher bezüglich der Schutz-Eintastroutine und deren Tabellen in dem Hauptspeicher und ferner bezüglich
Nebenprogrammen gelöscht wird, die alternativ in jede.n Prozessor ausgeführt werden. Diese Verbesserung der Löschoperation
bezüglich des Cache-Speichers ist an anderer Stelle näher beschrieben (siehe US-Patentanmeldung, Ser.No. 413089
v. 5.11.73.)
Die oben erwähnten bekannten Verfahren führen einen effektiven Ablauf des Löschens des Cache-Speichers auf Operationen hin
aus, in denen ein Löschen des Cache-Speichers möglicherweise gefordert ist. Die betreffenden oben erwähnten Verfahren
löschen den Cache-Speicher jedoch in einer übermässigen Häufigkeit.
Der Erfindung liegt demgemäss die Aufgabe zu Grunde, für einen Cache-Speicher eine wirtschaftliche Löschanordnung
zu schaffen, die selektiv Bereiche des Cache-Speichers zu löschen gestattet. Ferner soll eine verbesserte Löschoperation
für ein selektives Löschen einer gültigen Dateninformation aus einem Cache-Speicher angegeben werden.
Ausserdem soll die neu zu schaffende Löschanordnung den Cache-Speicher dadurch zu löschen gestatten, dass ausgewählte
zu löschende Adressen mit Markierungs-Adressen verglichen werden, die in einer für einen Cache-Speicher vorgesehenen
Markierungs-Adressliste gespeichert sind. Überdies soll eine Cache-Speicherfähigkeit in einem Datenverarbeitungssystem
geschaffen werden, wobei diese Fähigkeit die Programmunterteilungs- und Seitenbildungspläne für die Wiederauffindung
einer Dateninformation zu unterstützen hat.
Gelöst wird die vorstehend aufgezeigte Aufgabe dadurch, dass ein Datenverarbeitungssystem vorgesehen ist, in welchem
die Bildung einer absoluten Adresse mit dem hohe Wertigkeit besitzenden Teil einer effektiven Datenadresse und einem
Basisregister in der üblichen Weise durchgeführt wird.
509843/0832
Eine Seitenadresse der Programmunterteilungs- und Seitenbildungsdaten-
Wiederbereit Stellungsanordnung wird ebenfalls in dem Datenverarbeitungssystem selektiv eingeschaltet.
Ferner wird eine Reihe von Adressmarken aus einer Cache-Markenadressliste
parallel ausgelesen, die durch den niedrige Wertigkeit besitzenden Adressteil adressiert ist, der ferner
eine entsprechende Reihe von Datenwörtern in dem Cache-Speicher identifiziert. Die Cache-Markenadressliste, der
Cache-Speicher und die Steuerlogik bilden einen Teil der Zentraleinheit.
Der Maiienadressliste ist eine Statusanzeigeanordnung zugehörig,
die eine Voll-Leer-StatB-Anzeige für die jeweilige
Adressenstelle liefert, das heisst für jede Spalte jeder Ebene der Markenadressliste. Die Statusanzeigeanordnung
zeigt den Eintrag von gültigen Daten in die Cache-Speichereinheit an, und zwar durch Decodierung der den Anzeigestatus
speichernden Speichereinheit.
In einem mit Programmunterteilung und Seitenbildungsverfahren bei der Datenwiederbereitstellung arbeitenden
Datenverarbeitungssystem werden zwei Verfahren zum Löschen des Cache-Speichers angewandt. Wenn ein Befehl zum Löschen
des Programmunterteilungs-Assoziativspeichers auftritt, der die Adressen der Segmente in dem Hauptspeicher speichert,
wird der gesamte Cache-Speicher gelöscht, und zwar durch Löschen der Voll-Leer-Speichereinheit, die auf die Marken-Adressliste
in dem Cache-Speicher hinzeigt. Wenn ein Befehl zum Löschen eines Seiten-Bereichs der wieder bereitgestellten
Daten aus dem Seiten-Assoziativ-Speicher ermittelt wird, der die Adressen der Gruppen der Dateninformation
der Segmente speichert, werden lediglich die Daten in dem Cache-Speicher, auf die durch die Seitenadresse
Bezug genommen ist, gelöscht. Die Adressen für in dem Cache-Speicher untergebrachte Daten werden in einer Marken-
509843/0832
bzw. Markierungs-Adressliste gespeichert, die aus einer
Vielzahl von Spalten und aus einer Vielzahl von Ebenen besteht. Die Cache-Adresse wird sequentiell in den Spalten
der Markierungs-Adressliste untergebracht, und zwar in Übereinstimmung mit der Ebenen-Adresse der Markierungs-Adressliste.
Um eine Dateninformation aus dem Cache-Speicher zu suchen, werden die Ebenen der Markierungs-Adressliste durch die Cache-Adresse
adressiert. Die aus den Spalten der adressierten Ebene wieder gewonnene Information wird mit der tatsächlichen
Adresse der geforderten Daten verglichen; wenn eine Übereinstimmung
signalisiert wird, wird die Dateninformation in dem Cache-Speicher untergebracht bzw. festgelegt und für die Verwendung
durch die Zentraleinheit wieder gefunden.
Dieselbe Ablauffolge wird benutzt, um die zu löschende
Dateninformation in dem Cache-Speicher festzulegen. Um eine Seitenstelle zu löschen, wird die Seitenadresse an den
Vergleicher abgegeben, und die Cache-Ebenenadresse wird ihrerseits erhöht, um sequentiell die jeweilige Ebene
zu adressieren. Wenn eine Übereinstimmung in irgendeiner der vier Spalten irgendeiner adressierten Ebene ermittelt
wird, wird das Voll-Leer-Markierungsbit gelöscht. Das VoIl-Leer-Markierungsbit
wird durch dieselben Ebene-Adressensignale adressiert, die an die Marken-Adressliste abgegeben worden
sind. Das Löschen der Voll-Leer-Bits legt fest, dass die in dem Cache-Speicher verbleibenden Daten ungültig und daher
zu ersetzen sind.
Anhand von Zeichnungen wird die Erfindung nachstehend beispielsweise
näher erläutert.
Fig. 1 zeigt in einem Blockdiagramm ein Datenverarbeitungssystem mit einem Cache-Speicher in einer
Zentraleinheit.
509843/0832
Fig. 2 zeigt in einem Blockdiagramm eine Nachrichtenverbindungs-Steueranordnung
sowie einen Cache-Speicherbereich der in Fig. 1 dargestellten Zentraleinheit.
Fig. 3 zeigt in einem Diagramm das Adressierungsprinzip, das in dem in Fig. 2 dargestellten Cache-Bereich
benutzt ist.
Fig. 4 zeigt in einem Blockdiagramm eine Marken-Adressliste
mit einem Vergleicher sowie die Abbildungs-Strategie zwischen dem in Fig. 2 dargestellten Cache-Speicher
und dessen Marken-Adressliste.
Fig. 5 zeigt in einem Verknüpfungsdiagramm eine Anzeigeschal tungs-Steuerlogik für die in Fig. 2 dargestellte
Marken-Adressliste.
Fig. 6 zeigt in einem Verknüpfungsdiagramm eine die Anzeigeschaltung
gemäss Fig. 5 steuernde Cache-Speicher-LÖschschaltung.
Fig. 7 zeigt in einem Verknüpfungsdiagramm eine durch Prozessoroperationen gesteuerte Cache-Speicher-Löschschaltung,
die die Anzeigeschaltung gemäss Fig. 6 steuert.
Fig. 8 zeigt ein Verknüpfungsdiagramm eines in der Schaltung nach Fig. 6 vorgesehenen Binärzählers.
Fig. 9 zeigt ein Verknüpfungsdiagramm einer in der Schaltung gemäss Fig. 6 vorgesehenen Zählereinstellschaltung.
509843/0832
Im folgenden wird die bevorzugte Ausführungsform der Erfindung erläutert. In Fig. 1 ist eine charakteristische Konfiguration
eines Datenverarbeitungssystems gezeigt. Das dargestellte Datenverarbeitungssystem
enthält eine Zentraleinheit 2 (CPU), eine Systemsteuereinheit 3 (SCU) und einen Ergänzungs- bzw.
Hilfs- bzw. Hintergrundspeicher 4. Die Verbindung mit einer
Reihe von peripheren Geräten wird durch einen Block.B gesteuert,
der mit Eingabe/Ausgabe-Steuereinrichtung und periphere Geräte bezeichnet ist. Die Systemsteuereinheit 3
steuert die Verbindung bzw. den Informationsaustausch zwischen den Einheiten des Datenverarbeitungssystems. Demgemäss stehen
die peripheren Geräte in Datenaustausch mit dem Hintergrundspeicher bzw. Hilfsspeicher 4 und der Zentraleinheit 2
über die EingabeZ-Ausgabe-Steuereinrichtung 5, während die Systemsteuereinheit 3 einen Zugriff zu dem Hilfsspeicher
und der Zentraleinheit 2 steuert.
Die Zentraleinheit 2 enthält eine Operationseinheit 6, die Rechen- und Verknüpfungsoperationen auf Operanden hin ausführt,
die aus einem Speicher gemäss Befehlen abgerufen werden, welche ebenfalls aus dem Speicher abgerufen worden sind.
Eine Verarbeitungseinheit 7 ist kennzeichnend für die weiteren Verknüpfungssteuereinrichtungen und Operationen,
die von der Zentraleinheit ausgeführt werden. Die Zentraleinheit 2 gemäss der vorliegenden Erfindung enthält als
Teil ihres Speichers einen Cache-Speicher mit zugehöriger Steuerlogik, die als Cache-Bereich 11 dargestellt ist.
Verschiedene Daten-Bus-Schalter führen die Daten-Schnittstellenfunktionen in der Zentraleinheit 2 aus; sie enthalten
einen ZDO-Schalter 8, einen ZM-Schalter 12, einen ZD-Schalter 13, einen ZA-Schalter 14a und einen ZB-Schalter
I4b. Die Steuerung der Schnittstellenfunktionen der Zentraleinheit
2 - einschliesslich der Bildung der absoluten Adressen wird durch eine Datenübertragungssteuereinheit 15 ausgeführt.
Ein Speicher-Operandenpuffer 9 stellt einen Zwischenregister-
509843/0832
— Q —
Speicher zwischen der Verarbeitungseinheit 7 und dem Cache-Bereich
11 dar.
Die in Fig. 1 dargestellten Doppelleitungen veranschaulichen den Weg, den die Dateninformation nimmt bzw. entlanggeführt
wird, während die die Datenübertragung steuernden Steuerleitungen jeweils durch eine einzelne voll ausgezogene Linie
dargestellt sind.
Der ZD-Schalter 13 steuert den Eintrag von Daten in den
Prozessor bzw. die Zentraleinheit 2 über die Eingabe-Speicher-Busleitung. Die Daten werden entweder durch Aktivieren des ZA-Schalters
14A in die Operationseinheit 6, durch Aktivieren des ZB-Schalters 14b in die Verarbeitungseinheit 7 oder
durch Aktivieren des ZM-Schalters 12 in den Cache-Bereich
oder durch Aktivieren einer Kombination der Daten-Busleitungs-Schalter
in irgendeine Kombination der Einheiten geschaltet. Mit dem innerhalb der Zentraleinheit selbst befindlichen
Cache-Bereich 11 kann die Zentraleinheit der Systemsteuereinheit 3 signalisieren, einen Block von Wörtern (das sind
vier Wörter bei der vorliegenden Ausführungsform) in den Cache-Bereich 11 zu übertragen, während ein Wort zur Operationseinheit
6 hin übertragen wird. Ein Wort wird über die Eingabe-Speicherbusleitung sowie den ZD-Schalter 13 und
über den ZA-Schalter 14a in die Operationseinheit 6 übertragen.
Zu diesem Zeitpunkt wird ferner der ZM-Schalter 12 aktiviert, um das Wort in den Cache-Bereich 11 zu speichern..
Die Operationseinheit 6 arbeitet auf das Datenwort hin, und zwar bei geschlossenem ZA-Schalter 14a. Der ZD-Schalter
13 und der ZM-Schalter 12 bleiben offen, um die übrigen
Worte* des Blockes in dem Cache-Bereich 11 aufzunehmen.
Die Operationen- bzw. Operationseinheit 6 und/oder die Verarbeitungseinheit 7 können von der Blockübertragung
bis auf das Anfangs-Speicherwiederauffindungssignal nicht unterrichtet sein, welches von der Datenübertragungssteuer-
509843/0832
2513696
einheit 15 gespeichert ist. Das selektive Löschen gemäss der Erfindung ist bei der vorliegenden Ausführungsifcrm im
Zusammenhang mit einem Programmunterteilungs- und Seitenbildungsverfahren für einen Zugriff zu dem Hilfsspeicher 4
dargestellt. Um den Hilfsspeicher zu adressieren, ist ein
Zugriff zu einem Seiten-Assoziativspeicher 40 und zu einem Segment-Assoziativspeicher 41 erforderlich, um die Adresse
der Segmente und der Seiten der Segmente in dem Hilfsspeicher festzulegen. Beide Assoziativspeicher sind Markierungs-Adresslisten,
die auf Adressen in dem Hilfsspeicher hinzeigen und die ein Kennzeichen der Segmente der Daten und der Seiten
der Segmente enthalten, welche aus anderen Speichern wieder bereitgestellt worden sind. Wenn die Zentraleinheit die
Anwendung von Seiten der Segmente und der Segmente selbst beendet hat, folgt eine Wechselprozedur, die die Seite
oder das Segment aus dem Speicher in den Assoziativspeichern löscht und dadurch effektiv die Seite und die Segmente aus
dem Hilfsspeicher löscht. Die nächste Seite oder das nächste Segment der Dateninformation wird dann aus dem Speicher
wieder herausgeführt, wie dem virtuellen Speicher, und
in dem Hilfsspeicher untergebracht, wobei das Kennzeichen wieder in dem Seiten-Assoziativspeicher und dem Segment-Assoziativspeicher
gespeichert wird.
Wie in Fig. 1 dargestellt, ist der Cache-Bereich 11 über eine' Adressen-Busleitung mit dem Seiten-Assoziativspeicher
40 verbunden. Gemäss der vorliegenden Erfindung kann der Cache-Bereich 11 selektiv bezüglich seiner gesamten gespeicherten
Information gelöscht werden, welche sich auf die Seite der Dateninformation bezieht, die in dem Seiten-Assoziativspeicher
gespeichert ist. Bei der vorliegenden Ausführungsform kann der Cache-Speicher in dem Cache-Bereich
bzw. Cache-Abschnitt 11 bis zu _ 2 K Dateninformationswörtern
speichern; die maximale Grosse einer einzigen Dateninformationsseite beträgt 1 K Daten. Deshalb würde
509843/0832
eine Seite höchstens eine Hälfte des Cache-Speichers ausnutzen. Das selektive Löschen des Cache-Speichers wird
weiter unten noch näher beschrieben werden.
Der Cache-Speicher des Cache-Abschnittes bzw. -Bereiches 11 ist ein nach dem Prinzip "der Überprüfung der Seiteninformationen"
arbeitender Speicher oder ein Hochgeschwindigkeits-Pufferspeicher.
Der Cache-Speicher liefert einen schnellen Zugriff zu Datenblöcken, die zuvor aus dem Hilfsspeicher 4
aufgefunden worden sind und die gegebenenfalls später aktualisiert vff-den. Die effektive Zugriffszeit in dem Cache-Speicher
wird dadurch erzielt, dass der Cache-Speicher parallel für die vorhandenen Zentraleinheitsfunktionen betrieben wird.
Die erfolgreiche Ausnutzung des Cache-Speichers erfordert, dass das Verhältnis der Abrufe von Dateninformationen aus
dem Cache-Speicher gross gemacht wird, und zwar anstatt der Forderung nach direktem Zugriff zu dem Hilfsspeicher durch
die Zentraleinheit. In jedem Fall sollte die Suche des Cache-Speichers bezüglich der gegebenenfalls schnellen
Wiederauffindung der Dateninformation die Wiederauffindung aus dem Hilfsspeicher nicht verzögern. Das System gemäss
der bevorzugten Ausführungsform überprüft den Cache-Speicher, während die Erzeugung einer möglichen Wiederbereitstellung
aus dem Hilfsspeicher verarbeitet wird. Wenn die Dateninformation in dem Cache-Speicher ermittelt wird, wird
die Wiederauffindung bzw. Wiederbereitstellung aus dem Hilfsspeicher gesperrt. Die Operationseinheit 6 und die
Verarbeitungseinheit 7 erhalten die Dateninformation von dem Cache-Bereich 11 über den ZD-Schalter 13 in einer
wesentlich kürzeren Zeitspanne, ohne dass die Einheit der Quelle gewahr wird. Eine ausführlichere Beschreibung der
Cache-Bereichs-Datenübertragungs-Steuereinheit findet sich an anderer Stelle (US-Patentanmeldung, Ser.No. 393 358
v. 31.8.73). In Fig. 2 ist ein Blockdiagramm des Cache-Bereichs
11 gezeigt, der den Cache-Speicher 10 und Teile der DatenübertragungsSteuereinheit 15 enthält.
509843/0832
Gemäss Fig. 2 enthält der Standard-Datenverarbeitungs-Datenübertragungs-Steuerbereich
15 eine Unterbrechungsgeneratorschaltung 16, eine Anschlussauswshlmatrix-Schaltung 17,
ein Basisadressregister 18, einen Basisadressaddierer 19, ein Adressregister 21, eine Zentraleinheit-Adresslisten-Befehlseinrichtung
22 und eine Zentraleinheit-Steuerlogik 23, welche die Steuerlogik der Zentraleinheit bzw. des Prozessors darstellt.
Ein ZC-Schalter 20 steuert die Eingabe der Speicheradresse für die Wiederauffindung der Dateninformation aus
dem Speicher, bei dem es sich entweder um den Cache-Speicher oder um den Hilfsspeicher 4 gemäss Fig. 1 handeln kann.
Die Speicheradresse wird von der Verarbeitungseinheit her erhalten, um die Dateninform gemäss den Adress-Signalen wieder
aufzufinden. Der Cache-Bereich 11 enthält den Cache-Speicher 10, einen ZE-Schalter 26, ein Cache-Adressenverriegelungsregister
27, eine Markierungs-Adressliste 28, einen Vergleicher 29, ein Cache-Adressregister 30 und zugehörige Zähler sowie
eine Steuerlogik, wie dies durch den Block 31 veranschaulicht ist.
Die Cache- oder Markierungs-Adressliste 28 legt den Speicherabschnitt
oder Speicherblock in dem Cache-Speicher 10 fest. In der Markierungs-Adressliste 28 werden "Markierungs'i-Wörter
gespeichert, um die absolute Adresse des jeweiligen Datenblockes wiederzugeben. Die Abbildung der Markierungs- bzw.
Marken-Adressliste 28 gemäss der bevorzugten Ausführungsform
wird als Vier-Ebenensatz-Assoziativabbildung bezeichnet. Die Abbildungsorganisation ist in Fig. 4 gezeigt. Die
Markierungs-Adressliste ist in N Spalten, zum Beispiel in 128 Spalten, unterteilt, und zwar entsprechend der Anzahl
der Blöcke in dem Cache-Speicher. Jede Spalte weist vier Ebenen bzw. Stufen auf. Ein 2K-Cache-Speicher ist somit
in 128 4-Wortblöcke unterteilt. Jeder Block ist direkt in
einer entsprechenden Spalte der Adressliste abgebildet. Jede Spalte der Markierungs-Adressliste enthält Adressen
von vier Blöcken, und zwar jede von einem anderen Abschnitt.
509843/0832
Die Austauschprozedur zum Zwecke des Ladens von neuen Blöcken in eine Spalte, die voll ist, erfolgt auf der Grundlage, dass
die erste eingegebene Information die erste abgeführte Information ist. Diese Organisation wird als Umlauforganisation
(RRO) bezeichnet.
Die Markierungs-Adressliste 28 ist als kleiner Speicher ausgeführt,
dessen Anzahl an Speicherplätzen gleich der Anzahl der Blöcke in dem Cache-Speicher ist. Die Spalten der Markierungs-Adressliste
28 werden adressiert und durch die effektiven Adressensignale ZCO9-15 festgelegt. Jede Spalte
weist vier Ebenen bzw. Stufen auf, in denen die gespeicherten Adressensignale ALOO-08 gespeichert sind, die auf einen
bestimmten Block in dem Cache-Speicher 10 hinweisen. Um die bestimmte Stufe der Markierungs-Adressliste und den bestimmten
Speicherplatz der Dateninformation in dem Cache-Speicher festalegen,
ist eine Umlaufschaltung erforderlich. Die Unterbringung der gespeicherten Adressensignale ALOO-08 hoher
Wertigkeit in den Stufen der Markierungs-Adressliste 28 wird durch einen Ebenen- bzw. Stufen-Wähler 25 gesteuert. Der
Stufen-Wähler 25 führt das Signal ALOO-08 in die Markierungs-Adressliste
28 ein, und zwar in Übereinstimmung mit der Umlaufschaltung. Die UmIaufschaltung, die gemäss der vorliegenden
Erfindung verwendet wird, kann ein 2-Bit-Speicherabschnitt sein, der durch dieselben Signale adressiert wird,
wie die Markierungs-Adressliste 28. Ein kombinierter VoIl-Leer-Speicher,
der den Voll- oder Leer-Status der jeweiligen Spalte der jeweiligen Stufe bezeichnet, und ein Umlaufzähler
sind in Fig. 5 gezeigt und werden weiter unten noch näher erläutert werden.
Der Cache-Speicher 10 der bevorzugten Ausführungsform speichert 2048 Datenbits DO-DN in jedem Chip-Abschnitt,
wobei jedes Wort eine Länge von 36 Informationsbits in jeder
Speicherhälfte oder 72 Informationsbits in den kombinierten Speicherabschnitten umfasst. Der Cache-Speicher 10
weist vier Stufen auf, zu denen ein Zugriff durch die
509843/0832
Adressensignale CA und CB von dem Vergleicher 29 her erfolgt. Die Auslese-Dateninformationssignale DO +-DN ,
sind für sämtliche vier Stufen gemeinsam.
Der Cache-Speicher 20 wird durch die Cache-Adressensignale CSOO-10, die durch die Adressensignale ZC09-17 niedriger
Wertigkeit gebildet sind, zusammen mit den Signalen CA und CB adressiert (siehe Fig. 2 und 3). Die Signale ZC16
und ZC17 geben an, ob das adressierte Wort in der oberen
Hälfte oder in der unteren Hälfte des Speicherblockes ist oder ob ein Zugriff zu einem Doppelwort (beide Hälften)
gleichzeitig zu erfolgen hat.
Die Datensignale DO-DN sind Dateneingabesignale (siehe Fig. 2),
die durch den ZM-Schalter 12 eingegeben werden; die Signale DOout~DNout sind Datenausgabesignale, die den Hauptregistern
der Zentraleinheit über den ZD-Schalter 13 zugeführt werden.
Im folgenden seien die Fig. 2 und 4 näher betrachtet. Die in der Markierungs-Adressliste 28 gespeicherte Dateninformation
ist die Hauptspeicheradresse der in dem Cache-Speicher 10 gespeicherten Daten. Dabei sind lediglich neun Adressenbits
in der Markierungs-Adressliste 28 gespeichert. Diese Bits sind die Adressenbits ALOO-08, die von dem Adressregister
über den Schalter 26 zu der Markierungs-Adressliste hin geleitet werden. Durch Adressieren der Spalte der Markierungs-Adressliste
28 durch die effektiven Adressensignale ZCO9-15
wird somit die in dem Cache-Speicher 10 gespeicherte Blockwort-Information erhalten. Die in der adressierten Spalte gespeicherte
Adresseninformation wird in dem Vergleicher 29 mit den Hauptspeicher-Speicheradressen-Signalen ALOO-08
veglichen, die von der Zentraleinheit angefordert sind. Diese Signale ALOO-08 sind entweder von dem Adressregister
für die Überprüfung der Wiederauffindung einer Dateninformation
in bzw. aus dem Cache-Speicher 10 oder für den Vergleich mit der Seitenadresse verfügbar, wenn der Cache-Speicher
509843/0832
- ty -
selektiv zu löschen ist, und zwar auf Assoziativ-Speicher-Seiten-Löschbefehle
(CAMP) hin, wie dies nachstehend noch beschrieben werden wird.
Der Vergleicher 29 enthält im wesentlichen vier Gruppen einer Vielzahl von Vergleicherschaltungen (neun bei der
vorliegenden Ausführungsform), die neun Adressensignale von jeder der vier Stufen bzw. Ebenen der Markierungs-Adressliste
- das sind die Signale M1, M2, M3 und M4 - mit den neun Adressensignalen ALOO-08 vergleichen.
Wird eine Übereinstimmung durch sämtliche Signale in jeder Neun-Signal-Vergleicherschaltung Nr. 1, Nr. 2, Nr.
oder Nr. 4 erreicht und enthielt die Stufe gültige Daten, so erzeugt der Vergleicher 29 ein Übereinstimmungs-Signal,
das von einem ODER-Glied 29a (siehe Fig. 4) abgegeben wird, um einen Unterbrechungsgenerator 16 an der Erzeugung eines
Unterbrechungssignals INT zu hindern. Die Wiederauffindung bzw. Wiederbereitstellung der Dateninformation erfolgt dann
aus dem Cache-Speicher 10 anstatt aus dem Hauptspeicher.
Die Cache-Speicher-Adressensignale CSOO-10 (siehe Fig. 2
und 3) werden von der Vergleicherlogik und der effektiven Adresse gebildet. Sodann erfolgt eine Abspeicherung in
dem Cache-Adressregister 30. Die 11-Bit-Adresse führt zu
einem Zugriff zu einem 2048-Wort-Cache-Speicher. Die 11-Bit-Adresse
benutzt die Adressensignale CA und CB von dem Vergleicher 29; diese Signale sind aus den Vergleicherbits
CC1-4 von der Markierungs-Adressliste 28 her und den Bits ZC09-17 von der effektiven Adresse gebildet.
Im folgenden sei auf Fig. 4 und 5 Bezug genommen, gemäss
denen ein 4-zu-2-Decoder 29b des Vergleichers 29 aus ODER-Gliedern 32, 33 und 34 in Verbindung mit UND-Gliedern
35 und 36 besteht, um die Vergleicherbitsignale CC1-4 zu decodieren. Die ODER-Glieder 37 und 38 erzeugen die
509843/0832
Adressensignale CA und CB, und zwar entweder aus den Vergleicherbit-Signalen CC1-4 auf eine Lese-Cache-Speicher-Operation
hin oder aus den Umlaufsignalen RR1 und RR2 auf eine Schreib-Cache-Speicher-Operation hin. Ein Inverter 70
sperrt die UND-Glieder 71 und 72, falls irgendeines der Vergleichersignale CC1-4 auf einen korrekten Vergleich hin
freigegeben ist. Werden keine eine Übereinstimmung betreffende Signale freigegeben, so werden die UND-Glieder 71 und 72
an jeweils einem Anschluss hinsichtlich der Vorbereitung einer Schreib-Cache-Speicher-Operation freigegeben. Die Umlaufzählersignale
RR1 und RR2 legen die Ebenen bzw. Stufen der Spalten fest, die die nächste Dateninformationsadresse
aufzunehmen haben. Die Umlaufzählersignale RR1 und RR2
werden decod-iert, um die Signale A, B, C und D zu erzeugen, die dem Stufen-Wähler 25 zugeführt werden.
Der Markierungs-Adresslisten-Abschnitt 28 enthält eine
Verknüpfungsschaltung, durch die angezeigt wird, dass ein Block von Wörtern in dem Cache-Speicher 10 vollsläidig ist
und dass die Daten gültig sind. Die Verknüpfungsschaltung bildet ein dem jeweiligen Markierungswort zugehöriges bzw.
mit diesem verbundenes Voll-Leer-Statusbitsignal. Der Cache-Speicher
10 kann dadurch gelöscht werden, dass sämtliche Status-Bitsignale zurückgestellt werden. Der Cache-Speicher
wird vollständig gelöscht, wenn die Zentraleinheit auf eine externe Unterbrechung antwortet, welche signalisiert, dass
ein neues Programm einzuleiten ist. Der Cache-Speicher wird jedoch teilweise gelöscht, wenn die Seite der Dateninformation
zu löschen ist. Bei der vorliegenden Ausführungsform besitzt eine Dateninformationsseite eine Grosse von etwa
1K, und der Cache-Speicher enthält 1K Dateninformationswörter.
509843/0832
Jede der 128 Stufen der Markierungs-Adressliste 28 weist
eine Umlaufschaltung (RRO) auf, die die Spätte oder Markierung
bzw. Marke der adressierten Stufe angibt, welche als nächste zu laden ist. Die Umlaufschaltung RRO ist
mit der Voll-Leer-Statusbitsignalspeicherung in der in
Fig. 6 dargestellten Steuerlogik versehen. Die Umlaufwire
schaltungA^eitergerückt, wenn ein neuer Dateninformationsblock
in dem Cache-Speicher 10 untergebracht wird. Die absoluten Adressenbits ALOO-08 werden in dem Markierungs-Adresslistenspeicherplatz
abgespeichert, zu dem ein Zugriff durch die effektiven Adressenbits ZCO9-15 erfolgt. Die
Umlaufschaltung besteht aus zwei Bitspeicherplätzen in jedem von einer Vielzahl von Sechs-Bit-Speicherchips,
wie sie in Fig. 6 gezeigt sind, und zwar in Verbindung mit einer Zählereinsteil- oder Sprungzählerschaltung,-einem
Binärzähler und einer 2-zu-4-Decoderform der UmIaufschaltung
gemäss der vorliegenden Erfindung.
Die Umlauflogik und der Voll-Leer-Mechanismus enthalten,
wie in Fig. 6 gezeigt, einen Teil der Steuerlogik 31, die in Fig. 2 dargestellt ist; die betreffenden Anordnungen
steuern die Unterbringung und Festlegung der Dateninformation in den Spalten der Markierungs-Adressliste
und damit in einem bestimmten Speicherplatz des Cache-Speichers. Zwei 6-Bit-Speichereinheiten 43a und 43b,
die in Fig. 6 gezeigt sind, enthalten einen Teil der acht Einheiten, die in der vorliegenden Ausführungsform
vorgesehen sind. Jedes Speicherchip 43 ist als sechs Speicherpositionen RR1, RR2 und L1-L4 enthaltend dargestellt.
Jede dieser Speicherpositionen enthält sechzehn Unterpositionen, so dass insgesamt 96 Informationsbits
in jedem der Speicherchips 43 gespeichert werden können. Die 6-Bit-Speicherchips 43a und 43b enthalten.einen
Adressenteil 44a und 44b, der durch eine Gruppe von vier
509843/0832
Adressenauswahl-ODER-Gliedern 45 bis 48 gesteuert wird. Ein Teil der effektiven Adressensignale ZC12-15 wird
einem Eingang jedes der vier ODER-Glieder 45 bis 48 zugeführt, während der andere Eingang des jeweiligen ODER-Gliedes 45-48
durch Löschadressensignale KNTO-4 gesteuert wird. Die Löschadressensignale
werden durch die in Fig. 7 dargestellte Lösch-Schaltung erzeugt. Die Arbeitsweise der Lösch-Schaltung
wird weiter unten noch erläutert werden.
Im folgenden sei die Beschreibung der Steuerlogikschaltung 31 gemäss Fig. 6 weitergeführt. Die Adressenauswahl-ODER-Glieder
45 bis 48 liefern sechzehn mögliche Adressensignale. Die übrigen drei Bits der effektiven Adressensignale, das
sind die Bits ZC9-11, werden einem 3-zu-8-Decoder 50 zugeführt,
um die Chip-Auswahlsignale CHSEL1-8 bereitzustellen. Jedes Chip-Auswahlsignal wird einem der 6-Bit-Speicher-Chips
43 zugeleitet. Demgemäss adressieren die Chip-Auswahlsignale in Verknüpfung mit den effektiven Adressensignalen ZC12-15
individuell sämtliche acht 6-Bit-Speicherchips.
Die in sämtlichen Speicherchips gespeicherten Informationsbits werden von dem modifizierten Inkrementzähler 55 erhalten,
der sukzessive die gespeicherten Umlaufsignale A, B,
C und die Signale L1-L4 freigibt. Jedesmal, wenn eine Dateninformation in den Cache-Speicher. 10 eingeschrieben
wird-, wird die 6-Bit-Speicherzelle, die dieselbe effektive Adresse besitzt, inkrementiert. Während der Cache-Speicher-Schreiboperation
wird das Löschsignal gesperrt, während das invertierte Löschsignal mit hohem Pegel auftritt
oder freigegeben ist. Eine Cache-Speicher-Löschoperation führt dazu, dass sämtliche Signale RR1, RR2, L1 bis L4
sowie A, B, C und D auf Null zurückgesetzt werden. Auf die erste Adressierung eines bestimmten 6-Bit-Speicherchips
hin, wie zum Beispiel des Speicherchips 43a, werden die Signale ZC9-15 dem Speicherchip 43a und dem Adressenauswahlteil
44a zugeführt. Diese Signale werden ferner über das
509843/0832
Speicherchip 43a übertragen. Sie bewirken, dass der Binärzähler
94 in seiner Zählerstellung um 1 erhöht wird.
Wenn die Zählerstellung des Zählers 94 um 1 erhöht worden
ist, bewirkt dies, dass der 2-zu4-Decoder 93 ein Signal hohen Pegels auf der Α-Leitung abgibt. Das auf der A-Leitung
mit hohem Pegel auftretende Signal wird dem unteren Eingang des ODER-Gliedes 57 in dem Inkrement-Zähler 55 zugeführt.
Dies hat zur Folge, dass auf der oberen Leitung des UND-Gliedes 78 eine positive Spannung auftritt. Gleichzeitig
treten das CAMP-Signal und das Löschsignal mit niedrigem Pegel auf, während das CAMP'-Signal und das invertierte
Löschsignal mit hohem Pegel auftreten, so dass das UND-Glied 77 übertragungsfähig ist. Dadurch wird ein Signal mit hohem
Pegel an den unteren Eingang des UND-Gliedes 78 abgegeben. Das UND-Glied 78 wird übertragungsfähig und gibt ein Signal A
mit hohem Pegel über das ODER-Glied 88 an den Setzeingang 1 des 6-Bit-Speicherchips 43a ab. Dadurch wird ein L1-Signal
am Ausgang des Chips 43a abgegeben. Auf eine nachfolgende Adressierung des Speicherchips 43a gibt der Binärzähler ein
Signal an den Decoder 93 ab, der ein Signal B mit hohem
Pegel erzeugt. Dieses Signal B wird über das ODER-Glied 58, das UND-Glied 79 und das ODER-Glied 89 dem Setzeingang 2
des 6-Bit-Speicherchips 43 zugeführt. Auf diese Weise wird von dem Chip 43a ein L2-Ausgangssignal abgegeben.
Auf die anschliessende Adressierung des Speicherchips 43a werden die Speicherplätze L3 und L4 adressiert, so dass
ein Ausgangssignal auf den in gleicher Weise bezeichneten Ausgangsleitungen L3 bzw. L4 des Chips 43a erhalten wird.
Die vier Bits L1 bis L4 in dem Chip 43a zeigen an, dass sämtliche vier Stufen der Adressenspalte voll sind und
dass die zugehörigen Cache-Speicherplätze gültige Daten enthalten. Durch anschliessende Schreiboperationen bezüglich
derselben Adressen in dem Chip 43a wird der Cache-Speicher aktualisiert. ,
509843/0832
251569S
Die Status-Signale RR1 und RR2 sind die Zeigersignale,
die den Stufenabschnitt der Markierungs-Adressliste einstellen; die UND-Glieder 71 und 72 und die ODER-Glieder 37 und 38
(siehe Fig. 5) liefern die beiden Adressensignale CA und CB
für den Cache-Speicher 10. Die Signale RR1 und RR2 v/erden durch eine Gruppe von Verknüpfungsgliedern 110 bis 118 gemäss
Fig. 8 codiert, um die Spaltenplätze A bis D anzugeben, die in Verbindung mit den effektiven Adressensignalen
ZC10-15 die bestimmten Stufen- und Spaltenplätze in der
Markierungs-Adressliste 28 liefern. Die Spaltenplatzsignale
A bis D werden dem Stufen- bzw. Ebenen-Wähler 25 zugeführt (siehe Fig. 4), der den Eintrag der gespeicherten Adressensignale
ALO-08 in die Markierungs-Adressliste 28 steuert. Die Spaltenplatzsignale zeigen zu der Spalte der Markierungsadressliste
hin, die die nächste Adresse der in dem Cache-Speicher abzuspeichernden Dateninformation aufzunehmen hat.
Auf eine Löschoperation oder Einleitungsoperation hin werden die Signale RR1 und RR2 aus sämtlichen Bitspeicher-Chips
zu Null gemacht bzw. gelöscht. Wenn eine Dateninformation in dem Cache-Speicher untergebracht wird und wenn die
Adresse der Dateninformation in der Markierungs-Adressliste untergebracht wird, wird der Umlaufzähler inkrementiert bzw.
in seiner Zählerstellung erhöht. Ein A-Ausgangssignal mit
hohem Pegel bewirkt, dass die gespeicherten Adressensignale ALOO-08 in der Α-Stufe bzw. Α-Ebene der Spalte untergebracht
werden, die durch die effektiven Adressensignale ZC10-15 aufgerufen ist (siehe Fig. h). Gleichzeitig wird
(hierzu sei auf Fig. 6 Bezug genommen) durch die effektiven Adressensignale ZC9-15 das zugehörige bzw. assoziierte
6-Bit-Speicherchip aktiviert, um das erste Bit zu setzen. Bei der nächsten Cache-Speicher-Schreiboperation, die
dieselbe Spalte in der Markierungs-Adressliste adressiert, werden die gespeicherten Adresrensignale in der B-Stufe
der Adressenspalte untergebracht.
Die Anzeige bezüglich des Vorliegens von gültigen Daten in
509843/0832
dem Cache-Speicher wird dadurch erreicht, dass die Erzeugung .des Übereinstimmungssignals MATCH von dem Vergleicher/bewirkt
wird. (Siehe Fig. 4) Das CC1-Signal von dem Vergleicher Nummer 1 wird lediglich dann freigegeben, wenn das L1-Signal
freigegeben ist. Dies zeigt an, dass gültige Adressendaten in der Α-Stufe existierer und dass die dem Vergleicher
zugeführten Signale übereinstimmen. Das CC2-Signal von dem Vergleicher Nummer 2 her wird lediglich dann freigegeben,
wenn das L2-Signal freigegeben ist. Dies zeigt an, dass gültige Adressendaten in der B-Stufe gespeichert sind und
dass die Signale für den Vergleicher übereinstimmen. Das CC3-Signal von dem Vergleicher Nr. 3 her ist lediglich dann
freigegeben, wenn das L3-Signal freigegeben ist. Dies zeigt an, dass gültige Adressendaten in der C-Stufe gespachert sind.
Das CC4-Signal von dem Vergleicher Nummer 4 her ist lediglich dann freigegeben, wenn das L4-Signal freigegeben ist.
Dies zeigt an, dass gültige Adressendaten in der D-Stufe gespeichert sind. Die eigentliche Ausführung der Logik
hinsichtlich der Steuerung des Vergleichers 29 durch die Signale L1 bis L4 dürfte als naheliegend anzusehen sein
und ist deshalb hier nicht näher gezeigt. Die" mit der Markierungs-Adresslistenspalte
verbundene bzw. dieser assoziierte Binärspeichereinheit wird durch dieselben Adressensignale
adressiert, wie die Spalten; deshalb sind die Ausgangssignale von beiden Anordnungen gleichzeitig verfügbar.
Um den gesamten Cache-Speicher 10 zu löschen, ist es lediglich erforderlich, sämtliche Speicherplätze L1, L2, L3
und L4 in den 6-Bit-Speicherchips zurückzustellen, das heisst, sämtliche Voll-Leer-Signale L1 bis L4 auf einen
niedrigen Pegel zu bringen oder unwirksam zu machen. Sämtliche vier Voll-Leer-Signale geben, wenn sie im Zustand niedrigen
Pegels auftreten, an, dass keine gültigen Daten in einer
509843/0832
bestimmten Spalte enthalten sind. Auf diese Weise wird nämlich die Abgabe eines Ausgangssignals von dem Vergleicher
29 verhindert. Sämtliche sechs Bits in der Speichereinheit 43a und 43b werden auf Null gebracht bzw. gelöscht, und
zwar durch ein Auslösesignal nach einer Einschaltoperation oder nach einer Löschoperation, so dass sämtliche Daten
in dem Cache-Speicher effektiv zu einer ungültigen Dateninformation werden.
Im folgenden sei auf Fig. 7 im Hinblick auf das Löschen der Anordnung auf ein Einleitungs-Löschsignal INIT-CLEAR
hin eingegargen. Ein Flipflop 64 wird dabei gesetzt, um das Löschsignal CLEAR freizugeben. Das betreffende Löschsignal
wird einem Impulsgenerator 65 sowie dem 3-zu-8-Decoder 50 gemäss Fig. 6 zugeführt. Das Ausgangssignal
des Impulsgenerators 65 wird dem Additionseingang + 1 der Zählerschaltung 66 zugeführt. Am Ausgang der Zählerschaltung
66 treten die Lösch-Adressensignale KNTO-32
auf, die den vier Adressen-ODER-Gliedern 45 bis 48 und den ODER-Gliedern 52 bis 54 gemäss Fig. 6 zugeführt
werden. Der Zähler 66 nimmt eine Adressenzählersteilung von 0 bis 16 ein, um die Bitpositionen der Speicherzellen
43 gemäss Fig. 6 jeweils dann zu adressieren, wenn der Impulsgenerator 65 ein Freigabesignal abgibt.
Der Impulsgenerator 65 gibt, wenn er freigegeben ist, einen kontinuierlichen Impulsstrom ab, dessen Impulse
durch diejenige Zeitspanne voneinander getrennt sind, die erforderlich ist, um eine Speichereinheit zurückzustellen.
Auf das Erreichen einer Zählerstellung 16 hin wird ein Übertragesignal CARRY von der Zählerschaltung
freigegeben. Das betreffende Übertragsignal wird dem Rückstelleingang K des Flipflop 64 zugeführt, um die
Löschoperation zurückzustellen und das CLEAR'-Signal
wieder freizugeben.
509843/0832
Das die Löschoperation aktivierende INIT Clear-Signal wird aus den Signalen SAR und CAMS abgeleitet, die
dem UND-Glied 74 zugeführt v/erden. Das SAR-Signal liefert die in Frage kommenden Zeitsteuersignale bzw. Taktsignale
für die Löschoperatin.
Zurückkommend auf Fig. 6 sei bemerkt, dass das Löschsignal
CLEAR, welches dem 3-zu-8-Decoder 50 zugeführt wird, sämtliche Chip-Auswahlsignale CHSEL1-8 freigibt. Wenn
eine Zählerstellung von Null bis 16 durch die Zählerschaltung 66 durchlaufen wird, um die Signale KNTO-4
freizugeben, werden daher sämtliche acht 6-Bit-Speicher-Chips zu einem Zeitpunkt gelöscht. Die Signale SET-1-4
werden sämtlich unwirksam gemacht, und zwar dadurch, dass das Signal CLEAR1 unwirksam gemacht wird, welches dem
UND-Glied 77 des modifizierten Inkrementzählers 55 zugeführt wird. Nachdem die Zählerschaltung 66 die Zählerstellung
16 zählt, ist daher der gesamte Cache - Speicher wirksam gelöscht, indem der Umlauf- und Voll-Leer-Mechanismus
gelöscht ist. Dadurch wird die gesamte Dateninformation
in dem Cache-Speicher zu einer ungültigen Information.
Die vollständige Löschung der Markierungs-Adressliste in dem Cache-Speicher wird dadurch ausgeführt, dass
lediglich die Voll-Leer-Marken zurückgesetzt werden. Das Umlauf-Zeigersignal wird zurückgesetzt, um auf die A-Stufe
der Markierungs-Adressliste zu zeigen.
Zur Ausführung des Cache-Speichers 10 sowie der anderen Speichereinheiten, wie der Markierungs-Adressliste 28,
werden mit sehr hoher Geschwindigkeit arbeitende integrierte Schaltungspackungen verwendet. Die Cache-Speicher-Adresse
(siehe Fig. 3) leitet die Adressierung der bestimmten Schaltungspackung zusammen mit einem bestimmten
Wort oder einem Teil eines Wortes aus jeder Packung.
509843/0832
Die bestimmte Adressierung der integrierten Schaltungspackungen ist auf dem vorliegenden Gebiet für sich bekannt
und wird daher hier nicht weiter erläutert.
Wenn es erwünscht ist, dass lediglich ein Teil des Cache-Speichers
gelöscht wird, gibt die Verarbeitungseinheit
7 gemäss Fig. 1 einen CAMP OP-Code oder ein Signal"OP CODE
= CAMP" und die Adresse des.in dem Cache-Bereich 11 gemäss Fig. 1 und 2 zu löschenden Teiles ab. Das Signal
"OP CODE = CAMP" wird der in Fig. 7 näher dargestellten Inkrementierungsschaltung 24 zugeführt. Die Adresse des
zu löschenden Cache-Speicherabschnitts ist in dem Signal ALOO-
08 enthalten, das dem Eingang des Vergleichers 29 gemäss Fig. 2 und 4 zugeführt wird. Gleichzeitig veranlassen die
Signale KNTO-3, dass die Inhalte der Register 28 der
Markierungs-Adressliste sequentiell den Vergleicherschaltungen Nummer 1 bis Nummer 4 des Vergleichers 29 zugeführt
werden, wie er in Fig. 4 dargestellt ist. Bei der ersten Zählerstellung beispielsweise, zu der KNTO-32 =
Null ist, wird die Abgabe der Daten von dem Block AO, BO, CO und DO an eine entsprechende Vergleicherschaltung
der Vergleicherschaltungen 1 bis 4 bewirkt. Diese den Vergleicherschaltungen 1 bis 4 zugeführten Signale verden
mit den Signalen ALOO-08 verglichen. Wenn dabei eine Übereinstimmung auftritt, werden die Signale CC1 bis
CC4 am'Ausgang irgendeiner dieser Schaltungen abgegeben,
die eine Übereinstimmung ermittelt. Diese Signale CC1 bis CC4 werden der selektiven Löschschaltung 55 zugeführt,
die in Fig. 6 gezeigt ist. Wenn eine Übereinstimmung in
der Vergleicherschaltung Nummer 1 gemäss Fig. 4 auftritt, gibt die Vergleicherschaltung Nummer 1 das Signal
CC1 ab, das invertiert und dem Verknüpfungsglied 83 der selektiven Löschschaltung 55 zugeführt wird. Das
CC1-Signal wird über die Verknüpfungsglieder 83 und 88 gleitet und bewirkt, dass das L1-Bit in dem 6-Bit-Speicher-
509843/083 2
Chip 43a zurückgesetzt wird. Wenn das L1-Bit in dem Chip 43a zurückgesetzt ist, zeigt die»-an,··· dass der
entsprechende Block in dem Cache-Speicher 10 gemäss Fig.
ungültige Daten enthält; dieser Block ist für die Speicherung eines neuen Datenbits von dem Hilfsspeicher 4 gemäss Fig.
her verfügbar. Wenn die Vergleicherschaltung Nummer 2
gemäss Fig. 4 ein Signal CC2 an die selektive Löschschaltung 55 gemäss Fig. 6 abgibt, wird in ähnlicher Weise das
Signal über die Verknüpfungsglieder 84 und 89 geleitet und bewirkt, dass das L2-Bit des Speicherchips 43a zurückgesetzt
wird.
ek Wenn es erwünscht ist, dass lediglich sel^ive Blöcke des
Cache-Speichers mit neuen Daten gefüllt werden und dass die Daten in den anderen Blöcken unberührt bleiben, so
werden die Springzählschaltung und die Zählereinstellschaltung
95 gemäss Fig. 6 verwendet. Diese Schaltungen würden normalerweise benutzt, nachdem einige der Blöcke,
nicht jedoch sämtliche Blöcke, bezüglich der Daten gelöscht worden sind. Dabei ist es erwünscht, in einem "Blockladevorgang"
Daten in einer Reihe von Blöcken in der Markierungs-Adressliste 28 und in dem Cache-Speicher 10 zu laden.
Die Springzählschaltung enthält ein Paar von ODER-Gliedern
96 und 97 sowie eine Vielzahl von UND-Gliedern 99 bis und 135 bis 138. In einem normalen Ladevorgang würden
Blöcke L1, L2, L3 und L4 nacheinander in jedes der Speicherchips 43 geladen werden. Wenn einige der Blöcke
in dem Speicherchip leer sind und wenn einige Blöcke voll sind, bewirkt die Springzählschaltung, dass die leeren
Blöcke geladen werden. Ferner wird die Ladeschaltung veranlasst, diejenigen Blöcke zu überspringen, die bereits
Daten enthalten. Wenn zum Beispiel L2 und L3 des Speicherchips 43A mit Daten geladen sind und wenn die Blöcke L1
und L4 leer sind, läuft die Operationsablauffolge wie
folgt ab. Wenn der Ladevorgang bei dem'Block L1 beginnt,
509843/0832
läuft die Operationsfolge bezüglich des Ladens des Blockes L1 in der oben beschriebenen Weise ab. Der nächste Schritt
würde normalerweise darin bestehen, dass das Signal B von dem Decoder 93 her ein Signal abgibt, welches das
Laden des Blockes L2 bewirken würde. Da der Block L2 jedoch bereits geladen ist, vird ein Signal L2 an das
UND-Glied 100 des Spring- bzw. Sprungzählers abgegeben; ferner werden die Signale RR1 ' und RR2 von dem Zähler 9'+
an das UND-Glied 136 abgegeben, wodurch dem unteren Eingang
des UND-Gliedes 100 ein Signal zugeführt wird. Zur selben Zeit wird ein Signal L4' über das Verknüpfungsglied 96
geleitet, wodurch das UND-Glied 100 übertragungsfähig wird. Dadurch wird ein Signal über das Verknüpfungsglied 97 dem
Eingang der Zählereinstellschaltung 95 zugeführt.
In Fig. 9 sind Einzelheiten der Zählereinstellschaltung gezeigt. Das Sprungzählsignal und die Signale L1 und L2
werden dem UND-Glied 132 gemäss Fig. 9 zugeführt. Dadurch wird veranlasst, dass ein Signal über das ODER-Glied 129
abgegeben wird, wodurch ein R1-Signal dem Binärzähler 94 gemäss Fig. 6 zugeführt wird. Das R1-Signal bewirkt,
dass der Binärzähler auf die nächste Zählerstellung springt. Da der Block L2 des Speicherchips 43a bereits voll ist,
wird das L2-Signal von dem Speicherchip an den mittleren Eingang des UND-Gliedes 101 in der Sprungaählerschaltung
abgegeben. Der Zähler 94 gibt die Signale RR1 und RR21 an das UND-Glied 137 ab, welches ein Signal an den unteren
Eingang des Verknüpfungsgliedes 101 abgibt. Diese Signale sowie das Signal LL41 von dem ODER-Glied 96 her geben
das Verknüpfungsglied 101 frei, so dass ein Sprungz ähl-Signal
wieder der Zählereinstellschaltung 95 gemäss Fig. und 9 zugeführt wird. Das dem UND-Glied 124 zugeführte
Sprungzählersignal gibt das betreffende Verknüpfungsglied 124 frei bzw. macht es übertragungsfähig. Gleichzeitig
509843/0832
werden die dem UND-Glied 122 zugeführten Signale L2 und L3 über das ODER-Glied 128 dem unteren Eingang des UND-Gliedes
124 zugeführt. Dies bewirkt, dass das UND-Glied 124 ein
Signal über das ODER-Glied 133 an die Ausgangsleitung R2 abgibt. Dieses Signal, das auch als R2-Signal bezeichnet sei,
wird dem Eingang des Binärzählers 94 gemäss Fig. 6 zugeführt;
es bewirkt, dass der Zähler 94 auf eine weitere Zählerstellung springt, wodurch auf den Block L4 des Speicherchips 43a
übergegangen wird.
Abschliessend sei bemerkt, dass durch die Erfindung erreicht
worden ist, dass in einem Datenverarbeitungssystem, in
welchem eine Programmunterteilung und Seitenbildung benutzt wird, um einen Zugriff zu einer Dateninformation zu erhalten,
wie in einer virtuellen Speichermaschine, der vorgesehene Cache-Speicher nicht vollständig gelöscht werden muss,
wenn jeweils eine Eingabe/Ausgabe-Operation ausgeführt wird oder wenn zum jeweiligen Zeitpunkt die in dem Cache-Speicher
enthaltenen Daten möglicherweise nicht richtig sind. Mit der Programmunterteilung und Seitenbildung bracht lediglich
ein Teil des Cache-Speichers gelöscht zu werden, wenn eine neue Seite von dem virtuellen Speicher er halten wird. Der
gesamte Cache-Speicher wird lediglich dann gelöscht, wenn ein neues Segment durch den Befehl angezeigt wird. Der
Cache-Speicher wird selektiv bezüglich der Information von der Seite gelöscht, deren Dateninformation nicht länger
benötigt wird, indem die jeweilige Stufe einer Assoziativ-Markierungsadressliste
für den Cache-Speicher adressiert wird. Die Spalten der jeweiligen Stufe werden mit der
Seiten-Adresse verglichen, und wenn eine Übereinstimmung bzw. ein Vergleich signalisiert wird, wird die betreffende
Spalte der adressierten Stufe gelöscht, indem die Marke bzw. das Kennzeichen gelöscht wird, das den Voll-Status
der Spalte in der adressierten Stufe bzw. Ebene anzeigt. Jede Ebene bzw. Stufe der Markierungsadressliste wird
adressiert.
509843/0832
Claims (9)
- PatentansprücheAnordnung zum selektiven Löschen von Teilen eines Cache-Speichers, der in einer Zentraleinheit eines Datenverarbeitungssystems enthalten ist, welches mit einer Programmunterteilung und Seitenbildung arbeitet, dadurch gekennzeichnet, dass adressierbare Speichereinheiten (28) vorgesehen sind, von denen jeweils eine einer Spalte einer mehrere Ebenen und mehrere Spalten aufweisenden adressierbaren assoziativen Einstell-Markierungsadressliste (28) bezüglich des mit dieser verbundenen Cache-Speichers (10) zugehörig ist, wobei die betreffendei Speiehereinheiten durch entsprechende Adressensignale aktiviert werden wie ihre zugehörige Spalte, dass jede Speichereinheit in dem Fall, dass sie gesetzt ist, ein Voll-Leer-Statusanzeigeglied speichert, welches die jeweilige Stufe der zugehörigen Spalte signalisiert, dass eine Zählereinrichtung (24) vorgesehen ist, die die Status-Anzeigesignale von der jeweiligen Speichereinheit aufnimmt und die ihr Ausgangssignal an die Speichereinheiten zum Zwecke der Abspeicherung in diesen Speichereinheiten abgibt, dass die Zählereinrichtung (24) die Status-Anzeigesignale in dem Fall inkrementiert, dass die jeweilige Speichereinheit durch ihre Adressensignale adressiert ist, dass die Speichereinheiten das Vorhandensein von gültigen Daten in dem mit ihnen verbundenen Cache-Speicher (10) durch das Vorhandensein von Status-Anzeigesignalen anzeigen, wobei das Vorhandensein von ungültigen Daten in dem zugehörigen Cache-Speicher (10) durch das Fehlen von Status-Anzeigesignalen angezeigt ist, dass mit der Zählereinrichtung (24) und den Speichereinheiten eine selektive Löscheinrichtung verbunden ist, die die Status-Anzeigesignale zurückzustellen gestattet, und dass zur selektiven Aktivierung an der Löscheinrichtung Einrichtungen angeschlossen sind, welche die betreffende Löscheinrichtung in dem509843/0832Fall aktivieren, dass die jeweilige Speichereinheitdurch ihre Adressensignale aktiviert ist und dass ein selektives Löschsignal von der Zentealeinheit (2) aufgenommen wird.
- 2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, dass die zur selektiven Aktivierung dienenden Einrichtungen einen Impulsgenerator (65) enthalten, der durch das selektive Löschsignal veranlasst ist, eine Impulsgruppe zu erzeugen, dass eine Zähl schaltung (66) die Impulsgruppe aufnimmt und Adressensignale erzeugt, welche die genannten Speichereinheiten nacheinander in Übereinstimmung mit der Zählschaltung (66) betätigen, und dass Vergleichereinrichtungen (29) vorgesehen sind, die die Adresse jeder der Speichereinheiten mit den zu löschenden Adressen vergleichen.
- 3. Anordnung nach Anspruch 1, dadurch gekennzeichnet, dass die Markierungs-Adressliste (28) vier Stufen je Spalte enthält und dass jede Speichereinheit sechs Informationsbits speichert, wobei zwei Informationsbits für die Stufenzählung und vier Informationsbits für die VoIl-Status-Signale dienen.
- 4. Anordnung zum selektiven Neuladen von Teilen eines Cache-Speichers, der in einer Zentraleinheit eines Datenverarbeitungssystems enthalten ist, in welchem mit Programmunterteilung und Seitenbildung gearbeitet wird, wobei das Neuladen lediglich in leeren Speicherbereichen erfolgt, insbesondere nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet,
a) dass adressierbare Speichereinheiten vorgesehen sind, deren jede einer Spalte einer mehrere Stufen und mehrere Spalten aufweisenden adressierbaren Einstell-Assoziativ-Markierungs-Adressliste (28)509843/0832bezüglich des mit ihr verbundenen Cache-Speichers (10) zugehörig ist, wobei die betreffenden Speichereinheiten durch entsprechende Adressensignale aktiviert waden wie ihre zugehörige Spalte, dass jede Speichereinheit in dem Fall, dass sie gesetzt ist, Voll-Leer-Status-Anzeigesignale der jeweiligen Stufe ihrer zugehörigen Spalte speichert,b) dass eine Zählereinrichtung (24) die Status-Anzeigesignale von der jeweiligen Speichereinheit her aufnimmt und ihr Ausgangssignal an die Speichereinheiten für die Abspeicherung abgibt, dass die Zählereinrichtung (24) die Status-Anzeigesignale in dem Fall inkrementiert, dass die jeweilige Speichereinheit durch ihre Adressensignale adressiert ist,c) dass die Speichereinheiten das Vorliegen von gültigen Daten in dem mit ihnen verbundenen Cache-Speicher (10) durch das Vorhandensein der Status-Anzeigesignale anzeigen, wobei das Vorhandensein von nicht gültigen Daten in dem zugehörigen Cache-Speicher (10) durch das Fehlen von Ststus-Anzeigesignalen angezeigt ist, und dass an der Zählereinrichtung und den Speichereinheiten eine Sprungadressenschaltung (95) angeschlossen ist, wobei die Status-Anzeigesignale von den Speichereinheiten die Sprungadressenschaltung (95) veranlassen, ein Signal abzugeben, welches die Zählerstellung in der Zählereinrichtung (94) weiterschaltet, ohne dass eine Neuladung irgendwelcher Speichereinheiten erfolgt, die gültige Daten enthalten. - 5. Anordnung nach Anspruch 4, dadurch gekennzeichnet, dass die Sprungadressenschaltung eine an den Speichereinheiten angeschlossene Sprungzählschaltung (94) enthält, die mit den Speichereinheiten verbunden ist und die ein Sprungzählersignal jeweils dann erzeugt, wenn die betreffende Zähler-509843/0832einrichtung eine volle Speichereinheit adressiert und eine leere Speichereinheit verfügbar ist, und dass zwischen der Sprungzählerschaltung (94) und. der Zähl ere inrichtung eine Zähleinstellschaltung (95) vorgesehen ist, die die Zählereinrichtung veranlasst, in der Zählerstellung in dem Fall weiterzurücken, dass ein Sprungzählsignal gebildet ist.
- 6. Anordnung nach Anspruch 4 oder 5, dadurch gekennzeichnet, dass die Markierungs-Adressliste (28) vier Stufen je Spalte aufweist, und dass jede der Speichereinheiten sechs Informationsbits speichert, wobei zwei Informationsbits für die Stufenzählung und vier Informationsbits für die Voll-Status-Signale dienen.
- 7. Anordnung zum selektiven Austausch von Daten in einem Cache-Speicher, der in einer Zentraleinheit eines Datenverarbeitungssystems enthalten ist, in welchem mit einer Programmunterteilung und Seitenbildung gearbeitet wird, insbesondere nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet,a) dass adreseierbare Speichereinheiten vorgesehen sind, deren jede mit einer Spalte einer eine Mehrzahl von Stufen und eine Mehrzahl von Spalten aufweisenden adressierbaren Einstell-Assoziativ-Markierungs-Adressliste (28) bezüglich ihres zugehörigen Cache-Speichers (10) verbunden ist, wobei die Aktivierung der Speichereinheiten durch entsprechende Adressensignale ihrer zugehörigen Spalte erfolgt, dass jede Speichereinheit in dem Fall, dass sie gesetzt ist, Voll-Leer-Statusanzeigesignale der jeweiligen Stufe ihrer zugehörigen Spalte speichert,b) dass eine Zählereinrichtung vorgesehen ist, diedie Status-Anzeigesignale von der jeweiligen Speichereinheit aufnimmt und ihr Ausgangssignal an die509843/0832Speichereinheiten für die Abspeicherung abgibt, dass die Zähl ereinrichtung die Status-Anzeigesignale in dem Fall inkrementiert, dass die jeweilige Speichereinheit durch ihre Adressensignale adressiert ist,c) dass die Speichereinheiten das Vorhandensein von gültigen Daten in ihrem zugehörigen Cache-Speicher (10) durch das Auftreten von Status-Anzeigesignalen anzeigen, während das Vorhandensein von ungültigen Daten in dem zugehörigen Cache-Speicher (10) durch das Fehlen von Status-Anzeigesignalen angezeigt ist,d) dass mit der Zählereinrichtung und den Speichereinheiten selektive Löscheinrichtungen verbunden sind, die die Status-Anzeigesignale zurückzustellen gestatten,e) dass mit den Löscheinrichtungen Einrichtungen zur selektiven Ak-'tjvierung verbunden sind, welche die Löscheinrichtungen in dem Fall aktivieren, dass die jeweilige Speichereinheit durch ihre Adressensignale adressiert ist und dass ein selektives Löschsignal von der Zentraleinheit (2) durch sie aufgenommen ist, undf) dass mit den Zählereinrichtungen und den Speichereinheiten eine Sprungadressenschaltung verbunden ist, wobei die Status-Anzeigesignale von den Speichereinheiten (die Sprungadressenschaltung veranlassen, ein Signal abzugeben, durch welches die Zählerstellung in der Zählereinrichtung weiterrückt, ohne dass irgendwelche Speichereinheiten erneut geladen werden, in denen gültige Daten enthalten sind.
- 8. Anordnung nach Anspruch 7, dadurch gekennzeichnet, dass die zur selektiven Aktivierung dienenden Einrichtungen einen Impulsgenerator (65) enthalten, der durch das selektive Löschsignal aktiviert eine Gruppe von Impulsen erzeugt, dass eine Zählerschaltung (66) vorgesehen ist,509843/0832die die betreffende Gruppe von Impulsen aufnimmt und die Adressensignale- erzeugt, welche die Speichereinheiten entsprechend der Zählerstellung der Zählerschaltung (66) nacheinander betätigen, und dass Vergleichereinrichtungen vorgesehen sind, die die Adresse jeder der Speichereinheiten mit den Adressen vergleichen, die zu löschen sind.
- 9. Anordnung nach Anspruch 7 oder 8, dadurch gekennzeichnet, dass mit den Speichereinheiten eine Sprungzählschaltung verbunden ist, die ein Sprungzählsignal jeweils dann abgibt, wenn die Zählereinrichtung eine volle Speichereinheit adressiert und v/enn eine leere Speichereinheit verfügbar ist, und dass zwischen der Sprungzählschaltung und der Zählereinrichtung eine Zählereinstellschaltung (95) eingefügt ist, die die Zählereinrichtung veranlasst, in der Zählerstellung in dem Fall weiterzurücken, dass ein Sprungzählsignal gebildet ist.509843/0832SYLeerseite
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/459,504 US3979726A (en) | 1974-04-10 | 1974-04-10 | Apparatus for selectively clearing a cache store in a processor having segmentation and paging |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2515696A1 true DE2515696A1 (de) | 1975-10-23 |
DE2515696C2 DE2515696C2 (de) | 1984-09-06 |
Family
ID=23825057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2515696A Expired DE2515696C2 (de) | 1974-04-10 | 1975-04-10 | Datenverarbeitungssystem |
Country Status (6)
Country | Link |
---|---|
US (1) | US3979726A (de) |
JP (1) | JPS50138738A (de) |
CA (1) | CA1033464A (de) |
DE (1) | DE2515696C2 (de) |
FR (1) | FR2267588B1 (de) |
GB (1) | GB1494365A (de) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3138972A1 (de) * | 1981-09-30 | 1983-04-14 | Siemens AG, 1000 Berlin und 8000 München | Onchip mikroprozessorchachespeichersystem und verfahren zu seinem betrieb |
US5809274A (en) * | 1985-03-15 | 1998-09-15 | Hitachi, Ltd. | Purge control for ON-chip cache memory |
USRE38651E1 (en) * | 1994-05-18 | 2004-11-09 | Altera Corporation | Variable depth and width memory device |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5226124A (en) * | 1975-08-22 | 1977-02-26 | Fujitsu Ltd | Buffer memory control unit |
FR2348544A1 (fr) * | 1976-04-15 | 1977-11-10 | Honeywell Bull Soc Ind | Ensemble double de memoire associative |
US4096568A (en) * | 1976-09-24 | 1978-06-20 | Sperry Rand Corporation | Virtual address translator |
US4197580A (en) * | 1978-06-08 | 1980-04-08 | Bell Telephone Laboratories, Incorporated | Data processing system including a cache memory |
US4277826A (en) * | 1978-10-23 | 1981-07-07 | Collins Robert W | Synchronizing mechanism for page replacement control |
DE2947115A1 (de) * | 1978-12-11 | 1980-06-26 | Honeywell Inf Systems | Loeschanordnung fuer einen cache- speicher eines prozessors in einem multiprozessorsystem |
US4282572A (en) * | 1979-01-15 | 1981-08-04 | Ncr Corporation | Multiprocessor memory access system |
US4298929A (en) * | 1979-01-26 | 1981-11-03 | International Business Machines Corporation | Integrated multilevel storage hierarchy for a data processing system with improved channel to memory write capability |
US4264953A (en) * | 1979-03-30 | 1981-04-28 | Honeywell Inc. | Virtual cache |
US4471429A (en) * | 1979-12-14 | 1984-09-11 | Honeywell Information Systems, Inc. | Apparatus for cache clearing |
FR2472232B1 (fr) * | 1979-12-14 | 1988-04-22 | Honeywell Inf Systems | Dispositif et procede d'effacement d'antememoire |
US4386402A (en) * | 1980-09-25 | 1983-05-31 | Bell Telephone Laboratories, Incorporated | Computer with dual vat buffers for accessing a common memory shared by a cache and a processor interrupt stack |
US4400774A (en) * | 1981-02-02 | 1983-08-23 | Bell Telephone Laboratories, Incorporated | Cache addressing arrangement in a computer system |
JPS58147879A (ja) * | 1982-02-26 | 1983-09-02 | Toshiba Corp | キヤツシユメモリ制御方式 |
US4567578A (en) * | 1982-09-08 | 1986-01-28 | Harris Corporation | Cache memory flush scheme |
US4714990A (en) * | 1982-09-18 | 1987-12-22 | International Computers Limited | Data storage apparatus |
EP0128945B1 (de) * | 1982-12-09 | 1991-01-30 | Sequoia Systems, Inc. | Sicherstellungsspeichersystem |
US4819154A (en) * | 1982-12-09 | 1989-04-04 | Sequoia Systems, Inc. | Memory back up system with one cache memory and two physically separated main memories |
US4701844A (en) * | 1984-03-30 | 1987-10-20 | Motorola Computer Systems, Inc. | Dual cache for independent prefetch and execution units |
FR2571163B1 (fr) * | 1984-09-28 | 1989-02-10 | Nec Corp | Systeme de traitement de donnees pour traitement de vecteurs ayant un ensemble de commande d'invalidation d'antememoire. |
US5241638A (en) * | 1985-08-12 | 1993-08-31 | Ceridian Corporation | Dual cache memory |
US4755936A (en) * | 1986-01-29 | 1988-07-05 | Digital Equipment Corporation | Apparatus and method for providing a cache memory unit with a write operation utilizing two system clock cycles |
US5349672A (en) * | 1986-03-17 | 1994-09-20 | Hitachi, Ltd. | Data processor having logical address memories and purge capabilities |
US5237671A (en) * | 1986-05-02 | 1993-08-17 | Silicon Graphics, Inc. | Translation lookaside buffer shutdown scheme |
US4885680A (en) * | 1986-07-25 | 1989-12-05 | International Business Machines Corporation | Method and apparatus for efficiently handling temporarily cacheable data |
US4833601A (en) * | 1987-05-28 | 1989-05-23 | Bull Hn Information Systems Inc. | Cache resiliency in processing a variety of address faults |
US5214770A (en) * | 1988-04-01 | 1993-05-25 | Digital Equipment Corporation | System for flushing instruction-cache only when instruction-cache address and data-cache address are matched and the execution of a return-from-exception-or-interrupt command |
EP0362366B1 (de) * | 1988-04-01 | 1995-09-13 | Digital Equipment Corporation | Befehlscachespeicher mit flush-on-rei-steuerung |
US5222224A (en) * | 1989-02-03 | 1993-06-22 | Digital Equipment Corporation | Scheme for insuring data consistency between a plurality of cache memories and the main memory in a multi-processor system |
US5041962A (en) * | 1989-04-14 | 1991-08-20 | Dell Usa Corporation | Computer system with means for regulating effective processing rates |
JPH0748190B2 (ja) * | 1990-01-22 | 1995-05-24 | 株式会社東芝 | キャッシュメモリ内蔵マイクロプロセッサ |
WO1992007323A1 (en) * | 1990-10-12 | 1992-04-30 | Intel Corporation | Cache controller and associated method for remapping cache address bits |
GB9118312D0 (en) * | 1991-08-24 | 1991-10-09 | Motorola Inc | Real time cache implemented by dual purpose on-chip memory |
JP3242161B2 (ja) * | 1992-09-11 | 2001-12-25 | 株式会社日立製作所 | データプロセッサ |
AU2663095A (en) * | 1994-06-10 | 1996-01-05 | Sequoia Systems, Inc. | Main memory system and checkpointing protocol for fault-tolerant computer system |
US6256694B1 (en) * | 1994-06-30 | 2001-07-03 | Compaq Computer Corporation | Distributed early arbitration |
JP3086779B2 (ja) * | 1995-06-19 | 2000-09-11 | 株式会社東芝 | メモリ状態復元装置 |
US5737514A (en) * | 1995-11-29 | 1998-04-07 | Texas Micro, Inc. | Remote checkpoint memory system and protocol for fault-tolerant computer system |
US5864657A (en) * | 1995-11-29 | 1999-01-26 | Texas Micro, Inc. | Main memory system and checkpointing protocol for fault-tolerant computer system |
US5751939A (en) * | 1995-11-29 | 1998-05-12 | Texas Micro, Inc. | Main memory system and checkpointing protocol for fault-tolerant computer system using an exclusive-or memory |
US5745672A (en) * | 1995-11-29 | 1998-04-28 | Texas Micro, Inc. | Main memory system and checkpointing protocol for a fault-tolerant computer system using a read buffer |
JP2656765B2 (ja) * | 1996-01-16 | 1997-09-24 | 株式会社日立製作所 | データ処理装置 |
TW379298B (en) * | 1996-09-30 | 2000-01-11 | Toshiba Corp | Memory updating history saving device and memory updating history saving method |
JP3620181B2 (ja) * | 1996-12-05 | 2005-02-16 | 富士通株式会社 | 半導体装置及びリードアクセス方法 |
US6157981A (en) * | 1998-05-27 | 2000-12-05 | International Business Machines Corporation | Real time invariant behavior cache |
US6886063B1 (en) * | 1999-11-10 | 2005-04-26 | Digi International, Inc. | Systems, devices, structures, and methods to share resources among entities |
US6581142B1 (en) * | 2000-09-01 | 2003-06-17 | International Business Machines Corporation | Computer program product and method for partial paging and eviction of microprocessor instructions in an embedded computer |
JP2018013951A (ja) * | 2016-07-21 | 2018-01-25 | 京セラドキュメントソリューションズ株式会社 | 電子機器及び情報更新プログラム |
WO2020167234A1 (en) * | 2019-02-14 | 2020-08-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and devices for controlling memory handling |
US11074194B2 (en) * | 2019-02-21 | 2021-07-27 | International Business Machines Corporation | Managing direct memory access |
CN112328587A (zh) * | 2020-11-18 | 2021-02-05 | 山东健康医疗大数据有限公司 | ElasticSearch的数据处理方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3588839A (en) * | 1969-01-15 | 1971-06-28 | Ibm | Hierarchical memory updating system |
US3800292A (en) * | 1972-10-05 | 1974-03-26 | Honeywell Inf Systems | Variable masking for segmented memory |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3588829A (en) * | 1968-11-14 | 1971-06-28 | Ibm | Integrated memory system with block transfer to a buffer store |
US3800286A (en) * | 1972-08-24 | 1974-03-26 | Honeywell Inf Systems | Address development technique utilizing a content addressable memory |
US3800291A (en) * | 1972-09-21 | 1974-03-26 | Ibm | Data processing system memory relocation apparatus and method |
US3848234A (en) * | 1973-04-04 | 1974-11-12 | Sperry Rand Corp | Multi-processor system with multiple cache memories |
US3840862A (en) * | 1973-09-27 | 1974-10-08 | Honeywell Inf Systems | Status indicator apparatus for tag directory in associative stores |
US3845474A (en) * | 1973-11-05 | 1974-10-29 | Honeywell Inf Systems | Cache store clearing operation for multiprocessor mode |
US3896419A (en) * | 1974-01-17 | 1975-07-22 | Honeywell Inf Systems | Cache memory store in a processor of a data processing system |
-
1974
- 1974-04-10 US US05/459,504 patent/US3979726A/en not_active Expired - Lifetime
-
1975
- 1975-03-06 GB GB9417/75A patent/GB1494365A/en not_active Expired
- 1975-04-09 CA CA224,259A patent/CA1033464A/en not_active Expired
- 1975-04-09 FR FR7511095A patent/FR2267588B1/fr not_active Expired
- 1975-04-10 JP JP50043883A patent/JPS50138738A/ja active Pending
- 1975-04-10 DE DE2515696A patent/DE2515696C2/de not_active Expired
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3588839A (en) * | 1969-01-15 | 1971-06-28 | Ibm | Hierarchical memory updating system |
US3800292A (en) * | 1972-10-05 | 1974-03-26 | Honeywell Inf Systems | Variable masking for segmented memory |
Non-Patent Citations (2)
Title |
---|
dito, 1970, S.95-103 * |
Elektronische Rechenanlagen 1968, S.135-140 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3138972A1 (de) * | 1981-09-30 | 1983-04-14 | Siemens AG, 1000 Berlin und 8000 München | Onchip mikroprozessorchachespeichersystem und verfahren zu seinem betrieb |
US5809274A (en) * | 1985-03-15 | 1998-09-15 | Hitachi, Ltd. | Purge control for ON-chip cache memory |
USRE38651E1 (en) * | 1994-05-18 | 2004-11-09 | Altera Corporation | Variable depth and width memory device |
Also Published As
Publication number | Publication date |
---|---|
DE2515696C2 (de) | 1984-09-06 |
JPS50138738A (de) | 1975-11-05 |
US3979726A (en) | 1976-09-07 |
CA1033464A (en) | 1978-06-20 |
GB1494365A (en) | 1977-12-07 |
FR2267588A1 (de) | 1975-11-07 |
FR2267588B1 (de) | 1978-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2515696A1 (de) | Anordnung zum selektiven loeschen von teilen beziehungsweise zum ersatz von daten in einem cache-speicher | |
DE69133302T2 (de) | Registerabbildung in einem einzigen Taktzyklus | |
DE3151745C2 (de) | ||
EP0013737B1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE2501853A1 (de) | Prozessor fuer ein datenverarbeitungssystem | |
DE2331589A1 (de) | Datenverarbeitungsanordnung | |
DE3102150A1 (de) | "schaltungsanordnung mit einem cachespeicher fuer eine zentraleinheit einer datenverarbeitungsanlage | |
CH650600A5 (de) | Zentralprozessoreinheit einer datenverarbeitungsanlage mit operationscode-erweiterungsregister. | |
DE2117936A1 (de) | Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems | |
DE2746505C2 (de) | ||
DE2441754A1 (de) | Prozessor-datenuebertragungssteueranordnung sowie verfahren zur steuerung der datenuebertragung eines prozessors | |
DE2718110A1 (de) | Datenverarbeitungseinheit | |
EP0010186B1 (de) | Vorrichtung zum Bearbeiten bezeichneter Hinweise | |
DE1285219B (de) | Steuerwerk zur Ausfuehrung von Unterprogrammen | |
DE2640357A1 (de) | Wortgruppenprioritaetsanordnung | |
DE2926322A1 (de) | Speicher-subsystem | |
DE2744359C2 (de) | ||
EP1352318B1 (de) | Mikroprozessorschaltung für tragbare datenträger | |
DE1285218B (de) | Datenverarbeitungsanlage | |
CH495584A (de) | Datenverarbeitungsanlage | |
DE3000012A1 (de) | Schaltungsanordnung zur ausfuehrung eines uebertragungsbefehls in einer datenverarbeitungsanlage | |
DE2747304A1 (de) | Einrichtung zur mikrobefehlssteuerung | |
DE2458777C2 (de) | Schaltungsanordnung zur Textverarbeitung | |
DE2000608C3 (de) | Schaltungsanordnung fuer eine Nachrichtenverarbeitungs-,insbesondere fuer eine Nachrichtenvermittlungsanlage | |
DE1296429B (de) | Datenbearbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |