DE4305860A1 - Memory management unit for computer system - has virtual addresses converted into physical addresses using comparison process and content addressable memory - Google Patents

Memory management unit for computer system - has virtual addresses converted into physical addresses using comparison process and content addressable memory

Info

Publication number
DE4305860A1
DE4305860A1 DE4305860A DE4305860A DE4305860A1 DE 4305860 A1 DE4305860 A1 DE 4305860A1 DE 4305860 A DE4305860 A DE 4305860A DE 4305860 A DE4305860 A DE 4305860A DE 4305860 A1 DE4305860 A1 DE 4305860A1
Authority
DE
Germany
Prior art keywords
memory
ram
cam
management unit
computer system
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.)
Ceased
Application number
DE4305860A
Other languages
German (de)
Inventor
Dong-Bum Koh
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.)
SK Hynix Inc
Original Assignee
Hyundai Electronics Industries Co 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 Hyundai Electronics Industries Co Ltd filed Critical Hyundai Electronics Industries Co Ltd
Publication of DE4305860A1 publication Critical patent/DE4305860A1/en
Ceased 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/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • 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
    • 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

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The memory management unit converts virtual addresses into physical address values for addressing a main memory. The memory has page tables that are subdivided into tables with multiple stages arranged on different levels. The virtual address values are divided into blocks to address the sections. The system has a context member part for comparison with the actual operation context, a section that contains the virtual address and a page table pointer. The values are stored in a contents addressable memory. A tag contains the virtual address. USE/ADVANTAGE - Reduces overhead in memory management, when page table accessed not in main memory.

Description

Die Erfindung betrifft eine Speicherverwaltungseinheit bzw. MMU zur Verwendung in einem Computersystem, die die virtuelle Adresse, die von einem Prozessor erzeugt wird, in die für den Zugriff des Hauptspeichers erforderliche physische Adresse umsetzt, und betrifft insbesondere eine MMU zur Verwendung in einem Computersystem, die die Arbeit des Ungültigmachens bei jeder Kontextänderung beseitigen kann, da ein Kennzeichen­ feld, das einen virtuellen Adreßteil und eine Kontextnum­ mer CXN enthält, in dem Vergleichsteil eines Seitentabellen­ zeigerpuffers PTPC enthalten ist, während ein Mißerfolg bzw. Fehlversuch (miss) bei einem Adreßumsetzpuffer bzw. TLB stattfindet. The invention relates to a memory management unit or MMU for use in a computer system that uses the virtual Address generated by a processor to which the Main memory access required physical address implements, and in particular relates to an MMU for use in a computer system that does the work of invalidating can eliminate any context change as a hallmark field that contains a virtual address part and a context number mer contains CXN, in the comparison part of a page table pointer buffer PTPC is included while a failure or Failed attempt with an address translation buffer or TLB takes place.  

Wie allgemein bekannt ist, ist zur Adreßumsetzung eine Sei­ tentabelle in einem virtuellen Speichersystem, die die Art der Seite, die in dem realen Speicherbereich angeordnet ist, und die Beziehung zwischen einer virtuellen Adresse und einer realen Speicheradresse bezeichnet, im Hauptspeicher gespei­ chert, und ein Adreßumsetzpuffer TLB ist im allgemeinen in einer Speicherverwaltungseinheit enthalten, um den Overhead oder zusätzlichen Arbeits- bzw. Platzbedarf zu verringern, wenn ein Zugriff auf die obige Seitentabelle erfolgt. Nachdem die Seitentabelle unterteilt worden ist, um den im Haupt­ speicher enthaltenen Seitentabellenbereich zu verringern, wird bei einem TLB-Mißerfolg ein Tabellenzugriff des Haupt­ speichers mehrfach durchgeführt, wobei TLB ein spezieller Arbeitsspeicher ist, der dazu dient zu bestimmen, ob das gegebene Segment und die gegebene Seite in dem Hauptspeicher abgelegt sind.As is well known, address translation is a be table in a virtual storage system, which is Art the page that is located in the real memory area and the relationship between a virtual address and one designated real memory address, stored in main memory chert, and an address translation buffer TLB is generally in a memory management unit included to the overhead or reduce additional work or space requirements, when the above page table is accessed. After this the page table has been divided around the main one to reduce memory contained page table area in the event of a TLB failure, the main table access memory performed several times, with TLB being a special one RAM is used to determine whether that given segment and page in main memory are filed.

Bei einem konventionellen Verfahren zur Verringerung des Overheads während eines TLB-Mißerfolgs sind mehrere Register mit der Funktion vorgesehen, die auf die Adreßumsetzung bezo­ gene Information zu speichern. Wenn jedoch eine Kontextände­ rung oder -umschaltung erfolgt, werden alle Einträge ungültig gemacht. Daher besteht das Problem, daß in einem Realzeitsy­ stem mit eingebettetem Steuerteil eine Kontextänderung häufig auftritt, so daß sämtliche Einträge häufig ungültig gemacht werden.In a conventional method for reducing the Overheads during a TLB failure are multiple registers provided with the function related to address translation to store gene information. However, if a context changes If all entries are switched or switched, all entries become invalid made. Therefore, there is a problem that in a real time system stem with embedded control part a context change frequently occurs, so that all entries are often invalidated will.

Es ist somit Aufgabe der Erfindung, zur Verringerung des Overheads, wenn ein TLB-Mißerfolg stattfindet, und zur Besei­ tigung des Nachteils eines Ungültigmachens sämtlicher Ein­ träge bei einer Kontextänderung beizutragen.It is therefore an object of the invention to reduce the Overheads when a TLB failure occurs and to the Besei compensation for the annulment of all invalidations contribute sluggishly to a context change.

Zu diesem Zweck ist gemäß der Erfindung das Kennzeichen- bzw. TAG-Feld, das einen Teil der virtuellen Adresse und der Kon­ textnummer CXN enthält, im Vergleichsteil vorgesehen. Da gemäß der Erfindung der Vergleichsteil von TAG und CXN aus einem inhaltsadressierbaren Speicher CAM bzw. der Vergleichs­ teil des Seitentabellenzeigers PTP aus einem RAM bestehen, kann die Zahl der Einträge leicht erweitert werden, so daß eine Reihe von Einträgen gleichzeitig vorhanden sein kann.For this purpose, according to the invention, the identification or TAG field, which is part of the virtual address and the Kon contains text number CXN, provided in the comparison part. There according to the invention the comparison part of TAG and CXN a content-addressable memory CAM or the comparison  part of the page table pointer PTP consist of a RAM, the number of entries can be easily expanded so that a number of entries can exist at the same time.

Da der durch den Tabellenzugriff für jeweils vier neue Schritte erhaltene PTP-Wert den letzten PTP-Wert, der durch Tabellenzugriff für vier vorhergehende Schritte erhalten wurde, nicht überschreibt, bleiben die Daten der vorhergehen­ den Schritte erhalten. Wenn der PTP-Wert im gleichen Kontext benötigt wird, wird der durch einen vorhergehenden Tabellen­ zugriff erhaltene PTP-Wert direkt genutzt.Because of the table access for every four new ones PTP value received the last PTP value by steps Get table access for four previous steps was not overwritten, the data from the previous one remains get the steps. If the PTP value in the same context is required, which is indicated by a previous table access PTP value received used directly.

Zur Lösung der angegebenen Aufgabe beseitigt die Erfindung die Notwendigkeit des Ungültigmachens von Einträgen bei jeder Kontextänderung und erweitert die Zahl von Einträgen in ein­ facher Weise durch das Vorsehen des TAG-Teils und des CXN- Teils in dem Vergleichsteil und durch das Vorsehen des Ver­ gleichsteils von TAG und CXN als inhaltsadressierbaren Spei­ cher CAM und des PTP-Teils als RAM.To achieve the stated object, the invention eliminates the need to invalidate entries for everyone Context change and expand the number of entries in one by providing the TAG part and the CXN Part in the comparison part and by the provision of ver equally by TAG and CXN as content-addressable memory cher CAM and the PTP part as RAM.

Die Erfindung wird nachstehend, auch hinsichtlich weiterer Merkmale und Vorteile, anhand der Beschreibung von Ausfüh­ rungsbeispielen und unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. Die Zeichnungen zeigen in:The invention is set out below, also with respect to others Features and advantages, based on the description of exec examples and with reference to the enclosed Drawings explained in more detail. The drawings show in:

Fig. 1 ein Blockschema des Tabellenzugriffsmechanismus eines konventionellen Seitentabellen-Zeigerpuf­ fers (PTPC); Fig. 1 is a block diagram of the table access mechanism of a conventional page table Zeigerpuf fers (PTPC);

Fig. 2 ein Blockschema des Tabellenzugriffsmechanismus mit vier allgemeinen Schritten; Fig. 2 is a block diagram of the table access mechanism with four general steps;

Fig. 3 ein Blockschema des erweiterten Zusatzpuffers mit einem externen Rootzeiger- bzw. RP-Register gemäß der Erfindung; Fig. 3 is a block diagram of the extended supplemental buffer with an external Rootzeiger- or RP-register according to the invention;

Fig. 4 ein detailliertes Blockschema des in Fig. 3 gezeig­ ten inhaltsadressierbaren Speichers CAM; Fig. 4 is a detailed block diagram of the content addressable memory CAM shown in Fig. 3;

Fig. 5 ein detailliertes Blockschema des in Fig. 3 gezeig­ ten RAM; und Fig. 5 is a detailed block diagram of the RAM shown in Fig. 3; and

Fig. 6 ein detailliertes Blockschema des CAM- und RAM-Ein­ gaberegisters von Fig. 3. FIG. 6 is a detailed block diagram of the CAM and RAM input register of FIG. 3.

Die Fig. 1 bis 6 sind Blockdiagramme, die eine durch die Erfindung verbesserte Speicherverwaltungseinheit zeigen. Figs. 1 to 6 are block diagrams showing improved by the invention, memory management unit.

