DE2235841A1 - Anordnung zur speichersteuerung mit logischer und echter adressierung - Google Patents

Anordnung zur speichersteuerung mit logischer und echter adressierung

Info

Publication number
DE2235841A1
DE2235841A1 DE2235841A DE2235841A DE2235841A1 DE 2235841 A1 DE2235841 A1 DE 2235841A1 DE 2235841 A DE2235841 A DE 2235841A DE 2235841 A DE2235841 A DE 2235841A DE 2235841 A1 DE2235841 A1 DE 2235841A1
Authority
DE
Germany
Prior art keywords
memory
address
data
buffer
list
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
DE2235841A
Other languages
English (en)
Other versions
DE2235841C2 (de
Inventor
Joseph Anthony Alvarez
Robert Paul Barner
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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • GPHYSICS
    • 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
    • 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/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

Böblingen, 4. Juli 19 72 heb-we
Anmelderin: International Business Machines
Corporation, Armonk, N.Y. 10504
Amtliches Aktenzeichen: fiieuanmeldung Aktenzeichen der Anmelderin: WA 9 71 004
Anordnung zur Speichersteuerung mit logischer und echter Adressierung ;
Die Erfindung bezieht sich allgemein auf datenverarbeitende Maschinen und insbesondere auf eine Anordnung zur Speichersteuerung mit logischer und echter Adressierung in einer solchen Anlage.
In einem System mit einer Speicherhierarchie werden für einen schnellen Zugriff durch die Zentraleinheit ausgewählte Datenblocks aus dem Hauptspeicher in einen örtlichen Pufferspeicher überführt. Wenn die Zentraleinheit neue Daten benötigt, überprüft das System zunächst den Pufferspeicher, um festzustellen, 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 einer Patentanmeldung der Anmelderin (US-Aktenzeichen 158 180) vom 30. Juni 1971 mit dem Titel 'Virtuelles Speichersystem" beschrieben ist, sind einige der hier auftretenden Probleme dadurch gelöst, üaß alle logischen Adressen in echte Adressen umgesetzt werden
309830/1038
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 durchfü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 Systera/360, der zu 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 Pufferspeichers ist die Größe der zugehörigen Segmente des Pufferspeichers ebenfalls auf die Zahl der Bits beschränkt, die zur Identifzierung von Teilen dieser zugehörigen Segmente zur Verfügung stehen. Da dieses bereits vorgeschlagene System bei der Einspeicherung in die Pufferspeicherliste zur Indentifizierung 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,
12 daß jedes assoziative Segment auf 4 Kilobyte (2 = 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 Pufferspeicher-WA 971 004 309830/1038
liste aufbauen r die in Segmente zu 4 Kilobyte unterteil·^ 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 einzelnen Segmente .erhöht. Dies war jedoch wegen der oben angegebenen Beschränkungen des älteren Systems nicht möglich.
jus 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. l, wo eine logische Adresse und eine echte Adresse einander gegenübergestellt sind. Die logische Adresse enthält ein Ü-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 U-FeId (Bits 8 bis 17), ein R-FeId (Bits 18 und 19) und ein X-FeId (Bits 20 bis 26). Das X-FeId 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 die Pufferspeicherliste zur Kennzeichnung der Speicherplätze für die Daten benutzen, wurden die Speicherplätze direkt Von den Bits 18 bis 26 abhängen. Da die Bits 18 und 19 der logischen
™ 971 004 ' 309830/ 1 Q 3 R
und Lchtadresse nicht notwendigerweise gleich sind und abhängig von aer bestimmten logischen Adresse, die vom Abruf der Daten benutzt wurde sich ändern würde, wurden 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 Vvert 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 einer 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 Bits 12 bis 26 anschließend auch über eine logische Adresse mit einem zwar unterschiedlichen Feld (Bits 18 bis 26) adressiert werden, die jedoch die in Wirklichkeit 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 Adressen. Aus diesem Grund ist das bereits vorgeschlagene System auf die Bits 20 bis 31 des Echt-Ädreß-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
WA 971 004 309830/1038
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 üatenblock 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.
Um dies zu erreichen, verwendet man in dem erfindungsgemäß aufgebauten System für jeden benutzten Pufferspeicher einen Datenabruf listenspeicher und einen Daten-Sammelabruflistenspeicher. Der Abruflistenspeicher wird entweder mit dem VX-FeId einer logischen Adresse oder dem RX-FeId einer Echtadresse angesteuert. Jeder Eintrag im Abruflistenspeicher enthält das Feld QR der Adresse des entsprechenden im Pufferspeicher eingespeicherten Datenblocks. Der Daten-Sammelabruflistenspeicher wird immer mit dem RX-FeId 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 Pufferspeichef gedient hat. Für jeden im Pufferspeicher liegenden Datenblock gibt es eine Eintragung im Abruflistenspeicher und im Sammelabruflistenspeicher. Ein im Pufferspeicher liegender Datenblock wird mit dem VX-FeId der logischen Adresse angesteuert. Ist der Block nicht eingespeichert, dann wird die Echtadresse an alle Pufferspeicher des Systems weitergeieitet, einschließlich dem anfordernden Pufferspeicher. Das RX-FeId der echten Adresse wird zum Suchargument für den Sämmelabruflistenspeicher. Wenn sich aufgrund dieses Sammelabrufs eine Übereinstimmung ergibt, dann liegt der Datenblock im zugehörigen Pufferspeicher; Der Abschnitt, in dem der Datenblock im Pufferspeicher liegt, wird durch VX bezeichnet (wobei V aus dem Sammelabruflistenspeicher entnommen wird). Das Segment, in dem der Datenblock
9 71 004 ■ 3 0 9 8 3 0/1038.
liegt, ist mit dem Segment identiscn, in dem die Übereinstimmung im Sammelabruflistenspeicher auftrat.
Wird die Suche im Abruflistenspeicher durchgeführt und wird der gesuchte Datenblock im Pufferspeicher nicht gefunden, wird ein Austauschalgorithmus verwendet, der sicherstellt, daß alle modizifierten gültigen Daten, die im Pufferspeicher 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 zeigt:
Fig. 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,
Fig. 4 das Speicherformat im Abruflistenspeicher,
Fig. 5 ein Flußdiagramm zur Erläuterung der Arbeitsweise der erfindungsgemäßen Anlage,
Fig. 6 ein Beispiel der Eintragungen im Abruflisten-
WA 971 004 309830/1038
speicher und im Sammelabruflistenspeicher, wenn das R(FD)-FeId des im Pufferspeicher zu ersetzenden Datenblocks mit dem R(PD)-FeId des neuen abzurufenden Datenblocks übereinstimmt und .
Fig. 7 beispielsweise die Eintragungen im Abruflisten-
speicher und Sammelabruflistenspeicher, wenn das R-(FD)-FeId des im Pufferspeicher zu ersetzenden Datenblocks mit dem R(TD)-FeId des neu abzurufenden Datenblocks nicht übereinstimmt.
In Fig. 2 ist ein mit mehreren Zentraleinheiten 101 ausgestattetes System dargestellt, deren jede einen Pufferspeicher 102 enthält. Jede der Zentraleinheiten 101 ist über eine Datensamme1leitung 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äß Fig. 2 gestattet eine modifizierte Eintragung von Daten im Pufferspeicher 102. Durch ein Sammelabrufsystem kann jede Zentraleinheit 101 jede andere Zentraleinheit 101 abfragen, ob eine modifizierte (d.h.
971 004 309830/1038
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. Öei 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 Speicher-Steuersystems ist in allen Einzelheiten in der Patentanmeldung mit dem US-Aktenzeichen 179 376 vom 10. September 19 71 beschrieben mit dem Titel Memory Control in a Multiprocessing System utilizing a Broadcast'.
Anhand von Fig. 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 lOS». 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 Verbinung.
Der wesentliche Teil des Pufferspeichers 102 iet das Primärspeichermodul 200, der Abruf listenspeicher 210, der tibersetzuhgs listenspeicher 220 und der Sammelabruflistenspeicher 230.
Obgleich der Pufferspeicher 102 in verschiedener Weise organisiert sein kann, ist hier der Pufferspeicher 102 innerhalb des Speichermoduls 200 in linke und rechte Segmente unterteilt. Jedes dieser Segmente enthält 512 Abteilungen. Jede Abteilung besteht aus 64 Bytes, wobei je 32 jedem Segment des Moduls zugeordnet sind. Jeder Speicherabschnitt dient der direkten überwachung zwischen Puffer-
309830/1038
WA 9 71 004
22358A1
speicher 102 und Hauptspeicher 109. Ein Datenbloek im Hauptspeicher 109 kann in jedem der beiden Blocksegmente für den Speicherabschnitt des Moduls 200 untergebracht sein. Dieses überwachungsschema 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 Systemarchitaktur der vorliegenden Ausführungsform verwendet als Systemadresse die Bits 8 bis 31, die einmal den Speicherabschnitt cturch die Bits 8 bis 27 und das Byte durch die Bits 28 bis 31 kennzeichnet. Das Segment wird durch Vergleich der Systemadresse 8 bis 19 mit dem Inhalt des Datenabrufverzeichnisses 210 ermittelt, was mit ähnlichen Parametern organisiert ist wie das Modul 200.
Der Abruflistenspeicher 210 speichert eine Tabelle, die die im Modul 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 Modul 200 ausgehenden, von der Zentraleinheit eingeleiteten Datenabrufe und ist organisationsmäßig ähnlich aufgebaut wie das Modul 200. Dabei gibt es eine 16-Bit-Eintragung per Modulblock. Die Adressenbits des Abruflistenspeichers 210 sind die gleichen wie im Modul 200. Im Hinblick auf Fig. 4 enthalten die 16 Bits jeaer Eintragung im Abruflistenspeicher 210 die folgenden Felder;
1. 12 Block ID-Bits 30, die den Bits 18 bis 19 der Systemadresse entsprechen und den Hauptspeicherblock bezeichnen, der in dem entsprechenden Modul 200 gerade eingetragen ist. . 2. Ein modifiziertes Bit 31 gibt an, daß der im Modul liegende Block durch das Programm geändert worden ist.
971 004 309830/1038
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,
aaß ein Hauptspeicherblock im Modulblock 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 Samnielabruf listenspeicher 2 30 dient der Bestimmung des Zustandes des Moduls 200 für alle allen Moduln zugeführte Suchargumente. Die Organisation des Sammelabruflistenspeichers ist ähnlich wie die Organisation des Moduls 200 und die Eintrag 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 b 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.
Pufferadreßregister 202 dient der Aufnahme der über die Leitung 201 von der Zentraleinheit 101 kommenden Adressen. Das Pufferadreßregister 202 ist mit dem Pufferspeicher 200, dem Übersetzungslistenspeicher 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.
3 0 9830/1038
-li-
Elne Verriegelungsschaltuhg 2O4 für dynamische Adreßübersetzurig 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 2U2 übertragen wird. Dies kann durch das gerade in der Zentraleinheit verarbeitete Programm geschehen oder aber durch ein rreil des Programmstatuswortes, das in der Zentraleinheit 102 eingespeichert ist. In jedem 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 s die ein Teil der Sammelleitung 103 in Fig. 1 ist, auf. Verschiedene Teile des Sammelabrufadreßregxsters 228 sind mit dem Sammelabruflistenspeicher 230, den Vergleichen! 234 und 2 36 und dem Konzentrationsregister 233 verbunden. Pufferausgangsregister links 207 und Pufferausgangsregister rechts 2Ö8 dienen der Aufnahme der Ausgangssignale der linken und rechten Segmente des Pufferspeichers 200. Abruflistenspeicher 210 hat für seine beiden Segmente ausgangsseitig 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 Ausgängsregister 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 Abruflistenspeichers 210 kommenden Echtadreßteilen mit den Echtadreßteilen im Pufferspeicheradreßregister 202 falls eine echte Adresse im Pufferregistef 202 vorhanden ist, oder mit dem Echtädreßteil der Übersetzurigsadresse,
97i ÖÖ4 309830/ 1038
die aus einem Zugriff zum Übersetzungslistenspeicher 220 resultiert und im Ausgangsregister 221 des Ubersetzungslistenspeichers 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 Pufferspeichers 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 2 30, der aus dem linken oder rechten Segment ausgelesen wird, mit den Echtadreßteilen der Eintragung im Sammelabrufregister 228, das zum Durchsuchen des Sammelabruflistenspeichers 2 30 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 eignes Teils der Adresse im Sammelabrufregister 228 mit einem Teil der entsprechenden aus dem Sammelabruflistenspeicher 2 30 ausgelesenen Eintrag ermöglicht, um so eine neue Adresse für die Ansteuerung aes Pufferspeichers 200 zu bilden.
Arbeitsweise der Anlage
Die Arbeitsweise der erfindungsgemäß aufgebauten Anlage wird nunmehr unter Verwendung einer 24-Bit-Adresse in einer Seiten-
WA 971 005 309830/1038
größe von 4 Kilobyte Und einer Segmentgröße von 1 Megabyte beschrieben. Selbstverstä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 Fig. 3 an das Pufferadreßregister 202 übertragen. Die Bits 8 bis 17 sind hier das U-FeId, 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. Wach 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 Adresse. Es soll hier darauf hingewiesen werden, daß die Inuexierung des Ubersetzungslistenspeichers vollständig nicht assoziativ ist und daß die Bits 14 bis 19 nur eine Eintragung im Übersetzungslistenspeicher 220 adressieren. Die Funktion ues Ubersetzungslistenspeichers 220 besteht darin, die höherwertigen 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 13) der echten Aaresse 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 b bis 17 Uer echten AdreBeantragung 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 Ubersetzungslistenspeichers
971 004 3 0 9 8 3 0/1 038
220 einrü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 ÜbersetzungsIlstenspeichers durchgeschaltet.
Gleichzeitig mit dem Zugriff zum übersetzungslistenspeicher 220 gemäß Schritt 1 in Fig. 5 folgt auch ein Zugriff zum Abruflistenspeicher 210 und Pufferspeicher 200. Die Bits 18 bis 26 der im Pufferadreßregister 202 liegenden logischen Adresse dienen zur Indexierung der 512 Eintragungspaare sowohl im Pufferspeicher 200 als auch im Abruflistenspeicher 210. Jede Eintragung im Abruflistenspeicher 210 enthält die Bits 8 bis 19 der echten Adresse entsprechend dem im Pufferspeicher 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 Pufferadreßregister 202 spezifizierten Adresse nach dem linken Ausgangsregister 211 und dem rechten Ausgangsregister 213 des Abruflistenspeichers durchgeschaltet. In gleicher Weise werden die in aem linken und rechten Segment des Pufferspeichers 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 Pufferspeicher 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 übersetzungslisten-
WA971OO4 309830/1038
speicher 200 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 Adresse im Pufferadreßregister 202 aufzufinden. Dies wird in üblicher Weise durch Abrufen des entsprechenden Übersetzungsschlü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 Adressenübersetzungslistenspeicher zu adressieren, um die richtige Adressentransformation 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 ÜbersetzungsIistenspeicherausgangsregister 221 liegenden Adresse im Vergleicher 218 mit den Bits ß 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
9 71 004 3098 30/1038
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 Abruflistenspeiehers 210 in den Vergleichern 214 bzw. verglichen. Das ist in Fig. 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 203 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 Pufferspeichers 200 passen. D.h., daß die durch die Echtadresse gekennzeichneten Daten nicht in beiden Segmenten des Pufferspeichers 200 eingespeichert sein können» Wenn keine der Eintragungen, die aus dem Abruflistenspeicher 210 ausgelesen wurden, einen positiven Vergleich mit dem vom über* setzungslistenspeicher durchgeschalteten Echtadreßteil liefert, dann sind die angeforderten Daten nicht an der durch die Bits 18 bis 26 der im Pufferadreßregister 200 liegenden Adresse bezeichneten Speicherstelle und es muß ein Sarnme lauf ruf für diesen Datenblock eingeleitet werden.
Wenn die von der Zentraleinheit angeforderte Adresse eine Echt-971 004 3 0 9 8 3 0/1038
adresse 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 Adressübersetzung nicht er- » forderlich ist. Bits 19 bis 26 der im Pufieradressregister 202 liegenden kchtadresse werden zur Indexierung des Pufferspeichers 200 und des Abruflistenspeichers 210 benutzt. Die Adresseintragungen 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 Pufferspeichers an das linke Ausgangsregister 207 bzw. das rechte Ausgangsregister 208 abgegeben. Da die im Pufferadressregister 202 liegende Adresse eine Echtadresse ist, werden die Bits 8 bis 19 der im Pufferadressregister 202 liegenden Adresse mit den Echtadressbits in beiden Eintragungen des Abruflistenspeichers 210 verglichen, d.h., Bits 8 bis- 19 der im Pufferadressregister 202, liegende Adresse werden mit dem Inhalt des linken Ausgangsregisters 211 des Äbruflistenspeichers 210 im Vergleicher 214 und mit dem Inhalt des rechten Ausgangsregisters 213 im Vergleicher 212 verglichen, ßei einem positiven Vergleich mit einer der Eintragungen im Abruflistenspeicher 210 zeigt dies an, daß die Daten im entsprechenden Block im Pufferspeicher 200 den Daten entsprechen, die durch die im Pufferadressregister 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 Pufferspeicher 200 an der durch die Bits 18 bis 26 der Adresse im Pufferadressregister 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
971 004 309830/1038
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 Sammelabrufaaressregister 228 geleitet. Die verschiedenen Felder im Sammelabrufadressregister 228 sind Q für die Bits b 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 ΙΟ-Bit Echtadressfeld und entspricht dem höherwertigen ΙΟ-Bits Q der Echtadresse, der in der entsprechenden Eintragung im Pufferspeicher 200 gespeicherten Adresse. Jede Eintragung im Sammelabruflistenspeicher enthält außerdem ein 2-Bit-Feld V (BSD), das den Bits 18 und der logischen Adresse entspricht, die den entsprechenden Datenblock in den Pufferspeicher 200 überführte* Daher werden beim Zugriff zum Sammelabruflistenspeicher 230 durch die Bits 18 bis 26 der im Sammelabrufadressregister 228 enthaltenen echten Adresse die dem linken und rechten Segment des Sammelabruflistenspeichers 230 entsprechenden Eintragungen nach dem linken Ausgangsregister 232 geleitet. Der Inhalt dieser Register wird durch Q (BSD) dargestellt, das den Echtadressen Bits 8 bis 17 der in der Eintragung im Pufferspeicher 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 (BSu) Feld im linken Ausgangsregister 231 und im rechten Ausgangsregister 2 32 wird mit dem Q Feld des Sammelaufrufadressregister 228 im Vergleicher 234 bzw. 236 verglichen. Ein erfolgreicher Vergleich in einem der beiden Vergleicher zeigt an, daß der Datenblock sich im Pufferspeicher 200 befindet.
V (BSD)X bezeichnet den Abschnitt des Pufferspeichers 2OO in dem sich der gewünschte Datenblock befindet. Wenn also ein po-
WA 971 004 309830/1038
sitiver Vergleich in einem der beiden Vergleicher 234 oder 236 angezeigt wird, wird das V (BSD)-FeId 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 Sammelabrufadressregister 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 Pufferspeichers 200.
Bisher war der Fall besprochen worden, bei dem die gewünschten Daten im Pufferspeicher 200 an der durch die Adresse im Pufferspeicheradressregister 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 Übersetzungslistenspeicher 220, dann muß dieser mit der richtigen Echtadressinformation geladen werden. Sobald die echte Adresse bekannt ist, kann der Pufferspeicher 200 und der Abruflistenspeicher 210, wie bereits beschrieben, adressiert werden, um festzustellen, ob der gewünschte üatenblock sich im Pufferspeicher 200 befindet.
Wird keine Eintragung für den gewünschten Datenblock im Abruflistenspeicher 2IO in dem durch das VX-FeId der Adresse im Pufferadressregister 202 bezeichneten Speicherstelle gefunden, dann läuft das Verfahren wie folgt ab. '
Zunächst muß der gewünschte Datenblock in den durch das VX-FeId bezeichneten Abschnitt des Pufferspeichers 200 überführt werden. Es kann jedoch sein, daß in diesem Abschnitt des Pufferspeichers 200 ein anderer Datenblock liegt. Wenn daher der im VX-Abschnitt des Pufferspeichers 2OO liegende Datenblock eine modifizierte gültige Form ist (was anzeigt/ daß dies die neueste Ausgabe dieser
OO4 30 9-8 30/1038
Daten innerhalb des Rechnersystems ist), muß dieser Datenblock zum Hauptspeicher übertragen werden. Wenn jedoch die im VX-Abschnitt des Pufferspeichers 200 liegenden unerwünschten Daten weder ungültig oder nicht modifiziert sind, dürfen sie nicht nach dem Hauptspeicher 109 oder einem anderen Pufferspeicher 102 überführt werden. Wenn daher das Ausgangssignal des Abruflistenspei-1 chers 210 anzeigt, daß die im VX-Abschnitt des Pufferspeichers 200 liegenden Daten modifiziert sind, wird eine Abspeicherung dieses Datenblocks im Hauptspeicher eingeleitet. Zusätzlich zeigt die Eintragung im Sammelabruflistenspeicher 220 an, daß diese unerwünschten Daten ungültig sind und nichts weiter unternommen werden muß, da die neuen Daten einfach in die gleiche Speicherstelle im Pufferspeicher 200 eingespeichert werden, wodurch dl# bisher dort liegenden Daten gelöscht werden, für den Fall, daß die Sucne im Abruflistenspeicher 210 anzeigt, daß die Daten nicht modifiziert sind, dann muß die Eintragung im Samm#labrufli»t«n** speicher 213, die mit R(FD)X bezeichnet ist« ungültig gemacht werden.
Sind dann die zwei Bits des Feldes R(TD) des Vom Hauptspeicher 109 abzurufenden Datenblocke nicht gleich mit den entsprechenden Bits R(FD) der im Augenblick in dem durch das Feld VX bezeichneten Abschnitt des Pufferspeichers liegenden Daten, wird die Eintragung im Sammelabruflistenspeicher 230 für den abzurufenden Datenblock bei R(TD)X und nicht R(FD)X aufgefunden wie für lern eben vorliegenden Datenblock. Wenn also IUTD) = R(FD) ist, dann müssen die Eintragungen im Sammelabruflistenspeicher nicht überprüft werden und der oben angegebene dritte Verfahrensschritt wird eingeleitet. Wenn jedoch R(TD) nicht gleich U(WU) ist oder wenn der im Pufferspeicher 200 bei Vx liegende Datertbiock ungültig ist, dann muß der Inhalt des Sammelabruflistenspeichers 210 an dem durch R(Id)X bezeichneten speieher abschnitt üböfptüft werden. Wenn diese Eintragung anzeigt, daß'der entsprechende Datenblook ungültig ist, wird der dritte Verf&hifeftftACihfitt «singe-* leitet, wenn die Prüfung' ansteigt, uäB äöt üätehblöefe nicht täoäi" fixiert ist, wird die Eintragung im abruflistenspeicher 210 an
004 3 0S830/1Ö38
der durch V(BSD)X bezeichneten Stelle ungültig gemacht/ worauf der dritte Schritt eingeleitet wird. Wenn endlich bestimmt wird, daß diese Eintragung modifiziert ist, dann wird dadurch der im Pufferspeicher an der durch V(BSD)X bezeichneten Speicherstelle liegende Datenblock zur Einspeicherung an den Hauptspeicher 109 übertragen. Dabei wird auch die Eintragung im Abruflistenspeicher 210 an der durch V(BSD)X bezeichneten Speicherstelle ungültig gemacht und der dritte Verfahrensschritt eingeleitet.
Im dritten Verfahrensschritt wird die durch VX bezeichnete .Speicherstelle im Abruflistenspeicher 210 der echten Adresse des abzurufenden Datenblocks auf den neuen Stand gebracht, d.h. mit Q(TD)R(Tu). Außerdem wird der durch R(TD)X im Sammelabruflistenspeicher bezeichnete Speicherabschnitt mit der echten Adresse des abzurufenden Datenblocks (z.B. Q(TD)) und dem virtuellen Zeigerfeld V auf den neuesten Stand gebracht. Außerdem wird der durch die Adresse im Pufferadressregister 202 bezeichnete Datenblock vom Hauptspeicher abgerufen und in den Pufferspeichern an der durch das VX-FeId bezeichneten Speicherstelle eingespeichert.
Zur Erläuterung, wie dieses Blockaustauschverfahren und die Anordnung der Eintragungen in den Listenspeichern ausgeführt werden, dienen Fign. 6 und 7. Jede dieser Figuren erläutert angenommene Eintragungen im Abruflistenspeicher 210 und im Sammelabruflistenspeicher 230. Dabei zeigen Pfeile wie die Eintragungen R(I-1D) und V(BSD) im Abruf listenspeicher 210 bzw. im Sammelab" ruflistenspeicher 230 auf Eintragungen in dem jeweils anderen Listenspeicher hinweist.
iig. 6 zeigt den Fall, wo R(FD) des im Pufferspeicher 200 zu ersetzenden Blocks im R(TD) des neuen abzurufenden Datenblocks gleich ist. Wie bereits bemerkt,, wird der neue Datenblock vom Hauptspeicher 109 geholt. Eintragungen werden im Abruflisten-, speicher 210 und im Sammelabruflistenspeicher 2 30 an den durch VX bzw. H(TD)X bezeichneten Stellen durchgeführt. In dem in Fig,
WA 9 71 ÜO4
30 98 30/ 1 0 3 8
gezeigten Beispiel weist der zu ersetzende Datenblock eine logische Adresse derart auf, daß VX = 01.X und H(TD)X - ll.X ist. Wie in Fig. 6 gezeigt, ist die Eintragung R(FD) im Abruflistenspeicher 12 vor dem Datenblockaustausch für VX = 01.X = 11 und damit = R(TD). Daher sina nach Abrufen des Datenblocks in dem Pufferspeicher 200 und nach Vornahme der entsprechenden Eintragungen im Abruflistenspeicher 210 und im Sammelabruflistenspeicher 230 die entsprechenden Zeiger R(FD) und V(BSD) die gleichen. Daher wird durch den Blockaufruf kein anderer Datenblock im Pufferspeicher beeinflußt.
Fig. 7 zeigt den etwas komplizierteren Fall, bei dem R(FD) des im Pufferspeicher 200 zu ersetzenden Datenblocks nicht gleich R(TD) des neu abzurufenden Datenblocks ist.
In Fig. 7 hat der auszutauschende Datenblock eine logische Adresse VX - 10.x und R(TD)X = ll.X. Hier ist eindeutig, daß R(FD) -10 und R(TD) =11 ungleich sind. Daher wird eine durch R(FD)X im Sanunelabruf listenspeicher 2 3U bezeichnete Eintragung ungültig gemacht und der entsprechende Datenblock wird eingespeichert wenn er modifiziert ist, d.h., daß die zehn Eintragungen bei VX « 10 ungültig gemacht werden. Dann wird die im Sammelabruflistenspeicher 230 durch R(TD)X bezeichnete Eintragung (die in Fig. 7 = 11 ist) ausgespeichert, um V(BSD) zu erhalten, das in Fig. 7 = 01 ist. Die im Abruflistenspeicher 210 durch V(BSD)X liegende Eintragung wird ungültig gemacht und der entsprechende Block wird eingespeichert, wenn er modifiziert ist. Daher wird in Fig. 7 die R(FD) Eintragung 11 bei 01 (V(BSD)X) ungültig gemacht. Der neue Datenßlock wird vom Hauptspeicher geholt und im Pufferspeicher 200 eingespeichert. Im Abruflistenspeicher 210 wird bei VX = 10.X eine Eintragung vorgenommen, die = R(TD) ist (d.h., 11 wird an der Stelle VX = 10.X eingespeichert). Außerdem wird eine Eintragung im Sammelabruflistenspeicher 2 30 bei R(TD)X * ll.X) vorgenommen. Die entsprechenden Eintragungen sind in dem rechten Teil der Fig. 7 für die Listenspeicher nach Speiche-
971 004 3 0 9830/1038
- 23 rung des neuen Datenblocks dargestellt.
Auf diese Weise wird ein Datensatz, der durch eine logische Adresse in den Pufferspeicher 200 überführt wurde> die sich von der augenblicklich zutreffenden Adresse unterscheidet, identifiziert. Wenn ferner im Pufferspeicher ein Datenblöck 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.
3Ö983Ö/'163r
WA 971 ÖO4

Claims (5)

  1. - 24 PAT E W TAN SPRÜCHE
    Anordnung zur Speichersteuerung in einer Datenverarbeitungsanlage mit einem Hauptspeicher und einer Zentraleinheit und einem zugehörigen Pufferspeicher, gekennzeichnet durch Listenspeicher (210, 220, 230) und damit verbundenen Registern zum Speichern eines Teils der Adresse in logischer und echter Form der im entsprechenden Abschnitt des Pufferspeichers (200) liegenden Datenblocks und durch Schaltungen zum Ansteuern der Listenspeicher und Register 1202) für einen Zugriff zum eingespeicherten Adreßteil zur Feststellung, ob der gewünschte Datenblock im Pufferspeicher (200) liegt, unabhängig davon, ob dieser Datenblock dort bereits unter einer anderen Adresse eingespeichert'ist.
  2. 2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß als Listenspeicher ein Abruflistenspeicher (210) zur Speicherung logischer und echter Adreßfelder aller an den Pufferspeicher (200) übertragenen Datenblöcke und ein Sammelabrufspeicher (230) vorgesehen sind, in dem ein logisches und ein echtes Adressenfeld die Adressen aller nach dem Pufferspeicher übertragenen Blöcke eingespeichert hält.
  3. 3. Anordnung nach Anspruch 1 und 2, dadurch gekennzeichnet, daß ein Übersetzungslistenspeicher (220) vorgesehen und zur Umsetzung einer logischen Adresse in eine echte Adresse mit dem Pufferadreßregister (202) und mit dem Sammelabruflistenspeicher verbunden ist, um die echte Adresse weiterzuleiten, und daß mit dem Sammelabruflistenspeicher ein Echtadreß-Register (22ö) zur Aufnahme der weitergeleiteten Echtadressen verbunden ist.
    30 9.8 30/1038
    WA 9 71 004
  4. 4. Anordnung nach Anspruch 1 bis 3, dadurch gekennzeichnet, daß zum Austausch von Datenblöcken im. Pufferspeicher, der Status der Daten in dem Speicherplatz überprüft wird, in den die neu angeforderten Daten eingespeichert werden sollen und daß die Wertzeit im Pufferspeicher (20Q) an dem bestimmten Speicherplatz liegenden Daten dann, wenn sie gültig und modifiziert sind, an den Hauptspeicher (109) übertragen werden.
  5. 5. Anordnung nach Anspruch 4, dadurch gekennzeichnet, daß eine Austauscheinrichtung die Eintragungen in den Listenspeichern (210, 220, 230) auf den neuesten Stand bringt, um damit den Speicherort der Daten entsprechend der logischen Adresse darzustellen, die zuletzt diese Daten in den Pufferspeicher (200) überführte,
    6-. Anordnung nach Anspruch 1 bis 5 zur Verwendung in einem mit Hauptspeicher und mehreren Zentraleinheiten ausgerüsteten System, dadurch gekennzeichnet, daß jeder Zentraleinheit (101) ein Pufferspeicher und eine Speichersteuereinheit (106) mit daran angeschlossenen Eingabe/ Ausgabekanälen (105) zugeordnet sind, und daß jede Speichersteuereinheit (106) mit dem Pufferspeicher (200) zusammenwirkende Register (202) und Listenspeicher (210, 220, 230) mit zugehörigen Ausgangsregistern (207, 209, 211, 213, 221, 231, 232) und Vergleichern (212, 214, 218, 234, 236) enthält.
    30ÜB3Ü/ 103$
    WA 9 71 004
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 true DE2235841A1 (de) 1973-07-26
DE2235841C2 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 (107)

