DE3688923T2 - Informationsverarbeitungsvorrichtung. - Google Patents

Informationsverarbeitungsvorrichtung.

Info

Publication number
DE3688923T2
DE3688923T2 DE86115272T DE3688923T DE3688923T2 DE 3688923 T2 DE3688923 T2 DE 3688923T2 DE 86115272 T DE86115272 T DE 86115272T DE 3688923 T DE3688923 T DE 3688923T DE 3688923 T2 DE3688923 T2 DE 3688923T2
Authority
DE
Germany
Prior art keywords
instruction
register
type
decoding
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE86115272T
Other languages
English (en)
Other versions
DE3688923D1 (de
Inventor
Kazunori Kuriyama
Kenichi Wada
Akira Yamaoka
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3688923D1 publication Critical patent/DE3688923D1/de
Application granted granted Critical
Publication of DE3688923T2 publication Critical patent/DE3688923T2/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/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3873Variable length pipelines, e.g. elastic pipeline
    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Description

  • Die Erfindung betrifft eine Informationsverarbeitungsvorrichtung vom Typ, bei dem Befehle durch ein Pipeline-Steuerungsverfahren ausgeführt werden, durch das Befehle mit hoher Geschwindigkeit ausgeführt werden.
  • Ein Format eines Befehls vom Nichtregister-Typ, typischerweise ein Verzweigungsbefehl, ist in Fig. 1A dargestellt. In dieser Figur repräsentiert OP einen Operationscode (OP-Code) eines Befehls. Ein Maskierfeld M1 kennzeichnet eine Verzweigungsbedingung. Eine Adresse eines zu verzweigenden Zielbefehls wird aus der Summe (X2) + (B2) + D2 erhalten, wobei ( ) den Inhalt des Registers repräsentiert. Ein Format eines Befehls vom Registertyp (RR-Typ) ist in Fig. 1B dargestellt. In der Figur repräsentiert OP den Operationscode eines Befehls. Der erste Operand wird in einem durch R1 benannten Register in einem Universalregister oder einem Gleitkommaregister gehalten, während der zweite Operand in einem durch R2 benannten Register im Universalregister oder einem Gleitkommaregister gehalten wird. Ein Befehl vom Registertyp ist durch die Tatsache gekennzeichnet, daß beide Operanden in Registern gehalten werden. Bei der Anmeldung ist ein Befehl vom Registertyp oder ein Befehl von erstem Typ als Befehl eines solchen Typs definiert, bei dem alle zum Ausführen eines solchen Befehls erforderlichen Operanden in bestimmten Registern im Universalregister oder im Gleitkommaregister abgespeichert sind, und ein Befehl vom Nichtregister-Typ oder ein Befehl von zweitem Typ ist als Befehl von solchem Typ definiert, bei dem mindestens einer der zum Ausführen eines solchen Befehls erforderlichen Operanden im Speicher gehalten wird.
  • Fig. 2A veranschaulicht die herkömmliche Verarbeitung eines Verzweigungsbefehl s unter Verwendung eines Pipeline-Steuerungsverfahrens. D, A, L, E und P in Fig. 2A repräsentieren jeweils ein Stadium bei der Pipelineverarbeitung. Mit einem Zyklus nach dem anderen wird jeweils ein anderer Befehl in eine Pipeline eingegeben, und mehrere Befehle können zeitlich parallel verarbeitet werden. In Fig. 2A repräsentieren Befehle 0 bis 3 Befehle vom Registertyp, und ein Befehl 4 repräsentiert einen Verzweigungsbefehl, der ein Befehl vom Nichtregister-Typ ist, und ein Befehl 5 repräsentiert einen zu verzweigenden Zielbefehl.
  • Im Stadium D werden ein Befehl decodiert, ein Indexregister (X2) und ein Basisregister (B2) gelesen, um eine logische Operation (X2) + (B2) + D2 auf Grundlage der gelesenen Registerinhalte auszuführen, und es wird eine Adresse für eine Speichereinheit erhalten, aus der ein abzuarbeitender Datenwert (Operand) ausgelesen wird. In den Stadien A und L wird auf Grundlage der erhaltenen Adresse auf die Speichereinheit zugegriffen. Im Stadium E wird der ausgelesene Operandendatenwert abgearbeitet. Im Stadium P wird das Ausführungsergebnis in Register eingeschrieben.
  • Herkömmlicherweise wurde das Abrufen eines zu verzweigenden Zielbefehls 5 in den Stadien D, A und L des Verzweigungsbefehls 4 ausgeführt. Der zu verzweigende Zielbefehl 5 wird im Stadium E, folgend auf das Stadium L des Verzweigungsbefehls 4 in einen Befehlspuffer geladen. Im Ergebnis beginnt, wie dies in Fig. 2A dargestellt ist, was das Stadium E betrifft, dieses Stadium E des zu verzweigenden Zielbefehls 5 drei Zyklen nach dem Stadium E des Verzweigungsbefehls 4, so daß der Ausführungswirkungsgrad für den Verzweigungsbefehl schlecht ist.
  • Ferner besteht, da das Decodieren des auf einen Befehl vom Registertyp folgenden Befehls, wie des Befehls 0, 1, 2 oder 3 nur nach Abschluß des Stadiums D eines Befehls vom Registertyp möglich ist, die Schwierigkeit, daß es lange Zeit beansprucht, um mehrere Befehle abzuarbeiten, die Befehle vom Registertyp beinhalten.
  • Eine einschlägige Informationsverarbeitungsvorrichtung dieses Typs ist z. B. in JP-A-56-94444 offenbart.
  • Eine weitere Informationsverarbeitungsvorrichtung, die die im ersten Teil von Anspruch 1 enthaltenen Merkmale aufweist, ist aus COMPUTER, April 1982, IEEE, New York, USA, Seiten 27-36 bekannt.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist eine Aufgabe der Erfindung, eine Informationsverarbeitungsvorrichtung anzugeben, die dazu in der Lage ist, einen Verzweigungsbefehl mit hoher Geschwindigkeit auszuführen.
  • Es ist eine andere Aufgabe der Erfindung, eine Informationsverarbeitungsvorrichtung vom Pipeline-Steuerungstyp anzugeben, die dazu in der Lage ist, mehrere Befehle mit verbesserter Geschwindigkeit auszuführen.
  • Die Erfindung löst die obigen Aufgaben durch die durch Anspruch 1 definierte Informationsverarbeitungsvorrichtung.
  • Bei einem Ausführungsbeispiel weist eine solche Informationsverarbeitungsvorrichtung getrennt ein Pufferregister zum vorzeitigen Abrufen mehrerer Befehle und zum Ausführen eines Befehls nach dem anderen durch Auslesen derselben aus dem Pufferregister, eine erste Ermittlungseinrichtung zum Ermitteln, wenn ein Befehl, für den die Decodierung gerade aufgenommen wurde, ein solcher vom Registertyp ist, ob das Decodieren für den nächsten Befehl gestartet werden kann oder nicht und eine zweite Ermittlungseinrichtung auf, um zu ermitteln, wenn ein Befehl, für den das Decodieren gerade aufgenommen wurde, ein Befehl vom Nichtregister-Typ ist, ob das Decodieren des nächsten Befehls begonnen werden kann, so daß der Ausgangswert aus der ersten Ermittlungseinrichtung 0,5 Zyklen vor dem Ausgangswert der zweiten Ermittlungseinrichtung ausgegeben werden kann, und daß, auf die Ausgaben von der ersten und der zweiten Ermittlungseinrichtung hin, das Decodieren des nächsten Befehls 0,5 Zyklen nach dem Beginn des Decodierens eines Befehls vom Registertyp oder einen Zyklus nach dem Beginn des Decodierens eines Befehls vom Nichtregister-Typ beginnt.
  • Register zum Halten eines zu decodierenden Befehls sind so aufgebaut, daß sie alle 0,5 Zyklen geschaltet werden können, und eine Befehlsschlange zum Halten eines zu decodierenden Befehls ist so aufgebaut, daß sie in Intervallen mit einer Schrittweite von 0,5 Zyklen aktiviert werden kann. Die Logik zum Ermitteln, wenn damit begonnen wurde, einen Befehl vom Nichtregister-Typ zu decodieren, ob das Decodieren eines nächsten Befehls starten kann oder nicht, hängt von verschiedenen Bedingungen ab, wie davon, ob eine Operandenadresse korrekt ist oder nicht, ob ein Speicherabruf ausgeführt werden kann usw. So erfordert die Logik eine Anzahl logischer Schritte oder Stadien, was zu einer verlängerten Zeitspanne führt, derer die Ermittlungseinrichtung bedarf, um die Ermittlungsergebnisse zu erzeugen, die anzeigen, daß Bereitschaft für den Beginn des Decodierens des nächsten Befehls besteht. Demgegenüber ist die Ermittlungslogik, wie sie im Fall eines Befehls vom Registertyp, mit dessen Decodierung begonnen wurde, zu verwenden ist, vom Format her gesehen extrem einfach, so daß die Anzahl logischer Schritte oder Stadien und der Umfang klein sind, und es nur eine kurze Zeitspanne benötigt, daß die Ermittlungseinrichtung die Ermittlungsergebnisse erzeugt. Wenn dies berücksichtigt wird, wird es möglich, Befehle, die Befehlen vom Registertyp folgen, mit hoher Geschwindigkeit dadurch zu decodieren, daß die erste Ermittlungseinrichtung zum Ermitteln, wenn der Befehl, mit dessen Decodierung gerade begonnen wurde, ein Befehl vom Registertyp ist, unabhängig davon, ob das Decodieren für den nächsten, auf den gerade decodiert werdenden Befehl folgenden Befehls begonnen werden kann, und die zweite Ermittlungseinrichtung zum Ermitteln, wenn der Befehl, mit dessen Decodierung gerade begonnen wurde, ein Befehl vom Nichtregister-Typ ist, unabhängig davon, ob das Decodieren des nächsten Befehls, der für den Start bereit steht, decodiert wird oder nicht getrennt bereitgestellt werden, und wobei mit dem Decodieren des nächsten Befehls auf die Information von der ersten Ermittlungseinrichtung hin begonnen wird, wenn der gerade decodiert werdende Befehl vom Registertyp ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Fig. 1A ist eine Darstellung, die ein Format eines Verzweigungsbefehls zeigt;
  • Fig. 1B ist eine Darstellung, die ein Format eines Befehls vom Registertyp zeigt;
  • Fig. 2A ist eine Darstellung, die eine herkömmliche Operation für einen Verzweigungsbefehl zeigt;
  • Fig. 2B ist eine Darstellung, die eine Operation für einen Verzweigungsbefehl gemäß der Erfindung zeigt;
  • Fig. 3 ist ein Blockdiagramm, das ein Beispiel für die Anordnung einer Informationsverarbeitungsvorrichtung gemäß einem Ausführungsbeispiel der Erfindung zeigt;
  • Fig. 4 ist ein Blockdiagramm eines Ausführungsbeispiels einer Befehlssteuerungseinheit gemäß der Erfindung;
  • Fig. 5 ist ein detailliertes Blockdiagramm der Decodierstart-Steuerungsschaltung von Fig. 4;
  • Fig. 6 ist ein Zeitdiagramm, das einen Betriebsvorgang der Vorrichtung von Fig. 4 veranschaulicht.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • Unter Bezugnahme auf die beigefügten Zeichnungen wird ein bevorzugtes Ausführungsbeispiel der Erfindung beschrieben. Fig. 2B ist eine Darstellung, die eine Operation eines Verzweigungsbefehls gemäß der Erfindung zeigt. In der Figur sind Befehle 0, 1, 2 und 3 Befehle vom Registertyp, ein Befehl 4 ist ein Verzweigungsbefehl als ein Befehl vom Nichtregister-Typ, und ein Befehl 5 ist ein zu verzweigender Zielbefehl. Da der Befehl 0 vom Registertyp ist, kann das Stadium D des nächsten Befehls 1 0,5 Zyklen nach dem Start des Stadiums D des Befehls 0 beginnen. Der Befehl 1 ist
  • ebenfalls vom Registertyp, so daß das Stadium D des nächsten Befehls 2 0,5 Zyklen nach dem Start des Stadiums D des Befehls 1 beginnt. Ähnlich beginnt das Stadium D der Befehle 3 und 4 0,5 Zyklen nach dem Start der Stadien D der Befehle 2 bzw. 3. Der Befehl 1 wird in der Reihenfolge D, A, L, E und P ausgeführt, ähnlich wie bei dem in Fig. 2A dargestellten herkömmlichen Fall. Das Stadium E des Befehls 1 kann nicht in Überlappung mit dem Stadium E des Befehls 0 ausgeführt werden, so daß der Start des Stadiums E des Befehls 1 auf das Ende des Ausführens des Stadiums E des Befehls 0 wartet, was zu einem Wartezustand von 0,5 Zyklen führt. Auf ähnliche Weise wartet der Start des Stadiums E der Befehle 2, 3 und 4 auf das Ende der Ausführungsstadien E der vorangehenden Befehle 1, 2 und 3, was einen Wartezustand hervorruft.
  • Da die Stadien D der Befehle 1, 2 und 3 in Intervallen mit einem Abstand von 0,5 Zyklen starten, kann das Stadium D des Verzweigungsbefehls 4 um zwei Zyklen früher als der herkömmliche, wie er in Fig. 2A dargestellt ist, beginnen. Ähnlich wie im herkömmlichen Fall, wie er in Fig. 2A dargestellt ist, wird beim Ausführen des Verzweigungsbefehls 4 der zu verzweigende Zielbefehl in den Stadien D, A und L des Verzweigungsbefehls abgerufen, und der Zielbefehl wird im folgenden Stadium L in einen Befehlspuffer geladen. Daher kann, wie dies in Fig. 2B dargestellt ist, das Stadium D des zu verzweigenden Zielbefehls 5 nach demjenigen Stadium ausgeführt werden, das auf das Stadium L des Verzweigungsbefehls 4 folgt.
  • Wie oben beschrieben, kann das Stadium D des Befehls vom Registertyp 0,5 Zyklen nach dem Start des Stadiums D des vorangehenden Befehls beginnen. Wenn das Stadium E betrachtet wird, wird daher ein Wartezustand von drei Zyklen, wie er beim herkömmlichen Fall vorliegt, auf einen Zyklus verkürzt, um das Stadium E eines Verzweigungsbefehls auszuführen.
  • Fig. 3 ist ein Blockdiagramm, das ein Ausführungsbeispiel einer Anordnung einer Informationsverarbeitungsvorrichtung zeigt, die die Erfindung verkörpert.
  • In der Figur besteht eine zentrale Verarbeitungseinheit (CPU) 400 aus einer Befehlssteuerungseinheit 401, einer Speichereinheit 402 und einer Ausführungssteuerungseinheit 403. Die Speichereinheit 402 beinhaltet Puffer und einen Hauptspeicher, und sie ist über einen E/A-Prozessor 404 an eine E/A-Vorrichtung 405 mit einer Platte, einem Magnetband oder dergleichen angeschlossen. Die Befehlssteuerungseinheit 401 arbeitet auf einen vom Hauptspeicher empfangenen Befehl hin, um auf Register zuzugreifen oder Adressen der Speichereinheit 402 zu adressieren, wie sie vom decodierten Befehl bezeichnet werden, und um die entsprechenden Operanden zu lesen. Die Ausführungssteuerungseinheit 403 führt den gelesenen Operanden abhängig von einem Befehl von der Befehlssteuerungseinheit 401 aus. Wenn ein Datenwert für die CPU 400 in die E/A-Vorrichtung 405 eingeschrieben oder aus dieser ausgelesen wird, initialisiert der E/A-Prozessor 404 die E/A-Vorrichtung 405 oder zählt die Menge der übertragenen Daten. Wenn die CPU 400 eine Lese/Schreib-Anforderung an die E/A-Vorrichtung 405 ausgibt, steuert der E/A-Prozessor 404 statt der CPU 400 einen Lese/Schreib-Vorgang, währenddessen die CPU 400 eine andere Aufgabe ausführt. Nach einem Lese/ Schreib-Vorgang informiert der E/A-Prozessor 404 die CPU 400 in Form eines Interrupts über das Ende des Lese/Schreib-Vorgangs.
  • Fig. 4 ist ein Blockdiagramm der Befehlssteuerungseinheit 401 der Erfindung, wobei die Schaltung den in Fig. 2B dargestellten Vorgang ausführt.
  • Befehle werden vorab aus der Speichereinheit 402 abgerufen und in ein Vorabbefehlsaufnahme-Pufferregister 1 (nachfolgend mit Befehlspuffer abgekürzt) geladen. Die Befehle werden einer nach dem anderen über eine Selektorschaltung 10 aus dem Befehlspuffer 1 abgerufen, um sie in ein Befehlsregister 2 zu laden. Der Ort, an dem der Befehl aus dem Befehlspuffer 1 abzurufen ist, wird durch einen Zeiger 6 angegeben. Im Stadium D wird ein in das Befehlsregister 2 geladener Befehl durch eine Befehlsdecodierschaltung 13 decodiert. Gleichzeitig wird dann, wenn der in das Befehlsregister 2 geladene Befehl ein Befehl vom Nichtregister-Typ ist, eine logische Operation gemäß (X2) + (B2) + D2 durch einen Adressenaddierer 5 ausgeführt, wobei die Inhalte des Indexregisters (X2) und des Basisregisters (B2) aus einem Universalregister 3 ausgelesen werden. Während der vom Befehlsregister 2 zugeführte Befehl decodiert wird, ermittelt eine Decodierstart-Steuerungsschaltung 12, ob Bereitschaft für den Beginn des Decodierens des nächsten Befehls besteht, um ein Decodierstartsignal 100 auszugeben. Die berechnete Adresse wird an die Speichereinheit 402 geliefert. Der von der Befehlsdecodierschaltung 13 decodierte Befehl wird in eine Befehlsschlange 4 geladen, und wird dann in den Stadien A bis L an die Ausführungssteuerungseinheit 403 geliefert. Wenn der in das Befehlsregister geladene Befehl ein Befehl vom Registertyp ist, gibt die Befehlsschlange 4, wenn der durch die Befehlsdecodierschaltung 13 decodierte Befehl in dieselbe geladen ist, ein Adressenspezifiziersignal 306 an das Universalregister 3 aus, um die mit R1 und R2 bezeichneten ersten und zweiten Operanden in diesem auszulesen, und sie sendet ein die gelesenen Operanden repräsentierendes Signal 307 an die Ausführungssteuerungseinheit 403.
  • Eine Befehlsregisterstatus-Prüfschaltung 20 (nachfolgend als IR-Status-Prüfschaltung abgekürzt) ist eine bekannte Schaltung, die den Gültigkeitsstatus eines Befehlsregisters 2 auf einen Gültigkeitszustand des Befehlspuffers 1 hin überprüft (d. h., ob der Datenwert im Befehlspuffer 1 gültig ist oder nicht). Eine Befehlsschlange-Steuerungsschaltung 40 ist eine bekannte Schaltung, die den Leerzustand der Befehlsschlange 4 auf ein (nicht dargestelltes) Bereitschaftssignal für Ausführung durch die Ausführungssteuerungseinheit 403 und ein Decodierstartsignal 100 hin überprüft. Eine Registerinhalt- Steuerungsschaltung 41 ist eine bekannte Schaltung, die so arbeitet, daß sie ein Leseregister und ein Schreibregister im Universalregister 3 für Lese/Schreib-Vorgänge zwischen diesen auf Signale vom Befehlsregister 2 und von der Befehlsschlange 4 hin verknüpft. Eine Speicheranforderung- Steuerungsschaltung 21 ist eine bekannte Schaltung, die einen Speicheranforderungsstatus überprüft.
  • Wenn das Decodierstartsignal 100 den logischen Pegel "1" einnimmt, wird der nächste Befehl aus dem Befehlspuffer 1 in das Befehlsregister 2 geladen, um dadurch den Beginn der Ausführung des Stadiums D des Befehls zu aktivieren. Der Ort eines im Befehlspuffer 1 abgespeicherten Befehls, der für Übertragung an das Befehlsregister 2 ausgewählt wird, kann durch den Zeiger 6 festgelegt werden, der durch eine Aktualisierungsschaltung 11 aktualisiert wird.
  • Um Ausführung des Stadiums D des nächsten Befehls nach einem Zyklus 0,5 zu beginnen, ist es erforderlich, während eines Zyklus 0,5 den folgenden Signaldurchlauf- vorzunehmen: Befehlsregister 2 Decodierstart-Steuerungsschaltung 12 Befehlsregister 2, und Signaldurchgangszeiger 6 Aktualisierungsschaltung 11 Zeiger 6. Die Logik des ersteren Signaldurchlaufs war bisher kompliziert, so daß dieser Durchlauf nur mit der Dauer eines Zyklus arbeiten kann.
  • In diesem Zusammenhang bilden der Befehlspuffer 1, die Selektorschaltung 10, das Befehlsregister 2, die Decodierstart-Steuerungsschaltung 12, der Zeiger 6 und die Aktualisierungsschaltung 11 insgesamt eine Befehlsleseeinheit, und diese Selektorschaltung 10 und das Befehlsregister 2 bilden eine Einheit zum Auswählen und Halten eines Befehls.
  • Das Wesentliche der Erfindung liegt in der Decodierstart- Steuerungsschaltung 12. Fig. 5 ist ein detailliertes Blockdiagramm, das diese Decodierstart-Steuerungsschaltung 12 zeigt. Ein Befehl vom Befehlsregister 2 über eine Leitung 201 wird durch eine Befehlstyp-Ermittlungsschaltung 50 beurteilt, die auf einer Leitung 501 den Wert "1" ausgibt, wenn es ein Befehl vom Registertyp ist. Ein Befehl vom Registertyp kann durch die oberen vier Bits "0000" des OP-Code erkannt werden, wie er in Fig. 1A dargestellt ist. Im Fall eines Befehls vom Registertyp werden Signale auf Leitungen 301, 303 zusammen mit "1" auf der Leitung 501 an ein UND- Gatter 57 gelegt, um eine UND-Verknüpfung auszuführen. Dadurch setzt das Ausgangssignal vom UND-Gatter 57 ein Flipflop 55, damit dessen Ausgang ein Decodierstartsignal 100 ausgeben kann. Das Signal auf der Leitung 301 ist ein von der IR-Status-Prüfschaltung 20 ausgegebenes Signal, das anzeigt, daß der Datenwert im Befehlsregister 2 gültig ist. Das Signal auf der Leitung 303 ist ein von der Befehlsschlange-Steuerungsschaltung 40 ausgegebenes Signal, das anzeigt, daß die Befehlsschlange 4 leer ist. Das Flipflop 55 wird auf Taktimpulse T&sub1; und T&sub3; hin gesetzt, die an dieses über ein ODER-Gatter 59 gegeben werden. Die Taktimpulse T&sub1; und T&sub3; werden später beschrieben. So bilden das UND-Gatter 57, das Flipflop 55 und das ODER-Gatter 59 eine erste Ermittlungseinheit zum Ermitteln, wenn der Befehl, mit dessen Decodierung gerade begonnen wurde, ein Befehl vom Registertyp ist, das Decodieren des nächsten Befehls begonnen werden kann. Wenn ein Befehl vom Nichtregister-Typ vorliegt, wird das Signal auf der Leitung 501 "0", so daß das Ausgangssignal eines Inverters 51 "1" wird. Neben den Zuständen der Signale auf den Leitungen 301 und 303, wie im Fall eines Befehls vom Registertyps, werden Signale auf Leitungen 304 und 305 zusammen mit "1" vom Inverter 51 an ein UND-Gatter 58 gelegt, um eine UND-Verknüpfung auszuführen. So setzt das Ausgangssignal vom UND-Gatter 58 ein Flipflop 56, um dieses in die Lage zu versetzen, an seinem Ausgang ein Decodierstartsignal 100 auszugeben. Das Signal auf der Leitung 304 ist ein von der Registerinhalt-Steuerungsschaltung 41 ausgegebenes Signal, das anzeigt, daß das Indexregister (X2) und das Basisregister (B2) gültig sind. Das Signal auf der Leitung 305 ist ein von der Speicheranforderung-Steuerungsschaltung 21 ausgegebenes Signal, das anzeigt, daß eine Operandenleseanforderung nicht gesperrt ist. Das Flipflop 56 wird auf einen später zu beschreibenden Taktimpuls T&sub3; hin gesetzt.
  • So bilden der Inverter 51, das UND-Gatter 58 und das Flipflop 56 eine zweite Ermittlungseinheit zum Ermitteln, wenn der Befehl, mit dessen Decodierung gerade begonnen wurde, ein Befehl-vom Nichtregister-Typ ist, ob das Decodieren des nächsten Befehls begonnen werden kann.
  • Diese Signale auf den Leitungen 301 und 303 bis 305 sind im Stand der Technik bekannt, und die Logik zum Erzeugen derselben kann vom Fachmann leicht realisiert werden.
  • Die Signale auf den Leitungen 301 und 303 werden durch die Flipflops oder durch eine Logik mit einem oder zwei Zuständen erzeugt, wohingegen es für die Signale auf den Leitungen 304 und 305 erforderlich ist, eine Anzahl logischer Zustände zu verwenden. Der Grund hierfür ist der, daß es z. B. im Fall des Signals auf der Leitung 304 erforderlich ist, die Felder X2 und B2 eines Befehls mit dem Feld R1 der Befehlsschlange 4 zu vergleichen, die auf Ausführung eines Befehls wartet, wobei die Registerinhalt-Steuerungsschaltung 41 verwendet wird. Anders gesagt, ist es erforderlich, zu überprüfen, ob unter den auf Ausführung wartenden Befehlen irgendein Befehl ist, der eine Änderung der Inhalte der Indexregister (X2) und der Basisregister (B2) erfordert. Ferner ist unter den Befehlen in der Befehlsschlange 4 ein solcher vorhanden, der eine Änderung der Inhalte mehrerer Register erfordert, so daß es notwendig ist, einen solchen Befehl auf Grundlage dessen Feldes OP zu erkennen.
  • Nachfolgend wird die in Fig. 2B veranschaulichte Operation unter Bezugnahme auf das Zeitablaufdiagramm von Fig. 6 beschrieben.
  • Ein Zyklus ist als die Dauer von einem Takt T0 bis zum nächsten Takt T0 definiert. Ein Zyklus ist in vier Abschnitte unterteilt, die durch vier Takte T0, T1, T2 und T3 gesteuert werden. Ein Befehl 0 wird zum Zeitpunkt T0 eines Zyklus C&sub1; in das Befehlsregister 2 eingeschrieben. Da der Befehl 0 vom Registertyp ist, gibt das Flipflop 55 von Fig. 5 zu T1 des Zyklus C&sub1; den Wert "1" aus, um das Decodierstartsignal 100 auf "1" zu setzen, und dann wird das Befehlsregister 2 so umgeschaltet, daß der nächste Befehl 1 zu T2 des Zyklus C&sub1; in es eingeschrieben wird. In der Zwischenzeit wird der decodierte Befehl 0 zu T2 des Zyklus C&sub1; in die Befehlsschlange 4 eingeschrieben (wie in der Figur als 0-te Ordnung dargestellt). Da der Befehl 1 vom Registertyp ist, gibt das Flipflop zu T3 des Zyklus C&sub1; auf ähnliche Weise "1" aus, um das Decodierstartsignal 100 auf "1" zu setzen, und dann wird das Befehlsregister 2 so umgeschaltet, daß der nächste Befehl 2 zu T0 des Zyklus C&sub2; in es geschrieben wird. Der decodierte Befehl 1 wird zu T0 des Zyklus C&sub2; in die Befehlsschlange 4 geschrieben (wie in der Figur als 1-te Ordnung dargestellt). Wie oben, wird das Befehlsregister 2 durch beide Takte T0 und T2 umgeschaltet. Auf ähnliche Weise wird das Flipflop 55 zum Ausgeben eines Decodierstartsignals in Zusammenhang mit einem Befehl vom Registertyp durch beide Takte T1 und T3 gesetzt. Auch wird zu beiden Takten T0 und T2 in die Befehlsschlange 4 eingeschrieben. Es ist zu beachten, daß auf diese Weise das Flipflop 56 zum Ausgeben eines Decodierstartsignals in Verbindung mit einem Befehl vom Nichtregister-Typ nur durch den Takt T3 gesetzt wird, und daß die Befehlsschlange 4 durch den Takt T2 immer rückgesetzt wird, da das Stadium E in Intervallen der Dauer eines Zyklus ausgeführt wird.
  • Bei der Erfindung wurde aufgrund der Erkenntnis, daß die Ermittlungsschaltung, die zum Ermitteln dient, ob mit dem Decodieren des nächsten Befehls begonnen werden kann, wenn der gerade zu beginnende Befehl vom Registertyp ist, einfach ist, eine herkömmliche Decodierstart-Steuerungsschaltung in zwei Schaltungen unterteilt, eine für Befehle vom Registertyp und eine andere für Befehle vom Nichtregister-Typ. So kann erfindungsgemäß die Ermittlung mit hoher Geschwindigkeit ausgeführt werden, ob mit dem Decodieren des nächsten Befehls begonnen werden kann, wenn gerade mit dem Decodieren eines Befehls vom Registertyp begonnen wurde.
  • Wie es aus der vorstehenden Beschreibung erkennbar ist, kann bei der Erfindung das Stadium D eines Befehls vom Registertyp um 0,5 Zyklen nach dem Start des Ausführens des Stadiums D des vorangehenden Befehls beginnen. Daher kann ein Verzweigungsbefehl mit im Vergleich zum herkömmlichen Fall hoher Geschwindigkeit ausgeführt werden, wodurch die Betriebseigenschaften der Informationsverarbeitungsvorrichtung verbessert werden.
  • Die Erfindung ist von großem Vorteil, da ein Befehl vom Registertyp ein grundsätzlicher Befehl ist, der in der Praxis mit einer Häufigkeit von etwa 25 bis 30% verwendet wird.

Claims (4)

1. Informations-Verarbeitungsgerät, umfassend:
eine Speichereinrichtung (402, 405) zur Speicherung von mindestens Befehlen und Daten,
eine mit der Speichereinrichtung gekoppelte Befehlssteuereinrichtung (401) zur Steuerung der Ausführung von aus der Speichereinrichtung gelesenen Befehlen, wobei die Befehlssteuereinrichtung ein Allzweckregister (3), eine Befehlsleseeinrichtung (1, 2, 6, 10-12) zum Lesen der Befehle aus der Speichereinrichtung, eine Decodiereinrichtung (13) zum Decodieren der aus der Speichereinrichtung gelesenen Befehle, eine Datenleseeinrichtung (306, 5) zum Lesen von für die Ausführung der decodierten Befehle erforderlichen Daten aus der Speichereinrichtung und dem Allzweckregister, und eine Befehls-Warteschlangeneinrichtung (4) zur Speicherung der decodierten Befehle aufweist, und
eine mit der Speichereinrichtung und der Befehlssteuereinrichtung gekoppelte Ausführsteuereinrichtung (403) zum arithmetischen Verarbeiten der von der Datenleseeinrichtung ausgelesenen Daten aufgrund der von der Befehls-Warteschlangeneinrichtung zugeführten decodierten Befehle,
wobei die Befehlsleseeinrichtung ferner aufweist:
ein mit der Speichereinrichtung gekoppeltes Pufferregister (1) zum Vor-Abrufen mehrerer Befehle aus der Speichereinrichtung, und
eine Befehlsauswahl- und -halteeinrichtung (2, 6, 10, 11) zum aufeinanderfolgenden Auswählen jeweils einzelner Befehle aus den mehreren Befehlen in dem Pufferregister und zum Übertragen jedes auswählten Befehls an die Decodiereinrichtung, dadurch gekennzeichnet, daß die Befehlsleseeinrichtung ferner eine Decodier- Startsteuereinrichtung (12) zum Steuern des Beginns der Decodierung eines Befehls mit einer Befehlstyp-Ermittlungseinrichtung (50) umfaßt, die ermittelt, ob es sich bei einem gerade decodierten Befehl um einen ersten oder einen zweiten Befehlstyp handelt, wobei der erste Befehlstyp ein solcher ist, bei dem sämtliche zur Ausführung dieses ersten Befehlstyps erforderlichen Daten in dem Allzweckregister gespeichert sind, und der zweite Befehlstyp ein solcher ist, bei dem mindestens einige der zur Ausführung dieses zweiten Befehlstyps erforderlichen Daten in der Speichereinrichtung gespeichert sind, ferner mit einer ersten Ermittlungseinrichtung (55, 57, 59), die dann, wenn es sich bei dem von der Befehlsauswahl- und -halteeinrichtung auswählten Befehl um einen solchen des ersten Typs handelt, ermittelt, ob ein im Anschluß an den Befehl des ersten Typs zu decodierender Befehl zur Decodierung bereitsteht, und mit einer zweiten Bestimmungseinrichtung (51, 56, 58), die dann, wenn es sich bei einem von der Befehlsauswahl- und -halteinrichtung ausgewählten Befehl um einen solchen des zweiten Typs handelt, ermittelt, ob ein im Anschluß an diesen Befehl des zweiten Typs zu decodierender Befehl zur Decodierung bereitsteht, wobei die erste Bestimmungseinrichtung in der Durchführung der Bestimmung mit höherer Geschwindigkeit arbeitet als die zweite Bestimmungseinrichtung, und wobei die Decodier-Startsteuereinrichtung eine Einrichtung enthält, die die Befehlsauswahl- und -halteeinrichtung derart steuert, daß ein Befehl, der im Anschluß an einen gerade decodierten Befehl zu decodieren ist, in Abhängigkeit von der ersten oder der zweiten Ermittlungseinrichtung an die Decodiereinrichtung übertragen wird, und
daß die Befehlshalteeinrichtung (2) und die Befehls-Warteschlangeneinrichtung (4) so ausgelegt sind, daß sie beide in Intervallen aufsteuerbar sind, die der Decodierung der Befehle des ersten Typs und der des zweiten Typs entsprechen.
2. Informations-Verarbeitungsgerät nach Anspruch 1, wobei die Befehlsauswahl- und -halteeinrichtung eine Befehlsauswahleinrichtung (10), die jeweils einen Befehl aus dem Pufferregister auswählt, und ein Befehlsregister (2) zum Speichern dieses einen Befehls aufweist,
wobei die Befehls-Steuereinrichtung ferner eine erste Einrichtung (20) zum Überwachen der Gültigkeit eines Befehls in dem Befehlsregister und zur Erzeugung eines ersten Signals (301) umfaßt, wenn der Befehl gültig ist, ferner eine zweite Einrichtung (40) zur Überwachung der Befehls-Warteschlange, um zu ermitteln, ob in dieser ein Leerraum vorhanden ist, und ein zweites Signal (303) zu erzeugen, wenn ein Leerraum festgestellt wird, eine dritte Einrichtung (41) zur Überwachung der Gültigkeit von Daten in einem Register, das in dem Allzweckregister enthalten ist, sowie zur Erzeugung eines dritten Signals, wenn gültige Daten festgestellt werden, sowie eine vierte Einrichtung (21), die überwacht, ob eine Daten- Leseanforderung an die Speichereinrichtung nicht inhibiert ist, und ein viertes Signal (305) erzeugt, wenn eine Daten- Leseanforderung nicht inhibiert ist,
wobei die erste Ermittlungseinrichtung ein erstes UND- Glied (58) zur Bildung einer logischen UND-Verknüpfung aus einem von der Befehlstyp-Ermittlungseinrichtung abgegebenen Ausgangssignal, das angibt, daß der gerade decodierte Befehl ein solcher des ersten Typs ist, dem ersten Signal und dem zweiten Signal, sowie ein an den Ausgang des UND-Gliedes angeschlossenes Flip-Flop (55) umfaßt, das in Abhängigkeit von einem ersten Taktsignal (T&sub1;, T&sub3;) ein erstes Decodier-Startsignal erzeugt, und
wobei die zweite Ermittlungseinrichtung ein zweites UND- Glied (58) zur Bildung einer logischen UND-Verknüpfung aus einem von der Befehlstyp-Ermittlungseinrichtung (50) abgegebenen Ausgangssignal, das angibt, daß der gerade decodierte Befehl ein solcher des zweiten Typs ist, sowie dem ersten, dem zweiten, dem dritten und dem vierten Signal, sowie ein an den Ausgang des zweiten UND-Gliedes angeschlossenes zweites Flip-Flop (56) aufweist, das in Abhängigkeit von einem zweiten Taktsignal (T&sub3;) ein zweites Decodier-Startsignal erzeugt, und
wobei die Befehlsauswahleinrichtung einen zu decodierenden Befehl in Abhängigkeit von dem ersten oder dem zweiten Decodier-Startsignal auswählt und das Zeitintervall zwischen in dem ersten Taktsignal enthaltenen Taktimpulsen (T&sub1;, T&sub3;) halb so lang ist wie das zwischen in dem zweiten Taktsignal (T&sub3;) enthaltenen Taktimpulsen.
3. Informations-Verarbeitungsgerät nach Anspruch 2, wobei die Befehlsauswahl- und -halteeinrichtung ferner eine mit der Befehlsauswahleinrichtung verbundene Anzeigeeinrichtung (6), die in dem Pufferregister einen Platz eines an das Befehlsregister zu sendenden Befehl angibt, sowie eine mit der Anzeigeeinrichtung verbundene Aktualisiereinrichtung aufweist, die die Anzeigeeinrichtung aktualisiert.
4. Informations-Verarbeitungsgerät nach Anspruch 1, wobei die erste Ermittlungseinrichtung in Abhängigkeit von einem ersten Taktsignal (T&sub1;, T&sub3;) und die zweite Ermittlungseinrichtung in Abhängigkeit von einem zweiten Taktsignal arbeitet, wobei das Zeitintervall von in dem ersten Taktsignal enthaltenen Taktimpulsen (T&sub1;, T&sub3;) halb so lang ist wie das zwischen in dem zweiten Taktsignal (T&sub3;) enthaltenen Taktimpulsen.
DE86115272T 1985-11-15 1986-11-04 Informationsverarbeitungsvorrichtung. Expired - Fee Related DE3688923T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60254762A JPH0743648B2 (ja) 1985-11-15 1985-11-15 情報処理装置

Publications (2)

Publication Number Publication Date
DE3688923D1 DE3688923D1 (de) 1993-09-30
DE3688923T2 true DE3688923T2 (de) 1994-01-05

Family

ID=17269526

Family Applications (1)

Application Number Title Priority Date Filing Date
DE86115272T Expired - Fee Related DE3688923T2 (de) 1985-11-15 1986-11-04 Informationsverarbeitungsvorrichtung.

Country Status (4)

Country Link
US (1) US4758949A (de)
EP (1) EP0223150B1 (de)
JP (1) JPH0743648B2 (de)
DE (1) DE3688923T2 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6393041A (ja) * 1986-10-07 1988-04-23 Mitsubishi Electric Corp 計算機
US4888689A (en) * 1986-10-17 1989-12-19 Amdahl Corporation Apparatus and method for improving cache access throughput in pipelined processors
JPH01269131A (ja) * 1988-04-20 1989-10-26 Hitachi Ltd 命令先行制御方式
US5155818A (en) * 1988-09-28 1992-10-13 Data General Corporation Unconditional wide branch instruction acceleration
US5088035A (en) * 1988-12-09 1992-02-11 Commodore Business Machines, Inc. System for accelerating execution of program instructions by a microprocessor
US5644741A (en) * 1993-10-18 1997-07-01 Cyrix Corporation Processor with single clock decode architecture employing single microROM
US5794026A (en) * 1993-10-18 1998-08-11 National Semiconductor Microprocessor having expedited execution of condition dependent instructions
DE69425310T2 (de) * 1993-10-18 2001-06-13 Via Cyrix Inc Mikrosteuereinheit für einen superpipeline-superskalaren Mikroprozessor
US5964863A (en) * 1996-04-15 1999-10-12 Motorola, Inc. Method and apparatus for providing pipe fullness information external to a data processing system
US7401205B1 (en) * 1999-08-13 2008-07-15 Mips Technologies, Inc. High performance RISC instruction set digital signal processor having circular buffer and looping controls
US6792563B1 (en) * 2000-04-28 2004-09-14 Intel Corporation Method and apparatus for bus activity tracking
US20080250729A1 (en) * 2007-04-12 2008-10-16 Matthew Kriesel Acoustical and energy absorbent flooring underlayment

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL149925C (de) * 1968-10-25 1976-06-15
US4025771A (en) * 1974-03-25 1977-05-24 Hughes Aircraft Company Pipe line high speed signal processor
JPS5283042A (en) * 1975-12-29 1977-07-11 Fujitsu Ltd Instruction control system of information process device
GB1527289A (en) * 1976-08-17 1978-10-04 Int Computers Ltd Data processing systems
JPS5440537A (en) * 1977-09-07 1979-03-30 Hitachi Ltd Pipeline control system
JPS5466048A (en) * 1977-11-07 1979-05-28 Hitachi Ltd Information processor
US4228497A (en) * 1977-11-17 1980-10-14 Burroughs Corporation Template micromemory structure for a pipelined microprogrammable data processing system
JPS6024985B2 (ja) * 1978-08-31 1985-06-15 富士通株式会社 デ−タ処理方式
US4295193A (en) * 1979-06-29 1981-10-13 International Business Machines Corporation Machine for multiple instruction execution
JPS5621240A (en) * 1979-07-27 1981-02-27 Hitachi Ltd Information processor
JPS56149646A (en) * 1980-04-21 1981-11-19 Toshiba Corp Operation controller
US4376976A (en) * 1980-07-31 1983-03-15 Sperry Corporation Overlapped macro instruction control system
JPS57155666A (en) * 1981-03-20 1982-09-25 Fujitsu Ltd Instruction controlling system of vector processor
JPS57168350A (en) * 1981-04-09 1982-10-16 Mitsubishi Electric Corp Information processor
US4399507A (en) * 1981-06-30 1983-08-16 Ibm Corporation Instruction address stack in the data memory of an instruction-pipelined processor
JPS5858653A (ja) * 1981-10-02 1983-04-07 Hitachi Ltd デ−タ処理装置
JPS5890247A (ja) * 1981-11-25 1983-05-28 Nippon Telegr & Teleph Corp <Ntt> 情報処理装置のパイプライン制御方式
US4532589A (en) * 1981-12-02 1985-07-30 Hitachi, Ltd. Digital data processor with two operation units
US4435756A (en) * 1981-12-03 1984-03-06 Burroughs Corporation Branch predicting computer
JPS58189739A (ja) * 1982-04-30 1983-11-05 Hitachi Ltd デ−タ処理システム
US4594659A (en) * 1982-10-13 1986-06-10 Honeywell Information Systems Inc. Method and apparatus for prefetching instructions for a central execution pipeline unit
US4471432A (en) * 1982-10-13 1984-09-11 Wilhite John E Method and apparatus for initiating the execution of instructions using a central pipeline execution unit
US4594655A (en) * 1983-03-14 1986-06-10 International Business Machines Corporation (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions

Also Published As

Publication number Publication date
JPS62115542A (ja) 1987-05-27
EP0223150A3 (en) 1989-11-08
DE3688923D1 (de) 1993-09-30
EP0223150A2 (de) 1987-05-27
EP0223150B1 (de) 1993-08-25
US4758949A (en) 1988-07-19
JPH0743648B2 (ja) 1995-05-15

Similar Documents

Publication Publication Date Title
DE69308548T2 (de) Vorrichtung und verfahren zum befehlsabschluss in einem superskalaren prozessor.
DE3587277T2 (de) System fuer die umgehungssteuerung beim pipelinebetrieb eines computers.
DE68927911T2 (de) Datenverarbeitungssystem
DE3851488T2 (de) Registerverwaltungssystem mit Ausführung von Befehlen in Unordnung in einem Computerprozessor.
DE69028138T2 (de) Mechanismus zur präzisen Behandlung von Ausnahmebedingungen in einem Prozessor mit gepaarten Befehlen
DE3789345T2 (de) Erweiterte Gleitkommaoperationen zur Unterstützung der Emulation von Quellbefehlsausführungen.
DE3751356T2 (de) Informationsverarbeitungssystem.
DE68927218T2 (de) Verfahren und Vorrichtung für Zustandskode in einem Zentralprozessor
DE3785897T2 (de) Steuervorrichtung zum vorabruf von befehlen.
DE3689394T2 (de) Informationsverarbeitungsanlage mit einem Allzweckprozessor und einem Sonderzweckprozessor.
DE69738188T2 (de) Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor
DE3751503T2 (de) Datenprozessor in Pipelinestruktur mit der Fähigkeit mehrere Befehle parallel zu dekodieren und auszuführen.
DE3650413T2 (de) Verfahren und Vorrichtung zur Annulierung eines Befehls.
DE4222776C2 (de) Parallelverarbeitungseinheit und Verfahren zum Ausführen von Befehlen
DE69017178T2 (de) Datenverarbeitungssystem mit Vorrichtung zur Befehlskennzeichnung.
DE3789604T2 (de) Datenprozessor zur parallelen Ausführung von miteinander im Konflikt stehenden Befehlen.
DE69636861T2 (de) Mikroprozessor mit Lade-/Speicheroperation zu/von mehreren Registern
DE69114333T2 (de) Rechner mit der Fähigkeit mehrere Befehle gleichzeitig auszuführen.
DE3587591T2 (de) Mikroprozessor für Forth-ähnliche Sprache.
DE3852928T2 (de) Datenprozessor mit A/D-Umsetzer, um mehrere analoge Eingabekanäle in Digitaldaten umzusetzen.
DE3781794T2 (de) Vorrichtung und verfahren zum versehen eines cachespeichers mit einer schreiboperation mit zwei systemtaktzyklen.
DE3688923T2 (de) Informationsverarbeitungsvorrichtung.
DE69027932T2 (de) Cpu-pipeline mit registerfile-bypass durch adressvergleich bei aktualisierungen/zugriffen
DE3750028T2 (de) Pipelineprozessor mit schwacher Kopplung.
DE2714805A1 (de) Datenverarbeitungssystem

Legal Events

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