Ein Tabellenzugriffsmechanismus mit vier Schritten gemäß Fig. 1 ist in SPARC ARCHITECTURE, CYPRESS SEMICONDUCTOR, ROSS TECHNOLOGY SUBSIDIARY, SPARC RISE USER′S GUIDE, SECOND EDITION, Februar 1990, S. 4-8 und S. 4-11 beschrieben. Dabei wird der Overhead des Tabellenzugriffs, der bei einem TLB- Mißerfolg auftritt, reduziert durch die Verwendung eines Index-Kennzeichenregisters (ITAG), das einen mit der virtuel­ len Adresse zu vergleichenden Wert hat, und des IPTP- und DPTP-Registers mit dem letzten Seitentabellenzeiger, der bei dem Vergleichsergebnis verwendet wird. TAG bestimmt, ob der in dem IPTP und DPTP gespeicherte Wert während eines aktuel­ len Betriebszugriffs verwendet wird, und speichert einen Teil der virtuellen Adresse, wenn der IPTP und DPTP gespeichert werden. Es ist zu beachten, daß das vorstehende Verfahren bei dem Tabellenzugriffsmechanismus, der aus mehreren Schritten besteht, sowie einem Tabellenzugriffsmechanismus mit vier Schritten angewandt wird.A table access mechanism with four steps shown in FIG. 1 is described in SPARC ARCHITECTURE, CYPRESS SEMICONDUCTOR, ROSS TECHNOLOGY SUBSIDIARY, SPARC RISE USER'S GUIDE, SECOND EDITION February 1990, pp 4-8 and pp 4-11. The overhead of table access, which occurs in the event of a TLB failure, is reduced by using an index identifier register (ITAG), which has a value to be compared with the virtual address, and the IPTP and DPTP register with the last one Page table pointer used in the comparison result. TAG determines whether the value stored in the IPTP and DPTP is used during a current operational access and stores part of the virtual address when the IPTP and DPTP are saved. Note that the above method is applied to the multi-step table access mechanism and the four-step table access mechanism.

Im Fall der Verwendung des Tabellenzugriffsmechanismus, der mehrere Schritte umfaßt, werden bei einer Änderung des Kon­ texts alle drei Einträge des PTPC, die IPTP, DPTP und RP sind, ungültig gemacht, wobei RP den Rootzeiger bezeichnet. Eine häufige Kontextänderung ist daher nicht günstig. Da außerdem von jedem Eintrag nur ein Wert existiert, müssen IPTP und DPTP durch einen neuen Wert ersetzt werden, wenn mit vier Schritten Zugriff auf die Tabelle erfolgt. Der Nachteil ist daher, daß der Tabellenzugriff des Hauptspeichers erneut verarbeitet wird, wenn der nichtersetzte vorhergehende Wert erneut verwendet wird. Aus diesem Grund werden bei einer Kon­ textänderung sämtliche Einträge ungültig gemacht. Im Fall eines Realzeitsystems oder eines eingebetteten Steuerungssy­ stems werden sämtliche Einträge häufig ungültig gemacht, da der Kontext häufig geändert wird.In the case of using the table access mechanism, the comprises several steps, if the Kon texts all three entries of the PTPC, the IPTP, DPTP and RP are invalidated, where RP denotes the root pointer. A frequent change of context is therefore not favorable. There in addition, only one value exists for each entry IPTP and DPTP are replaced by a new value if with  four steps to access the table. The disadvantage is therefore that the table access of the main memory again processed if the non-substituted previous value is used again. For this reason, a con Text change made all entries invalid. In the case a real-time system or an embedded control system stems, all entries are often invalidated because the context changes frequently.

Fig. 2 ist ein Blockschema, das einen Tabellezugriffsmecha­ nismus mit vier allgemeinen Schritten zeigt. In Fig. 2 ist, um die Größe der Seitentabelle bei der Umsetzung der Adresse zu verringern, die Seitentabelle in Tabellen mit mehreren Schritten unterteilt, und es werden mehrere Tabellenzugriffe verarbeitet. Es spielt zwar keine Rolle, in wie vielen Schritten der Tabellenzugriff verarbeitet wird, aber bei der vorliegenden Erfindung wird der Tabellenzugriff mit vier Schritten beschrieben. Während eines Tabellenzugriffs mit vier Schritten wird eine virtuelle Adresse in vier Teile unterteilt, und der Tabellenzugriff zur Übertragung des Sei­ tentabelleneintrags PTE, der die physische Seitenzahl PPN enthält, ist ebenfalls in vier Teile unterteilt, wobei Kon­ texttabelle für die Tabelle steht, auf die zuerst zugegriffen wird, und RP für den Wert der Zeigeradresse steht, die in der obigen Kontexttabelle gespeichert ist. Dieses obige RP dient als Adreßzugriffs-Seitentabelle für den nächsten Schritt. Es ist daher erforderlich, daß vier Speicherzugriffe verarbeitet werden, um gemäß den obigen Vorgängen einen PTE, der eine PPN enthält, zu übertragen. Fig. 2 is a block diagram showing a table access mechanism with four general steps. In FIG. 2, in order to reduce the size of the page table when converting the address, the page table is divided into tables with several steps, and several table accesses are processed. It does not matter how many steps the table access is processed, but in the present invention the table access is described as four steps. During a four-step table access, a virtual address is divided into four parts, and the table access for transferring the page table entry PTE, which contains the physical page number PPN, is also divided into four parts, whereby context table stands for the table on which first is accessed, and RP stands for the value of the pointer address stored in the context table above. This RP above serves as the address access page table for the next step. It is therefore necessary that four memory accesses be processed to transmit a PTE containing a PPN according to the above operations.

Wenn Zugriff auf eine Tabelle durch einen TLB-Mißerfolg erfolgt, wird der PTPC der Ebene 2 in einem externen Register gespeichert, um den Overhead durch den Speicherzugriff zu verringern. Wenn der obige gespeicherte Wert während des nächsten TLB-Mißerfolgs verwendet wird, wird nur ein Spei­ cherzugriff benötigt. Daher findet ein sehr effizienter Betrieb statt. In diesem Moment werden zur Bestimmung, ob der PTP-Wert der Ebene 2 beim nächsten Zugriff verwendet wird, der INDEX-1- und INDEX-2-Teil der virtuellen Adresse in dem TAG-Feld gespeichert und dann mit dem TAG-Feld innerhalb des gleichen Kontexts verglichen, um den PTP der Ebene 2 während eines TLB-Mißerfolgs zu verwenden. Wenn aus dem Vergleich zwischen dem TAG-Feld und dem INDEX-1- und INDEX-2-Teil der virtuellen Adresse ein Erfolg oder Treffer resultiert, bezeichnet der obige Zugriff einen Tabellenzugriff mit vier Schritten, weil die Gültigkeit des PTP bedeutet, daß die Fallverarbeitung durch den Tabellenzugriff mit vier Schritten im gleichen Kontext existiert.If access to a table due to a TLB failure the PTPC of level 2 is stored in an external register saved to the overhead by memory access too reduce. If the above stored value during the next TLB failure will only be used Access needed. Therefore, find a very efficient one Operation instead. At that moment, to determine whether the  Level 2 PTP value is used the next time the INDEX-1 and INDEX-2 part of the virtual address in the TAG field saved and then with the TAG field within the same context compared to the level 2 PTP during to use a TLB failure. If from the comparison between the TAG field and the INDEX-1 and INDEX-2 part of the virtual address a success or hit results the above access denotes a table access with four Steps because the validity of the PTP means that the Case processing through table access with four steps exists in the same context.

Fig. 3 ist ein Blockschema eines erweiterten Zusatzpuffers mit einem externen RP-Register gemäß der Erfindung. Wenn gemäß Fig. 3 in dem Realzeit- und eingebetteten Steuerungssy­ stem eine häufige Kontextänderung erfolgt, werden das TAG- Feld und der CXN-Teil dem Vergleichsteil hinzugefügt, um den Nachteil des Ungültigmachens des gewählten PTP auszuschlie­ ßen. Zum Hinzufügen des TAG-Felds und des CXN-Teils zu dem Vergleichsteil bestehen der TAG- und der CXN-Teil aus dem inhaltsadressierbaren Speicher bzw. CAM 2, und der PTP der Ebene 2 besteht aus dem RAM 3. Daher wird der Teil RAM 3 durch Übereinstimmung des CAM 2 gelesen. Bei der obigen Kon­ struktion kann der RP in dem Teil RAM 3 nicht eingerichtet werden. Es ist zwar möglich, den RP in dem Teil RAM 3 einzu­ richten, das unterbleibt aber wegen der komplizierten Steue­ rung durch periphere Schaltkreise. Figure 3 is a block diagram of an extended auxiliary buffer with an external RP register according to the invention. If according to FIG. 3 stem in the real-time and embedded Steuerungssy a common context change occurs, are added to the TAG field and the CXN part the comparison part to the disadvantage of the invalidation of the selected PTP shall exclude. To add the TAG field and the CXN part to the comparison part, the TAG and the CXN part consist of the content addressable memory or CAM 2 , and the level 2 PTP consists of the RAM 3 . Therefore, the RAM 3 part is read by matching the CAM 2 . In the above construction, the RP cannot be set up in the RAM 3 part. Although it is possible to set up the RP in the RAM 3 part, this is omitted because of the complicated control by peripheral circuits.

Der CAM 2 ist eine Speichereinrichtung, die sehr schnell nur Daten mit den gegebenen Charakteristiken innerhalb mehrerer gespeicherter Daten sucht. Zur Annäherung an die in der Spei­ chereinrichtung gespeicherte Information findet der CAM 2 den Ort der gewünschten Information durch Nutzung eines Teils der gespeicherten Information anstelle der Verwendung der Adresse. Danach kann der CAM 2 auf die übrige Information von dieser Stelle aus zugreifen. Wenn ferner der Kontext nicht umgesetzt wird, ist es besser, wenn das zusätzliche Rootzei­ gerregister RPR extern vorgesehen ist, weil der RP immer in effizienter Weise zu einer guten Leistung führt. Daher kann durch die Wahl der vorstehenden Struktur die PTP-Zahl leicht erweitert werden, und ein Verlust aufgrund der Verwendung nur eines Eintrags wird verhindert.The CAM 2 is a storage device which very quickly only searches for data with the given characteristics within a number of stored data. In order to approximate the information stored in the storage device, the CAM 2 finds the location of the desired information by using part of the stored information instead of using the address. The CAM 2 can then access the remaining information from this point. Furthermore, if the context is not implemented, it is better if the additional root pointer register RPR is provided externally because the RP always performs well in an efficient manner. Therefore, by choosing the above structure, the PTP number can be easily expanded and loss due to the use of only one entry is prevented.

Im Fall der Verwendung eines Eintrags wird der PTP durch einen Tabellenzugriff mit vier neuen Schritten ersetzt. Wenn die aktuelle Operation den PTP-Wert vor dem Ersetzen verwen­ det, wird der Tabellenzugriff mit vier Schritten erneut durchgeführt. Wenn in diesem Fall der Wert eines Inhaltsta­ bellenzeiger-Registers (CTPR) geändert wird, werden sämtliche Einträge einschließlich des RPR ungültig. Da jedoch der obige CTPR-Wert nicht oft geändert wird, spielt es keine Rolle, daß der CTPR-Wert nicht im Vergleichsteil enthalten ist. Wenn ferner eine TLB-Flush-Operation implementiert wird, ist das Ungültigmachen des RPR nicht erforderlich, und der PTP in dem entsprechenden Kontext wird ungültig gemacht. In diesem Fall werden einige der peripheren Schaltkreise benötigt.In the case of using an entry, the PTP is through replaced a table access with four new steps. If the current operation uses the PTP value before replacing table access is repeated with four steps carried out. In this case, if the value of a content sta cell pointer register (CTPR) is changed, all Entries including the RPR invalid. However, since the above CTPR value is not changed often, it does not matter that the CTPR value is not included in the comparison part. If furthermore, a TLB flush operation is implemented It is not necessary to invalidate the RPR and the PTP in the corresponding context is invalidated. In this case some of the peripheral circuits are needed.

Hier gibt es den Decodierer bzw. DEC, um die Ersetzungsstra­ tegie zu realisieren, wenn neue Einträge gespeichert werden. Das RP-gültig- und das PTP-gültig-Signal sind Steuersignale, um zum Steuerteil zu gehen. Wenn das PTP-gültig-Signal wäh­ rend eines TLB-Mißerfolgs auftritt, erfolgt Zugriff auf die Seitentabelle unter Verwendung des PTP der Ebene 2 im RAM- Eingaberegister 5. Wenn ferner das PTP-gültig-Signal nicht auftritt, erfolgt ein Zugriff zu der Seitentabelle unter Ver­ wendung des RP durch Prüfung des RP-gültig-Werts.Here there is the decoder or DEC to implement the replacement strategy when new entries are saved. The RP valid and PTP valid signals are control signals to go to the control section. If the PTP valid signal occurs during a TLB failure, the page table is accessed using the level 2 PTP in RAM input register 5 . Furthermore, if the PTP valid signal does not occur, the page table is accessed using the RP by checking the RP valid value.

Fig. 4 ist ein detailliertes Blockschema einer Zelle, die aus dem CAM 2 besteht, der in Fig. 3 gezeigt ist; Fig. 5 ist ein detailliertes Blockschema einer Zelle, die aus dem RAM 3 besteht; und Fig. 6 ist ein detailliertes Blockschema für eine Bitzelle des CAM-Eingaberegisters 4 und des RAM-Eingabe­ registers 5. Fig. 4 is a detailed block diagram of a cell consisting of the CAM 2 shown in Fig. 3; Fig. 5 is a detailed block diagram of a cell consisting of RAM 3 ; and FIG. 6 is a detailed block diagram for a bit cell of the CAM input register 4 and the RAM input register 5 .

Gemäß Fig. 4 ist ein Signal WTAG ein Steuersignal, das im Steuerteil erzeugt wird, wenn der Wert des CAM-Eingaberegi­ sters 4 in den CAM 2 eingeschrieben wird. Gemäß Fig. 5 ist das Signal WPTP 2 ein Steuersignal, das im Steuerteil erzeugt wird, wenn der Teil PTP 2 des RAM-Eingaberegisters 5 von Fig. 3 in den RAM 3 eingeschrieben wird; das Signal WV ist ein Steuersignal, wenn das Gültig-Bit bzw. V-Bit des RAM- Eingaberegisters 5 in den RAM 3 eingeschrieben wird.According to FIG. 4 is a signal WTAG is a control signal which is generated in the control part when the value CAM Eingaberegi sters is written in the CAM 2 4. Referring to FIG. 5, the signal WPTP 2, a control signal which is generated in the control part when the part 2 of the PTP RAM input register 5 of Figure is written into the RAM 3. 3; the signal WV is a control signal when the valid bit or V bit of the RAM input register 5 is written into the RAM 3 .

Wie Fig. 5 zeigt, ist der Teil innerhalb der gestrichelten Linie, der nur im Bitteil verwendet wird, ein zusätzlicher Teil, um alle Einträge gleichzeitig ungültig zu machen.As shown in Fig. 5, the part within the broken line that is used only in the bit part is an additional part to invalidate all entries at the same time.

Unter Bezugnahme auf Fig. 6 wird ein einzelnes Bit des CAM- (RAM-)Eingaberegisters, das die Schreib/Lesefähigkeit des CAM (RAM) unterstützt, beschrieben. Für die genannte Funktion besteht es aus zwei CMOS-Durchgangstransistoren M33, M34 und zwei NICHT-Gliedern INV31, INV32 und enthält eine Rückkopp­ lungsstrecke.Referring to Figure 6, a single bit of the CAM (RAM) input register that supports the CAM (RAM) read / write capability will be described. For the above function, it consists of two CMOS pass transistors M33, M34 and two NOT gates INV31, INV32 and contains a feedback path.

Nachstehend wird der Vorgang des Auslesens oder Einschreibens von Information aus dem CAM (RAM)-Eingaberegister in den CAM (RAM) im einzelnen beschrieben. Zuerst wird erläutert, daß die Information aus dem CAM-Eingaberegister 4 in den Teil CAM 2 eingeschrieben wird. Ein Mißerfolg beim erweiterten Zusatzpuffer tritt ein, wenn ein Mißerfolg beim TLB vorliegt, der eine spezielle Arbeitsspeichereinrichtung ist, die die Funktion hat zu bestimmen, ob das gegebene Segment und die gegebene Seite im Hauptspeicher vorhanden sind. Dabei wird die obige Information in dem erweiterten Zusatzpuffer gespei­ chert, um beim nächsten Mal wiederverwendet zu werden, wenn sämtliche Prozesse der Adreßumsetzung durchgeführt sind, um einen Seitentabelleneintrag PTE zu erhalten. Zu diesem Zeit­ punkt werden nach Zwischenspeicherung im CAM- und RAM-Einga­ beregister 4, 5 Daten in den CAM 2 und den RAM 3 eingeschrie­ ben. The process of reading or writing information from the CAM (RAM) input register to the CAM (RAM) will be described in detail below. First, it will be explained that the information from the CAM input register 4 is written into the CAM 2 part. A failure in the extended overhead buffer occurs when there is a failure in the TLB, which is a special memory device that has the function of determining whether the given segment and page are in main memory. The above information is stored in the extended additional buffer so that it can be reused the next time when all address translation processes have been carried out in order to obtain a page table entry PTE. At this time, after buffering in the CAM and RAM input registers 4 , 5, data is written into the CAM 2 and RAM 3 .

Wenn, wie Fig. 6 zeigt, externe Information im Eingaberegi­ ster zwischengespeichert ist, werden C-Laden und r-Laden des CMOS-Durchgangstransistors M33 nicht aktiviert, und das Signal WTAG von Fig. 4 wird ebenfalls nicht freigegeben. Wenn danach Information im RAM-Eingaberegister 5 zwischengespei­ chert ist, werden r-Laden des CMOS-Durchgangstransistors M33 und r-Nichtladen des CMOS-Durchgangstransistors M34 nicht aktiviert, und die Signale WPTP 2 und WV gemäß Fig. 5 werden ebenfalls nicht freigegeben. Unter Berücksichtigung des Vor­ gangs, daß Information des CAM-Eingaberegisters 4 in den Teil CAM 2 eingeschrieben wird, werden C-Laden des CMOS-Durch­ gangstransistors M33 und C-Nichtladen des CMOS-Durchgangs­ transistors M34 nicht aktiviert, und das Signal WTAG gemäß Fig. 4 wird freigegeben. Wenn die Wortleitung aktiviert ist, wird zu diesem Zeitpunkt die Information in eine Zelle einge­ schrieben.If external information is temporarily stored in the input register, as shown in FIG. 6, C-charging and r-charging of the CMOS pass transistor M33 are not activated, and the signal WTAG of FIG. 4 is also not released. Thereafter, when information is latched in the RAM input register 5 , r-charging of the CMOS pass transistor M33 and r-not loading of the CMOS pass transistor M34 are not activated, and the signals WPTP 2 and WV according to FIG. 5 are also not released. Taking into account the process that information of the CAM input register 4 is written into the part CAM 2 , C-loading of the CMOS through transistor M33 and C-non-loading of the CMOS through transistor M34 are not activated, and the signal WTAG according to FIG . 4 is released. If the word line is activated, the information is written into a cell at this time.

Wenn, wie oben beschrieben, Information aus dem RAM-Eingabe­ register 5 in den RAM 3 eingeschrieben wird, werden r-Laden des CMOS-Durchgangstransistors M33 und r-Nichtladen des CMOS- Durchgangstransistors M34 nicht aktiviert, und die Signale WPTP 2 und WV, die in Fig. 5 gezeigt sind, werden freigege­ ben. Zu diesem Zeitpunkt werden Daten in eine Zelle einge­ schrieben, weil die Wortleitung aktiviert ist. Da der CAM 2 bei der Durchführung der Adreßumsetzung sämtliche Einträge (CAM-Teil) vergleicht, um zu bestimmen, ob der CAM entspre­ chende Informationen hat, werden mit der Außenseite vergli­ chene Daten nur im CAM-Eingaberegister 4 zwischengespeichert. Wenn dann die Wortleitung abgeschaltet ist, wird nur das Signal WTAG gemäß Fig. 4 freigegeben. Wenn zu diesem Zeit­ punkt eine Übereinstimmung hergestellt wird, wird die Über­ einstimmungsleitung aktiviert, und dann wird der RAM 3 ausge­ lesen.As described above, when information from the RAM input register 5 is written into the RAM 3 , r-loading of the CMOS pass transistor M33 and r-no loading of the CMOS pass transistor M34 are not activated, and the signals WPTP 2 and WV, shown in Fig. 5, it woks ben. At this point, data is being written into a cell because the word line is activated. Since the CAM 2 compares all entries (CAM part) when performing the address conversion in order to determine whether the CAM has corresponding information, data compared with the outside are only temporarily stored in the CAM input register 4 . If the word line is then switched off, only the WTAG signal according to FIG. 4 is released. If a match is made at this time, the match line is activated and then the RAM 3 is read out.

Wenn bei dem Vorgang der Erzeugung des Steuersignals während des Datenvergleichs des CAM 2 die Daten von außen in dem CAM- Eingaberegister 4 zwischengespeichert werden, werden die Signale C-Laden des CMOS-Durchgangstransistors M33, C-Nicht­ laden des CMOS-Durchgangstransistors M34 und WTAG gemäß Fig. 4 nicht freigegeben. Wenn zu diesem Zeitpunkt die Information des Eingaberegisters zum CAM 2 auf der Bitleitung zum Vergleich übermittelt wird, wird nur das Signal WTAG aktiviert, und das Wortleitungssignal wird freigegeben.If, in the process of generating the control signal during the data comparison of the CAM 2, the data is cached from outside in the CAM input register 4 , the signals become C-load of the CMOS pass transistor M33, C-no load of the CMOS pass transistor M34 and WTAG not released according to FIG. 4. At this time, if the information of the input register to CAM 2 is transmitted on the bit line for comparison, only the WTAG signal is activated and the word line signal is released.

