DE3805107A1 - Verfahren und vorrichtung zur steuerung virtueller adressraeume eines virtuellen speichers - Google Patents

Verfahren und vorrichtung zur steuerung virtueller adressraeume eines virtuellen speichers

Info

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
Application number
DE3805107A
Other languages
English (en)
Other versions
DE3805107C2 (de
Inventor
Naohiko Shimizu
Hideo Sawamoto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3805107A1 publication Critical patent/DE3805107A1/de
Application granted granted Critical
Publication of DE3805107C2 publication Critical patent/DE3805107C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address 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.
DE3805107A 1987-03-19 1988-02-18 Verfahren und vorrichtung zur steuerung virtueller adressraeume eines virtuellen speichers Granted DE3805107A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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