DE69317729T2 - Cache-Etikettenspeicher - Google Patents

Cache-Etikettenspeicher

Info

Publication number
DE69317729T2
DE69317729T2 DE69317729T DE69317729T DE69317729T2 DE 69317729 T2 DE69317729 T2 DE 69317729T2 DE 69317729 T DE69317729 T DE 69317729T DE 69317729 T DE69317729 T DE 69317729T DE 69317729 T2 DE69317729 T2 DE 69317729T2
Authority
DE
Germany
Prior art keywords
memory
cache
cache tag
memory array
entry
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
DE69317729T
Other languages
English (en)
Other versions
DE69317729D1 (de
Inventor
David Charles Mcclure
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.)
STMicroelectronics lnc USA
Original Assignee
SGS Thomson Microelectronics Inc
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 SGS Thomson Microelectronics Inc filed Critical SGS Thomson Microelectronics Inc
Application granted granted Critical
Publication of DE69317729D1 publication Critical patent/DE69317729D1/de
Publication of DE69317729T2 publication Critical patent/DE69317729T2/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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0853Cache with multiport tag or data arrays

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 betrifft im allgemeinen digitale Computersysteme und insbesondere Cache-Speichersysteme.
  • Diese Anmeldung steht in Beziehung zur europäischen Patentanmeldung EP-A- 0 439 952, welche einen Dualschnittstellen-Cache-Etikettenspeicher offenbart.
  • Cache-Speicher werden in vielen Computersystemen verwendet, um die Systemleistung zu verbessern. Ein Cache-Speicher ist ein relativ kleiner, schneller Speicher, welcher zwischen einem zentralen Prozessor und dem Systemhauptspeicher sitzt. Wann immer der Prozessor den Inhalt einer Speicherstelle, die im Cache-Speicher gespeichert ist, liest, wird die Zeitdauer, welche für den Zugriff auf eine solche Stelle benötigt wird, drastisch reduziert. Eine gute Cache-Technik kann ein "Trefferverhältnis" von gut über 90% bereitstellen, was bedeutet, daß für über 90% der durchgeführten Leseoperationen kein Hauptspeicherzugriff notwendig ist. Der Zugriff auf Daten, welche im Cache gespeichert sind, kann die Zugriffszeiten um Faktoren von 3 bis 10 verbessern.
  • Ein Cache erfüllt Funktionen, die zwei verschiedene Speichertypen erfordern. Der erste Typ ist der Datenspeicher, in welchem die Daten tatsächlich gespeichert werden. Der zweite Typ ist als Etikettenspeicher oder Etiketten-RAM bekannt, welcher verwendet wird, um festzustellen, welche Speicherstellen tatsächlich im Cache gespeichert sind. Im allgemeinen enthält der Cache-Etiketten-RAM mehrere Einträge entsprechend den Einträgen des Daten-Cache. Jeder Eintrag ist durch eine Anzahl von geringstwertigen Bits der Adresse indiziert, die durch den Zentralprozessor erzeugt wird, wobei der Etiketteneintrag selbst die höchstwertigen Bits der Speicherstelle enthält, welche im entsprechenden Daten-Cache-Eintrag gespeichert ist. Wenn die im Cache-Etikett gespeicherten bezeichnendsten Bits mit den höchstwertigen Bits der Adresse übereinstimmen, die gerade erzeugt wird, wobei die geringstwertigen Bits dieser Adresse als Index für den Etiketten-RAM dienen, ist ein Cache- "Treffer" aufgetreten und die zu lesenden Daten können aus dem entsprechenden Daten-Cache-Eintrag gelesen werden. Wenn Daten entsprechend der gewünschten Adresse nicht im Daten-Cache angeordnet sind, wird der Etiketteneintrag nicht mit den höchstwertigen Bits der Adresse übereinstimmen und ein "Fehltreffer" tritt auf. Dies deutet an, daß die Daten vom Systemhauptspeicher geholt und in dem Daten-Cache gesetzt werden müssen. Zu dieser Zeit werden die momentanen Inhalte des Cache-Etiketteneintrags mit den höchstwertigen Bits der neu geholten Adresse überschrieben.
  • In Mehr-Prozessor-Systemen ist es möglich, jeden Prozessor in einem System mit seinem eigenen Cache-Speicher zu versehen. Jeder lokale Prozessor greift, wann immer möglich, auf seinen eigenen Cache zu und greift nur dann über einen Systembus auf den Systemhauptspeicher zu, wenn dies notwendig ist.
  • Diese Situation erzeugt ein wichtiges Problem, das als "Cache-Kohärenz-Problem" bekannt ist. Dieses Problem tritt immer dann auf, wenn auf gemeinsame Variablen im Systemhauptspeicher durch zwei oder mehr Prozessoren im System zugegriffen werden kann. Diese Prozessoren können lokale zentrale Verarbeitungseinheiten oder Eingabe/Ausgabe-Einrichtungen sein, die mit dem Bus verbunden sind. Das Cache-Kohärenz- Problem tritt auf, wenn eine einzelne Speicherstelle in zwei oder mehreren Caches gecacht werden. Wenn einer der Prozessoren einen neuen Wert auf diese Speicherstelle schreibt, wird dieser mit dem Wert derselben Variablen oder Hauptspeicherstelle inkonsistent sein, die momentan in den anderen Caches gecacht ist. Das Cache-Kohärenz-Problem tritt ebenfalls auf, wenn ein nicht cachendes Gerät auf eine Stelle im Systemspeicher schreibt, welche von einem anderen Gerät gecacht worden ist.
  • Eine Technik, die verwendet wird, um das Cache-Kohärenz-Problem zu lösen, besteht darin, alle lokalen Prozessoren mit Caches den Hauptsystembus zu jeder Zeit überwachen oder "absuchen" zu lassen. Wenn ein anderer Prozessor oder ein anderes Gerät Daten auf eine Speicherstelle schreibt, welche momentan im lokalen Cache gespeichert sind, wird der lokale Cache-Eintrag ungültig gemacht. Wenn später durch den lokalen Prozessor auf diese Stelle zugegriffen wird, werden dann die aktualisierten Daten aus dem Systemhauptspeicher geholt.
  • Die Verwendung einer Doppelschnittstellen-Speicheranordnung auf diese Weise resultiert jedoch sowohl in einem Plächennachteil auf dem Etiketten-RAM-Chip als auch in einer Gesamtverschlechterung der Zugriffszeit, wie im IBM Technical Disclosure Bulletin, Vol 23, Nr. 78, Dezember 1980, New York, US, Seiten 3461-3463, YA- MOUR, "Odd/Even Interleave Cache With Optimal Hardware Array Cost, Cycle Time and Variable Data Port Width" beschrieben wird.
  • Dies liegt daran, daß ein Doppelschnittstellenspeicher im Vergleich mit einer Einzelschnittstellenspeicheranordnung zweieinhalb- bis dreieinhalbmal größer sein kann, bzw. noch größer.
  • Deshalb wäre es wünschenswert, einen Cache-Etikettenspeicher bereitzustellen, welcher sowohl den Platzverbrauch reduziert als auch die Kohärenz des Cache-Speichers beibehält.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung wird ein Chache-Speicher bereitgestellt mit: einem Daten-Cache zum Speichern mehrerer Einträge, einem Cache- Etikettenspeicher mit einer Dualschnittstellen-Speicheranordnung mit mehreren Einträgen, Einrichtungen zum Ansprechen der Dualschnittstellen-Speicheranordnung durch sowohl einen Systembus als auch einen lokalen Prozessor, einer Cache-Steuereinrichtung zum Steuern des Austausches von Daten- oder Steuersignalen zwischen dem lokalen Prozessor und dem Systembus, Einrichtungen zum Erzeugen eines ersten Abgleichsignals, das anzeigt, daß eine durch den lokalen Prozessor angesprochene Speicherstelle sich im Datencache befindet, Einrichtungen zur Bereitstellung eines Gültig-Signals, das anzeigt, daß eine durch den lokalen Prozessor angesprochene Speicherstelle gültig ist, Einrichtungen zum Erzeugen eines zweiten Abgleichsignals, das anzeigt, daß eine durch den Systembus angesprochene Speicherstelle mit einem Eintrag im Cache-Etikettenspeicher übereinstimmt, dadurch gekennzeichhet, daß der Cache-Etikettenspeicher ferner umfaßt: eine erste Einzelschnittstellen-Speicheranordnung mit einer ersten Vielzahl an Einträgen, die den in der Dualschnittstellen-Speicheranordnung gespeicherten Einträgen entsprechen, Einrichtungen zum Adressieren der ersten Einzelstellen-Speicheranordnung durch den lokalen Prozessor, eine zweite Einzelschnittstellen-Speicheranordnung, die eine zweite Vielzahl von Einträgen enthält, die den Einträgen entsprechen, welche in der Doppelschnittstellen- und in der ersten Einzelschnittstellen-Speicheranordnung gespeichert sind, Einrichtungen zum Ansprechen der zweiten Einzelschnittstellen-Speicheranordnung durch den Systembus; und Einrichtungen zum Speichern von Informationen in der Doppelschnittstellen-Speicheranordnung, die die Gültigkeit entsprechender Einträge anzeigen, welche in der ersten und der zweiten Einzelschnittstellen-Speicheranordnung gespeichert sind.
  • Die neuen Merkmale, von denen angenommen wird, daß sie die Erfindung kennzeichnen, sind in den anliegenden Ansprüchen angeführt. Die Erfindung selbst sowie ihre bevorzugte Verwendungsweise und weitere ihrer Aufgaben und Vorteile werden jedoch am besten unter Bezugnahme auf die folgende detaillierte Beschreibung einer beispielhaft angeführten Ausführungsform verständlich, wenn sie in Verbindung mit den beiliegenden Zeichnungen gelesen wird. Es zeigen:
  • Fig. 1 ein High-Level-Blockdiagramm eines Mehr-Prozessor-Computersystems;
  • Fig. 2 ein High-Level-Blockdiagramm, das einen Cache-Speicher zeigt, der einen Cache-Etikettenspeicher gemäß der vorliegenden Erfindung verwendet;
  • Fig. 3 ein Blockdiagramm eines bevorzugten Cache-Etikettenspeichers; und
  • Fig. 4 ein detaillierteres Blockdiagramm eines bevorzugten Cache-Etikettenspeichers.
  • In Fig. 1 ist ein Mehr-Prozessor-Computersystem dargestellt, das im Ganzen mit dem Bezugszeichen 10 bezeichnet ist. Lokale Prozessoren 12, 14, 16 sind jeweils mit einem lokalen Cache-Speicher 18, 20, 22 versehen. Die Prozessoren 12, 14, 16 kommunizieren miteinander und mit einem Systemhauptspeicher 24 über einen Systembus 26. Mehrere Eingabe-/Ausgabegeräte 28, 30 sind ebenfalls am Systembus 26 angebunden. Die Eingabe-/Ausgabegeräte 28, 30 enthalten typischerweise keinen lokalen Cache- Speicher.
  • Das Problem des Aufrechterhaltens der Kohärenz zwischen gemeinsamen Variablen, die in den verschiedenen lokalen Cache-Speichem 18, 20, 22 gespeichert sind, kann auf verschiedene Arten auftreten. Bei einer davon können beispielsweise die lokalen Cache-Speicher 18 und 20 jeweils eine Kopie einer gemeinsamen Variablen aus dem Systemhauptspeicher 24 enthalten. Wenn der lokale Prozessor 14 den Wert der gemeinsamen Variablen aktualisiert, wird der lokale Cache 20 ebenso wie der Systemhauptspeicher 24 aktualisiert. Um die Kohärenz des Cache-Speichers 18 sicherzustellen, wird eine Technik verwendet, wie sie in der US-Patentanmeldung, Seriennummer 07/473239, mit dem Titel "DUAL-PORT CACHE TAG MEMORY", eingereicht am 31. Januar 1990, beschrieben ist, welche hier durch Bezugnahme aufgenommen wird, um sicherzustellen, daß der nicht mehr aktuelle Wert für eine solche lokale im Cache- Speicher 18 gespeicherte Variable als ungültig markiert wird. Eine ähnliche Situation kann auftreten, wenn das Eingabe-/Ausgabegerät 28 einen Wert in den Hauptspeicher 24 schreibt. Wenn solche Speicherstellen vorher im lokalen Cache-Speicher 18 gecacht worden sind, werden die momentanen Speicherdaten und die Daten im lokalen Cache- Speicher 18 nicht die gleichen sein.
  • In Fig. 2 ist ein High-Level-Blockdiagramm gezeigt, das einen Cache-Speicher zeigt, welcher einen Cache-Etikettenspeicher gemäß der vorliegenden Erfindung verwendet. Ein bevorzugtes System zur Sicherstellung der Cache-Kohärenz in einem Einzel- oder Mehr-Prozessor-System wird ebenfalls beschrieben werden. Ein Daten-Cache 32 und ein Cache-Etiketten-RAM 34 kommunizieren mit dem Systembus 26 und dem lokalen Prozessor 36. Die Cachesteuerung 38 führt die üblichen Cache-Steuerfunktionen durch, die in Caches zu finden sind, welche zur Verwendung mit Einzelprozessorsystemen geeignet sind.
  • Der Datencache 32 tauscht mit dem lokalen Prozessor 36 und dem Systembus 26, gesteuert durch die Cache-Steuerung 38, Daten aus. Verschiedene Steuerungssignale werden zwischen dem lokalen Prozessor 36 und der Cache-Steuerung 38 sowie zwischen der Cache-Steuerung 38 und dem Systembus 26 ausgetauscht. Adressen- und Steuersignale werden vom lokalen Prozessor 36 zum Cache-Etiketten-RAM 34 weitergegeben. Adressen- und Steuersignale werden ebenfalls zwischen dem Cache-Etiketten-RAM 34 und dem Systembus 26 weitergegeben.
  • Bei einigen Cache-Speicherformaten wird ein Steuersignal SW vom Systembus 26 zum Cache-Etiketten-RAM 34 weitergegeben, um anzuzeigen, daß eine Schreiboperation, bezeichnet als Absuch-Schreiboperation, auf dem Systembus 26 stattfindet. Ein Steuersignal MTCHB wird immer dann zum Systembus 26 zurückgegeben, wenn eine Systembusadresse mit einem Eintrag im Cache-Etikettenspeicher 34 während einer Absuch- Schreiboperation übereinstimmt. Das Signal MTCHB kann, wie gewünscht, durch das System bei der Durchführung von Cache-Steuerfünktionen verwendet werden.
  • Der Cache-Etiketten-RAM 34 gibt ebenfalls ein Signal MTCHA zur Cache-Steuerung 38 weiter. MTCHA zeigt an, daß die gerade vom lokalen Prozessor 36 angesprochene Speicherzelle sich im Daten-Cache 32 befindet und daß der Eintrag momentan gültig ist. Die Cache-Steuerung 38 bewirkt dann, daß die Stelle, auf die durch den lokalen Prozessor 36 zugegriffen wird, direkt aus dem Daten-Cache 32 gelesen wird. Wenn MTCHA einen Fehltreffer anzeigt, bewirkt die Cache-Steuerung 38, daß auf die Inhalte der Adressenstelle über den Systembus 26 vom Hauptspeicher her zugegriffen wird.
  • Die Fig. 3 ist ein Blockdiagramm eines bevorzugten Cache-Etikettenspeichers, der insgesamt durch das Bezugszeichen 34 angedeutet wird. Der Cache-Etikettenspeicher 34 umfaßt eine erste Einzelschnittstellen-Speicheranordnung 40 mit einem entsprechenden Zeilendecoder 42. Bei der bevorzugten Ausfühmngsform ist die erste Einzelschnitt stellen-Speicheranordnung 40 einem lokalen Prozessor zugeordnet. Eine zweite Einzelschnittstellen-Speicheranordnung 44 und ein entsprechender Zeilendecoder 46 sind vorzugsweise dem System- oder Hauptspeicher zugeordnet. Schließlich wird eine Doppelschnittstellen-Speicheranordnung 48 verwendet, um Informationen oder Statusbits über den Cache-Speicher zu speichern. Die Statusbits, die in der Doppelschnittstellen-Speicheranordnung 48 gespeichert sind, werden gemeinsam sowohl von der ersten als auch von der zweiten Einzelschnittstellen-Speicheranordnung 40, 44 benutzt. Beispiele für Statusbits umfassen ein Absuch-Gültigkeitsbit, ein Paritätsbit oder Bits, die für das MOESI-Protokoll benötigt werden. MOESI steht für Modified, Owned, Exclusive, Shared und Invalid (modifiziert, zugeordnet, exklusiv, gemeinsam benutzt und ungültig) und wird verwendet, um den Cache-Zustand anzuzeigen. Im wesentlichen wird jedes Bit, welches durch die Systemschnittstelle geändert werden kann, während der lokale Prozessor seine Operationen durchführt, in der Doppelschnittstellen-Speicheranordnung 48 gespeichert.
  • Der Größenunterschied zwischen einer Doppelschnittstellen-Speicheranordnung und einer Einzelschnittstellen-Speicheranordnung kann das zweieinhalb- bis dreieinhalbfache oder höhere Vielfache betragen. Somit resultiert das Vorhandensein eines Cache- Etikettenspeichers, welcher zwei Einzelschnittstellen-Speicheranordnungen und eine kleine Doppelschnittstellen-Speicheranordnung aufweist, in Platzeinsparungen auf dem Chip. Als Beispiel wird der Flächenunterschied zwischen einem Cache-Etikettenspeicher mit lediglich Doppelschnittstellen und dem bevorzugten Cache-Etikettenspeicher, wie unten für einen Cache-Etikettenspeicher errechnet, welcher ein Etikett verwendet, welches 16 Bits plus 2 Statusbits (insgesamt 18 Bits) aufweist.
  • nur Doppelschnittstelle: 18 Bits x R
  • bevorzugter Etiketten-Cache: (2 Bits x R) + (16 Bits x 2)
  • Das Verhältnis der Größe einer Doppelschnittstellen- zur Größe einer Einzelschnittstellen-Speicheranordnung wird durch die Variable R angezeigt. Bei R=2,5 ist der Gesamt-Doppelschnittstellen-Cache-Etikettenspeicher 22% größer als der bevorzugte Cache-Etikettenspeicher. Bei R=3,0 ist der Gesamt-Doppelschnittstellen-Cache- Etikettenspeicher 42% größer. Schließlich ist bei R=3,5 der Gesamt-Doppeischnittstellen-Cache-Etikettenspeicher 62% größer als die bevorzugte Cache-Etikettenspeicheranordnung.
  • In Fig. 4 ist ein Blockdiagramm eines bevorzugten Cache-Etiketten-RAM's 34 dargestellt. Der Cache-Etiketten-RAM 34 umfaßt eine erste Einzelschnittstellen-Speicheranordnung 40, die dem lokalen Prozessor zugeordnet ist, eine zweite Einzelschnittstellen-Speicheranordnung 44, die dem System- oder Hauptspeicher zugeordnet ist, und eine Doppelschnittstellen-Speicheranordnung 48. Wie oben erörtert, speichert die Doppelschnittstellen-Speicheranordnung 48 Informationen oder Statusbits über den Cache-Speicher und ihre Einträge werden auch von den beiden Einzelschnittstellen- Speicheranordnungen 40, 44 verwendet.
  • Die erste Einzelschnittstellen-Speicheranordnung 40 wird durch die geringstwertigen Bits (LSB) der Adresse vom lokalen Prozessor angesprochen. Die höchstwertigen Bits (MSB) der lokalen Adresse werden einem Vergleicher 50 eingegeben, wo sie mit dem Eintrag der ersten Einzelschnittstellen-Speicheranordnung 40 verglichen werden, der momentan durch das Lokaladressen-LSB ausgewählt wird, welches in Leitung 52 vorhanden ist. Eine logische Eins wird vom Vergleicher 50 ausgegeben, wenn der gewählte Eintrag mit dem MSB der lokalen Adresse übereinstimmt, und an einen Eingang des AND-Gates 54 verbunden. Das Absuch-Gültigkeitsbit 56 der entsprechenden Adresse wird ebenfalls als Eingabe zum AND-Gate 54 ausgegeben und der Ausgang des AND-Gates 54 signalisiert das Signal MTCHA. Somit ist das Signal MTCHA nur dann eine logische Eins, die einen Cache-Treffer andeutet, wenn der Eintrag in der ersten Einzelschnittstellen-Speicheranordnung 40, der durch das LSB der lokalen Adresse indiziert ist, mit dem MSB der lokalen Adresse übereinstimmt und das entsprechende Absuch-Gültigkeitsbit 56 für diesen Eintrag eine logische Eins ist.
  • Die zweite Einzelschnittstellen-Speicheranordnung 44 wird durch das LSB der Systemadresse angesprochen. Der einer solchen Stelle in der Anordnung entsprechende Eintrag wird auf der Datenleitung 58 ausgegeben und an einen Vergleicher 60 angelegt. Der Vergleicher 60 vergleicht den auf der Leitung 58 vorhandenen Eintrag mit dem MSB der Systemadresse und erzeugt eine logische Eins, wenn diese übereinstimmen. Der Ausgang des Vergleichers 60 ist mit einem Eingang eines AND-Gates 62, 64 verbunden. Das Absuch-Gültigkeitsbit 56 des Eintrages, indiziert durch das LSB der Systemadresse, wird ebenfalls an das AND-Gate 62 angelegt. Das Signal MTCHB wird nur dann eine logische Eins, wenn der gewählte Eintrag mit dem MSB der Systemadresse übereinstimmt und das Absuch-Gültigkeitsbit 56 einen Wert einer logischen Eins hat. Einige Cache-Systeme erfordern jedoch nicht, daß das Absuch-Gültigkeitsbit 56 auf diese Weise überwacht werden muß, so daß das Signal MTCHB eine logische Eins ist, wenn der gewählte Eintrag mit dem MSB der Systemadresse übereinstimmt.
  • Bei einigen Cache-Formaten ist es erwünscht, ein Absuch-Schreibsignal (SW) zu haben, das auf einen zweiten Eingang des AND-Gates 64 aufgegeben wird. Der Ausgang des AND-Gates 64 wird nur dann eine logische Eins sein, wenn die Adresse MSB am Systembus mit dem Eintrag in der zweiten Einzelschnittstellen-Speicheranordnung 44 übereinstimmt, welche durch die Systemadresse LSB indiziert ist und wenn eine Schreiboperation auf dem Systembus durchgeführt wird. In einem solchen Fall ist der Wert, der für einen solchen Eintrag im Cache gespeichert ist, nicht mehr aktuell und muß als ungültig markiert werden. Wenn der Ausgang des AND-Gates 64 eine logische Eins ist, wird das Absuch-Gültigkeitsbit des durch das LSB der momentanen Systemadresse indizierten Eintrages auf eine logische Null zurückgesetzt. Dies wird bewirken, daß jeder zukünftige Zugriff auf diesen Eintrag durch den lokalen Prozessor einen Fehltreffer anzeigt, da der Ausgang des AND-Gates 54 für einen solchen Eintrag nunmehr eine logische Null sein wird.
  • Wenn der Daten-Cache wieder aufgeladen wird, was ein Schreiben auf den Cache- Etiketten-RAM 34 erfordert, erscheint die gewünschte Adresse sowohl auf dem lokalen Bus als auch auf dem Systembus. Das Adressenetikett wird in die erste Einzelschnittstellen-Speicheranordnung 40 und die entsprechende Zelle in der zweiten Einzelschnittstellen-Speicheranordnung 44 geschrieben. Die Statusbits werden zu dieser Zeit ebenfalls in die Doppelschnittstellen-Speicheranordnung 48 geschrieben. Ein Absuchen, wie es unter Bezugnahme auf die Fig. 3 beschrieben wurde, findet statt, so daß Einträge ungültig gemacht werden oder die Statusbits geändert werden, wenn Absuchtreffer registriert werden. Der lokale Prozessor muß nicht angehalten werden, wenn die Statusbits durch das System geändert werden, und zwar aufgrund der Doppelschnittstellennatur der Statusbitzellen.
  • Fachleute werden, wenn sie die obige Beschreibung lesen, feststellen, daß die beschriebene Erfindung in einer merklichen Platzersparnis auf einem RAM-Chip resultieren kann. Bei der Verwendung einer Cache-Etikettenspeicheranordnung, welche sowohl Einzelschnittstellen- als auch Doppelschnittstellen-Speicheranordnungen aufweist, kann eine merkliche Platzeinsparung realisiert werden. Dies liegt daran, daß Doppelschnittstellen-Speicheranordnungen zweieinhalb- bis dreieinhalbmal größer sein können als Einzelschnittstellen-Speicheranordnungen bzw. noch größer.
  • Während die Erfindung speziell unter Bezugnahme auf eine bevorzugte Ausführungsform gezeigt und beschrieben worden ist, versteht es sich für Fachleute, daß verschiedene Änderungen in Form und Detail durchgeführt werden können, ohne den Bereich der Erfindung zu verlassen.