Wenn die Information des CAM 2 verglichen wird, wird auch das Steuersignal erzeugt, wenn Daten aus dem RAM 3 über die Uber­ einstimmungsleitung im RAM-Eingaberegister 5 zwischengespei­ chert werden. In diesem Fall wird r-Laden des CMOS-Durch­ gangstransistors M33 aktiviert, und r-Nichtladen des CMOS- Durchgangstransistors M34 und WPTP 2 oder WV von Fig. 5 wer­ den nicht aktiviert. Wenn die Information des RAM-Eingabere­ gisters 5 nach außen eingeschrieben wird, wird r-Nichtladen des CMOS-Durchgangstransistors M34 aktiviert, und r-Laden des CMOS-Durchgangstransistors M33 und das Signal WPTP 2 oder WV von Fig. 5 werden nicht aktiviert, wobei es im Normalbetrieb nicht notwendig ist, daß der Inhalt des Teils des CAM 2 in das CAM-Eingaberegister 4 eingeschrieben wird. Daher wird die obige Operation für Diagnosezwecke genutzt.If the information of the CAM 2 is compared, the control signal is also generated when data from the RAM 3 are buffered via the matching line in the RAM input register 5 . In this case, r-charging of the CMOS pass transistor M33 is activated, and r-non-charging of the CMOS pass transistor M34 and WPTP 2 or WV of FIG. 5 are not activated. When the information of the RAM input register 5 is written to the outside, r-non-charging of the CMOS pass transistor M34 is activated, and r-loading of the CMOS pass transistor M33 and the signal WPTP 2 or WV of FIG. 5 are not activated, whereby it is not necessary in normal operation for the content of the part of the CAM 2 to be written into the CAM input register 4 . Therefore, the above operation is used for diagnostic purposes.

Da ferner WPTP 2 und WV gemäß Fig. 5 im Normalbetrieb nicht unabhängig für den Teil RAM 2 genutzt werden, können das Signal WPTP 2 und WV für Diagnosezwecke genutzt werden, so daß sie durch ein Steuersignal ersetzt werden können. Wenn in den Teil RAM 3 für Diagnosezwecke eingeschrieben wird, wird der Teil RAM 3 in das RAM-Eingaberegister 5 ohne zusätzliche Hardware durch die Übereinstimmungsleitung während des Ver­ gleichsvorgangs des Teils CAM 2 eingeschrieben. Wenn eine Übereinstimmung auftritt, wird der Eingang des Teils RAM 3 für die Übertragung zur Wortleitung aktiviert. Wenn ferner in den Teil RAM 3 eingeschrieben oder daraus ausgelesen wird, wird der Eingang des Teils RAM 3, der zur Wortleitung über­ trägt, durch den Ausgang des Decodierers 1 aktiviert. Furthermore, since WPTP 2 and WV according to FIG. 5 are not used independently for part RAM 2 in normal operation, the signal WPTP 2 and WV can be used for diagnostic purposes, so that they can be replaced by a control signal. When the RAM 3 part is written for diagnostic purposes, the RAM 3 part is written into the RAM input register 5 without additional hardware through the match line during the CAM 2 part comparison process. If a match occurs, the input of part RAM 3 is activated for transmission to the word line. Further, when written into the RAM portion 3 or read from, the entrance of the part of RAM 3, which contributes to the word line above, is activated by the output of the decoder. 1

Wenn der Kontext geändert wird, werden, wie vorstehend beschrieben, sämtliche PTP-Einträge einschließlich des RPR ungültig gemacht. Insbesondere in einem Realzeitsystem und eingebetteten Steuerungssystem mit häufiger Kontextänderung ist das konventionelle Verfahren nicht effizient. Da gemäß der Erfindung TAG dazu genutzt wird zu bestimmen, ob der in IPTP und DPTP gespeicherte Wert während des aktuellen Betriebszugriffs genutzt wird, und da CXN in Vergleichsteil enthalten ist, brauchen nicht sämtliche Einträge ungültig gemacht zu werden. Daher wird das Produkt verbessert, und der zusätzliche Erweiterungspuffer läßt sich ohne weiteres durch CAM und RAM erweitern. Aus diesem Grund wird der bei der Adreßumsetzung auftretende Overhead verringert unter Verwen­ dung des zusätzlichen Erweiterungspuffers, der aus dem TLB mit geeigneter Leistungsfähigkeit, dem CAM und dem RAM besteht. Ferner kann die Erfindung sowohl bei einem physi­ schen Cache-Speicher als auch einem virtuellen Cache-Speicher Anwendung finden, und die Zahl der Tabellenzugriffsschritte ist nicht begrenzt.If the context changes, as above described, all PTP entries including the RPR invalidated. Especially in a real time system and embedded control system with frequent context changes the conventional method is not efficient. Because according to of the invention TAG is used to determine whether the in IPTP and DPTP stored value during the current Operational access is used, and since CXN in comparison part not all entries are invalid to be made. Therefore, the product is improved, and the additional expansion buffers can be easily passed through Expand CAM and RAM. For this reason, the Address translation occurring overhead is reduced using of the additional expansion buffer, which comes from the TLB with suitable performance, the CAM and the RAM consists. Furthermore, the invention can be used both in a physi cache as well as a virtual cache Find application, and the number of table access steps is not limited.

Claims (4)

1. Speicherverwaltungseinheit (MMU) zur Verwendung in einem Computersystem, um eine virtuelle Adresse in eine physi­ sche Adresse für den Zugriff auf den Hauptspeicher umzu­ setzen, gekennzeichnet durch
  • - einen Kontextnummernteil (CXN) zum Vergleich mit dem aktuellen Operationskontext;
  • - einen TAG-Teil, der einen Teil der virtuellen Adresse enthält; und
  • - einen Seitentabellenzeiger (PTP), der eine Tabelle mit Seitentabelleneintrag (PTE) ist.
