DE3633227A1 - Anordnung zur umwandlung einer virtuellen adresse in eine physikalische adresse fuer einen in seiten organisierten arbeitsspeicher einer datenverarbeitungsanlage - Google Patents

Anordnung zur umwandlung einer virtuellen adresse in eine physikalische adresse fuer einen in seiten organisierten arbeitsspeicher einer datenverarbeitungsanlage

Info

Publication number
DE3633227A1
DE3633227A1 DE19863633227 DE3633227A DE3633227A1 DE 3633227 A1 DE3633227 A1 DE 3633227A1 DE 19863633227 DE19863633227 DE 19863633227 DE 3633227 A DE3633227 A DE 3633227A DE 3633227 A1 DE3633227 A1 DE 3633227A1
Authority
DE
Germany
Prior art keywords
address
memory
atm
register
signal
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.)
Withdrawn
Application number
DE19863633227
Other languages
English (en)
Inventor
Alfons Wahr
Richard Dipl Ing Breintner
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE19863633227 priority Critical patent/DE3633227A1/de
Publication of DE3633227A1 publication Critical patent/DE3633227A1/de
Withdrawn 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)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

Die vorliegende Erfindung bezieht sich auf eine Anordnung zur Umwandlung virtueller Adressen in physikalische Adressen in einer Datenverarbeitungsanlage mittels eines Adressenübersetzungs-Speichers, wobei der Adressenübersetzungs- Speicher ein Segmenttabellen-Adreßregister, ein Register für die virtuellen Adressen, ein Arbeitsspeicher- Unterteilungsregister, das den Arbeitsspeicher in einen Anwender- und einen Systemteil unterteilt, einen diesem zugeordneten Komparator, ein Arbeitsspeicher- Adreßregister und eine Steuerlogik enthält und wobei ein Adressenübersetzungs-(ATM)-Speicher vorgesehen ist, der mittelbar über eine Komparatoreinheit mit der Steuerlogik verbunden ist.
Bekannte Anordnungen der eingangs genannten Art benutzen einen Adressenübersetzungs-Speicher ATM (Address Translation Memory) oder mehrere solche Speicher nebeneinander in teilassoziativem Betrieb, siehe Fig. 1 und Fig. 2.
Ein Problem dieser Schaltung besteht darin, daß die ATM′s sehr breite Wörter aufweisen. Da diese Speicher zudem meist sehr schnell sein müssen, können sie in der Praxis keine große Kapazität aufweisen.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, eine Anordnung zur Umwandlung virtueller Adressen in physikalische Adressen in einer Datenverarbeitungsanlage zu schaffen, deren Leistungsfähigkeit im Vergleich zu bekannten Anordnungen dieser Art erhöht ist und/oder bei der der Aufwand an Adressenübersetzungs-Speichern ATM im Vergleich zu bekannten Anordnungen verringert ist.
Die der Erfindung zugrundeliegende Aufgabe wird durch eine Anordnung der eingangs genannten Art und gemäß dem Oberbegriff des Patentanspruchs gelöst, die dadurch gekennzeichnet ist, daß zwischen dem Segmenttabellen- Adreßregister und dem ATM-Speicher eine Schaltungsanordnung - bestehend aus einem Assoziativspeicher mit zugehöriger Steuerung mit einem nachgeordneten Multiplexer - eingefügt ist, welcher Multiplexer zwei Signaleingänge, einen Signalausgang und einen Steuereingang aufweist, wobei dem Steuereingang von dem Komparator der dem Register für die virtuellen Adressen zugeordnet ist, ein Signal zuführbar ist, das eine Aussage darüber trifft, ob eine betrachtete Adresse eine Systemadresse oder eine Anwenderadresse ist, wobei in dem Fall, in dem die betrachtete Adresse eine Systemadresse ist, der zweite Signaleingang des Multiplexers, an dem ein fest vorgegebenes Signal liegt, zu dessen Signalausgang durchgeschaltet wird, daß der Signalausgang des Multiplexers in zwei Teile aufgeteilt ist, nämlich in einen ersten Teil mit einer ersten Gruppe von Bitleitungen und in einen zweiten Teil mit einer zweiten Gruppe von Bitleitungen, wobei der erste Teil dem Dateneingang des ATM-Speichers und einem ersten Komparator innerhalb der Komparatoreinheit und der zweite Teil zusammen mit einem Teil eines Ausgangs des Registers für die virtuelle Adresse dem Adreßeingang des ATM-Speichers zugeführt wird, und daß bei einem als neu erkannten Eintrag in das Segmenttabellen-Adreßregister der durch die assoziative Codierung zugehörige Speicherbereich im ATM-Speicher durch die Steuerlogik als undefiniert gekennzeichnet wird.
Im folgenden wird die Erfindung anhand mehrerer Figuren im einzelnen erläutert.
Fig. 1 zeigt eine logische ATM-Struktur mit einem ATM-Speicher gemäß einer bekannten Anordnung.
Fig. 2 zeigt eine logische ATM-Struktur mit zwei teilassoziativen ATM-Speichern gemäß einer weiteren bekannten Anordnung.
Fig. 3 zeigt eine erfindungsgemäße Anordnung für eine Assoziativspeicher-Anwendung zur Komprimierung der ATM-Speicher-Breite.
Fig. 4 zeigt eine erfindungsgemäße Blockstrukturierung des ATM.
Fig. 5 zeigt eine Gesamtdarstellung der gemäß der Erfindung vorgeschlagenen ATM-Struktur.
Fig. 6 zeigt eine Tabelle für verschiedene ATM-Speicheranordnungen.
Zwecks eindeutiger Zuordnung eines ATM-Eintrages zu einem virtuellen Adreßraum war bisher die STB (Segmenttafelbasis) im Eintrag enthalten. Diese soll nun beim Stand der Technik erfindungsgemäß ersetzt werden. Mit der STB wird nun ein Assoziativspeicher angesprochen. Aus diesem erhält man einen wesentlich kürzeren "Code", der nun im ATM-Wort anstelle von STB einzusetzen ist, vergl. Fig. 3.
Der ATM kann tiefer implementiert werden. Eine normale Erhöhung der ATM-Tiefe bringt jedoch ab einem Wert, der bei ca. . . ., 64, 128, 256, . . . liegt, keine Verbesserung mehr, weil der Löschaufwand den zusätzlichen Leistungsgewinn vermindert oder sogar übertrifft. Die ATM-Tiefe zu erhöhen, bringt Gewinn, wenn man ihn in ATM-Blöcke aufteilt und einen ATM-Block jeweils einem virtuellen Adreßraum, d. h. z. B. einer Assoziativspeicherzelle zuordnet, vergl. Fig. 4.
Diese Maßnahmen sind voneinander unabhängig. Sie können zusammen oder selektiv angewendet werden. Der Assoziativspeicher ist für beide wesentlich, und zwar zur Verringerung des STB-Eintrags (dieser kann sogar ganz entfallen, wenn die Anzahl der ATM-Blöcke genauso groß wie die Anzahl der Assoziativspeicherzellen gemacht wird) bzw. um die Benützung der ATM-Blöcke stochastisch gleichmäßiger zu verteilen (hier sind jedoch auch direkte Adressierungsmethoden, also ohne Assoziativspeicher, möglich).
Der Assoziativspeicher ist nicht zeitkritisch, wenn die virtuellen Adreßräume nicht ständig wechseln. Als "Code" kann z. B. die assoziativspeicherinterne physikalische Adresse der Assoziativspeicherzellen herangezogen werden, falls diese existiert.
Wird in einen neuen virtuellen Adreßraum übergewechselt, so ist der zugehörige STB-Wert im Assoziativspeicher noch nicht enthalten. Nach einem Auswahlmechanismus ist eine Assoziativspeicherzelle auszuwählen und mit dem aktuellen STB-Wert zu beschreiben. Zur Auswahl kann ein LRU-Mechanismus angewendet werden, der mehr als zwei Assoziativspeicherzellen verwalten kann, (LRU = Least Recently Used). Die Zellen des zugehörigen ATM-Blocks sind dazu auf "ungültig" zu setzen.
Die in den Figuren und deren Beschreibung verwendeten Bezugszeichen haben die folgenden Bedeutungen:
ATM Address Translation Memory CPU Central Processing Uhit STAR Segmenttabellen-Adreßregister, "Anker" für die Tabellen der virtuellen Adreßumsetzung STB Segmenttabellenbasis-Adresse VADR Virtuelles Adreßregister SXH Segmentindex, "High"-Teil SXL Segmentindex, "Low"-Teil PX Seitenindex (Page Index) LOC Seiten-lokaler Adreßteil FRAME physikalische Seitenanfangsadresse K Komparator LRU Least Recently Used, am längsten nicht mehr benutzt CX CODE-Index CXH CODE-Index, "High"-Teil CXL CODE-Index, "Low"-Teil Valid Kennzeichen für gültigen/ungültigen Eintrag SYP System Partion
Wie bereits erläutert, zeigt Fig. 1 eine logische ATM-Struktur mit einem ATM-Speicher gemäß einer bekannten Anordnung. Von einer CPU gelangt eine virtuelle Adresse in ein Register VADR. Mit SXL/PX wird ein ATM- Speicher adressiert.
Wenn ATM SXH = SXH, ATM STB = STB ist und die Bedingungen für den erforderlichen Speicherringschutz und den Speicherschlüsselschutz nicht verletzt sind, wird ein "Hit" gemeldet, und ATM FRAME verkettet mit LOC bildet die physikalische Adresse. Ansonsten erfolgt ein "Miss" (gültiger Eintrag, aber kein Treffer) oder eine Unterbrechung (Treffer, aber Bedingungen verletzt; Zustandsänderung nötig; Fehlermeldung).
Fig. 2 zeigt, wie bereits erläutert eine logische ATM- Struktur mit zwei teilassoziativen ATM-Speichern gemäß einer weiteren bekannten Anordnung. Diese ATM-Struktur ist analog zu Fig. 1 aufgebaut, jedoch mit dem Unterschied, daß hier zwei ATM-Speicher adressiert werden, deren Zugriffsresultate assoziativ einem "Hit"-Vergleich unterzogen werden. Bei Normalbenutzung kann nur ein ATM- Speicher einen "Hit" aufweisen. Dementsprechend ist ein Ausgangsmultiplexer anzusteuern, damit "FRAME" zur Bildung der physikalischen Adresse richtig weitergereicht wird.
Das Eintragen eines neuen ATM-Speicherwertes erfolgt nach dem bereits erläuterten LRU-Mechanismus.
Fig. 3 zeigt, wie bereits erläutert, eine erfindungsgemäße Anordnung für eine Assoziativspeicheranwendung zur Komprimierung der ATM-Speicher-Breite. Der Wert von STB im STAR wird durch einen Assoziativspeicher reduziert auf einen ca. 3-, 4-, 5-Bit breiten "Code". Dieser kann z. B. gewonnen werden
  • - aus der physikalischen Adresse des Assoziativspeichers
  • - aus einem Zellenwert des Assoziativspeichers
  • - aus STAR, durch die Firmware generiert anstelle von STB im STAR abgelegt, oder ähnlich übergeben.
Fig. 4 zeigt, wie bereits erläutert, eine erfindungsgemäße Blockstrukturierung des ATM. Die ATM-Block-Adresse kann z. B. aus den niederwertigsten Bits von STB gebildet werden oder aus einem Assoziativspeicher geliefert sein. Die Quelle dieser Information ist nicht wesentlich für den Erfindungsgedanken. Erfindungswesentlich ist vielmehr, daß der ATM-Speicher in Blöcke aufgeteilt ist. Dadurch wird die Effektivität und Effizienz der ATM-Einheit gesteigert.
Fig. 5 zeigt, wie bereits erläutert, eine Gesamtdarstellung der gemäß der Erfindung vorgeschlagenen ATM- Struktur. In dieser Struktur besteht die ATM-Adresse aus zwei Teilen, nämlich
  • - der blocklokalen Adresse, die ihrerseits aus SXL und PX besteht (beide aus VADR)
  • - der Blockadresse, die hier aus CXH besteht.
Die ATM-Zellen beinhalten außer dem "FRAME"-Teil und dem Bedienungsteil noch ATM-SXH und ATM-CXH. Bei jedem Zugriff auf den ATM-Speicher muß durch Vergleich von ATM-SXH der aktuellen virtuellen Adresse in VADR und entsprechend durch Vergleich von ATM-CXH mit CXH verifiziert werden, ob der ATM-Wert mit der virtuellen Adresse in VADR in Relation steht.
Auf den Assoziativspeicher wird mit STB zugegriffen. Jede Zelle enthält CXH und CXL (die aber auch von der physikalischen Assoziativspeicheradresse ableitbar sind) sowie einen LRU-Wert und ein Valid-Bild.
Fig. 6 zeigt schließlich, wie bereits erläutert, eine Tabelle für verschiedene ATM-Speicheranordnungen, wie sie erfindungsgemäß auszuführen sind.

