DE3884101T2 - Abholung von Operanden in Unordnung. - Google Patents

Abholung von Operanden in Unordnung.

Info

Publication number
DE3884101T2
DE3884101T2 DE88106390T DE3884101T DE3884101T2 DE 3884101 T2 DE3884101 T2 DE 3884101T2 DE 88106390 T DE88106390 T DE 88106390T DE 3884101 T DE3884101 T DE 3884101T DE 3884101 T2 DE3884101 T2 DE 3884101T2
Authority
DE
Germany
Prior art keywords
stack
addresses
address
full
invalid
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
DE88106390T
Other languages
English (en)
Other versions
DE3884101D1 (de
Inventor
Philip George Emma
Iii Joshua Wilson Knight
James Herbert Pomerene
Rudolph Nathan Rechtschaffen
Frank John Sparacio
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE3884101D1 publication Critical patent/DE3884101D1/de
Publication of DE3884101T2 publication Critical patent/DE3884101T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)

Description

  • Die vorliegende Erfindung bezieht sich im allgemeinen auf gespeicherte Programme in digitalen Computern und im besonderen auf ein Gerät, das die Abholung von Operanden in Unordnung ermöglicht, während gleichzeitig das Aussehen der ordnungsgemäßen Abholung in den Prozessor innerhalb einer Computer-Architektur, in der die ordnungsgemäße Abholung erforderlich ist, erhalten bleibt. Die Erfindung ist besonders in einem Pipeline- Multiprozessorsystem nützlich und ermöglicht für eine gegebene Auslegung einer Prozessor-Hardware eine höhere Prozessorleistung.
  • In manchen Prozessor-Auslegungen läßt sich bei der Durchführung mancher Operationen in Unordnung ein Leistungsvorteil erzielen. In vielen Fällen kann der Programmierer aus diesen Operationsneuanordnungen keinen Nutzen ziehen, da in der Semantik des Befehlssatzes und in den Befehlen Beschränkungen vorliegen, die dazu führen, daß eine nicht überwachte Operationsneuanordnung keine korrekten Ergebnisse liefert.
  • In eng gekoppelten Multiprozessorsystemen ist die Möglichkeit einer Verklemmung oder fehlerhafter Ergebnisse aufgrund von willkürlichen Aktionen in Unordnung sehr verbreitet. In der IBM 5/370 Architektur beispielsweise ist es erforderlich, daß die Operationen in der Programmsequenz ablaufen oder in Sequenz abzulaufen scheinen. Insbesondere müssen Abholungen von Operanden in Sequenz abgeholt zu werden scheinen; gängige Prozessoren beachten diese Regel, indem sie Operationen in Sequenz ausführen.
  • In Pipeline-Prozessoren ist es bereits eine standardmäßige Vorgehensweise, nach einer bestimmten Bedingung in Unordnung zu suchen, die dann auftreten kann, wenn eine Abholung kurze Zeit nach einer Speicheranweisung erfolgt. In diesem Fall erfolgt die Abholung nicht in Unordnung, sondern die Speicherung wird innerhalb der Pipeline an späterer Stelle vervollständigt. Daher kann das Ergebnis der Speicherung noch nicht im Speicher oder im Cache erkennbar sein, wenn die nachfolgende Abholung durchgeführt wird. Diese Bedingung wird durch Speicherung der Adressen gestarteter, jedoch noch nicht vollständiger Speicherungen, und Vergleich nachfolgender Abholungsadressen mit diesen Speicheradressen überprüft. Dieser Mechanismus wird OPERAND STORE COMPARE genannt. Verglichene Abholungen werden aufgehalten, bis die Speicherung vollständig ist.
  • OPERAND STORE COMPARE läßt sich auf ein begrenztes Zeitintervall anwenden. Dieses Zeitintervall wird durch die Länge der Pipeline bestimmt. Wenn eine Speicherung den Punkt in der Pipeline erreicht, an dem sie vollständig ist, dann wird die Adresse dieser Speicherung aus OPERAND STORE COMPARE entfernt.
  • Auf dem bisherigen Stand der Technik beschreibt das U.S.-Patent Nr. 4,484,267 an Fletcher einen Hybrid-Cache, in dem einige Cache-Leitungen als Speicher-ein, das heißt, die Hauptspeicheraktualisierung wird verschoben, und die restlichen Cache- Leitungen als Speicher-durch, das heißt, die Hauptspeicheraktualisierung erfolgt sofort, behandelt werden. Demgemäß waren bisher Cache-Speicher entweder alle Speicher-ein oder alle Speicher-durch. Die Frage, wie jede Leitung zu behandeln ist, wird dynamisch festgelegt und durch ein Flag-Bit im Cache- Verzeichnis gekennzeichnet. Das Bit kann beispielsweise durch eine Querabfrage neu eingestellt werden.
  • Das U.S.-Patent Nr. 4,189,770 an Gannon et al. beschreibt eine Umleitungsanordnung, in der bei einer Cache-Verfehlung für einen Operanden variabler Feldlänge der Operand direkt an die Anweisungseinheit gesendet wird, ohne darauf zu warten, daß die gesamte Leitung vom Hauptspeicher in den Cache gesendet wird. Gannon et al beschäftigen sich nicht mit der Operation des Caches und liefern keine Beschreibung zu Abholungen in Unordnung.
  • Das U.S.-Patent Nr. 4,435,759 an Baum et al. beschreibt ein Überwachungssystem zur Erfassung und Aufzeichnung von Ereignissen bei der Operation eines Prozessors. Unter den erfaßten Ereignissen sind die Adressen der Anweisungen und die Cache- Verfehlungen enthalten.
  • Das U.S.-Patent Nr. 4,400,770 an Chan et al. untersucht Mittel zur Erkennung und Behandlung von Cache-Synonymen. Cache-Synonyme treten auf, weil Caches normalerweise aus Gründen der Schnelligkeit und Einfachheit teils direkt und teils assoziativ adressiert sind. Caches sind in Leitungssätze unterteilt, das heißt, vier Leitungen pro Satz; diese Sätze werden, wie ein herkömmlicher Speicher, direkt adressiert. Die Auswahl der richtigen Leitung innerhalb des Satzes erfolgt assoziativ, das heißt, durch Vergleich der vorliegenden Adresse mit den Leitungsadressen,die im Cache-Verzeichnis gespeichert sind. In der S/370- Architektur werden die unübersetzten Bits niedriger Ordnung (12 Bits) der vorliegenden Adresse verwendet, um den Satz direkt auszuwählen, während ein Teil der übersetzten Bits höherer Ordnung verwendet wird, um die Leitung innerhalb des Satzes assoziativ auszuwählen. Mit steigender Anzahl an Sätzen im Cache zur Vergrößerung des Caches sind nicht mehr ausreichend unübersetzte Bits niedriger Ordnung vorhanden, um den Satz auszuwählen; dann ist es erforderlich, einige der übersetzten Bits höherer Ordnung zu verwenden. Nun kann es Synonyme geben, das heißt, zwei oder mehr übersetzte Adressen, die zur selben realen Speicherposition führen können. Solche Synonyme müssen aus mehreren Gründen erkannt und entsprechend behandelt werden. Chan et al. beschreiben, wie diese Synonyme gefunden werden können. Im Fall einer Cache-Verfehlung stellen Chan et al. ein Mittel zur Erzeugung aller möglichen Synonyme, das heißt, Herstellung aller möglichen Kombinationen der übersetzten Bits, sowie zur Überprüfung des Cache-Verzeichnisses auf Vorhandensein eines der Synonyme zur Verfügung. Bei der Erkennung eines Synonyms sind mehrere Schritte möglich.
  • Ein Ziel der vorliegenden Erfindung besteht darin, ein Mittel anzubieten, das die Erzielung eines bedeutenden Leistungsvorteils in einigen Prozessorauslegungen dadurch ermöglicht, daß Operationen auch in Unordnung ausgeführt werden können.
  • Ein weiteres Ziel der vorliegenden Erfindung besteht darin, einen einfachen Mechanismus anzubieten, der die Zufallsereignisse identifizieren kann, die bei der Abholung von Operanden in Unordnung auftreten.
  • Ein weiteres und spezifischeres Ziel der vorliegenden Erfindung besteht darin, einen Mechanismus anzubieten, der eine effizientere Identifikation der Zufallsereignisse bei Abholungen in der normalen Sequenz ermöglicht; hierbei wird eine erhöhte Leistung in einem Multiprozessorsystem erleichtert.
  • Durch Überwachung der relevanten Prozessoraktivität, die zwischen der tatsächlichen Abholung des Operanden und dem Punkt, an dem der Operand normalerweise abgeholt würde, einschließlich Speicherungen, die vom Prozessor erzeugt werden, Cross-Invalidates (XIs), die von anderen Prozessoren und Elementen erzeugt werden, Prozessor-Cache-Verfehlungen und Serialisierungsereignisse innerhalb des Prozessors, auftritt, werden die Zufallsereignisse entdeckt. Auf diese Weise kann der beschriebene Mechanismus die Überwachung von Zufallsereignissen auf die Abholung von Operanden in Unordnung erweitern.
  • Die vorliegende Erfindung läßt sich auf ein willkürliches Zeitintervall anwenden, das von der Größe des Stapels abhängig ist, der vom Programmierer zur Verfügung gestellt wird. Sie läßt sich auf Abholungen in Unordnung anwenden und behandelt nicht nur die Auswirkungen von Speicherungen, sondern auch alle anderen Ereignisse, die dazu führen könnten, daß eine Abholung in Unordnung zu beobachten ist. Eine Abholung kann auf zwei verschiedene Arten in Unordnung sein. Sie kann vor oder nach ihrer eigentlichen Position innerhalb des Programms erfolgen. Eine Abholung vor der eigentlichen Position kann zu einer Erhöhung der Leistung führen. Diese Situation ist Gegenstand der vorliegenden Beschreibung.
  • Das zentrale Element der vorliegenden Erfindung ist ein Stapel, der die Adressen der Abholungen enthält, die in Unordnung erfolgten. Diese Adressen bleiben im Stapel erhalten, bis die Anweisung, die die Abholung ausgelöst hat, in der richtigen Sequenz behandelt wird. Ein weiteres Element der Erfindung besteht in einem Vergleichsmittel, mit dem alle gültigen Adressen im Stapel mit einer Testadresse verglichen werden, und einem Signal, das Compare oder No Compare anzeigt. Die Adressen aller Speicheranweisungen sowie alle Querabfrageadressen anderer Prozessoren (in einem Multiprozessorsystem) werden als Testadressen verwendet. Wenn eine dieser Adressen das Signal "compare" abgeben, dann wird die dazugehörige Abholadresse als ungültig gekennzeichnet.
  • Zwei andere Ereignisse, eine Cache-Verfehlung oder eine Serialisierungsanweisung, weisen auf die Möglichkeit hin, daß viele der Abholungen in Unordnung ungültig sein können. Für diese Ereignisse wird der gesamte Stapel als ungültig gekennzeichnet. Die vom Prozessor durchgeführte Maßnahme für als ungültig gekennzeichnete Adressen hängt davon ab, auf welche Weise der Prozessor die Abholung in Unordnung nutzt. Das Ziel der vorliegenden Erfindung liegt darin, ein Warnsignal an den Prozessor zu liefern, wenn eine Korrekturmaßnahme erforderlich wird. Ist kein Warnsignal vorhanden, das heißt, keine Adresse ist als ungültig gekennzeichnet, dann weiß der Prozessor, daß die dazugehörigen Abholungen nicht in Unordnung sein können und daß die erzielten Ergebnisse genau so korrekt sind wie wenn die Abholungen in Sequenz wären.
  • Die einzelnen Elemente der Erfindung sind wie folgt:
  • 1. Ein Stapel aus N Einträgen, die die Adressen des letzten M enthalten, wobei M kleiner oder gleich N Abholungen in Unordnung ist.
  • 2. Vergleichsmittel für den Vergleich von Adressen im Stapel mit einer Testadresse.
  • 3. Mittel für die Markierung als ungültig derjenigen Adressen, die mit der Testadresse übereinstimmen.
  • 4. Mittel zur Auswahl von Speicheradressen und Querinvalidierungsadressen als Testadressen.
  • 5. Mittel zur Markierung aller Adressen im Abholstapel als ungültig bei Auftauchen einer Cache-Verfehlung oder einer Serialisierungsanweisung.
  • 6. Mittel, um eine Adresse im Stapel mit der Anweisung in Verbindung zu bringen, für die sie steht, sowie für das Löschen dem Adresse, wenn die Anweisung in der richtigen Sequenz behandelt wird.
  • Unter erneutem Bezug auf den bisherigen Stand der Technik stellt man fest, daß es eine oberflächliche Ähnlichkeit zwischen dem Verzeichnis eines beliebigen Caches (siehe beispielsweise das bereits angeführte Patent an Fletcher) und dem oben genannten Schlüsselement (1) gibt, dem Stapel aus M Adressen; diese Ähnlichkeit besteht darin, daß beide in ihren Einträgen Adressen besitzen und beide gültige Bits haben. Die Adressen im Cache- Verzeichnis sind jedoch Leitungsadressen, die in der Cache- Anordnung gespeichert werden, während die Adressen im Stapel die Adressen der Abholungen in Unordnung sind. In anderen Worten, der Zweck unterscheidet sich erheblich. Schlüsselelement (2), das Vergleichsmittel, ist in jedem Cache vorhanden; in einem herkömmlichen Cache wird jedoch vom Vergleich erwartet, daß für die meisten Testadressen ein "compare" gefunden wird, das heißt, Cache-Verweise, während in der vorliegenden Erfindung der Vergleich nur unregelmäßig ein "compare" findet. Auch hieb sind die Nutzungsmöglichkeiten unterschiedlich. Die Schlüsselelemente (3) und (4), die solche Adressen im Stapel als ungültig kennzeichnen, die mit den Speicher- und Querinvalidierungsadressen übereinstimmen, besitzen ein Gegenstück in den Caches von Multiprozessorsystemen. In solchen Systemen können Speicherungen und Querinvalidierungen anderer Prozessoren im System zur Invalidierung von Verzeichniseinträgen führen. Das Schlüsselelement (5), ein Mittel zur Invalidierung des gesamten Stapels bei Auftauchen einer Cache-Verfehlung oder einer Serialisierungsanweisung, befindet sich in keinem Cache des bisherigen Stands der Technik, insbesondere nicht in den von Fletcher und Chan et al. beschriebenen, da ein Cache, in dem dies der Fall wäre, nur selten viele gültige Einträge hätte und daher nutzlos wäre. Das Schlüsselelement (6), ein Mittel zur Herstellung einer Verbindung zwischen einer Adresse im Stapel und der Anweisung, für die sie steht, befindet sich in keinem Cache des bisherigen Stands der Technik, insbesondere nicht in den von Fletcher und Chan et al. beschriebenen.
  • Die bisherigen Ausführungen sowie weitere Ziele, Aspekte und Vorteile der Erfindung werden leichter verständlich durch die nachfolgende ausführliche Beschreibung anhand der beiliegenden Zeichnungen
  • Fig. 1 ist ein Blockdiagramm eines Mechanismus für die Aufstellung und Überwachung von Abholungen in Unordnung gemäß der vorliegenden Erfindung;
  • Fig. 2 ist ein Blockdiagramm, das etwas ausführlicher die Verteilungs-, Vergleichs- und Stapelstruktur des Mechanismus in Fig. 1 zeigt;
  • Fig. 3 ist ein Blockdiagramm, das etwas ausführlicher die Eingangsüberprüfungsfunktion und die Stapelstruktur des Mechanismus in Fig. 1 zeigt; und
  • Fig. 4 ist ein Logikdiagramm, das die Logik der in Fig. 3 dargestellten Eingangsüberprüfung darstellt.
  • Unter Bezugnahme auf die Zeichnungen, und insbesondere auf Fig. 1, wird ein Mechanismus für die Aufstellung und Überwachung von Abholungen in Unordnung aufgestellt. Für jede Abholung in Unordnung wird der Stapel 119 um einen Eintrag erweitert. Jeder Eintrag 101 besteht aus der Adresse, an der die Abholung erfolgte, einer Kennzeichnung für die mit der Abholung in Zusammenhang stehenden Anweisung, einem voll/leer-Bit (zur Bezeichnung des Vorhandenseins eines Eintrags), und einem gültigen Bit. Wenn der Stapel um einen Eintrag erweitert wird, wird das voll/leer-Bit auf Voll gesetzt und das gültige Bit wird auf Gültig gesetzt. Der Stapel besteht aus einer bestimmten Anzahl an Hardware-Registern. Zu einem gegebenen Zeitpunkt kann es vorkommen, daß einige Register keine Einträge haben. In diesen Registern wird das voll/leer-Bit auf Leer gesetzt. Andererseits gilt, daß, wenn der Stapel um einen Eintrag erweitert wird und alle Register bereits voll sind, eine Überflußbedingung auftritt und die Überflußleitung 121 aktiviert wird; hierdurch wird ein Datenverlust signalisiert. Das Überflußsignal auf der Leitung 121 wird als eine Eingabe an das OR-Gatter 109 geliefert.
  • Neben dem Überfluß gibt es vier Ereignisse, die zu überwachen sind, da sie bewirken können, daß eine Abholung in Unordnung inkorrekt ist oder zumindest die Möglichkeit besteht, daß diese Abholungen inkorrekt sind. Das erste Ereignis ist eine Speicherung, die vor der ersten Abholung logisch ist. Wenn eine solche Speicherung an einer Adresse erfolgt, an der eine Abholung in Unordnung erfolgte, dann erhielt eindeutig die Abholung nicht den korrekten neuen Wert, das heißt, die Abholung erfolgte vor der Speicherung, obwohl nach der Logik die Abholung erst nach der Speicherung hätte erfolgen dürfen. Die Adressen solcher Speicherungen werden an das OR-Gatter 107 und anschließend an den Verteiler 105 geliefert, um vom Komparator 103 mit allen Adressen im Stapel 119 verglichen zu werden. Stimmt eine Adresse im Stapel mit einer Speicheradresse überein und ist das dazugehörige voll/leer-Bit voll, dann wird das dazugehörige gültige Bit auf Ungültig gesetzt. Wie an späterer Stelle noch ersichtlich werden wird, kann ein Eintrag, der sowohl Voll und Ungültig ist, eine nachträgliche Korrekturmaßnahme erfordern.
  • Fig. 2 zeigt etwas ausführlicher die Struktur, die nach einer Speicherung sucht, die logisch gesehen vor der entsprechenden Abholung eintritt. Abholadressen werden in einer Mehrzahl von Registern 122 gespeichert, die den Stapel 119 bilden. An die Adresse für jedes Register wird eine entsprechende Komparatorschaltung 124 des Komparators 103 geliefert. Jeder Komparator 124 empfängt die Speicheradresse über den Verteiler 105 und das OR-Gatter 107. Erfolgt von einer der Komparatorschaltungen 124 eine "compare" Ausgabe, das heißt, die Abholadresse in einem der Register 122 stimmt mit der Speicheradresse überein, dann wird über ein OR-Gatter eine Invalidierungsausgabe geliefert, um das gültige Bit 128 für dieses Register auf ungültig zu setzen.
  • Die zweite Art von Ereignis ist eine Querabfrage eines anderen Prozessors. Diese Adressen werden ebenfalls an das OR-Gatter 107 und anschließend an den Verteiler 105 geliefert. Die ergriffenen Maßnahmen gleichen denen für Speicheradressen. Die dritte Art an Ereignis ist die Serialisierung von Anweisungen, für die die Architektur erfordert, daß alle vorherigen Anweisungen vollständig sind, bevor die Serialisierungsanweisung vervollständigt wird. Für dieses Ereignis müssen alle Einträge im Stapel 119 als ungültig gekennzeichnet werden. Das Auftreten einer Serialisierungsanweisung wird an das OR-Gatter 109 geliefert, das in Fig. 1 dargestellt ist, und die Ausgabe, auf Leitung 123, wird an die OR-Gatter 126 geliefert, um zu bewirken, daß alle gültigen Bits 128 auf ungültig gesetzt werden, wie dies in Fig. 2 dargestellt ist.
  • Die vierte Art eines Ereignisses ist eine Cache-Verfehlung. Es wurde beschlossen, bei einer Cache-Verfehlung alle Einträge als ungültig zu kennzeichnen, indem die Anzeige der Cache-Verfehlung an das OR-Gatter 109 geliefert wird. Streng genommen ist es nicht sicher, ob eine Cache-Verfehlung bei Abholungen in Unordnung Schwierigkeiten bereitet, und es sollte möglich sein, zu entscheiden, ob eine gegebene Verfehlung die Anwendung einer Korrekturmaßnahme erforderlich macht. Aus Gründen der Leistungsfähigkeit wurde jedoch versucht, Cache-Verfehlungen möglichst selten auftreten zu lassen, so daß bei der Invalidierung aller Verfehlungen keine allzu großen Datenverluste auftreten. Wenn schließlich im Stapel 119 eine Überflußbedingung auftritt, wird die Invalidierung aller Einträge gewählt.
  • Die Einträge in den Stapel erfolgen zu dem Zeitpunkt, zu dem die Abholungen in Unordnung erfolgen. Die Einträge werden vom Stapel entfernt, wenn die dazugehörige Anweisung "in Sequenz" erfolgt; das heißt, wenn diese zur derzeit dekodierten Anweisung wird. Es ist zu beachten, daß die Definition darüber, wann sich eine Anweisung in Sequenz befindet, davon abhängig ist, wie der Prozessor organisiert ist. Da der Prozessor nicht Gegenstand der vorliegenden Erfindung ist, wird lediglich auf die "derzeitige" Anweisung Bezug genommen. Die Kennzeichnung der aktuellen Anweisung 111 wird auf die Funktion 113 Eintrag Auswählen und Überprüfen angewandt. Der Eintrag mit der entsprechenden Kennzeichnung wird ausgewählt und dessen voll/leer-Bit und gültiges Bit werden gelesen. Wenn der Eintrag sowohl Voll als auch Gültig ist, dann treten bei der Abholung in Unordnung keine Schwierigkeiten auf und es ist keine Korrektur erforderlich. Diese Tatsache wird auf Leitung 115 signalisiert. Wenn der Eintrag Voll und Ungültig ist, dann tritt bei der Abholung in Unordnung ein Problem auf und am Prozessor ist eine Korrekturmaßnahme erforderlich. Diese Tatsache wird auf Leitung 117 signalisiert. Die Art der durchzuführenden Korrekturmaßnahme ist von der Auslegung des Prozessors abhängig und soll nicht Gegenstand der vorliegenden Beschreibung sein.
  • In Fig. 3 ist ausführlich dargestellt, wie die Signale auf den Leitungen 115 und 117 erzeugt werden. Auch hier enthält der Stapel 119 eine Mehrzahl an Registern 122, die die Abholadressen enthalten. Zu jeder Abholadresse gehören ein gültiges Bit 128, ein voll/leer-Bit 120 und eine Kennzeichnung 118. Selbstverständlich können sich die Abholadresse, das gültige Bit, das voll/leer-Bit und die Kennzeichnung alle in einem Register befinden. Die in Fig. 3 dargestellte Trennung ist lediglich eine Hilfe zum Verständnis der in jedem der Register gespeicherten Datenart. Das voll/leer-Bit 120 liefert ein Signal, welches anzeigt, ob sein dazugehöriges Register voll oder leer ist, und das gültige Bit 128 zeigt an, ob die Abholadresse im Register gültig oder ungültig ist. Diese Signale werden zur Überprüfung der Eingangslogik 125 geliefert. Die Kennzeichnung 118 für jede Adresse wird an eine dazugehörige Vergleichsschaltung 130 geliefert. Alle Vergleichsschaltungen 130 empfangen die Kennzeichnung 111 der derzeitigen Anweisung, und je nachdem, welche Vergleichsschaltung eine Ausgabe liefert, das heißt, die Kennzeichnung der derzeitigen Anweisung ist gleich der Kennzeichnung einer der Abholadressen, die in einem Register 122 des Stapels 119 gespeichert sind, wird die entsprechendem Eingangsüberprüfungslogik 125 aktiviert, um entweder auf Leitung 115 oder 117 eine Ausgabe zu liefern.
  • Fig. 4 zeigt die Eingangsüberprüfungslogik 125, die die AND- Gatter 132, 134 und 136 sowie ein OR-Gatter 138 umfaßt. Das AND- Gatter 132 empfängt vom gültigen Bit 128 ein Signal auf Leitung 129, welches anzeigt, daß die Adresse ungültig ist; ein Signal auf Leitung 127 vom voll/leer-Bit 120 zeigt an, daß das Abholadreßregister voll ist und ein Aktivierungssignal auf Leitung 131 von der Vergleichsschaltung 130 zur Erzeugung einer Ausgabe auf Leitung 117 zeigt an, daß das Abholadreßregister voll und ungültig ist. Das AND-Gatter 134 wird ebenfalls durch ein Signal auf Leitung 131 aktiviert und empfängt dasselbe volle Signal auf Leitung 127, empfängt jedoch ein gültiges Signal auf Leitung 129 zur Erzeugung einer Ausgabe, die anzeigt, daß das Abholadreßregister voll und gültig ist. Das AND-Gatter 136 wird ebenfalls durch ein Signal auf Leitung 131 aktiviert, empfängt jedoch vom voll/leer-Bit 120 ein leeres Signal auf Leitung 127 zur Erzeugung eines Signals, welches anzeigt, daß das Abholadreßregister leer ist. Die Ausgänge der AND-Gatter 134 und 136 werden im OR-Gatter 138 kombiniert, um auf Leitung 115 ein Signal zu erzeugen, welches anzeigt, daß das Abholadreßregister entweder leer oder voll und gültig ist.
  • Natürlich gibt es auch Anweisungen, die keine Abholungen miteinschließen, so beispielsweise die Register-zu-Register-Anweisungen der S/370-Architektur. Für diese Anweisungen gehen wir von der Annahme aus, daß der Stapel 119 um einen Eintrag erweitert wird, wobei das Kennzeichen der dazugehörigen Anweisung und das voll/leer-Bit auf Leer gesetzt sind. Wenn diese Anweisung zur derzeitigen Anweisung wird, gibt die Funktion Eintrag Auswählen und Überprüfen auf Leitung 115 ein Signal ab, welches anzeigt, daß keine Korrektur erforderlich ist. Ebenso kann festgelegt werden, daß für solche Anweisungen in Stapel 119 keine Einträge erfolgen und daß auf Leitung 115 ein Signal ausgegeben wird, wenn die Funktion Eintrag Auswählen und Überprüfen kein passendes Kennzeichen im Stapel findet.
  • Zusammenfassend läßt sich sagen, daß aus der Abholung in Unordnung zwei Arten von Zufallsereignissen resultieren können. Das erste betrifft die Richtigkeit des ausgeführten Programms, das zweite betrifft das, was ein anderer Prozessor feststellt. Um die Richtigkeit des ausgeführten Programms aufrechtzuerhalten, müssen alle Speicheroperationen überwacht werden, um festzustellen, ob diese irgendwelche Änderungen in den zuvor abgeholten Daten bewirken, die jedoch gemäß dem Programm erst nach der Speicherung hätten abgeholt werden sollen.
  • In einem System, in dem zwei oder mehr Prozessoren an denselben Speicher angeschlossen sind, können die vom einen Prozessor durchgeführten Maßnahmen vom anderen Prozessor als Änderungen im Speicher, das heißt, Speicheroperationen, identifiziert werden; wenn beispielsweise Prozessor 1 einen neuen Wert in Position A speichert, dann erkennt Prozessor 2 bei der Abholung von Position A entweder einen alten oder einen neuen Wert, je nachdem, ob die Abholung vor oder nach der Speicherung geschah. Entsprechend kann der Prozessor 2 in Position B speichern, und Prozessor 1 kann von Position B abholen. Wenn Abholungen und Speicherungen nicht in Folge bleiben, kann es passieren, daß einer der Prozessoren eine logisch unmögliche Situation identifiziert, nämlich daß A vor B auftrat und daß gleichzeitig B vor A auftrat. Dieses Ereignis wird dadurch vermieden, indem die Bedingungen, die zu diesem Ereignis führen können, nämlich insbesondere Querabfragen und Cache-Verfehlungen, überwacht werden.
  • Die vorliegende Erfindung bieten einen Vorteil in der Leistungsfähigkeit einiger Prozessoren, indem Abholungen in Unordnung ermöglicht wenden. Durch Überwachung der entsprechenden Prozessoraktivität, die zwischen der tatsächlichen Abholung des Operanden und dem Punkt, an dem der Operand normalerweise abgeholt würde, auftritt, können die Zufallsereignisse der Abholung in Unordnung identifiziert und geeignete Korrekturmaßnahmen ergriffen werden. Das zentrale Element der vorliegenden Erfindung besteht im Stapel, der die Adressen der Abholungen enthält, die in Unordnung erfolgten. Ein Vergleichsmittel vergleicht alle Adressen im Stapel mit einer Testadresse und gibt ein Signal ab, welches "compare" oder "no compare" anzeigt. Wenn eine dieser Adressen "compare" signalisiert, dann wird die dazugehörige Adresse als ungültig markiert. Eine Cache-Verfehlung oder eine Serialisierungsanweisung bergen ebenfalls die Möglichkeit, daß viele der Abholungen in Unordnung ungültig sind; bei einem solchen Ereignis wird der gesamte Stapel als ungültig markiert.