* 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
FR2258113A5 (de) * 1973-11-30 1975-08-08 Honeywell Bull Soc Ind
FR2253430A5 (de) * 1973-11-30 1975-06-27 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
WO1980001421A1 (en) * 1979-01-09 1980-07-10 Sullivan Computer Shared memory computer method and 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
US4394731A (en) * 1980-11-10 1983-07-19 International Business Machines Corporation Cache storage line shareability control for a multiprocessor system
EP0212678B1 (de) * 1980-11-10 1990-05-16 International Business Machines Corporation Anordnung zur Erkennung und Verarbeitung von Synonymen in Cache-Speichern
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
US4441155A (en) * 1981-11-23 1984-04-03 International Business Machines Corporation Page controlled cache directory addressing
US4425618A (en) * 1981-11-23 1984-01-10 Bell Telephone Laboratories, Incorporated Method and apparatus for introducing program changes in program-controlled systems
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
US4527232A (en) * 1982-07-02 1985-07-02 Sun Microsystems, Inc. High-speed memory and memory management system
US4550368A (en) * 1982-07-02 1985-10-29 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 情報処理装置のスキヤン方式
JPS60111670A (ja) * 1983-11-19 1985-06-18 住友ゴム工業株式会社 ゴルフクラブヘツド
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
US4933835A (en) * 1985-02-22 1990-06-12 Intergraph Corporation Apparatus for maintaining consistency of a cache memory with a primary memory
US4860192A (en) * 1985-02-22 1989-08-22 Intergraph Corporation Quadword boundary cache system
US4884197A (en) * 1985-02-22 1989-11-28 Intergraph Corporation Method and apparatus for addressing a cache memory
US5255384A (en) * 1985-02-22 1993-10-19 Intergraph Corporation Memory address translation system having modifiable and non-modifiable translation mechanisms
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 バツフア記憶制御方式
FR2590699B1 (fr) * 1985-11-25 1994-07-01 Nec Corp Systeme assurant la coherence pour les contenus d'une antememoire
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.
US5055999A (en) * 1987-12-22 1991-10-08 Kendall Square Research Corporation Multiprocessor digital data processing system
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
US5226039A (en) * 1987-12-22 1993-07-06 Kendall Square Research Corporation Packet routing switch
US5282201A (en) * 1987-12-22 1994-01-25 Kendall Square Research Corporation Dynamic packet routing network
US5341483A (en) * 1987-12-22 1994-08-23 Kendall Square Research Corporation Dynamic hierarchial associative memory
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
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.
ATE231259T1 (de) * 1990-05-18 2003-02-15 Sun Microsystems Inc Dynamischer hierarchischer leitwegverzeichnisorganisationsassoziativspeich r
JP2778291B2 (ja) * 1991-05-31 1998-07-23 日本電気株式会社 アドレス変換レジスタ制御方式
CA2078310A1 (en) * 1991-09-20 1993-03-21 Mark A. Kaufman Digital processor with distributed memory system
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
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

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2226382A1 (de) 1971-09-10 1973-03-15 Ibm Datenverarbeitungsanlage

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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2226382A1 (de) 1971-09-10 1973-03-15 Ibm Datenverarbeitungsanlage

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Ältere in Betracht gezogene Anmeldungen: DE-OS 22 27 882 *
DE-OS 22 26 382 *
Proceedings of the IEEE, Vol. 54, No. 12, Dezember 1966, Seiten 1774 bis 1779 *

