DE2235841C2 - Datenverarbeitungsanlage mit Speichersteuerung für mindestens einen Prozessor und diesen zugeordneten Pufferspeichern - Google Patents

Datenverarbeitungsanlage mit Speichersteuerung für mindestens einen Prozessor und diesen zugeordneten Pufferspeichern

Info

Publication number
DE2235841C2
DE2235841C2 DE2235841A DE2235841A DE2235841C2 DE 2235841 C2 DE2235841 C2 DE 2235841C2 DE 2235841 A DE2235841 A DE 2235841A DE 2235841 A DE2235841 A DE 2235841A DE 2235841 C2 DE2235841 C2 DE 2235841C2
Authority
DE
Germany
Prior art keywords
memory
address
buffer
register
main memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2235841A
Other languages
English (en)
Other versions
DE2235841A1 (de
Inventor
Joseph Anthony Monrovia Alvarez, Md.
Robert Paul Rockville Barner, Md.
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2235841A1 publication Critical patent/DE2235841A1/de
Application granted granted Critical
Publication of DE2235841C2 publication Critical patent/DE2235841C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1063Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently virtually addressed

Landscapes

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

Description

Die Erfindung betrifft eine Datenverarbeitungsanlage mit Speichersteuerung mit einem Hauptspeicher, mindestens einer Zentraleinheit mit dieser zugeordnetem Pufferspeicher mit Arbeitsspeicher und zugehörigem Übersetzungslistenspeicher, wobei der Pufferspeicher bei einer Hauptspeicheranforderung über ein Pufferadreßregister durch die Zentraleinheit ansteuerbar ist
In einer Datenverarbeitungsanlage mit einer Speicherhierarchie werden für einen schnellen Zugriff durch die Zentraleinheit ausgewählte Datenblocks aus dem Hauptspeicher in einen Pufferspeicher überführt Wenn die Zentraleinheit neue Daten benötigt, überprüft das System zunächst den Pufferspeicher und stellt fest, ob die Daten dort zur Verfügung stehen. Ist dies der Fall, werden von dort die Daten an die Zentraleinheit abgegeben. Liegen die Daten nicht im Pufferspeicher vor, werden sie aus dem Hauptspeicher abgerufen.
In Systemen, in denen der Pufferspeicher sowohl durch logische als auch Echtadressen angesteuert werden kann, treten bei der Feststellung, ob die durch die logischen und echten Adressen bezeichneten Daten im Pufferspeicher eingespeichert sind, Probleme auf. In einem bereits vorgeschlagenen System, das in der Deutsehen Patentanmeldung der Anmelderin P 22 27 882.6-53 beschrieben ist, sind einige der hier auftretenden Probleme dadurch gelöst, daß alle logischen Adressen in echte Adressen umgesetzt werden und daß die im Pufferspeicher eingespeicherten Daten dadurch überwacht werden, daß ein Teil der entsprechenden echten Adressen in eine Pufferspeicherliste aufgenommen wird. Auf diese Weise ist dann, wenn einmal eine Adressenumsetzung durchgeführt und die Echtadresse eingespeichert ist, mit Sicherheit festzustellen, daß die durch die Echtadresse identifizierten Daten sich im Pufferspeicher befinden. Obwohl dieses System ausgezeichnet arbeitet, hat es doch seine Grenzen. Eine der Beschränkungen liegt darin, daß in einem System, wie
dem IBM System/360, der zur Feststellung, wo die Daten im Pufferspeicher eingespeichert sind, dienende Echtadreßteil auf den Echtadressen-Speicherabschnitt der vom Pufferspeicher aufgenommenen Adresse beschränkt ist Da die Eintragung auf dieses besondere Feld der aufgenommenen Adresse beschränkt ist, ist es auch auf eine festgelegte Anzahl von Bits beschränkt Für das System/360 würde es eine Beschränkung der Pufferspeicherliste auf 12 Bits bedeuten. Wegen dieser Beschränkung auf eine fest vorgegebene Anzahl von Bits zur Identifizierung eines Teils des Puffeispeichers ist die Größe der zugehörigen Segmente des Pufferspeichers ebenfalls auf die Zahl der Bits beschränkt, die zur Identifizierung von Teilen dieser zugehörigen Segmente zur Verfügung stehea Da dieses bereits vorgeschlagene System bei der Einspeicherung in die Pufferspeicherliste zur Identifizierung eines entsprechenden Abschnittes des Pufferspeichers auf die 12 Bits des Echtadressenabschnittes für die aufgenommene Adresse beschränkt ist, ist das entsprechende assoziative Segment im Pufferspeicher ebenfalls auf die Anzahl von Bytes beschränkt, die durch einen 12-Bit-Code identifiziert werden kann. Das heißt aber, daß jedes assoziative Segment auf 4 Kilobyte (212 = 4096 oder 4k) beschränkt ist Nach diesem älteren Verfahren muß also der Pufferspeicher auf die vorgegebene Anzahl von Bytes beschränkt werden, die durch das Echtfeld der Adresse identifizierbar ist Dies bedeutet im System/360 eine Beschränkung auf 4 Kilobyte.
Natürlich könnte man einen Pufferspeicher und eine Pufferspeicherliste aufbauen, die in Segmente zu 4 Kilobyte unterteilt ist Dies wird jedoch dann recht kostspielig, wenn der Gesamtausbau des Pufferspeichers beträchtliche Ausmaße annimmt Vom Kostenpunkt aus gesehen, wäre es bedeutend wirksamer, die Anzahl im Pufferspeicher erforderlicher Segmente dadurch zu verringern, daß man die Kapazität jedes der einzelne Segmente erhöht Dies war jedoch wegen der oben angegebenen Beschränkungen des älteren Systems nicht möglich.
Es muß hier darauf hingewiesen werden, daß das ältere System nur von dem Echtadreßfeld der aufgenommenen Adresse Gebrauch machte, da dieser Teil der Adresse sowohl für logische als auch für echte Adressen identisch ist Dies erkennt man deutlich aus Fig. 1, wo eine logische Adresse und eine echte Adresse einander gegenübergestellt sind. Die logische Adresse enthält ein t/-Feld (Bits 8 bis 17), ein V-FeId (Bits 18 und 19), und ein X-FeId (Bits 20 bis 26). Die Echtadresse enthält ein Q-FeId (Bits 8 bis 17), ein Ä-Feld (Bits 18 und 19) und ein XFeId (Bits 20 bis 26). Das XFeId und die Bits 27 bis 31 sind für logische und Echtadressen gleich, wenn die Adressen die gleichen Daten kennzeichnen. Bits 20 bis 31 sind der oben erwähnte Echtadressenabschnitt, der als beschränkender Faktor sich auf die Größe der assoziativen Elemente auswirkt, die bei dem älteren System Verwendung finden können. Wenn man in der aufgenommenen Adresse ein Feld benutzen könnte, das größer als dieses Echtadreßfeld (hier die Bits 20 bis 31) ist, dann wäre dieser Teil der aufgenommenen Adresse nicht in allen Fällen für logische und echte Adressen gleich. Wenn beispielsweise die Bits 18 bis 26 dazu benutzt werden, um Daten zu identifizieren und daher auch zur Erweiterung der assoziativen Segmente des Pufferspeichers, dann würde sich ein Teil des Feldes abhängig von der logischen Adresse ändern, die benutzt wurde, um die Daten zu erhalten. Würde man mit anderen Worten die Bits 18 bis 26 zur Eingabe in den Abruflistenspeicher zur Kennzeichnung der Speicherplätze für die Daten benutzen, wurden die Speicherplätze direkt von den Bits 18 bis 26 abhängea Da die Bits 18 und 19 der logischen und Echtadresse nicht notwendigerweise gleich sind und abhängig von der bestimmten logischen Adresse, die vom Abruf der Daten benutzt wurde, sich ändern würde, würden die Daten in verschiedenen Speicherplätzen eingespeichert werden. In diesem Fall (bei verschiedenen Bits 18 und 19) könnten die Daten
ίο möglicherweise abhängig vom Wert der Bits 18 und 19 an vier verschiedenen Speicherorten innerhalb des Pufferspeichers gespeichert werden.
Würde man in dem älteren System die Bits 18 bis 26 für Zugriff und Speicherung von Daten in einem Pufferspeicher benutzen, wäre dieses Feld für logische und Echtadressen das gleiche. D. h., die Bits 18 und 19 würden riner logischen Adresse entsprechen, während die Bits 20 bis 26 dem Echtteil der Adresse entsprechen würden. Daher könnte ein Blockzugriff zum Pufferspeicher unter Verwendung eines Feldes mit den BiCs 18 bis 26 anschließend auch über eine logische Adresse mit einem zwar unterschiedlichen Feld (Bits 18 bis 26) adressiert werden, die jedoch in Wirklichkeit die gleichen Daten darstellen. Da in dem älteren System keinerlei Vorkehrungen getroffen sind um zu erkennen, daß die beiden Adressen sich auf den gleichen Datenblock beziehen, würde die zweite Adresse nicht in der Lage sein, festzustellen, daß dieser Datenblock sich bereits im Pufferspeicher befindet und demgemäß den Datenblock erneut aus dem Hauptspeicher abrufen. Somit ist also der durch die erste Adresse in den Pufferspeicher überführte Datenblock im wesentlichen transparent für eine Bezugnahme auf den gleichen Datenblock durch andere logische Adressea Aus diesem Grund ist das bereits vorgeschlagene System auf die Bits 20 bis 31 des Echt-Adreß-Feldes beschränkt
Aus dieser Darstellung der Problematik ergibt sich auch die Aufgabe der vorliegenden Erfindung, nämlich die Verwendung von größeren Assoziativsegmenten als bisher zu ermöglichen, wobei gleichzeitig die Anzahl von assoziativen Segmenten für eine vorgegebene Kapazität des Pufferspeichers auf einem Minimum gehalten wird.
Insbesondere soll dabei erreicht werden, daß das Pufferspeicher-Teilfeld, das zur Kennzeichnung der im Pufferspeicher liegenden Daten dient, aus einem logischen und einem Echtteil besteht Ganz allgemein gesprochen soll es also möglich sein, eine von außerhalb, beispielsweise einer Kanaleinheit oder der Zentraleinheit kommende Anforderung für einen Datenblock zu erkennen, um festzustellen, daß dieser Datenblock im Pufferspeicher liegt, selbst wenn dieser Datenblock zuvor mit einer völlig anderen Adresse abgerufen und im Pufferspeicher eingespeichert worden ist
Die genannte Aufgabe wird durch die im Patentanspruch 1 gekennzeichneten Merkmale gelöst Man verwendet also für jeden benutzten Arbeitsspeicher einen Datenabruflistenspeicher und einen Sammelabruflistenspeicher. Der Abruflistenspeicher wird entweder mit dem VX-FeId einer logischen Adresse oder dem ÄXFeld einer Echtadresse angesteuert Jeder Eintrag im Abruflistenspeicher enthält das Feld QR der Adresse des entsprechenden im Arbeitsspeicher eingespeicherten Datenblocks. Der Daten-Sammelabruflistenspeicher wird immer mit dem ΛΧ-Feld der Echtadresse angesteuert. Ein Eintrag im Sammelabruflistenspeicher besteht aus QV, wobei V aus der logischen Adresse gewonnen wird, die ursprünglich zur Überführung der
entsprechenden Daten in den Arbeitsspeicher gedient hat Für jeden im Arbeitsspeicher liegenden Datenblock gibt es eine Eintragung im Abruflistenspeicher und im Sammelabruflistenspeicher. Ein im Arbeitsspeicher liegender Datenblock wird mit dem VXFeId der logischen Adresse angesteuert Ist der Block nicht eingespeichert, dann wird die Echtadresse an alle Arbeitsspeicher des Systems weitergeleitet, einschließlich dem anfordernden Arbeitsspeicher. Das RX-Fe\d der echten Adresse wird zum Suchargument für den Sammelabruflistenspeieher. Wenn sich aufgrund dieses Sammelabrufs eine Übereinstimmung ergibt, dann liegt der Datenblock im zugehörigen Arbeitsspeicher. Der Abschnitt, in dem der Datenblock im Arbeitsspeicher liegt, wird durch VX bezeichnet (wobei V aus dem Sammelabruflistenspeicher entnommen wird). Das Segment in dem der Datenblock liegt, ist mit dem Segment identisch, in dem die Übereinstimmung im Sammelabruflistenspeicher auftrat
Wird die Suche im Abruflistenspeicher durchgeführt und wird der gesuchte Datenblock im Arbeitsspeicher des Pufferspeichers nicht gefunden, wird ein Austauschalgorithmus verwendet, der sicherstellt, daß alle modifizierten gültigen Daten, die im Arbeitsspeicher liegen könnten, im Hauptspeicher eingespeichert werden, bevor neue Daten abgerufen werden, während gleichzeitig sichergestellt wird, daß die entsprechenden Eintragungen im Abruflistenspeicher und im Sammelabruflistenspeicher auf den neuesten Stand gebracht werden, so daß sichergestellt ist, daß nur eine entsprechende Eintragung der Daten innerhalb des Pufferspeichers gehalten wird.
Die Erfindung wird nunmehr anhand eines Ausführungsbeispiels in Verbindung mit beigefügten Figuren näher beschrieben. Dabei zeigen
F i g. 1 das verwendete Datenformat für logische Adressen und echte Adressen,
Fig.2 ein Blockdiagramm einer Datenverarbeitungsanlage gemäß der Erfindung,
Fig.3 ein mehr ins einzelne gehendes Blockdiagramm einer Datenverarbeitungsanlage gemäß der Erfindung,
F i g. 4 das Speicherformat im Abruflistenspeicher,
F i g. 5 ein Flußdiagramm zur Erläuterung der Arbeitsweise der erfindungsgemäßen Anlage,
F i g. 6 ein Beispiel der Eintragungen im Abruflistenspeicher und im Sammelabruflistenspeicher, wenn das R(FD)-FdO des im Pufferspeicher zu ersetzenden Datenblocks mit dem R(PD)-FeId des neuen abzurufenden Datenblocks übereinstimmt und
F i g. 7 beispielsweise die Eintragungen im Abruflistenspeicher und Sammelabruflistenspeicher, wenn das R-(FD)-FeId des im Pufferspeicher zu ersetzenden Datenblocks mit dem K(J D)-Feld des neu abzurufenden Datenblocks nicht übereinstimmt
In F i g. 2 ist ein mit mehreren Zentraleinheiten 101 ausgestattetes System dargestellt, deren jede einen Pufferspeicher 102 enthält Jede der Zentraleinheiten 101 ist über eine Datensammelleitung 103 an eine Speichersteuereinheit 106 angeschlossen. Die Speichersteuereinheit 106 steuert Zugriff und Priorität des Zugriffs zum Hauptspeicher 109 und steuert außerdem die Datenübertragung mit den anderen Speichersteuereinheiten 106. Jede Speichersteuereinheit 106 kann über eine Datenleitung 104 an Eingabe/Ausgabegeräte 105 angeschlossen sein. Außerdem ist jede Speichersteuereinheit 106 mit ihrer benachbarten Speichersteuereinheit 106 durch eine interne Steuersammelleitung 107 verbunden. Jede der Speichersteuereinheiten 106 ist außerdem über eine Leitung 108 mit dem Hauptspeicher 109 verbunden. Es darf darauf hingewiesen werden, daß die Zentraleinheit 101 nicht nur eine einzige Zentraleinheit, sondern auch eine wesentlich komplexere nach dem Pipelineverfahren arbeitende Zentraleinheit sein kann, in der gleichzeitig eine Anzahl von Befehlsfolgen verarbeitet wird, wobei die einzelnen Befehlsfolgen sich gleichzeitig der Pufferspeicher 102 bedienen.
Das Speichersteuersystem gemäß F i g. 2 gestattet eine modifizierte Eintragung von Daten im Pufferspeicher 102. Durch ein Sammelabrufsytem kann jede Zentraleinheit 101 jede andere Zentraleinheit 101 abfragen, ob eine modifizierte (d. h. auf den neuesten Stand gebrachte) Version der gesuchten Daten in einem anderen Pufferspeicher 102 eingespeichert ist Wird in einem anderen Pufferspeicher 102 eine solche modifizierte Version der gesuchten Daten aufgefunden, wird sie nach der anfordernden Zentraleinheit 101 über den Hauptspeicher 109 übertragen. Bei diesem System, in dem in einem Pufferspeicher 102 nur eine modifizierte Version eines Datenblocks enthalten sein kann, erhält die anfordernde Zentraleinheit in einem Hauptspeicherzyklus die Daten immer auf neuestem Stand. Die Arbeitsweise dieses Speichersteuersystems ist in allen Einzelheiten in der Deutschen Patentanmeldung P 22 26 382.7-53 beschrieben.
Anhand von F i g. 3 soll nun eine ins einzelne gehende Beschreibung des Pufferspeichers 102 gegeben werden. Der Pufferspeicher 102 soll dabei für die Zentraleinheit
101 als sehr schnell arbeitender Speicher dienen, der viel schneller ist als der Hauptspeicher 109. Dieser Pufferspeicher liefert dabei die zuletzt benutzten Datenblöcke an die Zentraleinheit 101, speichert auf den neuesten Stand gebrachte Datenblöcke, speichert Aufzeichnungen über den Status und die Disposition von Daten und steht über die oben erwähnte Sammelabrufeinrichtung mit anderen Pufferspeichern 102 in Verbindung.
Die wesentlichen Teile des Pufferspeichers 102 sind der Arbeitsspeicher 200, der Abruflistenspeicher 210, der Übersetzungslistenspeicher 220 und der Sammelabruflistenspeicher 230.
Obgleich der Pufferspeicher 102 in verschiedener Weise organisiert sein kann, ist hier der Pufferspeicher
102 innerhalb des Arbeitsspeichers 200 in linke und rechte Segmente unterteilt jedes dieser Segmente enthält 512 Speicherabschnitte. Jeder Speicherabschnitt besteht aus 64 Bytes, wobei je 32 Bytes jedem Segment zugeordnet sind. Jeder Speicherabschnitt dient der direkten Überwachung zwischen Pufferspeicher 102 und Hauptspeicher 109. Ein Datenblock im Hauptspeicher 109 kann in jedem der beiden Blocksegmente für den Speicherabschnitt des Arbeitsspeichers 200 untergebracht sein. Dieses Übcrwachungsschema ist ein assoziatives Zweiwegüberwachungsschema. Es ist dem Fachmann ohne weiteres klar, daß verschiedenste Überwachungsschemata in einem Pufferspeicher 102 verwendet werden können und daß die Erfindung hierbei nicht auf diese spezifische Art der Überwachung beschränkt ist
Die Systemarchitektur der vorliegenden Ausführungsform verwendet als Systemadresse die Bits 8 bis 31, die einmal den Speicherabschnitt durch die Bits 8 bis 27 und das Byte durch die Bits 28 bis 31 kennzeichnen. Das Segment wird durch Vergleich der Systemadresse 8 bis 19 mit dem Inhalt des Abruflistenspeichers 210 ermittelt der mit ähnlichen Parametern organisiert ist wie der Arbeitsspeicher 200.
Der Abruflistenspeicher 210 speichert eine Tabelle,
die die im Arbeitsspeicher 200 gespeicherten Daten bezeichnet und klassifiziert Der Abruflistenspeicher 210 enthält dabei eine Kopie jeder eingespeicherten Blockadresse und liefert die Suchargumente für alle vom Arbeitsspeicher 200 ausgehenden, von der Zentraleinheit eingeleiteten Datenabrufe und ist organisationsmäßig ähnlich aufgebaut wie der Arbeitsspeicher 200. Dabei gibt es eine 16-Bit-Eintragung per Arbeitsspeicher. Die Adressenbits des Abruflistenspeichers 210 sind die gleichen wie im Arbeitsspeicher 200. Im Hinblick auf F i g. 4 enthalten die 16 Bits jeder Eintragung im Abruflistenspeicher 210 die folgenden Felder:
1. 12 Block ID-Bils 30, die den Bits 18 bis 19 der Systemadresse entsprechen und den Hauptspeicherblock bezeichnen, der in dem entsprechenden Arbeitsspeicher 2ÖÖ gerade eingetragen ist.
2. Ein modifiziertes Bit 31 gibt an, daß der im Arbeitsspeicher liegende Block durch das Programm geändert worden ist
3. Ein Löschbit 32 gibt an, daß dieser Datenblock nicht ersetzt werden wird.
4. Ein RC-Bit 33 dient zur Decodierung des zu ersetzenden Segmentes, wenn bei einem Zugriff ein Verzeichnisfehler auftritt.
5. Ein Gültigkeitsbit 34 gibt an, daß ein Hauptspeicherblock im Arbeitsspeicher 200 liegt.
Das modifizierte Bit 31 und das Gültigkeitsbit 34 stellen sicher, daß nur eine einzige gültige modifizierte Version der Daten in einem der Pufferspeicher 102 liegen kann.
Der Sammelabruflistenspeicher 230 dient der Bestimmung des Zustandes des Arbeitsspeichers 200 für alle allen Arbeitsspeichern zugeführten Suchargumente. Die Organisation des Sammelabruflistenspeichers ist ähnlich wie die Organisation des Arbeitsspeichers 200 und die Eintragung ist die gleiche wie zuvor für den Speicher 210 beschrieben.
Der Übersetzungslistenspeicher 220 enthält alle notwendigen Informationen zur Übersetzung der logischen Adressen in echte Adressen und ist als Assoziativspeicher mit 64 Speicherblöcken aufgebaut Jeder Speicherblock besteht aus den Bits 8 bis 13 der logischen Adresse und den Bits 8 bis 19 der echten Adresse, der der logische Adreßabschnitt entspricht Die Eintragungen in den Übersetzungslistenspeicher kommen vom Hauptspeicher, wenn eine Übersetzung der logischen Adresse in eine echte Adresse erforderlich ist
Das Pufferadreßregister 202 dient der Aufnahme der über die Leitung 201 von der Zentraleinheit 101 kommenden Adressen. Das Pufferadreßregister 202 ist mit dem Arbeitsspeicher 200, dem übersetzungslisienspeicher 220 und dem Abruflistenspeicher 210 sowie mit den Vergleichern 218, 212 und 214 verbunden und liefert verschiedene Teile der aufgenommenen Adresse an die verschiedenen Einheiten.
Eine Verriegelungsschaltung 204 für dynamische Adreßübersetzung zeigt an, wenn die im Pufferadreßregister 202 aufgenommene Adresse übersetzt werden muß. Diese Verriegelungsschaltung wird durch Schaltmittel in der Zentraleinheit 101 eingestellt, wenn eine logische Adresse über die Leitung 201 an das Pufferadreßregister 202 übertragen wird. Dies kann durch das gerade in der Zentraleinheit verarbeitete Programm geschehen oder aber durch ein Teil des Programmstatuswortes, das in der Zentraleinheit 102 eingespeichert ist In iedem Fall wird von der Zentraleinheit 101 ein Signal über die Sammelleitung 203 ausgesandt und stellt die Verriegelungsschaltung 204 ein, wenn eine Adreßübersetzung nötig ist. Die Verriegelungsschaltung 204 ist mit dem Übersetzungslistenspeicher 220 verbunden und liefert an diesen eine Kennzeichnung, daß eine Adreßübersetzung erforderlich ist. Sammelabrufadreßregister 228 nimmt Adressen von der Speichersteuereinheit 106 über Sammelleitung 227, die ein Teil der Sammelleitung 103 in F i g. 1 ist, auf. Verschiedene Teile des Sammelabruf adreßregisters 228 sind mit dem Sammelabruflistenspeicher 230, den Vergleichern 234 und 236 und dem Konzentrationsregister 233 verbunden. Pufferausgangsregister links 207 und Pufferausgangsregister rechts 208 dienen der Aufnahme der Ausgangssignale der linken und rechten Segmente des Arbeitsspeichers 200. Abruflistenspeicher 210 hat für seine beiden Segmente ausgangsscitig ebenfalls ein linkes Register 211 und ein rechtes Register 213 vorgesehen. Übersetzungslistenspeicher 220 weist ebenfalls ein Ausgangsregister 220 auf. Der Sammelabruflistenspeicher 230 hat für die linke Seite ein Ausgangsregister 231 und für die rechte Seite ein Ausgangsregister 232.
Vergleicher 214 und 212 dienen dem Vergleich, der aus den linken und rechten Segmenten des Abruflisten-Speichers 210 kommenden Echtadreßteilen mit den Echtadreßteilen im Pufferspeicheradreßregister 202 falls dort eine echte Adresse vorhanden ist, oder mit dem Echtadreßteil der Übersetzungsadresse, die aus einem Zugriff zum Übersetzungslistenspeicher 220 re-
sultiert und im Ausgangsregister 221 des Übersetzungslistenspeichers 220 in dem Fall liegt, wenn im Pufferadreßregister 202 eine logische Adresse eingespeichert ist Vergleicher 214 und 212 sind außerdem mit dem linken Ausgangsregister 207 und dem rechten Ausgangsregister 208 des Arbeitsspeichers verbunden und dienen der Steuerung der Durchschaltung von Daten von diesen Registern, vorausgesetzt, daß die gewünschten Daten in diesen Registern liegen.
Vergleicher 218 dienen dem Vergleich des logischen
Adreßausgangssignals vom Übersetzungslistenspeicher 220, über dessen Ausgangsregister 221 mit dem logischen Adreßteil der im Pufferadreßregister 202 liegenden Adresse, wenn eine solche logische Adresse im Pufferadreßregister 203 eingespeichert ist
Vergleicher 234 und 236 dienen dem Vergleich des Echtadreßteils der Eintragung im Sammelabruflistenspeicher 230, der aus dem linken oder rechten Segment ausgelesen wird, mit den Echtadreßteilen der Eintragung im Sammelabrufregister 228, das zum Durchsuchen des Sammelabruflistenspeichers 230 dient
Konzentrationsregister 233 ist mit dem Sammelabrufadreßregister 228 und dem Sammelabruflistenspeicher und dessen linken Ausgangsregister sowie dessen rechten Ausgangsregister verbunden, wobei das Konzentrationsregister 233 die Kombination eines Teils der Adresse im Sammelabrufregister 228 mit einem Teil der entsprechenden aus dem Sammelabruflistenspeicher 230 ausgelesenen Eintrag ermöglicht, um so eine neue Adresse für die Ansteuerung des Arbeitsspeichers 200 zu bilden.
Arbeitsweise der Anlage
Die Arbeitsweise der erfindungsgemäß aufgebauten Anlage wird nunmehr unter Verwendung einer 24-Bit-Adresse in einer Seitengröße von 4 Kilobyte und einer Segmentgröße von 1 Megabyte beschriebea Selbstver-
ständlich lassen sich in gleicher Weise auch andere Seiten- und Segmentabmessungen verwenden.
Die von der Zentraleinheit angeforderte logische Adresse wird über die Sammelleitung 201 in F i g. 3 an das Pufferadreßregister 202 übertragen. Die Bits 8 bis 17 sind hier das £/-Feld, die Bits 18 bis 19 das V-FeId und die Bits 20 bis 26 das X-FeId. Diese Felder können entweder ein Teil einer wirklichen oder einer logischen Adresse sein, je nach Einstellung der Verriegelungsschaltung 204. Nach Eintreffen der logischen Adresse im Pufferadreßregister 202 und der Anzeige, daß die Verriegelungsschaltung 204 so eingestellt ist, daß sie die Einspeicherung einer logischen Adresse im Pufferadreßregister 202 anzeigt, wird der Übersetzungslistenspeicher 220 angesteuert. Dazu dienen die Bits 14 bis 19 der im Pufferadreßregister 202 eingespeicherten logischen A.dresse. Es so!! hier darauf hingewiesen werden daß die Indexierung des Übersetzungslistenspeichers vollständig nicht assoziativ ist und daß die Bits 14 bis 19 nur eine Eintragung im Übersetzungslistenspeicher 220 adressieren. Die Funktion des Übersetzungslistenspeichers 220 besteht darin, die höherwortigcn 12 Bits einer logischen Adresse (z. B. 8 bis 19) in die höheren 12 Bits der echten Adresse, die dieser logischen Adresse entspricht, umzusetzen. Da die niedrigen 12 Bits der Adresse das Byte innerhalb einer Seite bezeichnen, sind sie für eine Adreßumsetzung invariant und brauchen daher nicht berücksichtigt zu werden. Eine Eintragung im Übersetzungslistenspeicher 220 enthält die 12 höherwertigen Bits (die Bits 8 bis 19) der echten Adresse und auch die Bits 8 bis 13 der logischen Adresse, der dieser Eintrag entspricht Dabei werden die höherwertigen Bits der in dem Übersetzungslistenspeicher 220 liegenden echten Adresse dargestellt als Q(TD) zur Kennzeichnung der Bits 8 bis 17 der echten Adreßeintragung und als R(CD) zur Kennzeichnung der Bits 18 bis 19 dieser echten Adreßeintragung. Da jede logische Adresse mit identischen Bits 14 bis 19 automatisch in demselben Speicherplatz des Übersetzungslistenspeichers 220 eingerückt, sind nur diese Bits zur Adressierung des Übersetzungslistenspeichers 220 erforderlich. Da jede logische Adresse mit identischen Bits 14 bis 19 in die gleiche Speicherposition im Übersetzungslistenspeicher 220 paßt, müssen Bits 8 bis 19 der logischen Adresse innerhalb jeder Eintragung gehalten werden, um anzuzeigen, welche logische Adresse diese Eintragung zuletzt benutzt hat Die durch die Bits 14 bis 19 bezeichnete Eintragung der logischen Adresse wird dann nach dem Ausgangsregister 221 des Übersetzungslistenspeichers durchgeschaltet
Gleichzeitig mit dem Zugriff zum Übersetzungslistenspeicher 220 gemäß Schritt 1 in F i g. 5 folgt auch ein Zugriff zum A.bruflister.speicher 210 und .Arbeitsspeicher 200. Die Bits 18 bis 26 der im Pufferadreßregister 202 liegenden logischen Adresse dienen zur Indexierung der 512 Eintragungspaare sowohl im Arbeitsspeicher 200 als auch im Abruflistenspeicher 210. Jede Eintragung im Abruflistenspeicher 210 enthält die Bits 8 bis 19 der echten Adresse entsprechend dem im Arbeitsspeicher 200 liegenden Datenblock. Diese Bits werden als Q(FD) für die Bits 8 bis 17 und R(FD) für die Bits 18 und 19 bezeichnet Als Ergebnis des Zugriffs zum Abruflistenspeicher 210 wird die in den linken und rechten Segmenten der durch Bits 18 bis 26 im Puuferadreßregister 202 spezifizierten Adresse nach dem linken Ausgangsregister 211 und dem rechten Ausgangsregister 213 des Abruflistenspeichers durchgeschaltet In gleicher Weise werden die in dem linken und rechten Segment des Arbeitsspeichers 200 liegenden durch die Bits 18 bis 26 im Pufferadreßregister 202 bezeichneten Datenblöcke nach dem linken Ausgangsregister 207 und dem rechten Ausgangsregister 208 des Pufferspeichers geleitet
Während des Zugriffs zum Arbeitsspeicher 200 werden die Bits 8 bis 13 des logischen Adreßfeldes im Pufferadreßregister 202 im Vergleicher 218 mit den Bits 8 bis 13 der logischen Adresse verglichen, die in dem
adressierten Eintrag im Übersetzunglistenspeicher 220 gespeichert war, was nach dem Ausgangsregister 221
des Übersetzungslistenspeichers 220 durchgeschaltet war.
Zeigt der Vergleich im Vergleicher 218 an, daß die Felder nicht gleich sind, dann müssen die Segment- und Seitentabellen aufgerufen oder adressiert werden, um die richtige Echtadresse für die logische A.dresse im Pufferadreßregister 202 aufzufinden. Dies wird in üblicher Weise durch Abrufen des entsprechenden Über-Setzungsschlüssels aus der zugehörigen Tabelle durchgeführt. Dies läßt sich in verschiedener Weise erreichen, z. B. dadurch, daß man den Umsetzungsschlüssel im Hauptspeicher eingespeichert hält Nach Durchführung der entsprechenden Umwandlung für die logische Adresse wird diese an dem durch Bits 14 bis 19 der umgesetzten logischen Adresse bestimmten Speicherplatz in den Übersetzungslistenspeicher 220 eingespeichert. Beim Laden der korrekten Übersetzung von der logischen zur Echtadresse im Übersetzungslistenspeicher
ist es notwendig, nochmals den Übersetzungslistenspeicher zu adressieren, um die richtige Adressenübersetzung zu erhalten. Dies wird auf gleiche Weise erzielt, wie in Zusammenhang mit den Bits 14 bis 19 der im Pufferadreßregister 202 liegenden logischen Adresse beschrieben wurde, die zur Adressierung der entsprechenden Eintragung im Übersetzungslistenspeicher 220 benutzt wurde. Diese Eintragung wird nach dem Ausgangsregister 221 des Übersetzungslistenspeichers 220 durchgeschaltet Der Vergleich der Bits 8 bis 13 der im Übersetzungslitenspeicherausgangsregister 221 liegenden Adresse im Vergleicher 218 mit den Bits 8 bis 13 im Pufferadreßspeicher 202 liegenden logischen Adresse wird wiederholt
Wenn der Vergleich im Vergleicher 218 anzeigt, daß die verglichenen Felder gleich sind, d. h. daß in dem Übersetzungslistenspeicher ein Treffer erzielt wurde, dann werden die Echtadreßbits in der Eintragung im Übersetzungslistenspeicher, die in dessen Ausgangsregister 221 liegen, mit den Echtadreßbits in beiden Eintragungen des Abruflistenspeichers 210 verglichen, die nach dessen linken Ausgangsregister 211 und rechten Ausgangsregister 213 durchgeschaltet waren. Diese Vergleiche werden im Vergleicher 214 und 212 durchgeführt D. h., Q(TD) R(TD), die im Ausgangsregister
221 des Übersetzungslistenspeichers liegen, wird mit Q(FD) R(FD) Eintragung im linken Ausgangsregister 211 und im rechten Ausgangsregister 213 des Abruflistenspeichers 210 in den Vergleichern 214 bzw. 212 verglichen. Das ist in F i g. 5 als Schritt 4 angedeutet Ein erfolgreicher Vergleich mit einer der Eintragungen im Abruflistenspeicher 210 bedeutet, daß die Daten im Pufferspeicherblock 200, die der Eintragung im Abruflistenspeicher 210 entsprechen, auch den Daten entsprechen, die durch die logische Adresse im Pufferadreßregister 202 bezeichnet ist In diesem Fall schaltet der Vergleicher, der einen positiven Vergleich erzielt, den Inhalt des entsprechenden Ausgangsregisters des Pufferspeichers nach der Zentraleinheit durch. D. h., wenn im
Vergleicher 214 ein positiver Vergleich erzielt wird, wird der Inhalt aus dem linken Ausgangsregister 207 des Pufferspeichers über die Datenleitung 209 an die Zentraleinheit 101 durchgeschaltet In gleicher Weise, wenn im Vergleicher 212 ein positiver Vergleich erzielt wird, wird der Inhalt des rechten Ausgangsregisters 208 des Pufferspeichers über die Datenleitung 205 an die Zentraleinheit durchgeschaltet. Es ist jedoch nicht möglich, für beide Eintragungen im Abruflistenspeicher 210 einen positiven Vergleich mit der logischen Adresse zu erzielen, da die durch die Echtadresse gekennzeichneten Daten nur in ein Segment des Arbeitsspeichers 200 passen. D. h., daß die durch die Echtadresse gekennzeichneten Daten nicht in beiden Segmenten des Arbeitsspeichers 200 eingespeichert sein können. Wenn keine der Eintragungen, die aus dem Abruflistenspeicher 210 ausgelesen wurden, einen positiven Vergleich mit dem vom Übersetzungslistenspeicher durchgeschaiteten Echtadreßteil liefert, dann sind die angeforderten Daten nicht an der durch die Bits 18 bis 26 der im Pufferadreßregister 202 liegenden Adresse bezeichneten Speicherstelle und es muß ein Sammelaufruf für diesen Datenblock eingeleitet werden.
Wenn die von der Zentraleinheit angeforderte Adresse eine Echtadressse ist, dann ist das Verfahren das gleiche wie für die logische Adresse mit der wesentlichen Ausnahme, daß der Übersetzungslistenspeicher 220 nicht benötigt wird. Wird die Echtadresse in das Pufferadressregister 202 eingespeichert, wird die Verriegelungsschaltung 204 durch die Zentraleinheit nicht eingestellt, da in diesem Fall eine Adreßübersetzung nicht erforderlich ist Bits 19 bis 26 der im Pufferadreßregister 202 liegenden Echtadresse werden zur Indexierung des Arbeitsspeichers 200 und des Abruflistenspeicher 210 benutzt Die Adreßeintragungen im Abruflistenspeicher 210 für das linke und rechte Segment werden in die entsprechenden Ausgangsregister 211 bzw. 213 ausgelesen. Gleichzeitig mit dieser Operation werden die adressierten Eintragungen der linken und rechten Segmente des Arbeitsspeichers 200 an das linke Ausgangsregister 207 bzw. das rechte Ausgangsregister 208 abgegeben. Da die im Pufferadreßregister 202 liegende Adresse eine Echtadresse ist, werden die Bits 8 bis 19 der im Pufferadreßregister 202 liegenden Adresse mit den Echtadreßbits in beiden Eintragungen des Abruflistenspeichers 210 verglichen, d. h., Bits 8 bis 19 der im Pufferadreßregister 202 liegende Adresse werden mit dem Inhalt des linken Ausgangsregisters 211 des Abruflistenspeichers 210 im Vergleicher 214 und mit dem Inhalt des rechten Ausgangsregisters 213 im Vergleicher 212 verglichen. Bei einem positiven Vergleich mit einer der Eintragungen im Abruflistenspeicher 210 zeigt dies an, daß die Daten im entsprechenden Block im Arbeitsspeicher 200 den Daten entsprechen, die durch die im Pufferadreßregister 202 liegenden Echtadresse bezeichnet sind. Bei positiven Vergleich werden die Daten desjenigen Segments, in dem der positive Vergleich erzielt wurde, nach der Zentraleinheit 101 durchgeschaltet Bei erfolglosem Vergleich im Vergleicher 212 oder 214 liegen die gesuchten Daten nicht im Arbeitsspeicher 200 an der durch die Bits 18 bis 26 der Adresse im Pufferadreßregister 202 bezeichneten Speicherstelle und es muß ein Sammelaufruf für den gesuchten Datenblock eingeleitet werden.
Bei einem solchen Sammelaufruf wird die echte Adresse nach der Speichersteuereinheit 106 übertragen und von dort nach dem Hauptspeicher 109 und allen übrigen Pufferspeichern 102 einschließlich dem anfordernden Pufferspeicher 102 zum Abrufen der gewünschten Daten weitergeleitet Da die Daten durch ihre echte Adresse eindeutig gezeichnet werden können, wird die echte Adresse unter allen Umständen im Sammelaufruf benutzt Somit wird also bei Sammelaufruf die Echtadresse über die Datenleitung 227 in das Sammelabrufadreßregister 228 geleitet Die verschiedenen Felder im Sammelabrufadreßregister 228 sind Q für die Bits 8 bis 17, R für die Bits 18 und 19 und X für die Bits 20 bis 26.
Bits 18 bis 26 (RX) der echten Adresse werden zum Indizieren des Sammelabruflistenspeichers 230 beim Einleiten eines Sammelaufrufs benutzt Jede Eintragung im Sammelabruflistenspeicher 230 entspricht einem 10-Bit Echtadreßfeld und entspricht dem höherwertigen 10-Bits Q der Echtadresse der in der entsprechenden Eintragung im Arbeitsspeicher 200 gespeicherten Adresse. Jede Eintragung im Sammelabruflistenspeicher 230 enthält außerdem ein 2-Bit-Feid V (BSD), das den Bits 18 und 19 der logischen Adresse entspricht, die den entsprechenden Datenblock in den Arbeitsspeicher 200 überführte. Daher werden beim Zugriff zum Sammelabruflistenspeicher 230 durch die Bits 18 bis 26 der im Sammelabrufadreßregister 228 enthaltenen echten Adresse die dem linken und rechten Segment des Sammelabruflistenspeichers 230 entsprechenden Eintragungen nach dem linken Ausgangsregister 231 oder dem rechten Ausgangsregister 232 geleitet Der Inhalt dieser Register wird durch Q (BSD) dargestellt, das den Echtadressen Bits 8 bis 17 der in der Eintragung im Arbeitsspeicher 200 gespeicherten Daten entspricht, während
V (BSD) den Bits 18 bis 19 der logischen Adresse entspricht, die die Eintragung nach dem Pufferspeicher 200 überführte. Das Q (BSD) Feld im linken Ausgangregister 231 und im rechten Ausgangsregister 232 wird mit dem Q-FeId (8—17) des Sammelaufrufadreßregisters 228 im Vergleicher 234 bzw. 236 verglichen. Ein erfolgreicher Vergleich in einem der beiden Vergleicher zeigt an, daß der Datenblock sich im Arbeitsspeicher 200 befindet
V (BSD)X bezeichnet den Abschnitt des Arbeitsspeichers 200 in dem sich der gewünschte Datenblock befindet Wenn also ein positiver Vergleich in einem der beiden Vergleicher 234 oder 236 angezeigt wird, wird das
V (BSD)-Feld in dem entsprechenden Ausgangsregister des Sammelabruflistenspeichers aus dem Vergleicher, in dem ein erfolgreicher Vergleich stattfand, zugeordnet ist, gleichzeitig mit der Überführung des X-Felds der Adresse im Sammelabrufadreßregister 228 nach dem Konzentrationsregister 233 geleitet Der Inhalt des Konzentrationsregisters 233 bezeichnet den Pufferspeicherabschnitt, in dem der gewünschte Datenblock liegt und dient der Durchschaltung zum Zugriff der gewünschten Daten innerhalb des Arbeitsspeichers 200.
Bisher war der FaU besprochen worden, bei dem die gewünschten Daten im Arbeitsspeicher 200 an der durch die Adresse im Puuferspeicheradreßregister 202 bezeichneten Speicherposition lagen. Liegen die Daten nicht an der so bezeichneten Stelle im Pufferspeicher, dann geht folgendes vor sich.
Wird der Pufferspeicher 102 durch eine logische Adresse angesteuert und befindet sich diese Adresse nicht im Ubersetzungslistenspeicher 220, dann muß dieser mit der richtigen Echtadreßinformation geladen werden. Sobald die echte Adresse bekannt ist, kann der Arbeitsspeicher 200 und der Abruflistenspeicher 210, wie bereits beschrieben, adressiert werden, um festzustellen, ob der gewünschte Datenblock sich im Arbeitsspeicher 200 befindet
13 14
Wird keine Ejitragung für den gewünschten Daten- neuen Stand gebracht, d. h. mit Q(TDjR(TDX Au3er-
biock im Abruflistenspeicher 210 in dem durch das dem wird der durch R(TD)X im Sammtlabruflistenspei-
VX-FeId der Adresse im Pufferadreßregister 202 be- eher bezeichnete Speicherabschnitt mit der echten
zeichneten Speicherstelle gefunden, dann läuft das Ver- Adresse des abzurufenden Datenblocks (z. B. Q(TDJ)
fahren wie folgt ab. 5 und dem virtuellen Zeigerfeld Vauf den neuesten Stand
Zunächst muß der gewünschte Datenblock in den gebracht Außerdem wird der durch die Adresse im Puf-
durch das VX-FeId bezeichneten Abschnitt des Arbeits- feradreßregister 202 bezeichnete Datenblock vom
Speichers 200 überführt werdea Es kann jedoch sein, Hauptspeicher abgerufen und in den Arbeitsspeichern
daß in diesem Abschnitt des Arbeitsspeichers 200 ein an- an der durch das VX-FeId bezeichneten Speicherstelle
derer Datenblock liegt Wenn daher der im VX-Ab- io eingespeichert
schnitt des Arbeitsspeichers 200 liegende Datenblock Zur Erläuterung, wie dieses Blockaustauschverfahren eine modifizierte gültige Form ist (was anzeigt, daß dies und die Anordnung der Eintragungen in den listenspeidie neueste Ausgabe dieser Daten innerhalb des Rech- ehern ausgeführt werden, dienen F i g. 6 und 7. Jede dienersystems ist), muß dieser Datenblock zum Hauptspei- ser Figuren erläutert angenommene Eintragungen im eher übertragen werden. Wenn jedoch die im VX-Ab- 15 Abruflistenspeicher 210 und im Sammelabruflistenspeischnitt des Arbeitsspeichers 200 liegenden unerwünsch- eher 230. Dabei zeigen Pfeile wie die Eintragungen ten Daten entweder ungültig oder nicht modifiziert R(FD) und V(BSD) im Abruflistenspeicher 210 bzw. im sind, dürfen sie nicht nach dem Hauptspeicher 109 oder Sammelabruflistenspeicher 230 auf Eintragungen in einem anderen Pufferspeicher 102 überführt werden. dem jeweils anderen Listenspeicher hinweist
Wenn daher das Ausgangssignal des Abruflistenspei- 20 F i g. 6 zeigt den Fall, wo R(FD) des im Arbeitsspeichers 210 anzeigt, daß die im VX-Abschnitt des Arbeits- eher 200 zu ersetzenden Blocks ;m R(TD) des neuen abspeichers 200 liegenden Daten modifiziert sind, wird zurufenden Datenblocks gleich ist Wie bereits beeine Abspeicherung dieses Datenblocks im Hauptspei- merkt, wird der neue Datenblock vom Hauptspeicher eher eingeleitet Zusätzlich zeigt die Eintragung im Sam- 109 geholt Eintragungen werden im Abruflistenspeimelabruflistenspeicher 220 an, daß diese unerwünsch- 25 eher 210 und im Sammelabruflistenspeicher 230 an den ten Daten ungültig sind und nichts weiter unternommen durch VX bzw. R(TD)X bezeichneten Stellen durchgewerden muß, da die neuen Daten einfach in die gleiche führt In dem in F i g. 6 gezeigten Beispiel weist der zu Speicherstelle im Arbeitsspeicher 200 eingespeichert ersetzende Datenblock eine logische Adresse derart werden, wodurch die bisher dort liegenden Daten ge- auf, daß VX = OLXund R(TD)X = ll.Xist Wie in löscht werden. Für den Fall, daß die Suche im Abrufli- 30 F i g. 6 gezeigt, ist die Eintragung R(FD) im Abruflistenstenspeicher 210 anzeigt, daß die Daten nicht modifi- speicher 12 vor dem Datenblockaustausch für VX = ziert sind, dann muß die Eintragung im Sammelabrufli- 01.X = 11 und damit = R(TD). Daher sind nach Abrustenspeicher 213, die mit R(FD)X bezeichnet ist, ungül- fen des Datenblocks in dem Arbeitsspeicher 200 und tig gemacht werden. nach Vornahme der entsprechenden Eintragungen im
Sind dann die zwei Bits des Feldes R(TD) des vom 35 Abruflistenspeicher 210 und im Sammelabruflistenspei-Hauptspeicher 109 abzurufenden Datenblocks nicht eher 230 die entsprechenden Zeiger R(FD) und V(BSD) gleich mit den entsprechenden Bits R(FD) der im die gleichen. Daher wird durch den Blockaufruf kein anAugenblick in dem durch das Feld VX bezeichneten derer Datenblock im Pufferspeicher beeinflußt
Abschnitt des Arbeitsspeichers 200 liegenden Daten, F i g. 7 zeigt den etwas komplizierteren Fall, bei dem wird die Eintragung im Sammelabruflistenspeicher 230 40 R(FD) des im Arbeitsspeichers 200 zu ersetzenden Dafür den abzurufenden Datenblock bei R(TD)X und nicht tenblocks nicht gleich R(TD) des neu abzurufenden Da- R(FD)X aufgefunden wie für den eben vorliegenden tenblocks ist
Datenblock. Wenn alsu R(TD) = R(FD) ist, dann müs- In F i g. 7 hat der auszutauschende Datenblock eine sen die Eintragungen im Sammelabruflistenspeicher logische Adresse VX= 10.Xund R(TD)X= 11.X. Hier nicht überprüft werden und der oben angegebene dritte 45 ist eindeutig, daß R(FD) = 10 und R(TD) = 11 ungleich Verfahrensschritt wird eingeleitet Wenn jedoch R(TD) sind. Daher wird eine durch R(FD)X im Sammelabruflinicht gleich R(FD) ist oder wenn der im Arbeitsspeicher stenspeicher 230 bezeichnete Eintragung ungültig ge- 200 bei VX liegende Datenblock ungültig ist, dann muß macht und der entsprechende Datenblock wird einge· der Inhalt des Sammelabruflistenspeichers 230 an dem speichert wenn er modifiziert ist, d. h., daß die zehn Eindurch R(TD)X bezeichneten Speicherabschnitt über- 50 tragungen bei VX = 10 ungültig gemacht werden prüft werden. Wenn diese Eintragung anzeigt, daß der Dann wird die im Sammelabruflistenspeicher 230 durch entsprechende Datenblock ungültig ist, wird der dritte R(TD)Xbezeichnete Eintragung (die in F i g. 7 = 11 ist] Verfahrensschritt eingeleitet Wenn der Prüfung anzeigt, ausgespeichert, um V(BSD) zu erhalten, das ir daß der Datenblock nicht modifiziert ist, wird die Ein- F i g. 7 = 01 ist Die im Abruflistenspeicher 210 durch tragung im Abruflistenspeicher 210 an der durch 55 V(BSD)X liegende Eintragung wird ungültig gemaehl VfÄSLyX bezeichneten Stelle ungültig gemacht, worauf und der entsprechende Block wird eingespeichert der dritte Schritt eingeleitet wird. Wenn endlich be- wenn er modifiziert ist Daher wird in F i g. 7 die R(FD, stimmt wird, daß diese Eintragung modifiziert ist, dann Eintragung 11 bei 01 (V(BSD)X) ungültig gemacht Dei wird dadurch der im Arbeitsspeicher an der durch neue Datenblock wird vom Hauptspeicher geholt unc V(BSD)X bezeichneten Speicherstelle liegende Daten- 60 im Arbeitsspeicher 200 eingespeichert Im Abruflistenblock zur Einspeicherung an den Hauptspeicher 109 speicher 210 wird bei VX= 10.X eine Eintragung vor übertragen. Dabei wird auch die Eintragung im Abrufli- genommen, die = R(TD) ist (d. h., 11 wird an der Stelle stenspeicher 210 an der durch V(BSD)X bezeichneten VX= 10.Xeingespeichert). Außerdem wird eine Eintra Speicherstelle ungültig gemacht und der dritte Verfah- gung im Sammelabruflistenspeicher 230 be rensschritt eingeleitet. 65 R(TD)X = 11.X) vorgenommen. Die entsprechender Im dritten Verfahrensschritt wird die durch VX bezeich- Eintragungen sind in dem rechten Teil der F i g. 7 für di« nete Speicherstelle im Abruflistenspeicher 210 der Listenspeicher nach Speicherung des neuen Daten echten Adresse des abzurufenden Datenblocks auf den blocks dargestellt.
Auf diese Weise wird ein Datensatz, der durch eine logische Adresse in den Arbeitsspeicher 200 überführt wurde, die sich von der augenblicklich zutreffenden Adresse unterscheidet, identifiziert Wenn ferner im Pufferspeicher ein Datenblock an einer anderen
Speicherstelle liegt, die durch die anfordernde Adresse bezeichnet ist, wird er zu der Anforderungsadresse überführt und damit wird sichergestellt, daß ein Datenblock im Pufferspeicher zu jedem Zeitpunkt nur an einer Stelle eingespeichert sein kann.
Hierzu 4 Blatt Zeichnungen

Claims (5)

Patentansprüche:
1. Datenverarbeitungsanlage mit Speichersteuerung mit einem Hauptspeicher, mindestens einer Zentraleinheit mit dieser zugeordnetem Pufferspeicher mit Arbeitsspeicher und zugehörigem Übersetzungslistenspeicher, wobei der Pufferspeicher bei einer Hauptspeicheranforderung über ein Pufferadreßregister durch die Zentraleinheit ansteuerbar ist, dadurch gekennzeichnet,
daß der Pufferspeicher (102) außer dem dem Arbeitsspeicher (200) zugeordneten, von der Zentraleinheit mit einem Teil (14—19) der im Pufferadreßregister liegenden Adresse direkt ansteuerbaren Übersetzungslistenspeicher (220) noch einen Abruflistenspeicher (210) zur Speicherung logischer und echter Adreßfelder aller an den Arbeitsspeicher (200) übertragenen Datenblöcke enthält, welcher bei Ansteuerung über das Pufferadreßregister (202) mit einem Teil (V) der logischen Adresse und einem invariablen Echtadreßteil (X) ansteuerbar ist, und
daß sowohl dem Übersetzungslistenspeicher (220) als auch dem Abruflistenspeicher (210) jeweils ein Vergleicher (218 bzw. 212,214) so nachgeschaltet ist, daß sich aus einem Vergleich der niedrigstwertigen Bits (8—13) der logischen Adresse im Pufferadreßregister und am Ausgang des Übersetzungslistenspeichers (220) bei Übereinstimmung unmittelbar ein Vergleich der am Ausgang des Übersetzungslistenspeichers (220) liegenden Echtadreßteile (Q R, (TD)) mit den am Ausgang des Abruflistenspeichers liegenden Echtadreßteilen (Q1 R (FD)) ergibt, daß der der echten Adresse enstprechende Datenblock im Arbeitsspeicher an der angegebenen Adresse liegt
2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet,
daß das am Ausgang des Übersetzungslistenspeichers (220) vorgesehene Ausgangsregister (221) mit den die logische Adresse darstellenden Bits (8—13) an dem unmittelbar an den gleichen Bits (8—13) des Pufferadreßregisters (202) angekoppelten Vergleicher (218) angeschlossen ist, während der Echtadreßteil (8-17; 18, 19; Q (TD) R (T)) dieses Ausgangsregisters zum Vergleich mit den im Ausgangsregister (211,213) des Abruflistenspeichers (210) liegenden Echtadressen (Q (FD), R (FD); 8-17; 18,19; an dem entsprechenden Vergleicher (212,214) angeschlossen ist, der bei positivem Vergleich über ein Pufferspeicher-Ausgangsregister (207, 208) die Übertragung des gesuchten Datenblocks aus dem Arbeitsspeicher nach dem Hauptspeicher freigibt.
3. Datenverarbeitungsanlage nach den Ansprüchen 1 und 2 mit einem Hauptspeicher mit mehreren Zentraleinheiten und diesen zugeordneten Pufferspeichern mit Arbeitsspeicher und zugehörigem Übersetzungslistenspeicher, dadurch gekennzeichnet,
daß ein Sammelabruf-Listenspeicher (230) vorgesehen ist, in dem die echten Adressen (R, X) aller nach dem Arbeitsspeicher (200) in einem Pufferspeicher (102) übertragenen Datenblöcke eingespeichert sind, und
daß der Sammelabruf-Listenspeicher von der jeweiligen Zentraleinheit über ein Sammelabruf-Adreßregister (228) mit Echtadressen (R, X; 18-26; ansteu
erbar ist
4. Datenverarbeitungsanlage nach Anspruch 3, dadurch gekennzeichnet,
daß ein dem Ausgangsregister (231, 232) des Sammelaufruf-Listenspeichers (230) nachgeschalteter Vergleicber (234,236) durch die niedrigwertigen Bits (Q; 8—17; der von der Speichersteuerung (106) an das Sammelabruf-Adreßregister (228) übertragenen echten Adresse zur Feststellung ansteuerbar ist, ob
ίο der angeforderte Datenblock im Arbeitsspeicher
(200) liegt
5. Datenverarbeitungsanlage nach den Ansprüchen 3 bis 4, dadurch gekennzeichnet,
daß der Arbeitsspeicher (200), der Abruflistenspeieher (220) und der Sammelabruf-Listenspeicher (230) jeweils in ein rechtes und ein linkes Segment unterteilt sind, und daß demgemäß auch dem Abruflistenspeicher PlO) bzw. dem Sammelaufruf-Listenspeicher (230) für jedes Segment ein Ausgangsregister (211, 213 bzw. 231, 232) und jedem Ausgangsregister ein Vergleicher (214, 212, bzw. 234, 236) sowie den erstgenannten Vergleichern (212, 214) und dem Arbeitsspeicher (200) je Segment ein Pufferspeicher-Ausgangsregister (207, 208) nachgeschaltet sind, das der Übertragung der aus dem Arbeitsspeicher (200) ausgelesenen Datenblöcke nach der Zentraleinheit dient
DE2235841A 1972-01-20 1972-07-21 Datenverarbeitungsanlage mit Speichersteuerung für mindestens einen Prozessor und diesen zugeordneten Pufferspeichern Expired DE2235841C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US21936272A 1972-01-20 1972-01-20

Publications (2)

Publication Number Publication Date
DE2235841A1 DE2235841A1 (de) 1973-07-26
DE2235841C2 true DE2235841C2 (de) 1982-12-09

Family

ID=22818975

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2235841A Expired DE2235841C2 (de) 1972-01-20 1972-07-21 Datenverarbeitungsanlage mit Speichersteuerung für mindestens einen Prozessor und diesen zugeordneten Pufferspeichern

Country Status (6)

Country Link
US (1) US3723976A (de)
JP (1) JPS5325457B2 (de)
DE (1) DE2235841C2 (de)
FR (1) FR2168748A5 (de)
GB (1) GB1397253A (de)
IT (1) IT967619B (de)

Families Citing this family (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3902164A (en) * 1972-07-21 1975-08-26 Ibm Method and means for reducing the amount of address translation in a virtual memory data processing system
US4010451A (en) * 1972-10-03 1977-03-01 National Research Development Corporation Data structure processor
US3806888A (en) * 1972-12-04 1974-04-23 Ibm Hierarchial memory system
US4068304A (en) * 1973-01-02 1978-01-10 International Business Machines Corporation Storage hierarchy performance monitor
US3825904A (en) * 1973-06-08 1974-07-23 Ibm Virtual memory system
US3866183A (en) * 1973-08-31 1975-02-11 Honeywell Inf Systems Communications control apparatus for the use with a cache store
FR130806A (de) * 1973-11-21
FR2253430A5 (de) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
FR2258113A5 (de) * 1973-11-30 1975-08-08 Honeywell Bull Soc Ind
NL7317545A (nl) * 1973-12-21 1975-06-24 Philips Nv Geheugensysteem met hoofd- en buffergeheugen.
US4073005A (en) * 1974-01-21 1978-02-07 Control Data Corporation Multi-processor computer system
US3909798A (en) * 1974-01-25 1975-09-30 Raytheon Co Virtual addressing method and apparatus
JPS5615066B2 (de) * 1974-06-13 1981-04-08
DE2605617A1 (de) * 1976-02-12 1977-08-18 Siemens Ag Schaltungsanordnung zum adressieren von daten
JPS52130532A (en) * 1976-04-27 1977-11-01 Fujitsu Ltd Address conversion system
US4042911A (en) * 1976-04-30 1977-08-16 International Business Machines Corporation Outer and asynchronous storage extension system
US4247893A (en) * 1977-01-03 1981-01-27 Motorola, Inc. Memory interface device with processing capability
US4170039A (en) * 1978-07-17 1979-10-02 International Business Machines Corporation Virtual address translation speed up technique
JPS6013501B2 (ja) * 1978-09-18 1985-04-08 富士通株式会社 仮想計算機システムにおけるチヤネルアドレス制御方式
DE2842288A1 (de) * 1978-09-28 1980-04-17 Siemens Ag Datentransferschalter mit assoziativer adressauswahl in einem virtuellen speicher
DE2947115A1 (de) * 1978-12-11 1980-06-26 Honeywell Inf Systems Loeschanordnung fuer einen cache- speicher eines prozessors in einem multiprozessorsystem
US4254463A (en) * 1978-12-14 1981-03-03 Rockwell International Corporation Data processing system with address translation
US4276609A (en) * 1979-01-04 1981-06-30 Ncr Corporation CCD memory retrieval system
DE3071216D1 (en) * 1979-01-09 1985-12-12 Sullivan Computer Shared memory computer apparatus
US4484262A (en) * 1979-01-09 1984-11-20 Sullivan Herbert W Shared memory computer method and apparatus
DE2939411C2 (de) * 1979-09-28 1982-09-02 Siemens AG, 1000 Berlin und 8000 München Datenverarbeitungsanlage mit virtueller Speicheradressierung
US4332010A (en) * 1980-03-17 1982-05-25 International Business Machines Corporation Cache synonym detection and handling mechanism
US4382278A (en) * 1980-06-05 1983-05-03 Texas Instruments Incorporated Hierarchial memory system with microcommand memory and pointer register mapping virtual CPU registers in workspace cache #4 and main memory cache
JPS5734251A (en) * 1980-08-07 1982-02-24 Toshiba Corp Address conversion and generating system
US4399506A (en) * 1980-10-06 1983-08-16 International Business Machines Corporation Store-in-cache processor means for clearing main storage
US4400770A (en) * 1980-11-10 1983-08-23 International Business Machines Corporation Cache synonym detection and handling means
DE3177181D1 (de) * 1980-11-10 1990-06-21 Ibm Anordnung zur erkennung und verarbeitung von synonymen in cache-speichern.
US4394731A (en) * 1980-11-10 1983-07-19 International Business Machines Corporation Cache storage line shareability control for a multiprocessor system
US4481573A (en) * 1980-11-17 1984-11-06 Hitachi, Ltd. Shared virtual address translation unit for a multiprocessor system
US4520441A (en) * 1980-12-15 1985-05-28 Hitachi, Ltd. Data processing system
US4482952A (en) * 1980-12-15 1984-11-13 Nippon Electric Co., Ltd. Virtual addressing system using page field comparisons to selectively validate cache buffer data on read main memory data
EP0054082B1 (de) * 1980-12-19 1985-08-07 Brita Wasser-Filter-Systeme GmbH Vorrichtung zur Wasserreinigung
US4400774A (en) * 1981-02-02 1983-08-23 Bell Telephone Laboratories, Incorporated Cache addressing arrangement in a computer system
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
US4464712A (en) * 1981-07-06 1984-08-07 International Business Machines Corporation Second level cache replacement method and apparatus
US4425618A (en) 1981-11-23 1984-01-10 Bell Telephone Laboratories, Incorporated Method and apparatus for introducing program changes in program-controlled systems
US4441155A (en) * 1981-11-23 1984-04-03 International Business Machines Corporation Page controlled cache directory addressing
JPS58147879A (ja) * 1982-02-26 1983-09-02 Toshiba Corp キヤツシユメモリ制御方式
US4504902A (en) * 1982-03-25 1985-03-12 At&T Bell Laboratories Cache arrangement for direct memory access block transfer
US4550368A (en) * 1982-07-02 1985-10-29 Sun Microsystems, Inc. High-speed memory and memory management system
US4527232A (en) * 1982-07-02 1985-07-02 Sun Microsystems, Inc. High-speed memory and memory management system
US4604691A (en) * 1982-09-07 1986-08-05 Nippon Electric Co., Ltd. Data processing system having branch instruction prefetching performance
US4569018A (en) * 1982-11-15 1986-02-04 Data General Corp. Digital data processing system having dual-purpose scratchpad and address translation memory
JPS59161744A (ja) * 1983-03-04 1984-09-12 Hitachi Ltd 情報処理装置のスキヤン方式
US4654790A (en) * 1983-11-28 1987-03-31 Amdahl Corporation Translation of virtual and real addresses to system addresses
US4646237A (en) * 1983-12-05 1987-02-24 Ncr Corporation Data handling system for handling data transfers between a cache memory and a main memory
GB8405491D0 (en) * 1984-03-02 1984-04-04 Hemdal G Computers
US4710868A (en) * 1984-06-29 1987-12-01 International Business Machines Corporation Interconnect scheme for shared memory local networks
US4663742A (en) * 1984-10-30 1987-05-05 International Business Machines Corporation Directory memory system having simultaneous write, compare and bypass capabilites
US4991081A (en) * 1984-10-31 1991-02-05 Texas Instruments Incorporated Cache memory addressable by both physical and virtual addresses
JPH0652511B2 (ja) * 1984-12-14 1994-07-06 株式会社日立製作所 情報処理装置のアドレス変換方式
JPS61166653A (ja) * 1985-01-19 1986-07-28 Panafacom Ltd アドレス変換エラー処理方法
US4899275A (en) * 1985-02-22 1990-02-06 Intergraph Corporation Cache-MMU system
US5255384A (en) * 1985-02-22 1993-10-19 Intergraph Corporation Memory address translation system having modifiable and non-modifiable translation mechanisms
US4860192A (en) * 1985-02-22 1989-08-22 Intergraph Corporation Quadword boundary cache system
US4933835A (en) * 1985-02-22 1990-06-12 Intergraph Corporation Apparatus for maintaining consistency of a cache memory with a primary memory
US4884197A (en) * 1985-02-22 1989-11-28 Intergraph Corporation Method and apparatus for addressing a cache memory
US4636990A (en) * 1985-05-31 1987-01-13 International Business Machines Corporation Three state select circuit for use in a data processing system or the like
US4875155A (en) * 1985-06-28 1989-10-17 International Business Machines Corporation Peripheral subsystem having read/write cache with record access
JPS62118457A (ja) * 1985-11-19 1987-05-29 Hitachi Ltd バツフア記憶制御方式
JPS62202247A (ja) * 1985-11-25 1987-09-05 Nec Corp キヤツシユメモリ内容一致処理方式
US4785398A (en) * 1985-12-19 1988-11-15 Honeywell Bull Inc. Virtual cache system using page level number generating CAM to access other memories for processing requests relating to a page
US4755936A (en) * 1986-01-29 1988-07-05 Digital Equipment Corporation Apparatus and method for providing a cache memory unit with a write operation utilizing two system clock cycles
US4774659A (en) * 1986-04-16 1988-09-27 Astronautics Corporation Of America Computer system employing virtual memory
US5237671A (en) * 1986-05-02 1993-08-17 Silicon Graphics, Inc. Translation lookaside buffer shutdown scheme
JPH0614324B2 (ja) * 1986-05-02 1994-02-23 エムアイピ−エス コンピユ−タ− システムズ、インコ−ポレイテイド コンピユ−タシステム
US4821185A (en) * 1986-05-19 1989-04-11 American Telephone And Telegraph Company I/O interface system using plural buffers sized smaller than non-overlapping contiguous computer memory portions dedicated to each buffer
JPH0814803B2 (ja) * 1986-05-23 1996-02-14 株式会社日立製作所 アドレス変換方式
US4768148A (en) * 1986-06-27 1988-08-30 Honeywell Bull Inc. Read in process memory apparatus
US5091846A (en) * 1986-10-03 1992-02-25 Intergraph Corporation Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency
JPH0195347A (ja) * 1987-10-08 1989-04-13 Nec Corp アドレス変換方式
DE3854384T2 (de) * 1987-11-30 1996-03-28 Ibm Verfahren zum Betreiben eines einen anteilig genutzten virtuellen Speicher verwendenden Multiprozessorsystems.
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
US5226039A (en) * 1987-12-22 1993-07-06 Kendall Square Research Corporation Packet routing switch
US5251308A (en) * 1987-12-22 1993-10-05 Kendall Square Research Corporation Shared memory multiprocessor with data hiding and post-store
US5761413A (en) * 1987-12-22 1998-06-02 Sun Microsystems, Inc. Fault containment system for multiprocessor with shared memory
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
US5282201A (en) * 1987-12-22 1994-01-25 Kendall Square Research Corporation Dynamic packet routing network
US5029070A (en) * 1988-08-25 1991-07-02 Edge Computer Corporation Coherent cache structures and methods
US4928225A (en) * 1988-08-25 1990-05-22 Edgcore Technology, Inc. Coherent cache structures and methods
JPH0291747A (ja) * 1988-09-29 1990-03-30 Hitachi Ltd 情報処理装置
DE68923863T2 (de) * 1989-01-13 1996-03-28 Ibm Ein-/Ausgabecachespeicherung.
EP0458552B1 (de) * 1990-05-18 2003-01-15 Sun Microsystems, Inc. Dynamischer hierarchischer Leitwegverzeichnisorganisationsassoziativspeicher
JP2778291B2 (ja) * 1991-05-31 1998-07-23 日本電気株式会社 アドレス変換レジスタ制御方式
US5313647A (en) * 1991-09-20 1994-05-17 Kendall Square Research Corporation Digital data processor with improved checkpointing and forking
CA2078315A1 (en) * 1991-09-20 1993-03-21 Christopher L. Reeve Parallel processing apparatus and method for utilizing tiling
CA2078310A1 (en) * 1991-09-20 1993-03-21 Mark A. Kaufman Digital processor with distributed memory system
GB2260429B (en) * 1991-10-11 1995-05-24 Intel Corp Versatile cache memory
US5522058A (en) * 1992-08-11 1996-05-28 Kabushiki Kaisha Toshiba Distributed shared-memory multiprocessor system with reduced traffic on shared bus
US6138126A (en) * 1995-05-31 2000-10-24 Network Appliance, Inc. Method for allocating files in a file system integrated with a raid disk sub-system
US5581704A (en) * 1993-12-06 1996-12-03 Panasonic Technologies, Inc. System for maintaining data coherency in cache memory by periodically broadcasting invalidation reports from server to client
JP3169155B2 (ja) * 1993-12-22 2001-05-21 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 情報をキャッシュするための回路
JPH07262093A (ja) * 1994-03-17 1995-10-13 Hitachi Ltd 記憶装置の領域再構成制御方式
US6128714A (en) 1994-03-17 2000-10-03 Hitachi, Ltd. Method of processing a data move instruction for moving data between main storage and extended storage and data move instruction processing apparatus
US6006312A (en) * 1995-02-27 1999-12-21 Sun Microsystems, Inc. Cachability attributes of virtual addresses for optimizing performance of virtually and physically indexed caches in maintaining multiply aliased physical addresses
US5799307A (en) * 1995-10-06 1998-08-25 Callware Technologies, Inc. Rapid storage and recall of computer storable messages by utilizing the file structure of a computer's native operating system for message database organization
US6766314B2 (en) * 2001-04-05 2004-07-20 International Business Machines Corporation Method for attachment and recognition of external authorization policy on file system resources
US20030110205A1 (en) * 2001-12-07 2003-06-12 Leith Johnson Virtualized resources in a partitionable server
US8386527B2 (en) * 2009-11-30 2013-02-26 Pocket Soft, Inc. Method and system for efficiently sharing array entries in a multiprocessing environment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US26429A (en) * 1859-12-13 Candle-mold
US3388381A (en) * 1962-12-31 1968-06-11 Navy Usa Data processing means

Also Published As

Publication number Publication date
IT967619B (it) 1974-03-11
FR2168748A5 (de) 1973-08-31
JPS5325457B2 (de) 1978-07-27
JPS4883740A (de) 1973-11-08
DE2235841A1 (de) 1973-07-26
GB1397253A (en) 1975-06-11
US3723976A (en) 1973-03-27

Similar Documents

Publication Publication Date Title
DE2235841C2 (de) Datenverarbeitungsanlage mit Speichersteuerung für mindestens einen Prozessor und diesen zugeordneten Pufferspeichern
DE2227882C2 (de) Virtuelle Speicheranordnung
DE2226382C3 (de) Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern
DE3011552C2 (de)
DE2455047C2 (de) Datenverarbeitungssystem mit einem Informationsspeicher
DE2241257C3 (de) Datenverarbeitende Anlage
DE2260353C2 (de) Schaltungsanordnung für die Adressenumsetzung in einer Datenverarbeitungsanlage
DE2240433C3 (de) Hierarchische Datenspeicheranordnung für mehrere über Pufferspeicher angeschlossene Einheiten und ein Verfahren zu deren Betrieb
DE2856133C2 (de) Datenverarbeitungsvorrichtung mit einem Hauptspeicher und einem Assoziativspeicher als Pufferspeicher
DE2231146C3 (de) Datenverarbeitungsanlage mit virtueller Adressierung
DE2459006C2 (de) Einrichtung zum Bilden einer absoluten Adresse in einer Datenverarbeitunsanlage
DE4410060B4 (de) Übersetzungsvorrichtung zum Umsetzen einer virtuellen Speicheradresse in eine physikalische Speicheradresse
DE2230266C2 (de) Datenverarbeitungsanlagen mit einer Zentraleinheit unter Verwendung virtueller Adressierung
DE69317729T2 (de) Cache-Etikettenspeicher
DE2847960C2 (de) Speichersteuereinrichtung
DE2807476C2 (de) Speichereinrichtung mit mehreren virtuellen Adreßräumen
DE2841041A1 (de) Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen arbeitsspeicher ausgeruesteten prozessoren
DE2346525A1 (de) Virtuelle speichereinrichtung
DE2154106A1 (de) Arbeitsspeicherwerk
DE3621321A1 (de) Cache-speicher- bzw. multiprozessor-system und betriebsverfahren
DE2302074A1 (de) Speicherschutzanordnung in einem multiprozessorsystem
CH617781A5 (de)
DE2939411C2 (de) Datenverarbeitungsanlage mit virtueller Speicheradressierung
DE3833933A1 (de) Informationsverarbeitungseinrichtung mit einer adressenerweiterungsfunktion
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage

Legal Events

Date Code Title Description
OD Request for examination
D2 Grant after examination
8339 Ceased/non-payment of the annual fee