Claims (6)

1. Gerät zur Überwachung von Abholungen in Unordnung in einem Computer, der ein Mittel zur Abholung von Operanden und zur Ausführung von Anweisungen in Übereinstimmung damit enthält, bestehend aus:
einem Stapel mit N Einträgen zur Speicherung der Adressen des letzten M der Sequenzabholungen, wobei M kleiner oder gleich N ist, wobei jede dieser Adressen ein dazugehöriges gültiges Bit aufweist;
ein Vergleichsmittel für den Vergleich von Adressen in diesem Stapel mit einer vorbestimmten Testadresse;
ein Mittel zur Einstellung der gültigen Bits der Adressen, die mit der Testadresse übereinstimmen, auf ungültig;
ein Mittel zur Auswahl von Speicheradressen und Querinvalidierungsadressen zur Verwendung als vorbestimmte Testadressen; und
ein Mittel zur Herstellung einer Verbindung zwischen einer Adresse im Stapel und einer Anweisung sowie für das Löschen einer Adresse, wenn die Anweisung in der richtigen Sequenz behandelt wird.
2. Ein Gerät zur Überwachung von Abholungen in Unordnung gemäß Anspruch 1, des weiteren bestehend aus einem Mittel zur Einstellung der gültigen Bits für alle Adressen im Abholstapel auf ungültig, wenn eine Cache-Verfehlung auftritt.
3. Ein Gerät zur Überwachung von Abholungen in Unordnung gemäß Anspruch 1, des weiteren bestehend aus einem Mittel zur Einstellung der gültigen Bits für alle Adressen im Abholstapel auf ungültig, wenn eine Serialisierungsansweisung aufritt.
4. Ein Gerät zur Überwachung von Abholungen in Unordnung gemäß Anspruch 1, des weiteren bestehend aus einem Mittel zur Einstellung der gültigen Bits für alle Adressen im Abholstapel auf ungültig, wenn mindestens eine Cache-Verfehlung oder eine Serialisierungsanweisung auftritt.
5. Ein Gerät zur Überwachung von Abholungen in Unordnung gemäß Anspruch 1, wobei jede dem im Stapel befindlichen Adressen des weiteren ein dazugehöriges voll/leer-Bit aufweist; dieses voll/leer-Bit wird auf voll gesetzt, wenn für die Adresse im Stapel ein Eintrag vorhanden ist, und wenn das Mittel zur Herstellung einer Verbindung der Adresse im Stapel mit einer Anweisung folgendes enthält:
ein Mittel zur Auswahl eines Eintrags in diesem Stapel, der einer aktuellen Anweisung entspricht; und
ein Mittel zur Überprüfung des voll/leer-Bits und des gültigen Bits für den ausgewählten Eintrag und Signalisierung, daß eine Korrekturmaßnahme erforderlich ist, wenn das voll/leer-Bit auf voll und das gültige Bit auf ungültig gesetzt ist.
6. Ein Gerät zur Überwachung von Abholungen in Unordnung gemäß Anspruch s, des weiteren bestehend aus:
einem Mittel zur Erkennung und Signalisierung einer Überflußbedingung im Stapel; und
einem Mittel zur Einstellung der gültigen Bits aller Adressen im Stapel auf ungültig als Reaktion auf die Signalisierung einer Überflußbedingung.
DE88106390T 1987-05-18 1988-04-21 Abholung von Operanden in Unordnung. Expired - Fee Related DE3884101T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/051,792 US4991090A (en) 1987-05-18 1987-05-18 Posting out-of-sequence fetches

