DE69029176T2 - Steuerungsanordnung und Verfahren zum Zugriff auf einen virtuellen Speicheradressraum - Google Patents

Steuerungsanordnung und Verfahren zum Zugriff auf einen virtuellen Speicheradressraum

Info

Publication number
DE69029176T2
DE69029176T2 DE69029176T DE69029176T DE69029176T2 DE 69029176 T2 DE69029176 T2 DE 69029176T2 DE 69029176 T DE69029176 T DE 69029176T DE 69029176 T DE69029176 T DE 69029176T DE 69029176 T2 DE69029176 T2 DE 69029176T2
Authority
DE
Germany
Prior art keywords
segment table
access register
address translation
access
table designation
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 - Fee Related
Application number
DE69029176T
Other languages
English (en)
Other versions
DE69029176D1 (de
Inventor
Aiichiro Inoue
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of DE69029176D1 publication Critical patent/DE69029176D1/de
Publication of DE69029176T2 publication Critical patent/DE69029176T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf ein Zugriffssteuerungssystem für einen virtuellen Speicheradreßraum zum Ausführen einer Zugriffssteuerung eines virtuellen Speicheradreßraums in einem multivirtuellen Speichersystem, und insbesondere auf ein Zugriffssteuerungssystem für einen virtuellen Speicheradreßraum zum Ausführen einer Adreßumsetzung oder Adreßübersetzung von einer virtuellen Adresse in eine reale Adresse bei hoher Geschwindigkeit.
  • In einem herkömmlichen multivirtuellen Speichersystem ist nur ein Zugriff auf die Daten in dem durch das Steuerregister bezeichneten Adreßraum zugelassen. Um auf Daten in einer Vielzahl von Adreßräumen Bezug zu nehmen, ist es notwendig, den Inhalt des Steuerregisters auszutauschen, und der Prozeß eines Austauschens des Inhalts des Steuerregisters wird unter der Steuerung eines Betriebssystems ausgeführt. Es ist einem Benutzerprograrnm unmöglich, den Prozeß von Daten, die sich über eine Vielzahl von Adreßräumen erstrecken, auszuführen.
  • Die durch das Datenverarbeitungssystem zu behandelnde Datenmenge hat jedoch außerordentlich zugenommen. Folglich ist ein multivirtuelles Speichersystem mit einer neuen Architektur vorgeschlagen worden, um zu ermöglichen, daß ein Benutzerprogramm auf Daten in einer extrem großen Anzahl von Adreßräumen direkt zugreift. In solch einem multivirtuellen Speichersystem kann äuf eine zum Ausführen der Adreßübersetzung notwendige Segmenttabelle bei hoher Geschwindigkeit zugegriffen werden und muß ein Prozeß zum Übersetzen einer virtuellen Adresse in eine reale Adresse ausgeführt werden.
  • In letzter Zeit ist ein multivirtuelles Speichersystem mit einer neuen Architektur unter Verwendung eines Zugriffsregisters auf den Markt gebracht worden.
  • Wie in Figur 1 dargestellt ist, wird in dem multivirtuellen Speichersystem durch den (im folgenden ALET (Zugriffslisteneintrag-Tabelle) (engl. access list entry table) genannten) Inhalt des Zugriffsregisters auf eine Zugriffsliste gezeigt, woraut durch eine Basisregisternummer zugegriffen wird, und durch diese Zugriffsliste wird auf eine zweite ASN-Tabelle gezeigt. Die Segmenttabelle ist gemäß der (in Figur 1 mit STD abgekürzten) Segmenttabellenbezeichnung bezeichnet, die durch die zweite ASN-Tabelle bestimmt ist. Somit kann die Adreßübersetzung von der virtuellen Adresse in die reale Adresse durch Verwenden der dynamischen Adreßübersetzungsstruktur angepaßt werden. In dieser Struktur lädt das Benutzerprogramm ALET in 16 Zugriffsregister. Es ist somit möglich, auf eine Zugriffsliste mit einer Kapazität von 1K oder 4k zuzugreifen. Dies macht es möglich, eine extrem große Anzahl von Segmenttabellenbezeichnungen auszuwählen. Somit kann ein multivirtueller Speicher mit einer sehr großen Kapazität genutzt werden.
  • Ein Computersystem mit einer Kapazität von 2&sup4;&sup7; Bytes als einem logischen Raum erscheint. In diesem Fall wird, wenn eine Seite 4K Bytes umfaßt, die Anzahl der logischen Seiten 2³&sup5;. Es wird daher sehr teuer, falls die Seitentabelle als eine spezielle Hardware vorgesehen ist, und die Seitentabelle macht den effektiven physikalischen Raum enger, wenn sie in einem Hauptspeicher vorgesehen ist. In diesem Fall umfaßt der logische Raum eine eine Seite umfassende Ebene oder Stufe. Eine dynamische Adreßübersetzung (DAT) teilt die logische Seite in eine Segmentnummer und eine Seitennummer und liefert die Seitentabelle in einem normalen logischen Raum. Ein solches Verfahren wird mehrstufiger Seitenwechsel genannt. In diesem Fall umfaßt das System zwei, die Segmenttabelle und die Seitentabelle umfassende, Stufen.
  • Wie in Figur 2 dargestellt ist, wird der von dem Kopf der vorbestimmten Segmenttabelle zählende α-te Inhalt PTO von der Segmentnuinmer α der Segmenttabelle abgeleitet, und dann wird die Kopfadresse der Seitentabelle erhalten. Der von der Kopfadresse der Seitentabelle zählende β-te Inhalt PFRA wird durch Verwenden der Seitennummer β erhalten, dadurch einen oberen Teil der realen Adresse bildend. Der Byte-Versatz oder die Byte-Distanz γ der virtuellen Adresse wird zu dem unteren Teil der realen Adresse hinzugefügt, dadurch die reale Adresse bildend. Ungeachtet der Frage, ob die logische Seite in die Segmentnummer und Seitennummer geteilt ist, wird es die Zeit verlängern, die für die Adreßübersetzung notwendig ist, um die Seitentabelle in dem Hauptspeicher zu liefern. Um die Adreßübersetzung zu beschleunigen, ist ein Adreßübersetzungspuffer oder Adreßumsetzpuffer (engl. translation lookaside buffer) (TLB) vorgesehen, wie in Figur 3 dargestellt ist. Der Adreßumsetzpuffer (TLB) besteht aus einer Assoziativspeicher-Hard ware mit mehreren 10 bis 256 Einträgen. Der Adreßumsetzpuffer weist einen ein Gültigkeitsbit, eine (eine Segmentnummer und eine Seitennummer umfassende) logische Seitennummer, eine physikalische Seitennummer und eine Segmenttabellenbezeichnung (STD) umfassenden Satz auf. Die Nummer des Satzes entspricht der Zahl von Einträgen. Für jeden Speicherzugriff wird eine Segmenttabellenbezeichnung STD eines Adreßraums, auf den zugegriffen werden soll, mit der Segmenttabellenbezeichnung STD des TLB verglichen, und, falls eine entsprechende STD existiert, wird der TLB verwendet. Der Vergleich kann für alle Einträge bei hoher Geschwindigkeit gleichzeitig ausgeführt werden. Falls die STD des Adreßraums, auf den zugegriffen werden soll, nicht mit der STD in TLB übereinstimmt, ist die physikalische Seitennummer gemäß der oben zitierte DAT bestimmt.
  • Der Adreßumsetzpuffer wird als eine Art einer assoziativen Abbildung betrachtet und enthält eine Tabelle der Adressen, die am wahrscheinlichsten verwendet werden und welche aus all den Adressen ausgewählt sind. Dies ist wegen des Lokalitätsprinzips effektiv.
  • Der Seitenwechsel erfordert keinen Zusatz für die Adreßübersetzung. Die Adreßübersetzung kann bei hoher Geschwindigkeit durch Verwenden der Adreßumsetz-Tabelle (engl. translation lookaside table) ausgeführt werden. Die Speicherverwaltung ist ebenfalls einfach, weil es unwahrscheinlich ist, daß alle in dem Hauptspeicher gespeicherten Seiten in der nahen Zukunft wieder verwendet werden, und die Effektivität beim Ausnutzen des Hauptspeichers ist hoch.
  • Wie in Figur 2 dargestellt ist, kann, wenn die Anzahl mehrerer Stufen 2 beträgt, die Kopfadresse der Segmenttabelle durch Verwenden der Segmenttabellenbezeichnung eines Steuerregisters erhalten werden. Wie in Figur 2 dargestellt, ist die Struktur zum Verwirklichen des virtuellen Speichers mit mehreren Stufen, was mehr als drei Stufen ist, eine einen erweiterten Raum adressierende Struktur. Die einen erweiterten Raum adressierende Struktur übersetzt eine Operandenadresse der Anweisung in eine dynamische Adresse durch Verwenden eines Zugriffsregisters und einer Zugriffsliste, die in dem Hauptspeicher vorgesehen sind. Wenn eine dynamische Adreßübersetzung ausgeführt wird, werden die dem jeweiligen Datenraum entsprechende Datenraum-Segmenttabelle und die dem Adreßraum entsprechende Seitentabelle verwendet.
  • Der untere Teil (16 Bits) des Zugriffsregisters mit einer Breite von 32 Bit beispielsweise hat eine Eintragsnummer ALET (0-65536) der Zugriffsliste. Jeweilige Einträge in der Zugriffsliste weisen eine Länge von z.B. 16 Bytes auf. Das Feld der Länge von 25 Bits der Zugriffsliste hat einen Eintrag für die zweite ASN-Tabelle mit einer Länge von 24 Bytes und einer Segmenttabellenbezeichnung STD mit einer Länge von 32 Bits für den darin vorgesehenen Datenraum. Diese Zeigereinrichtung führt indirekt ein Adressieren des Datenraums durch Verwenden von 16 Bits (ALET) in dem Zugriffsregister aus, d.h. die 16 Bits (ALET) werden zu den adressierenden 31 Bits für die Speicheradresse hinzugefügt, wodurch eine Architektur für ein 47-Bit- Adressieren geschaffen wird. Diese Technologie ist ausführlich für einen Nikkei-Computer, 12. September 1988, Seiten 105 bis 109, dargestellt.
  • In diesem multivirtuellen Speichersystem wird auf eine Vielzahl von Tabellen, nämlich ein Zugriffsregister, eine Zugriffsliste und eine zweite ASN-Tabelle sequentiell zugegriffen, und die Segmenttabellenbezeichnung kann dadurch erhalten werden. Es besteht daher ein Problem, daß es Zeit in Anspruch nimmt, die Segmenttabellenbezeichnung zu erhalten. In der herkömmlichen Technik muß, um dieses Problem zu lösen, ein Zugriffsregister-Adreßumsetzpuffer (ALB) eine Übersetzung von dem Inhalt (ALET) des Zugriffsregisters in die Segmenttabellenbezeichnung bei hoher Geschwindigkeit ausführen können, dadurch eine Segmenttabellenbezeichnung bei hoher Geschwindigkeit erhaltend.
  • Zuerst wird eines der Zugriffsregister durch die Basisregisternummer ausgewählt, wird ALET ausgelesen, und dann wird durch diese ausgelesene ALET auf den Zugriffsregister-Adreßumsetzpuffer (ALB) zugegriffen. Wenn der gültige Eintrag mit ALET, die mit der aus dem Zugriffsregister ausgelesenen ALET übereinstimmt, in dem ALB existiert, wird die in dem Eintrag gespeicherte Segmenttabellenbezeichnung als die Segmenttabellenbezeichnung für den Hauptspeicherzugriff bestimmt. Die bestimmte Segmenttabellenbezeichnung wird dadurch zu der dynamischen Adreßübersetzungsstruktur übertragen. Wenn es in dem Zugriffsregister-Adreßumsetzpuffer (ALB) keinen gültigen Eintrag gibt, wird sequentiell auf die Zugriffsliste und die zweite ASN-Tabelle zugegriffen, um die Segmenttabellenbezeichnung zu liefern. Diese Segmenttabellenbezeichnung wird als die Segmenttabellenbezeichnung für den Hauptspeicherzugriff bestimmt und wird zu der dynamischen Adreßübersetzungsstruktur übertragen. Getrennt von dieser Operation, werden in der herkömmlichen Technik durch Segmenttabellenbezeichnungen in zwei Steuerregistern zwei, einen Primärraum und einen Sekundärraum umfassende, Adreßräume bezeichnet.
  • In einer solchen Technologie nach dem Stand der Technik wird jedoch die ALET zuerst ausgelesen, und dann bestimmt der Zugriffsregister-Adreßumsetzpuffer die Segmenttabellenbezeichnung gemäß ALET, wodurch zwei Betriebsschritte vorgesehen sind. Es nimmt daher zu viel Zeit in Anspruch, die erforderliche Segmenttabellenbezeichnung zu erhalten. Das Problem wird durch die Verzögerung der Hardware schwerwiegender gemacht, die auftritt, weil die Hardware des Zugriffsregisters und des Zugriffsregister-Adreßumsetzpuffers nicht in dem Hauptteil der CPU vorgesehen werden können. Der Umfang (4 Bytes x 16) des Zugriffsregisters wird nämlich relativ groß. Der Umfang der Hardware des Zugriffsregister-Adreßumsetzpuffers wird so groß, daß das Zugriffsregister viele effektive Einträge aufweisen kann. Diese Hardware kann daher nicht in dem Hauptteil der CPU vorgesehen werden, was auf diese Weise bewirkt, daß die Verzögerung noch größer ist. Der Stand der Technik weist somit das Problem auf, daß eine Hochgeschwindigkeitsdatenverarbeitung nicht ausgeführt werden kann.
  • Zusammenfassung der Erfindung
  • Ein Ziel der vorliegenden Erfindung liegt in einer Schaffung eines Zugriffssteuerungssystems für einen virtuellen Speicheradreßraum und eines Verfahrens, die bei hoher Geschwindigkeit eine Adreßübersetzung von der virtuellen Adresse in die reale Adresse ausführen können, indem die notwendige Segmenttabellenbezeichnung bei hoher Geschwindigkeit in einem multivirtuellen Speichersystem einer neuen Architektur durch Ausnutzen einer Zugriffsregisternummer erhalten wird.
  • Ein Merkmal der vorliegenden Erfindung liegt in einem Zugriffssteuerungssystem für einen virtuellen Speicheradreßraum mit einer Vielzahl von Zugriffsregistern, die jeweils durch eine Zugriffsregisternummer ausgewählt werden, einer dynamischen Adreßübersetzungseinheit und einem Adreßumsetzpuffer zum Übersetzen einer virtuellen Adresse in eine reale Adresse durch Verwenden einer Segmenttabellenbezeichnung, mit einem Zugriffsregister-Adreßumsetzpuffermittel zum Ausführen einer Übersetzung von einem Inhalt eines ausgewählten Zugriffsregisters in die Segmenttabellenbezeichnung, einem Zugriffsregister-Hilfs-Adreßumsetzpuffermittel zum Ausführen einer Übersetzung von der Zugriffsregisternummer in die Segmenttabellenbezeichnung, einem Mittel zum Beurteilen oder Entscheiden, ob der Inhalt des Zugriffsregisters, auf das gemäß der Zugriffsregisternummer zugegriffen wird, einen Primärraum oder einen Sekundärraum bezeichnet, und einem Mittel zum Auswählen der Segmenttabellenbezeichnung des bezeichneten Raums, wenn das Entscheidungsmittel entscheidet, daß der Inhalt des Zugriffsregisters den Primärraum oder den Sekundärraum bezeichnet, Auswählen der in dem Zugriffsregister-Hilfs-Adreßumsetzpuffermittel beibehaltenen Segmenttabellenbezeichnung, wenn das Entscheidungsmittel entscheidet, daß die beiden Räume nicht bezeichnet sind, und wenn der Zugriffsregister-Hilfs-Adreßumsetzpuffer die entsprechende gültige Segmenttabellenbezeichnung beibehält, und Auswählen der im Zugriffsregister-Adreßumsetzpuffermittel beibehaltenen gültigen Segmenttabellenbezeichnung, wenn das Entscheidungsmittel entscheidet, daß die beiden Räume nicht bezeichnet sind und wenn die gültige Segmenttabellenbezeichnung in dem Zugriffsregister-Hilfs-Adreßumsetzpuffer nicht beibehalten wird, dadurch die ausgewählte Segmenttabellenbezeichnung zu dem Adreßumsetzpuffer und der dynamischen Adreßübersetzungseinheit übertragend.
  • Kurze Erläuterung der Zeichnungen
  • Figur 1 zeigt ein Blockdiagramm einer Adreßsteuerung eines multivirtuellen Speichersystems, auf das die vorliegende Erfindung angewendet werden wird,
  • Figur 2 zeigt eine erläuternde Darstellung einer Adreßübersetzung, auf die die vorliegende Erfindung angewendet werden wird,
  • Figur 3 zeigt eine Darstellung eines TLB-Adreßumsetzpuffers,
  • Figur 4 zeigt ein Blockdiagramm, das ein Prinzip der vorliegenden Erfindung darstellt, Figur 5A zeigt ein Blockdiagramm der Ausführungsform der vorliegenden Erfindung, Figur 5B zeigt eine Struktur eines ersten Zugriffsregister- Adreßumsetzpuffers, der in Figur 5A dargestellt ist und durch die vorliegende Erfindung neu eingeführt wird,
  • Figur 5C zeigt eine Struktur des in Figur 5A dargestellten ALET-Entscheidungsmittels,
  • Figur 6 zeigt ein ausführliches Blockdiagramm des TLB/LBS, das in der in Figur 5A dargestellten Ausführungsform verwendet wird, und
  • Figur 7 zeigt eine Zeitablaufdarstellung der in Figur 5A dargestellten Ausführungsform
  • Ausführliche Erklärung der bevorzugten Ausführungsform
  • Figur 4 zeigt die Grundstruktur der vorliegenden Erfindung. 1a bezeichnet einen TLB, der wie in Figur 3 dargestellt geschaffen und ein Adreßumsetzpuffer ist, um eine Adreßübersetzung von der virtuellen Adresse in die reale Adresse bei hoher Geschwindigkeit auszuführen, ohne auf die Segmenttabelle- Seitentabelle Bezug zu nehmen; 2 ist ein AR(Zugriffsregister)- Nummer-Register zum Beibehalten der durch die Basisregisternummer bezeichneten Zugriffsregisternummer; 3 bezeichnet ein Zugriffsregister mit 16 Einträgen (ALETS) und verwaltet eine ALET, um die notwendige Segmenttabellenbezeichnung zu bestimmen; 4 ist ein Zugriffsregister-Hilfs-Adreßumsetzpuffer (erster ALB), der mit einem STD-Übersetzungsmittel 40 zum Ausführen einer übersetzung von der Zugriffsregisternummer in die Segmenttabellenbezeichnung bei hoher Geschwindigkeit und einem Gültigkeitsmarke-Verwaltungsmittel 41 zum Verwalten der Gültigkeit der durch das STD-Ubersetzungsmittel 40 beibehaltenen Segmenttabellenbezeichnung ausgestattet ist; 5 ist ein ALET- Entscheidungsmittel, um zu entscheiden, ob das ALET-Zugriffsregister 3 der bezeichneten Zugriffsregisternummer einen Pnmärraum oder einen Sekundärraum bezeichnet; 6 ist ein Zugriffsregister-Adreßumsetzpuffer (zweiter ALB) zum Ausführen einer Übersetzung von der ALET des Zugriffsregisters 3 in die Segmenttabellenbezeichnung; 7 ist ein erstes Steuerregister zum Beibehalten der Segmenttabellenbezeichnung des Primärraums; 8 ist das zweite Steuerregister zum Beibehalten der Segmenttabellenbezeichnung des Sekundärraums; 9 ist ein Auswahlmittel zum Ausführen eines Auswahlprozesses der Segmenttabellenbezeichnungen, die aus dem Zugriffsregister-Hilfs-Adreßumsetzpuffer 4, der Zugriffsregister-Übersetzungs-Index-Pufferstruktur 6, dem ersten Steuerregister 7 und dem zweiten Steuerregister 8 ausgelesen wurden; 10 ist eine ART-Steuerstruktur zum Ausführen einer Übersetzung von einer ALET des Zugriffsregisters 3 in die Segmenttabellenbezeichnung durch Bezugnehmen auf die Zugriffsliste und eine zweite ASN-Tabelle (dargestellt in Figur 2); und 11 ist eine dynamische Adreßübersetzungsstruktur zum Ausführen einer Adreßübersetzung von der virtuellen Adresse in die reale Adresse durch Verwenden der Segmenttabelle, die durch die vorbestimmte Segmenttabellenbezeichnung bezeichnet ist. Gemäß der vorliegenden Erfindung prüft das ALET-Entscheidungsmittel 5, ob die ALET des Zugriffsregisters 3, die der in dem AR-Nummer-Register 2 beibehaltenen Zugriffsregisternummer entspricht, einen Primärraum oder einen Sekundärraum bezeichnet. Wenn die ALET einen Primärraum oder einen Sekundärraum bezeichnet, teilt der Prozeß dem Auswahlmittel 9 mit, welcher Raum bezeichnet ist. Wenn diese Benachrichtung empfangen ist, führt das Auswahlmittel 9 eine Auswahl derart durch, daß, wenn die ALET des Zugriffsregisters 3, worauf gemäß der Basisregisternummer zugegriffen wird, den Primärraum bezeichnet, die durch das erste Steuerregister 7 beibehaltene Segmenttabellenbezeichnung ausgewählt wird und die Segmenttabellenbezeichnung zu dem Adreßumsetzpuffer TLBLA und der dynamischen Adreßübersetzungsstruktur 11 übertragen wird und, wenn der Sekundärraum bezeichnet ist, die in dem zweiten Steuerregister 8 beibehal tene Segmenttabellenbezeichnung ausgewählt wird und die Segmenttabellenbezeichnung zu dem Adreßumsetzpuffer TLBLA und der dynamischen Adreßübersetzungsstruktur 11 übertragen wird.
  • Auf der anderen Seite wählt, wenn gemäß dem ALET-Entscheidungsmittel 5 beurteilt oder entschieden wird, daß die ALET des Zugriffsregisters 3 der in dem AR-Nummer-Register 2 beibehaltenen Zugriffsregisternummer nicht den Primärraum und Sekundärraum bezeichnet, das STD-Übersetzungsmittel 40 einen Eintrag gemäß der im AR-Nummer-Register 2 beibehaltenen Zugriffsregisternummer aus, und das Gültigkeitsmarke-Verwaltungsmittel 41 detektiert, ob die Segmenttabellenbezeichnung in dem Eintrag des STD-übersetzungsmittels gültig ist oder nicht. Wenn die Gültigkeit der Segmenttabellenbezeichnung detektiert wird, benachrichtigt der Zugriffsregister-Hilfs-Adreßumsetzpuffer 4 das Auswahlmittel 9 von der Segmenttabellenbezeichnung dieses Eintrags. Wenn diese Benachrichtigung empfangen ist, überträgt das Auswahlmittel 9 die mitgeteilte Segmenttabellenbezeichnung zum Adreßumsetzpuffer TLBLA und der dynamischen Adreßübersetzungsstruktur 11.
  • Wenn gemäß dem Gültigkeitsmarke-Verwaltungsmittel 41 entschieden wird, daß die gültige Segmenttabellenbezeichnung nicht in dem Zugriffsregister-Hilfs-Adreßumsetzpuffer 4 beibehalten ist, bestimmt der Zugriffsregister-Adreßumsetzpuffer 6 die entsprechende gültige Segmenttabellenbezeichnung gemäß dem gleichen Prozeß wie nach dem Stand der Technik und setzt das Auswahlmittel 9 von der Bezeichnung in Kenntnis. Das Auswahlmittel 9 überträgt die mitgeteilte Segmenttabellenbezeichnung zu TLB1A und der dynamischen Adreßübersetzungsstruktur 11. Wenn entschieden wird, daß die gültige Segmenttabellenbezeichnung nicht in dem Zugriffsregister-Adreßumsetzpuffer 6 beibehalten ist, bestimmt die ART-Steuerstruktur 10 die entsprechende Segmenttabellenbezeichnung durch das Zugriffsregister und die zweite ANS-Tabelle und teilt die Bezeichnung dem TLB1a und der dynamischen Adreßübersetzungsstruktur 11 gemäß dem gleichen Prozeß wie nach dem Stand der Technik mit und trägt die durch die ART-Steuerstruktur 10 bestimmte Segmenttabellenbezeichnung im Zugriffsregister-Hilfs-Adreßumsetzpuffer 4 und dem Zugriffsregister-Adreßumsetzpuffer 6 ein.
  • Wie oben beschrieben, erhält TLB1a, wenn die Segmenttabellenbezeichnung empfangen ist, eine reale Adresse unter Verwen dung der Segmenttabellenbezeichnung. Wo TLB1a die dynamische Adreßübersetzung in die reale Adresse nicht ausführen kann, verwendet die dynamische Adreßübersetzungsstruktur 11 eine durch die Segmenttabellenbezeichnung bezeichnete Segmenttabelle und führt den übersetzungsprozeß von der virtuellen Adresse in die reale Adresse aus und trägt das erhaltene übersetzungsergebnis in TLB1a ein, dadurch den Prozeß beendend.
  • Wie oben beschrieben, ist die vorliegende Erfindung dadurch gekennzeichnet, daß der Zugriffsregister-Hilfs-Adreßumsetzpuffer 4, der in der Lage ist, die Segmenttabellenbezeichnung aus der Zugriffsregisternummer unmittelbar zu bestimmen, neu vorgesehen ist. Der Zugriffsregister-Hilfs-Adreßumsetzpuffer 4 ist mit einem Eintrag entsprechend der Anzahl der Adressen des Zugriffsregisters 3 versehen. Er kann somit mit einem kleinen Umfang an Hardware implementiert sein und kann in einem Hauptteil der CPU angeordnet sein. Gemäß der vorliegenden Erfindung kann die erforderliche Segmenttabellenbezeichnung bei einer extrem hohen Geschwindigkeit erhalten werden, und eine Adreßübersetzung von der virtuellen Adresse in die reale Adresse kann bei einer viel höheren Geschwindigkeit als mit der Adreßübersetzung nach dem Stand der Technik ausgeführt werden.
  • Figur 5A zeigt die Struktur einer Ausführungsform der vorliegenden Erfindung. Die gleichen Teile wie die in Figur 4 sind durch die gleichen Bezugssymbole bezeichnet. 1 ist TLB/LBS, 4a ist ein erster ALB und entspricht einem Zugriffsregister-Hilfs- Adreßumsetzpuffer 4 in Figur 4, 6a ist ein zweiter ALB und entspricht dem Zugriffsregister-Adreßumsetzpuffer 6 in Figur 4, ist ein Anweisungsregister zum Speichern geholter oder geladener Anweisungscodes, 21 ist ein Mehrzweckregister, 22 ist ein Basisregister, 23 ist ein Indexregister, 24 ist ein Versatz- oder Distanzregister, 25 ist ein Addierer für eine effektive Adresse zum Addieren einer in dem Basisregister 22 beibehaltenen Adreßinformation, einer in dem Indexregister 23 beibehaltenen Adreßinformation und einer in dem Distanzregister 24 beibehaltenen Adreßinformation, dadurch die virtuelle Adresse des Zugriffsgegenstandes erhaltend. 26 ist ein Register für eine effektive Adresse zum Speichern der durch den Addierer 25 für eine effektive Adresse berechneten virtuellen Adresse, 27 ist ein Hauptspeicheroperandenregister zum Speichern der durch den TLB/LBSL erhaltenen Hauptspeicheroperanden, 28 ist ein erstes STD-Register zum Speichern der von dem STD-übersetzungsmittel 40 gelesenen Segmenttabellenbezeichnung, 29 ist ein Gültigkeitsregister zum Speichern gültiger und ungültiger Daten, die von der Gültigkeitsmarke-Verwaltungseinheit 41 gelesen werden, 30 ist ein ALET-Register zum Speichern der von dem Zugriffsregister 3 gelesenen ALET, 31 ist ein zweites STD- Register zum Speichern von durch den zweiten ALB 6a erhaltenen Segmenttabellenbezeichnungen.
  • Figur 5B zeigt eine Struktur des Zugriffsregister-Hilfs Adreßumsetzpuffer (erster ALB) 4 mit 16 Einträgen mit Segmenttabellenbezeichnungen STD&sub0; bis STD&sub1;&sub5; und einem Gültigkeitsbit 41. Das AR-Nummer-Register 2 schickt eine Zugriftsregisternummer ARi, die verwendet wird, um auf die Adresse von 16 Einträgen des ersten ALB 4 direkt zuzugreifen, dadurch eine Segmenttabellenbezeichnung STDi ausgebend, die in der ARi entsprechenden Adresse gespeichert ist. Der Zugriffsregister- Adreßumsetzpuffer (zweiter ALB) 6a enthält eine Tabelle, die eine Beziehung zwischen dem Inhalt ALET von jedem Eintrag des Zugriffsregisters 3 und der Segmenttabellenbezeichnung STD zeigt, und wird geschaffen, indern man den Inhalt ALET des Zugriffsregisters 3 der Kopfadresse (nämlich STD) der Segmenttabelle durch Umgehen der Zugriffsliste und der zweiten ASN- Adresse, die in Figur 2 dargestellt sind, entsprechen läßt.
  • Figur 5C zeigt eine Struktur des ALET-Entscheidungsmittels 5, das 16 Einträge enthält, die jeweils 2 Bits umfassen. Die von dem AR-Nummer-Register 2 geschickte Zugriffsregisternummer wird auch zum Zugreifen auf die Adresse des ALET-Entscheidungsmittels verwendet. Falls die ALET des Zugriffsregisters 3 "0" ist, wird dann in Bit 1 des Entscheidungsmittels 5 "1" gespeichert, dadurch auf den Primärraum zugreifend, und, falls die ALET des Zugriffsregisters 3 "1" ist, wird dann in Bit 2 des Entscheidungsmittels 5 "1" gespeichert, dadurch auf den Sekundärraum zugreifend.
  • Figur 6 zeigt die ausführliche Struktur des TLB/LBS1. 1a ist der in Figur 4 erklärte TLB, und 1b ist ein einen Cache bildender LBS. Wie in dieser Zeichnung dargestellt&sub1; verwaltet der TLB1A die Beziehung zwischen einer virtuellen Adresse und einer realen Adresse, einem Gültigkeitsbit und einer Segmenttabellenbezeichnung auf ein Erhalten der Beziehung zwischen den Adressen hin. Wenn die von dem Auswahlmittel 9 ausgegebene Segmenttabellenbezeichnung mit der durch TLB1a verwalteten Segmenttabellenbezeichnung übereinstimmt und das bezeichnete Gültigkeitsbit gültig ist, wird die reale Adresse erhalten.
  • Diese reale Adresse wird als effektiv seiend betrachtet. LBS1b ist ein Cache, auf den durch die reale Adresse von TLB1a zugegriffen werden soll, und Daten werden in Blockeinheiten einund ausgegeben. Die Hardware entscheidet in Datenblockeinheiten, ob die Daten in dem Cache existieren oder nicht, verwaltet dann die Daten in Blockeinheiten und gibt die entsprechenden Daten an das Hauptspeicheroperandenregister 27 aus.
  • Als nächstes wird das Opertionsverfahren der so geschaffenen vorliegenden Erfindung erläutert.
  • Das Basisregister 22 behält die Basisinformation der Adresse, auf die zugegriffen werden soll, durch Beibehalten der Adreßdaten von dem Mehrzweckregister 21 bei, die durch die Basisregisternummer (in der Zeichnung B&sub2;) des Anweisungsregisters 20 bezeichnet sind. Das Indexregister 23 behält die Indexinformation der Adresse, auf die zugegriffen werden soll, durch Beibehalten der Adreßinformation von dem Mehrzweckregister 21 bei, die durch die (durch X&sub2; in der Zeichnung bezeichnete) Indexregisternummer des Anweisungsregisters 20 bezeichnet ist. Das Distanzregister 24 behält die Distanzinformation der Adresse, auf die zugegriffen werden soll, durch Beibehalten der (durch D&sub2; in der Zeichnung bezeichneten) Distanz oder relativen Adresse vom Anweisungsregister 20 bei. Das AR-Nummer-Register 2 hält die Zugriffsregisternummer, die die gleiche wie die Basisregisternummer (B&sub2;) ist.
  • Wenn die dem Basisregister 22, dem Indexregister 23, dem Distanzregister 24 bzw. dem AR-Nummer-Register 2 entsprechenden Daten beibehalten werden, treten daher TLB/LBS1, der erste ALB4a, das ALET-Entscheidungsmittel 5 und der zweite ALB6a in eine parallele Ausführung der jeweiligen Prozesse ein, die im folgenden erläutert werden. Die Zeitablaufdarstellung der parallelen Ausführung der jeweiligen Prozesse ist in Figur 7 dargestellt.
  • TLB1a gibt die Segmenttabellenbezeichnung STD aus, die mit der von dem Auswahlmittel 9 erhaltenen STD durch einen Komparator 50 verglichen wird. Wenn das von TLB1a ausgegebene Gültigkeitssignal gültig ist und wenn die STD von TLB1a mit der STD von dem Auswahlmittel 9 übereinstimmt, wird die Ausgabe der UND-Schaltung 51 1. Die STD wird dann nicht an DAT geschickt, und die von LBS1b erhaltene reale Adresse wird verwendet. Wenn die STD von dem TLB1a nicht mit der STD von dem Auswahlmittel 9 übereinstimmt, wird die von dem Auswahlmittel 9 erhaltene STD an DAT 11 geliefert, um zu ermöglichen, daß die DAT 11 arbeitet.
  • TLB1a prüft nämlich, ob die reale Adresse, die der durch den Addierer 25 für eine effektive Adresse berechneten virtuellen Adresse entspricht, als effektiv für einen Eintrag betrach tet wird. Wenn sie einem Eintrag als die effektive Adresse zugeordnet ist, wird sie ausgegeben, um zum Zugreifen auf LBS1b verwendet zu werden, und der so erhaltene Hauptspeicheroperand wird in dem Hauptspeicheroperandenregister 27 durch eine Ausrichte- und Auswahleinheit gespeichert. Dieser Prozeß ermöglicht; daß die nicht dargestellte Betriebseinheit die Operation durch Verwenden eines Inhalts von LBS1b ausführt. Dies ist eine Operation 1 zum Ausführen einer Adreßübersetzung durch TLB1a, wie in Figur 7 dargestellt ist. Wenn die virtuelle Adresse des Zugriffsgegenstandes einem Eintrag in TLB1a als eine effektive Adresse nicht zugeordnet ist, wird die dynamische Adreßübersetzungsstruktur 11 in einen Ein-Zustand versetzt, und, gemäß der Segmenttabellenbezeichnung, die zu der frühesten Zeitsteuerung oder Zeitwahl unter den Segmenttabellenbezeichnungen erzeugt wurde, welche durch den ersten ALB4a, das ALET-Entscheidungs mittel 5 und den zweiten ALB6a erhalten wurden, die parallel zueinander arbeiten, wird die Adreßübersetzung von der virtuellen Adresse in die reale Adresse ausgeführt. Die vorliegende Erfindung ist gekennzeichnet durch Ausgeben von STD bei einer hohen Geschwindigkeit durch Verwenden einer Parallelverarbei tung.
  • ALB4a prüft, ob die der Zugriffsregisternummer des AR- Nummer-Registers 2 entsprechende Segmenttabellenbezeichnung als ein Eintrag darin gültig gespeichert ist. Wenn die Segmenttabellenbezeichnung in dem ersten ALB4a als ein gültiger Eintrag gespeichert ist, wird die Segmenttabellenbezeichnung in dem ersten STD-Register 28 gespeichert, und die Marke, die die Wirksamkeit bzw. Effektivität des Eintrags bezeichnet, wird in einem Gültigkeitsregister 29 gespeichert. Dies ist eine in Figur 7 dargestellte Operation 2. Umgekehrt wird, wenn der in dem ersten ALB4a gespeicherte Eintrag wegen eines Neuschreibens der ALET des Zugriffsregisters 3 ungültig ist, die den ungültigen Eintrag bezeichnende Marke im Gültigkeitsregister 29 gespeichert. Wenn der Eintrag in dem ersten ALB4a ungültig ist, wird die Segmenttabellenbezeichnung von dem Zugriffsregister 3 und dem Zugriffsregister-Adreßumsetzpuffer erhalten. Die Beziehung zwischen der AR-Nummer und der STD wird dann durch das Auswahlmittel 9 an die dynamische Adreßübersetzungseinheit 11 geliefert, die neue Beziehung zwischen ihnen wird in dem STD- Übersetzungsmittel 40 gespeichert, und das entsprechende Gültigkeitsbit wird zu "1" geändert. Das ALET-Entscheidungsmitttel prüft, ob die ALET der Zugriffsregisternummer des AR-Nummer- Registers 2, die dem Zugriffsregister 3 zugeordnet ist, "0" ist, was einen Primärraum bezeichnet, oder "1" ist, was einen Sekundärraum bezeichnet, und das Entscheidungsergebnis wird dem Auswahlmittel 9 mitgeteilt. Dies ist eine Operation 3 in Figur 7. Der zweite ALB6A liest die ALET, die dem Zugriffsregister 3 entsprechend der Zugriffsregisternummer des AR-Nummer-Registers 2 zugeordnet ist, und prüft, ob die Segmenttabellenbezeichnung entsprechend der ausgelesenen ALET als ein gültiger Eintrag gespeichert ist. Wenn die Segmenttabellenbezeichnung als der gültige Eintrag gespeichert ist, wird die Segmenttabellenbezeichnung aus dem zweiten ALB6a ausgelesen und in dem zweiten STD-Register 31 gespeichert. Dies ist eine in Figur 7 dargestellte Operation 4. Die STD wird dann in dem ersten ALB4a gespeichert. Dies ist eine Operation 5 in Figur 7. Wenn das Auswahlmittel 9 die Segmenttabellenbezeichnung STD auswählt, wird die Adreßübersetzung durch Verwenden der Segmenttabellenbezeichnung STD ausgeführt. Dies ist eine in Figur 7 dargestellte Operation 6.
  • Wenn der zweite ALB6a die gültige Segmenttabellenbezeichnung nicht beibehält, wird die Segmenttabellenbezeichnung durch Verwenden der AR-Steuerstruktur 10 gemäß der Zugriffsliste und der zweiten ASN-Tabelle bestimmt, die in einem Hauptspeicher gespeichert sind, wie in Figur 2 dargestellt ist. Diese sind Operationen 7, 8 und 9 von Figur 7.
  • Wenn das Auswahlmittel 9 gemäß der Benachrichtigung vom ALET-Entscheidungsmittel 5 entscheidet, daß der Primärraum bezeichnet ist, wird die Segmenttabellenbezeichnung des ersten Steuerregisters 7 ungeachtet des Prozesses des ersten ALB4a oder des zweiten ALB6a sofort ausgewählt, und die Segmenttabellenbezeichnung wird demgemäß zu TLB1a und der dynamischen Adreßübersetzungsstruktur 11 übertragen. Wenn entschieden wird, daß der Sekundärraum bezeichnet ist, wird die Segmenttabellenbezeichnung des zweiten Steuerregisters 8 ungeachtet des Prozesses des ersten ALB4A und des zweiten ALB6a ausgewählt, und demgemäß wird die Segmenttabellenbezeichnung zu TLB1a und der dynamischen Adreßübersetzungsstruktur 11 übertragen.
  • Auf TLB/LBS1 wird durch die so erhaltene Segmenttabellenbezeichnung Bezug genommen, und der als das Ergebnis der Bezugnahme erhaltene Hauptspeicheroperand wird zu der (nicht dargestellten) Betriebseinheit übertragen. Wenn die dynamische Adreßübersetzung von der virtuellen Adresse in die reale Adresse durch Verwenden des TLB1a nicht ausgeführt werden kann, führt die dynamische Adreßübersetzungsstruktur 11 die Übersetzung von der virtuellen Adresse in die reale Adresse durch Verwenden der Segmenttabelle aus, auf die durch die Segmenttabellenbezeichnung gezeigt wird, und die erhaltene Beziehung zwischen der virtuellen Adresse und der realen Adresse wird in TLB1a registriert oder eingetragen. Daher kann in der vorhe genden Erfindung durch Zuordnen einer Priorität zu dem Primärraum und Sekundärraum, denen eine Anweisung allgemein zugewiesen ist, auf die Anweisung bei hoher Geschwindigkeit zugegriffen werden, und die Verringerung der Datenverarbeitungsgeschwindigkeit wird vermieden.
  • Auf der anderen Seite wählt, wenn der Primärraum und der Sekundärraum nicht bezeichnet sind und die die Gültigkeit darstellende Marke im Gültigkeitsregister 29 gespeichert ist, das Auswahlmittel 9 die in dem ersten STD-Register 28 gespeicherte Segmenttabellenbezeichnung aus und überträgt die Segmenttabel lenbezeichnung zu TLB1a und der dynamischen Adreßübersetzungsstruktur 11. Der obige Prozeß kann den Hauptspeicheroperanden durch Zugreifen auf TLB/LBS1 in der gleichen Art und Weise liefern, wie wenn der Primärraum und der Sekundärraum bezeichnet sind, und der Hauptspeicheroperand wird zu der nicht dargestellten Betriebseinheit übertragen. Umgekehrt wählt, wenn die die Ungültigkeit darstellende Marke im Gültigkeitsregister 29 gespeichert ist, das Auswahlmittel 9 die in dem zweiten STD- Register 31 gespeicherte Segmenttabellenbezeichnung aus, und überträgt die Segmenttabellenbezeichnung zu TLB1a und der dynamischen Adreßübersetzungsstruktur 11. Durch diese Operation wird auf TLB/LBS1 zugegriffen, und der Hauptspeicheroperand wird erhalten, so daß er zu der arithmetischen Betriebseinheit übertragen wird. Die Beziehung zwischen der Zugriffsregisternummer und der Segmenttabellenbezeichnung, die durch den zwei ten ALB6a erhalten wurde, wird in dem ersten ALB4a eingetragen. Die ist eine in Figur 7 dargestellte Operation 10.
  • Wenn der zweite ALB6a einen übersetzungsprozeß von der ALET zur Segmenttabellenbezeichnung ausführt und dann entschieden wird, daß der zweite ALB6a keine gültige Segmenttabellen bezeichnung aufweist, wird die ART-Steuerstruktur 10 gestartet. Auf die Tabelle wird durch Verwenden der Zugriffsliste und der ASN-Zugriffstabelle Bezug genommen, und somit wird die Segmenttabellenbezeichnung bes timmt. Die Segmenttabellenbezeichnung wird demgemäß TLB1a und der dynamischen Adreßübersetzungs struktur 11 mitgeteilt. Daher wird auf TLB/LBS1 zugegriffen, und der Hauptspeicheroperand wird erhalten und zu der arithmetischen Betriebseinheit übertragen. Die Beziehung zwischen der Zugriffsregisternummer und der Segmenttabellenbezeichnung, die durch die ART-Steuerstruktur 10 erhalten wurde, wird in dem ersten ALB4a eingetragen, und die Beziehung zwischen ALET und der Segmenttabellenbezeichnung, die durch die ART-Steuerstruktur 10 erhalten wurde, wird in dem zweiten ALB6a eingetragen.
  • Wo auf einen Zugriff auf TLB/LBS1 hin die Beziehung zwischen der virtuellen Adresse und der realen Adresse nicht erhalten werden kann, weil der gültige Eintrag in TLB1a nicht existiert, wird die dynamische Adreßübersetzungsstruktur 11 in der gleichen Art und Weise wie für den Primärraun und den Sekundärraum gestartet. Auf die Segmenttabelle und die Seitentabelle wird dann sequentiell Bezug genommen, indem die vorbestimmte Segmenttabellenbezeichnung verwendet wird, und die Beziehung zwischen der virtuellen Adresse und der realen Adresse wird demgemäß erhalten und in TLB1a eingetragen. Auf LBS1b wird durch Verwenden der eingetragenen Beziehung Bezug genommen. Wenn die gültigen Daten existieren, werden sie ausgegeben und in dem Hauptspeicheroperandenregister 27 abgelegt oder eingetragen und dann zu der arithmetischen Betriebseinheit übertragen. Umgekehrt wird, wo die gültigen Daten in LBS1b nicht existieren, auf das Hauptspeichergerät zugegriffen, und die Daten werden daraus erhalten und in LBS1b gespeichert. Die gespeicherten Daten werden dann in dem Hauptspeicheroperandenregister 27 eingetragen und zu der arithmetischen Einheit übertragen.
  • Die vorliegende Erfindung ist nicht auf die obige Ausführungsform beschränkt. Zum Beispiel kann die vorliegende Erfindung eine ALET des Zugriffsregisters 3 lesen und entscheiden, ob die ALET in dem Primärraum oder einem Sekundärraum existiert. Alternativ können anstelle der ALET ein Zwischenspeicher, der die Existenz einer Bezeichnung des Primärraums darstellt&sub1; und ein Zwischenspeicher, der die Existenz einer Bezeichnung des Sekundärraums darstellt, vorgesehen sein, was ermöglicht, ALET in einer entsprechenden Art und Weise ohne Zugreifen auf das Zugriffsregister 3 auszulesen. Diese Struktur kann die Segmenttabellenbezeichnung bei einer höheren Geschwindigkeit bestimmen. In der Ausführungsform wird, um die Geschwindigkeit einer Operation zu erhöhen, die Segmenttabellenbezeichnung gemäß einer Parallelverarbeitung bestimmt. Der Prozeß kann in einer Zeitteilungsweise gemäß der Reihenfolge ausgeführt werden, in der das Auswahlmittel 9 die Segmenttabellenbezeichnung auswählt, wodurch die Segmenttabellen bezeichnung bestimmt wird.
  • Wie oben erläutert, kann gemäß der vorliegenden Erfindung die notwendige Segmenttabellenbezeichnung bei einer extrem hohen Geschwindigkeit durchgeführt werden, und die Adreßübersetzung von der virtuellen Adresse in die reale Adresse kann bei einer viel höheren als nach dem Stand der Technik ausgeführt werden. Ferner kann der Flexibilitätsgrad der Anordnung in der CPU erhöht werden.

Claims (6)

1. Ein Zugriffssteuerungssystem für einen virtuellen Speicheradreßraum mit einer Vielzahl von Zugriffsregistern (3), die jeweils durch eine Zugriffsregisternummer ausgewählt werden, einer dynamischen Adreßübersetzungseinheit (11) und einem Adreßumsetzpuffer (1a) zum Übersetzen einer virtuellen Adresse in eine reale Adresse durch Verwenden einer Segmenttabellenbezeichnung (STD) mit:
einem Zugriffsregister-Adreßumsetzpuffermittel (6) zum Ausführen einer übersetzung von einem Inhalt (ALET) eines ausgewählten Zugriffsregisters in die Segmenttabellenbezeichnung,
einem Zugriffsregister-Hilfs-Adreßumsetzpuffermittel (4) zum Ausführen einer Übersetzung von der Zugriffsregisternummer in die Segmenttabellenbezeichnung,
einem Mittel (5) zum Entscheiden, ob der Inhalt (ALET) des Zugriffsregisters (3), auf das gemäß der Zugriffsregisternummer zugegriffen wird, einen Primärraum oder einen Sekundärraum bezeichnet, und
Mittel (9) zum Auswählen der Segmenttabellenbezeichnung des bezeichneten Raums, wenn das Entscheidungsmittel (5) entscheidet, daß der Inhalt des Zugriffsregisters den Primärraum oder den Sekundärraum bezeichnet, Auswählen der in dem Zugriffsregister-Hilfs-Adreßumsetzpuffermittel (4) beibehaltenen Segmenttabellenbezeichnung, wenn das Entscheidungsmittel entscheidet, daß die beiden Räume nicht bezeichnet sind, und wenn der Zugriffsregister-Hilfs-Adreßumsetzpuffer (4) die entsprechende gültige Segmenttabellenbezeichnung beibehält, und Auswählen der in dem Zugriffsregister-Adreßumsetzpuffermittel (6) beibehaltenen gültigen Segmenttabellenbezeichnung, wenn das Entscheidungsmittel (5) entscheidet, daß die beiden Räume nicht bezeichnet sind, und wenn die gültige Segmenttabellenbezeichnung in dem Zugriffsregister-Hilfs-Adreßumsetzpuffer (4) nicht beibehalten wird, dadurch die ausgewählte Segmenttabellenbezeichnung zu dem Adreßumsetzpuffer (la) und der dynamischen Adreßübersetzungseinheit (11) übertragend.
2. Das Zugriffssteuerungssystem für einen virtuellen Speicheradreßraum nach Anspruch 1, worin
das Zugriffsregister (3), das Zugriffsregister-Adreßumsetzpuffermittel (6), das Entscheidungsmittel (5) und das Zugriffsregister-Hilfs-Adreßumsetzpuffermittel (4) parallel miteinander arbeiten.
3. Das Zugriffssteuerungssystem für einen virtuellen Speicheradreßraum nach Anspruch 1, worin
das Zugriffsregister-Hilfs-Adreßumsetzpuffermittel (4) eine Vielzahl von Segmenttabellenbezeichnungen und Gültigkeitsbits enthält, die bezeichnen, ob die Segmenttabellenbezeichnung gültig ist.
4. Das Zugriffssteuerungssystem für einen virtuellen Speicheradreßraum nach Anspruch 1, ferner mit ersten (7) und zweiten (8) Steuerregistern zum Bezeichnen eines Primär- bzw. Sekundärraums, wobei auf die Primär- und Sekundärräume zugegriffen wird, wenn der Inhalt des Zugriffsregisters "1" oder "0" ist.
5. Das Zugriffssteuerungssystem für einen virtuellen Speicheradreßraum nach Anspruch 1, worin
das Zugriffsregister-Hilfs-Adreßumsetzpuffermittel (4) eine Tabelle enthält, die eine Beziehung zwischen dem Inhalt des Zugriffsregisters und der Segmenttabellenbezeichnung bezeichnet, wenn der Inhalt des Zugriffsregisters nicht "1" oder "0" ist und die gültige Segmenttabellenbezeichnung im Zugriffsregister-Adreßumsetzpuffermittel (6) nicht existiert.
6. Verfahren zum Steuern eines Zugriffssteuerungssystems für einen virtuellen Speicheradreßraum mit einer Vielzahl von Zugriffsregistern (3), die jeweils durch eine Zugriffsregisternummer ausgewählt werden, einer dynamischen Adreßübersetzungseinheit (11) und einem Adreßumsetzpuffer (1a) zum Übersetzen einer virtuellen Adresse in eine reale Adresse durch Verwenden einer Segmenttabellenbezeichnung (STD) mit den Schritten:
Ausführen einer Übersetzung von einem Inhalt (ALET) eines ausgewählten Zugriffsregisters in die Segmenttabellenbezeichnung durch Verwenden eines Zugriffsregister-Adreßumsetzpuffermittels (6),
Ausführen einer Übersetzung von der Zugriffsregisternummer in die Segmenttabellenbezeichnung durch Verwenden eines Zugriffsregister-Hilfs-Adreßumsetzpuffermittels (4)
Entscheiden, durch Verwenden eines Entscheidungsmittels (5), ob der Inhalt des Zugriffsregisters, auf das gemäß der Zugriffsregisternummer zugegriffen wird, einen Primärraum oder einen Sekundärraum bezeichnet, und
Auswählen (9) der Segmenttabellenbezeichnung des bezeichneten Raums, wenn das Entscheidungsmittel (5) entscheidet, daß der Inhalt des Zugriffsregisters den Primärraum oder den Sekundärraum bezeichnet, Auswählen der in dem Zugriffsregister- Hilfs-Adreßumsetzpuffermittel (4) beibehaltenen Segmenttabellenbezeichnung, wenn das Entscheidungsmittel (5) entscheidet, daß zwei Räume nicht bezeichnet sind, und wenn der Zugriffsregister-Hilfs-Adreßumsetzpuffer (4) die entsprechende gültige Segmenttabellenbezeichnung beibehält, und Auswählen der in dem Zugriffsregister-Adreßumsetzpuffermittel (6) beibehaltenen gültigen Segmenttabellenbezeichnung, wenn das Entscheidungsmittel (5) entscheidet, daß zwei Räume nicht bezeichnet sind, und wenn die gültige Segmenttabellenbezeichnung in dem Zugriffsregister Hilfs-Adreßumsetzpuffer beibehalten wird, dadurch die ausgewählte Segmenttabellenbezeichnung zu dem Adreßumsetzpuffer (1a) und der dynamischen Adreßübersetzungseinheit (11) übertragend.
DE69029176T 1989-07-25 1990-07-25 Steuerungsanordnung und Verfahren zum Zugriff auf einen virtuellen Speicheradressraum Expired - Fee Related DE69029176T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1192267A JP2768503B2 (ja) 1989-07-25 1989-07-25 仮想記憶アドレス空間アクセス制御方式

Publications (2)

Publication Number Publication Date
DE69029176D1 DE69029176D1 (de) 1997-01-02
DE69029176T2 true DE69029176T2 (de) 1997-03-20

Family

ID=16288438

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69029176T Expired - Fee Related DE69029176T2 (de) 1989-07-25 1990-07-25 Steuerungsanordnung und Verfahren zum Zugriff auf einen virtuellen Speicheradressraum

Country Status (6)

Country Link
US (1) US5923864A (de)
EP (1) EP0410740B1 (de)
JP (1) JP2768503B2 (de)
AU (1) AU647745B2 (de)
CA (1) CA2021878C (de)
DE (1) DE69029176T2 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0634721B1 (de) * 1993-07-16 1998-09-23 Siemens Nixdorf Informationssysteme Aktiengesellschaft Verfahren und Schaltungsanordnung zur Übersetzung von virtuellen Adressen in Datenverarbeitungsanlagen
US6175906B1 (en) * 1996-12-06 2001-01-16 Advanced Micro Devices, Inc. Mechanism for fast revalidation of virtual tags
US6230248B1 (en) * 1998-10-12 2001-05-08 Institute For The Development Of Emerging Architectures, L.L.C. Method and apparatus for pre-validating regions in a virtual addressing scheme
JP3476376B2 (ja) 1998-12-16 2003-12-10 富士通株式会社 仮想記憶アドレス空間アクセス制御方法とそのための装置
US6535891B1 (en) * 2000-09-26 2003-03-18 Emc Corporation Method and apparatus for indentifying accesses to a repository of logical objects stored on a storage system based upon information identifying accesses to physical storage locations
JP2005535008A (ja) * 2002-05-31 2005-11-17 フジツウ アイティー ホールディングス,インコーポレイティド インテリジェント記憶装置管理方法およびシステム
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
JP2010170266A (ja) * 2009-01-21 2010-08-05 Toshiba Corp 半導体集積回路及びアドレス変換方法
US11074195B2 (en) 2019-06-28 2021-07-27 International Business Machines Corporation Access to dynamic address translation across multiple spaces for operational context subspaces
US10891238B1 (en) 2019-06-28 2021-01-12 International Business Machines Corporation Dynamically joining and splitting dynamic address translation (DAT) tables based on operational context
US10970224B2 (en) 2019-06-28 2021-04-06 International Business Machines Corporation Operational context subspaces
US11176056B2 (en) 2019-06-28 2021-11-16 International Business Machines Corporation Private space control within a common address space

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JPH01177145A (ja) * 1988-01-06 1989-07-13 Nec Corp 情報処理装置
US5008811A (en) * 1988-02-10 1991-04-16 International Business Machines Corp. Control mechanism for zero-origin data spaces
US4945480A (en) * 1988-02-10 1990-07-31 International Business Machines Corporation Data domain switching on program address space switching and return
US4979098A (en) * 1988-02-10 1990-12-18 International Business Machines Corporation Multiple address space token designation, protection controls, designation translation and lookaside
JPH0650480B2 (ja) * 1989-05-02 1994-06-29 株式会社日立製作所 多重仮想記憶システムおよびアドレス制御装置
US5117493A (en) * 1989-08-07 1992-05-26 Sun Microsystems, Inc. Pipelined register cache

Also Published As

Publication number Publication date
AU647745B2 (en) 1994-03-31
EP0410740B1 (de) 1996-11-20
EP0410740A2 (de) 1991-01-30
DE69029176D1 (de) 1997-01-02
US5923864A (en) 1999-07-13
JPH0357046A (ja) 1991-03-12
EP0410740A3 (en) 1992-01-02
AU5984690A (en) 1991-01-31
CA2021878A1 (en) 1991-01-26
JP2768503B2 (ja) 1998-06-25
CA2021878C (en) 1996-06-25

Similar Documents

Publication Publication Date Title
DE69721590T2 (de) Ein bereichsbasiertes seiten-table-walk-bit verwendendes verfahren sowie vorrichtung
DE3011552C2 (de)
DE2227882C2 (de) Virtuelle Speicheranordnung
DE60003273T2 (de) Verfahren und Vorrichtung zur Erzeugung einer Eingabeadresse
DE2807476C2 (de) Speichereinrichtung mit mehreren virtuellen Adreßräumen
DE4410060B4 (de) Übersetzungsvorrichtung zum Umsetzen einer virtuellen Speicheradresse in eine physikalische Speicheradresse
DE3785897T2 (de) Steuervorrichtung zum vorabruf von befehlen.
DE2459006C2 (de) Einrichtung zum Bilden einer absoluten Adresse in einer Datenverarbeitunsanlage
DE68923863T2 (de) Ein-/Ausgabecachespeicherung.
DE3586389T2 (de) Dynamisch zugeordnete lokale/globale speicheranordnung.
DE3151745C2 (de)
DE3886182T2 (de) Mehrcachedatenspeicheranordnung.
DE3805107A1 (de) Verfahren und vorrichtung zur steuerung virtueller adressraeume eines virtuellen speichers
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE3751540T2 (de) Verfahren und Vorrichtung zur Datenverarbeitung.
DE3338345C2 (de)
DE69029173T2 (de) Mikroprozessor
DE69029176T2 (de) Steuerungsanordnung und Verfahren zum Zugriff auf einen virtuellen Speicheradressraum
EP0600112A1 (de) Datenverarbeitungsanlage mit virtueller Speicheradressierung und schlüsselgesteuertem Speicherzugriff
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE19516937A1 (de) Hierarchisches Cachesystem für einen Computer
DE3502147C2 (de)
DE3885780T2 (de) Adressierung in einer Computer-Anordnung.
DE3587031T2 (de) Zugriffpruefungseinrichtung fuer digitale datenverarbeitungsanordnung, welche einen speicher mit seitenabruf hat.
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee