DE3102150A1 - "schaltungsanordnung mit einem cachespeicher fuer eine zentraleinheit einer datenverarbeitungsanlage - Google Patents

"schaltungsanordnung mit einem cachespeicher fuer eine zentraleinheit einer datenverarbeitungsanlage

Info

Publication number
DE3102150A1
DE3102150A1 DE19813102150 DE3102150A DE3102150A1 DE 3102150 A1 DE3102150 A1 DE 3102150A1 DE 19813102150 DE19813102150 DE 19813102150 DE 3102150 A DE3102150 A DE 3102150A DE 3102150 A1 DE3102150 A1 DE 3102150A1
Authority
DE
Germany
Prior art keywords
data
address
level
memory
identification
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
DE19813102150
Other languages
English (en)
Other versions
DE3102150C2 (de
Inventor
Richard J. 85027 Phoenix Ariz. Fisher
Ronald E. 85021 Phoenix Ariz. Lange
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.)
Intel Corp
Original Assignee
Honeywell Information Systems Italia SpA
Honeywell Information Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell Information Systems Italia SpA, Honeywell Information Systems Inc filed Critical Honeywell Information Systems Italia SpA
Publication of DE3102150A1 publication Critical patent/DE3102150A1/de
Application granted granted Critical
Publication of DE3102150C2 publication Critical patent/DE3102150C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0822Copy directories
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • G06F12/125Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list being generated by decoding an array or storage

Landscapes

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

Description

