DE68924883T2 - Mikroprozessor mit Befehlspipeline. - Google Patents

Mikroprozessor mit Befehlspipeline.

Info

Publication number
DE68924883T2
DE68924883T2 DE68924883T DE68924883T DE68924883T2 DE 68924883 T2 DE68924883 T2 DE 68924883T2 DE 68924883 T DE68924883 T DE 68924883T DE 68924883 T DE68924883 T DE 68924883T DE 68924883 T2 DE68924883 T2 DE 68924883T2
Authority
DE
Germany
Prior art keywords
instruction
operation execution
instructions
register
section
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
DE68924883T
Other languages
English (en)
Other versions
DE68924883D1 (de
Inventor
Kosei Okamoto
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Tokyo Shibaura Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Tokyo Shibaura Electric Co Ltd filed Critical Toshiba Corp
Application granted granted Critical
Publication of DE68924883D1 publication Critical patent/DE68924883D1/de
Publication of DE68924883T2 publication Critical patent/DE68924883T2/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
    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

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)
  • Executing Machine-Instructions (AREA)

Description

    HINTERGRUND DER ERFINDUNG Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft einen Mikroprozessor vom Parallelebefehls-Ausführungstyps, insbesondere einen Mikroprozessor vom Befehls-Pipelinetyp, der schnell Befehle ausführen kann.
  • Beschreibung des Standes der Technik
  • In einem Mikroprozessor vom Befehls-Pipelinetyp gemäß dem Stand der Technik werden ein bestimmtes Register oder bestimmte Register zur Durchführung einer Operanden- Adressenberechnung beispielsweise bei einem ADD-Befehl durchgeführt. Da der Inhalt des Registers durch einen vorausgehenden Befehl, beispielsweise einen TRANSFER-Befehl modifiziert ist, kann der ADD-Befehl nicht an eine Operandenadressen-Berechnungsstufe verschoben werden, bevor eine Schreibstufe eines Allgemeinzweck-Registers beendet ist, wodurch die Verarbeitung des Befehls verzögert wird.
  • Figur 2 zeigt eine Prinzipkonstruktion des Mikroprozessors vom Befehls-Pipelinetyp gemäß dem Stand der Technik.
  • IN Figur 2 bezeichnet ein Bezugszeichen 1 einen Bussteuerabschnitt (BCU) zum Verbinden eines Mikroprozessors P mit einer externen Schaltung, ein Bezugszeichen 2 bezeichnet einen Befehlsholabschnitt (IEU), 3 bezeichnet einen Dekoder (DEC) zum Dekodieren von Befehlen, 4 bezeichnet einen Operandenadressen-Berechnungsabschnitt (OAG), 5 einen Adressenübersetzungsabschnitt (AT) zum Umwandeln einer logischen Adresse in eine physikalische Adresse, 6 einen Operandenholabschnitt (OPE) zum Holen eines Operanden, 7 einen Operationsausführungsabschnitt (EXU) zum Ausführen von Befehlen, 8 eine Allzweckregistergruppe (GR), die aus einer Vielzahl von (nicht dargestellten) Registern R&sub1;, R&sub2;, R&sub3;, R&sub4; bestehen. Wenn durch den in Figur 2 gezeigten Mikroprozessor P beispielsweise in Figur 1 gezeigte Maschinenbefehle ausgeführt werden, dannn wird die Zeitgabe der Befehls- Pipelineverarbeitung die in Figur 3 gezeigte. Wie in den Figuren 1 und 3 gezeigt, wird unter der Ahnahme, daß a&sub1; ein Befehl ist, der den Inhalt einer Adresse A an ein (nicht dargestelltes) Register R&sub1; in G&sub8; transferiert, a&sub2; ein Befehl ist, der Daten in dem Register R&sub3; in GR&sub8; an das Register R&sub2; transferiert, a&sub3; ein ADD-Befehl ist, der den Inhalt einer Adresse B, der durch das Register R&sub2; modifiziert ist, an das Register R&sub4; transferiert und a&sub4; ein Befehl ist, der Daten in dem Register R&sub2; an einen durch die Adresse C angezeigten Speicher transferiert, der Inhalt des Registers R&sub2; durch den Befehl a&sub3; verwendet, um eine Operandenadressenberechnung durchzuführen. Allerdings ist der Inhalt des Registers R&sub2; durch den Befehl a&sub2; modifziert. Infolgedessen kann sich der Befehl a&sub3; nicht an OAG&sub4; bewegen, bis der Transfer des Befehis a&sub2; nach GR&sub8; abgeschlossen ist, wodurch die Verarbeitung des Befehis a&sub3; verzögert wird.
  • Da der Operationsausführungsabschnitt und die Allgemeinzweck- Registergruppe in dem Mikroprozessor gemäß dem Stand der Technik nicht doppelt vorgesehen sind, können nachfolgende Befehle nicht ausgeführt werden, bis die Befehle zum Aktualisieren der Allzweckregistergruppe GR&sub8; vollständig ausgeführt worden sind.
  • Deswegen können die Vorteile des Pipelinesystems aufgrund einer Stagnation des Verarbeitungsflusses in den Mikroprozessoren vom Befehls-Pipelinetyp gemäß diesem Stand der Technik nicht demonstriert werden.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Der Artikel "Design Considerations for 32 Bit Mikroprocessors TX3" von K. Okamoto et al, in spring Compcon 88, März 04, 1988, San Francisco, CA, US, Seiten 25 bis 29 beschreibt einen Mikroprozessor vom Befehls-Pipelinetyp, umfassend eine Vielzahl von gleichzeitig arbeitenden Operationsausführungsabschnitten. Jeder dekodierte Befehl wird in der Reihenfolge einer Programmsequenz ausgegeben, aber Befehle können wegen Unterschieden in der Ausführungszeit oder der Anzahl von Pipelinestufen außerhalb der Reihenfolge beendet werden. Um genaue Unterbrechungen und Fangstellen sicherzustellen, besitzt der TX3 einen Rekorderpuffer und zwei allgemeine Registerdateien, bei denen es sich um die gegenwärtige GR-Datei und die zukünftige GR- Datei handelt (genaue Unterbrechungen oder Fangstellen erfordern, daß alle Befehle vor dem unterbrochenen Befehl abgeschlossen worden sind und alle dem unterbrochenen Befehl folgenden Befehle noch nicht begonnen haben). Die zukünftige GR-Datei hält die Kopien der für eine normale Programmausführung verwendeten Register und die gegenwärtige GR-Datei hält den Zustand der im Fall einer Unterbrechung oder Fangstelle zu verwendenden Register. Der Rekorderpuffer verfolgt, welche Befehle ausgegeben worden sind und in welcher Reihenfolge. Register-Schreibvorgänge werden sofort an die zukünftige GR-Datei gesendet, aber durch den Rekoderpuffer in eine Warteschlange eingereiht, um an die gegenwärtige GR-Datei geschrieben zu werden, wenn der unmittelbar vorausgehende Befehl beendet wird (eine zusätzliche Logik stellt sicher, daß die Ergebnisse berechnet werden, bevor sie ausgelesen werden).
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist deshalb eine Aufgabe der vorliegenden Erfindung, einen Mikroprozessor vom Befehls-Pipelinetyp bereitzustellen, umfassend eine Vielzahl von gleichzeitig arbeitenden Oper ationsaus führungsabschnitten mit einer einfacheren Schaltungsanordnung für eine Neuordnung.
  • Gemäß der vorliegenden Erfindung ist ein Mikroprozessor vom Befehls-Pipelinetyp wie im Anspruch 1 beansprucht vorgesehen.
  • Diese und andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung ergeben sich näher aus der folgenden Beschreibung einer bevorzugten Ausführungsform im Zusammenhang mit den beiliegenden Zeichnungen.
  • ERSTE BESCHREIBUNG DER ZEICHNUNGEN
  • In den Zeichnungen zeigen:
  • Fig. 1 ein Beispiel eines Programms zur Verdeutlichung der Probleme, die die Mikroprozessoren gemäß dem Stand der Technik aufweisen;
  • Fig. 2 den Aufbau des Mikroprozessors vom Befehls- Pipelinetyp gemäß dem Stand der Technik;
  • Fig. 3 einen Ablauf einer Befehlsverarbeitung in dem in Figur 2 gezeigten Mikroprozessor;
  • Fig. 4 eine grundlegende Konstruktion des Mikroprozessors vom Befehls-Pipelinetyp gemäß der vorliegenden Erfindung;
  • Fig. 5 einen Ablauf einer Befehlsverarbeitung in jedem Abschnitt, der den in Figur 4 gezeigten Mikroprozessor bildet;
  • Fig. 6 eine ausführliche Konstruktion des Betriebsausführungsabschnitts und der Allgemeinzweck-Registergruppe, die in Figur 4 gezeigt ist;
  • Fig. 7 ein Format jedes in Figur 6 gezeigten Registers; und
  • Fig. 8 ein Eingabeformat der Registergruppe FGR zum Speichern des Ergebnisses der Befehle in den Allgemeinzweck-Registern, verarbeitet in einer vorwärtsschauenden Weise.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Figur 4 zeigt eine Prinzipkonstruktion des Mikroprozessors vom Befehls-Pipelinetyp gemäß der vorliegenden Erfindung.
  • In der Figur sind die gleichen Konstruktionselemente wie die in Figur 2 gezeigten mit den gleichen Bezugszeichen bezeichnet. Der Mikroprozessor vom Befehls-Pipelinetyp umfaßt einen Operationsausführungsabschnitt, der umfaßt: einen ersten Operationsausführungsabschnitt (SEP) 10 zum jeweiligen Ausführen von Befehlen mit keinem Speicheroperanden, einen zweiten Operationsausführungsabschnitt (IEP) 11 zum jeweiligen Ausführen von Befehlen mit einem Speicheroperanden und einen dritten Operationsausführungsabschnitt (FEP) 12 zum Ausführen von Gleitkomma. Zusätzlich bezeichnet ein Bezugszeichen 13 einen Befehlssendeabschnitt zum Senden von dekodierten Befehlen an jeden Operationsabschnitt und ein Bezugszeichen 14 bezeichnet ein Gleitkoma-Register.
  • In dem in Figur 4 gezeigten Mikroprozessor gemäß der vorliegenden Erfindung werden die in Figur 4 gezeigten Pipelinebefehle in einer in Figur 5 gezeigten Weise ausgeführt. Jeder Befehl wird nämlich geholt und für jeden Takt verarbeitet; ein Befehl a&sub2; mit einem Speicheroperanden wird in der Reihenfolge von dem Befehlsholabschnitt 2 T dem Dekoder 3 T dem Befehlsausgabeabschnitt 13 T dem Operandenadressenabschnitt 4 T dem Adressenübersetzungsabschnitt 5 T dem Operandenholabschnitt 6 zu dem zweiten Operationsausführungsabschnitt 11 verarbeitet.
  • Ein Befehl a&sub2; mit keinem Speicheroperanden, aber nur einem Registeroperanden wird in der Reihenfolge von dem Befehlsholabschnitt 2 T dem Dekoder 3 T dem Befehlsausgabeabschnict 13 zu dem ersten Operationsausführungsabschnitt 10 verarbeitet.
  • Da die Ausführungen der Befehle a&sub2; und a&sub2; jeweils an den fünften und sechsten Takten abgeschlossen ist, ist es wie in Figur 5 gezeigt eine Diskrepanz zwischen den Daten in der Allgemeinzweck-Registergruppe 8' und dem Programmfluß zu vermeiden. Diesbezüglich umfaßt die Allgemeinzweck- Registergruppe 8' eine Registergruppe zum Halten von Programm-verarbeiteten sich ergebenden Daten, die nachher beschrieben werden und eine Registergruppe zum vorübergehenden Halten des Ausführungsergebnisses jedes Befehis in der vorwärtsblickenden Weise, das heißt die zwei Registergruppen sind dupliziert.
  • In Figur 6 umfaßt der erste Operationsausführungsabschnitt 10 einen ersten Operator 20 und ein erstes Befehlsregister 21, der zweite Operationsausführungsabschnitt 11 umfaßt einen zweiten Operator 22 und ein zweites Befehlsregister 23 und der dritte Operationsausführungsabschnitt 12 umfaßt einen dritten Operator 24 und ein drittes Befehlsregister 25. Jedes der Befehlsregister 21, 23 und 25 besitzt ein in Figur 7 gezeigtes Befehlsformat.
  • Das heißt, in Figur 7 bezeichnet OP ein Operationsfunktions- Bezeichnungsfeld der zugehörigen Operatoren, SR bezeichnet ein Quellenregister-Bezeichnungsfeld, DR ein Bezeichnungsregisterfeld, SA/ID eine Quellenoperandenadresse oder Sofortdaten-Haltefeld, DA ein Bestimmungsoperanden- Adressenhaltefeld und PC ein Adressenhaltefeld eines sich in Ausführung befindlichen Befehls.
  • Zurückkommend auf Figur 6 ist die Allgemeinzweck- Registergruppe 8' in eine Registergruppen CGRi (i = 1, 2, 3, ..., n) zum Speichern von Daten als ein Ergebnis einer Verarbeitung gemäß einem Programm und eine Registergruppe FGRi (i = 1, 2, 3, ..., n) aufgeteilt. Insbesondere bezeichnet ein Bezugszeichen 30 in Figur 6 einen Befehlsadressen-Vergleichsabschnitt, der in dem Allgemeinzweck-Register 8' enthalten ist.
  • In Figur 8 ist ein ausführliches Format der Registergruppe FGR gezeigt, die aus drei Kennungsabschnitten F, I, S besteht, die jeweils aus drei Bit und einem Datenhalteabschnitt FGRi zum Halten jedes Datenwerts bestehen.
  • Zurückkommend auf Figur 6 wird für die Vergleiche jedes PC- Feldes jedes PC-Feld der Befehlsregister 21, 23, 25 an den Befehlsadressen-Vergleichsabschnitt 30 angelegt, um zu bestimmen, ob ein nachfolgender Befehl durch Übespringen eines vorhergehenden Befehis ausgeführt wird oder nicht.
  • Wenn aus dem Ergebnis des Vergleichs das PC-Feld des ersten Befehlsregisters 21 nicht minimal ist, wird ein "1" Ausgangssignal von dem Ausgang C&sub1; des Vergleichsabschnitts erzeugt, und wenn das PC-Feld des zweiten Befehlsregisters 23 nicht minimal ist, dann wird ein "1" Ausgangssignal von dem Ausgang C&sub2; davon erzeugt, während, wenn das PC-Feld des Befehlsregisters 25 nicht minmal ist, ein "1" Ausgangssignal von dem Ausgang C&sub3; davon erzeugt wird.
  • Wenn ferner die Adresse PC des Befehlsregisters in dem Operator, der einen Befehl ausgeführt hat, nicht minimal ist, wird ein "1" Ausgangssignal (ein EGR-SCHRFIB-Signal) von dem Ausgang C&sub4; des Adressenvergleichsabschnitts 30 erzeugt, während, wenn die Adresse PC des Befehlsregisters minimal ist, ein "1" Ausgangssignal (CGR-SCHREIB-Signal) von dem Ausgang C&sub5; des Vergleichsabschnitts 30 erzeugt wird.
  • Wenn die Operation in jedem Operator abgeschlossen ist, dann wird die Kennung 5 in dem Register FGR auf "1" gesetzt, wenn C&sub4;=1, C&sub1;=1 ist und die I-Kennung wird auf "1" gesetzt, wenn C&sub2;=1 ist, während die F-Fennung auf "1" gesetzt wird, wenn C&sub3;=1 ist.
  • Das Operationsergebnis von jedem der Operatoren 20, 22 und 24 wird in dem durch das DR-Feld jedes Pefehlsregisters 21, 23, 25 bezeichneten Datenhalteabschnitt FGRi gespeichert.
  • Wenn die Operation jedes Operators 20, 22 und 24 abgeschlossen ist, dann wird das Ergebnis jeder Operation in dem Datenhalteabschnitt FGRi und CGRi gespeichert, die durch das DR-Feld jedes Befehlsregisters unter der Annahme von C&sub4;=0, C&sub5;=1 bezeichnet sind. Die Daten in einem anderen FGRi, in dem irgendeine der Kennungen F, I und S eingerichtet worden sind, wird in dem entsprechenden CGRi bezeichnet.
  • Demzufolge und wie in Figur 5 gezeigt, enthält im Betrieb das in Figur 3 gezeigte PC-Feld des ersten Befehlsregisters 21 die Adresse des Befehis a&sub2; zu dem fünften Takt, wobei zu dieser Zeit der Befehl a&sub2; ausgeführt werden soll und das PC- Feld des zweiten Befehlsregisters 23 enthält den Befehl a&sub1;. Da allerdings ein Befehl nicht an das PC-Feld des dritten Befehlsregisters 25 von dem Befehlssendeabschnitt 13 gesendet worden ist, enthält sein PC-Feld keine Adresse. Infolgedessen wird in dem dritten Operationsausführungsabschnitt 12 kein Befehl ausgeführt.
  • Da andererseits das erste Befehlsregister 21 den Befehl a&sub2; enthält und das Adressen-PC-Feld davon größer als das des Befehis a&sub1; ist, wird C&sub1;=1 hergestellt und das Ergebnis der Operation wird in FGR&sub2; geschrieben, während die Kennung 5 auf "1" gesetzt wird.
  • Der Befehl a&sub1; wird in dem zweiten Operator 11 in dem sechsten Takt ausgeführt. Da in diesem Fall jedoch das Befehlsregister 21 in dem ersten Operator 10 keinen Befehl enthält, da der Befehl a&sub2; bereits darin ausgeführt worden ist, wird keine Funktion ausgeführt. Da demzufolge C&sub4;=0, C&sub5;=1 ist, wird das Ergebnis der Operation des Befehls a&sub1; in dem CGR&sub1; und FGR&sub1; gespeichert, während der Datenwert in FGR&sub2;, in dem die Kennung S1 aud "1" gesetzt worden ist, nun an CGR&sub2; transferiert wird und für eine spätere Verwendung als Datenwert gespeichert wird, der entlang des Programmflusses verarbeitet ist.
  • Wie sich aus der voranstehenden Beschreibung ergibt, kann der Datenwert, der für die Berechnung der effektiven Adresse des nächsten Befehls a&sub3; benötigt wird, aus dem FGR&sub2; (der dem Register R&sub2; entspricht) beim Abschluß des fünften Takts aufgenommen werden. Infolgedessen kann der Befehl a&sub3; an den Effektivadressen-Berechnungsabschnitt 4 sofort bewegt werden.
  • Demzufolge und im Gegensatz zu den Mikroprozessoren dieses Typs gemäß dem Stand der Technik wird in dem Mikroprozessor vom Befehls-Pipelinetyp gemäß der vorliegenden Erfindung eine sequentielle Programmverarbeitung, derart, daß der Befehl a&sub3; nur nach Ausführung der Befehle a&sub1; und a&sub2; verarbeitet werden kann, in der vorliegenden Erfindung nicht benötigt.
  • Wie voranstehend beschrieben worden ist, wird in dem Mikroprozessor vom Befehls-Pipelinetyp gemäß der vorliegenden Erfindung der Operationsausführungsabschnitt dupliziert, um so eine Vielzahl von Befehlen gleichzeitig auszuführen, während auch die Allgemeinzweck-Registergruppe in eine zweite Registergruppe zum Speichern von entlang des Programmflusses verarbeiteten Daten und in eine erste Registergruppe zum Speichern von Daten als Ergebnis der Tatsache, daß ein nachfolgender Befehl in einer vorausblickenden Weise ausgeführt wird, aufgeteilt ist.
  • In dem Mikroprozessor vom Befehls-Pipelinetyp gemäß der vorliegenden Erfindung ist auch eine Vergleichs- und Entscheidungseinrichtung vorgesehen, wobei eine Entscheidung durchgeführt wird, ob der nachfolgende Befehl durch Überspringen der vorangehenden Befehle ausgeführt wird oder nicht und die verarbeiteten Daten, die in der ersten Regigstergruppe gehalten worden sind, an die zweite Registergruppe gesendet werden oder nicht, um sie in der Form entlang des Programmflusses gemäß dem Ergebnis der Entscheidung zu ersetzen.
  • Da nachfolgende Befehle in einer vorausblickenden Weise ausgeführt werden können, ohne auf das Ergebnis der Ausführung der vorangehenden Befehle zu warten, kann das Betriebsverhalten des Mikroprozessors vom Befehls-Pipelinetyp gemäß der vorliegenden Erfindung bemerkenswert verbessert werden.

Claims (3)

1. Mikroprozessor vom Befehls-Pipelinetyp, umfassend:
(a) eine Einrichtung (2, 3, 13) zum Holen, Dekodieren und Bestimmen einer Vielzahl von verschiedenen Arten von dekodierten Befehlen und zum Senden der Vielzahl von verschiedenen Arten von dekodierten Befehlen gemäß der bestimmten verschiedenen Arten;
(b) eine Vielzahl von Operationsausführungsabschnitten (10, 11, 12) zum Empfang der dekodierten Befehle gemäß der bestimmten verschiedenen Arten und zum jeweiligen Ausführen der Vielzahl von verschiedenen Arten von dekodierten Befehlen gleichzeitig, wobei jeder der Vielzahl von Operationsausführungsabschnitten ein Befehlsregister (21:23:25) umfaßt, welches wenigstens ein Befehlsadressenhaltefeld (PC) welches die Adresse eines in einem Programm dekodierten Befehl anzeigt, und ein Zielregisterbezeichnungsfeld (DR) aufweist, welches die Stelle in einem Datenhalteabschnitt anzeigt, wo das Betriebsausführungsergebnis gespeichert werden soll; wobei das Datenhaltesystem umfaßt:
(c) eine erste Speichereinrichtung (FGRi) zum Speichern der Operationsausführungsergebnisse in der Reihenfolge, so wie sie verarbeitet werden, wobei die erste Speichereinrichtung eine Vielzahl von Kennungsbits (F; I; S) umfaßt, jeweils ein Kennungsbit für jeden Operationsausführungsabschnitt (10, 11, 12), zum Anzeigen, ob der entsprechende Operationsausführungsabschnitt einen Befehl (a&sub2;) ausgeführt hat oder nicht, bevor ein vorangehender Befehl (a&sub1;) ausgeführt worden ist;
(d) eine zweite Speichereinrichtung (CGRi) zum Speichern der Operationsaus führungsergebnisse gemäß der Programmreihenfolge;
(e) eine Vergleichseinrichtung (30) zum Vergleichen der Befehlsadressenhaltefelder (PC) von den Operationsausführungsabschnitten (10, 11, 12) und zum Erzeugen von Signalen (C&sub1;; C&sub2;; ...; C&sub5;), die das Ergebnis eines Vergleichs anzeigen, zum Senden des Operationsausführungsergebnisses und des entsprechenden Kennungsbits (F; I; S) an die erste Speichereinrichtung (FGRi) auf der Grundlage der Reihenfolge eines Abschlusses der Datenverarbeitung, wobei der Wert des entsprechenden Kennungsbits (F; I; S) durch entsprechende Signale (C&sub1;; C&sub2;; C&sub3;) von dem Vergleicher bestimmt wird, oder zum Senden der verarbeiteten Daten an die erste und zweite Speichereinrichtung, so daß die bereits in der ersten Speichereinrichtung (FGRi) gespeicherten verarbeiteten Daten an die zweite Speichereinrichtung (CGRi) in der vorgegebenen Programmreihenfolge gemäß von Vergleichsergebnissen und Inhalten der Kennungsbits (F; 1; 5) transferiert werden.
2. Mikroprozessor nach Anspruch 1, dadurch gekennzeichnet, daß die Vielzahl von Operationsausführungsabschnitten umfassen: einen ersien Operationsausführungsabschnitt (10) zum Ausführen von Befehlen mit jeweils keinem Speicheroperanden, einen zweiten Operationsausführungsabschnitt (11) zum Ausführen von Befehlen mit jeweils einem Speicheroperanden und einen dritten Operationsausführungsabschnitt (12) zum Ausführen von Gleitkommabefehlen.
3. Mikroprozessor nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die erste Speichereinrichtung umfaßt: eine erste Registergruppe (FRGi) zum sukzessiven Speichern des Ergebnisses der Operationen für ausgeführte Befehle und eine zweite Speichereinrichtung umfassend eine zweite Registergruppe (CGRi) zum Speichern der Ergebnisse der Operationen entlang des vorgegebenen Programmflusses.
DE68924883T 1988-08-11 1989-08-11 Mikroprozessor mit Befehlspipeline. Expired - Fee Related DE68924883T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63198789A JPH0673105B2 (ja) 1988-08-11 1988-08-11 命令パイプライン方式のマイクロプロセッサ