Claims (16)

1. Chache-Speicher mit:
einem Daten-Cache (32) zum Speichern mehrerer Einträge;
einem Cache-Etikettenspeicher (34) mit einer Dualschnittstellen-Speicheranordnung (48) mit mehreren Einträgen;
Einrichtungen zum Ansprechen der Dualschnittstellen-Speicheranordnung durch sowohl einen Systembus (26) als auch einen lokalen Prozessor (36);
einer Cache-Steuereinrichtung (38) zum Steuern des Austausches von Daten- oder Steuersignalen zwischen dem lokalen Prozessor (36) und dem Systembus (26);
Einrichtungen (50) zum Erzeugen eines ersten Abgleichsignals, das anzeigt, daß eine durch den lokalen Prozessor angesprochene Speicherstelle sich im Datencache befindet;
Einrichtungen zur Bereitstellung eines Gültig-Signals (56), das anzeigt, daß eine durch den lokalen Prozessor angesprochene Speicherstelle gültig ist;
Einrichtungen (60) zum Erzeugen eines zweiten Abgleichsignals, das anzeigt, daß eine durch den Systembus angesprochene Speicherstelle mit einem Eintrag im Cache-Etikettenspeicher übereinstimmt;
dadurch gekennzeichnet, daß der Cache-Etikettenspeicher ferner umfaßt:
eine erste Einzelschnittstellen-Speicheranordnung (40) mit einer ersten Vielzahl an Einträgen, die den in der Dualschnittstellen-Speicheranordnung gespeicherten Einträgen entsprechen;
Einrichtungen zum Adressieren der ersten Einzelstellen-Speicheranordnung durch den lokalen Prozessor;
eine zweite Einzelschnittstellen-Speicheranordnung (44), die eine zweite Vielzahl von Einträgen enthält, die den Einträgen entsprechen, welche in der Doppelschnittstellen- und in der ersten Einzelschnittstellen-Speicheranordnung gespeichert sind;
Einrichtungen zum Ansprechen der zweiten Einzelschnittstellen-Speicheranordnung durch den Systembus; und
Einrichtungen zum Speichern von Informationen in der Doppelschnittstellen-Speicheranordnung, die die Gültigkeit entsprechender Einträge anzeigen, welche in der ersten und der zweiten Einzelschnittstellen-Speicheranordnung gespeichert sind.
2. Cache-Speicher nach Anspruch 1, der ferner Einrichtungen zum Empfangen eines Steuersignals (SW) aufweist, das vom Systembus (26) zum Cache-Etikettenspeicher übertragen wird und anzeigt, daß auf dem Systembus eine Schreiboperation stattfindet.
3. Cache-Speicher nach Anspruch 1 oder 2, der ferner Einrichtungen aufweist, die einen Eintrag in dem Cache-Etikett ungültig machen, wenn durch den Systembus auf den Eintrag global zugegriffen wird.
4. Cache-Speicher nach einem der Ansprüche 1 bis 3, bei dem die Einrichtung zur Erzeugung des zweiten Abgleichsignals so angepaßt ist, daß sie ein zweites Abgleichsignal erzeugt, wenn eine Schreiboperation auf dem Systembus stattfindet.
5. Cache-Etikettenspeicher nach einem der Ansprüche 1 bis 4, der ferner aufweist:
eine erste Speicherschnittstelle, die Einträge in die erste Einzelschnittstellen-Speicheranordnung (40) und die Dualschnittstellen-Speicheranordnung (48) schreiben und Einträge aus der ersten Einzelschnittstellen-Speicheranordnung und der Dualschnittstellen-Speicheranordnung lesen kann;
eine zweite Speicherschnittstelle, die Einträge aus der zweiten Einzelschnittstellen- Speicheranordnung (24) und der Dualschnittstellen-Speicheranordnung (48) lesen und Einträge in die Dualschnittstellen-Speicheranordnung schreiben kann;
einen ersten Vergleicher (50, der mit der ersten Schnittstelle verbunden ist, um einen Anordnungseintrag, der durch einen ersten Abschnitt einer lokalen Adresse ausgewählt und auf den durch den lokalen Prozessor zugegriffen wird, mit einem zweiten Abschnitt der lokalen Adresse zu vergleichen und zur Erzeugung eines Signals, das einen Abgleich (53) anzeigt; und
einem zweiten Vergleicher (60), der mit der zweiten Schnittstelle verbunden ist, um einen durch einen ersten Abschnitt einer globalen Adresse ausgewählten Anordnungseintrag, wie er vom Systembus übermittelt wird, mit einem zweiten Abschnitt der globalen Adresse zu vergleichen, und zum Erzeugen eines Signals, das einen Abgleich (59) anzeigt.
6. Cache-Etikettenspeicher nach Anspruch 5, bei dem die erste Speicherschnittstelle Einträge in die zweiten Einzelschnittstellen-Speicheranordnung (44) schreiben kann.
7. Cache-Etikettenspeicher nach Anspruch 5 oder 6, bei dem die zweite Speicherschnittstelle Einträge in die zweite Einzelschnittstellen-Speicheranordnung schreiben kann.
8. Cache-Etikettenspeicher, nach einem der Ansprüche 5 bis 7, der Einrichtungen zum Speichern eines Gültig-Zustandes, der aus einem Bit oder aus Bits aufgebaut ist, in der Dualschnittstellen-Speicheranordnung (48) aufweist, um die Gültigkeit eines Eintrags anzuzeigen, der in der ersten und der zweiten Einzelschnittstelle- Speicheranordnung gespeichert ist.
9. Cache-Etikettenspeicher nach Anspruch 8, mit Einrichtungen, die den Gültig- Zustand entsprechend dem Eintrag auf einen ersten Wert einstellen, wenn ein neuer Wert auf den Eintrag geschrieben wird.
10. Cache-Etikettenspeicher nach Anspruch 9, der ferner aufweist: eine Vergleichslogik zur Bestimmung, ob der Wert des durch einen ersten Abschnitt einer globalen Systemadresse indizierten Eintrags derselbe ist wie ein zweiter Abschnitt der globalen Systemadresse, wodurch ein Abgleich definiert wird; und logische Einrichtungen (64) zum Einstellen des ersten Gültig-Zustandes entsprechend eines solchen Indexeintrags auf einen zweiten Wert, wenn ein Abgleich während einer globalen System-Schreiboperation auftritt.
11. Cache-Etikettenspeicher nach Anspruch 10, der ferner logische Einrichtungen aufweist, zum Einstellen des ersten Gültig-Zustands entsprechend einem solchen indizierten Eintrag auf den zweiten Wert, wenn ein Abgleich während einer globalen System-Schreiboperation auftritt.
12. Cache-Etikettenspeicher nach Anspruch 10 oder Anspruch 11 bei dem die Vergleichslogik ein logisches Gate (54) zum logischen Kombinieren des Gültig- Zustands und der Ausgabe des ersten Vergleichers (50) aufweist.
13. Cache-Etikettenspeicher nach einem der Ansprüche 10 bis 12, bei dem die Vergleichslogik ein logisches Gate (62) zum logischen Kombinieren des Gültig- Zustandes mit der Ausgabe des zweiten Vergleichers (60) aufweist.
14. Cache-Etikettenspeicher nach einem der Ansprüche 10 bis 13, bei dem die logische Einrichtung ein logisches Gate (64) zum logischen Kombinieren eines Prüf- Schreibsignals (SW) mit der Ausgabe des zweiten Vergleichers (60) aufweist.
15. Cache-Etikettenspeicher nach einem der Ansprüche 5 bis 14, der ferner eine Steuerschaltung zum Schreiben in die erste und in die zweite Einzelschnittstellen- Speicheranordnung aufweist.
16. Cache-Etikettenspeicher nach einem der Ansprüche 5 bis 15, der ferner Einrichtungen zum Speichern mindestens einer Bitposition in der Dualschnittstellen- Speicheranordnung als Paritäts-Bit aufweist.
DE69317729T 1992-11-02 1993-10-26 Cache-Etikettenspeicher Expired - Fee Related DE69317729T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/970,188 US5513335A (en) 1992-11-02 1992-11-02 Cache tag memory having first and second single-port arrays and a dual-port array

Publications (2)

Publication Number Publication Date
DE69317729D1 DE69317729D1 (de) 1998-05-07
DE69317729T2 true DE69317729T2 (de) 1998-08-20

Family

ID=25516552

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69317729T Expired - Fee Related DE69317729T2 (de) 1992-11-02 1993-10-26 Cache-Etikettenspeicher

Country Status (4)

Country Link
US (1) US5513335A (de)
EP (1) EP0596636B1 (de)
JP (1) JPH06208508A (de)
DE (1) DE69317729T2 (de)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336180B1 (en) 1997-04-30 2002-01-01 Canon Kabushiki Kaisha Method, apparatus and system for managing virtual memory with virtual-physical mapping
US5640534A (en) * 1994-10-05 1997-06-17 International Business Machines Corporation Method and system for concurrent access in a data cache array utilizing multiple match line selection paths
US6223260B1 (en) * 1996-01-25 2001-04-24 Unisys Corporation Multi-bus data processing system in which all data words in high level cache memories have any one of four states and all data words in low level cache memories have any one of three states
US5822758A (en) * 1996-09-09 1998-10-13 International Business Machines Corporation Method and system for high performance dynamic and user programmable cache arbitration
US5893142A (en) * 1996-11-14 1999-04-06 Motorola Inc. Data processing system having a cache and method therefor
AUPO648397A0 (en) 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Improvements in multiprocessor architecture operation
US6311258B1 (en) 1997-04-03 2001-10-30 Canon Kabushiki Kaisha Data buffer apparatus and method for storing graphical data using data encoders and decoders
US6246396B1 (en) 1997-04-30 2001-06-12 Canon Kabushiki Kaisha Cached color conversion method and apparatus
US6061749A (en) 1997-04-30 2000-05-09 Canon Kabushiki Kaisha Transformation of a first dataword received from a FIFO into an input register and subsequent dataword from the FIFO into a normalized output dataword
US6707463B1 (en) 1997-04-30 2004-03-16 Canon Kabushiki Kaisha Data normalization technique
AUPO647997A0 (en) 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Memory controller architecture
US6289138B1 (en) 1997-04-30 2001-09-11 Canon Kabushiki Kaisha General image processor
KR100255510B1 (ko) * 1997-05-09 2000-05-01 김영환 원포트램셀구조로이루어진캐시데이터램
US6418537B1 (en) 1997-12-07 2002-07-09 Conexant Systems, Inc. Accurate timing calibration for each of multiple high-speed clocked receivers using a single DLL
US6292705B1 (en) 1998-09-29 2001-09-18 Conexant Systems, Inc. Method and apparatus for address transfers, system serialization, and centralized cache and transaction control, in a symetric multiprocessor system
US6516442B1 (en) 1997-12-07 2003-02-04 Conexant Systems, Inc. Channel interface and protocols for cache coherency in a scalable symmetric multiprocessor system
US6633945B1 (en) 1997-12-07 2003-10-14 Conexant Systems, Inc. Fully connected cache coherent multiprocessing systems
US6065077A (en) * 1997-12-07 2000-05-16 Hotrail, Inc. Apparatus and method for a cache coherent shared memory multiprocessing system
US6341337B1 (en) 1998-01-30 2002-01-22 Sun Microsystems, Inc. Apparatus and method for implementing a snoop bus protocol without snoop-in and snoop-out logic
US7035981B1 (en) * 1998-12-22 2006-04-25 Hewlett-Packard Development Company, L.P. Asynchronous input/output cache having reduced latency
US6469988B1 (en) 1999-07-08 2002-10-22 Conexant Systems, Inc. Low-level circuit implementation of signal flow graphs for real-time signal processing of high-speed digital signals
GB2417111B (en) * 2002-04-22 2006-08-16 Micron Technology Inc Providing a register file memory with local addressing in a SIMD parallel processor
KR100543932B1 (ko) * 2003-04-30 2006-01-23 주식회사 하이닉스반도체 초기화 동작시간이 감소된 태그블럭을 구비하는 반도체 메모리 장치 및 그의 구동방법
KR100522431B1 (ko) * 2003-04-30 2005-10-20 주식회사 하이닉스반도체 리프레쉬 동작이 향상된 고속 데이터 억세스를 위한반도체 메모리 장치
CN101065735A (zh) * 2004-11-24 2007-10-31 皇家飞利浦电子股份有限公司 本地存储器数据的一致性高速缓存
WO2007143278A2 (en) 2006-04-12 2007-12-13 Soft Machines, Inc. Apparatus and method for processing an instruction matrix specifying parallel and dependent operations
CN107368285B (zh) 2006-11-14 2020-10-09 英特尔公司 多线程架构
US8208418B1 (en) * 2009-01-16 2012-06-26 Extreme Networks, Inc. Methods, systems, and computer readable media for conserving multicast port list resources in an internet protocol (IP) packet forwarding device
US8856448B2 (en) * 2009-02-19 2014-10-07 Qualcomm Incorporated Methods and apparatus for low intrusion snoop invalidation
WO2012037491A2 (en) 2010-09-17 2012-03-22 Soft Machines, Inc. Single cycle multi-branch prediction including shadow cache for early far branch prediction
US9008091B1 (en) 2010-11-19 2015-04-14 Extreme Networks, Inc. Methods, systems, and computer readable media for improved multicast scaling through policy based redirection
US9766893B2 (en) 2011-03-25 2017-09-19 Intel Corporation Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines
KR101636602B1 (ko) 2011-03-25 2016-07-05 소프트 머신즈, 인크. 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 메모리 프래그먼트
CN103562866B (zh) 2011-03-25 2018-03-30 英特尔公司 用于通过使用由可分割引擎实例化的虚拟核来支持代码块执行的寄存器文件段
EP2710480B1 (de) 2011-05-20 2018-06-20 Intel Corporation Verbindungsstruktur zur unterstützung der ausführung von instruktionssequenzen durch mehrere maschinen
CN103649932B (zh) 2011-05-20 2017-09-26 英特尔公司 资源的分散分配以及用于支持由多个引擎执行指令序列的互连结构
EP2783280B1 (de) 2011-11-22 2019-09-11 Intel Corporation Beschleunigter codeoptimierer für einen mehrmotor-mikroprozessor
CN104040491B (zh) 2011-11-22 2018-06-12 英特尔公司 微处理器加速的代码优化器
US8930674B2 (en) 2012-03-07 2015-01-06 Soft Machines, Inc. Systems and methods for accessing a unified translation lookaside buffer
US9916253B2 (en) 2012-07-30 2018-03-13 Intel Corporation Method and apparatus for supporting a plurality of load accesses of a cache in a single cycle to maintain throughput
US9710399B2 (en) 2012-07-30 2017-07-18 Intel Corporation Systems and methods for flushing a cache with modified data
US9430410B2 (en) 2012-07-30 2016-08-30 Soft Machines, Inc. Systems and methods for supporting a plurality of load accesses of a cache in a single cycle
US9229873B2 (en) 2012-07-30 2016-01-05 Soft Machines, Inc. Systems and methods for supporting a plurality of load and store accesses of a cache
US9740612B2 (en) 2012-07-30 2017-08-22 Intel Corporation Systems and methods for maintaining the coherency of a store coalescing cache and a load cache
WO2014022115A1 (en) * 2012-07-30 2014-02-06 Soft Machines, Inc. Systems and methods for supporting a plurality of load accesses of a cache in a single cycle
US9678882B2 (en) 2012-10-11 2017-06-13 Intel Corporation Systems and methods for non-blocking implementation of cache flush instructions
US9569216B2 (en) 2013-03-15 2017-02-14 Soft Machines, Inc. Method for populating a source view data structure by using register template snapshots
WO2014150806A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for populating register view data structure by using register template snapshots
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
US9891924B2 (en) 2013-03-15 2018-02-13 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
WO2014150991A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for implementing a reduced size register view data structure in a microprocessor
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
US9904625B2 (en) 2013-03-15 2018-02-27 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
CN105247484B (zh) 2013-03-15 2021-02-23 英特尔公司 利用本地分布式标志体系架构来仿真访客集中式标志体系架构的方法
WO2014150971A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for dependency broadcasting through a block organized source view data structure
EP2972845B1 (de) 2013-03-15 2021-07-07 Intel Corporation Verfahren zur ausführung von in blöcken gruppierten befehlen aus mehreren threads
US10140138B2 (en) 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
US9454482B2 (en) * 2013-06-27 2016-09-27 Apple Inc. Duplicate tag structure employing single-port tag RAM and dual-port state RAM
US20150067246A1 (en) * 2013-08-29 2015-03-05 Apple Inc Coherence processing employing black box duplicate tags
US10565121B2 (en) * 2016-12-16 2020-02-18 Alibaba Group Holding Limited Method and apparatus for reducing read/write contention to a cache

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3740834A1 (de) * 1987-01-22 1988-08-04 Nat Semiconductor Corp Aufrechterhaltung der kohaerenz zwischen einem mikroprozessorenintegrierten cache-speicher und einem externen speicher
JPH0668735B2 (ja) * 1987-02-09 1994-08-31 日本電気アイシーマイコンシステム株式会社 キヤツシユメモリ−
US5226146A (en) * 1988-10-28 1993-07-06 Hewlett-Packard Company Duplicate tag store purge queue
US4975872A (en) * 1988-11-17 1990-12-04 Matsushita Electric Industrial Co., Ltd. Dual port memory device with tag bit marking
US5133058A (en) * 1989-09-18 1992-07-21 Sun Microsystems, Inc. Page-tagging translation look-aside buffer for a computer memory system
JPH03219345A (ja) * 1990-01-25 1991-09-26 Toshiba Corp 多ポートキャッシュメモリ制御装置
EP0439952A3 (en) * 1990-01-31 1992-09-09 Sgs-Thomson Microelectronics, Inc. Dual-port cache tag memory
US5249283A (en) * 1990-12-24 1993-09-28 Ncr Corporation Cache coherency method and apparatus for a multiple path interconnection network
US5339322A (en) * 1991-03-29 1994-08-16 Sgs-Thomson Microelectronics, Inc. Cache tag parity detect circuit
US5319768A (en) * 1991-05-01 1994-06-07 Sgs-Thomson Microelectronics, Inc. Control circuit for resetting a snoop valid bit in a dual port cache tag memory
US5287322A (en) * 1991-07-17 1994-02-15 Sgs-Thomson Microelectronics, Inc. Integrated circuit dual-port memory device having reduced capacitance

Also Published As

Publication number Publication date
EP0596636B1 (de) 1998-04-01
JPH06208508A (ja) 1994-07-26
EP0596636A3 (en) 1994-06-29
US5513335A (en) 1996-04-30
EP0596636A2 (de) 1994-05-11
DE69317729D1 (de) 1998-05-07

Similar Documents

Publication Publication Date Title
DE69317729T2 (de) Cache-Etikettenspeicher
DE69031978T2 (de) Einrichtung und Verfahren zum Vermindern von Störungen in zweistufigen Cache-Speichern
DE69030945T2 (de) Zweistufiger Adressübersetzungspufferspeicher mit partiellen Adressen zur Geschwindigkeitserhöhung
DE69025302T2 (de) Hochleistungsrasterpuffer- und -cachespeicheranordnung
DE3689488T2 (de) Speicheranordnung mit vereinfachtem und schnellem Daten-Cachespeicher.
EP0013737B1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE3688192T2 (de) Seitenorganisierter cachespeicher mit virtueller adressierung.
DE69331039T2 (de) Rechnersystem mit einem Vorausholungscachespeicher
DE3886182T2 (de) Mehrcachedatenspeicheranordnung.
DE69225622T2 (de) Adressenübersetzungspufferspeicher mit per Eingabe veränderlicher Seitengrösse
DE68902193T2 (de) Datenspeicheranordnung.
DE2847960C2 (de) Speichersteuereinrichtung
DE69130583T2 (de) Cache-Steuerungsanordnung
DE69329080T2 (de) Cache-Speicher
DE69031086T2 (de) Cache-Speicherinhaltssteuerung in Mehrprozessornetzwerken
DE69029173T2 (de) Mikroprozessor
DE69031411T2 (de) Verfahren und Anordnung zum Lesen, Schreiben und Auffrischen eines Speichers mit direktem virtuellem oder physikalischem Zugriff
DE69222060T2 (de) Semaphore umgehung.
DE69706934T2 (de) Rechnersystem mit Speicherung der Speicheraktualisierungsgeschichte
DE69109803T2 (de) Verfahren und Vorrichtung zur Aufrechterhaltung der Integrität eines Cachespeichers.
DE3621321A1 (de) Cache-speicher- bzw. multiprozessor-system und betriebsverfahren
DE69229667T2 (de) Simulierte cachespeicher-assoziativität
DE69626070T2 (de) Verfahren und Vorrichtung zum Etikettieren eines Mehrweg-assoziativen Cache-Speichers
DE3873388T2 (de) Cache-speicher.
DE69031696T2 (de) Cache-Speicher mit der Möglichkeit im Fehlgriffsfall gleichzeitig zu aktualisieren und eine Entscheidung über die nächste Adresse zu treffen

Legal Events

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