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
Application number
DE3805107A
Other languages
English (en)
Other versions
DE3805107A1 (de
Inventor
Naohiko Shimizu
Hideo Hadano Jp 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 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.
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 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)

* 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
DE813709T1 (de) * 1995-03-03 1998-10-22 Hal Computer Systems Inc Mikro-tlb mit parallelem zugriff zum beschleunigen der adressübersetzung
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
US7224595B2 (en) * 2004-07-30 2007-05-29 International Business Machines Corporation 276-Pin buffered memory module with enhanced fault tolerance
US7539800B2 (en) * 2004-07-30 2009-05-26 International Business Machines Corporation System, method and storage medium for providing segment level sparing
US7389375B2 (en) * 2004-07-30 2008-06-17 International Business Machines Corporation System, method and storage medium for a multi-mode memory buffer device
WO2006027643A1 (en) * 2004-09-07 2006-03-16 Freescale Semiconductors, Inc A virtual address cache and method for sharing data stored in a virtual address cache
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
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
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
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
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
US7305574B2 (en) * 2004-10-29 2007-12-04 International Business Machines Corporation System, method and storage medium for bus calibration 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
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
US7606988B2 (en) 2007-01-29 2009-10-20 International Business Machines Corporation Systems and methods for providing a dynamic memory bank page policy
US7603526B2 (en) * 2007-01-29 2009-10-13 International Business Machines Corporation Systems and methods for providing dynamic memory pre-fetch
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)

* Cited by examiner, † Cited by third party
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 三菱電機株式会社 自動トラッキング装置

Also Published As

Publication number Publication date
US4985828A (en) 1991-01-15
DE3805107A1 (de) 1988-09-29
JPS63231550A (ja) 1988-09-27

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)
DE69535099T2 (de) Identifizieren der Steuergerätepaare in einer Festplattenanordnung mit dualem Steuergerät
DE2637054C3 (de) Steuervorrichtung für einen Pufferspeicher
DE2227882A1 (de) Virtuelle Speicheranordnung
DE2302074A1 (de) Speicherschutzanordnung in einem multiprozessorsystem
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
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)
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