Publications (2)

Publication Number Publication Date
DE68924883D1 DE68924883D1 (de) 1996-01-04
DE68924883T2 true DE68924883T2 (de) 1996-05-15

Family

ID=16396934

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68924883T Expired - Fee Related DE68924883T2 (de) 1988-08-11 1989-08-11 Mikroprozessor mit Befehlspipeline.

Country Status (4)

Country Link
EP (1) EP0354585B1 (de)
JP (1) JPH0673105B2 (de)
KR (1) KR920004290B1 (de)
DE (1) DE68924883T2 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04111127A (ja) * 1990-08-31 1992-04-13 Toshiba Corp 演算処理装置
ATE291755T1 (de) 1991-07-08 2005-04-15 Seiko Epson Corp Risc-prozessor mit erweiterbarer architektur
US5961629A (en) * 1991-07-08 1999-10-05 Seiko Epson Corporation High performance, superscalar-based computer system with out-of-order instruction execution
US5493687A (en) 1991-07-08 1996-02-20 Seiko Epson Corporation RISC microprocessor architecture implementing multiple typed register sets
KR100294276B1 (ko) * 1991-07-08 2001-09-17 야스카와 히데아키 고속트랩및예외상태를구현한알아이에스씨마이크로프로세서구조
US5539911A (en) 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
EP0636256B1 (de) 1992-03-31 1997-06-04 Seiko Epson Corporation Befehlsablauffolgeplanung von einem risc-superskalarprozessor
US5371684A (en) 1992-03-31 1994-12-06 Seiko Epson Corporation Semiconductor floor plan for a register renaming circuit
US5438668A (en) * 1992-03-31 1995-08-01 Seiko Epson Corporation System and method for extraction, alignment and decoding of CISC instructions into a nano-instruction bucket for execution by a RISC computer
DE69308548T2 (de) 1992-05-01 1997-06-12 Seiko Epson Corp Vorrichtung und verfahren zum befehlsabschluss in einem superskalaren prozessor.
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
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
US5628021A (en) 1992-12-31 1997-05-06 Seiko Epson Corporation System and method for assigning tags to control instruction processing in a superscalar processor
US5850563A (en) * 1995-09-11 1998-12-15 International Business Machines Corporation Processor and method for out-of-order completion of floating-point operations during load/store multiple operations

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5110746A (de) * 1974-07-17 1976-01-28 Hitachi Ltd
JPS5729153A (en) * 1980-07-29 1982-02-17 Fujitsu Ltd Control system for instruction processing order
JPS57161938A (en) * 1981-03-30 1982-10-05 Fujitsu Ltd Instruction control system
JPS581246A (ja) * 1981-06-26 1983-01-06 Fujitsu Ltd 命令処理順序制御方式
US4594660A (en) * 1982-10-13 1986-06-10 Honeywell Information Systems Inc. Collector
JPS60126734A (ja) * 1983-12-13 1985-07-06 Nec Corp 情報処理装置
JPS6116335A (ja) * 1984-07-02 1986-01-24 Nec Corp 情報処理装置