1. Memory management unit (MMU) for use in a computer system to convert a virtual address into a physical address for access to the main memory, characterized by
  • - a context number part (CXN) for comparison with the current operation context;
  • a TAG part that contains part of the virtual address; and
  • - a page table pointer (PTP), which is a table with page table entry (PTE).
2. Speicherverwaltungseinheit (MMU) zur Verwendung in einem Computersystem nach Anspruch 1, dadurch gekennzeichnet, daß der TAG-Teil die Kontextnummer vergleicht und der Teil der virtuellen Adresse aus einem inhaltsadressierba­ ren Speicher (CAM) besteht.2. Memory management unit (MMU) for use in one Computer system according to claim 1, characterized, that the TAG part compares the context number and the Part of the virtual address from a content addressing ba memory (CAM) exists. 3. Speicherverwaltungseinheit (MMU) zur Verwendung in einem Computersystem nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß der Seitentabellenzeiger (PTP) aus einem RAM besteht.3. Memory management unit (MMU) for use in one Computer system according to claim 1 or 2, characterized, that the page table pointer (PTP) consists of a RAM. 4. Speicherverwaltungseinheit (MMU) zur Verwendung in einem Computersystem nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß in den RAM bei Übereinstimmung des CAM-Teils einge­ schrieben wird, da die Kontextnummer beim Vergleichspro­ zeß des TAG-Teils in dem entsprechenden Teil enthalten ist.4. Memory management unit (MMU) for use in one Computer system according to claim 2 or 3, characterized, that entered the RAM if the CAM part matches is written because the context number in the comparison pro time of the TAG part included in the corresponding part is.
DE4305860A 1992-02-25 1993-02-25 Memory management unit for computer system - has virtual addresses converted into physical addresses using comparison process and content addressable memory Ceased DE4305860A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019920002912A KR940005781B1 (en) 1992-02-25 1992-02-25 Memory management unit

Publications (1)

Publication Number Publication Date
DE4305860A1 true DE4305860A1 (en) 1993-09-02

Family

ID=19329479

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4305860A Ceased DE4305860A1 (en) 1992-02-25 1993-02-25 Memory management unit for computer system - has virtual addresses converted into physical addresses using comparison process and content addressable memory

Country Status (2)

Country Link
KR (1) KR940005781B1 (en)
DE (1) DE4305860A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010026758A1 (en) 2010-07-09 2012-01-12 Getit Online Internet Service Agentur ( Isa ) Gmbh Content management system has device for managing text-based contents, data structures or logic and processing or organization of contents with live system, where independent editorship environments related to live system are enabled

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0491498A2 (en) * 1990-12-18 1992-06-24 Sun Microsystems, Inc. Apparatus and method for a space saving translation lookaside buffer for content addressable memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0491498A2 (en) * 1990-12-18 1992-06-24 Sun Microsystems, Inc. Apparatus and method for a space saving translation lookaside buffer for content addressable memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010026758A1 (en) 2010-07-09 2012-01-12 Getit Online Internet Service Agentur ( Isa ) Gmbh Content management system has device for managing text-based contents, data structures or logic and processing or organization of contents with live system, where independent editorship environments related to live system are enabled

Also Published As

Publication number Publication date
KR940005781B1 (en) 1994-06-23
KR930018376A (en) 1993-09-21

Similar Documents

Publication Publication Date Title
DE69225622T2 (en) Address translation buffer memory with variable page size by input
DE69329080T2 (en) Cache memory
DE2807476C2 (en) Storage device with several virtual address spaces
DE69030945T2 (en) Two-level address translation buffer with partial addresses to increase speed
DE69317729T2 (en) Cache label storage
DE69721590T2 (en) A RANGE BASED SIDE-TABLE-WALK-BIT USING METHOD AND DEVICE
DE69132005T2 (en) Device and method for a space-saving address translation buffer for content addressable memories
DE2260353C2 (en) Circuit arrangement for address translation in a data processing system
DE60320026T2 (en) IMPROVED STORAGE MANAGEMENT FOR REAL-TIME APPLICATIONS
DE3011552C2 (en)
DE112005003859B4 (en) Managing processor resources during architecture events
DE4410060B4 (en) Translating device for converting a virtual memory address into a physical memory address
DE68902193T2 (en) DATA STORAGE ARRANGEMENT.
DE3151745C2 (en)
DE2227882C2 (en) Virtual storage arrangement
DE69032276T2 (en) Method and arrangement for improving the data storage speed of a computer system
DE3932675A1 (en) VIRTUAL MACHINE SYSTEM
EP0600112A1 (en) Data processing system with virtual memory addressing and memory access controlled by keys
DE3852695T2 (en) Multiprocessor system with multiple memories.
EP0013737A1 (en) Multilevel storage hierarchy for a data processing system
DE2939411C2 (en) Data processing system with virtual memory addressing
DE3833933A1 (en) INFORMATION PROCESSING DEVICE WITH AN ADDRESS EXTENSION FUNCTION
DE3502147C2 (en)
DE10002120A1 (en) Address converting buffer arrangement for address translation and address converting buffers has two dividing/partial units, a higher and lower address converting planes
DE3888438T2 (en) Cache control device for a data processing device with virtual memory.

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8131 Rejection