DE2260353C2 - Schaltungsanordnung für die Adressenumsetzung in einer Datenverarbeitungsanlage - Google Patents
Schaltungsanordnung für die Adressenumsetzung in einer DatenverarbeitungsanlageInfo
- Publication number
- DE2260353C2 DE2260353C2 DE2260353A DE2260353A DE2260353C2 DE 2260353 C2 DE2260353 C2 DE 2260353C2 DE 2260353 A DE2260353 A DE 2260353A DE 2260353 A DE2260353 A DE 2260353A DE 2260353 C2 DE2260353 C2 DE 2260353C2
- Authority
- DE
- Germany
- Prior art keywords
- address
- memory
- register
- registers
- main memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
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/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/1054—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 physically addressed
Description
Die Erfindung betrifft eine Schaltungsanordnung für eine Adressenumselzung in einer Datenverarbeitungsanlage
mit virtueller Adressierung, mit Zentraleinheit, mit Speicherregister, Hauptspeicher, Pufferspeicher und
dazugehörigen Adreßregistern.
In der älteren deutschen Patentanmeldung
P 22 27 882.6-53, die zur DE-OS 22 27 882 führte, ist eine Schaltungsanordnung dieser Art vorgeschlagen, mit
deren Hilfe eine Anzahl von Computerprogrammen, die entweder durch eine einzige Zentraleinheit oder durch
eine Anzahl von Zentraleinheiten ausgeführt werden, gemeinsam einen Speicher benutzen können. Ein
zeitverschachtelter Zugriff für solche Programme erfordert im allgemeinen eine sehr hohe Speicherkapazität,
die sehr oft viel größer ist als die des tatsächlich ίο vorhandenen Hauptspeichers. Die Gesamtkapazität, die
in einem System adressiert werden kann (ange nommen, daß diese Kapazität die tatsächlich im Hauptspeicher
vorhandene Kapazität übersteigt), wird als die virtuelle Speicherkapazität des Sjstems bezeichnet. Beispiels-Ii
w°ise liefert ein Adressiersystem mit 24 Bit 224 oder
angenähert 16 Millionen adressierbare Bytes. Für eine leichtere Adressierung ist der virtuelle Speicher in
Segmente eingeteilt, die wiederum in Seiten unterteilt sind, deren jede aus einer vorbestimmten Anzahl von
Bytes besteht. Durch Aufspalten der Programme in Segmente mit Seiten läßt sich der Hauptspeicher
seitenweise zuordnen. Somit können also die einzelnen Seiten im Hauptspeicher beliebig angeordnet sein, und
je nach Bedarf können Daten ebenfalls seitenweise aus dem Hauptspeicher entnommen und in diesen wieder
zurückgeführt werden. Die willkürliche Anordnung der Seiten im Hauptspeicher erfordert den Aufbau von
Tabellen, die den tatsächlichen oder echten Speicherplatz jeder Seite angeben. Eine Seitentabelle gibt somit
«ι die echten Speicherplätze aller Seiten eines bestimmten Segmentes an. Andere Seitentabeller, geben in ähnlicher
Weise die Echtspeicherplätze der anderen Segmenten des virtuellen Speichers zugeordneten Seiten an. Die
beliebige Anordnung der .Seitentabellen im Speicher
!5 erfordert wiederum den Aufbau einer Segmenttabelle,
die die echten Speicherplätze der Seilentabellen angibt. Die Segmenuabelle und die Seitcntabellen werden für
einen Benutzer im Hauptspeicher gehalten und dienen da/u, die virtuelle Adresse eines Benutzers in eine
Echtadresse (d. h. einen Fchlspcicherplat/ im Hauptspeicher) der gewünschten Seite umzuwandeln. Adressenumsetzung
ist dabei das Verfahren der Umwandlung der virtuellen Adressen in echte Adressen im Haupt
speicher.
Seit dem Aufkommen gepufferter Speichersvsteme
sieht man einen Hochgcsehwindigkeits Pufferspeicher
zusat/'ich zum Hauptspeicher vor. Solche Hochgeschwindigkeits-Pufferspcicher
sollen die Bedienung von Daienanforderungen beschleunigen, liegt die Daten
so adressc in einem Block (ein Block kann kleiner ».ein jK
eine Seite), der im Pufferspeicher liegt, dann kann eine
Anforderung. Information abzurufen oder ab/uspci ehern, schnell durchgeführt werden. Die Verwendung
von schnellen Pufferspeichern ergibt eine scheinbare
Verkürzung der Zykluszeit des Hauptspeichers.
fiel Einsatz eines Pufferspeichers werden alle von der
Zentraleinheit kommenden Anforderungen daraufhin überprüft, ob der adressierte Speicherplatz sich im
Pufferspeicher befindet. Ist dies der Fall, dann wird der
Pufferspeicher abgefragt, und die angeforderten Daten
werden an die Zentraleinheit übertragen. Handelt es sich dabei um eine Speicheranforderung, dann können
die Daten entweder im Pufferspeicher und im Hauptspeicher (Durchspeichern) oder nur im Pufferspeicher
eingespeichert Werden, wobei der Hauptspeicher zu einem späteren Zeitpunkt auf den neuesten
Stand gebracht wird. Enthält der Pufferspeicher den adressierten Speicherplatz nicht, dann wird die Anfor-
derung zum Durchlaufen eines vollen Speicherzyklus an den Hauptspeicher weitergeleitet. Sollen Daten abgerufen
werden, die im Pufferspeicher nicht zur Verfügung stehen, dann werden die vom Hauptspeicher abgerufenen
Daten an die Zentraleinheit übertragen und außerdem für spätere Anforderungen im Pufferspeicher
abgespeichert. Bei einer Speicheranforderung werden die Daten im allgemeinen nur im Hauptspeicher
abgespeichert. Wenn Datenkanäle die Übertragung von Daten aus dem Hauptspeicher anfordern, dann ist der in
Pufferspeicher davon nicht betroffen. Der Hauptspeicher wird adressiert, und die Daten werden an den
anfordernden Datenkanal übertragen. Sollen jedoch Daten eingespeichert werden, dann wird der Pufferspeicher
daraufhin überprüft, ob die gewünschte Speicher- ιί
adresse im Pufferspeicher vorhanden ist. Ist das der Fall, dann werden die von der Kanaleinheit kommenden
Daten im Pufferspeicher und >m Hauptspeicher abgespeichert. Befindet sich die Speicheradresse nicht
im Pufferspeicher, dann werden die vom Datenkanal kommenden Daten nur im Hauptspeicher abgespeichert.
Ein zu diesem Zweck brauchbarer Pufferspeicher besteht aus einer Speicheranordnung, die 4096 Bytes
aufnehmen kann. Die Daten können dabei so angeord- 2> net sein, daß 64 Blocks zu je 64 Bytes oder acht
Doppelworten abgespeichert sind. Die entsprechende Adressieranordnung dient der Umsetzung der von der
Zentraleinheit gelieferten virtuellen Adressen in echte Pufferspeicheradressen. i<
>
Bei einer Schahungsanordnung der eingangs genannten Art erfolgt die Umsetzung virtueller Adressen in
echte Adressen in zwei Schritten mit Flilfe von Tabellenspeiehern in Form von Segmeniubellen und
Seitentabcllen im Hauptspeicher. Das Segmentfeld der r> virtuellen Adresse wird zu einer Segmemtabellenadres
se. die aus einem Steuerregister abgerufen wird,
hinzuaddiert und liefert damit die Adresse einer Speicherstelle in der Segmenttabellc. Damit erhält man
die Anfangsar'resse einer Seitenadresse, welche /um 4<i
Seitenfeld der vinuellen Adresse hin/iiaddiert wird. Die
so gefundene Adresse dient der Adressierung einer Speicherstelle im Seitenspeicher. Damit erhält man eine
echte Adresse. die in Verbindung mit dem Bviefeld der
virtuellen Adresse die echte Adresse eines F5yles liefen. 4i
Damit nicht jedesmal bei einem H<iu,mpeichcr/ugriff
zweistufig gearbeitet werden muß. ist eine weitere
Tabelle vorgesehen, in der dann jeweils das Segmentfeld
und das Seitenfeld der ubersel/ten virtuellen Adresse zusammen mit 'ler aufgefundenen echten vi
Adresse zeitweilig gespeichert wird.
Die der Erfindung zug-unde liegende Aufgabe
besieht nun dann, die Umsetzung mn Hilfe eines
Asso/iativspeichcrs in einem Schritt in nur einer Flbene
durchzuführen. Die·» wird crfindungsgemäß in einer
Schaltungsanordnung der eingangs genannten Art dadurch erreicht, daß eine Adreßumsetzereinheit
vorgesehen ist. in der in einem Assoziativspeicher die
Zuordnung /wischen virtuellen Adreßteilen und entsprechenden Flchtadressenteilen enthalten ist. daß das
Register der Zentraleinheit, in dem die vollständigen
virtuellen Adressen mit ihren Adreßteilen eingespeichert sind, durch die für die höherweriigcri Bits
dargestellten Adreßteile über sich teilweise in ihrer Wirkung überlappende Torschaltungen, über Leitungen
und über zwei sich teilweise überlappende Torschaltungen mit den entsprechei'.c'p.n zugeordneten Teilen des
Assoziativspeichers der Adreßumsetzereinheit verbunden
sind, daß ferner das Register für die verbleibenden Adreßteile über sich teilweise in ihrer Wirkung
überlappende Torschaltungen unmittelbar mit den Adreßregistern des Hauptspeichers bzw. des Pufferspeichers
verbunden sind und daß die die Echtadressenteile des Hauptspeichers bzw. des Pufferspeichers enthaltenden
Teile des Assoziativspeichers der Adreßumsetzereinheit über Ausgabetorschaltungen und Eingabeschaltungen
mit den entsprechenden Adreßregistern des Hauptspeichers bzw. Pufferspeichers verbunden sind.
Vorzugsweise ist die Anordnung dabei so aufgebaut, daß die Zentraleinheit über ein Eingaberegister mit dem
Assoziativspeicher und dieser über Ausgaberegister mit den Adreßregistern verbunden ist und daß außerdem
zwischen dem Eingaberegister und dem Assoziativspeicher Eingabemaskenregister und zwischen dem Assoziativspeicher
und den Ausgaberegistern Ausgabemaskenregister eingeschaltet sind.
Von besonderem Vorteil ist es, wenn die Ausgaberegister eine zusätzliche Bitposition enthalten, deren Wert
bei erfolglosem Vergleich im Assoziativspeicher über eine gesonderte Leitung den Zugriff zum Hauptspeicher
und/oder Pufferspeicher sperren.
Der wesentliche Vorteil der erfindungsgem^ßen Anordnung ist darin zu sehen, daß die Adreßumsetzung
für Hauptspeicher und Pufferspeicher schnell und gleichzeitig durchführbar ist. und daß dann, wenn die
Daten nicht im Pufferspeicher, sondern nur im Hauptspeicher liegen, die Echtadresse des Hauptspeichers
bereits zur Verfügung steht, so daß eine weitere Adressenumsetzung nicnt erforderlich ist.
Der Gegenstand der obengenannten älteren Anmeldung und Ausführungibeispiele der Frfindung werden
nunmehr in Verbindung mit den Zeichnungen näher beschrieben. Dabei zeigt
F i g. 1 das bevorzugte Format für die virtuelle Adresse.
F- ι g. 2 eine schematische Darstellung der AdreÜumset/ung
von vir'iieller auf echte Adresse gemäß Dt-OS
22 27 882.
F i «. 3 das bevorzugte Format einer Eintragung in
eine Segmcnttabelle und eine Seitentabelle.
F ι g. 4 schematisch ein Blockschaltbild eines bevor
zugten Ausführungsbeispiels der F:.rfindung.
F ig 5 ein Blockschaltbild weiterer Eirzclheiten der
Speichersteuerung und Adreßumset/ung (SCA T)und
F i g. 6 schematisch ein Blockdiagramm von F.in/el
heuen einer weiteren Ausfuhrungsform von (SCA T).
In F ι g. I isi das bevorzugte Format für eine virtuelle
Adresse gezeigt. Die aus 24 Bit bestehende virtuelle
Adresse ist in vier Felder unterteilt: ein Segmentfeld
(S\)mn den Bits 8-15. em Seitenfeld (PX)mn den Bit.
16- 14. ein Blockfcld (Hl.K)mn den Bits 21 -25 und ein
Bv.e Felü (BYTl.) mit den Bits 26-31. Mit diesem
Format besteht die virtuelle Speicherung aus 256 Segmenten, wobei jedes Segment bis zu 16 Seiten und
jede Seite bis zu 4096 Bytes enthält, die in 64 Blocks zu
je 64 Bytes unterteilt sind. Dem Fachmann leuchtet ohne weiteres ein. daß di^'.e F elddefinitionen natürlich etwas
willkürlich gewählt sind. Man könnte beispielsweise die
Virtuellen Adreßfelder auch so definieren, daß SX die Bits 8- 11, P,Ydie Bits 12-20, BLKdIe Bit« 2i -24 und
BYTBd\z Bits 25-31 belegt. Mit einem solchen Format
Würde die virtuelle Speicherung aus 16 Segmenten mit
je bis zu 128 Seilen uf i jede .Seite aus bis ZU 2048 Bytes
bestehen, die in !6 Blocks zu je 128 Bytes unterteilt sind. Bits 0-^7 werden in dieser bevorzugten Ausführungsform der Erfindung nicht benutzt, könnten iedoch. falls
gewünscht, zur Ausdehnung der virtuellen Adresse auf
ein 32-Bit-Adressensystem verwendet werden. Ein solches System würde über 4 Milliarden Bytes virtueller
Speicherkapazität aufweisen. Das Segmentfeld dient als Index zum Aufsuchen der Segmenttabelle. Die Eintragungen
in der Segmenttabelle enthalten einen Wert, der die Basisadresse derjenigen Seilentabelle darstellt, die
dem durch das Segmentfeld bezeichneten Segment zugeordnet ist. Das Seitenfeld dient als Index für eine
Eintragung in der Seitentabelle. Die Eintragung in der Seitentabelle enthält einen Wert, der die tatsächliche
oder echte Speicheradresse der Seite darstellt. Während der Umsetzung der virtuellen Adresse in die Hauptspeicheradresse
werden Block- und Bytefelder nicht verändert und werden anschließend mit der umgesetzten
Seitenadresse zur Bildung der tatsächlichen oder echten Hauptspeicheradresse verkettet. Für den Pufferspeicher
ist jedoch das Blockfeld auch Teil der virtuellen Adresse, der noch einer Umsetzung bedarf. Das
Bytefeld wird mit der umgesetzten Blockadresse zur Bildung der echten Pufferspeicheradresse verkettet.
Wird, wie aus Fig. I zu ersehen, die von der
Zentraleinheit CPU gelieferte Adresse als eine llaupi-Speicheradresse
(MS) angesehen, dann sind die Felder für das Segment (SX) und die Seite (PX) die virtuellen
Teile der Adresse, während Block (BLK)und Byiefelder
die Echtteile der Adresse sind. Wird die Adresse als Pufferspeicheradresse (BS) angesehen, dann besteht der
virtuelle Teil aus drei Feldern (SX. PX und BLK). während der Echtadreßteil nur aus dem Bytefeld mit
Bits niedriger Ordnung besteht.
Die Adreßumsetzung wird im Zusammenhang mit
Fig. 2 noch näher erläutert. Diese Figur und die nachfolgende Beschreibung erläutert Einzelheiten der
Hauptspeicheradreßumsetzung gemäß DE-OS
22 27 882. Zur Adreßumsetzung wird ein Tabellensuch-Vorgang
in zwei Ebenen durchgeführt, den Segment und
Seitentabellen vom Hauptspeicher Der Segmentadreßteil
(SX) der virtuellen Adresse wird zu einer Segmenttabellenursprungs-Adresse (STO) hinzugefügt,
die in einem Steuerregister 2 eingespeichert ist. um eine
Segmenttabelleneintragung 4 in einer Segmenttabelle 6 aufzufinden. (Das Steuerregister 2 wird auch allgemein
die Länge (LTH)der Segmenttabelle enthalten.) Diese SegmenttabeHeneintragung enthält eine Seitentabellen-Ursprungsadresse
(PTO). die zu dem Seitenadreßab schnitt (PX)der virtuellen Adresse hinzugefügt wird, um
die Adresse einer Seitentabelleneintragung 8 innerhalb der Seitentabelle 10 aufzufinden. Die Seitentabelleneintragung
8 enthält eine Echtadresse, die mit den Block-
und Byteabschnitten der virtuellen Adresse zur Bildung der Echtadresse im Hauptspeicher eines Datenbytes
verkettet wird. Damit es nicht nötig ist. für jeden Speicherzugriff die Adresse erneut umzusetzen, wird ein
Listenspeicher vorgesehen, in dem die SX- und PX-Abschnitte der virtuellen Adresse zusammen mit
den Echtadressen abgespeichert werden, wie sie aus der
Seitentabelle entnommen wurden. Der Listenspeicher wird kontinuierlich auf den neuesten Stand gebracht
und enthält damit die virtuellen und echten Seitenadressen der zuletzt angesprochenen Seiten. Das heißt aber,
daß zu Beginn einer Adreßumsetzung die umzusetzende virtuelie Seitenadresse anhand dieses Listenspeichers
überprüft wird, um festzustellea ob die entsprechende
Echtadresse bereits vorhanden ist Ist dies der FaIL liefert der Listenspeicher die echte Seitenadresse, die
dann mit den entsprechenden Block- und Byteabschnitten der virtuellen Adresse zur Bildung der echten
Hauplspeichcradrcsse verkettet wird. 1st die umzusetzende
Adresse nicht im l.istenspeicher enthalten, dann wird die Adreßumsetzung, wie beschrieben, durchgeführt,
und die umgesetzte Adresse wird zusammen iiiil der entsprechenden Echtadresse im Listenspcicher
eingespeichert.
Fig. 3 zeigt ein bevorzugtes Formal für die Eintragung 4 in eine Segmenttabelle und die Eintragung
8 in eine Sciteniabelle. Für jeden virtuellen Adressenraum
gibt es eine Segmenttabelle mit einer entsprechenden Seitentabelle. Der Ursprung und die Länge der
aktiven Segmenttabelle ist im Steuerregister (Fig. 2)
enthalten. Die Eintragung 4 in der Segmenttabelle enthält ein Längenfeld (LTH) mil den Bits 0- 3. das die
Länge der Seitentabelle in einzelnen Schritten gleich Vi6 der maximalen Länge angibt. Bit 31. das I - Bit. zeigt
die Gültigkeit der in der Segmenttabclleneinlragung enthaltenen Information an. Wenn das I - Bit eine I ist.
kann die Eintragung nicht für eine Adreßumsetzung b -ii'ic/i werden. Die Seitentabelleneintragung 8 enthält
in den Bit-Positionen 0-7 die acht Bits höherer Ordnung der echten Speicheradresse (Die Bits niedriger
Ordnung der ixhtadresse innerhalb der virtuellen Adresse werden mn den Bus höherer Ordnung von der
Seitentabelle verkettet und ergeben die Byte-Verschiebung innerhalb der Seite.) Außerdem ist jeder
Seitenlabelleneintragung ein I-Bit (Ungiiltigkeitsbit)
zugeordnet. Wenn das I - Bit eine I ist. dann kann die
Eintragung für eine Umsetzung nicht benutzt werden.
Die verschiedenen Teile der Erfindung sind ganz schematisch in F i g. 4 dargestellt. Die im Register 12 der
Zentraleinheit CPU enthaltene virtuelle Adresse dient zum Abfragen der Adressenumsetzereinheit SCAT 14.
Zur Durchführung einer Adreßumsetzung von virtueller auf Echtadresse für eine Hauptspeicheradresse werden
die Segment (SX)- und Seiten fPA>Teile der virtuellen
Adresse über Torschallungen 16. Leitung 18 und Torschaltungen 20 nach SCA T übertragen zur Durch
führung einer Vergleichsoperation zwischen diesen Feldern und entsprechenden, im Assoziativspeicher 14
von SCA T eingespeicherten Feldern. Ergibt sich durch diesen Abfrage- und Vergleichsvorgang mehr als ein
gültiger Vergleich, wird der Teil mit den hnherwertigen
Bits der Hauptspeicheradresse von SCA t nach dem Hauptspeicher-Adreßregister 22 über Torschaltung 24.
Leitung 26 und Torschaltung 2S übertragen. Der Adreßteil mit den Bits niedriger Ordnung der echten
Hauptspeicheradresse mit den Feldern BLK und BYTE der von der Zentraleinheit gelieferten Adresse wird von
dem CPV- Adreßregister 12 über Torschaltung 30. Leitung 32 und Torschaltung 34 nach dem Hauptspeicher-Adreßregister
22 geleitet. Um die Echtadresse der im Pufferspeicher eingespeicherten Daten zu erhalten,
werden drei Felder (SX PX und BLK) vom CPU-Adreßregister
12 über Torschaltung 36. Leitung 38 und Torschaltung 40 zum Abfragen des entsprechenden
Feldes im Assoziativspeicher 14 von SCA Γ übertragen. Wenn diese Felder mit dem Inhalt eines der Worte im
Assoziativspeicher 14 übereinstimmen, werden die höhenvertigen Bits der Pufferadresse von SOt Γ über
Torschaltung 44. Leitung 46 und Torschaltung 48 nach dem Pufferspeicher-Adreßregister 42 geleitet. Die
niedrigwertigen Bus der Pufferspeicheradresse werden
vom CPiZ-Adreßregister 12 über Torschaltung 50.
■ Leitung 52 und Torschaltung 54 nach dem medrigwerti-
een Teil des Pufferspeicher-Adreßregisters 42 geleitet.
Die Einzelheiten der verschiedenen Taktsignale und Steuersignale, die in einem System gemäß Fig.4
erforderlich sind, um die nötigen Steuersignale zur Betätigung der verschiedenen Torschaltungen zum
richtigen Zeitpunkt sicherzustellen, sind dem Fachmann bekannt. Verschiedene Verfahren zur Erzeugung
solcher Signale und deren Verteilung über das System sind bekannt und brauchen hier nicht beschrieben zu
werden.
Wf in bei beiden Abfrageoperationen beim Vergleich
ein gültiges Ergebnis erzielt wird, dann werden Echiadressen für den Hauptspeicher und den Pufferspeicher
an das Hauptspeicher-AdreBrenister 22 und das Pufferspeicher-Adreßregister 42 abgegeben.
Wenn dann ein Speicher ausgelesen werden soll, werden die angeforderten Daten dem Pufferspeicher
entnommen und die im Adreßregister 22 enthaltene Hauptspeicheradresse wird im allgemeinen nicht
beachtet. Bei einem Einspeichervorgang können die Daten nur im Pufferspeicher eingespeichert werden,
und die Hauptspeicheradresse kann unbeachtet bleiben oder die Daten können im Pufferspeicher und im
Hauptspeicher (Durchspeicherung) eingespeichert werden, wobei dann beide Adressen benutzt würden. Wenn
nur die erste oben erwähnte Abfrage ein gültiges Vergleichsergebnis liefert, würde dieses anzeigen, daß
die gewünschten Daten nur im Hauptspeicher, nicht aber im Pufferspeicher stehen. In diesem Fall müßte der
Hauptspeicher angesteuert werden, und die Daten könnten, falls erwünscht, im Pufferspeicher eingespeichert
werden. Die Entscheidung darüber, ob die Daten im Pufferspeicher eingespeichert werden sollen oder
nichi. würde nach bekannten Kriterien getroffen werden. Beim Einspeichern der Daten im Pufferspeicher
müßte .9CVVTauf den neuesten Stand gebracht werden, um diese Änderung im Status des Pufferspeichers
anzuzeigen. Auch dieses Auf-den-neuestenStand-bringen
würde in üblicher Weise erfolgen. Wenn keine der Abfragen einen gülligen Vergleich liefert, so würde das
anzeigen, daß die Daten weder im Hauptspeicher noch im Pufferspeicher zur Verfügung stehen. In diesem Fall
müßten die Daten in den Hauptspeicher überführt werden (im allgemeinen würde dabei die gesamte Seite,
die diese DaSen enthält, in den Hauptspeicher überführt
werden) und. falls erwünscht, würde der Block, der die
gewünschten Daten enthält, in den Pufferspeicher eingespeichert werden. Die hierzu notwendigen Verfahren
sind bekannt.
In F ι g. 5 sind weitere Einzelheilen einer bevorzugten
Ausführungsform der Adreßumsetzereinheit (SCAT) gezeigt. Der SCA Tenthält einen Assoziativspeicher 56
mit seinem Eingaberegister 58 und Ausgaberegistern 60 und 62. Zur Definition der Feldlänge sind außerdem ein
Eingabemaskenregister 64 und ein Ausgabemaskenregister 66 vorgesehen. Jedes Wort im Assoziativspeicher
56 ist in mehrere Felder unterteilt. Erfindungswesentlich
sind hierbei vier Felder: Das erste Feld 68 enthält die höherwertigen Bits der virtuellen Adressen, die kurz
zuvor umgesetzt worden sind, im allgemeinen die Segment (SX)- und die Seiten (PX)- Bits. Das zweite
Feld 70 enthält die Bits von erst kürzlich umgesetzten virtuellen Adressen, die die Block (BLK)-Adresse im
Pufferspeicher definieren, das dritte Feld 72 enthält die
echten Pufferspeicheradressen (BSRL). die den BLK-Adressen
in dem gleichen zugeordneten Assoziaiivspeicherwon entsprechen, und das vierte Feld 74
enthält die höherwertigen Bits der echten Hauptspeicheradressen (MSRL). die den SX- und Wf-Bits im
gleichen Wort des Ässoziarivspeichers entsprechen. Drei weitere Felder jedes Wortes im Assoziativspeicher
56 sind das Sehliissclfeld 76 (KY). das Auslauschfeld 78
(REPL) und das Gültigkeitsfeld 80 (V). Diese Felder
können benützt werden, um Zugriffsschlüssel von Benutzern aufrechtzuerhalten und zu überprüfen, den
ί Ersatz oder Austausch von Seiten im Hauptspeicher zu steuern und/oder von Blocks iin Pufferspeicher und die
Gültigkeit einzelner Worte im Assoziativspeicher anzuzeigen. Je nach den Erfordernissen einer bestimmten
Datenverarbeitungsanlage können die letztgenann'
ίο ten drei Felder ausgedehnt, verkleinert oder überhaupt
weggelassen werden. Da diese Felder und ihre Verwendung dem Fachmann bekannt sind und sie
außerdem nicht unmittelbar mit der vorliegenden Erfindung etwas zu tun haben, werden sie hier nicht
ii beschrieben. Außerdem werden hier die strukturellen
Einzelheiten des Assoziativspeichers nicht erwähnt, und die Art und Weise, wie ein Assoziativspeicher betrieben
wird, ist dem Fachmann geläufig und bedarf hier keiner Erläuterung.
Ute Arbeitsweise von SCAT in F i g. 5 soii nun
erläutert werden. Das F.ingaberegisier 58 nimmt die drei
Felder SX. PX und BLK von der TPC auf. Der Inhalt
des Eingaberegisters 58 wird unter Steuerung des Maskenregisters 64 dazu benutzt, zwei gleichzeitige
Abfragen des Assoziativspeichers 56 durchzuführen. Die Bits in den Feldern SX und PX im F.ingaberegister
werden mit den entsprechenden Eintragungen im Feld 68 des Assoziativspeichers verglichen. Wird ein gültiger
Vergleich festgestellt, dann werden die höherwertigen
JO Bits der entsprechenden echten Hauptspeicheradresse aus dem Feld 74 in das Ausgaberegister 62 unter
Steuerung des Ausgabemaskenregisters 66 ausgelesen. Die weitere Abfrage des Assoziativspeichers betrifft
den Vergleich der Bits in allen drei Feldern (SX. PX und BLK). die in den Eingaberegistern liegen, mit den
Feldern 68 (SX und PX) und 70 (BLK) der entsprechenden Worte im Assoziativspeicher. Bei
gültigem Vergleichsergcbnis werden die höherwertigen Bits der echten Pufferspeicheradresse aus dem Feld 72
in das Ausgaberegister 60. gesteuert durch das Maskenregister 66. ausgelesen. Ergeben beide Abfragen
einen gültigen Vergleich, dann wird das Ausgaberegister 60 die höherwertigen Bits der echten Adresse im
Pufferspeicher für die gewünschten Daten und das Ausgaberegister 62 die höherwertigen Bits der echten
Adresse der gewünschten Daten im Hauptspeicher enthalten. Ergibt nur die zuerst beschriebene Abfrage
einen gültigen Vergleich, dann liegen die höherwertigen Bits der echten Hauptspeicheradresse im Ausgaberegister
62. und das Ausgaberegister 60 enthält eine Anzeige, daß die gewünschten Daten im Pufferspeicher
nicht zur Verfügung stehen. Liefert keine der Abfragen em gültiges Vergleichsergebnis, dann enthalten die
Ausgaberegister 60 und 62 jeweils eine Anzeige, daß die gewünschten Daten weder im Pufferspeicher noch im
Hauptspeicher zur Verfugung stehen. Diese Anzeigen, daß die Daten nicht zur Verfugung stehen, werden
vorzugsweise in den Ausgaberegistern 60 und 62 vor der Abfrage des Assoziativspeichers56 über die Rückstellleitung
82 eingespeichert die von der Zentraleinheit CPU kommt Diese Anzeige könnte beispielsweise aus einem
1-Bit bestehen, das in ein Extrafeld in jedem Ausgaberegister eingespeichert ist. Wenn dann nach
Abfrage des Assoziativspeichers das Ausgaberegister Daten von einem der Assoziativspeicherfelder 72 oder
74 aufnimmt, wird das 1-Bit in ein O-Bit umgewandelt
Wenn daher nach der Abfrage noch ein 1 -Bit in dem
Extrafeld in einem oder beiden der Ausgaberegister 60
und 62 vorhanden ist. dann kann dies dazu benutzt werden, auf der Leitung 84 ein Sperrsignal für den
Pufferspeicherzugriff und auf der Leitung 86 ein Sperrsigriäl für den Hauptspeicherzugriff zu erzeugen.
Obgleich dem Fachmann die Benutzung von Maskenregistern am Eingang und Ausgang von Assoziativspeichern
gut bekannt ist, ist die Art und Weise, wie hier die Maskenregister (*i und 66 zur Erhöhung der Flexibilität
der erfindungsgciträßen Anordnung verwendet werden, doch eine weitergehende Erläuterung wert. Beide
Maskenregister 64 und 66 sind vor. üblicher Bauart, d. h.,
lie entsprechen in ihrer Größe und ihrem Aufbau dem Eingaberegister 58 und den Ausgaberegislern 60 und 62.
Wobei jedes der Maskenregister in üblicher Weise mil tinem vorgegebenen Muster von Einsen und Nullen
geladen wird. Das Bitmuster im Eingabemaskenregister •4 steuert diejenigen Bitpositionen des Eingaberegisters
S8 an. die bei der Abfrage des Assoziativspeichers 56
benutzt werden. Im allgemeinen wird jede Bitposition im Eingaberegisler 58. die einer Bitposition im
Maskenregister 64. die ein I-Bit enthält, entspricht, zum Vergleich benutzt. Somit kann das Maskenregister 64
für die Felddefinition benutzt werden. Beispielsweise enthalten in dem hier beschriebenen System die Felder
Μ und 70 der Worte im Assoziativspeicher 12 bzw. 6
Bits. Wenn jedoch ein Benutzer des Systems die Adressenfelder neu definieren möchte, so daß SX und
PX aus einem ΙΟ-Bitfeld und BLK aus einem 5-Bitfeld
bestehen, dann könnte er dieses SCAT für seine Adreßumsetzung und Tabellenlesen in einfacher Weise
benutzen, indem die Macke im Eingabemaskenregister
64 so geändert wird, daß zwei Bitpositionen im Feld 68 und eine Bitposition im Feld 70 bei der Abfrage nicht
beachtet werden. Das Ausgabemaskenregister kann in ger.au der gleichen Weise zur Definition oder Änderung
des Teils der Felder 72 und 74 benutzt werden, die in die
Ausgaberegister 60 bzw. 62 ausgelesen werden. Da Eintragungen in den Maskenregistern 64 und 66
diejenigen Teile der Felder 68, 70, 72 und 74 definieren, die tatsächlich benutzt werden, wird der Assoziativspeicher
56 vorzugsweise so aufgebaut, daß jedem der Felder 68,70,72 und 74 eine Anzahl von Bits zugeordnet
wird, die der größten Anzahl von Bits entspricht, die jemals in diesem Feld enthalten sein können. Falls
erwünscht, kann das Ausgabemaskenregister 66 auch als der Teil einer Datenverarbeitungsanlage dienen, der
anzeigt, ob derzeit gerade eine Adreßumsetzung oder Datenverschiebung im Hauptspeicher stattrindet. Würde
man ein nur aus Nullen bestehendes Bitmuster in die Bitpositionen des Maskenregisters 66 einführen, die die
Ausspeicherung nach dem Ausgaberegister 62 steuern, würde das Fehlen jegücher nach dem Ausgaberegister
62 ausgelesener Dater, ein Sperrsignal auf der Leitung 86 zur Folge haben, das durch nicht gezeigte
Einrichtungen dazu benutzt werden könnte, Adressen vom CPi/-Adreßregister unmittelbar ohne Umsetzung
nach dem Hauptspeicheradreßregisier zu leiten.
F i g. 6 zeigt eine weitere bevorzugte Ausführung von SCAT, die mit v, iniger Aufwand als die in F i g. 5
gezeigte Ausführungsform verwirklicht werden kann. Die wesentlichen Unterschiede zwischen den beiden
ί Ausführungsformen sind folgende: Der eitle Assoziativspeicher
56 gemäß Fig. 5 wird in Fig. 6 durch zwei Assoziativspeicher 88 und 90 ersetzt. Das eine
Eingabcmaskcnregislcr 64 in Fig. 5 wird durch zwei Eingabemaskenregister 92 und 94 in F i g. 6 ersetzt. Das
in eine Ausgabemaskenregister 66 der Fig. 6 wird durch
Zwei Ausgabemaskenregisler 96 und 98 in F i g. 6 ersetzt. Der Assoziativspeicher 88 wird /ur Umsetzung
des von der CPl/gelieferten virtuellen Adreßteils in die
höherwertigen Bits der echten Hauptspeicheradresse
i> benutzt und enthält (zusätzlich zu Schlüssel-. Aus
tausch-. Gültigkeits- usw. -Feldern) ein Feld 100. das
virtuelle Segment (SX)- und Seiten (PXJ-Bc/eichnungen
enthält sowie ein Feld 102. das die entsprechenden umgesetzten höherwertigen Bits der echten Haupt-Speicheradresse
enthält. Der Assoziativspeicher 90 wird zum Ableiten der höherwertigen Bits der echten
Pufferspeicheradresse benutzt und enthält (zusätzlich zu den anderen gewünschten Feldern) ein Feld 104 mit dem
Segment (SX). der Seite (P-YJund dem Block (BLK) mit
den entsprechenden Bits von kürzlich umgesetzten virtuellen Adressen zusammen mit einem Feld 106, das
die höherwertigen Bits der entsprechenden echten Pufferspeicheradressen enthält.
Die Arbeitsweise der in F i g. 6 gezeigten Anordnung ist im wesentlichen identisch mit der der in F i g. 5
gezeigten Anordnung. Das Eingaberegister 58 nimmt Segment-, Seiten- und Blockadressen aus der CPU auf.
Segment- und Seite-Adressen-Bits werden über die Torschaltung 108 zum Abfragen des Assoziativspeichers
88. gesteuert durch das Maskenregister 92, übertragen. In gleicher Weise werden die Bits der
Seiten- und Blockadressen vom Eingaberegister 58 über Torschaltung 110. gesteuert durch das Maskenregister
94. zum Abfragen an den Assoziativspeichel 90
·"> übertragen. Wird im Assoziativspeicher ein gültiger
Vergleich erzielt, dann weiden die höherwertigen Bits der echten Hauptspeicheradresse unter Steuerung des
Maskenregisters 96 in das Ausgaberegister 62 übertragen. Wird außerdem im Assoziativspeicher 90 ein
■*5 gültiger Vergleich erzielt, werden die höherwertigen
Bits der echten Pufferspeicheradresse, gesteuert durch
das Maskenregister 98, im Ausgaberegister 60 eingespeichert. Mit Ausnahme der Tatsache, daß der
Assoziativspeicher 56. das Eingabemaskenregister 64 und das Ausgabemaskenregister 66 in F i g. 5 in zwei
Assoziativspeicher 88 und 90. in zwei Eingabemaskenregister 92 und 94 und zwei Ausgabemaskenregister %
und 98 unterteilt worden sind, ist die Beschreibung der Arbeitsweise der in Fig.5 gezeigten Anordnung
unmittelbar anwendbar auf die Anordnung gemäß
Fig. 6.
Hierzu 3 Blatt Zeichnungen
Claims (4)
1. Schaltungsanordnung für eine Adressenumsetzung in einer Datenverarbeitungsanlage mit virtueller
Adressierung, mit Zentraleinheit, mit Speicherregister (12), Hauptspeicher, Pufferspeicher und
dazugehörigen Adreßregistern, dadurch gekennzeichnet, daß eine Adreßumsetzereinheit
(SCA T, F i g. 4, F i g. 5, F i g. 6) vorgesehen ist, in der
in einem Assoziativspeicher (14, 56; 88, 90) die Zuordnung zwischen virtuellen Adreßteilen (SX, PX
bzw. SX, PX, PLK) und entsprechenden Echtadressenteilen (RL MSbzw. RL BS) enthalten ist, daß das
Register (12) der Zentraleinheit, in dem die vollständigen virtuellen Adressen mit ihren Adreßteilen
(SX, PX, BLK, BYTE) eingespeichert sind, durch die für die höherwertigen Bits dargestellten
Adreßteile (SX. PX bzw. SX, PX. BLK) über sich
teilweise in ibrer Wirkung überlappende Torschaltungen (16, 36) Leitungen (18 und 38) und zwei sich
teilweise überlappende Torschaltungen (20, 40) mit den entsprechenden zugeordneten Teilen (SX. PX
bzw. SX, PX. BLK) des Assoziativspeichers der
Adreßumsetzereinheit (SCA T) verbunden sind, daß ferner das Register (12) für die verbleibenden
Adreßteile (BLK. BYTE bzw. BYTE) über sich teilweise in ihrer Wirkung überlappende Torschallungen
(30, 50) unmittelbar mit den Adreßregistern (MSAR bzw. BS AR) des Hauptspeichers bzw. des
Pufferspeichers verbunden sind und daß die die Echtadrcssenteile (RL MS b/w. RL BS) des Haupt-Speichers
bzw. des Pufferspe -hers ent'ialltnden
Teile des Assoziativspeicher der Xdreßumsetzereinheit
(SCAT) über Ausgabe! !schaltungen (24
bzw. 44) und Eingabeschaltungen (28 b/w. 48) mit den entsprechenden Adreßregistern (22 bzw. 42) ■' s
Hauptspeicher«, bzw. Pufferspeichers verbunden sind.
2. Anordnung nach Anspruch 1. dadurch gekennzeichnet,
daß die Zentraleinheit über ein Eingaberegister (58) mit dem Assoziativspeicher (56; 88, 90)
und dieser über Ausgaberegister (60, 62) mit den Adreßregistern (22,42) verbunden ist.
3. Anordnung nach Anspruch 2. dadurch gekennzeichnet,
daß/wischen dem Eingaberegister (58) und dem Assoziativspeicher (56; 88,90) Eingabemaskenregister
(64; 92, 94) und /wischen dem Assoziativspeicher (56; 88, 90) und den Ausgaberegistern (62,
64) Ausgabemaskenregister (66; 96, 98) eingeschaltet sind.
4. Anordnung nach Anspruch 3. dadurch gekennzeichnet,
daß die Ausgaberegister (62, 64) eine zusätzliche Bitposition enthalten, deren Wert (I„ 0)
bei erfolglosem Vergleich im Assoziativspeicher über eine gesonderte Leitung (84, 86) den Zugriff
EUm Hauptspeicher und/oder Pufferspeicher sper fen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US21162071A | 1971-12-23 | 1971-12-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2260353A1 DE2260353A1 (de) | 1973-06-28 |
DE2260353C2 true DE2260353C2 (de) | 1982-02-25 |
Family
ID=22787680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2260353A Expired DE2260353C2 (de) | 1971-12-23 | 1972-12-09 | Schaltungsanordnung für die Adressenumsetzung in einer Datenverarbeitungsanlage |
Country Status (5)
Country | Link |
---|---|
US (1) | US3764996A (de) |
JP (1) | JPS5236658B2 (de) |
DE (1) | DE2260353C2 (de) |
FR (1) | FR2170438A5 (de) |
GB (1) | GB1353311A (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3138973A1 (de) * | 1981-09-30 | 1983-04-21 | Siemens AG, 1000 Berlin und 8000 München | Vlsi-gerechter onchip mikroprozessorcachespeicher und verfahren zu seinem betrieb |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4010451A (en) * | 1972-10-03 | 1977-03-01 | National Research Development Corporation | Data structure processor |
JPS532296B2 (de) * | 1973-03-19 | 1978-01-26 | ||
US3942155A (en) * | 1973-12-03 | 1976-03-02 | International Business Machines Corporation | System for packing page frames with segments |
FR122199A (de) * | 1973-12-17 | |||
US4087852A (en) * | 1974-01-02 | 1978-05-02 | Xerox Corporation | Microprocessor for an automatic word-processing system |
US3938100A (en) * | 1974-06-07 | 1976-02-10 | Control Data Corporation | Virtual addressing apparatus for addressing the memory of a computer utilizing associative addressing techniques |
JPS5615066B2 (de) * | 1974-06-13 | 1981-04-08 | ||
US3958222A (en) * | 1974-06-27 | 1976-05-18 | Ibm Corporation | Reconfigurable decoding scheme for memory address signals that uses an associative memory table |
US4056845A (en) * | 1975-04-25 | 1977-11-01 | Data General Corporation | Memory access technique |
US4020470A (en) * | 1975-06-06 | 1977-04-26 | Ibm Corporation | Simultaneous addressing of different locations in a storage unit |
US4099230A (en) * | 1975-08-04 | 1978-07-04 | California Institute Of Technology | High level control processor |
JPS533029A (en) * | 1976-06-30 | 1978-01-12 | Toshiba Corp | Electronic computer |
US4128882A (en) * | 1976-08-19 | 1978-12-05 | Massachusetts Institute Of Technology | Packet memory system with hierarchical structure |
US4084227A (en) * | 1976-09-24 | 1978-04-11 | Sperry Rand Corporation | Virtual address translator |
US4084225A (en) * | 1976-09-24 | 1978-04-11 | Sperry Rand Corporation | Virtual address translator |
US4070703A (en) * | 1976-09-27 | 1978-01-24 | Honeywell Information Systems Inc. | Control store organization in a microprogrammed data processing system |
US4128875A (en) * | 1976-12-16 | 1978-12-05 | Sperry Rand Corporation | Optional virtual memory system |
GB2008821B (en) * | 1977-11-04 | 1982-01-13 | Sperry Rand Corp | Digital computers |
US4285040A (en) * | 1977-11-04 | 1981-08-18 | Sperry Corporation | Dual mode virtual-to-real address translation mechanism |
DE2842288A1 (de) * | 1978-09-28 | 1980-04-17 | Siemens Ag | Datentransferschalter mit assoziativer adressauswahl in einem virtuellen speicher |
US4251860A (en) * | 1978-10-23 | 1981-02-17 | International Business Machines Corporation | Virtual addressing apparatus employing separate data paths for segment and offset portions of a virtual address and utilizing only the offset portion to calculate virtual address |
FR2445988A1 (fr) * | 1979-01-02 | 1980-08-01 | Honeywell Inf Systems | Dispositif d'adressage perfectionne d'un systeme de traitement de donnees |
US4280177A (en) * | 1979-06-29 | 1981-07-21 | International Business Machines Corporation | Implicit address structure and method for accessing an associative memory device |
US4315312A (en) * | 1979-12-19 | 1982-02-09 | Ncr Corporation | Cache memory having a variable data block size |
US4393443A (en) * | 1980-05-20 | 1983-07-12 | Tektronix, Inc. | Memory mapping system |
JPS5734251A (en) * | 1980-08-07 | 1982-02-24 | Toshiba Corp | Address conversion and generating system |
EP0066083B1 (de) * | 1981-06-01 | 1986-07-16 | International Business Machines Corporation | Einrichtung zur Adressensubstitution |
US4654777A (en) * | 1982-05-25 | 1987-03-31 | Tokyo Shibaura Denki Kabushiki Kaisha | Segmented one and two level paging address translation system |
JPS59157887A (ja) * | 1983-02-28 | 1984-09-07 | Hitachi Ltd | 情報処理装置 |
US4587610A (en) * | 1984-02-10 | 1986-05-06 | Prime Computer, Inc. | Address translation systems for high speed computer memories |
JPH0652511B2 (ja) * | 1984-12-14 | 1994-07-06 | 株式会社日立製作所 | 情報処理装置のアドレス変換方式 |
US4884197A (en) * | 1985-02-22 | 1989-11-28 | Intergraph Corporation | Method and apparatus for addressing a cache memory |
US4860192A (en) * | 1985-02-22 | 1989-08-22 | Intergraph Corporation | Quadword boundary cache system |
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 |
US5255384A (en) * | 1985-02-22 | 1993-10-19 | Intergraph Corporation | Memory address translation system having modifiable and non-modifiable translation mechanisms |
US4972338A (en) * | 1985-06-13 | 1990-11-20 | Intel Corporation | Memory management for microprocessor system |
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 |
US5317717A (en) * | 1987-07-01 | 1994-05-31 | Digital Equipment Corp. | Apparatus and method for main memory unit protection using access and fault logic signals |
JPH01154261A (ja) * | 1987-12-11 | 1989-06-16 | Toshiba Corp | 情報処理装置 |
US5257395A (en) * | 1988-05-13 | 1993-10-26 | International Business Machines Corporation | Methods and circuit for implementing and arbitrary graph on a polymorphic mesh |
US5450558A (en) * | 1992-05-27 | 1995-09-12 | Hewlett-Packard Company | System for translating virtual address to real address by duplicating mask information in real page number corresponds to block entry of virtual page number |
EP0690386A1 (de) * | 1994-04-04 | 1996-01-03 | International Business Machines Corporation | Adressübersetzer und Verfahren zu seinem Betrieb |
US5530824A (en) * | 1994-04-04 | 1996-06-25 | Motorola, Inc. | Address translation circuit |
US5530822A (en) * | 1994-04-04 | 1996-06-25 | Motorola, Inc. | Address translator and method of operation |
US5535351A (en) * | 1994-04-04 | 1996-07-09 | Motorola, Inc. | Address translator with by-pass circuit and method of operation |
WO1999057642A1 (fr) * | 1998-05-01 | 1999-11-11 | Matsushita Electric Industrial Co., Ltd. | Dispositif et procede de traitement de donnees |
US9792221B2 (en) * | 2013-11-22 | 2017-10-17 | Swarm64 As | System and method for improving performance of read/write operations from a persistent memory device |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3533075A (en) * | 1967-10-19 | 1970-10-06 | Ibm | Dynamic address translation unit with look-ahead |
US3569938A (en) * | 1967-12-20 | 1971-03-09 | Ibm | Storage manager |
US3618040A (en) * | 1968-09-18 | 1971-11-02 | Hitachi Ltd | Memory control apparatus in multiprocessor system |
US3761881A (en) * | 1971-06-30 | 1973-09-25 | Ibm | Translation storage scheme for virtual memory system |
-
1971
- 1971-12-23 US US00211620A patent/US3764996A/en not_active Expired - Lifetime
-
1972
- 1972-10-23 GB GB4865572A patent/GB1353311A/en not_active Expired
- 1972-11-30 JP JP47119481A patent/JPS5236658B2/ja not_active Expired
- 1972-12-04 FR FR7244246A patent/FR2170438A5/fr not_active Expired
- 1972-12-09 DE DE2260353A patent/DE2260353C2/de not_active Expired
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3138973A1 (de) * | 1981-09-30 | 1983-04-21 | Siemens AG, 1000 Berlin und 8000 München | Vlsi-gerechter onchip mikroprozessorcachespeicher und verfahren zu seinem betrieb |
Also Published As
Publication number | Publication date |
---|---|
JPS5236658B2 (de) | 1977-09-17 |
FR2170438A5 (de) | 1973-09-14 |
US3764996A (en) | 1973-10-09 |
JPS4874126A (de) | 1973-10-05 |
DE2260353A1 (de) | 1973-06-28 |
GB1353311A (en) | 1974-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2260353C2 (de) | Schaltungsanordnung für die Adressenumsetzung in einer Datenverarbeitungsanlage | |
DE2227882C2 (de) | Virtuelle Speicheranordnung | |
DE2231146C3 (de) | Datenverarbeitungsanlage mit virtueller Adressierung | |
DE3011552C2 (de) | ||
DE2807476C2 (de) | Speichereinrichtung mit mehreren virtuellen Adreßräumen | |
DE2350225C2 (de) | ||
DE2235841C2 (de) | Datenverarbeitungsanlage mit Speichersteuerung für mindestens einen Prozessor und diesen zugeordneten Pufferspeichern | |
DE2226382C3 (de) | Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern | |
DE2350215C2 (de) | Rechenanlage | |
DE2455047C2 (de) | Datenverarbeitungssystem mit einem Informationsspeicher | |
DE3724317C2 (de) | ||
DE2637054C3 (de) | Steuervorrichtung für einen Pufferspeicher | |
DE2154106A1 (de) | Arbeitsspeicherwerk | |
DE1956604A1 (de) | Datenverarbeitungsanlage mit einem Speichersystem | |
DE2230266A1 (de) | Datenverarbeitungsanlagen mit einer zentraleinheit unter verwendung virtueller adressierung | |
EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE2230103A1 (de) | Adressiereinrichtung fuer einen speicher | |
DE3126363A1 (de) | Verfahren und vorrichtung zur steuerung einer datenuebertragung mit direktem speicherzugriff | |
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE3502147A1 (de) | Datenverarbeitungssystem mit verbesserter pufferspeichersteuerung | |
DE2640357A1 (de) | Wortgruppenprioritaetsanordnung | |
DE2718551A1 (de) | Adressenumsetzvorrichtung in einer datenverarbeitungsvorrichtung | |
DE3013064C2 (de) | Schaltungsanordnung zur Übertragung von Bitgruppen zwischen einer von mehreren peripheren Einheiten und einem Pufferspeicher | |
DE2054941C2 (de) | Anordnung zur Auswahl von Datensätzen | |
CH495584A (de) | Datenverarbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
D2 | Grant after examination | ||
8339 | Ceased/non-payment of the annual fee |