Publications (2)

Publication Number Publication Date
DE3884101D1 DE3884101D1 (de) 1993-10-21
DE3884101T2 true DE3884101T2 (de) 1994-04-21

Family

ID=21973404

Family Applications (1)

Application Number Title Priority Date Filing Date
DE88106390T Expired - Fee Related DE3884101T2 (de) 1987-05-18 1988-04-21 Abholung von Operanden in Unordnung.

Country Status (4)

Country Link
US (1) US4991090A (de)
EP (1) EP0302999B1 (de)
JP (1) JPS63293639A (de)
DE (1) DE3884101T2 (de)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5193205A (en) * 1988-03-01 1993-03-09 Mitsubishi Denki Kabushiki Kaisha Pipeline processor, with return address stack storing only pre-return processed address for judging validity and correction of unprocessed address
JPH0774994B2 (ja) * 1988-09-21 1995-08-09 株式会社日立製作所 バッファ記憶制御装置のosc検出方式
JPH02103656A (ja) * 1988-10-12 1990-04-16 Fujitsu Ltd 主記憶参照の遂次化制御方式
US5125083A (en) * 1989-02-03 1992-06-23 Digital Equipment Corporation Method and apparatus for resolving a variable number of potential memory access conflicts in a pipelined computer system
US5781753A (en) * 1989-02-24 1998-07-14 Advanced Micro Devices, Inc. Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions
US5768575A (en) * 1989-02-24 1998-06-16 Advanced Micro Devices, Inc. Semi-Autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for sepculative and out-of-order execution of complex instructions
US5226126A (en) * 1989-02-24 1993-07-06 Nexgen Microsystems Processor having plurality of functional units for orderly retiring outstanding operations based upon its associated tags
CA2016068C (en) * 1989-05-24 2000-04-04 Robert W. Horst Multiple instruction issue computer architecture
US5093777A (en) * 1989-06-12 1992-03-03 Bull Hn Information Systems Inc. Method and apparatus for predicting address of a subsequent cache request upon analyzing address patterns stored in separate miss stack
JPH0348951A (ja) * 1989-07-18 1991-03-01 Fujitsu Ltd アドレスモニタ装置
US5185871A (en) * 1989-12-26 1993-02-09 International Business Machines Corporation Coordination of out-of-sequence fetching between multiple processors using re-execution of instructions
US5197139A (en) * 1990-04-05 1993-03-23 International Business Machines Corporation Cache management for multi-processor systems utilizing bulk cross-invalidate
US5151981A (en) * 1990-07-13 1992-09-29 International Business Machines Corporation Instruction sampling instrumentation
US5446850A (en) * 1991-01-15 1995-08-29 International Business Machines Corporation Cross-cache-line compounding algorithm for scism processors
US5257354A (en) * 1991-01-16 1993-10-26 International Business Machines Corporation System for monitoring and undoing execution of instructions beyond a serialization point upon occurrence of in-correct results
US5261071A (en) * 1991-03-21 1993-11-09 Control Data System, Inc. Dual pipe cache memory with out-of-order issue capability
US5630157A (en) * 1991-06-13 1997-05-13 International Business Machines Corporation Computer organization for multiple and out-of-order execution of condition code testing and setting instructions
US5636363A (en) * 1991-06-14 1997-06-03 Integrated Device Technology, Inc. Hardware control structure and method for off-chip monitoring entries of an on-chip cache
US5317711A (en) * 1991-06-14 1994-05-31 Integrated Device Technology, Inc. Structure and method for monitoring an internal cache
JP2786574B2 (ja) * 1992-05-06 1998-08-13 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・システムにおける順不同ロード動作の性能を改善する方法と装置
US5355471A (en) * 1992-08-14 1994-10-11 Pyramid Technology Corporation Multiprocessor cache coherency tester that exercises the coherency logic exhaustively and also detects errors in a processor using an automatic CPU sort
US6735685B1 (en) 1992-09-29 2004-05-11 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
WO1994008287A1 (en) * 1992-09-29 1994-04-14 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
US5488706A (en) * 1992-12-18 1996-01-30 Amdahl Corporation Retry request system in a pipeline data processing system where each requesting unit preserves the order of requests
US5467473A (en) * 1993-01-08 1995-11-14 International Business Machines Corporation Out of order instruction load and store comparison
US5493669A (en) * 1993-03-03 1996-02-20 Motorola, Inc. Data processor for simultaneously searching two fields of the rename buffer having first and second most recently allogated bits
JP2560988B2 (ja) * 1993-07-16 1996-12-04 日本電気株式会社 情報処理装置および処理方法
US6138230A (en) * 1993-10-18 2000-10-24 Via-Cyrix, Inc. Processor with multiple execution pipelines using pipe stage state information to control independent movement of instructions between pipe stages of an execution pipeline
US5463745A (en) * 1993-12-22 1995-10-31 Intel Corporation Methods and apparatus for determining the next instruction pointer in an out-of-order execution computer system
US5535358A (en) * 1993-12-27 1996-07-09 Matsushita Electric Industrial Co., Ltd. Cache memory control circuit and method for controlling reading and writing requests
US5588126A (en) * 1993-12-30 1996-12-24 Intel Corporation Methods and apparatus for fordwarding buffered store data on an out-of-order execution computer system
US5452426A (en) * 1994-01-04 1995-09-19 Intel Corporation Coordinating speculative and committed state register source data and immediate source data in a processor
US5898854A (en) * 1994-01-04 1999-04-27 Intel Corporation Apparatus for indicating an oldest non-retired load operation in an array
US5627985A (en) * 1994-01-04 1997-05-06 Intel Corporation Speculative and committed resource files in an out-of-order processor
US5577200A (en) * 1994-02-28 1996-11-19 Intel Corporation Method and apparatus for loading and storing misaligned data on an out-of-order execution computer system
US5465336A (en) * 1994-06-30 1995-11-07 International Business Machines Corporation Fetch and store buffer that enables out-of-order execution of memory instructions in a data processing system
US5699538A (en) * 1994-12-09 1997-12-16 International Business Machines Corporation Efficient firm consistency support mechanisms in an out-of-order execution superscaler multiprocessor
TW295646B (de) * 1995-01-25 1997-01-11 Ibm
US5649155A (en) * 1995-03-31 1997-07-15 International Business Machines Corporation Cache memory accessed by continuation requests
US5751946A (en) * 1996-01-18 1998-05-12 International Business Machines Corporation Method and system for detecting bypass error conditions in a load/store unit of a superscalar processor
US5737636A (en) * 1996-01-18 1998-04-07 International Business Machines Corporation Method and system for detecting bypass errors in a load/store unit of a superscalar processor
JP2806359B2 (ja) * 1996-04-30 1998-09-30 日本電気株式会社 命令処理方法及び命令処理装置
JP2783259B2 (ja) * 1996-07-18 1998-08-06 日本電気株式会社 半導体パッケージとその製造方法
US6021261A (en) * 1996-12-05 2000-02-01 International Business Machines Corporation Method and system for testing a multiprocessor data processing system utilizing a plurality of event tracers
US5909698A (en) * 1997-03-17 1999-06-01 International Business Machines Corporation Cache block store instruction operations where cache coherency is achieved without writing all the way back to main memory
US6289437B1 (en) * 1997-08-27 2001-09-11 International Business Machines Corporation Data processing system and method for implementing an efficient out-of-order issue mechanism
JP2004094533A (ja) * 2002-08-30 2004-03-25 Hajime Seki 計算機システム
US9483409B2 (en) 2015-02-05 2016-11-01 International Business Machines Corporation Store forwarding cache

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3401376A (en) * 1965-11-26 1968-09-10 Burroughs Corp Central processor
US3553655A (en) * 1969-03-28 1971-01-05 Ibm Short forward conditional skip hardware
US4092713A (en) * 1977-06-13 1978-05-30 Sperry Rand Corporation Post-write address word correction in cache memory system
US4354232A (en) * 1977-12-16 1982-10-12 Honeywell Information Systems Inc. Cache memory command buffer circuit
US4200927A (en) * 1978-01-03 1980-04-29 International Business Machines Corporation Multi-instruction stream branch processing mechanism
US4189772A (en) * 1978-03-16 1980-02-19 International Business Machines Corporation Operand alignment controls for VFL instructions
US4197580A (en) * 1978-06-08 1980-04-08 Bell Telephone Laboratories, Incorporated Data processing system including a cache memory
US4228503A (en) * 1978-10-02 1980-10-14 Sperry Corporation Multiplexed directory for dedicated cache memory system
US4279016A (en) * 1979-06-21 1981-07-14 International Business Machines Corporation Instruction pre-fetch microprocessor interrupt system
JPS56149646A (en) * 1980-04-21 1981-11-19 Toshiba Corp Operation controller
US4438492A (en) * 1980-08-01 1984-03-20 Advanced Micro Devices, Inc. Interruptable microprogram controller for microcomputer systems
US4399507A (en) * 1981-06-30 1983-08-16 Ibm Corporation Instruction address stack in the data memory of an instruction-pipelined processor
US4484267A (en) * 1981-12-30 1984-11-20 International Business Machines Corporation Cache sharing control in a multiprocessor
US4594659A (en) * 1982-10-13 1986-06-10 Honeywell Information Systems Inc. Method and apparatus for prefetching instructions for a central execution pipeline unit
US4594660A (en) * 1982-10-13 1986-06-10 Honeywell Information Systems Inc. Collector
DE3382152D1 (de) * 1982-12-09 1991-03-07 Sequoia Systems Inc Sicherstellungsspeichersystem.
JPS59205605A (ja) * 1983-05-07 1984-11-21 Hitachi Ltd シ−ケンス制御装置
US4648030A (en) * 1983-09-22 1987-03-03 Digital Equipment Corporation Cache invalidation mechanism for multiprocessor systems
JPH0827718B2 (ja) * 1983-10-05 1996-03-21 株式会社日立製作所 情報処理装置
FI86484C (fi) * 1984-04-27 1992-08-25 Honeywell Inf Systems Styrorgan i en digital datamaskin.
US4637024A (en) * 1984-11-02 1987-01-13 International Business Machines Corporation Redundant page identification for a catalogued memory
US4791557A (en) * 1985-07-31 1988-12-13 Wang Laboratories, Inc. Apparatus and method for monitoring and controlling the prefetching of instructions by an information processing system

