DE2235841A1 - Anordnung zur speichersteuerung mit logischer und echter adressierung - Google Patents
Anordnung zur speichersteuerung mit logischer und echter adressierungInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
- G06F12/1063—Address 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,
WÄ 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.
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)
- - 24 PAT E W TAN SPRÜCHEAnordnung 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. 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. 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/1038WA 9 71 004
- 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. 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
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2226382A1 (de) | 1971-09-10 | 1973-03-15 | Ibm | Datenverarbeitungsanlage |
Family Cites Families (2)
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 |
-
1972
- 1972-01-20 US US00219362A patent/US3723976A/en not_active Expired - Lifetime
- 1972-07-21 DE DE2235841A patent/DE2235841C2/de not_active Expired
- 1972-09-19 IT IT29384/72A patent/IT967619B/it active
- 1972-09-22 JP JP9467972A patent/JPS5325457B2/ja not_active Expired
- 1972-09-27 FR FR7235070A patent/FR2168748A5/fr not_active Expired
- 1972-10-17 GB GB4777572A patent/GB1397253A/en not_active Expired
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2226382A1 (de) | 1971-09-10 | 1973-03-15 | Ibm | Datenverarbeitungsanlage |
Non-Patent Citations (3)
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 |