Beschreibung
Ein großer Anteil der von einer Zentraleinheit (CPU) beim Ablauf eines Programmes ausgeführten Operationen umfaßt das Abholen von Daten aus einem Hauptspeicher und das Abspeichern von Daten in dem Hauptspeicher. In Mehrprozessorsystemen, in denen mehrere Zentraleinheiten sich einen gemeinsamen Speicher teilen, kommt es häufig vor, daß ein oder mehrere Prozessoren gezwungen sind, auf einen Zugriff zum Hauptspeicher zu warten, während ein anderer Prozessor den Speicher mit einer Lese- oder Schreiboperation an sich gebunden hat. Es ist offensichtlich geworden, daß die Gesamt-Verarbeitungsgeschwindigkeit gesteigert werden könnte, wenn jeder Prozessor seinen eigenen privaten Notizblockspeicher bzw. Cachespeicher für die Speicherung von Daten hätte, aus denen er eine Information entnehmen könnte.
Damit war der Notizblock- bzw. Cachespeieher geboren. Frühe Versionen eines derartigen Speichers sind in der US-PS 38 66 183 angegeben worden. Für derartige Speicher ist eine "Nachschau"-Konfiguration gewählt worden, gemäß der ein Speicherzugriffszyklus gestartet wurde, während der Cachespeicher gleichzeitig überprüft wurde. Wenn die geforderten Daten im Cachespeicher vorhanden waren, dann wurde der Speicherzyklus abgebrochen, und die Daten wurden aus dem Cachespeicher entnommen. Auf diese Art und Weise war keine Zeit beim Absuchen des Cachespeichers vor Beginn eines Speicherzugriffs verloren. Die Operationen des Cachespeichers waren für die Zentraleinheit als "unsichtbar" bezeichnet.
Eine spätere, in der US-PS 38 45 474 beschriebene Version lehrte einen Cachespeicher mit einer Löschanordnung für den Einsatz in Multiprozessorsystemen. Dieser Cachespeicher
1300S1/0469
löschte sich jeweils vollständig selbst, wenn sein Prozessor in das gemeinsame Betriebssystemmodul eintrat, bzw. zu diesem zugriff, welches von sämtlichen Prozessoren geteilt wurde. Außerdem wurde der gesamte Cachespeicher jeweils dann gelöscht, wenn der Prozessor eine externe Unterbrechung bediente, wie in dem Fall, daß Daten in den Hauptspeicher vom Hintergrundspeicher eingebracht wurden. Diese Anordnung rief eine übermäßige Löschung des Cachespeichers und eine Verlangsamung von Operationen des Prozessors dadurch hervor, daß mehrere Zugriffe zu 'dem Hauptspeicher erforderlich wurden, und zwar aufgrund eines geringen "Treffer"-Verhältnisses. Dies bedeutet, daß die Wahrscheinlichkeit des Auffindens der gewünschten Daten in dem Cachespeicher wegen der Häufigkeit der Gesamtlöschung des Cachespeichers geringer war. In diesem Zusammenhang ist außerdem ein "Umlauf"-Zähler beschrieben worden, der die Cachepeicher-Schreiboperationen steuert. Der erste in den Cachespeicher eingeschriebene Datenanteil wird in einem ersten Bereich eines bestimmten Speicherblockes des Cachespeichers gespeichert, und dessen zugehörige Identifizierungs-Adressbits werden der entsprechenden ersten Ebene der entsprechenden Spalte des Inhaltsverzeichnisses bzw. der Adressliste abgespeichert. Danach wird jeder nachfolgend eintreffende Datenteil in der nächsten Speicherstelle abgespeichert. Demgemäß werden bei einem vier Ebenen umfassenden Cachespeicher eintreffende Daten in den Bereich 1, 2, 3, 4, 1 ... abgespeichert. Wie ohne weiteres einzusehen sein dürfte, berücksichtigt dieses Schema nicht die relative Häufigkeit der Ausnutzung der vier Ebenen, so daß das am häufigsten benutzte Datenwort in einer bestimmten Reihe von Blöcken durch ein eintreffendes Datenwort ersetzt werden könnte, nachdem der Cachespeicher nicht erfolgreich angesteuert worden ist.
130051/0469
Kürzlich ist an anderer Stelle (US-Patentanmeldung vom 11. 12. 1978, Ser.-No. 968, 223) eine Einrichtung beschrieben worden, mit deren Hilfe ein unnötiges Löschen des Cachespeichers beseitigt wird. In diesem Zusammenhang ist eine Anordnung beschrieben worden, gemäß der eine Doppel-Adressliste bzw. ein Doppel-Inhaltsverzeichnis dazu herangezogen wird, die Identifizierungsadressen der Daten in dem Cachespeicher mit den Identifizierungsadressen der Daten in dem Hauptspeicher zu vergleichen, die durch einen anderen Prozessor in dem System geändert worden sind. Wenn eine Übereinstimmung festgestellt wird, wurde der Speicherplatz der ungültigen Daten in dem Cachespeicher als leer markiert. Dieses Prinzip bringt einen Vorteil insoweit mit sich, als eine wesentliche unnötige Löschung des Cachespeichers vermieden wird und als in dem betreffenden Ausmaß die Arbeitsgeschwindigkeit gesteigert wird. Trotz der Ausnutzung des Umlaufprinzips zur Vornahme neuer Einträge in den Cachespeicher blieb dabei das Problem des Ersatzes von häufig benutzten Daten von dem Cachespeicher dennoch ungelöst.
Eine Anordnung zur hierarchischen Speicherung von Daten, die aus einem Speicher abgeholt werden, nachdem das Abholen aus einem Cachespeicher erfolglos gewesen ist, ist in der US-PS 3 967 247 beschrieben worden. Dabei ist zumindest ein kürzlich benutztes Prinzip beschrieben, mit dessen Hilfe Daten aus dem Cachespeicher auf einen Abruf der Daten aus dem Hauptspeicher verschoben werden, nachdem ein Zugriff zu dem Cachespeicher erfolglos war. Dabei ist jeder der vier Ebenen des Cachespeichers ein zwei Bit umfassendes Identifizierungskennzeichen zugehörig, um die relativen Zeiten der letzten Bezugnahme auf den jeweiligen Datenteil zu kennzeichnen. Nach jeder
130051/0469
Übereinstimmung überprüft ein Netzwerk aus Vergleichern die übereinstimmende Ebene und die sogenannten Alter-Bits der jeweiligen Ebene. Das Netzwerk aktualisiert dann die Alter-Bits bezüglich der jeweiligen Ebene unter Verwendung eines Addierernetzwerks . Dieser AlgorJUthmus ist dabei verschieden von dem gemäß der vorliegenden Erfindung benutztem AlgonJUthmus, und außerdem ist die dabei realisierte Hardware komplizierter, langsamer und teurer.
Damit besteht eine Forderung nach einem Cachespeicher, der für die Verwendung in einem Multiprozessorsystem geeignet ist und der nicht jedes Mal dann vollständig gelöscht wird, wenn ein weiterer Prozessor ein Datenwort im Hauptspeicher geändert hat und bei dem lediglich erst der gerade benutzte Datenposten in einer Spalte von Daten verschoben wird, nachdem der Cachespeicher erfolglos beansprucht worden ist.
Der Erfindung liegt demgemäß die Aufgabe zugrunde, einen Weg zu zeigen, wie auf relativ einfache Weise eine Anordnung auszubilden ist, die die vorstehend bezeichnete Forderung zu erfüllen imstande ist.
Gelöst wird die vorstehend aufgezeigte Aufgabe durch die in den Patentansprüchen erfaßte Erfindung.
Obwohl die Erfindung in einer komplexen Anordnung von Hardwareelementen verkörpert ist, ist die erfindungsgemäße Idee selbst einfacher darstellbar. Grundsätzlich besteht der Gedanke darin, die Geschwindigkeit und die Genauigkeit bekannter Cachespeicheranordnungen dadurch zu steigern, daß das Trefferverhältnis erhöht wird und daß selektiv lediglich diejenige Information in dem Cache-
130051/0469
speicher gelöscht wird, die in dem Hauptspeicher im Anschluß an die Abspeicherung in dem Cachespeicher geändert worden ist. Die Steigerung des Trefferverhältnisses bedeutet eine Erhöhung des Verhältnisses der Zugriffsanforderungen nach Daten von einer Zentraleinheit, welche Daten in dem Hochgeschwindigkeits-Cachespeicher ermittelt worden sind. Dadurch ist es unnötig, irgendeinen Zugriff zu dem langsameren Hauptspeicher vorzunehmen. Das selektive Löschen hat eine Bedeutung lediglich in einem Multiprozessorsystem, bei dem zwei oder mehr Zentraleinheiten sich einen gemeinsamen Hauptspeicher teilen. In einem solchen Falle kann eine Zentraleinheit einen Datenteil in dem Hauptspeicher aktualisieren, der in dem Cachespeicher eines oder mehrerer der übrigen Zentraleinheiten des Systems gespeichert ist. Da keine Korrespondenz zwischen diesem Datenposten in dem Hauptspeicher und in dem Cachespeicher mehr vorhanden ist, müssen die ungültigen Daten als in irgendeinem Speicher, in welchem sie gespeichert sind, als nicht vorhanden angezeigt werden. Jede Zentraleinheit, die diese Daten zu verwenden wünscht, wird dann gezwungen, zum Hauptspeicher zuzugreifen, wodurch die meisten im Umlauf befindlichen Daten erhalten werden.
Eine weitere Geschwindigkeitszunahme wird durch Konfiguration des Cachespeichers in einer "Nachschau"-Beziehung zu den anderen Einheiten in der Zentraleinheit erzielt. Unter "Nachschauen" wird hier verstanden, daß der Cachespeicher sich in einer Beziehung mit dem übrigen Teil der Zentraleinheit befindet, so daß die Abfrage der Cachespeicher-Adressliste gleichzeitig mit der Vorbereitung seitens der Zentraleinheit auftritt, einen Anschluß auszuwählen und über den betreffenden Anschluß zum Hauptspeicher zuzugreifen. Dabei braucht bei dieser Anordnung keine Verzöge-
130051/0469
rung beim Zugriff zum Hauptspeicher aufzutreten, während die Cachespeicher-Adressliste abgefragt wird. In dem Fall, daß ein "Treffer" in dem Cachespeicher auftritt, wird das diesen Umstand anzeigende Signal tatsächlich dazu herangezogen, den Beginn eines Speicherzugriffs überhaupt zu verhindern. Die Auswirkung einer derartigen Anordnung besteht darin, daß die Operation der Cachespeicheranordnung für die Zentraleinheit insofern unsichtbar gemacht ist, als eine kurze oder gar keine Zeit für die Zentraleinheit hinsichtlich des Abrufens von Daten aufgrund des Vorhandenseins des Cachespeichers vorhanden ist.
Ein erhöhtes Trefferverhältnis setzt sich um in eine erhöhte Geschwindigkeit der Datenwiederbereitstellung durch die Zentraleinheit, da die Cachespeichereinheit mit schneller arbeitenden Chips aufgebaut ist, als sie im Hauptspeicher verwendet sind. Dieses erhöhte Trefferverhältnis ist durch die Ausnutzung eines erst kürzlich angewandten Prinzips der Aktualisierung des Cachespeichers und durch die Ausnutzung einer selektiv arbeitenden Löschanordnung erzielt worden. Das durch die bisher bekannten Umlaufzähler auferlegte Problem wird dabei dadurch gelöst, daß eine Aufzeichnung der Ebene in dem Cachespeicher vorgenommen wird, die erst zuvor benutzt worden ist. Die eintreffenden Daten werden dann in der ersten zuvor benutzten Ebene gespeichert. Das Trefferverhältnis sollte unter Ausnutzung dieses Prinzips steigen und steigt auch.
Eine höhere Geschwindigkeit und eine höhere Genauigkeit werden durch eine selektive Löschanordnung erzielt. Das Problem des übermäßigen Löschens wird bei der vorliegenden Erfindung dadurch beseitigt, daß an der Idee einer selektiven Löschanordnung festgehalten wird, welche die Adressen der Daten in dem Hauptspeicher aufnimmt, die
130051/0469
durch eine andere Zentraleinheit geändert worden sind, und die diese Adressen mit den Adressen der in dem Cachespeicher enthaltenen Daten vergleicht. Bei Auftreten irgendeiner Übereinstimmung wird ein Löschsignal erzeugt, welches dazu führt, daß der Datenspeicherplatz in dem Cachespeicher als leerer Speicherplatz in einer Voll/leer-Reihe markiert wird. Diese Anordnung steigert das Trefferverhältnis dadurch, daß die Wahrscheinlichkeit erhöht wird, gemäß der ein einmal in dem Cachespeicher gespeicherter Datenteil in dem Cachespeicher noch enthalten ist.
In der einfachsten Ausführungsform der Erfindung für den Einsatz in einem eine einzelne Zentraleinheit umfassenden Datenverarbeitungssystem ist eine Cachespeichereinrichtung vorgesehen, die für die Speicherung und für den Zugriff zu einer Vielzahl von Datenwörtern herangezogen wird, die von der Zentraleinheit bei deren Operationen verwendet werden. Diese Datenwörter können Befehlsbzw. Instruktions-Operationscodes, Operanden und Adressen sein und in einer Vielzahl von Speicherbereichen gespeichert sein, deren jeder in eine Vielzahl von Blökken unterteilt ist.
Eine Adresslisteneinrichtung wird dazu herangezogen, die in der Cachespeichereinrichtung gespeicherten Daten zu indizieren, indem dreizehn Identifizierungs-Adressbits der absoluten Adresse gespeichert werden, die den Speicherplatz der betreffenden Daten im Hauptspeicher identifizieren bzw. kennzeichnen. Diese Identifizierungs-Adressbits werden in einer Speicherstelle der Adresslisteneinrichtung gespeichert, die dem bestimmten Block zugehörig ist und diesem entspricht, in welchem die zugehörigen Daten gespeichert sind. Dabei können weniger oder mehr als drei-
130051/0469
zehn Bits verwendet werden. Die Adresslisteneinrichtung ist in einer Vielzahl von Ebenen organisiert, wobei jede Ebene einem Bereich der Cachespeichereinrichtung entspricht. Jede Ebene ist ihrerseits in eine Vielzahl von Spalten unterteilt, deren jede einer Reihe von Blöcken der Cachespeichereinrichtung entspricht. Dies bedeutet, daß so viele Blöcke in einem Bereich des Cachespeichers vorhanden sind, wie Spalten in einer Ebene der Haupt-Adressliste vorhanden sind. Die Anzahl der Ebenen in einer Spalte entspricht genau der Anzahl der Bereiche in der Cachespeichereinrichtung. Der Zweck der Haupt-Adresslisteneinrichtung besteht darin, die Identifizierungs-Adressbits des jeweiligen Datenwortes zu speichern, das in der Cachespeichereinrichtung gespeichert ist, und diese Identifizierungs-Adressbits mit den Identifizierungs-Adressbits der absoluten Adresse der Daten zu vergleichen, die von der Zentraleinheit angefordert sind. Ein Übereinstimmungssignal wird dabei dann erzeugt, wenn die angeforderten Daten in der Cachespeichereinrichtung vorhanden sind.
Schließlich ist eine Steuereinrichtung für die Aufnahme und Speicherung von Aktualisierungsdaten auf die Ausnutzung der Ebenen sämtlicher Spalten und zur Bestimmung der jeweils zuvor benutzten Ebene in der Haupt-Adresslisteneinrichtung für den Fall, daß keine Übereinstimmung auftritt, vorgesehen. Diese Anordnung bewirkt außerdem, daß die angeforderte Information aus dem Hauptspeicher abgeholt und an die Zentraleinheit auf einen fehlerhaften Zugriff zu dem Cachespeicher abgegeben wird. Zur gleichen Zeit, zu der die abgerufenen Daten an die Zentraleinheit abgegeben werden, werden diese Daten in der Cachespeichereinrichtung abgespeichert, und ihre entsprechenden Identifizierungs-Adressbits werden in der gerade zuvor benutzten
130051/0469
Ebene der Haupt-Adressliste gespeichert.
In Multiprozessorsystemen ist die Erfindung durch die vorstehenden Elemente zusätzlich mit einer selektiv arbeitenden Löschanordnung verkörpert. Dieser Mechanismus bzw. diese Anordnung umfaßt eine Doppel-Adresslisteneinrichtung, die in ähnlicher Weise wie die Haupt-Adresslisteneinrichtung organisiert ist. Der Zweck der betreffenden Doppel-Adresslisteneinrichtung besteht darin, dieselbe indizierte Information zu speichern, wie sie in der Haupt-Adressliste gespeichert ist, und diese Identifizierungs-Adressbits mit den Identifzierungs-Adressbits der absoluten Adressen der Daten in dem Hauptspeicher zu vergleichen, die durch eine andere Zentraleinheit in dem System geändert worden sind. Wenn eine Übereinstimmung ermittelt worden ist, die anzeigt, daß ein Datenwort in der Cachespeichereinrichtung nunmehr ungültig ist, so wird diese selektiv arbeitende Löschanordnung ein Löschsignal erzeugen, welches den Speicherplatz der ungültigen Daten als leer markiert.
Anhand von Zeichnungen wird die Erfindung nachstehend beispielsweise näher erläutert.
Fig. 1 zeigt schematisch ein Zwei-Prozessor-Datenverarbeitungssystem, welches sich einen Hauptspeicher teilt.
Fig. 2 zeigt in einem Blockdiagramm den Cachespeicherbereich des jeweiligen Prozessors.
Fig. 3 zeigt den Speicheraufbau, unter Veranschaulichung der Beziehung zwischen den Speicherstellen einer Haupt-Adressliste und den Speicherstellen, in dem Cachespeicher.
130051/0469
Fig. 4 zeigt schematisch eine Schaltungsanordnung, die ein erst seit kurzem benutztes Aktualisierungs-Untersystem verkörpert.
Fig. 5 veranschaulicht in einem Diagramm ein erst kürzlich benutztes Codierungsprinzip.
Fig. 6 zeigt ein Verknüpfungsdiagramm eines FPLA-Chips.
Fig. 7 u. veranschaulichen in Wertetabellen die Über-8 tragungsfunktion der FPLA-Chips.
In heutigen Rechnersystemen werden sehr häufig Multiprozessoren mit einem einzelnen Systemsteuerwerk verbunden, wie dies in Fig. 1 gezeigt ist, um den Durchsatz zu steigern. Die Prozessoren Nr. 1 und Nr. 2 sind jeweils mit dem Systemsteuerwerk 10 verbunden, welches diese Prozessoren mit dem Hauptspeicher 20 verbindet. Jeder Prozessor enthält außerdem seinen eigenen, individuellen Notizblockbzw. Cachespeicher 30, in dem er Daten, Adressen und Befehle bzw. Instruktionen speichert, die er gerade benutzt. Jedem Cachespeicher ist eine Doppel-Adressliste 31 zugehörig, die dazu dient, einen Vergleich zwischen den Daten in dem Cachespeicher des Prozessors Nr. 1 mit den Daten zu ermöglichen, die in dem Speicher 20 durch den Prozessor 2 geändert worden sind, so daß der Prozessor Nr. 1 aus seinem Cachespeicher keine ungültigen Daten aufnimmt, sondern die letzte gebräuchliche Version der betreffenden Daten aus dem Hauptspeicher 20 aufnimmt.Jeder Prozessor weist außerdem eine Operationseinheit 32 auf, die Rechenoperationen und Verknüpfungsoperationen bezüglich Operanden in einem Programm ausführt. Diese Operanden sind zu-
130051/0469
nächst im Hauptspeicher 20 gespeichert und werden aus diesem Speicher herausgeführt, wobei diese Operanden in den Cachespeicher 30 dann eingeschrieben werden, wenn sie zuerst herausgeführt worden sind. Danach können die betreffenden Operanden aus dem Cachespeicher solange entnommen werden, bis die Speicherstellen, in denen die betreffenden Operanden gespeichert sind, als leer markiert sind, und zwar durch eine selektive Löschoperation, oder bis die betreffenden Operanden durch andere Daten ersetzt werden, die aus dem Hauptspeicher 20 infolge einer erfolglosen Ansteuerung des Cachespeichers abgerufen worden sind.
Jeder Prozessor weist außerdem eine Anschlußsteuereinheit 33 auf, die dazu dient, den Datenaustausch zwischen dem Prozessor und dem Hauptspeicher 20 und den übrigen Eingabe/Ausgabe-Peripheriegeräten zu koordinieren, die durch das Eingabe/Ausgabe-Steuerwerk 34 gesteuert werden.
Ein Blockdiagramm der Erfindung ist in Fig. 2 gezeigt. Die absolute Adresse der angeforderten Daten, wie sie durch die Zentraleinheit geliefert wird, wird über einen Schalter 57 in eine Cachespeicher-Adressenverriegelungsschaltung 56 eingeschaltet. Der Kern der Erfindung besteht dabei aus der Kombination dreier Haupt-Untersysteme. Das erste Untersystem wird dazu herangezogen, die vielen Datenwörter, die von der Zentraleinheit bei deren Operationen verwendet werden, abzuspeichern und einen Zugriff zu diesen Datenwörtern vorzunehmen. Der Cachespeicher 40, ein erster Schalter 41, ein zweiter Schalter 42 und eine Datenverriegelungsschaltung 43 bilden den Hauptteil des ersten Untersystems.
Die Organisation dieses ersten Untersystems ist folgende.
130051/0469
Unter Bezugnahme auf Fig. 3 ist ersichtlich, daß der
Cachespeicher 40 aus vier Bereichen besteht, deren jeder in 512 individuell adressierbare Blöcke mit jeweils vier Wörtern unterteilt ist. Jedes Wort weist eine Länge von 36 Bits auf. Der Cachespeicher 40 weist einen 11 Bit breiten Adresseneingang auf,um das auf der Leitung 44 auftreten de Cachespeicher-Adressensignal aufzunehmen, welches die Bits 13 bis 23 der absoluten Adresse der angeforderten
Daten umfaßt. Ein weiterer in Fig. 2 dargestellter Eingang nimmt das Ebenen-Abtastsignal auf der Leitung 45 auf.
Dieses Signal bestimmt zusammen mit dem Cachespeicher-Adressensignal, welcher Bereich und welcher Block die am Dateneingang 46 eintreffenden Daten aufzunehmen hat.
Die auf der Leitung 46 eintreffenden Daten gelangen über den ersten Schalter 41, der zwei Eingänge aufweist. Die in dem Cachespeicher 40 zu speichernden Daten sind Daten, die entweder von einer Zentraleinheits-Speicheroperation oder von einem Abruf aus dem Hauptspeicher nach erfolgloser Ansteuerung des Cachespeichers resultieren. Auf Zentraleinheits-Speicheroperationen hin treten Daten auf der
Leitung 47 auf, während Daten infolge eines Hauptspeicher-Auf ruf Zyklus auf der Leitung 48 auftreten. Der Zweck des Schalters 41 besteht nun darin, auszuwählen, welche Leitung dieser Leitungen mit dem Dateneingang des Cache-Speichers 40 zu verbinden ist. Die Auswahl erfolgt dabei unter der Steuerung einer Cachespeicher-Steuereinrichtung 49, und zwar mittels eines Steuersignals, welches auf der mit "zum ersten Schalter" markierten Leitung auftritt.
Ein zweiter Schalter 42 weist einen gesonderten Dateneingang auf, der mit dem Datenausgang des jeweiligen Bereiches des Cachespeichers 40 verbunden ist. Außerdem weist der betreffende Schalter einen Eingang auf, der mit der Leitung
130051/0469
48 verbunden ist, um aus dem Hauptspeicher infolge einer erfolglosen Ansteuerung des Cachespeichers abgerufene Daten aufzunehmen. Der zweite Schalter 42 weist eine einzelne Datenausgangsleitung 50 mit einer Breite von 72 Bits sowie einen Steuereingang für die Aufnahme eines Blockauswahlsignals auf, welches auf der Leitung 51 von der Cachespeicher-Steuereinrichtung 49 abgegeben wird. Der Zweck des Schalters 4 2 sowie die Funktion des auf der Leitung 51 auftretenden Blockauswahlsignals bestehen darin zu steuern, welche der oben erwähnten Eingangsleitungen zu der einzelnen Ausgangsleitung durchgeschaltet wird. Dies bedeutet, daß die Cachespeicher-Steuereinrichtung 49 ein 72 Bit breites Doppelwortpaar-Ausgangssignal aus irgendeinem der vier Bereiche des Cachespeichers 40 zum Ausgang des zweiten Schalters 42 durchschalten kann, wenn in der betreffenden Ebene ein Treffer ermittelt worden ist. Wenn jedoch eine erfolglose Ansteuerung vorgelegen hat, dann werden die aus dem Hauptspeicher abgerufenen Daten zum Ausgang des zweiten Schalters 42 über die Leitung 48 durchgeschaltet und gleichzeitig werden die betreffenden Daten zum Ausgang des ersten Schalters 41 sowie zum Cachespeicher 40 zum Zwecke der Abspeicherung durchgeschaltet. Die genaue Stelle, an der diese Daten in dem Cachespeicher 40 gespeichert werden, wird durch die auf den Leitungen 44 und 45 auftretenden Signale gesteuert, und zwar in Übereinstimmung mit einem erst gerade benutzten AlgorJLthmus, auf den weiter unten noch näher eingegangen wird.
Die Datenverriegelungsschaltung 43 weist einen Dateneingang auf, der mit der von dem zweiten Schalter 42 herkommenden Leitung 50 verbunden ist, sowie eine Datenausgangsleitung 52, die Daten an die Zentraleinheit abgibt. Außerdem weist die betreffende Verriegelungsschaltung einen Steuer-
130051/0469
eingang auf, dem das über die Leitung 53 von der Cachespeicher-Steuereinrichtung 49 abgegebene Ladesignal zuführbar ist- Der Zweck der Datenverriegelungsschaltung 43 besteht darin, die von dem Cachespeicher 40 abgegebenen oder aus dem Hauptspeicher abgerufenen Daten so lange festzuhalten, bis die Zentraleinheit die Daten lesen kann. Das Laden der Datenverriegelungsschaltung 43 wird durch das auf der Leitung 53 auftretende Ladesignal gesteuert.
Das zweite Untersystem ist durch die Haupt-Adressliste 54, den Vergleicher 55 und die zugehörige Schaltungsanordnung gebildet, die erforderlich ist, um diese Einrichtungen in den Stand zu versetzen, ihre Aufgaben zu erfüllen. Der Zweck der Haupt-Adressliste 54 besteht darin, Identifizierungsadressen zu speichern, welche diejenigen Datenwörter in dem Hauptspeicher identifizieren, die auch in dem Cachespeicher 40 gespeichert sind. Der Vergleicher 55 dient dabei dazu, die in der Haupt-Adressliste 54 gespeicherten Identifizierungsadressen mit den Identifizierungsadressen der Datenwörter zu vergleichen, die von der Zentraleinheit angefordert werden, und eine eine Übereinstimmung angebende Information dann zu erzeugen, wenn das angeforderte Datenwort in dem Cachespeicher 40 vorhanden ist. Die die Übereinstimmung angebende Information zeigt an, welche Ebene des Cachespeichers das angeforderte Datenwort enthält.
Mit dem Begriff "Ebene des Cachespeichers" wird Bezug genommen auf die Gesamtorganisation der Haupt- Adressliste 54 und des Cachespeichers 40. Wie in Fig. 3 veranschaulicht, ist der Cachespeicher 40 in vier Bereiche unterteilt, weshalb auch die Haupt-Adressliste 54 in vier Ebenen unterteilt ist. Aus Fig. 3 geht dabei hervor, daß die Ebene A der Haupt- Adressliste 54 dem Bereich Null des Cachespeichers 40 entspricht, usw.. Da jeder Bereich des Cache-
130051/0469
Speichers 40 in eine Vielzahl von Blöcken unterteilt ist, ist somit jede Ebene der Haupt-Adressliste 54 in eine Vielzahl von Spalten unterteilt. Jede Spalte einer vorgegebenen Ebene entspricht wiederum einem bestimmten Block in dem entsprechenden Bereich. Damit dürfte ersichtlich sein, daß jede Spalte der Haupt-Adressliste 54 vier Ebenen aufweist, deren jede einem Block in einem der vier Bereiche des Cachespeichers 40 entspricht. Jeder Block speichert vier 64-Bit-Wörter. Bei der bevorzugten Ausführungsform sind 512 Blöcke in jedem Bereich des Cachespeichers 40 vorhanden. Damit sind in jedem Bereich 2048 Wörter gespeichert, und jedes Wort hat eine 11-Bit-Adresse.
Das Format der absoluten Adresse der angeforderten Daten, wie sie von der Zentraleinheit bereitgestellt wird, ist in der linken unteren Ecke in Fig. 3 veranschaulicht. Diese absolute Adresse wird über den Schalter 57 gemäß Fig. 2 zu der Cachespeicher-Adressenverriegelungsschaltung 56 durchgeschaltet. Die betreffende Adresse wird dort kurzzeitig abgespeichert, um von den Elementen in der Cachespeicher-Anordnung verwendet zu werden. Der Schalter 57 dient dabei dazu, die Abgabe der absoluten Adressen an die Cachespeicher-Adressenverriegelungsschaltung 56 von anderen Teilen der Datenverarbeitungsanlage, wie von einem Wartungsfeld oder von einer virtuellen Einheit im virtuellen Speicherbetrieb, zu ermöglichen. Die 13 Bits höchster Wertigkeit dieser absoluten Adresse sind die Identifizierungsadressenbits. Diese 13 Bits (0-12) genügen, um 8192 einzelne Datenwörter zu kennzeichnen, deren Anzahl gleich der Anzahl von Datenwörtern ist, die in dem Cachespeicher 40 gespeichert sind. Die nächsten 9 Bits, das sind die Bits 13-21, dienen als Block/Spalten-Adresse. Diese 9 Bits genügen, um 512 verschiedene
130051/0469
Speicherplätze zu kennzeichnen. Die betreffende Zahl entspricht der Anzahl der Blöcke und Spalten in dem Cachespeicher bzw. in der Haupt-Adressliste. Die letzten beiden Bits der 24 Bits umfassenden Adresse sind die Bits 22 und 23. Diese Bits legen fest, welches Wortpaar oder welches einzelne Wort von der Zentraleinheit erwünscht ist. Demgeäß kann die Cachespeicher-Adressenverriegelungsschaltung 56 gemäß Fig. 2 als in drei Bereiche aufgeteilt aufgefaßt werden. Der erste Bereich speichert die 13 Bits der Identifizierungsadresse. Der zweite Bereich und der dritte Bereich speichern die Block/Spalten-Adresse bzw. die 2-Bit-Wortbezeichnungen.
Die Haupt-Adressliste 54 wird mit Identifizierungsadressen über die Leitung 57 geladen, die den Dateneingang der Haupt-Adressliste 54 mit dem ersten Bereich der Cachespeicher-Adressenverriegelungsschaltung 56 verbindet. Der Cachespeicher 40 wird blockweise mit jeweils vier Wörtern geladen, wenn Daten aus dem Hauptspeicher über die Leitung 48 abgerufen werden oder während der Ausführung von Zentraleinheits-Speicheroperationen, und zwar über die Leitung 47. Die Daten werden von dem Hauptspeicher auf eine erfolglose Ansteuerung des Cachespeichers abgerufen, während Zentraleinheits-Speicheroperationen aus verschiedenen Programmbefehlen resultieren. Eine Zentraleinheits-Speicheroperation umfaßt eine gleichzeitige Übertragung eines Datenblockes sowohl in den Hauptspeicher als auch in den Cachespeicher 40.Während des jeweiligen Ladens wird von der Zentraleinheit eine absolute Adresse entweder als Adresse in dem Hauptspeicher, in welchem der Datenblock zu speichern ist, oder als Adresse in dem Hauptspeicher der angeforderten Daten gebildet. Da jeder Datenblock in den Cachespeicher 40 geladen wird, werden die 13 Bits höchster Wertigkeit der absoluten Adresse für diese Daten gleich-
130051/0469
zeitig in die Haupt-Adressliste 54 geladen. Die Spalte der Haupt-Adressliste 54, in die diese Identifizierungsadresse geladen wird, wird durch die Spaltenadressenbits (13-21) der absoluten Adresse bestimmt, die in dem zweiten Bereich der Cachespeicher-Adressenverriegelungsschaltung 56 gespeichert ist. Diese Bits werden dem Lese/Schreib-Adresseneingang der Haupt-Adressliste 54 über die Leitung 58 zugeführt. Die Ebene der ausgewählten Spalte, in der die Identifizierungsadresse gespeichert wird bzw. ist, wird durch die Cachespeicher-Steuereinrichtung 49 durch das über die Leitung 59 abgegebene Ebenen-Abtastsignal gesteuert. In entsprechender Weise wird der Block, in welchem die eintreffenden Daten in dem Cachespeicher 40 gespeichert werden, über die Cachespeicher-Adressenleitung 44 gesteuert, die den zweiten Bereich der Cachespeicher-Adressenverriegelungsschaltung 56 mit dem Lese/Schreib-Adresseneingang des Cachespeichers 40 verbindet. Der Bereich wird durch das auf der Leitung 45 von der Cachespeicher-Steuereinrichtung 49 abgegebene Ebenen-Abtastsignal gesteuert.
Die Wiedergewinnung von Daten aus dem Cachespeicher umfaßt einen Vergleich der Identifizierungsadressen der von der Zentraleinheit angeforderten Daten mit den in der Haupt-Adressliste 54 enthaltenen Identifizierungsadressen. Der zweite Bereich der Cachespeicher-Adressenverriegelungsschaltung 56 vergleicht die Spaltenadresse der angeforderten Daten; er ist mit dem Lese/Schreib-Adresseneingang der Haupt-Adressliste 54 über die Leitung 58 verbunden. Dadurch werden die in den vier Ebenen der ausgewählten Spalte der Haupt-Adressliste gespeicherten Identifizierungsadressen über vier Datenausgangsleitungen 120 an die ersten Dateneingänge des Vergleichers 55 abgegeben. Die zweiten Dateneingänge des Vergleichers 55
130051/0489
sind über die Leitung 60 mit dem ersten Bereich der Cachespeicher-Adressenverriegelungseinrichtung 56 verbunden. Der Vergleicher 55 vergleicht die Identifizierungsadresse der erwünschten Daten mit den in den vier Ebenen der ausgewählten Spalte gespeicherten Identifizierungsadressen; er erzeugt ein die Übereinstimmung zwischen den miteinander verglichenen Adressen angebendes Signal je Ebene, bezüglich der eine Übereinstimmung festgestellt worden ist. Diese Übereinstimmungssignale werden an die Cachespeicher-Steuereinrichtung 49 abgegeben und von dieser dazu herangezogen, das Blockauswahlsignal auf der Leitung 51 zu erzeugen. Dieses Blockauswahlsignal aktiviert den zweiten Schalter 42 in einer solchen Art und Weise, daß die Daten in dem Block und in dem Bereich entsprechend der Übereinstimmungs-Ebene vom Datenausgang des Cachespeichers 4o zu der Datenverriegelungseinrichtung 43 durchgeschaltet werden.
Bei Fehlen bzw. Ausbleiben eines Übereinstimmungssignals von dem Vergleicher 55,erzeugt die Cachespeicher-Steuereinrichtung 49 ein Treffersignal auf der Leitung 62. Dieses Signal gibt der Anschlußsteuereinrichtung 63 an, daß das Abtast-Unterbrechungssignal auf der Leitung 64 zu erzeugen ist, damit der Hauptspeicher veranlaßt wird, die angeforderten Daten abzurufen. Dieses Signal wird an die Systemsteuereinheiten abgegeben, die als Schnittstelleneinheiten zwischen der Zentraleinheit und dem Hauptspeicher wirken.
Wenn die Daten aus dem Hauptspeicher abgeholt sind, treten sie auf der Leitung 48 am Eingang des ersten Schalters 41 auf. Gleichzeitig werden die Daten über die Verlängerung der Leitung 48 zu einem weiteren Dateneingang des zweiten Schalters 42 übertragen. Wenn die Daten abgerufen worden sind, wird das Signal SDA über die Leitung 65 von der Anschlußsteuereinrichtung 63 an die Cachespeicher-Steuer-
130051/0469
einrichtung 49 ausgesendet. Die Cachespeicher-Steuereinrichtung schaltet dann die Daten auf der Leitung 48 über den zweiten Schalter 42 weiter, und zwar durch das auf der Leitung 51 auftretende Blockauswahlsignal. Außerdem bewirkt die betreffende Steuereinrichtung, daß diese Daten in die Datenverriegelungsschaltung 43 durch das auf der Leitung 43 auftretende Ladesignal geladen werden. Schließlich erzeugt die betreffende Steuereinrichtung auf der Leitung 66 ein Datenverfügbarkeitssignal, welches der Zentraleinheit die Meldung gibt, daß die angeforderten Daten nicht in der Datenverriegelungsschaltung 43 vorhanden sind.
Nunmehr sei angenommen, daß eine erfolglose Abrufoperation erfolgt ist und daß die angeforderten Daten aus dem Hauptspeicher abgerufen worden sind und bereitstehen für die Abspeicherung in dem Cachespeicher. Ihre entsprechende Identifizierungsadresse steht für die Abspeicherung in der Haupt-Adressliste bereit. Die Spalten in der Haupt-Aäressliste und des Cachespeichers, in denen diese beiden Größen abgespeichert werden, werden durch den Spaltenadressenteil oder durch den zweiten Teil der Cachespeicher-Adressenverriegelungsschaltung 56 festgelegt. Die Leitung 58 führt die Spaltenauswahlinformation zu der Haupt-Adressliste 54 hin, und die Leitung 44 überträgt dieselbe Information zu dem Cachespeicher 40. Eine Ebene in der Haupt-Adressliste sowie ein Bereich in dem Cachespeicher müssen ebenfalls ausgewählt werden. Die durch das gerade erst benutzte Hardware-Untersystem ausgeführte Prozedur besteht darin, zunächst leere Ebenen zu ermitteln und dort die Daten in dem Fall abzuspeichern, daß eine leere Ebene ermittelt worden ist. Wenn keine leere Ebene vorhanden ist, legt die Cachespeicher-Steuereinrichtung die gerade zuvor benutzte Ebene fest und ersetzt die darin enthaltenen Daten durch
130051/0469
die aus dem Hauptspeicher abgeholten Daten. Eine statistische Untersuchung zeigt, daß ein derartiges Prinzip die Gesamt-Arbeitsgeschwindigkeit der Zentraleinheit gegenüber einem Umlauf-Verschiebungsprinzip erhöht, und zwar mit
Rücksicht darauf, daß der Anteil an erfolglosen Aufrufen bei einer vorgegebenen Anzahl von Speicherzugriffen vermindert ist. Untersuchungen des Rechner-Programmbetriebs zeigen, daß ein Datenwort, welches wesentlich häufiger
benutzt wird, als ein anderes Datenwort, eine höhere Wahrscheinlichkeit dafür mit sich bringt, wiederverwendet zu werden. Da die Speicherchips der Cachespeicheranordnung schneller arbeiten als jene des Hauptspeichers, bedeutet ein höheres Trefferverhältnis, daß ein schnellerer Betrieb erzielt wird.
Das !letztlich erst benutzte Hardeware-Untersystem ist in
Fig. 4 im einzelnen veranschaulicht. Gemäß Fig. 2, 4 und 5 arbeitet das System wie folgt. Zunächst muß die Cachespeicher-Steuereinrichtung 49 eine Überprüfung vornehmen, um festzustellen, ob irgendeine der Ebenen in der ausgewählten Spalte der Haupt-Adressliste 54 als leer markiert ist. Zu diesem Zweck wird die Voll/leer-Speicherreihe 66 abgeprüft. Bei der bevorzugten Ausführungsform ist diese Einrichtung durch eine 4 χ 512-Bit-RAM-Speichermatrix
mit wahlfreiem Zugriff gebildet. Der Schalter 67 ist
mit einem Ausgang an dem Adresseneingang der Voll/leer-Speichermatrix 66 angeschlossen, und mit einem weiteren Ausgang ist er mit dem Dateneingang der Speichermatrix
verbunden. Die Eingangssignale dieses Schalters umfassen ein Voll/leer-Adressensignal, welches die Bits 13-21 der in der Cachespeicher-Adressenverriegelungsschaltung 56
gespeicherten absoluten Adresse umfaßt. Diese Bits aus
dem zweiten Teil der Cachespeicher-Adressenverriegelungsschaltung werden dem Schalter über die Leitung 69 züge-
130051/0469
führt. Dem anderen Eingang des Schalters wird das auf der Leitung 68 von der Cachespeicher-Steuereinrichtung abgegebene Löschsignal zugeführt. Dieses Signal besteht aus zwei Teilen: 9 Bits, die festlegen, welche der 512 Zeilen der Voll/leer-Speichermatrix zu adressieren ist, und 2 Bits, die angeben, welches Bit in der ausgewählten Zeile zu löschen ist. Der Zweck des Schalters 67 besteht darin, entweder die Voll/Ieer-Adresse oder das Löschsignal zum Adresseneingang der Voll/leer-Speichermatrix durchzuschalten. Der Dateneingang der Voll/Ieer-Speichermatrix wird in einen solchen Zustand versetzt, daß das ausgewählte Bit gelöscht wird.
Das Datenausgangssignal der Speichermatrix ist das auf der Leitung 70 auftretende EBENE-F/E-Signal, welches der Cachespeicher-Steuereinrichtung 49 zugeführt wird. Jede Zeile in der Voll/leer-Speichermatrix bzw. -Speicheranordnung 66 entspricht einer Spalte der Haupt-Adressliste 54. Um eine Überprüfung bezüglich leerer Ebenen einer bestimmten Spalte vorzunehmen, bewirkt die Cachespeicher-Steuereinrichtung 49 die Durchschaltung der auf der Leitung 69 auftretenden Voll/Ieer-Adresse über den Schalter 67 zu dem Adresseneingang 71 der Voll/Xeer-Speicheranordnung. Die betreffende Speicheranordnung gibt dann die Daten in der ausgewählten Zeile am Datenausgang wieder, und zwar als das EBENE-F/E-Signal. Sodann wird der betreffende Status jedes dieser vier Bits durch die Cachespeicher-Steuereinrichtung 49 gelesen, um zu bestimmen, ob irgendeine Leerebene in den entsprechenden Spalten der Haupt-Adressliste 54 vorhanden ist. Wenn Leerebenen vorhanden sind, dann wird ein EBENE-Abtastsignal auf der Leitung 59 erzeugt, um die Identifizierungsadresse in dem ersten Teil der Cachespeicher-Adressenverriegelungsschaltung 56 derart zu leiten, daß diese Adresse über die Lei-
130051/0469
tung 57 in die Leerebene der Spalte abgegeben wird, die durch die auf der Leitung 58 auftretende Adresse ausgewählt ist.
Wenn nach Ausführung der obigen Maßnahme keine Leerebene ermittelt worden ist, dann liest die Cachespeicher-Steuereinrichtung 49 die LRU-Speichermatrix, um die gerade erst benutzte Ebene zu bestimmen. Die LRU-Speichermatrix ist eine 6 χ 512-Bit-RAM-Speichermatrix mit wahlfreiem Zugriff bei der bevorzugten Ausführungsform der Erfindung. Der Zweck dieser Speichermatrix besteht darin, eine Vielzahl von Bits zu speichern, die in codierter Form die gerade erst benutzte Ebene der jeweiligen Spalte in der Haupt-Adressliste 54 angeben. Bei der bevorzugten Ausführungsform der Erfindung sind 512 Zeilen vorgesehen, deren jede einer bestimmten Spalte in der Haupt-Adressliste 54 entspricht. Die sechs Bits in der jeweiligen Zeile geben die Anzahl von Kombinationen an, wobei von vier Ereignissen jeweils zwei auftreten. Jedes Bit gibt die relative Zeit der letzten Verwendung zwischen zwei der vier Ebenen in einer bestimmten Spalte der Haupt-Adressliste 54 an.
Unter Bezugnahme auf Fig. 5 dürfte dieses Konzept der relativen Verwendung vollständiger verstanden werden. Dabei sind mehrere Bitmuster dargestellt, die verschiedene Ebenen der Haupt-Adressliste kennzeichnen, welche gerade erst benutzt worden sind. Das erste Bit in jeder Zeile kennzeichnet den Status, wie zwischen den Ebenen A und B (oder 1 und 2) der Haupt-Adressliste bzw. des Cachespeichers. Das zweite Bit kennzeichnet den Status, wie zwischen den Ebenen A und C, und das dritte Bit kennzeichnet den Status, wie zwischen A und D, usw.. Eine Null in irgendeiner bestimmten Bitstelle der betreffenden ersten Ebene ist des-
130051/0469
halb benutzt worden, weil die zweite Ebene als letzte Ebene benutzt worden ist. Eine 1 kennzeichnet die umgekehrte Situation. Demgemäß ist in der Zeile 1 der angegebenen Codes die Ebene A benutzt worden, da/seit die Ebene B zuletzt benutzt worden ist; A ist benutzt worden, da/seit C zuletzt benutzt worden ist, A ist gerade erst gegenüber D benutzt worden, B ist gerade erst gegenüber C benutzt worden, B ist gerade erst gegenüber D benutzt worden bzw. C ist gerade erst gegenüber D benutzt worden. Dieser Code gibt an, daß D die gerade erst benutzte Ebene bezeichnet. Die zweite Code-Ebene gibt an, daß A die letzte erst benutzte Ebene ist, da die Einsen in den ersten drei Bitstellen bedeuten, daß A nicht benutzt worden ist, seit da B oder C oder D zuletzt benutzt worden ist.
Jedesmal dann, wenn eine Übereinstimmung bezüglich einer bestimmten Ebene ermittelt wird, wird der Code für die betreffende Ebene aktualisiert, um anzuzeigen, daß diese Ebene die gerade erst benutzte Ebene ist. Zu diesem Zweck wird das geeignete Bitmuster in die drei Bitstellen der LRU-Speichermatrix für die der betreffenden Spalte entsprechende Zeile eingebracht. Das gespeicherte Bitmuster gibt den Status zwischen der Ubereinstimmungs-Ebene und allen übrigen Ebenen an. Demgemäß wird für eine Übereinstimmung bezüglich der Ebene B eine Eins in die Bits AB eingeführt, und eine Null wird in die Bits BC und CD eingeführt. Dadurch ist angezeigt, daß die Ebene A nicht benutzt worden ist, da/ssib «3e Ebene B zuletzt benutzt worden ist, und daß die Ebene B benutzt worden ist, da/seit die Ebenen C und D zuletzt benutzt worden sind.
Die LRU-Bits werden bei einer erfolglosen Ansteuerung des Cachespeichers ebenfalls aktualisiert, wobei jedoch die Arbeitsablauffolge ein wenig verschieden ist von der
130051/0469
geschilderten Ablauffolge. Zunächst liest die Cachespeicher-Steuereinrichtung 49 die Voll/Ieer-Speichermatrix, um zu bestimmen, ob dort Leerebenen in der ausgewählten Spalte vorhanden sind. Wenn solche vorhanden sind, wird die Leerebene aufgefüllt, und der LRU-Code wird aktualisiert, um die gerade bzw. zuletzt benutzte Ebene zu markieren. Wenn die Daten von dem Hauptspeicher her auftreten, werden sie in demjenigen Bereich des Cachespeichers 40 gespeichert, der der gerade erst benutzten Ebene entspricht. Die entsprechenden Identifizierungsadressbits werden dann in der gerade erst benutzten Ebene der Haupt-Adressliste 54 gespeichert, und die Cachespeicher-Steuereinrichtung 49 aktualisiert die LRU-Bits bezüglich der ausgewählten Spalte, um die für die Speicherung benutzte Ebene als gerade benutzte Ebene zu markieren.
Die Hardware für das LRU-System selbst ist einfach. Gemäß Fig. 4 nimmt die LRU-Verriegelungseinrichtung 73 das LRU-Adresssignal (Bits 13-21) von dem zweiten Teil der in der Cachespeicher-Adressenverriegelungsschaltung 56 gespeicherten absoluten Adresse über die Leitung 74 auf. Die LRU-Verriegelungsschaltung bzw. -Verriegelungseinrichtung dient dazu, die LRU-Adresse am Adresseneingang 75 der LRU-Speichermatrix 72 über die Leitung 76 aufrechtzuerhalten. Das Datenausgangssignal der Speichermatrix ist das LRU-Ebenen-Signal auf der Leitung 77, die mit der Cachespeicher-Steuereinrichtung 49 verbunden ist. Die Cachespeicher-Steuereinrichtung 49 speichert kurzzeitig die sechs LRU-Bits für die adressierte Zeile in Hex-Flip-Flops 78. Eine programmierbare Feld-Verknüpfungsanordnung 79 setzt bei einer erfolglosen Ansteuerung des Cachespeichers - was durch das auf der Leitung 81 auftretende Block-Ladesignal signalisiert wird - die sechs LRU-Bits in die auf der Busleitung 59 auftretenden EBENEN-Abtast-
130051/0469
signale um. Wenn das auf der Leitung 70 auftretende EBENEN-F/E-Signal anzeigt, daß eine Leerebene vorhanden ist, dann leiten die auf der Busleitung 59 auftretenden EBENEN-Abtastsignale jedoch die abgerufenen Daten zu der Leerebene hin. Durch die FPLA-Einrichtung werden außerdem die LRU-Bits aktualisiert, die der Ebene entsprechen, in der gerade eingespeichert worden ist. Diese Aktualisierung wird dadurch erreicht, daß das in Frage kommende Bitmuster in die LRU-Speichermatrix durch die auf der Busleitung 80 auftretenden LRU-Datenaktualisierungssignale eingeschrieben wird. Die LRU-Bits für die beeinflußte Speicherspalte werden dann anzeigen, daß diese Ebene die gerade erst benutzte Ebene ist. Das auf der Leitung 59 auftretende EBENEN-Abtastsignal wird irgendeiner leeren Ebene zugeführt, allerdings dann, wenn das auf der Leitung 70 auftretende EBENEN-F/E-Signal anzeigt, daß irgendwelche leeren Ebenen vorhanden sind. Die programmierbare FeId-Verknüpfungsanordnung 79 wird darüber informiert, daß eine erfolglose Ansteuerung vorgelegen hat, und zwar durch das auf der Leitung 81 auftretende Blockladesignal. Dieses Signal rührt von einem Treffer/Fehler-Identifizierungskennzeichen in einem anderen Teil der nicht näher dargestellten Cachespeicher-Steuereinrichtung.
Es wird angenommen, daß die übrigen Teile der Cachespeicher-Steuereinrichtung für den Durchschnittsfachmann ersichtlich sind. Darüber hinaus wird irgendeine Anordnung von Verknüpfungsgliedern, Flip-Flops und anderen Einrichtungen, welche die Ablauffolge der Ereignisse für das hier beschriebene System zufriedenstellen.
Die auf der Leitung 82 auftretenden Chip-Auswahlausgangssignale werden von der FPLA-Anordnung dazu herangezogen,
430051/0469
individuelle Speicherchips der LRU-Speicheranordnung auszuwählen.
Die auf den Leitungen 83 und 84 auftretenden Freigabesignale 1 bzw. 2 stellen die Chip-Auswahlsignale für die beiden individuellen FPLA-Chips dar, welche die in Fig. 4 dargestellte FPLA-Anordnung 79 bilden. Diese Signale stammen von anderen Teilen der Cachespeicher-Steuereinrichtung.
Wenn eine Übereinstimmung vorliegt bzw. ermittelt worden ist, dann werden die auf der Leitung 85 auftretenden Übereinstimmungs-Signale in die FPLA-Einrichtung eingegeben und in das in Frage kommende LRU-Aktualisierungs-Bitmuster auf der Leitung 80 umgesetzt, um die LRU-Bits bezüglich der Übereinstimmungs-Ebene zu aktualisieren und um damit diese Ebene als die gerade erst benutzte Ebene zu markieren.
In Fig. 6 ist ein Verknüpfungsdiagramm des internen Aufbaus des FPLA-Chips 79 gezeigt. Jedes Schip weist 16 Eingänge und 8 Ausgänge auf. Jeder Ausgang stellt die programmierbare ODER-Funktion von bis zu 48 programmierbaren UND-Funktionen dar, wobei die ODER-Glieder 86 und 87 zwei der acht ODER-Glieder mit 48 Eingängen in dem Chip darstellen. Jeder Eingang des jeweiligen ODER-Gliedes ist über eine schmelzbare Verbindung mit dem Ausgang eines der 48 UND-Glieder verbunden. Jedes UND-Glied weist 32 Eingänge auf, mit denen es über eine schmelzbare Verbindung mit Schaltungspunkten verbunden ist, denen die invertierten bzw. nicht-invertierten Formen jedes der 16 Eingangssignale zugeführt werden. Durch selektives Zerstören gewisser schmelzbarer Verbindungen innerhalb des FPLA-Chips kann ein schnelles und billiges Prioritätsnetzwerk hergestellt werden.
130051/0469
In Fig. 7 und 8 sind die Wertetabellen der FPLA-Chips 79 in der Cachespeicher-Steuereinrichtung 49 veranschaulicht, aus denen die Booleschen Gleichungen abgeleitet werden können, die dazu herangezogen werden, die zu zerstörende Verbindung auszuwählen. Die drei Bereiche auf der linken Seite der in Fig. 8 dargestellten Wertetabelle sind mit HIT, mit LRU bzw. mit HCLR bezeichnet, wodurch die Funktionen gekennzeichnet sind, die der Verarbeitung eines Treffers bzw. einer erfolgreichen Ansteuerung in irgendeiner Ebene, der Bestimmung der gerade erst benutzten Ebene und der vollständigen Löschung des Cachespeichers unter gewissen Voraussetzungen entsprechen. Um die Wertetabelle zu verstehen, muß berücksichtigt werden, daß der Cachespeicher in zwei Hälften unterteilt ist, wobei die Ebenen 1 und 2 die erste Hälfte bilden und wobei die Ebenen 3 und 4 die zweite Hälfte bilden. Diese Anordnung ermöglicht der Zentraleinheit, jede Hälfte des Cachespeichers unabhängig von der anderen Hälfte auszunutzen, so daß Operationen im Fall eines Fehlers in einer Hälfte des Cachespeichers fortgesetzt werden können. So enthält die Funktionszeile Null in Fig. 8 bezüglich der Ausgangsfunktion Nummer 1 bei einem Treffer in der Ebene 1 lediglich einen hohen Pegel für das Bit Sl/2. Die Eingangsgrößen für diese Funktion zeigen, daß der Lade-Block und der Freigabe-Block zwei Blöcke sind, die in dem NICHT-Zustand bzw. negierten Zustand sind und daß das Freigabe-Signal 1 mit hohem Pegel auftritt. Ferner ist ein Treffer in der Ebene 1 vorhanden, was durch den niedrigen Pegel am Treffer 1-Eingang angezeigt wird. Dieses Eingangssignalmuster zeigt an, daß die erste Hälfte des Cachespeichers benutzt wird und daß in der Ebene 1 ein Treffer vorhanden ist. Demgemäß wird die Funktion der FPLA-Chips die Ebene 1 gegenüber der Ebene 2 zu aktualisieren haben, und zwar als gerade erst benutzte Ebene. Das Muster der Ausgangssignale für diesen
130051/0469
Zweck weist folgende Zusammensetzung auf. Aus der Zeile Null in Fig. 7 und 8 geht hervor, daß die Ausgangsfunktionen für die beiden FPLA-Chips bei sämtlichen sechs Chip-Auswahlausgängen mit niedrigem Pegel auftreten. Diese Signale geben sämtliche Speicherchips der LRU-Speicheranordnung frei. Außerdem tritt das Bit Sl/2 der Ausgangsfunktion Nummer 1 gemäß Fig. 8 mit hohem Pegel auf. Dieser hohe Pegel zeigt an, daß die Ebene 1 gerade erst benutzt worden ist und nicht die Ebene 2; dies wird in der LRU-Speicheranordnung 72 gemäß Fig. 4 über die Busleitung 8 0 festgehalten.
In der Zeile 4 der Fig. 7 und 8 ist der Fall veranschaulicht, daß beide Hälften des Cachespeichers in Betrieb sind. Das Blockladesignal tritt mit niedrigem Pegel auf, wodurch angezeigt wird, daß ein Treffer aufgetreten ist. Das Freigabe-Signal 1 und das Freigabe-Signal 2 treten jeweils mit hohem Pegel auf, wodurch angezeigt wird, daß beide Hälften des Cachespeichers in Betrieb sind. Der niedrige Pegel am Eingang Treffer 1 zeigt einen Treffer in der Ebene 1 an. Die drei hohen Signalpegel bezüglich der Bits Sl/2, Sl/3 und Sl/4 zeigen an, daß die Ebene 1 benutzt worden ist, da die Ebenen 2, 3 und 4 zuletzt benutzt worden sind. Es sei hier darauf hingewiesen, daß bei der Erläuterung der Fig. 5 als Beispiel der LRU-Codierung eine Null benutzt worden ist, um anzuzeigen, daß eine Ebene benutzt worden ist, da die andere Ebene zuletzt benutzt worden ist. Es ist vollständig willkürlich, ob eine Null oder eine Eins für diesen Zustand ausgewählt wird.
Die Multiporzessorsysteme sind für einen hohen Durchsatz ausgelegt. Bei derartigen Anordnungen kann ein Prozessor in dem System den Datenaustausch in bzw. mit dem Hauptspeicher vornehmen, wobei die Daten gleichzeitig in dem Cachespeicher eines oder mehrerer der anderen Prozessoren
130051/0469
gespeichert werden. In einem derartigen Falle kann ein Systemfehler dann auftreten, wenn ein Prozessor mit den in seinem Cachespeicher enthaltenen ungültigen Daten sich auf diese Daten bei seinen Operationen bezieht. Um das Auftreten derartiger Systemfehler zu vermeiden, ohne die Cachespeicher-Zugriffsoperationen zu verlangsamen, wird eine selektiv wirkende Löschanordnung gemäß der vorliegenden Erfindung benutzt. Wie oben erwähnt, ist bei den bisher bekannten Systemen eine Löschanordnung verwendet worden, die den gesamten Cachespeicher unter bestimmten Bedingungen gelöscht hat, wenn einige Daten in dem Cachespeicher durch einen anderen Prozessor ungültig gemacht sein konnten. Durch Löschen lediglich derjenigen Speicherplätze, die ungültige Daten enthalten, kann dieses übermäßige Löschen vermieden werden.
Bekannt ist bisher zwar eine selektiv arbeitende Löschanordnung, jedoch nicht in Verbindung mit einem LRU-Untersystem. Das in Fig. 2 dargestellte selektiv wirkende Löschungs-Untersystem umfaßt die Doppel-Adressliste 95, den Vergleicher 96 und die diesen Einrichtungen zugehörigen Eingabe- und Ausgabe-Stapelspeicher. Die Doppel-Adressliste 95 ist in derselben Art und Weise organisiert, wie die Haupt-Adressliste 54. Sie enthält Doppel-Identifizierungsadressen für sämtliche in dem Cachespeicher 40 gespeicherten Daten. Diese Identifizierungsadressen werden in die Doppel-Adressliste 95 zu der gleichen Zeit geladen, zu der sie in die Haupt-Adressliste 54 geladen werden. Dies erfolgt über die Leitung 97, den Puffer 98 und den Schreib-Stapelspeicher 99. Die Leitung 97 verbindet die ersten und zweiten Bereiche der Cachespeicher-Adressenverriegelungsschaltung 56 mit dem Puffer 98. Dies bedeutet, daß dadurch der Puffer 98 mit den Bits 0-21 der absoluten Adresse bezüglich der angeforderten Daten ge-
130051/0469
laden wird. Der Puffer 98 hält diese Adresse so lange fest, bis sie in dem Schreib-Stapelspeicher 99 gespeichert werden kann. Der Schreib-Stapelspeicher weist zwei Ausgänge auf, wodurch jede gespeicherte Adresse in zwei Komponenten aufgeteilt wird. Der erste Ausgang führt die Identifizierungsadressbits 0-12 des Dateneingangssignals der Doppel-Adressliste 95 über die Leitung 100 ab. Der zweite Ausgang gibt die Doppel-Spaltadresse oder -Bits 13-21 der absoluten Adresse an den Adresseneingang der Doppel-Adressliste 95 über die Leitung 101 ab. Das auf der Leitung 102 von der Cachespeicher-Steuereinrichtung 49 abgegebene Doppel-Ebenenabtastsignal dient dazu, die Identifizierungsadressbits in die richtige Ebene der Spalte innerhalb der Doppel-Adressiiste 95 einzuleiten, welche Ebene durch das auf der Leitung 101 auftretende Doppel-Spaltenadresssignal ausgewählt ist.
Um die Speicherstellen zu kennzeichnen, in denen die Daten geändert sind, ist es notwendig, die absoluten Adressen aller derjenigen Datenposten in dem Hauptspeicher zu kennen, die durch andere Prozessoren geändert worden sind. Diese Änderungs-Kennzeichnungsadressen gelangen über die Leitung 103 zu dem Puffer 104. Die betreffenden Adressen werden in einem Änderungs-Kennzeichnungsstapelspeicher 105 gespeichert, so daß die Verarbeitung dieser Adressen asynchron mit der Verarbeitung und mit den anderen Teilen des Cachespeichers erfolgen kann. Der Änderungs-Kennzeichnungsstapelspeicher 105 weist ebenfalls zwei Ausgänge auf, und zwar zum Zwecke der Aufteilung der Adresse in zwei Komponenten. Das erste auf der Leitung 106 auftretende Ausgangssignal führt die Identifizierungsadressbits 0-12 der geänderten Adresse einem ersten Dateneingang des Vergleichers 96 zu. Das auf der Leitung 101 auftretende zweite Ausgangssignal führt die Spaltenadressbits 13-21 dem Adresseneingang
130051/0469
der Doppel-Adressliste 95 zu. Da jede Änderungs-Kennzeichnungsadresse aus dem Stapelspeicher 105 heraus verarbeitet wird, wählen somit die Bits 13-21 dieser Adresse eine bestimmte Spalte der Doppel-Adressliste 95 für die Überprüfung aus. Die Identifizierungsadressen in den vier Ebenen der betreffenden Spalte sind mit den zwei Dateneingängen des Vergleichers 96 über die Leitungen 107 verbunden. Der Vergleicher vergleicht diese Identifizierungsadressen mit der Identifizierungsadresse der Änderungs-Kennzeichnungsadresse. Wenn eine Übereinstimmung ermittelt wird, wird die Übereinstimmungs-Identifizierungsadresse an den die geänderten Spalten betreffenden Stapelspeicher
108 als Doppel-Übereinstimmungssignal über die Leitung
109 abgegeben. Der betreffende Stapelspeicher 108 speichert diese Identifizierungsadresse und die Bits 13-21 der Änderungs-Kennzeichnungsadresse auf der Leitung 101. Die beiden Komponenten werden dann als eine Adresse gespeichert. Die Cachespeicher-Steuereinrichtung 49 liest die geänderten Adressen über die Leitung 110 und erzeugt aus dieser information das auf der Leitung 68 auftretende Löschsignal.
Das Löschsignal wird dazu herangezogen, das Bit in der Voll/Ieer-Speicheranordnung 66 zu löschen, welches der Ebene in der Haupt-Adressliste 54 entspricht, die auf ungültige Daten in dem Cachespeicher 40 hinzeigt.
130051/0469
, - Si.
Leerseite