Also Published As

Publication number Publication date
EP0354585A3 (de) 1991-11-13
EP0354585B1 (de) 1995-11-22
JPH0248732A (ja) 1990-02-19
KR920004290B1 (ko) 1992-06-01
EP0354585A2 (de) 1990-02-14
DE68924883D1 (de) 1996-01-04
JPH0673105B2 (ja) 1994-09-14
KR900003743A (ko) 1990-03-27

Similar Documents

Publication Publication Date Title
DE69032635T2 (de) Verfahren und Vorrichtung zur Erkennung von Betriebsmittelkonflikten in einer Pipeline-Verarbeitungseinheit
DE3587277T2 (de) System fuer die umgehungssteuerung beim pipelinebetrieb eines computers.
DE3851488T2 (de) Registerverwaltungssystem mit Ausführung von Befehlen in Unordnung in einem Computerprozessor.
DE69017178T2 (de) Datenverarbeitungssystem mit Vorrichtung zur Befehlskennzeichnung.
DE68927218T2 (de) Verfahren und Vorrichtung für Zustandskode in einem Zentralprozessor
DE69129565T2 (de) Hochleistungsfähiger Emulator mit Pipelining
DE3751356T2 (de) Informationsverarbeitungssystem.
DE69320991T2 (de) System und verfahren zur änderung der namen von registern
DE2714805C2 (de)
DE69033131T2 (de) Logikvorrichtung und Verfahren zur Verwaltung einer Befehlseinheit in einer Pipeline-Verarbeitungseinheit
DE68924883T2 (de) Mikroprozessor mit Befehlspipeline.
DE69027932T2 (de) Cpu-pipeline mit registerfile-bypass durch adressvergleich bei aktualisierungen/zugriffen
DE60224774T2 (de) Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit
DE69030931T2 (de) Mehrfachsequenzprozessorsystem
DE3689595T2 (de) Datenverarbeitungssystem.
DE3781794T2 (de) Vorrichtung und verfahren zum versehen eines cachespeichers mit einer schreiboperation mit zwei systemtaktzyklen.
DE69624159T2 (de) Verfahren und Vorrichtung zur Befehlsausgabe
DE19983098B4 (de) Mehrfach-Bitanzeige zur Behandlung von Schreib-nach-Schreib-Fehlern und zur Eliminierung von Bypass-Komparatoren
DE3228405C2 (de) Steuerung für einen Emulator zur Entwicklung von Mikroprozessorsystemen
DE69130513T2 (de) Verfahren zur Durchführung boolescher Operationen zwischen zwei beliebigen Bits von zwei beliebigen Registern
DE69130233T2 (de) Verfahren und gerät um ein sperrungscache einzusetzen
DE69128908T2 (de) Verfahren zum Durchführen von erlässlichen Befehlen in einem Rechner
DE3421737C2 (de) Vorrichtung zur Ermittlung einer Überlappung von Operanden
DE69219662T2 (de) Verfahren zur On-Line-Modifizierung von komprimierten digitalen Prüfvektoren
DE68918840T2 (de) Fehlererkennung für teilschreiboperationen für speicher.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8339 Ceased/non-payment of the annual fee