Also Published As

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

Similar Documents

Publication Publication Date Title
DE2235841A1 (de) Anordnung zur speichersteuerung mit logischer und echter adressierung
DE2226382C3 (de) Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern
DE2227882C2 (de) Virtuelle Speicheranordnung
DE2241257C3 (de) Datenverarbeitende Anlage
DE3011552C2 (de)
DE3151745C2 (de)
DE2807476C2 (de) Speichereinrichtung mit mehreren virtuellen Adreßräumen
DE2725718C2 (de) Datenverarbeitungsanordnung zum Übersetzen von virtuellen Adressen
DE2523414C3 (de) Hierarchische Speicheranordnung mit mehr als zwei Speicherstufen
DE4410060B4 (de) Übersetzungsvorrichtung zum Umsetzen einer virtuellen Speicheradresse in eine physikalische Speicheradresse
DE3131341C2 (de)
DE2154106A1 (de) Arbeitsspeicherwerk
DE2841041A1 (de) Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen arbeitsspeicher ausgeruesteten prozessoren
DE3102150A1 (de) "schaltungsanordnung mit einem cachespeicher fuer eine zentraleinheit einer datenverarbeitungsanlage
DE2302074A1 (de) Speicherschutzanordnung in einem multiprozessorsystem
DE3833933A1 (de) Informationsverarbeitungseinrichtung mit einer adressenerweiterungsfunktion
DE2339741A1 (de) Anordnung zur bildung einer relativen adresse fuer einen speicher
DE1499182B2 (de) Datenspeichersystem
DE2441754A1 (de) Prozessor-datenuebertragungssteueranordnung sowie verfahren zur steuerung der datenuebertragung eines prozessors
DE2758829C2 (de) Datenverarbeitungsanlage mit mehreren Prozessoren
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE4234695C2 (de) Computer-Speichersystem und Verfahren zur Aufrechterhaltung der Cache-Kohärenz zwischen einem Daten-Cache und einem Segmentdeskriptor-Cache
DE3919802A1 (de) Speicherbaustein mit vektorprozessoren und einem skalarprozessor
DE19538448B4 (de) Datenbankmanagementsystem sowie Datenübertragungsverfahren
DE1955797A1 (de) Verfahren zur Steuerung der Verarbeitung von Eingabedaten und Datenverarbeitungsanlage hierfuer

Legal Events

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