Claims (1)

  1. DIPL.ING. HEINZ BARDEHLE MüHÄerC:23. i. 1981
    PATENTANWALT
    Aktenzeichen: Mein Zeichen: P 3163
    Patentansprüche
    1.) Schaltungansordnung mit einem Cachespeicher (Notizblockspeicher) für eine Zentraleinheit in einer einen Hauptspeicher enthaltenden Datenverarbeitungsanlage, dadurch gekennzeichnet,
    a) daß eine erste Einrichtung für die Speicherung und für den Zugriff zu einer Vielzahl von Datenwörtern vorgesehen ist, die von der Zentraleinheit ausgenutzt werden, wobei die Datenwörter in einer Vielzahl von Speicherbereichen gespeichert werden, deren jeder in eine Vielzahl von Blöcken unterteilt ist,
    b) daß eine zweite Einrichtung mit einer Vielzahl von Ebenen vorgesehen ist, deren jede einem Bereich der genannten ersten Einrichtung entspricht und in eine Vielzahl von Spalten unterteilt ist, deren jede einem Satz von Blöcken der betreffenden ersten Einrichtung entspricht, wobei die zweite Einrichtung zur Speicherung von Identifizierungsadressen dient, welche in dem Hauptspeicher enthaltene Datenwörter identifizieren, die in der ersten Einrichtung gespeichert sind, wobei diese Identifizierungsadressen mit den Identifizierungsadressen der Datenwörter verglichen werden, die von der Zentraleinheit angefordert sind, und wobei eine Übereinstimmungs-Information in dem Fall erzeugt wird, daß das angeforderte Datenwort in der betreffenden ersten Einrichtung vorhanden ist, wobei eine Anzeige darüber geliefert wird, in welcher Ebene die betreffenden Daten
    130051/0469
    ermittelt worden sind,
    c) und daß eine dritte Einrichtung vorgesehen ist, welche die Abgabe des angeforderten Datenwortes von der genannten ersten Einrichtung an die Zentraleinheit in dem Fall bewirkt, daß eine Übereinstimmung aufgetreten ist, und die die gerade erst benutzte Ebene der zweiten Einrichtung bei Ausbleiben einer Übereinstimmung bestimmt, wobei das angeforderte Datenwort aus dem Hauptspeicher abzurufen, an die Zentraleinheit abzugeben und in der ersten Einrichtung abzuspeichern ist, wobei eine Angabe darüber erfolgt, daß eine das abgerufene Datenwort indizierende Identifizierungsadresse in der gerade erst benutzten Ebene der zweiten Einrichtung gespeichert ist, und wobei Aktualisierungsdaten bezüglich der neuen, gerade erst benutzten Ebene in dem Fall erzeugt werden, daß eine Übereinstimmung auftritt, die dann abgespeichert wird.
    2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet,
    daß die dritte Einrichtung eine LRU-Speicheranordnung mit wahlfreiem Zugriff (RAM) enthält, die in eine Vielzahl von Zeilen unterteilt ist, deren jede kennzeichnend ist für eine Spalte der genannten zweiten Einrichtung und eine Vielzahl von LRU-Bits umfaßt, deren Anzahl ausreicht, um die Reihenfolge der zeitlichen Ausnutzung der Ebenen der entsprechenden Spalte zu codieren, daß jede Spalte der LRU-Speicheranordnung individuell adressierbar ist und ein Auslesen der LRU-Bits oder ein Einschreiben von aktualisierten LRU-Bits vorzunehmen erlaubt, wobei jedes LRU-Bit einer Zeile kennzeichnend ist für ein Paar von Ebenen der genannten zweiten Einrichtung, wobei durch einen binären Zustand eines LRU-Bits eine Angabe darüber vorliegt, daß eine der Ebenen vor einer anderen Ebene benutzt worden ist, während durch
    130051/0469
    den entgegengesetzten Binärzustand eine Anzeige für den umgekehrten Fall vorliegt,
    und daß eine solche ausreichende Anzahl von LRU-Bits vorliegt, daß sämtliche möglichen Nutzungskombinationen der Ebenen der zweiten Einrichtung darstellbar sind.
    3. Schaltungsanordnung nach Anspruch 2, dadurch gekennzeichnet,
    daß die genannte dritte Einrichtung ferner eine Einrichtung umfaßt, mittels der die Übereinstimmungs-Information aufnehmbar und die LRU-Speicheranordnung in dem Fall lesbar ist, daß ein erfolgloser Zugriff vorgelegen hat, derart, daß die gerade erst benutzte Ebene der Spalte der zweiten Einrichtung bestimmbar ist, zu der ein Zugriff durch die Adresse der angeforderten Daten erfolgt ist, daß die angeforderten Daten aus dem Hauptspeicher abgerufen werden und für die Verwendung durch die Zentraleinheit bereitgestellt werden, während gleichzeitig die Einspeicherung der betreffenden Daten in der ersten Einrichtung in dem Block und in dem Bereich vorgenommen wird, der der gerade erst benutzten Ebene der Zugriffsspalte der zweiten Einrichtung entspricht,
    und daß die Speicherung des betreffenden abgerufenen Datenwortes in der genannten ersten Einrichtung dadurch indiziert wird, daß die Speicherung in der zuvor bestimmten, gerade erst benutzten Ebene der zweiten Einrichtung erfolgt, wozu eine Identifzierungsadresse verwendet ist, die aus einem Teil der absoluten Adresse der abgerufenen Daten besteht, und wobei die Aktualisierung der LRU-Bits entsprechend der Spalte der zweiten Einrichtung erfolgt, in der die Identifizierungsadresse gerade gespeichert war.
    Schaltungsanordnung nach Anspruch 3, dadurch gekennzeichnet,
    daß die genannte dritte Einrichtung eine programmierbare Feldlogikanordnung mit einer Vielzahl von Ausgängen enthält, deren jeder die ODER-Kombination einer programmierbaren Vielzahl von UND-Termen umfaßt, wobei jeder UND-Term eine programmierbare Kombination einer Vielzahl von Eingangssignalen darstellt, und wobei diese Eingangssignale zu den Datenausgängen der LRU-Anordnung zum Zwecke der Aufnahme des Status der betreffenden LRU-Bits gekoppelt sind,
    daß die Übereinstimmungs-Information von der genannten zweiten Einrichtung eingangsseitig aufnehmbar ist, daß die betreffenden Ausgangssignale den Dateneingängen der LRU-Speicheranordnung mit wahlfreiem Zugriff und SchreJMreigabeeingängen der zweiten und ersten Einrichtung zuführbar sind,
    daß die programmierbare Feldverknüpfungsanordnung mittels einer geeigneten Kombination von UND-ODER-Termen derart programmierbar ist, daß bei NICHTAUFTRETEN einer Übereinstimmung bezüglich eines angeforderten Datenwortes diejenige Ebene der zweiten Speichereinrichtung bestimmbar ist, die gerade erst benutzt worden ist, wobei ein EBENEN-Abtastsignal erzeugbar ist, mit dessen Hilfe das aus dem Hauptspeicher abgerufene Datenwort in den in Frage kommenden Bereich der ersten Speichereinrichtung einführbar ist,
    daß die das abgerufene Datenwort indizierende Identifizierungsadresse in die in Frage kommende Ebene der zweiten Einrichtung einführbar ist,
    und daß auf das Vorliegen einer Übereinstimmung in einer bestimmten Ebene oder bei Vorliegen einer erfolglosen Ansteuerung das in Frage kommende Bitmuster erzeugbar ist, durch welches eine Anzeige dafür geliefert wird,
    130051/0469
    daß die Speicherungs- oder Übereinstimmungs-Ebene die gerade erst benutzte Ebene für die Speicherung des Bitmusters ist.
    5. Schaltungsanordnung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet,
    daß die Voll/leer-Speicheranordnung mit wahlfreiem Zugriff eine Vielzahl von Zeilen enthält, deren jede einer Spalte der genannten zweiten Einrichtung entspricht und aus einer Vielzahl von F/E-Bits besteht, deren jedes einer bestimmten Ebene der betreffenden zweiten Einrichtung entspricht und in einem Binärzustand eine Angabe dafür liefert, daß die zugehörige Ebene voll ist, während im anderen Binärzustand eine Anzeige dafür vorliegt, daß die betreffende Ebene leer ist,
    und daß die Voll/leer-Speicheranordnung auf Löschsignale anzusprechen vermag, die von der genannten dritten Einrichtung erzeugbar sind, welche eine Einrichtung umfaßt, mittels der die Löschsignale erzeugbar sind, durch die der Leer-Status des F/E-Bits entsprechend einer bestimmten Ebene in dem Fall löschbar ist, daß die in der ersten Einrichtung enthaltenen, der betreffenden Ebene entsprechenden Daten nicht mehr dieselben sind, wie die Daten im Hauptspeicher.
    6. Schaltungsanordnung nach Anspruch 5, dadurch gekennzeichnet,
    daß die die Löschsignale erzeugende Einrichtung eine Doppel-Adresslisteneinrichtung enthält, welche in derselben Weise organisiert ist, wie die genannte zweite Einrichtung, und welcheeinen Doppelsatz der in der betreffenden zweiten Einrichtung gespeicherten Identifizierungsadressen umfaßt,
    daß die betreffende Einrichtung einen Eingang für die Auf-
    130051/0469
    nähme von Schreibkennzeichnungsadressen von anderen Zentraleinheiten der Datenverarbeitungsanlage umfaßt, wobei die betreffenden Adressen die Daten kennzeichnen, die im Hauptspeicher geändert worden sind, daß die Doppel-Adresslisteneinrichtung die Identifizierungsadressen der in der genannten ersten Einrichtung gespeicherten Daten mit den Schreibkennzeichnungsadressen vergleicht und die genannten Löschsignale für das in Frage kommende F/E-Bit entsprechend der jeweiligen Übereinstimmung erzeugt, wobei die Eingangssignale der programmierbaren Feldverknüpfungsanordnung außerdem den Datenausgängen der Voll/Ieer-Anordnung zuführbar sind,
    und daß die programmierbare Feldverknüpfungsanordnung mit einer geeigneten Kombination von UND-ODER-Termen derart programmiert ist, daß bestimmbar ist, ob irgendwelche Leerebenen in der Zugriffsspalte der betreffenden zweiten Einrichtung infolge eines erfolglosen Zugriffs zu dem Cachespeicher vorhanden sind, wobei das abgerufene Datenwort in die gegebenenfalls vorhandene Leerebene eingeführt wird, während im anderen Falle die Einführung in die zuletzt benutzte Ebene vorgenommen wird.
    Schaltungsanordnung nach einem der Anspruch 1 bis 6, dadurch gekennzeichnet,
    a) daß die erste Einrichtung Informationen in Bereichen von Speichereinheiten speichert,
    b) daß die zweite Einrichtung den Bereichen der genannten ersten Einrichtung entsprechende Ebenen aufweist, mittels derer indiziert wird, welche Information in der betreffenden ersten Einrichtung gespeichert ist, wobei die von der Zentraleinheit angeforderte Information mit der indizierten Information verglichen wird, und wobei ein Übereinst immungssignal in dem Fall erzeugt wird, daß die be-
    130061/0489
    treffende Information in der genannten ersten Einrichtung vorhanden ist,
    c) daß die dritte Einrichtung die gerade erst benutzte Ebene der zweiten Einrichtung in dem Fall bestintnb, daß keine Übereinstimmung aufgetreten ist, wobei die aus dem Hauptspeicher abzurufende angeforderte Information an die Zentraleinheit abgegeben und in der ersten Einrichtung abgespeichert wird und wobei die gerade erst benutzte Ebene der zweiten Einrichtung indiziert wird,
    d) daß eine vierte Einrichtung mit derselben Indexinformation wie die zweite Einrichtung dazu vorgesehen ist, zu bestimmen, wann ein sowohl im Hauptspeicher als auch in der ersten Einrichtung gespeicherter Informationsteil in dem Hauptspeicher geändert worden ist, und ein Löschsignal zu erzeugen, mittels dessen der Speicherplatz der betreffenden geänderten Daten in der genannten ersten Einrichtung als leer markiert wird,
    e) und daß eine fünfte Einrichtung vorgesehen ist, welche den Voll- oder Leer-Status jeder Ebene der betreffenden zweiten Einrichtung anzeigt und welche das Löschsignal aufnimmt und als leer in dem Fall markiert, daß die Ebene der betreffenden zweiten Einrichtung der geänderten Information entspricht.
    8. Schaltungsanordnung nach einem der Ansprüche 1 bis 7, wobei ein schnellerer Zugriff zu einer Information erfolgt, die von einer ersten Zentraleinheit benutzt wird anstatt durch den Hauptspeicher einer Multiprozessor-Datenverarbeitungsanlage, von der die Zentraleinheit einen Teil bildet,
    dadurch gekennzeichnet,
    a) daß eine Cachespeichereinrichtung vorgesehen ist, die eine Vielzahl von Bereichen aufweist, deren jeder eine Vielzahl von individuell adressierbaren Blöcken enthält,
    130051/0469
    deren jeder eine Vielzahl von individuell adressierbaren Speichereinheiten für die Speicherung von Datenwörtern aufweist, die von der Zentraleinheit für die Ausführung ihrer Operationen benötigt werden,
    b) daß eine Haupt-Adressliste vorgesehen ist, die in eine Vielzahl von individuell adressierbaren Spalten aufgeteilt ist, deren jede einer Reihe von Blöcken der Cachespeichereinrichtung entspricht und in eine Vielzahl von Ebenen von Identifizierungsadresspeicherplätzen aufgeteilt ist, wobei jede Ebene einem bestimmten Block in einer Reihe von Blöcken der Cachespeichereinrichtung entspricht und eine Identifizierungsadresse zu speichern vermag, die kennzeichnend dafür ist,welche Datenwörter in dem entsprechenden Block der Cachespeichereinrichtung vorhanden sind, und wobei ein Vergleicher vorgesehen ist, der die Identifizierungsadressen der in dem Cachespeicher gespeicherten Datenwörter mit der Identifizierungsadresse der Daten zu vergleichen gestattet, die von der Zentraleinheit angefordert werden, und der Übereinstimmungssignale zu erzeugen vermag, welche gegebenenfalls anzeigen, in welchem Bereich des Cachespeichers die Daten feststellbar sind,
    c) daß eine Vielzahl von individuell adressierbaren Voll/leer-Statusbits vorgesehen ist, deren jedes Bit einer bestimmten Ebene einer bestimmten Spalte der Haupt-Adressliste entspricht, wobei die jeweilige Anzeige kennzeichnend dafür ist, ob die entsprechende Ebene voll oder leer ist,
    d) daß eine selektiv wirkende Löscheinrichtung mit einem Adresseneingang für die Aufnahme einer Änderungskennzeichnungsadresse vorgesehen ist, die kennzeichnend ist für die Adressen in dem Hauptspeicher, die durch eine andere Zentraleinheit der Datenverarbeitungsanlage geändert worden sind, wobei von einem Ausgang ein verändertes
    130051/0489
    Adressensignal abgebbar ist, welches eine Angabe darüber liefert, welche der in dem betreffenden Cachespeicher enthaltenen Daten in dem Hauptspeicher geändert worden sind, wobei das veränderte Adressensignal diejenigen Voll/Ieer-Statusbits kennzeichnet, die als leer zu löschen sind,
    e) daß eine die gerade erst erfolgte Benutzung anzeigende Anzeigeeinrichtung mit einer LRU-Speicheranordnung vorgesehen ist, die eine Vielzahl von individuell adressierbaren LRU-Bits umfaßt, deren jedes einer Ebene einer Spalte der Haupt-Adressliste zughörig ist, wobei die Anzahl der betreffenden LRU-Bits derart ausreicht, daß die Reihenfolge der Ausnutzung der Ebenen in der zugehörigen Spalte der Haupt-Adressliste codierbar ist, so daß die Ebene, die gerade erst benutzt worden ist, aus den LRU-Bits decodierbar ist, wobei ein Ausgang für die Bereitstellung der gerade erst benutzten Daten vorgesehen ist, wobei ein Eingang vorgesehen ist, der die LRU-Bits in dem Fall zu aktualisieren gestattet, daß die Reihenfolge der Ausnutzung sich geändert hat, wobei die die gerade erst erfolgte Benutzung anzeigende Anzeigeeinrichtung eine programmierbare Feldverknüpfungsanordnung mit einer Vielzahl von programmierbaren UND-ODER-Termen umfaßt, deren Eingänge mit der LRU-Speicheranordnung verbunden sind, wobei die Voll/leer-Statusbits und die Übereinstimmungssignale von dem Vergleicher auftreten, wobei die Ausgangssignale mit der LRU-Speicheranordnung und der Hauptadressliste sowie dem Cachespeicher verbunden sind, und wobei die programmierbare Feldverknüpfungsanordnung derart programmiert ist, daß die LRU-Bits auf ein Cachespeicher-Bit oder eine erfolglose Ansteuerung des Cachespeichers hin aktualisiert werden und die Identifizierungsadressen der abgerufenen Daten entweder in eine Leerebene oder in die Hauptadressliste bzw. in den
    130081/0469
    entsprechenden Bereich des Cachespeichers eingeführt werden,
    f) daß Speichereinrichtungen vorgesehen sind, die die Adresse der von der Zentraleinheit angeforderten Information zu speichern gestatten und die diese Adresse mit der in der Haupt-Adressliste gespeicherten Identifizierungsinformation zu vergleichen gestatten, um zu bestimmen, ob die angeforderten Daten in dem Cachespeicher vorhanden sind, wobei die betreffenden Daten zu der Zentraleinheit in dem Fall durchgeschaltet werden, daß sie in dem Cachespeicher vorhanden sind, während in dem Fall, daß die betreffenden Daten in dem Cachespeicher nicht vorhanden sind, die programmierbare Feldverknüpfungsanordnung veranlaßt wird, die gerade erst benutzte Ebene der adressierten Spalte in der Haupt-Adressliste zu bestimmen und die Identifizierungsadresse der angeforderten Daten in die Ebene der Haupt-Adressliste einzuschreiben, wie dies durch die betreffende programmierbare Feldverknüpfungsanordnung festgelegt ist, wobei die aus dem Hauptspeicher abgeholten Daten in demjenigen Speicherplatz des Cachespeichers abgespeichert werden, der der gerade geänderten Ebene der Haupt-Adressliste entspricht, wobei das geänderte Adressensignal aufnehmbar und aus diesem ein Löschsignal erzeugbar ist, mit dessen Hilfe die richtige Voll/Ieer-Statusanzeige löschbar ist.
    9. Schaltungsanordnung nach einem der Ansprüche 1 bis 8 für die Verwendung bei der jeweiligen Zentraleinheit in einer Multiprozessor-Datenverarbeitungsanlage mit einem Hauptspeicher,
    dadurch gekennzeichnet,
    a) daß eine Cachespeicher-Adressenverriegelungseinrichtung vorgesehen ist, welche die absolute Adresse der von der Zentraleinheit angeforderten Daten aufnimmt und
    130081/0469
    festhält und welche aus einem ersten, zweiten und dritten Bereich besteht, die die absolute Adresse mit anderen Teilen der Cachspeieheranordnung zu verbinden gestatten,
    b) daß eine Cachespeichereinrichtung vorgesehen ist, welche zur Speicherung und zum Zugriffizu einer Vielzahl von Informationsteilen dient, die von der Zentraleinheit verwendet werden, wobei die Information in einem mit hoher Geschwindigkeit arbeitenden RAM-Speicher mit wahlfreiem Zugriff gespeichert ist, der in eine Vielzahl von individuell adressierbaren Speicherbereichen unterteilt ist, deren jeder einen Dateneingang und einen Datenausgang aufweist und in eine Vielzahl von Blöcken unterteilt ist, deren jeder in eine Vielzahl von individuell adressierbaren Wörtern unterteilt ist, wobei die Cachespeichereinrichtung einen Adresseneingang aufweist, der mit dem zweiten Teil und dem dritten Teil der Cachespeicher-Adressenverriegelungseinrichtung derart verbunden ist, daß er ein Cachespeicher-Lese/Schreib-Adressensignal aufzunehmen vermag, mit dessen Hilfe festlegbar ist, in welchem Block und in welches Wort des betreffenden Blockes Daten einzuspeichern sind, die vom Dateneingang her zugeführt werden, und welches Wort welches Blockes am Datenausgang bereitzustellen ist, und wobei die betreffende Cachespeichereinrichtung einen Bereichs-Abtasteingang aufweist,
    c) daß eine erste Schaltereinrichtung vorgesehen ist, die mit einem Datenausgang an dem Dateneingang der Cachespeichereinrichtung angeschlossen ist, und die eine Vielzahl von Dateneingängen aufweist, die mit der Zentraleinheit und dem Hauptspeicher verbunden sind, wobei außerdem ein Steuereingang vorgesehen ist, und wobei die betreffende erste Schalteinrichtung Daten von der Zentraleinheit zu der Cachespeichereinrichtung hin während
    130051/0A69
    der Zentraleinheits-Speicheroperationen und aus dem Hauptspeicher abgerufene Daten zu der Cachespeichereinrichtung in dem Fall durchzuschalten gestattet, daß eine erfolglose Ansteuerung des Cachespeichers vorgelegen hat,
    d) daß eine zweite Schaltereinrichtung vorgesehen ist, die eine Vielzahl von Dateneingängen aufweist, welche mit den Datenausgängen der Speicherbereiche der Cachespeichereinrichtung verbunden sind, wobei die zweite Schaltereinrichtung ferner einen Datenausgang und einen Steuereingang aufweist, und unter der Steuerung eines dem Steuereingang zugeführten Blockauswahlsignals eines der Ausgangssignale aus den Bereichen der Cachespeichereinrichtung auszuwählen und zum Datenausgang der betreffenden zweiten Schaltereinrichtung durchzuschalten gestattet,
    e) daß eine Haupt-Adresslisteneinrichtung mit einer Vielzahl von Ebenen vorgesehen ist, deren jede einem der Bereiche der Cachespeichereinrichtung zugehörig ist und dieser entspricht, wobei jede Ebene mit einem Dateneingang verbunden ist, der seinerseits mit dem betreffenden ersten Teil der Cachespeicher-Adressenverriegelungseinrichtung verbunden ist, wobei jede Ebene in eine Vielzahl von individuell adressierbaren Identifizierungsadressenspeicherzellen unterteilt ist, wobei eine Zeile der Zellen in der jeweiligen Ebene eine Spalte je Zelle entsprechend einem der Blöcke der Cachespeichereinrichtung enthält und jeweils eine Vielzahl von Identifizierungsadressenbits zu speichern vermag, derart, daß Identifizierungswörter aus der absoluten Adresse der Daten bildbar sind, die in dem entsprechenden Block der Cachespeichereinrichtung gespeichert sind, wobei jede Ebene einen Ausgang
    vai
    für die Darstellung/Identifizierungsadressbits umfaßt,
    130081/0469
    die in einer ausgewählten Zelle der Identifizierungszellen gespeichert sind, wobei die Haupt-Adresslisteneinrichtung außerdem einen Haupt-Lese/Schreib-Adresseneingang aufweist, der mit dem zweiten Teil der Cachespeicher-Adressenverriegelungseinrichtung derart verbunden ist, daß er eine Vielzahl von Blockadressenbits aufzunehmen vermag, die den Teil der absoluten Adresse bilden, mit dem die Spalte der Identifizierungszellen festlegbar ist, von der die Ebenen-Ausgangssignale bereitstellbar sind, wobei die Haupt-Adresslisteneinrichtung einen EBENEN-Abtasteingang für die Aufnahme eines Signales aufweist, durch welches festlegbar ist, welche Zelle der Identifizierungszellen in einer Spalte durch das Blockadressensignal für die Einspeicherung der eintreffenden Identifizierungswörter adressiert ist, wobei die Haupt-Adresslisteneinrichtung die Identifizierungswörter in den Identifizierungszellen zu speichern gestattet, die angeben, welche Daten in der Cachespeichereinrichtung gespeichert sind, und die angeben, wo die betreffenden Daten gespeichert sind, und wobei mittels der betreffenden Wörter eine ausgewählte Spalte der Identifizierungswörter abrufbar und an die EBENEN-Ausgänge für einen Vergleich abgebbar sind,
    f) daß eine Vergleichereinrichtung vorgesehen ist, welche die Identifizierungsadresse der von der Zentraleinheit angeforderten Daten mit den in der Haupt-Adresslisteneinrichtung gespeicherten Identifizierungsadressen vergleicht und ein Übereinstimmungssignal in dem Fall erzeugt, daß eine Übereinstimmung zwischen den miteinander verglichenen Adressen festgestellt ist, und LRU-Aktualisierungsdaten zu erzeugen gestattet, wobei die Vergleichereinrichtung eine Vielzahl von Eingängen aufweist, die mit den EBENEN-Ausgängen derart verbunden sind, daß die Identifizierungs-
    130051/0469
    Wörter aufnehmbar sind, wobei die betreffende Vergleichereinrichtung einen gewünschte Daten aufnehmenden Identifizierungsworteingang aufweist, der mit dem ersten Teil der Cachespeicher-Adressenverriegelungseinrichtung verbunden ist, um von dieser ein Daten betreffendes gewünschtes Identifizierungswort aufzunehmen, um dieses mit den Identifizierungswörtern von der Haupt-Adresslisteneinrichtung zu vergleichen, wobei die betreffende Einrichtung Ausgänge für die Abgabe der Übereinstimmungssignale aufweist,
    g) daß eine LRü-Verriegelungseinrichtung vorgesehen ist, die mit einem LRU-Adresseneingang an dem zweiten Teil der Cachespeicher-Adressenverriegelungseinrichtung derart angeschlossen ist, daß sie den Teil der absoluten Adresse aufzunehmen und festzuhalten gestattet, der das Blockadressenbit bildet, und den betreffenden Teil an einem Ausgang abzugeben vermag,
    h) daß eine LRU-Speicheranordnung vorgesehen ist, die derart codierte Daten zu speichern gestattet, daß die gerade erst benutzte Ebene der Haupt-Adresslisteneinrichtung anzeigbar ist, wobei die betreffende Speicheranordnung eine Vielzahl von Zeilen mit einer Vielzahl von Speicherbits umfaßt, wobei jede Zeile einer der Spalten der Haupt-Adresslisteneinrichtung entspricht bzw. dieser zugehörig ist und eine solche ausreichende Anzahl von Speicherbits umfaßt, daß eine solche ausreichende Datencodierung ermöglicht ist, gemäß der die zeitliche Reihenfolge der letzten Ausnutzung der jeweiligen Ebene in der zugehörigen Spalte bestimmbar ist, in der jedes Bit den Status zwischen zwei Ebenen der Ebenen kennzeichnet, wobei dieselbe Anzahl von Bits vorhanden ist, wie Kombinationen von Ebenen vorhanden sind, von denen in der Haupt-Adresslisteneinrichtung jeweils zwei vorhanden
    130051/0469
    sind, wobei die LRU-Speieheranordnung mit einem Adresseneingang am Ausgang der LRU-Verriegelungseinrichtung derart angeschlossen ist, daß die Adressenbits aufnehmbar sind, welche diejenige Spalte in der Haupt-Adresslisteneinrichtung bezeichnen, die durch die Vergleichereinrichtung überprüft wird , derart, daß die Speicherbits der entsprechenden Zeile an einen LRU-EBENEN-Ausgang bereitstellbar sind, wobei an einem LRU-Aktualisierungseingang die LRU-Aktualisierungsdaten für eine Aktualisierung der Speicherbits in der ausgewählten Zeile in dem Fall aufnehmbar sind, daß eine Übereinstimmung mit einer bestimmten Ebene oder eine erfolglose Ansteuerung des Cachespeichers und eine Leerebene vorhanden sind oder daß die gerade erst benutzte Ebene dazu herangezogen wird, das Identifizierungswort für die Daten zu speichern, die aus dem Hauptspeicher nach der erfolglosen Ansteuerung des Cachespeichers abgerufen worden sind, und wobei durch die betreffende Aktualisierung die betreffende Zeile von Speicherbits derart änderbar ist, daß die Übereinstimmungs-Ebene oder die neue Speicherebene als die nunmehr erst benutzte Ebene bezeichnet ist, i) daß eine Steuereinrichtung mit einer programmierbaren Feldverknüpfungsanordnung vorgesehen ist, welche die Elemente in der Cachespeicheranordnung zu steuern gestattet und welche mit einem Eingang an dem Übereinstimmungssignal-Ausgang derart angeschlossen ist, daß von diesem das Übereinstimmungssignal aufnehmbar ist, welches eine Anzeige darüber liefert, welche Ebene der adressierten Spalte gegebenenfalls mit der Adresse der angeforderten Daten übereinstimmt, wobei ein Blockauswahlausgang mit dem Steuereingang der zweiten Schaltereinrichtung derart verbunden ist, daß diese ein ausgewähltes Ausgangssignal der betreffenden Ebene zum Schalterausgang in dem Fall
    130061/0469
    durchzuschalten gestattet, daß das Übereinstimmungssignal auftritt, wobei die Steuereinrichtung mit einem EBENEN-Abtastausgang mit dem EBENEN-Abtasteingang der Haupt-Adresslisteneinrichtung und mit dem Bereichs-Abtasteingang der Cachespeichereinrichtung derart verbunden ist, daß die Identifizierungsadressbits der absoluten Adresse in der Cachespeicher-Adressenverriegelungseinrichtung in die Identifizierungszelle der gerade erst benutzten Ebene der Haupt-Adresslisteneinrichtung in dem Fall eintastbar sind, daß eine erfolgose Ansteuerung der Cachespeichereinrichtung erfolgt ist, wobei die Daten in die Cachespeichereinrichtung entweder während einer Zentraleinheits-Speicheroperation oder auf das Abrufen aus dem Hauptspeicher für die Einspeicherung in einem ausgewählten Bereich der Bereiche eingeschrieben werden, die der EBENE der Haupt-Adresslisteneinrichtung entsprechen, in denen die den Daten entsprechenden Identifizierungsadressbits gespeichert sind, wobei von einem mit der ersten Schaltereinrichtung verbundenen Ausgang steuerbar ist, welche Daten von der Zentraleinheit oder dem Hauptspeicher zu der Cachespeichereinrichtung hin durchschaltbar sind, wobei die Steuereinrichtung einen Abtast-Adressregistereingang für die Aufnahme eines solchen Signals von der Zentraleinheit aufweist, welches kennzeichnend ist dafür, daß die Zentraleinheit Daten anfordert und die absolute Adresse der Daten vorbereitet hat, und wobei ein Ausgang für eine erfolglose Ansteuerung vorgesehen ist, von welchem Ausgang anderen Elementenin der Datenverarbeitungsanlage in dem Fall signalisierbar sind, daß die angeforderten Daten in der Cachespeichereinrichtung nicht ermittelt worden sind, sondern aus dem Hauptspeicher abgerufen wurden, und wobei die Steuereinrichtung an einem LRU-Ebenen-Eingang Daten von der LRU-
    130051/0469
    Speicheranordnung für eine Decodierung in Informationen bezüglich der Ebene der Haupt-Adresslisteneinrichtung aufzunehmen gestattet, welche Ebene zuletzt benutzt worden ist, derart, daß das EBENEN-Abtastsignal unter Ausnutzung dieser Information erzeugbar ist.
    10- Schaltungsanordnung nach Anspruch 9, dadurch gekennzeichnet,
    a) daß eine Voll/Ieer-Speicheranordnung mit einer Vielzahl von individuell adressierbaren Zeilen von F/E-Bits vorgesehen ist, deren jede einer Spalte der Haupt-Adresslisteneinrichtung zugehörig ist und dieser entpricht, wobei jede Datenspeicherzelle einer der Ebenen in der entsprechenden Spalte dem Binärzustand des jeweiligen F/E-Bits entspricht, derart, daß der Voll- oder Leer-Status der jeweiligen Ebene anzeigbar ist, wobei die Voll/leer-Speicheranordnung einen Adresseneingang für die Aufnahme eines F/E-Adressensignals umfaßt, mit dessen Hilfe ein Zugriff zu den Zeilen erfolgt, und wobei ein Dateneingang vorgesehen ist, der ein Signal zum Setzen oder Löschen des jeweiligen F/E-Datenbits in der zugegriffenen Zeile aufzunehmen vermag,
    b) daß eine dritte Schaltereinrichtung mit einem ersten Eingang vorgesehen ist, der mit dem zweiten Teil der Cachespeicher-Adressenverriegelungseinrichtung derart gekoppelt ist, daß er das F/E-Adressensignal aufzunehmen vermag, wobei ein Ausgang der betreffenden Schaltereinrichtung mit dem Adresseneingang derart verbunden ist, daß das F/E-Adressensignal in dem Fall weiterleitbar ist, daß ein bestimmtes Steuersignal an einem Steuereingang aufgenommen wird, und wobei ein mit der Steuereinrichtung verbundener Löscheingang vorgesehen ist, der ein Löschsignal aufzunehmen vermag, durch welches ausge-
    130051/0469
    wählte Bits der F/E-Bits in der durch die F/E-Adresse adressierten Zeile löschbar sind,
    c) daß eine Änderungsaufforderungs-Stapelspeichereinrichtung vorgesehen ist, welche die absoluten Änderungsaufforderungsadressen der Speicherplätze des Hauptspeichers aufzunehmen vermag, die durch andere Prozessoren der Datenverarbeitungsanlage seit dem letzten Einschreiben in den Cachespeicher geändert worden sind, wobei ein erster Ausgang mit dem Identifizierungswortteil der jeweiligen Änderungsaufforderungsadresse verbunden ist und wobei der zweite Ausgang mit einem Blockadressenteil der Änderungsaufforderungsadresse verbunden ist,
    d) daß eine Schreib-Stapelspeichereinrichtung vorgesehen ist, welche Teile der absoluten Adressen der in der Cachespeichereinrichtung gespeicherten Daten zu speichern gestattet und welche mit einem Eingang mit dem ersten Teil und dem zweiten Teil der Speicher-Adressenverriegelungseinrichtung derart verbunden ist, daß die betreffenden Teile für die Speicherung aufnehmbar sind, wobei von einem ersten Ausgang der erste Teil der absoluten Adresse und von einem zweiten Ausgang der zweite Teil abgebbar sind,
    e) daß eine Doppel-Adresslisteneinrichtung vorgesehen ist, die in derselben Weise organisiert ist, wie die Haupt-Adresslisteneinrichtung und die einen doppelten Satz von Identifizierungswörtern entsprechend den in dem Cachespeicher gespeicherten Daten zu speichern gestattet, wobei ein Identifizierungsworteingang in dem ersten Ausgang der Schreib-Stapeleinrichtung für die Aufnahme und Speicherung von Identifizierungswörtern gleichzeitig mit der Haupt-Adressliste verbunden ist, wobei ein Doppel-Spaltenadresseneingang mit dem zweiten Ausgang der Schreib-Stapelspeichereinrichtung und der Änderungs-
    130051/0469
    Aufforderungs-Stapelspeichereinrichtung für die Aufnahme des zweiten Teiles der absoluten Adresse in der Cachespeicher-Adressenverriegelungseinrichtung verbunden ist, derart, daß ein Zugriff zu der richtigen Spalte in dem Fall erfolgt, daß Daten in der Cachespeichereinrichtung gespeichert sind, wobei der betreffende zweite Teil der Änderungs-Aufforderungsadresse für einen Zugriff zu der richtigen Spalte für das Auslesen eines ausgewählten Identifizierungswortes in dem Fall aufnehmbar ist, daß die Identifizierungswörter der in der Cachespeichereinrichtung gespeicherten Daten mit den Identifizierungswörtern der in dem Hauptspeicher enthaltenen Daten verglichen sind, die unverändert geblieben sind, wobei die Doppel-Adresslisteneinrichtung mit einem Doppel-EBENEN-Abtasteingang mit der Steuereinrichtung derart verbunden ist, daß sie ein Signal aufzunehmen vermag, welches kennzeichnend ist für die Ebene der adressierten Spalte, in die geschrieben oder aus der gelesen wird, und wobei ein Ausgang für jede Ebene vorhanden ist, derart, daß das in der betreffenden Ebene der Zugriffsspalte gespeicherte Identifizierungswort abgebbar ist,
    f) daß eine zweite Vergleichereinrichtung mit einer Vielzahl von Eingängen vorgesehen ist, die mit den EBENEN-Ausgängen der Doppel-Adresslisteneinrichtung verbunden sind, wobei ein Änderungs-Identifizierungseingang mit dem ersten Ausgang der Änderungs-Aufforderungs-Stapelspeichereinrichtung derart verbunden ist, daß das Identifizierungswort der Änderungs-Aufforderungsadresse mit den Identifizierungswörtern in der Zugriffsspalte der Doppel-Adresslisteneinrichtung vergleichbar ist, und wobei ein Doppel-Ubereinstimmungssignal an einem Ausgang in dem Fall erzeugbar ist, daß eine Übereinstimmung er-
    130051/0469
    mittelt ist, welche anzeigt, in welcher Ebene die gegebenenfalls aufgetretene Übereinstimmung aufgetreten ist,
    g) daß eine Spaltenänderungs-Stapelspeichereinrichtung mit einem Eingang an dem zweiten Ausgang der Änderungs-Aufforderungs-Stapelspeichereinrichtung derart angeschlossen ist, daß sie den zweiten Teil der Änderungs-Auf forderungsadresse aufzunehmen vermag, wobei ein Eingang mit der Vergleichereinrichtung derart verbunden ist, daß das Doppel-Übereinstimmungssignal aufnehmbar ist, derart, daß der zweite Teil der Änderungs-Aufforderungsadresse mit dem Doppel-Übereinstimmungssignal abspeicherbar ist, und wobei an einem Ausgang die gespeicherten Signale abgebbar sind,
    h) daß in der Steuereinrichtung eine Einrichtung enthalten ist, die mit dem Ausgang der Spaltenänderungs-Stapelspeichereinrichtung und mit dem Löscheingang der dritten Schaltereinrichtung derart verbunden ist, daß ein Löschsignal erzeugbar ist, welches angibt, welche Datenspeicherzelle welcher Zeile der Voll/Ieer-Speicheranordnung in einen Leerstatus zu löschen ist,
    i) daß in der dritten Schaltereinrichtung Einrichtungen enthalten sind, die den die gewünschte Zeile bezeichnenden Teil des Löschsignals zum Adresseneingang der Voll/Ieer-Speicheranordnung durchschalten und die denjenigen Teil des Löschsignals zum Dateneingang hin durchschalten, der die zu löschende Datenspeicherzelle bezeichnet, j) und daß eine programmierbare Feldverknüpfungsanordnung in der Steuereinrichtung vorgesehen und mit einem Dateneingang der Voll/Ieer-Matrixanordnung verbunden ist und mit einem Ausgang mit der EBENEN-Abtastsignalleitung verbunden sowie so programmiert ist, daß die bei einer erfolglosen Ansteuerung des Cachespeichers abgerufenen
    130051/0469
    Daten und die Identifizierungswörter für die betreffenden Daten zunächst in Leerebenen und Bereichen der Haupt-Adresslisteneinrichtung und Cachespeichereinrichtung und bei Fehlen von Leerebenen sodann in die gerade erst benutzte Ebene eingespeichert werden.
    130051/0469