Claims (2)

1. Anordnung zur Umwandlung virtueller Adressen in physikalische Adressen in einer Datenverarbeitungs- Anlage mittels eines Adressenübersetzungs-Speichers, wobei der Adressenübersetzungs-Speicher
  • - ein Segmenttabellen-Adreßregister,
  • - ein Register für die virtuellen Adressen,
  • - ein Arbeitsspeicher-Unterteilungsregister, das den Arbeitsspeicher in einen Anwender- und einen Systemteil unterteilt,
  • - einen diesem zugeordneten Komparator,
  • - ein Arbeitsspeicher-Adreßregister und
  • - eine Steuerlogik
enthält, und wobei ein ATM-Speicher vorgesehen ist, der mittelbar über eine Komparatoreinheit mit der Steuerlogik verbunden ist, dadurch gekennzeichnet,
daß zwischen das Segmenttabellen-Adreßregister (STAR) und dem ATM-Speicher (ATM-MEM) eine Schaltungsanordnung - bestehend aus einem Assoziativspeicher (ASS) mit zugehöriger Steuerung (ASS-ST) mit einem nachgeordneten Multiplexer (MUX) - eingefügt ist, welcher Multiplexer (MUX) zwei Signaleingänge, einen Signalausgang und einen Signaleingang aufweist, wobei dem Steuereingang von dem Komparator (K), der dem Register für die virtuellen Adressen (VADR) zugeordnet ist, ein Signal (VADR SYP) zuführbar ist, das eine Aussage darüber trifft, ob eine betrachtete Adresse eine Systemadresse oder eine Anwenderadresse ist, wobei in dem Fall, in dem die betrachtete Adresse eine Systemadresse ist, der zweite Signaleingang des Multiplexers (MUX), an dem ein fest vorgegebenes Signal liegt, zu dessen Signalausgang durchgeschaltet wird,
daß der Signalausgang des Multiplexers (MUX) in zwei Teile aufgeteilt ist, nämlich in einen ersten Teil mit einer ersten Gruppe von Bitleitungen (CXH) und in einen zweiten Teil mit einer zweiten Gruppe von Bitleitungen (CXL), wobei der erste Teil dem Dateneingang des ATM-Speichers (ATM-MEM) und einem ersten Komparator (K 1 innerhalb der Komparatoreinheit (KE) und der zweite Teil (CXL) zusammen mit einem Teil eines Ausgangs des Registers für die virtuelle Adresse (VADR) dem Adreßeingang des ATM- Speichers (ATM-MEM) zugeführt wird,
und daß bei einem als neu erkannten Eintrag in das Segmenttabellen-Adreßregister (STAR) der durch die assoziative Codierung zugehörige Speicherbereich in der Steuerlogik (STL) als undefiniert gekennzeichnet wird.
DE19863633227 1986-09-30 1986-09-30 Anordnung zur umwandlung einer virtuellen adresse in eine physikalische adresse fuer einen in seiten organisierten arbeitsspeicher einer datenverarbeitungsanlage Withdrawn DE3633227A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19863633227 DE3633227A1 (de) 1986-09-30 1986-09-30 Anordnung zur umwandlung einer virtuellen adresse in eine physikalische adresse fuer einen in seiten organisierten arbeitsspeicher einer datenverarbeitungsanlage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19863633227 DE3633227A1 (de) 1986-09-30 1986-09-30 Anordnung zur umwandlung einer virtuellen adresse in eine physikalische adresse fuer einen in seiten organisierten arbeitsspeicher einer datenverarbeitungsanlage

Publications (1)

Publication Number Publication Date
DE3633227A1 true DE3633227A1 (de) 1988-04-21

Family

ID=6310694

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19863633227 Withdrawn DE3633227A1 (de) 1986-09-30 1986-09-30 Anordnung zur umwandlung einer virtuellen adresse in eine physikalische adresse fuer einen in seiten organisierten arbeitsspeicher einer datenverarbeitungsanlage

Country Status (1)

Country Link
DE (1) DE3633227A1 (de)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0347040A1 (de) * 1988-06-14 1989-12-20 International Computers Limited Datenspeicheranordnung
DE3932695A1 (de) * 1988-09-30 1990-04-05 Hitachi Ltd Datenverarbeitungssystem vom mehrfach virtuellen adressraum-typ
EP0528584A1 (de) * 1991-08-12 1993-02-24 International Business Machines Corporation Adressenübersetzungspufferspeicher für ein virtuelles Datenspeichersystem
EP0634721A1 (de) * 1993-07-16 1995-01-18 Siemens Nixdorf Informationssysteme Aktiengesellschaft Verfahren und Schaltungsanordnung zur Übersetzung von virtuellen Adressen in Datenverarbeitungsanlagen
WO2003102784A2 (en) * 2002-05-29 2003-12-11 Sun Microsystems, Inc. Method and system for compression of address tags in memory structures

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0347040A1 (de) * 1988-06-14 1989-12-20 International Computers Limited Datenspeicheranordnung
DE3932695A1 (de) * 1988-09-30 1990-04-05 Hitachi Ltd Datenverarbeitungssystem vom mehrfach virtuellen adressraum-typ
US5226132A (en) * 1988-09-30 1993-07-06 Hitachi, Ltd. Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system
EP0528584A1 (de) * 1991-08-12 1993-02-24 International Business Machines Corporation Adressenübersetzungspufferspeicher für ein virtuelles Datenspeichersystem
EP0634721A1 (de) * 1993-07-16 1995-01-18 Siemens Nixdorf Informationssysteme Aktiengesellschaft Verfahren und Schaltungsanordnung zur Übersetzung von virtuellen Adressen in Datenverarbeitungsanlagen
WO2003102784A2 (en) * 2002-05-29 2003-12-11 Sun Microsystems, Inc. Method and system for compression of address tags in memory structures
WO2003102784A3 (en) * 2002-05-29 2004-03-18 Sun Microsystems Inc Method and system for compression of address tags in memory structures

Similar Documents

Publication Publication Date Title
DE3011552C2 (de)
EP0230437B1 (de) Verfahren zum komprimieren und dekomprimieren mehrerer strukturverwandter datenfolgen sowie einrichtungen zur durchführung des verfahrens
DE3587137T2 (de) Inhaltsadressierbarer speicher.
DE2515696C2 (de) Datenverarbeitungssystem
DE2260353C2 (de) Schaltungsanordnung für die Adressenumsetzung in einer Datenverarbeitungsanlage
DE2302074A1 (de) Speicherschutzanordnung in einem multiprozessorsystem
DE2227882A1 (de) Virtuelle Speicheranordnung
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE2154106A1 (de) Arbeitsspeicherwerk
DE2749850A1 (de) Hybrider halbleiterspeicher mit assoziativer seitenadressierung, seitenaustausch und steuerung auf dem chip
DE2523414A1 (de) Hierarchische speicheranordnung
DE2939411C2 (de) Datenverarbeitungsanlage mit virtueller Speicheradressierung
DE2637054A1 (de) Steuervorrichtung fuer einen pufferspeicher
DE2703559C2 (de)
DE2310631A1 (de) Speicherhierarchie fuer ein datenverarbeitungssystem
DE2725396A1 (de) Pufferspeicher
DE2900586A1 (de) Anordnung zum decodieren von codewoertern variabler laenge
DE3633227A1 (de) Anordnung zur umwandlung einer virtuellen adresse in eine physikalische adresse fuer einen in seiten organisierten arbeitsspeicher einer datenverarbeitungsanlage
DE1574502A1 (de) Assoziativspeicher
DE10105627B4 (de) Mehrfachanschlussspeichereinrichtung, Verfahren und System zum Betrieb einer Mehrfachanschlussspeichereinrichtung
DE3105503A1 (de) Assoziativer zugriffsspeicher
DE3216238C1 (de) Datenverarbeitungsanlage mit virtueller Teiladressierung des Pufferspeichers
EP0176939B1 (de) Datenverarbeitungsanlagen mit virtueller Speicheradressierung für eine Vielzahl von Benutzern
DE1808159A1 (de) Einrichtung zur Umwandlung von Dualzahlen in binaer codierte Dezimalzahlen in paralleler Darstellung
EP0217232B1 (de) Schaltungsanordnung zur Generierung von Splitting-Adressen

Legal Events

Date Code Title Description
8130 Withdrawal
8165 Unexamined publication of following application revoked