DE3805107A1 - Verfahren und vorrichtung zur steuerung virtueller adressraeume eines virtuellen speichers - Google Patents
Verfahren und vorrichtung zur steuerung virtueller adressraeume eines virtuellen speichersInfo
- Publication number
- DE3805107A1 DE3805107A1 DE3805107A DE3805107A DE3805107A1 DE 3805107 A1 DE3805107 A1 DE 3805107A1 DE 3805107 A DE3805107 A DE 3805107A DE 3805107 A DE3805107 A DE 3805107A DE 3805107 A1 DE3805107 A1 DE 3805107A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- virtual
- logical
- control register
- 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.)
- 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/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 allgemein ein Verfahren und eine
Vorrichtung zur Adressierung virtueller Speicherräume
und insbesondere ein Verfahren und eine Vorrichtung zur
Steuerung virtueller Adreßräume eines mehere virtu
elle Speicherräume aufweisenden Speichersystems.
Zur Adressierung virtueller Speicher eines Computer
systems wird zunächst eine virtuelle oder logische
Adresse angegeben. Demgemäß muß beim Zugriff zum Haupt
speicher die logische Adresse in eine Hauptspeicher
adresse oder reale Adresse umgesetzt werden. Die Adreß
umsetzung wird durchgeführt, indem in einer Adressen
umsetztabelle nachgeschlagen wird, die üblicherweise
eine Segmenttabelle und Seitentabellen aufweist. Aus
logischen und realen Adressen bestehende Adressenpaare
werden in einem Adressenumsetzpuffer oder einem Umsetz
vorgriffspuffer (TLB) gespeichert, und eine einer zum
Speicherzugriff angeforderten logischen Adresse ent
sprechende reale Adresse wird im TLB aufgesucht, so
daß die Adressenumsetzung schnell durchgeführt werden
kann.
In einem virtuellen Speichersystem mit mehreren vir
tuellen Speichern, in dem eine Mehrfachverarbeitung
durchgeführt wird, ist ein virtueller Adreßraum jedem
Job zugeteilt und eine Adressenumsetztabelle ist für
jeden virtuellen Adreßraum vorbereitet. 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 Adressenumsetztabelle oder
eines Inhalts eines Adressensteuerregisters (ATOR),
das einen Adreßraumidentifikator speichert, durchge
führt. In diesem Fall muß außer der logischen und der
realen Adresse der Inhalt (ATO) des Adressensteuer
registers in dem TLB gespeichert werden, und zur Ge
winnung der realen Adresse aus dem TLB muß die Über
einstimmung der entsprechenden virtuellen Räume als
auch die Übereinstimmung der logischen Adressen geprüft
werden.
Ein gemeinsamer Speicherbereich für mehrere virtuelle
Speicherräume wird in einem solchen mehrfach virtuellen
Speichersystem gekennzeichnet, indem dem TLB ein
"common segment bit" (C-Bit) hinzugefügt wird. Wenn das
C-Bit "1" ist, wodurch es angibt, daß der gemeinsame
Bereich vorhanden ist, werden die Startadresse der
Adressenumsetztabelle oder der Identifikator, die im
TLB gespeichert sind, übergangen, und, wenn die logi
sche Adresse aus dem Speicheradressenregister mit der
logischen Adresse des TLB übereinstimmt, wird die ent
sprechende reale Adresse für gültig erachtet und damit
der Zugriff zum Hauptspeicher durchgeführt.
In einem mehrfach virtuellen Computersystem wird ein
Computeridentifikator (CN-Bit) in einen den virtuellen
Computern 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.
Diese Art einer virtuellen Speichersteuerung ist in
der am 19. April 1985 veröffentlichten JP-A-60-68 443
beschrieben.
Durch die in dieser Druckschrift beschriebenen Maßnahmen
läßt sich bei Verwendung eines allen virtuellen Speicher
räumen gemeinsamen Bereichs die Trefferrate des Adressen
umsetzpuffers erhöhen. Jedoch ist ein Fall, wo ein nur
einigen virtuellen Speicherräumen gemeinsamer Bereich
vorhanden ist, nicht betrachtet. Wenn ein Teil der vir
tuellen Speicherräume einen gemeinsamen Bereich auf
weist, sinkt die Trefferhäufigkeit des Adressenumsetz
puffers, 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 vir
tuellen 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 vorge
sehen ist, mit dem bekannten System nur schlecht durch
führen.
Es ist deshalb Aufgabe der Erfindung, ein Verfahren und
eine Vorrichtung zur Steuerung der Adreßumsetzung 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.
Erfindungsgemäß wird jedem Eintrag einer Adressenumsetz
tabelle, eines Adressenumsetzpuffers und eines eine
Startadresse der Adressenumsetztabelle oder einen
Adreßraumidentifikator haltenden Steuerregisters ein
mehrere Bits aufweisender Gruppenidentifikator zur
Kennzeichnung einer Gruppe von virtuellen Räumen mit
einem gemeinsamen Speicherbereich hinzugefügt. Sobald
ein Adressenumsetzpuffereintrag vorliegt, dessen von
einem Speicheradressenregister zugeführte virtuelle
Adresse mit der Startadresse der Adressenumsetztabelle
oder dem Adreßraumidentifikator vom Adressensteuer
register übereinstimmt, und/oder wenn ein solcher Eintrag
in der vom Speicheradressenregister zugeführten vir
tuellen Adresse (LA) und dem Gruppenidentifikator (GID)
vom Adressensteuerregister übereinstimmt, wird die
reale Adresse des Adressenumsetzpuffereintrags als
gültig erachtet und zum Hauptspeicher aufgrund dieser
realen Adresse zugegriffen.
Wenn unter Steuerung durch das Betriebssystem (OS) des
virtuellen Speichers eine Adressenumsetzung für einen
virtuellen Adreßraum durchgeführt wird, werden eine
virtuelle Adresse, eine reale Adresse sowie eine lau
fende Startadresse der Adressenumsetztabelle oder ein
Adressenraumidentifikator und ein Gruppenidentifikator,
der zum Eintrag der entsprechenden Adressenumsetztabelle
hinzugefügt ist, in dem Eintrag des Adressenumsetzpuffers
gespeichert. Der Gruppenidentifikator besteht aus meh
reren Bits, so daß er eine Vielzahl vorgegebener Gruppen
virtueller Adreßräume kennzeichnen kann.
Bei der Adreßumsetzung für andere virtuelle Adreßräume
mit dem selben Gruppenidentifikator wird die Adreßum
setzung, wenn ein Eintrag vorliegt, der bezüglich der
angeforderten virtuellen Adresse und der virtuellen
Adresse im Adressenumsetzpuffer oder im Gruppeniden
tifikator vom Adressensteuerregister und dem Gruppen
identifikator in dem Adressenumsetzpuffer überein
stimmt, mittels des Adressenumsetzpuffers durchgeführt,
und ein Neu-Einspeichern des Adressenumsetzpuffers ist
unnötig. Bei der Adressenumsetzung anderer virtueller
Adreßräume mit verschiedenen Gruppenidentifikatoren
ergibt sich keine Übereinstimmung zwischen den Gruppen
identifikatoren bzw. den Startadressen der Adressenum
setztabelle oder Adreßraumidentifkatoren.
Dementsprechend wird die Adressenumsetzung ausgeführt,
indem der Eintrag in der Adressenumsetztabelle aufge
sucht und in den Adressenumsetzpuffer eingeschrieben
wird. Somit werden auch bei gleicher virtueller Adresse
verschiedene Adressenumsetztabellen aufgesucht.
Die Erfindung wird nun anhand eines Ausführungsbeispiels
unter Bezug auf die Zeichnung näher be
schrieben. Es zeigt
Fig. 1 ein Blockschaltbild einer Ausführungsart der
Erfindung;
und
Fig. 2 beispielhaft einen Speicherplan eines mehrfach
virtuellen Speicherraums, wie er beispielhaft
bei der nachfolgenden Beschreibung zugrunde
gelegt ist.
Der in Fig. 2 gezeigte Speicherplan weist einen vir
tuellen Räumen 1 bis 8 gemeinsamen Bereich 100 auf,
wie in der o. g. JP-A-60-68 443. 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 % 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 Identifika
toren für die Gruppen A, B und C (101-103) Gruppen
identifikatoren (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 gekenn
zeichnet werden. In diesem Fall kann der Gruppeniden
tifikator GID weniger als acht Bitstellen haben.
Fig. 1 stellt ein Blockschaltbild einer erfindungsge
mäßen Ausführungsart einer Adressenumsetzsteuervor
richtung 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 vir
tueller Raum gewählt und gesteuert von einem Betriebs
system umgeschaltet ist, werden der Adreßraumiden
tifikator 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 Segment
bit (C) und einem Gruppen-ID (GID). Die Adressenumsetz
tabelle 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 setz-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 logi
schen 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 ge
setzt 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. Erfindungsgemäß läßt sich die
Adressenumsetzung durch den selben Adressenumsetz
puffereintrag für einen verschiedenen virtuellen Räumen
gemeinsamen Teilbereich erzielen. Somit läßt sich bei
dem setz-assoziativen Adressenumsetzpuffersteuerver
fahren die Anzahl von Fortschreibvorgängen für den
Adressenumsetzpuffer verringern und die Puffertreffer
häufigkeit erhöhen.
Weiterhin kann der Zugriff zu einem einer Gruppe vir
tueller Räume gemeinsamen Bereich von einem virtuellen
Raum einer anderen Gruppe durch Setzen verschiedener
Gruppenidentifikatoren für die jeweiligen Gruppen
unterbunden werden.
Claims (14)
1. Verfahren zur Steuerung mehrerer virtueller Adreß
räume eines mehrere virtuelle Speicherräume aufwei
senden Speichersystems, das eine zur Umsetzung einer
logischen Adresse (LA) in eine reale Adresse (RA)
dienende Adressenumsetztabelle (3), ein Adressen
steuerregister (2), das eine Startadresse der
Adressenumsetztabelle oder einen Identifikator für
einen virtuellen Adreßraum speichert und einen
Adressenumsetzpuffer (4) aufweist, der jeweils paar
weise logische und reale Adressen, die von der
Adressenumsetztabelle (3) kopiert sind und eine
Startadresse zur Umsetzung einer logischen Adresse
in eine reale Adresse hält, um damit den Inhalt des
Adressensteuerregisters (2) zur Umschaltung zwischen
den virtuellen Adreßräumen fortzuschreiben,
gekennzeichnet durch folgende Schritte:
- - der Adressenumsetztabelle (3), einem Eintrag des Adressenumsetzpuffers (4) und dem Adressensteuer register (2) wird ein Gruppenidentifikator (GID) hinzugefügt, der einen einer bestimmten Gruppe vir tueller Adreßräume gemeinsamen Bereich kennzeich net;
- - es wird ermittelt, ob zumindest ein Eintrag, 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 vorliegt, dessen logischen Adresse und Gruppenidentifikator jeweils mit der für den Speicherzugriff zugeführten logi schen Adresse und dem im Adressensteuerregister stehenden Gruppenidentifikator übereinstimmen; und
- - in Übereinstimmung mit der Erfassung des entsprechen den Eintrags wird die reale Adresse des Eintrags als für einen Speiherzugriff gültige reale Adresse ge kennzeichnet.
2. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
daß der gemeinsame Bereich mehrere unterschiedliche
Bereiche enthält, die jeweils aus einer vorgegebenen
Kombination virtueller Adreßräume bestehen, deren
Anzahl geringer ist als die Gesamtzahl der virtuellen
Adreßräume, wobei jeder der verschiedenen gemein
samen Bereiche einen Gruppenidentifikator 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 einen Bereich aufweist, 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 Prio
rität hat als der zweite virtuelle Adreßraum.
5. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
daß der die Einträge ermittelnde Schritt Teilschritte
aufweist, die jeweils durch Vergleich der für einen
Speicherzugriff von einem Speicheradressenregister
zugeführten logischen Adresse mit der logischen
Adresse in dem Adressenumsetzpuffer und durch Vergleich
des Gruppenidentifikators des Adressensteuerregisters
mit dem Gruppenidentifikator des Adressenumsetzpuffers
bei Gleichheit ein erstes Koinzidenzsignal und
ein zweites Koinzidenzsignal erzeugen und bestimmen,
daß der entsprechende Eintrag in dem Adressenumsetz
puffer vorhanden 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
stammende Gruppenidentifikator zu keiner Gruppe gehört.
7. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
daß der Inhalt der entsprechenden Tabelle in den
Adressenumsetzpuffer unter Bezug auf die Adressenumsetz
tabelle kopiert wird, wenn erfaßt ist, daß der entspre
chende Eintrag in dem Adressenumsetzpuffer nicht vor
liegt.
8. Vorrichtung zur Steuerung mehrerer virtueller Adreß
räume in einem virtuellen Speichersystem,
gekennzeichnet durch
- a) eine Adressenumsetztabelle (3), die Paare aus logischen und realen Adressen (LA, RA) sowie einen zur Kennzeichnung bestimmten Gruppen im virtuellen Adreßraum gemeinsamen Speicherbereichen dienenden Gruppenidentifikator (GID) aufweist, um eine logi sche Adresse (LA) in eine reale Adresse (RA), ge steuert durch ein Betriebssystem, umzusetzen;
- b) einen Adressenumsetzpuffer (4), der aus der Adressenumsetztabelle (3) kopierte logische und reale Adressenpaare (LA, RA) und den Gruppeniden tifikator (GID) zur Umsetzung einer logischen Adresse in eine reale Adresse enthält;
- c) ein Adressensteuerregister (2) mit einem Identi fikator (ATO) für virtuelle Adressenräume und einen Gruppenidenfitikator (GID), dessen Inhalte, gesteuert durch das Betriebssystem, zur Umschaltung zwischen den virtuellen Adressenräumen fortgeschrie ben werden; und
- d) eine auf die Zufuhr einer logischen Adresse für einen Speicherzugriff ansprechende Erfassungsein richtung (5 bis 11), die solche im Adressenumsetz puffer (4) enthaltene Einträge erfaßt, die in ihrer logischen Adresse und in ihrem Identifikator (ATO) jeweils mit der zum Speicherzugriff zugeführ ten logischen Adresse und dem Identifikator (ATO) des Adressensteuerregisters (2) übereinstimmen und/oder solche Einträge erfaßt, die jeweils in ihrer logi schen 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 als eine für einen Speicherzugriff gültige Adresse kennzeichnet.
9. Vorrichtung nach Anspruch 8,
dadurch gekennzeichnet,
daß der Gruppenidentifikator aus mehreren Bits besteht
und von einem Einzelbit getrennt ist, das einen allen
virtuellen Adreßräumen gemeinsamen Speicherbereich
kennzeichnet und das in der Adressenumsetztabelle (3)
und als Teilkopie aus dieser in dem Adressenumsetz
puffer (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 Adressen
umsetzpuffers (4) vergleicht und bei Gleichheit ein
erstes Koinzidenzsignal erzeugt, ein Glied (7, 8), das
den Gruppenindikator (GID) im Adressensteuer
register (2) mit dem Inhalt des entsprechenden Ein
trags des Adressenumsetzpuffers (4) vergleicht und
bei Gleichheit ein zweites Koinzidenzsignal erzeugt
und Glieder (9 bis 11) aufweist, die bei gleichzei
tigem Auftreten des ersten und des zweiten Koinzidenz
signals ein Gültigkeitssignal erzeugen, das die reale
Adresse des entsprechenden Eintrags im Adressenumsetz
puffer (4) als für einen Speicherzugriff gültige
Adresse kennzeichnet.
11. Vorrichtung nach Anspruch 10,
dadurch gekennzeichnet,
daß das Glied, das das zweite Koinzidenzsignal erzeugt,
Schaltmittel aufweist, die dieses sperren, wenn erfaßt ist,
daß der Grundidentifikator aus dem Adressensteuer
register (2) zu keiner Gruppe gehört.
12. Vorrichtung nach Anspruch 10,
dadurch gekennzeichnet,
daß die Erfassungseinrichtung weiterhin Schaltmittel 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 er
zeugen, wobei die das Gültigkeitssignal erzeugenden
Glieder das Gültigkeitssignal erzeugen, wenn das
erste und zweite Koinzidenzsignal gleichzeitig auf
treten.
13. Vorrichtung nach Anspruch 12,
dadurch gekennzeichnet,
daß die das Gültigkeitssignal erzeugenden Glieder bei
gleichzeitigem Auftreten des Einzelbits (C), das
den sämtlichen virtuellen Adreßräumen gemeinsamen
Bereich angibt, und des ersten Koinzidenzsignals das
Gültigkeitssignal erzeugen.
14. Vorrichtung nach Anspruch 8,
dadurch gekennzeichnet,
daß der Identifikator (ATO) für virtuelle Adressen
rä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 true DE3805107A1 (de) | 1988-09-29 |
DE3805107C2 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 |
JP3802061B2 (ja) * | 1995-03-03 | 2006-07-26 | 富士通株式会社 | アドレス変換速度アップのための並列アクセスマイクロ−tlb |
US5680566A (en) * | 1995-03-03 | 1997-10-21 | Hal Computer Systems, Inc. | Lookaside buffer for inputting multiple address translations in a computer system |
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 |
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 |
US7539800B2 (en) * | 2004-07-30 | 2009-05-26 | International Business Machines Corporation | System, method and storage medium for providing segment level sparing |
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 |
EP1807767A1 (de) * | 2004-09-07 | 2007-07-18 | Freescale Semiconductors, Inc. | Virtuelle adressen-cache und verfahren zur gemeinsamen benutzung von in einem virtuellen-adressen-cache gespeicherten daten |
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 |
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 |
US7356737B2 (en) | 2004-10-29 | 2008-04-08 | International Business Machines Corporation | System, method and storage medium for testing a memory module |
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 |
US7299313B2 (en) * | 2004-10-29 | 2007-11-20 | International Business Machines Corporation | System, method and storage medium for a memory subsystem command interface |
US7305574B2 (en) * | 2004-10-29 | 2007-12-04 | International Business Machines Corporation | System, method and storage medium for bus calibration in a memory subsystem |
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 |
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 |
US7594055B2 (en) * | 2006-05-24 | 2009-09-22 | International Business Machines Corporation | Systems and methods for providing distributed technology independent memory controllers |
US7640386B2 (en) * | 2006-05-24 | 2009-12-29 | International Business Machines Corporation | Systems and methods for providing memory modules with multiple hub devices |
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 |
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 |
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 |
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 | 日本電気株式会社 | 入出力制御装置、入出力制御システム、入出力制御方法、および、プログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4136385A (en) * | 1977-03-24 | 1979-01-23 | International Business Machines Corporation | Synonym control means for multiple virtual storage systems |
JPH0668443A (ja) * | 1992-08-24 | 1994-03-11 | Mitsubishi Electric Corp | 自動トラッキング装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS532296B2 (de) * | 1973-03-19 | 1978-01-26 | ||
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 |
-
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
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4136385A (en) * | 1977-03-24 | 1979-01-23 | International Business Machines Corporation | Synonym control means for multiple virtual storage systems |
JPH0668443A (ja) * | 1992-08-24 | 1994-03-11 | Mitsubishi Electric Corp | 自動トラッキング装置 |
Also Published As
Publication number | Publication date |
---|---|
JPS63231550A (ja) | 1988-09-27 |
DE3805107C2 (de) | 1989-11-09 |
US4985828A (en) | 1991-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3805107A1 (de) | Verfahren und vorrichtung zur steuerung virtueller adressraeume eines virtuellen speichers | |
DE60003273T2 (de) | Verfahren und Vorrichtung zur Erzeugung einer Eingabeadresse | |
DE3011552C2 (de) | ||
DE2725718C2 (de) | Datenverarbeitungsanordnung zum Übersetzen von virtuellen Adressen | |
DE2807476C2 (de) | Speichereinrichtung mit mehreren virtuellen Adreßräumen | |
DE4410060B4 (de) | Übersetzungsvorrichtung zum Umsetzen einer virtuellen Speicheradresse in eine physikalische Speicheradresse | |
DE3932675C2 (de) | ||
DE2459006C2 (de) | Einrichtung zum Bilden einer absoluten Adresse in einer Datenverarbeitunsanlage | |
DE69724572T2 (de) | Verfahren und Vorrichtung zur Vorladung von verschiedenen vorgegebenen Adressenübersetzungsattributen | |
DE2227882C2 (de) | Virtuelle Speicheranordnung | |
DE60320026T2 (de) | Verbessertes speichermanagement für echtzeit-anwendungen | |
DE3151745C2 (de) | ||
DE2302074A1 (de) | Speicherschutzanordnung in einem multiprozessorsystem | |
DE60036960T2 (de) | Unterscheidung von feinkorntranslation | |
DE3621321A1 (de) | Cache-speicher- bzw. multiprozessor-system und betriebsverfahren | |
EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE2339741A1 (de) | Anordnung zur bildung einer relativen adresse fuer einen speicher | |
DE2226382A1 (de) | Datenverarbeitungsanlage | |
DE2556661A1 (de) | Steuerschaltung mit adressenerweiterung | |
DE2835989A1 (de) | Anordnung zum umwandeln einer virtuellen adresse in eine physikalische adresse eines datenwortes | |
DE10219623A1 (de) | System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen | |
DE2758829A1 (de) | Multiprozessor-datenverarbeitungssystem | |
DE3518818C2 (de) | ||
DE3340956C2 (de) | ||
EP0265636A1 (de) | Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher |
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 |