DE3102150A 1980-01-24 1981-01-23 Multiprozessor-Datenverarbeitungsanlage Expired - Fee Related DE3102150C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/114,854 US4322795A (en) 1980-01-24 1980-01-24 Cache memory utilizing selective clearing and least recently used updating

Publications (2)

Publication Number Publication Date
DE3102150A1 true DE3102150A1 (de) 1981-12-17
DE3102150C2 DE3102150C2 (de) 1994-04-28

Family

ID=22357797

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3102150A Expired - Fee Related DE3102150C2 (de) 1980-01-24 1981-01-23 Multiprozessor-Datenverarbeitungsanlage

Country Status (7)

Country Link
US (1) US4322795A (de)
JP (1) JPS56114187A (de)
AU (1) AU540144B2 (de)
CA (1) CA1161172A (de)
DE (1) DE3102150C2 (de)
FR (1) FR2474721B1 (de)
GB (1) GB2068155B (de)

Families Citing this family (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55134459A (en) * 1979-04-06 1980-10-20 Hitachi Ltd Data processing system
US4390943A (en) * 1979-12-26 1983-06-28 Honeywell Information Systems Inc. Interface apparatus for data transfer through an input/output multiplexer from plural CPU subsystems to peripheral subsystems
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
US4394731A (en) * 1980-11-10 1983-07-19 International Business Machines Corporation Cache storage line shareability control for a multiprocessor system
US4433374A (en) * 1980-11-14 1984-02-21 Sperry Corporation Cache/disk subsystem with cache bypass
US4410944A (en) * 1981-03-24 1983-10-18 Burroughs Corporation Apparatus and method for maintaining cache memory integrity in a shared memory environment
US4445174A (en) * 1981-03-31 1984-04-24 International Business Machines Corporation Multiprocessing system including a shared cache
US4414644A (en) * 1981-04-03 1983-11-08 International Business Machines Corporation Method and apparatus for discarding data from a buffer after reading such data
US4464712A (en) * 1981-07-06 1984-08-07 International Business Machines Corporation Second level cache replacement method and apparatus
US4525777A (en) * 1981-08-03 1985-06-25 Honeywell Information Systems Inc. Split-cycle cache system with SCU controlled cache clearing during cache store access period
US4481570A (en) * 1981-08-07 1984-11-06 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Automatic multi-banking of memory for microprocessors
US4460959A (en) * 1981-09-16 1984-07-17 Honeywell Information Systems Inc. Logic control system including cache memory for CPU-memory transfers
US4467416A (en) * 1981-09-16 1984-08-21 Honeywell Information Systems Inc. Logic transfer and decoding system
US4458310A (en) * 1981-10-02 1984-07-03 At&T Bell Laboratories Cache memory using a lowest priority replacement circuit
US4463420A (en) * 1982-02-23 1984-07-31 International Business Machines Corporation Multiprocessor cache replacement under task control
EP0092895B1 (de) * 1982-04-28 1988-05-11 International Computers Limited Datenverarbeitungsanlage
US4494190A (en) * 1982-05-12 1985-01-15 Honeywell Information Systems Inc. FIFO buffer to cache memory
US4511994A (en) * 1982-09-27 1985-04-16 Control Data Corporation Multi-group LRU resolver
US4897783A (en) * 1983-03-14 1990-01-30 Nay Daniel L Computer memory system
US4603380A (en) * 1983-07-01 1986-07-29 International Business Machines Corporation DASD cache block staging
DE3502147A1 (de) * 1984-01-23 1985-08-08 Hitachi Microcomputer Engineering Ltd., Kodaira, Tokio/Tokyo Datenverarbeitungssystem mit verbesserter pufferspeichersteuerung
CA1226959A (en) * 1984-02-10 1987-09-15 Paul K. Rodman Cache coherence system
US4807110A (en) * 1984-04-06 1989-02-21 International Business Machines Corporation Prefetching system for a cache having a second directory for sequentially accessed blocks
EP0173556A3 (de) * 1984-08-31 1987-05-27 Texas Instruments Incorporated Hierarchische Architektur zur Bestimmung von dem am wenigsten kürzlich benutzten Cachespeicher
US4648033A (en) * 1984-09-07 1987-03-03 International Business Machines Corporation Look-aside buffer LRU marker controller
US4847804A (en) * 1985-02-05 1989-07-11 Digital Equipment Corporation Apparatus and method for data copy consistency in a multi-cache data processing unit
JP2539357B2 (ja) * 1985-03-15 1996-10-02 株式会社日立製作所 デ−タ処理装置
DE3686291T2 (de) * 1985-05-29 1993-03-11 Toshiba Computer Eng Cache-anordnung mit einem lru-verfahren und magnetscheibensteuereinrichtung mit einer solchen anordnung.
US4755930A (en) * 1985-06-27 1988-07-05 Encore Computer Corporation Hierarchical cache memory system and method
US4875155A (en) * 1985-06-28 1989-10-17 International Business Machines Corporation Peripheral subsystem having read/write cache with record access
US4775955A (en) * 1985-10-30 1988-10-04 International Business Machines Corporation Cache coherence mechanism based on locking
FR2590699B1 (fr) * 1985-11-25 1994-07-01 Nec Corp Systeme assurant la coherence pour les contenus d'une antememoire
US5349672A (en) * 1986-03-17 1994-09-20 Hitachi, Ltd. Data processor having logical address memories and purge capabilities
US4797814A (en) * 1986-05-01 1989-01-10 International Business Machines Corporation Variable address mode cache
US5146604A (en) * 1986-06-06 1992-09-08 Canon Kabushiki Kaisha Information filing apparatus that stores and erases information based on frequency of its use
GB2200483B (en) * 1987-01-22 1991-10-16 Nat Semiconductor Corp Memory referencing in a high performance microprocessor
JPS63257854A (ja) * 1987-04-15 1988-10-25 Nec Corp Lruメモリ障害検出回路
US4833601A (en) * 1987-05-28 1989-05-23 Bull Hn Information Systems Inc. Cache resiliency in processing a variety of address faults
US5251308A (en) * 1987-12-22 1993-10-05 Kendall Square Research Corporation Shared memory multiprocessor with data hiding and post-store
US5055999A (en) * 1987-12-22 1991-10-08 Kendall Square Research Corporation Multiprocessor digital data processing system
US5341483A (en) * 1987-12-22 1994-08-23 Kendall Square Research Corporation Dynamic hierarchial associative memory
US5226039A (en) * 1987-12-22 1993-07-06 Kendall Square Research Corporation Packet routing switch
US5822578A (en) * 1987-12-22 1998-10-13 Sun Microsystems, Inc. System for inserting instructions into processor instruction stream in order to perform interrupt processing
US5761413A (en) * 1987-12-22 1998-06-02 Sun Microsystems, Inc. Fault containment system for multiprocessor with shared memory
NL8800858A (nl) * 1988-04-05 1989-11-01 Philips Nv Rekenmachinesysteem voorzien van een hoofdbus en een tussen processor en geheugen direkt verbonden extra kommunikatielijn.
US5140690A (en) * 1988-06-14 1992-08-18 Mitsubishi Denki Kabushiki Kaisha Least-recently-used circuit
US5226146A (en) * 1988-10-28 1993-07-06 Hewlett-Packard Company Duplicate tag store purge queue
EP0366323A3 (de) * 1988-10-28 1991-09-18 Apollo Computer Inc. Warteschlange zur Duplikatetikettenspeicherinvalidation
JPH02148235A (ja) * 1988-11-30 1990-06-07 Toshiba Corp データ退避方式
US5224217A (en) * 1988-12-30 1993-06-29 Saied Zangenehpour Computer system which uses a least-recently-used algorithm for manipulating data tags when performing cache replacement
US5060136A (en) * 1989-01-06 1991-10-22 International Business Machines Corp. Four-way associative cache with dlat and separately addressable arrays used for updating certain bits without reading them out first
US5161219A (en) * 1989-01-13 1992-11-03 International Business Machines Corporation Computer system with input/output cache
JPH0348951A (ja) * 1989-07-18 1991-03-01 Fujitsu Ltd アドレスモニタ装置
US5043885A (en) * 1989-08-08 1991-08-27 International Business Machines Corporation Data cache using dynamic frequency based replacement and boundary criteria
EP0419961A3 (en) * 1989-09-26 1991-10-23 Siemens Aktiengesellschaft Method and circuit for replacement control, particularly for a system containing digital memory elements
US5109496A (en) * 1989-09-27 1992-04-28 International Business Machines Corporation Most recently used address translation system with least recently used (LRU) replacement
US5153595A (en) * 1990-03-26 1992-10-06 Geophysical Survey Systems, Inc. Range information from signal distortions
EP0463967A3 (en) * 1990-06-29 1993-02-24 Digital Equipment Corporation Cache set selection for high-performance processor
CA2045756C (en) * 1990-06-29 1996-08-20 Gregg Bouchard Combined queue for invalidates and return data in multiprocessor system
CA2078310A1 (en) * 1991-09-20 1993-03-21 Mark A. Kaufman Digital processor with distributed memory system
CA2078312A1 (en) 1991-09-20 1993-03-21 Mark A. Kaufman Digital data processor with improved paging
US5384713A (en) * 1991-10-23 1995-01-24 Lecroy Corp Apparatus and method for acquiring and detecting stale data
US5345582A (en) * 1991-12-20 1994-09-06 Unisys Corporation Failure detection for instruction processor associative cache memories
EP0553743A1 (de) * 1992-01-31 1993-08-04 Motorola, Inc. Cachespeichersteuerungseinrichtung
JPH0756815A (ja) * 1993-07-28 1995-03-03 Internatl Business Mach Corp <Ibm> キャッシュ動作方法及びキャッシュ
US5898854A (en) * 1994-01-04 1999-04-27 Intel Corporation Apparatus for indicating an oldest non-retired load operation in an array
JP3030229B2 (ja) * 1994-06-20 2000-04-10 インターナショナル・ビジネス・マシーンズ・コーポレイション データを転送する方法及びデータ記憶システム
US5606688A (en) * 1994-08-31 1997-02-25 International Business Machines Corporation Method and apparatus for dynamic cache memory allocation via single-reference residency times
US6081623A (en) * 1995-10-11 2000-06-27 Citrix Systems, Inc. Method for lossless bandwidth compression of a series of glyphs
US6016535A (en) * 1995-10-11 2000-01-18 Citrix Systems, Inc. Method for dynamically and efficiently caching objects by subdividing cache memory blocks into equally-sized sub-blocks
US5845317A (en) * 1995-11-17 1998-12-01 Micron Technology, Inc. Multi-way cache expansion circuit architecture
US5913216A (en) * 1996-03-19 1999-06-15 Lucent Technologies, Inc. Sequential pattern memory searching and storage management technique
US5765192A (en) * 1996-05-01 1998-06-09 Sun Microsystems, Inc. Method and computer program product to reuse directory search handles
US6057857A (en) 1996-06-12 2000-05-02 Citrix Systems, Inc. Method for the lossless compression of lines in a distributed computer system
US5961632A (en) * 1996-07-25 1999-10-05 Texas Instruments Incorporated Microprocessor with circuits, systems, and methods for selecting alternative pipeline instruction paths based on instruction leading codes
US5822759A (en) * 1996-11-22 1998-10-13 Versant Object Technology Cache system
US6032233A (en) * 1997-06-27 2000-02-29 International Business Machines Corporation Storage array allowing for multiple, simultaneous write accesses
US6256712B1 (en) 1997-08-01 2001-07-03 International Business Machines Corporation Scaleable method for maintaining and making consistent updates to caches
US6026413A (en) * 1997-08-01 2000-02-15 International Business Machines Corporation Determining how changes to underlying data affect cached objects
US6343350B1 (en) * 1998-02-13 2002-01-29 International Business Machines Corporation Conserving storage space by means of low resolution objects
US20020029285A1 (en) 2000-05-26 2002-03-07 Henry Collins Adapting graphical data, processing activity to changing network conditions
US7336682B2 (en) * 2000-07-25 2008-02-26 Juniper Networks, Inc. Network architecture and methods for transparent on-line cross-sessional encoding and transport of network communications data
US6856651B2 (en) * 2000-07-25 2005-02-15 Peribit Networks, Inc. System and method for incremental and continuous data compression
JP2003167751A (ja) * 2001-04-24 2003-06-13 Ricoh Co Ltd プロセッサ処理方法およびプロセッサシステム
AU2002323364A1 (en) * 2001-08-24 2003-03-10 Peribit Networks, Inc. Dynamic multi-point meshed overlay network
US20030084249A1 (en) * 2001-10-31 2003-05-01 Johnson David J.C. Preemptive eviction of stale entries is a computer cache by use of age-bits
US6826656B2 (en) * 2002-01-28 2004-11-30 International Business Machines Corporation Reducing power in a snooping cache based multiprocessor environment
US7130931B2 (en) * 2003-06-18 2006-10-31 International Business Machines Corporation Method, system, and article of manufacture for selecting replication volumes
JP4327669B2 (ja) * 2004-06-29 2009-09-09 徳元 王 キャッシュ装置及び方法
US20060031639A1 (en) * 2004-08-06 2006-02-09 International Business Machines Corporation Write unmodified data to controller read cache
US8171169B2 (en) * 2005-03-14 2012-05-01 Citrix Systems, Inc. Method and apparatus for updating a graphical display in a distributed processing environment
US8423673B2 (en) 2005-03-14 2013-04-16 Citrix Systems, Inc. Method and apparatus for updating a graphical display in a distributed processing environment using compression
US8325795B1 (en) 2008-12-01 2012-12-04 Adobe Systems Incorporated Managing indexing of live multimedia streaming
US8782143B2 (en) * 2008-12-17 2014-07-15 Adobe Systems Incorporated Disk management
EP2598998A4 (de) * 2010-07-27 2014-10-15 Freescale Semiconductor Inc Vorrichtung und verfahren zur minimierung von prozessorlatenz
US9965607B2 (en) * 2012-06-29 2018-05-08 Apple Inc. Expedited biometric validation
WO2014042649A1 (en) 2012-09-14 2014-03-20 Empire Technology Development, Llc Cache coherence directory in multi-processor architectures
CN104995609B (zh) 2013-02-11 2017-12-19 英派尔科技开发有限公司 对发向目录的缓存回收通知的聚合
US9928355B2 (en) 2013-09-09 2018-03-27 Apple Inc. Background enrollment and authentication of a user
GB2521227B (en) * 2013-12-16 2020-11-25 Advanced Risc Mach Ltd Invalidation of index items for a temporary data store
US10901908B2 (en) 2019-01-16 2021-01-26 International Business Machines Corporation Storing data into a memory

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3845474A (en) * 1973-11-05 1974-10-29 Honeywell Inf Systems Cache store clearing operation for multiprocessor mode
US3866183A (en) * 1973-08-31 1975-02-11 Honeywell Inf Systems Communications control apparatus for the use with a cache store
US3967247A (en) * 1974-11-11 1976-06-29 Sperry Rand Corporation Storage interface unit
US4136386A (en) * 1977-10-06 1979-01-23 International Business Machines Corporation Backing store access coordination in a multi-processor system
DE2947115A1 (de) * 1978-12-11 1980-06-26 Honeywell Inf Systems Loeschanordnung fuer einen cache- speicher eines prozessors in einem multiprozessorsystem

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3786427A (en) * 1971-06-29 1974-01-15 Ibm Dynamic address translation reversed
US3949368A (en) * 1974-01-23 1976-04-06 Data General Corporation Automatic data priority technique
JPS5440182B2 (de) * 1974-02-26 1979-12-01
FR116049A (de) * 1975-03-20
US4008460A (en) * 1975-12-24 1977-02-15 International Business Machines Corporation Circuit for implementing a modified LRU replacement algorithm for a cache
US4092713A (en) * 1977-06-13 1978-05-30 Sperry Rand Corporation Post-write address word correction in cache memory system
CA1121515A (en) * 1977-12-08 1982-04-06 Charles P. Ryan Cache memory location selection mechanism
US4195343A (en) * 1977-12-22 1980-03-25 Honeywell Information Systems Inc. Round robin replacement for a cache store
JPS54128639A (en) * 1978-03-30 1979-10-05 Toshiba Corp Control system for cash memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3866183A (en) * 1973-08-31 1975-02-11 Honeywell Inf Systems Communications control apparatus for the use with a cache store
US3845474A (en) * 1973-11-05 1974-10-29 Honeywell Inf Systems Cache store clearing operation for multiprocessor mode
US3967247A (en) * 1974-11-11 1976-06-29 Sperry Rand Corporation Storage interface unit
US4136386A (en) * 1977-10-06 1979-01-23 International Business Machines Corporation Backing store access coordination in a multi-processor system
DE2947115A1 (de) * 1978-12-11 1980-06-26 Honeywell Inf Systems Loeschanordnung fuer einen cache- speicher eines prozessors in einem multiprozessorsystem

Also Published As

Publication number Publication date
AU540144B2 (en) 1984-11-01
JPH0470656B2 (de) 1992-11-11
CA1161172A (en) 1984-01-24
AU6594881A (en) 1982-04-01
FR2474721A1 (fr) 1981-07-31
JPS56114187A (en) 1981-09-08
US4322795A (en) 1982-03-30
DE3102150C2 (de) 1994-04-28
FR2474721B1 (fr) 1987-09-11
GB2068155B (en) 1984-04-04
GB2068155A (en) 1981-08-05

Similar Documents

Publication Publication Date Title
DE3102150A1 (de) &#34;schaltungsanordnung mit einem cachespeicher fuer eine zentraleinheit einer datenverarbeitungsanlage
DE2515696C2 (de) Datenverarbeitungssystem
DE3131341C2 (de)
DE3011552C2 (de)
DE2241257C3 (de) Datenverarbeitende Anlage
DE2226382C3 (de) Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern
DE3151745C2 (de)
DE69130086T2 (de) Mehrstufeneinschluss in mehrstufigen Cache-Speicherhierarchien
DE3688192T2 (de) Seitenorganisierter cachespeicher mit virtueller adressierung.
DE68923863T2 (de) Ein-/Ausgabecachespeicherung.
DE69030945T2 (de) Zweistufiger Adressübersetzungspufferspeicher mit partiellen Adressen zur Geschwindigkeitserhöhung
DE2415900A1 (de) Rechenautomat mit mehreren mit je einem vorratsspeicher versehenen rechenanlagen
DE2841041A1 (de) Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen arbeitsspeicher ausgeruesteten prozessoren
DE2856715C3 (de) Verfahren zum Durchführen einer Pufferspeicher-Koinzidenz in einem Mehrprozessorsystem
DE2523414B2 (de) Hierarchische Speicheranordnung mit mehr als zwei Speicherstufen
EP0600112A1 (de) Datenverarbeitungsanlage mit virtueller Speicheradressierung und schlüsselgesteuertem Speicherzugriff
DE3621321A1 (de) Cache-speicher- bzw. multiprozessor-system und betriebsverfahren
DE10219623A1 (de) System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen
DE3502147C2 (de)
DE1499182B2 (de) Datenspeichersystem
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE68928333T2 (de) Pufferspeicher, der zur Speicherung von Befehls- und Datenblöcken auf verschiedene Blockgrössen geeignet ist
DE3888438T2 (de) Cachespeichersteuerungsvorrichtung für eine Datenverarbeitungsanordnung mit virtuellem Speicher.
DE69030072T2 (de) Schneller Durchschreib-Cache-Speicher
DE3873388T2 (de) Cache-speicher.

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 12/08

8127 New person/name/address of the applicant

Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US

8127 New person/name/address of the applicant

Owner name: BULL HN INFORMATION SYSTEMS INC., WILMINGTON, DEL.

D2 Grant after examination
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: BULL HN INFORMATION SYSTEMS INC., BILLERICA, MASS.

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

Owner name: INTEL CORP., SANTA CLARA, CALIF., US

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

Free format text: BARDEHLE, PAGENBERG, DOST, ALTENBURG, FROHWITTER, GEISSLER & PARTNER PATENT- UND RECHTSANWAELTE, 81679 MUENCHEN

8339 Ceased/non-payment of the annual fee