Also Published As

Publication number Publication date
EP0302999B1 (de) 1993-09-15
US4991090A (en) 1991-02-05
JPS63293639A (ja) 1988-11-30
EP0302999A3 (de) 1991-11-06
DE3884101D1 (de) 1993-10-21
EP0302999A2 (de) 1989-02-15
JPH0552968B2 (de) 1993-08-06

Similar Documents

Publication Publication Date Title
DE3884101T2 (de) Abholung von Operanden in Unordnung.
DE112010003492B4 (de) Transaktionsspeichersystem mit wirksamerZwischenspeicherunterstützung
DE3687744T2 (de) Aktualisierung der verzweigungsgeschichtstabelle in einem pipeline-verarbeitungssystem.
DE4410060B4 (de) Übersetzungsvorrichtung zum Umsetzen einer virtuellen Speicheradresse in eine physikalische Speicheradresse
DE69434728T2 (de) Synchronisationssystem und verfahren in einem datencachesystem mit aufgeteiltem pegel
DE69030931T2 (de) Mehrfachsequenzprozessorsystem
DE69023568T2 (de) Cache-Speicheranordnung.
DE69904189T2 (de) Konfigurierter prozessor zur abbildung von logischen registernummern auf physikalische registernummern unter verwendung von virtuellen registernummern
DE2846495C2 (de) Zentraleinheit
DE68927172T2 (de) Multiprozessorsystem mit cache-speichern
DE69620807T2 (de) Datenverarbeitungsvorrichtung zum Vorziehen einer Datenstruktur aus dem Hauptspeicher oder seinem Cachespeicher
DE69702350T2 (de) Verzweigungsvorhersageschema für cachespeicherzeile, das von sätzen eines set-assoziativen cachespeichers gemeinsam verwendet wird
DE69622663T2 (de) Zweistufige vorausholungspufferstruktur und verfahren mit bypass
DE68928513T2 (de) Verfahren zur Vorverarbeitung mehrerer Befehle
DE69131956T2 (de) Verarbeitungsprozessor zur Verbindung von Befehlen für einen Cache-Speicher
DE69802437T2 (de) Feinkörniger übereinstimmungsmechanismus für optimistische parallelsteuerung mit verriegelungsgruppen
DE69738188T2 (de) Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor
DE69321698T2 (de) Verfahren und System zur verbesserten Genauigkeit der Sprungvorhersage in einem Superskalarprozessor
EP0010198B1 (de) Vorrichtung zur Steuerung des Seitenaustausches in einem Datenverarbeitungssystem mit virtuellem Speicher
DE69534148T2 (de) Rechnersystem zur Ausführung von Verzweigungsbefehlen
DE68928727T2 (de) Cachespeicheranlage zum Versorgen eines Festworts eines Befehlscodes mit variabler Länge und Befehlsabrufanlage
DE3851746T2 (de) Sprungvorhersage.
DE3991231C2 (de) Vektorprozessor und Verfahren zum Suchen einer Stichwortzeichenfolge in einer Textzeichenfolge
DE69130858T2 (de) Überlappende Serienverarbeitung
DE3131341A1 (de) "pufferspeicherorganisation"

Legal Events

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