DE3805107C2 - - Google Patents
Info
- Publication number
- DE3805107C2 DE3805107C2 DE3805107A DE3805107A DE3805107C2 DE 3805107 C2 DE3805107 C2 DE 3805107C2 DE 3805107 A DE3805107 A DE 3805107A DE 3805107 A DE3805107 A DE 3805107A DE 3805107 C2 DE3805107 C2 DE 3805107C2
- Authority
- DE
- Germany
- Prior art keywords
- address
- virtual
- gid
- logical
- spaces
- 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/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
Description
Die Erfindung betrifft ein Verfahren und eine Vorrichtung
zur Steuerung mehrerer virtueller Adreßräume eines mehrere
virtuelle Speicherräume aufweisenden Speichers jeweils ge
mäß den Oberbegriffen der Patentansprüche 1 und 8. Ein
solches Verfahren und eine solche Vorrichtung sind aus der
JP-A-60-68 443 bekannt.
Zur Adressierung virtueller Speicher eines Computersystems
wird zunächst eine virtuelle oder logische Adresse angege
ben. Demgemäß muß beim Zugriff zum Hauptspeicher die logi
sche Adresse in eine reale Adresse des Hauptspeichers um
gesetzt werden. Die Adreßumsetzung wird durchgeführt, in
dem in einer Adressenumsetztabelle nachgeschlagen wird,
die üblicherweise eine Segmenttabelle und Seitentabellen
aufweist. Aus logischen und realen Adressen bestehende
Adressenpaare werden in einem Adressenumsetzpuffer oder
einem Umsetzvorgriffspuffer (TLB) gespeichert, und eine
einer zum Speicherzugriff angeforderten logischen Adresse
entsprechende reale Adresse wird im TLB aufgesucht, so daß
die Adressenumsetzung schnell durchgeführt werden kann.
In einem virtuellen Speicher mit mehreren virtuellen Spei
cherräumen, in dem eine Mehrfachverarbeitung durchgeführt
wird, ist jedem Job ein virtueller Adreßraum zugeteilt,
und für jeden virtuellen Adreßraum eine eigene Adressen
umsetztabelle vorgesehen. Das für den Wechsel zwischen den
Jobs nötige Umschalten der virtuellen Adressenräume wird
von einem Betriebssystem (OS) eines Computersystems durch
ein Neuschreiben einer Startadresse der Adressenumsetz
tabelle oder des Inhalts eines Adressensteuerregisters
(ATOR), das einen Adreßraumidentifikator speichert, durch
geführt. In diesem Fall muß außer der logischen und der
realen Adresse der Inhalt (ATO) des Adressensteuerregi
sters in dem TLB gespeichert werden, und zur Gewinnung der
realen Adresse aus dem TLB muß die Übereinstimmung der
entsprechenden virtuellen Speicherräume als auch die
Übereinstimmung der logischen Adressen geprüft werden.
Bei dem bekannten Verfahren wird ein gemeinsamer Speicher
bereich für mehrere virtuelle Speicherräume eines solchen
mehrfach virtuellen Speichers gekennzeichnet, indem dem
TLB ein "common segment bit" (C-Bit) hinzugefügt wird.
Wenn das C-Bit "1" ist, wodurch es angibt, daß der ge
meinsame Bereich vorhanden ist, werden die Startadresse
der Adressenumsetztabelle oder der Identifikator, die im
TLB gespeichert sind, übergangen, und, wenn die logische
Adresse aus dem Speicheradressenregister mit der logischen
Adresse des TLB übereinstimmt, wird die entsprechende
reale Adresse für gültig erachtet und damit der Zugriff
zum Hauptspeicher durchgeführt.
In einem mehrfach virtuellen Computersystem wird ein Com
puteridentifikator (CN-Bit) in einen den virtuellen Com
putern gemeinsamen Bereich gesetzt, und ein Paar der im
TLB gespeicherten logischen und realen Adressen durch eine
logische UND-Verknüpfung des C-Bits mit dem CN-Bit in den
Gültigkeitszustand versetzt.
Durch die aus der oben genannten Druckschrift bekannten
Maßnahmen läßt sich bei Verwendung eines allen virtuellen
Speicherräumen gemeinsamen Bereichs die Trefferrate des
Adressenumsetzpuffers erhöhen. Jedoch ist ein Fall, wo ein
nur einigen virtuellen Speicherräumen gemeinsamer Bereich
vorhanden ist, nicht betrachtet. Wenn nur ein Teil der
virtuellen Speicherräume einen gemeinsamen Bereich auf
weist, sinkt die Trefferhäufigkeit des Adressenumsetzpuffers,
und es steigt die Häufigkeit, mit der ein Über
schreiben des Puffers nötig ist. Daten im gemeinsamen Bereich
können einfach durch einen virtuellen Adreßraum ausgelesen
oder fortgeschrieben werden, so daß die Sicherheit
der Daten und Programme der jeweiligen virtuellen Adreßräume
ungenügend ist. Deshalb läßt sich die Steuerung virtueller
Adreßräume, bei denen ein gemeinsamer Bereich für
nur einige Adreßräume vorgesehen ist, mit dem bekannten
System nur schlecht durchführen.
Aus der US 41 36 385 ist es bekannt, in der Adressenumsetztabelle
und im Adressenumsetzpuffer eines Rechners ein
Bit vorzusehen, welches angibt, ob die zu dem entsprechenden
Puffer- bzw. Tabelleneintrag gehörige logische Adresse
einem Bereich angehört, der verschiedenen virtuellen
Adreßräumen gemeinsam ist. Falls dies für einen Eintrag im
Adressenumsetzpuffer zutrifft, kann der Eintrag zur Übersetzung
der entsprechenden logischen Adressen aus verschiedenen
virtuellen Adreßräumen verwendet werden. Eine
Verwendung von Gruppenidentifikatoren für Speicherbereiche,
die nur einem Teil der virtuellen Adreßräume gemeinsam
sind, läßt sich dieser Durckschrift jedoch nicht entnehmen.
Es ist Aufgabe der Erfindung, ein Verfahren und eine Vorrichtung
zur Steuerung mehrerer virtueller Adreßräume für
mehrfach virtuelle Speicher eines Mehrfachprozeßcomputers anzugeben,
wodurch sich, wenn mehrere virtuelle Speicherräume
einen gemeinsamen Bereich aufweisen, eine Adreßumsetzung
ohne Verschlechterung der Trefferrate eines TLB's bei
spezifizierten virtuellen Adreßräumen und der Daten- und
Programmsicherheit durchführen läßt.
Die obige Aufgabe wird anspruchsgemäß gelöst.
Anspruch 1 kennzeichnet ein die obige Aufgabe lösendes
Verfahren. Die Unteransprüche 2 bis 7 kennzeichnen jeweils
vorteilhafte Ausbildungen davon. Anspruch 8 kennzeichnet
eine die obige Aufgabe lösende Steuervorrichtung. Die Ansprüche
9 bis 14 kennzeichnen jeweils vorteilhafte Weiterbildungen
davon.
Vorteilhafterweise läßt sich durch das vorgeschlagene Verfahren
und die vorgeschlagene Vorrichtung die Adressenumsetzung
durch den selben Adressenumsetzpuffereintrag für
einen verschiedenen virtuellen Räumen gemeinsamen Teilbereich
erzielen. Somit läßt sich bei dem vorgeschlagenen
Steuerverfahren die Anzahl von Fortschreibvorgängen für
den Adressenumsetzpuffer verringern und die Puffertrefferhäufigkeit
erhöhen.
Weiterhin kann der Zugriff zu einem einer Gruppe virtueller
Räume gemeinsamen Bereich von einem virtuellen Raum
einer anderen Gruppe durch Setzen verschiedener Gruppenidentifikatoren
für die jeweiligen Gruppen unterbunden
werden.
Die Erfindung wird nun anhand eines Ausführungsbeispiels
unter Bezug auf die Zeichnung näher beschrieben.
Es zeigt
Fig. 1 ein Blockschaltbild einer vorgeschlagenen
Ausführungsart der Vorrichtung;
und
Fig. 2 beispielhaft einen Speicherplan eines mehrfach
virtuellen Speicherraums, wie er beispielhaft
bei der nachfolgenden Beschreibung
zugrundegelegt ist.
Der in Fig. 2 gezeigte Speicherplan weist einen virtuellen
Speicherräumen (nachfolgend auch kurz: Räume) 1 bis 8 gemeinsamen Bereich
100, wie in der o. g. JP-A-60-68 443,
auf. Bei der vorliegenden Ausführungsart haben außerdem
die virtuellen Räume 1 bis 3 einen gemeinsamen Bereich 101
(Gruppe A), die virtuellen Räume 4 bis 5 einen gemeinsamen
Bereich 102 (Gruppe B) und die virtuellen Räume 4, 7 und 8
einen gemeinsamen Bereich 103 (Gruppe C). Nachstehend wird
ein Identifikator für den allen Räumen gemeinsamen Bereich
100 "common segment bit" (C) und Identifikatoren für die
Gruppen A, B und C (101-103) Gruppenidentifikatoren
(GID) genannt. Ein GID kann aus acht Bits bestehen, wobei
die jeweiligen Bitstellen den Räumen 1 und 8 entsprechen.
Für die Gruppe A haben die Bitstellen 1 bis 3 den Wert
"1". Für die Gruppe B haben die Bitstellen 4 und 5 den
Wert "1", während für die Gruppe C die Bits 4, 7 und 8
den Wert "1" haben. Die Gruppen A, B und C können auch
kodiert gekennzeichnet werden. In diesem Fall kann der
Gruppenidentifikator GID weniger als acht Bitstellen
haben.
Fig. 1 stellt ein Blockschaltbild einer vorgeschlagenen
Ausführungsart einer Adressenumsetzsteuervorrichtung dar.
Ein Speicheradressenregister (MAR) 1 speichert eine für
einen Speicherzugriff zugeführte logische Adresse (LA).
Ein Adressenumsetztabellen- Startadressenregister (ATOR) 2
speichert einen Adreßraumidentifikator oder eine Startadresse
(ATO) und einen Gruppenidentifikator (GID) zur
Kennzeichnung eines momentanen virtuellen Raums. Sobald
ein virtueller Raum gewählt und gesteuert von einem Betriebssystem
umgeschaltet ist, werden der Adreßraumidentifikator
oder ATO in dem ATOR 2 fortgeschrieben. In der
folgenden Beschreibung wird entweder der Adreßraumidentifikator
oder der ATO in der selben Weise verwendet.
Jeder Eintrag der Adressenumsetztabelle 3 besteht aus
einer realen Adresse (RA), einem gemeinsamen Segmentbit (common segment bit)
(C) und einem Gruppen-ID (GID). Die Adressenumsetztabelle 3
ist im Hauptspeicher für jeden virtuellen
Raum vorbereitet, und ihre Startadresse wird durch den
Inhalt ATO im ATOR 2 angegeben. Die Adressenumsetz
tabelle besteht üblicherweise aus einer Segmenttabelle
und Seitentabellen. Zur Vereinfachung der Beschreibung
ist in Fig. 1 nur eine Tabelle dargestellt.
Jeder Eintrag des Adressenumsetzpuffers (TLB) 4 besteht
aus einer Startadresse (ATO) für die Adressenumsetz
tabelle, einer logischen Adresse (LA), einer realen
Adresse (RA), einem gemeinsamen Segmentbit (C) und
einem Gruppenidentifikator (GID). Fig. 1 zeigt nur einen
Eintrag in dem TLB 4. Tatsächlich hat der TLB 4 jedoch
mehrere Einträge, und der Zugriff zu einem gewünschten
Eintrag geschieht durch vorgegebene Bits, wie einer
Startadresse des Speicheradreßregisters (MAR) 1. Dieses
Verfahren wird als satz-assoziatives Adressenumsetz
puffersteuerverfahren bezeichnet. Wenn mittels der
Adressenumsetztabelle eine Adressenumsetzung durchge
führt wird, werden die logische Adresse (LA) im Spei
cheradressenregister 1, die Startadresse ATO im ATOR 2,
und die Informationen RA, C und GID der Adressenumsetz
tabelle 3 im jeweiligen Eintrag des TLB 4 registriert.
Eine Exklusiv-ODER-Schaltung (EX-OR) 5 vergleicht die
Information ATO des ATOR 2 mit dem ATO des TLB 4 und
erzeugt bei Gleichheit ein "1"-Ausgangssignal. Eine
EX-OR-Schaltung 6 vergleicht die logische Adresse des
Speicheradressenregisters 1 mit der logischen Adresse
LA des TLB 4 und erzeugt bei Gleichheit ein "1"-
Ausgangssignal. Die EX-OR-Schaltungen erzeugen als
Ausgangssignale "0", wenn die von ihnen verglichenen
Eingänge ungleich sind. Eine ODER-Schaltung 8 bildet
eine Erfassungseinrichtung, die erfaßt, ob ein durch
das Betriebssystem angegebener virtueller Raum keiner
Gruppe angehört und erzeugt ein "1"-Ausgangssignal,
wenn zumindest eine der Bitstellen des Gruppeniden
tifikators GID im ATOR 2 ein signifikantes Bit ist
und ein eingegebenes logisches Signal "1" ist. Eine
UND-Schaltung 9 erzeugt an ihrem Ausgang eine "1",
wenn sowohl das Ausgangssignal der EX-OR-Schaltung 7
und der ODER-Schaltung 8 "1" ist. Eine ODER-Schaltung
10 erzeugt ein Ausgangssignal "1", wenn eines oder
mehrere der ihr anliegenden Eingangssignale, nämlich
das Ausgangssignal der EX-OR-Schaltung 5, das C-Bit
des TLB 4 oder das Ausgangssignal der UND-Schaltung 9
"1" ist. Eine UND-Schaltung 11 erzeugt an ihrem Aus
gang eine "1", wenn die Ausgangssignale der UND-
Schaltung 11, der EX-OR-Schaltung 6 und der ODER-
Schaltung 10 sämtlich den logischen Wert "1" besitzen.
Das Ausgangssignal der UND-Schaltung 11 ist ein
Adressenumsetzpuffertreffersignal HIT. Wenn das Signal
HIT den logischen Wert "1" hat, wird damit die reale
Adresse RA des TLB 4 als gültig gekennzeichnet, worauf
mit dieser realen Adresse zum Speicher zugegriffen
wird.
Die Funktion der in Fig. 1 dargestellten Schaltung wird
unter Bezug auf den in Fig. 2 gezeigten Speicherplan
erläutert.
Hier wird angenommen, daß die Werte des gemeinsamen
Bereichs 101 der Gruppe A des virtuellen Raums 1 schon
in Form der Informationen ATO, LA, RA, C und GID der
Einträge im TLB 4 registriert wurden, und daß die
Informationen ATO und GID des virtuellen Raums 2 in
das ATOR 2 gesetzt wurden. Wenn die logische Adresse
des Speicheradressenregisters MAR 1 einen Bereich der
Gruppe A angibt, erzeugt die EX-OR-Schaltung 6 ein
Ausgangssignal mit dem logischen Wert "1". Da die
Startadressen ATO im ATOR 2 und im TLB 4 nicht über
einstimmen, erzeugt die EX-OR-Schaltung ein "0"-Aus
gangssignal. Da der Bereich 101 der Gruppe A nicht der
allen Räumen gemeinsame Bereich 100 ist, ist das C-Bit des
TLB "0". In diesem Fall erzeugt, wenn der Gruppenidentifikator
(GID) nicht gesetzt wurde, die ODER-Schaltung 10 ein
Ausgangssignal mit dem logischen Wert "0", da die Schaltungen
7 bis 9 jeweils "0" an ihren Ausgängen abgeben, und
die UND-Schaltung 11 erzeugt ein Ausgangssignal des logischen
Wertes "0", was angibt, daß die entsprechende logische
Adresse im TLB nicht vorhanden ist. Auf der anderen
Seite sind, falls die Bits für die gemeinsame Gruppe A der
virtuellen Räume 1 und 2 (d. h., daß die Bitstellen 1 bis
3 des GID "1" sind) in dem Gruppenidentifikator GID im
ATOR 2 gesetzt wurden, die Ausgangssignale sowohl der
EX-OR-Schaltung 7 als auch der ODER-Schaltung 8 "1", und
die ODER-Schaltung 10 erzeugt ein Ausgangssignal des logi
schen Werts "1". Als Ergebnis ist das HIT-Signal der UND-Schaltung
11 "1" und gibt damit an, daß eine der logischen
Adresse entsprechende reale Adresse in dem TLB existiert.
Somit wird zum Hauptspeicher mittels der RA im TLB 4 als
reale Adresse zugegriffen.
Es muß hervorgehoben werden, daß der in Gruppe B und
Gruppe C enthaltene Raum 4, wenn man die Häufigkeit, mit
der zu ihm zugegriffen wird, betrachtet, verhältnis
mäßig klein ist.
Claims (15)
1. Verfahren zur Steuerung mehrerer virtueller Adreßräume
eines mehrere virtuelle Speicherräume aufweisenden Speichersystems,
der eine zur Umsetzung einer logischen Adresse (LA)
in eine reale Adresse (RA) dienende Adressenumsetztabelle
(3), ein Adressensteuerregister (2), das eine Startadresse
der Adressenumsetztabelle oder einen Identifikator für einen
virtuellen Adreßraum speichert und einen Adressenumsetzpuffer
(4) aufweist, der Kopien von in der Adressenumsetztabelle
enthaltenden Einträgen speichern kann,
gekennzeichnet durch
folgende Schritte:
- - Einträgen in der Adressenumsetztabelle (3), dem Adressenumsetzpuffer (4) und dem Eintrag im Adressensteuerregister (2) wird jeweils ein Gruppenidentifikator (GID) hinzugefügt, der einen einer bestimmten Gruppe virtueller Adreßräume gemeinsamen Bereich (101; 102; 103) kennzeichnet;
- - es wird ermittelt, ob zumindest ein Eintrag im Adressenumsetzpuffer (4), dessen logische und Adressenumsetztabellenstartadresse jeweils mit der für eine Speicheranforderung zugeführten logischen Adresse und der im Adressensteuerregister (2) stehenden Adressenumsetztabellenstartadresse übereinstimmen und/oder ein Eintrag im Adressenumsetzpuffer (4) vorliegt, dessen logische Adresse und Gruppenidentifikator (GID) jeweils mit der für den Speicherzugriff zugeführten logischen Adresse und dem im Adressensteuerregister (2) stehenden Gruppenidentifikator (GID) übereinstimmen; und
- - falls zumindest eine Übereinstimmung auftritt, wird die reale Adresse des Eintrags als für einen Speicherzugriff gültige reale Adresse gekennzeichnet.
2. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
daß der gemeinsame Bereich (101; 102; 103) mehrere unterschiedliche
Bereiche enthält, die jeweils aus einer vorgegebenen
Kombination von Teilen virtueller Adreßräume bestehen, deren
Anzahl geringer ist als die Gesamtzahl der virtuellen
Adreßräume, wobei jeder der verschiedenen gemeinsamen Bereiche
(101; 102; 103) einen Gruppenidentifikator (GID) zur eigenen Kennzeichnung
hat, diese Bereiche unabhängig voneinander sind und
nicht aufeinander zugreifen können.
3. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
daß der gemeinsame Bereich jeweils einen Bereich aufweisen,
der zumindest einem ersten und einem zweiten virtuellen
Adressenraum gemeinsam ist, wobei jeder Adressenraum mehrere
begrenzte gemeinsame Teilbereiche hat und Daten in
den gemeinsamen Teilbereichen von einem Betriebssystem
gesteuert werden.
4. Verfahren nach Anspruch 3,
dadurch gekennzeichnet,
daß der erste virtuelle Adreßraum eine höhere Priorität
hat als der zweite virtuelle Adreßraum.
5. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
daß der einen Eintrag im Adressenumsetzpuffer (4) ermittelnde
Schritt Teilschritte aufweist, die jeweils durch Vergleich
der für einen Speicherzugriff von einem Speicheradressenregister
(1) zugeführten logischen Adresse mit der logischen
Adresse in dem Adressenumsetzpuffer (4) und durch Vergleich
des Gruppenidentifikators (GID) des Adressensteuerregisters (2) mit
dem Gruppenidentifikator (GID) des Adressenumsetzpuffers (4) bei
Gleichheit ein erstes Koinzidenzsignal und ein zweites
Koinzidenzsignal erzeugen und bestimmen, daß der entsprechende
Eintrag in dem Adressenumsetzpuffer (4) gültig ist,
wenn das erste Koinzidenzsignal und das zweite Koinzidenzsignal
gleichzeitig vorliegen.
6. Verfahren nach Anspruch 5,
dadurch gekennzeichnet,
daß das zweite Koinzidenzsignal unterdrückt wird, wenn erfaßt
ist, daß der aus dem Adressensteuerregister (2) stammende
Gruppenidentifikator (GID) zu keiner Gruppe virtueller Adreßräume
mit gemeinsamen Bereichen gehört.
7. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
daß ein Eintrag in der Adressenumsetztabelle (3) in den Adressenumsetzpuffer
(4) kopiert wird, wenn festgestellt wird, daß
der entsprechende Eintrag in dem Adressenumsetzpuffer (4)
nicht vorliegt.
8. Vorrichtung zur Steuerung mehrerer virtueller Adreßräume
in einem virtuellen Speicher,
gekennzeichnet durch
- a) eine Adressenumsetztabelle (3), die Paare aus logischen und realen Adressen (LA, RA) sowie zur Kennzeichnung von bestimmten Gruppen virtueller Adreßräumen gemeinsamen Speicherbereichen dienende Gruppenidentifikatoren (GID) aufweist, um eine logische Adresse (LA) in eine reale Adresse (RA), gesteuert durch ein Betriebssystem, umzusetzen;
- b) einen Adressenumsetzpuffer (4), der aus der Adressenumsetztabelle (3) kopierte logische und reale Adressenpaare (LA, RA) und den zugehörigen Gruppenidentifikator (GID) zur Umsetzung einer logischen Adresse in eine reale Adresse enthält;
- c) ein Adressensteuerregister (2) für einem Identifikator (ATO) für virtuelle Adressenräume und einen Gruppenidentifikator (GID), dessen Inhalte, gesteuert durch das Betriebssystem, zur Umschaltung zwischen den virtuellen Adressenräumen fortgeschrieben werden; und
- d) eine auf die Zufuhr einer logischen Adresse für einen Speicherzugriff ansprechende Erfassungseinrichtung (5 bis 11), die solche im Adressenumsetzpuffer (4) enthaltene Einträge erfaßt, die in ihrer logischen Adresse und in ihrem Identifikator (ATO) jeweils mit der zum Speicherzugriff zugeführten logischen Adresse und dem Identifikator (ATO) des Adressensteuerregisters (2) übereinstimmen und/oder solche Einträge erfaßt, die jeweils in ihrer logischen Adresse und in ihrem Gruppenidentifikator (GID) mit der für den Speicherzugriff zugeführten logischen Adresse und dem Gruppenidentifikator (GID) im Adressensteuerregister (2) übereinstimmen;
wobei
die Erfassungseinrichtung (5 bis 11) bei Vorliegen einer
dieser Einträge ein Signal erzeugt, das die reale Adresse
in dem Adressenumsetzpuffer (4) als eine für einen Speicherzugriff
gültige Adresse kennzeichnet.
9. Vorrichtung nach Anspruch 8,
dadurch gekennzeichnet,
daß der Gruppenidentifikator (GID) aus mehreren Bits besteht und
von einem Einzelbit (C) getrennt ist, das einen allen virtuellen
Adreßräumen gemeinsamen Speicherbereich (100) kennzeichnet
und das in der Adressenumsetztabelle (3) und als Teilkopie
aus dieser in dem Adressenumsetzpuffer (4) enthalten ist.
10. Vorrichtung nach Anspruch 9,
dadurch gekennzeichnet,
daß die Erfassungseinrichtung (5 bis 11) ein Glied (6),
das die von einem Speicheradressenregister (1) für einen
Speicherzugriff zugeführte logische Adresse mit dem Inhalt
des entsprechenden Eintrags des Adressenumsetzpuffers (4)
vergleicht und bei Gleichheit ein erstes Koinzidenzsignal
erzeugt, ein Glied (7, 8, 9), das den Gruppenidentifikator
(GID) im Adressensteuerregister (2) mit dem Inhalt des
entsprechenden Eintrags des Adressenumsetzpuffers (4)
vergleicht und bei Gleichheit ein zweites Koinzidenzsignal
erzeugt und Glieder (10 bis 11) aufweist, die bei gleichzeitigem
Auftreten des ersten und des zweiten Koinzidenz
signals ein Gültigkeitssignal (HIT) erzeugen, das die reale
Adresse des entsprechenden Eintrags im Adressenumsetzpuffer
(4) als für einen Speicherzugriff gültige Adresse
kennzeichnet.
11. Vorrichtung nach Anspruch 10,
dadurch gekennzeichnet,
daß das Glied (7, 8, 9), das das zweite Koinzidenzsignal erzeugt,
Schaltmittel (8, 9) aufweist, die dieses sperren, wenn erfaßt
ist, daß der Grundidentifikator (GID) aus dem Adressensteuer
register (2) zu keiner Gruppe virtueller Adreßräume mit
gemeinsamen Bereichen gehört.
12. Vorrichtung nach Anspruch 10,
dadurch gekennzeichnet,
daß die Erfassungseinrichtung weiterhin Schaltmittel (5) auf
weist, die den aus dem Adressensteuerregister (2) ausgegebenen
Inhalt mit dem Inhalt des entsprechenden Eintrags
des Adressenumsetzpuffers (4) vergleichen und bei Gleichheit
ein drittes Koinzidenzsignal erzeugen, wobei die das
Gültigkeitssignal (HIT) erzeugenden Glieder (10, 11) das Gültigkeitssignal
(HIT) erzeugen, wenn das erste und zweite oder das erste und dritte Koinzidenzsignal
gleichzeitig auftreten.
13. Vorrichtung nach Anspruch 12,
dadurch gekennzeichnet,
daß die das Gültigkeitssignal (HIT) erzeugenden Glieder (10, 11) bei
gleichzeitigem Auftreten des Einzelbits (C), das den
sämtlichen virtuellen Adreßräumen gemeinsamen Bereich (100) angibt,
und des ersten Koinzidenzsignals das Gültigkeitssignal
(HIT) erzeugen.
14. Vorrichtung nach Anspruch 8,
dadurch gekennzeichnet,
daß der Identifikator (ATO) für virtuelle Adressenräume
Startadressen der Adressenumsetztabelle enthält.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62065424A JPS63231550A (ja) | 1987-03-19 | 1987-03-19 | 多重仮想空間制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3805107A1 DE3805107A1 (de) | 1988-09-29 |
DE3805107C2 true DE3805107C2 (de) | 1989-11-09 |
Family
ID=13286671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3805107A Granted DE3805107A1 (de) | 1987-03-19 | 1988-02-18 | Verfahren und vorrichtung zur steuerung virtueller adressraeume eines virtuellen speichers |
Country Status (3)
Country | Link |
---|---|
US (1) | US4985828A (de) |
JP (1) | JPS63231550A (de) |
DE (1) | DE3805107A1 (de) |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61190638A (ja) * | 1985-02-20 | 1986-08-25 | Hitachi Ltd | 仮想計算機のフアイル制御方式 |
JPH01255945A (ja) * | 1988-04-06 | 1989-10-12 | Hitachi Ltd | 仮想計算機におけるアドレス変換装置 |
US5239635A (en) * | 1988-06-06 | 1993-08-24 | Digital Equipment Corporation | Virtual address to physical address translation using page tables in virtual memory |
US5095420A (en) * | 1988-11-21 | 1992-03-10 | International Business Machines | Method and system for performing virtual address range mapping in a virtual storage data processing system |
JPH02202652A (ja) * | 1989-02-01 | 1990-08-10 | Hitachi Ltd | 多重仮想記憶管理方式 |
JP2825550B2 (ja) * | 1989-09-21 | 1998-11-18 | 株式会社日立製作所 | 多重仮想空間アドレス制御方法および計算機システム |
JPH07117918B2 (ja) * | 1989-09-25 | 1995-12-18 | 株式会社日立製作所 | データ処理システム |
JP2778291B2 (ja) * | 1991-05-31 | 1998-07-23 | 日本電気株式会社 | アドレス変換レジスタ制御方式 |
US5361356A (en) * | 1992-03-06 | 1994-11-01 | International Business Machines Corporation | Storage isolation with subspace-group facility |
JP3740195B2 (ja) * | 1994-09-09 | 2006-02-01 | 株式会社ルネサステクノロジ | データ処理装置 |
US5572661A (en) * | 1994-10-05 | 1996-11-05 | Hewlett-Packard Company | Methods and system for detecting data loss in a hierarchic data storage system |
US5680566A (en) * | 1995-03-03 | 1997-10-21 | Hal Computer Systems, Inc. | Lookaside buffer for inputting multiple address translations in a computer system |
DE69637294T2 (de) * | 1995-03-03 | 2008-05-08 | Fujitsu Ltd., Kawasaki | Mikro-tlb mit parallelem zugriff zum beschleunigen der adressübersetzung |
US6427162B1 (en) * | 1996-05-02 | 2002-07-30 | Sun Microsystems, Inc. | Separate code and data contexts: an architectural approach to virtual text sharing |
JP3705305B2 (ja) * | 1996-05-16 | 2005-10-12 | カシオ計算機株式会社 | 音声記憶再生装置 |
SG101985A1 (en) * | 2000-07-12 | 2004-02-27 | Distribution Systems Res Inst | Integrated information communication system |
US6560687B1 (en) * | 2000-10-02 | 2003-05-06 | International Business Machines Corporation | Method of implementing a translation lookaside buffer with support for a real space control |
US6981125B2 (en) * | 2003-04-22 | 2005-12-27 | International Business Machines Corporation | Method and apparatus for managing shared virtual storage in an information handling system |
US7146462B2 (en) * | 2003-05-20 | 2006-12-05 | Hitachi, Ltd. | Storage management method |
US7093100B2 (en) * | 2003-11-14 | 2006-08-15 | International Business Machines Corporation | Translation look aside buffer (TLB) with increased translational capacity for multi-threaded computer processes |
US7224595B2 (en) * | 2004-07-30 | 2007-05-29 | International Business Machines Corporation | 276-Pin buffered memory module with enhanced fault tolerance |
US7389375B2 (en) * | 2004-07-30 | 2008-06-17 | International Business Machines Corporation | System, method and storage medium for a multi-mode memory buffer device |
US7539800B2 (en) * | 2004-07-30 | 2009-05-26 | International Business Machines Corporation | System, method and storage medium for providing segment level sparing |
US7296129B2 (en) * | 2004-07-30 | 2007-11-13 | International Business Machines Corporation | System, method and storage medium for providing a serialized memory interface with a bus repeater |
US20070266199A1 (en) * | 2004-09-07 | 2007-11-15 | Freescale Semiconductor, Inc. | Virtual Address Cache and Method for Sharing Data Stored in a Virtual Address Cache |
US7305574B2 (en) * | 2004-10-29 | 2007-12-04 | International Business Machines Corporation | System, method and storage medium for bus calibration in a memory subsystem |
US7512762B2 (en) * | 2004-10-29 | 2009-03-31 | International Business Machines Corporation | System, method and storage medium for a memory subsystem with positional read data latency |
US7395476B2 (en) | 2004-10-29 | 2008-07-01 | International Business Machines Corporation | System, method and storage medium for providing a high speed test interface to a memory subsystem |
US7441060B2 (en) | 2004-10-29 | 2008-10-21 | International Business Machines Corporation | System, method and storage medium for providing a service interface to a memory system |
US7356737B2 (en) | 2004-10-29 | 2008-04-08 | International Business Machines Corporation | System, method and storage medium for testing a memory module |
US7299313B2 (en) * | 2004-10-29 | 2007-11-20 | International Business Machines Corporation | System, method and storage medium for a memory subsystem command interface |
US7277988B2 (en) * | 2004-10-29 | 2007-10-02 | International Business Machines Corporation | System, method and storage medium for providing data caching and data compression in a memory subsystem |
US7331010B2 (en) | 2004-10-29 | 2008-02-12 | International Business Machines Corporation | System, method and storage medium for providing fault detection and correction in a memory subsystem |
JP2007122305A (ja) * | 2005-10-27 | 2007-05-17 | Hitachi Ltd | 仮想計算機システム |
US7478259B2 (en) | 2005-10-31 | 2009-01-13 | International Business Machines Corporation | System, method and storage medium for deriving clocks in a memory system |
US7685392B2 (en) * | 2005-11-28 | 2010-03-23 | International Business Machines Corporation | Providing indeterminate read data latency in a memory system |
US7636813B2 (en) | 2006-05-22 | 2009-12-22 | International Business Machines Corporation | Systems and methods for providing remote pre-fetch buffers |
US7640386B2 (en) * | 2006-05-24 | 2009-12-29 | International Business Machines Corporation | Systems and methods for providing memory modules with multiple hub devices |
US7594055B2 (en) * | 2006-05-24 | 2009-09-22 | International Business Machines Corporation | Systems and methods for providing distributed technology independent memory controllers |
US7584336B2 (en) | 2006-06-08 | 2009-09-01 | International Business Machines Corporation | Systems and methods for providing data modification operations in memory subsystems |
US7493439B2 (en) * | 2006-08-01 | 2009-02-17 | International Business Machines Corporation | Systems and methods for providing performance monitoring in a memory system |
US7669086B2 (en) * | 2006-08-02 | 2010-02-23 | International Business Machines Corporation | Systems and methods for providing collision detection in a memory system |
US7581073B2 (en) | 2006-08-09 | 2009-08-25 | International Business Machines Corporation | Systems and methods for providing distributed autonomous power management in a memory system |
US7587559B2 (en) * | 2006-08-10 | 2009-09-08 | International Business Machines Corporation | Systems and methods for memory module power management |
US7539842B2 (en) | 2006-08-15 | 2009-05-26 | International Business Machines Corporation | Computer memory system for selecting memory buses according to physical memory organization information stored in virtual address translation tables |
US7490217B2 (en) | 2006-08-15 | 2009-02-10 | International Business Machines Corporation | Design structure for selecting memory busses according to physical memory organization information stored in virtual address translation tables |
US7870459B2 (en) * | 2006-10-23 | 2011-01-11 | International Business Machines Corporation | High density high reliability memory module with power gating and a fault tolerant address and command bus |
US7477522B2 (en) * | 2006-10-23 | 2009-01-13 | International Business Machines Corporation | High density high reliability memory module with a fault tolerant address and command bus |
US7721140B2 (en) * | 2007-01-02 | 2010-05-18 | International Business Machines Corporation | Systems and methods for improving serviceability of a memory system |
US7603526B2 (en) * | 2007-01-29 | 2009-10-13 | International Business Machines Corporation | Systems and methods for providing dynamic memory pre-fetch |
US7606988B2 (en) | 2007-01-29 | 2009-10-20 | International Business Machines Corporation | Systems and methods for providing a dynamic memory bank page policy |
WO2008155841A1 (ja) * | 2007-06-20 | 2008-12-24 | Fujitsu Limited | 演算処理装置および演算処理方法 |
US20090119114A1 (en) * | 2007-11-02 | 2009-05-07 | David Alaniz | Systems and Methods for Enabling Customer Service |
JP6070732B2 (ja) * | 2015-01-27 | 2017-02-01 | 日本電気株式会社 | 入出力制御装置、入出力制御システム、入出力制御方法、および、プログラム |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS532296B2 (de) * | 1973-03-19 | 1978-01-26 | ||
US4136385A (en) * | 1977-03-24 | 1979-01-23 | International Business Machines Corporation | Synonym control means for multiple virtual storage systems |
JPS54111726A (en) * | 1978-02-22 | 1979-09-01 | Hitachi Ltd | Control unit for multiplex virtual memory |
US4355355A (en) * | 1980-03-19 | 1982-10-19 | International Business Machines Corp. | Address generating mechanism for multiple virtual spaces |
US4521846A (en) * | 1981-02-20 | 1985-06-04 | International Business Machines Corporation | Mechanism for accessing multiple virtual address spaces |
JPS6048494A (ja) * | 1983-08-27 | 1985-03-16 | Matsushita Electric Works Ltd | 蓄熱材封入カプセル |
JPS6068443A (ja) * | 1983-09-22 | 1985-04-19 | Hitachi Ltd | アドレス変換装置 |
US4758951A (en) * | 1985-04-09 | 1988-07-19 | Tektronix, Inc. | Method for translating virtual addresses into real addresses |
JPH0685156B2 (ja) * | 1985-05-24 | 1994-10-26 | 株式会社日立製作所 | アドレス変換装置 |
US4761737A (en) * | 1986-01-16 | 1988-08-02 | International Business Machines Corporation | Method to automatically increase the segment size of unix files in a page segmented virtual memory data processing system |
US4843541A (en) * | 1987-07-29 | 1989-06-27 | International Business Machines Corporation | Logical resource partitioning of a data processing system |
JP2792792B2 (ja) * | 1992-08-24 | 1998-09-03 | 三菱電機株式会社 | 自動トラッキング装置 |
-
1987
- 1987-03-19 JP JP62065424A patent/JPS63231550A/ja active Pending
-
1988
- 1988-02-16 US US07/156,454 patent/US4985828A/en not_active Expired - Fee Related
- 1988-02-18 DE DE3805107A patent/DE3805107A1/de active Granted
Also Published As
Publication number | Publication date |
---|---|
JPS63231550A (ja) | 1988-09-27 |
DE3805107A1 (de) | 1988-09-29 |
US4985828A (en) | 1991-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3805107C2 (de) | ||
DE2807476C2 (de) | Speichereinrichtung mit mehreren virtuellen Adreßräumen | |
DE2725718C2 (de) | Datenverarbeitungsanordnung zum Übersetzen von virtuellen Adressen | |
DE3011552C2 (de) | ||
DE60003273T2 (de) | Verfahren und Vorrichtung zur Erzeugung einer Eingabeadresse | |
DE69635865T2 (de) | Adressentransformation in einem cluster-computersystem | |
DE3932675C2 (de) | ||
DE2227882C2 (de) | Virtuelle Speicheranordnung | |
DE69535099T2 (de) | Identifizieren der Steuergerätepaare in einer Festplattenanordnung mit dualem Steuergerät | |
EP0600112A1 (de) | Datenverarbeitungsanlage mit virtueller Speicheradressierung und schlüsselgesteuertem Speicherzugriff | |
DE3833933A1 (de) | Informationsverarbeitungseinrichtung mit einer adressenerweiterungsfunktion | |
DE2339741A1 (de) | Anordnung zur bildung einer relativen adresse fuer einen speicher | |
DE2637054B2 (de) | ||
DE3825028A1 (de) | Verfahren und vorrichtung zur ungueltigkeitsoperation bei adressumsetzpuffern in computersystemen | |
DE19905541B4 (de) | Verfahren zum Steuern des Speicherzugriffs in einer Maschine mit einem Speicher mit ungleichmäßigem Zugriff und Maschine zur Ausführung eines solchen Verfahrens | |
EP0265636A1 (de) | Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher | |
CH495584A (de) | Datenverarbeitungsanlage | |
DE4238593A1 (de) | Mehrprozessor-Computersystem | |
DE2516050A1 (de) | Verfahren und einrichtung zur informationsspeicherung in einem datenverarbeitungssystem | |
EP1675010A2 (de) | Verfahren zur Aktualisierung von Einträgen von Adressumsetzpuffern in einem Mehrprozessor-Computersystem | |
DE3121710A1 (de) | Datenverarbeitungsanlage | |
EP0190575A1 (de) | Verfahren und Anordnung zur Verringerung des Einflusses von Speicherfehlern auf in Cache-Speichern von Datenverarbeitungsanlagen gespeicherten Daten | |
DE3429571C2 (de) | ||
DE4439809C2 (de) | Virtuell indizierbarer Cache-Speicher | |
DE4037332A1 (de) | Verfahren zur ueberwachung der datenkonsistenz in einem datenverarbeitungssystem und datenverarbeitungssystem zur durchfuehrung des verfahrens |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |