DE3587277T2 - System fuer die umgehungssteuerung beim pipelinebetrieb eines computers. - Google Patents

System fuer die umgehungssteuerung beim pipelinebetrieb eines computers.

Info

Publication number
DE3587277T2
DE3587277T2 DE8585400342T DE3587277T DE3587277T2 DE 3587277 T2 DE3587277 T2 DE 3587277T2 DE 8585400342 T DE8585400342 T DE 8585400342T DE 3587277 T DE3587277 T DE 3587277T DE 3587277 T2 DE3587277 T2 DE 3587277T2
Authority
DE
Germany
Prior art keywords
address
instruction
register
coincidence
data
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
DE8585400342T
Other languages
English (en)
Other versions
DE3587277D1 (de
Inventor
Toshiaki Kitamura
Yuji Oinaga
Katsumi Onishi
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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
Priority claimed from JP59034056A external-priority patent/JPS60178539A/ja
Priority claimed from JP3405784A external-priority patent/JPS60178540A/ja
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of DE3587277D1 publication Critical patent/DE3587277D1/de
Publication of DE3587277T2 publication Critical patent/DE3587277T2/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/3824Operand accessing

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

    HINTERGRUND DER ERFINDUNG 1. Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf ein System zur By-pass- oder Umgehungssteuerung während eines Pipeline-Betriebs eines Computers.
  • 2. Beschreibung der verwandten Techniken
  • Während eines Pipeline-Betriebs eines Computers kann ein Registerkonflikt auftreten, wenn auf ein Register, in dem gerade eine Datenänderung durch eine vorhergehende Instruktion ausgeführt wird, von einer gegenwärtigen Instruktion bezuggenommen wird. Wenn ein derartiger Registerkonflikt auftritt, kann die Bezugnahme auf dieses Register durch die gegenwärtige Instruktion nur nach Beendigung der Ausführung der vorhergehenden Instruktion für eine Datenänderung durchgeführt werden.
  • Üblicherweise besteht der Fluß von Instruktionen im Pipeline-Betrieb aus der Decodierstufe D zum Decodieren der Instruktion, der Adressenberechnungsstufe A zum Berechnen der Operandenadresse, der Adressentransformationsstufe T zum Transformieren einer Operandenadresse in eine tatsächliche Adresse, der Pufferlesestufe B zum Lesen eines Operanden aus dem vom Speichersteuerteil gesteuerten Pufferspeicher, der Ausführstufe E zum Ausführen der Berechnung und der Ergebnisschreibstufe W zum Überprüfen des Ergebnisses der Berechnung und Schreiben des Ergebnisses.
  • Ein Beispiel eines By-pass-Steuersystems, das in einer arithmetischen Berechnungs-Pipeline operiert, ist in der EP-A-0 097 956 beschrieben. In diesem System führt die arithmetische Einheit eine gegebene Anzahl arithmetischer Instruktionen in der Pipeline bis zu dieser Anzahl von N Instruktionen aus. Die Initiierung einer neuen Instruktion in der arithmetischen Einheit wird durch einen Indikator angezeigt, der detektiert, daß jede in der arithmetischen Einheit ausgeführte Instruktion N Zyklen vor Beendigung der Ausführung auftritt, und es der arithmetischen Einheit ermöglicht, für eine neue Instruktion im darauffolgenden Zyklus initiiert zu werden. Hier wird der By-pass aktiv, um Verzögerungsstufen in einem Instruktionsflußweg auszulassen, wenn das Ergebnis einer vorhergehenden Instruktion für die Ausführung einer folgenden Instruktion erforderlich ist. Die Verzögerungsstufen sind sonst notwendig, um die Regel strikter sequentieller Steuerung einzuhalten.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist die Aufgabe der vorliegenden Erfindung, einen verbesserten Pipeline-Betrieb eines Computers zu realisieren, in dem eine Betriebsverzögerung auf Grund eines Registerkonflikts während des Flusses des Pipeline-Betriebs vermindert wird, und die Geschwindigkeit der Steuerung der Ausführung der Instruktionen im Pipeline-Betrieb zu erhöhen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • In den Zeichnungen veranschaulicht Fig. 1 Beispiele des bekannten Pipelineflusses;
  • Fig. 2 ist ein schematisches Blockdiagramm des Systems zur By-pass-Steuerung während des Pipeline-Betriebs eines Computers gemäß einer Ausführungsform der vorliegenden Erfindung;
  • Fig. 3 veranschaulicht einen Pipelinefluß zur Erläuterung des Betriebs des in Fig. 2 gezeigten Systems;
  • Fig. 4 veranschaulicht eine weitere Ausführungsform der vorliegenden Erfindung;
  • Fig. 5 veranschaulicht den Pipelinefluß für den Betrieb des in Fig. 4 gezeigten Systems;
  • Fig. 6 veranschaulicht den bekannten Pipelinefluß zur Erläuterung des Unterschieds zwischen diesem Fluß und dem in Fig. 5 gezeigten Pipelinefluß; und
  • Fig. 7 veranschaulicht eine weitere Ausführungsform der vorliegenden Erfindung.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Das System zur By-pass-Steuerung während des Pipeline- Betriebs eines Computers gemäß einer Ausführungsform der vorliegenden Erfindung ist in Fig. 2 gezeigt. Das System von Fig. 2 umfaßt ein Instruktionsregister 1, eine Registerdatei 2, eine Koinzidenzschaltung 3, einen Decodierteil 41, ein By-pass-gültig-Flaggenregister 42, Registerschreibadressenhalteregister 51, 52, 53, 54 und 55 und einen Schreibbetriebsteil 56. Das System von Fig. 2 umfaßt auch ein Basisregister 61, ein Operandenadressenhalteregister 62, ein Indexregister 63, ein Operandenadressenhalteregister 64, ein Versetzungsregister 65, Selektoren 66 und 67, einen Addierer/Subtrahierer 68 zum Berechnen von Adressen, einen Instruktionsteil 71 zum Anweisen des Lesens von Daten aus einem Speicher, einem Instruktionsteil 72 zum Anweisen der Ausführung einer Berechnung und einen Instruktionsteil 73 zum Anweisen des Schreibens des Ergebnisses der Berechnung.
  • Gemäß dem System der vorliegenden Erfindung wird eine vom Hauptspeicher eingeholte Instruktion im Instruktionsregister 1 registriert. Diese Instruktion besteht beispielsweise aus einem Betriebscode OP, einem ersten Operanden OPR1 und einem zweiten Operanden OPR2. Wenn die Instruktion eine Instruktion vom Ladetyp ist, ist der erste Operand OPR1 ein zu schreibender Operand, und ist der zweite Operand OPR2 ein Operand zur Bezugnahme. Im Beispiel einer gespeicherten Instruktion, die im Instruktionsregister 1 von Fig. 2 gezeigt ist, umfaßt der zweite Operand OPR2 eine Indexregisternummer X2, eine Basisregisternummer B2 und eine Versetzung D2.
  • Die Registerdatei 2 ist eine Speicherschaltung, die aus einem Register für allgemeine Anwendung, einem Gleitpunktregister und dgl. besteht. Der Ausgang der Registerdatei 2 wird dem Basisregister 61 und dem Indexregister 63 zugeführt.
  • Der Selektor 66 empfängt die Ausgänge des Basisregisters 61 und dem Operandenadressenhalteregisters 62 als zu selektierende Eingänge und den Ausgang der Koinzidenzschaltung 3 als Steuereingang, und der Selektor 67 empfängt die Ausgänge des Indexregisters 63 und des Operandenadressenhalteregisters 64 als zu selektierende Eingänge und den Ausgang der Koinzidenzschaltung 3 als Steuereingang.
  • Der Addierer/Subtrahierer 68 empfängt die Daten von den Selektoren 66 und 67 und dem Versetzungsregister 65 und führt die Addition oder Subtraktion auf Basis der empfangenen Daten durch, um eine Operandenadresse zu erhalten.
  • Die vom Addierer/Subtrahierer 68 berechnete Operandenadresse wird den Registern 62 und 64 zum Halten der Operandenadresse zugeführt.
  • Im Stand der Technik sind die Register zum Halten von Operandenadressen, wie die Register 62 und 64 in Fig. 2, zum vorübergehenden Halten und Aktualisieren einer Operandenadresse vorgesehen, um die Behandlung einer Operandenadresse mit einer variablen Länge im Hauptspeicher zu erleichtern. Im System von Fig. 2 gemäß der vorliegenden Erfindung werden diese Register zum Halten von By-pass-Daten verwendet.
  • Die Koinzidenzschaltung 3 detektiert die Identifizierung zwischen einem Register, das das Ergebnis der Ausführung der vorhergehenden Instruktion speichert, und einem Register, das zum Berechnen der Operandenadresse der gegenwärtigen Instruktion zu verwenden ist. Die Selektionen in den Selektoren 66 und 67 werden durch die Ausgänge der Koinzidenzschaltung 3 gesteuert.
  • Der Decodierteil 41 dient zum Analysieren des Betriebscodes einer Instruktion. Der Decodierteil 41 entscheidet, ob die vorhergehende Instruktion eine Instruktion ist, die die Ausführung der Berechnung der Registerschreibdaten auf Basis des Ausgangs des Addierers/Subtrahierers 68 zum Berechnen von Adressen realisieren kann oder nicht. Das gültige Flaggenregister 42 wird auf Basis dieser Entscheidung eingestellt oder zurückgesetzt.
  • Wenn beispielsweise die Instruktion das Ergebnis der Ausführung der Instruktion in einem relativ frühen Zyklus der Ausführung der Instruktion, wie einer Lade-Adresse (LA)-Instruktion, erhalten werden kann, wird die gültige Flagge im gültigen Flaggenregister 42 eingestellt. Wenn die gültige Flagge eingestellt ist, wird das By-pass-Steuerfreigabesignal vom Decodierteil 41 der Koinzidenzschaltung 3 zugeführt.
  • Die Registerschreibadressen werden wie folgt gespeichert: A1 für Stufe A in Register 51; T1 für Stufe T in Register 52; B1 für Stufe B in Register 53; E1 für Stufe E in Register 54; und W1 für Stufe W in Register 55.
  • Die Koinzidenzschaltung 3 besteht aus einer Basiskoinzidenzschaltung 31 und einer Indexkoinzidenzschaltung 32. Die Basiskoinzidenzschaltung 31 detektiert die Koinzidenz zwischen der Registerschreibadresse A1 der vorhergehenden Instruktion, wie jener der Lade-Adresse-Instruktion und der Basismodifikationsregisteradresse, als I3-Teil der gegenwärtigen Instruktion gezeigt. Wenn eine Koinzidenz detektiert wird, werden die Daten des Registers 62 (nicht die aus der Registerdatei 2 gelesenen Daten) dem Eingangsport EA1 des Addierers/Subtrahierers 68 zur Durchführung des Bypass-Betriebs zugeführt.
  • Die Indexkoinzidenzschaltung 32 detektiert die Koinzidenz zwischen der Registerschreibadresse A1 der vorhergehenden Instruktion und der Indexmodifikationsregisteradresse, als I2-Teil der gegenwärtigen Instruktion gezeigt. Wenn eine Koinzidenz detektiert wird, werden die Daten des Registers 64 (nicht die aus der Registerdatei 2 ausgelesenen Daten) dem Eingangsport EA2 des Addierers/Subtrahierers 68 zur Durchführung des By-pass-Betriebs zugeführt.
  • So wird im System von Fig. 2 ein Pipelinefluß mit minimaler Verzögerung realisiert, wie in Fig. 3, (B), gezeigt. Die Zeit, die für den in Fig. 3, (B), gezeigten Betrieb erforderlich ist, wird auf 5 Zyklen weniger verringert als die in Fig. 1, (B), gezeigte, und auf 4 Zyklen weniger als die in Fig. 1, (C), gezeigte.
  • Sogar wenn die Registerschreibadresse A1 mit der Basis oder dem Index koinzidiert, wird der By-pass-Betrieb nicht durchgeführt, wenn die gültige Flagge in gültigen Flaggenregister 42 zurückgesetzt wird, und wird der Betrieb mit der üblichen Wartezeit durchgeführt.
  • Obwohl in der obigen Beschreibung die Lade-Adresse (LA)-Instruktion als Instruktion übernommen wird, die die Berechnung der Registerschreibdaten auf Basis des Ausgangs des Addierers/Subtrahierers 68 zur Berechnung von Adressen anweisen kann, können andere Instruktionen übernommen werden, vorausgesetzt, daß die übernommene Instruktion das Ergebnis der Ausführung der Instruktion in einem frühen Zyklus der Ausführung der Instruktion erhalten kann.
  • Das System zur By-pass- oder Umgehungssteuerung im Pipeline-Betrieb eines Computers gemäß einer weiteren Ausführungsform der vorliegenden Erfindung ist in Fig. 4 gezeigt. Das System von Fig. 4 umfaßt ein Instruktionsregister 1, eine Registerdatei 2, eine Koinzidenzschaltung 3, einen Decodierteil 41, By-pass-gültig-Flaggenregister 421, 422, 423, 424 und 425 und Registerschreibadressenhalteregister 51, 52, 53, 54 und 55.
  • Das System von Fig. 4 umfaßt auch ein Basisregister 61, ein Indexregister 63, Selektoren 661, 662, 671 und 672, ein Versetzungsregister 65 und einen Addierer/Subtrahierer 68 zum Berechnen von Adressen. Das System von Fig. 4 umfaßt ferner By-pass-Register 811, 812, 813 und 814 entsprechend den Stufen des Betriebs, Selektoren 821, 822, 823 und 824, einen das Ergebnis der Berechnung speichernden Teil 741, einen Berechnungsausführungsteil 742 und einen Teil 743 zum Lesen von Daten aus dem Speicher.
  • Der Addierer/Subtrahierer 68 zum Berechnen von Adressen führt die Addition oder Subtraktion auf Basis der Daten vom Basisregister 61, dem Indexregister 63, dem Versetzungsregister 65 und den By-pass-Registern 811, 812, 813 und 814 zum Halten einer Operandenadresse und Berechnen einer Operandenadresse durch. Die vom Addierer/Subtrahierer 68 berechnete Operandenadresse wird für eine Speicheradresse verwendet und wird aufeinanderfolgend den By-pass-Registern 811, 812, 813 und 814 zugeführt. Die Anzahl von Bypass-Registern entspricht der Anzahl von Stufen der Pipeline nach Stufe A.
  • Die Koinzidenzschaltung 3 umfaßt Koinzidenzelemente 311 bis 314 und 321 bis 324 sowie NOR-Gates 331 und 341. Die Koinzidenzelemente führen den Vergleich zwischen dem Basismodifikationsteil I3 oder der Indexmodifikation I2 der Instruktion und den Registerschreibadressen A1 bis E1 in den Betriebsstufen durch.
  • Beispielsweise detektiert das Koinzidenzelement 311 die Koinzidenz zwischen der Registerschreibadresse A1 der vorhergehenden Instruktion, wie einer Lade-Adresse (LA)-Instruktion, und der Basismodifikationsadresse 13 der gegenwärtigen Instruktion. Wenn eine Koinzidenz detektiert wird, werden die Daten des By-pass-Registers 811 (TBYR) dem Eingangsport EA1 des Addierers/Substrahierers 68 zugeführt, um den By-pass-Betrieb zu bewirken.
  • Wenn keine Koinzidenz in den Koinzidenzelementen 311 bis 314 detektiert wird, werden die Daten des Basisregisters 61 dem Eingangsport EA1 des Addierers/Substrahierers 68 zugeführt.
  • So wird im System von Fig. 4 ein Pipelinefluß mit minimaler Verzögerung realisiert, wie in Fig. 5 gezeigt.
  • Zur Erläuterung des Unterschieds zwischen der Ausführungsform der vorliegenden Erfindung und dem Stand der Technik ist der bekannte Pipelinefluß in Fig. 6 gezeigt.
  • Eine weitere Ausführungsform der vorliegenden Erfindung ist in Fig. 7 veranschaulicht. Das in Fig. 7 gezeigte System umfaßt Selektoren 911, 912 und 913, By-pass-Register 921, 922 und 923 sowie Identifikationsnummernregister 931, 932 und 933. Die die Koinzidenzschaltung und den Decodierteil enthaltende Steuerschaltung, wie in Fig. 4 gezeigt, ist als CC bezeichnet.
  • Die Identifikationsnummern (ID) 0, 1 und 2 werden drei By-pass-Registern 921, 922 bzw. 923 für die Pufferlesestufe B, die Ausführstufe E und die Ergebnisschreibstufe W zugeordnet. Der Transfer der Daten vom By-pass-Register 811 (TBYR) zu den Registern 921, 922 und 923 wird durch Ändern der Identifikationsnummer aufeinanderfolgend in der Sequenz 0, 1, 2, 0, 1, 2, . . . durchgeführt.
  • Nur die Identifikationsnummern werden in den Identifikationsnummernregistern 931, 932 und 933 gehalten. Diese Identifikationsnummern werden zum Auswählen von Registern verwendet, wobei die By-pass-Steuerung mit Bezugnahme auf die Daten in den Identifikationsnummernregistern durchgeführt wird.
  • Im in Fig. 7 gezeigten System werden, wenn ein Registerkonflikt auftritt, ein By-pass-Betrieb der Daten des By-pass-Registers als Registerlesedaten und die Operandenadressenberechnung durchgeführt, vorausgesetzt, daß die entsprechenden By-pass-gültig-Flaggen in den By-passgültig-Flaggenregistern 422 bis 425 den gültigen Zustand anzeigen, und daß die Daten im By-pass-Register registriert werden, wodurch es ermöglicht wird, daß der Pipeline-Betrieb zufriedenstellend fortgesetzt wird.

Claims (6)

1. System zur By-pass-Steuerung in einem Pipeline-Betrieb eines Computers, welcher eine Vielzahl von Verarbeitungsstufen verwendet, wobei eine Instruktion in einer Vielzahl von Perioden ausgeführt wird, wobei eine Vielzahl von Instruktionen parallel ausgeführt wird, indem vor der Beendigung der Ausführung der vorhergehenden Instruktion die Ausführung der gegenwärtigen Instruktion begonnen wird, welches System umfaßt:
- ein Instruktionsregister (1) zum Speichern aufeinanderfolgender Instruktionen und Liefern verschiedener Komponenten hiervon;
- Eingangseinrichtungen (61, 63), die vom genannten Instruktionsregister (1) entsprechende Adressenkomponenten in bezug auf eine gegenwärtige Instruktion empfangen;
- einen Adressenrechner (68), der mit den genannten Eingangseinrichtungen (61, 63) verbunden werden kann und einen Ausgang zu einem Berechnungsteil des genannten Computers aufweist;
- Datenhalteeinrichtungen (62, 64; 811, 812, 813, 814; 811, 921, 922, 923) zum Halten der Ausgabe des genannten Adressenrechners, welche Ausgabe By-pass-Daten in bezug auf eine vorhergehende Instruktion sind;
- ein Schreibadressenregister (51) zum Speichern der Adresse, in die das Ergebnis von einer vorherigen Berechnung einzuschreiben ist;
- eine Koinzidenzschaltung (3) zum Vergleichen der Adressenkomponente der gegenwärtigen Instruktion mit den Adressendaten vom genannten Schreibadressenregister (51) und Erzeugen entsprechender Ausgangssignale, die eine Koinzidenz in den entsprechenden Adressenkomponenten davon anzeigen; und
- entsprechende Selektoren (66, 67; 661, 662, 671, 672), die an jedem Paar der genannten Eingangseinrichtungen und Datenhalteeinrichtungen zum selektiven Verbinden, für jede Adressenkomponente, der Ausgänge der Eingangseinrichtungen (61, 63) oder Datenhalteeinrichtungen (62, 64; 811, 812, 813, 814; 811, 921, 922, 923) mit dem Adressenrechner (68) als Funktion der entsprechenden Ausgänge der genannten Koinzidenzschaltung (3) wirken, wobei der Ausgang einer Datenhalteeinrichtungen im Fall einer Koinzidenz ausgewählt wird;
- welche Koinzidenzschaltung (3) durch einen Decoder (41) eingeschaltet wird, der einen Betriebscodeteil einer Instruktion vom genannten Instruktionsregister (1) empfängt, welcher Decoder daraus bestimmt, ob eine vorhergehende Instruktion von einem Typ ist, der für die Berechnung von in die genannten Datenhalteeinrichtungen einzuschreibenden Daten verwendbar ist, oder nicht.
2. System nach Anspruch 1, bei welchem Datenhalteeinrichtungen (811, 812, 813, 814) in Entsprechung zu den Betriebszyklusperioden vorgesehen sind, um Schiebeprozesse durchzuführen.
3. System nach Anspruch 2, bei welchem eine Vielzahl von Koinzidenzschaltungen (311, 312, 313, 314, 321, 322, 323, 324) in Entsprechung zu den Betriebszyklusperioden vorgesehen sind.
4. System nach Anspruch 1, bei welchem Datenhalteeinrichtungen (921, 922, 923) parallel angeordnet sind, Einrichtungen (931, 932, 933) zum Speichern von Identifikationsnummern entsprechend den genannten Datenhalteeinrichtungen vorgesehen sind und die genannten Identifikationsnummern in Entsprechung zu den Betriebszyklusperioden verschoben werden.
5. System nach Anspruch 1, bei welchem die genannten Adressenkomponenten eine Basisadresse und eine Indexadresse umfassen.
6. System nach Anspruch 5, bei welchem die genannte Koinzidenzschaltung (3) eine Basiskoinzidenzschaltung (31) und eine Indexkoinzidenzschaltung (32) umfaßt, die jeweils einen entsprechenden der genannten Selektoren (66, 67) steuern, wodurch im Fall einer Basisadressenkoinzidenz die eine Basisadresse empfangende Datenhalteeinrichtung (62) ausgewählt wird, um Daten in den genannten Adressenrechner (68) einzugeben, und im Fall einer Indexadressenkoinzidenz die eine Indexadresse empfangende Datenhalteeinrichtung (64) ausgewählt wird, um Daten in den genannten Adressenrechner (68) einzugeben.
DE8585400342T 1984-02-24 1985-02-25 System fuer die umgehungssteuerung beim pipelinebetrieb eines computers. Expired - Fee Related DE3587277T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP59034056A JPS60178539A (ja) 1984-02-24 1984-02-24 情報処理装置におけるバイパス制御方式
JP3405784A JPS60178540A (ja) 1984-02-24 1984-02-24 情報処理装置におけるバイパス制御方式

Publications (2)

Publication Number Publication Date
DE3587277D1 DE3587277D1 (de) 1993-05-27
DE3587277T2 true DE3587277T2 (de) 1993-07-29

Family

ID=26372848

Family Applications (1)

Application Number Title Priority Date Filing Date
DE8585400342T Expired - Fee Related DE3587277T2 (de) 1984-02-24 1985-02-25 System fuer die umgehungssteuerung beim pipelinebetrieb eines computers.

Country Status (7)

Country Link
US (1) US5043868A (de)
EP (1) EP0155211B1 (de)
AU (1) AU553416B2 (de)
BR (1) BR8500788A (de)
CA (1) CA1223371A (de)
DE (1) DE3587277T2 (de)
ES (1) ES8702010A1 (de)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0619712B2 (ja) * 1985-12-20 1994-03-16 日本電気株式会社 アドレス生成制御方式
JPH07101385B2 (ja) * 1986-12-05 1995-11-01 株式会社東芝 情報処理装置
JPH0769821B2 (ja) * 1988-03-04 1995-07-31 日本電気株式会社 情報処理装置におけるバイパスライン制御方式
JP2810068B2 (ja) * 1988-11-11 1998-10-15 株式会社日立製作所 プロセッサシステム、コンピュータシステム及び命令処理方法
US5150471A (en) * 1989-04-20 1992-09-22 Ncr Corporation Method and apparatus for offset register address accessing
CA2016068C (en) * 1989-05-24 2000-04-04 Robert W. Horst Multiple instruction issue computer architecture
JP2710994B2 (ja) * 1989-08-29 1998-02-10 三菱電機株式会社 データ処理装置
US5123108A (en) * 1989-09-11 1992-06-16 Wang Laboratories, Inc. Improved cpu pipeline having register file bypass and working register bypass on update/access address compare
JPH03154947A (ja) * 1989-11-13 1991-07-02 Nec Corp 情報処理装置
EP0442116A3 (en) * 1990-02-13 1993-03-03 Hewlett-Packard Company Pipeline method and apparatus
DE69130129T2 (de) * 1990-02-23 1999-05-06 Nec Corp., Tokio/Tokyo Pipelinemikroprozessor mit Vorberechnung der effektiven Adresse
GB2241801B (en) * 1990-03-05 1994-03-16 Intel Corp Data bypass structure in a register file on a microprocessor chip to ensure data integrity
US5224214A (en) * 1990-04-12 1993-06-29 Digital Equipment Corp. BuIffet for gathering write requests and resolving read conflicts by matching read and write requests
JP2845578B2 (ja) * 1990-06-19 1999-01-13 甲府日本電気 株式会社 命令制御方式
JPH04275628A (ja) * 1991-03-01 1992-10-01 Mitsubishi Electric Corp 演算処理装置
JPH04367936A (ja) 1991-06-17 1992-12-21 Mitsubishi Electric Corp スーパースカラープロセッサ
US5522052A (en) * 1991-07-04 1996-05-28 Matsushita Electric Industrial Co. Ltd. Pipeline processor for processing instructions having a data dependence relationship
US5539911A (en) 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
JP2539974B2 (ja) * 1991-11-20 1996-10-02 富士通株式会社 情報処理装置におけるレジスタの読出制御方式
US5604909A (en) * 1993-12-15 1997-02-18 Silicon Graphics Computer Systems, Inc. Apparatus for processing instructions in a computing system
US5966514A (en) * 1995-05-31 1999-10-12 Matsushita Electric Industrial Co., Ltd. Microprocessor for supporting reduction of program codes in size
US5802346A (en) * 1995-06-02 1998-09-01 International Business Machines Corporation Method and system for minimizing the delay in executing branch-on-register instructions
US6092184A (en) * 1995-12-28 2000-07-18 Intel Corporation Parallel processing of pipelined instructions having register dependencies
US5778248A (en) * 1996-06-17 1998-07-07 Sun Microsystems, Inc. Fast microprocessor stage bypass logic enable
US5996065A (en) * 1997-03-31 1999-11-30 Intel Corporation Apparatus for bypassing intermediate results from a pipelined floating point unit to multiple successive instructions
US6820189B1 (en) 1999-05-12 2004-11-16 Analog Devices, Inc. Computation core executing multiple operation DSP instructions and micro-controller instructions of shorter length without performing switch operation
US7111155B1 (en) 1999-05-12 2006-09-19 Analog Devices, Inc. Digital signal processor computation core with input operand selection from operand bus for dual operations
US7107302B1 (en) 1999-05-12 2006-09-12 Analog Devices, Inc. Finite impulse response filter algorithm for implementation on digital signal processor having dual execution units
US6859872B1 (en) * 1999-05-12 2005-02-22 Analog Devices, Inc. Digital signal processor computation core with pipeline having memory access stages and multiply accumulate stages positioned for efficient operation
JP3445535B2 (ja) * 1999-09-24 2003-09-08 株式会社東芝 バイパス制御回路
SG97920A1 (en) * 1999-10-18 2003-08-20 Ibm Address wrap function for addressable memory devices
ATE529802T1 (de) * 2000-02-09 2011-11-15 Texas Instruments Inc Datenverarbeitungsvorrichtung
US6851044B1 (en) * 2000-02-16 2005-02-01 Koninklijke Philips Electronics N.V. System and method for eliminating write backs with buffer for exception processing
US6862677B1 (en) * 2000-02-16 2005-03-01 Koninklijke Philips Electronics N.V. System and method for eliminating write back to register using dead field indicator
US6629234B1 (en) * 2000-03-30 2003-09-30 Ip. First, L.L.C. Speculative generation at address generation stage of previous instruction result stored in forward cache for use by succeeding address dependent instruction
US6675287B1 (en) * 2000-04-07 2004-01-06 Ip-First, Llc Method and apparatus for store forwarding using a response buffer data path in a write-allocate-configurable microprocessor
US20030154363A1 (en) * 2002-02-11 2003-08-14 Soltis Donald C. Stacked register aliasing in data hazard detection to reduce circuit
US7185182B2 (en) * 2003-02-04 2007-02-27 Via Technologies, Inc. Pipelined microprocessor, apparatus, and method for generating early instruction results
US7100024B2 (en) * 2003-02-04 2006-08-29 Via Technologies, Inc. Pipelined microprocessor, apparatus, and method for generating early status flags
US7107438B2 (en) * 2003-02-04 2006-09-12 Via Technologies, Inc. Pipelined microprocessor, apparatus, and method for performing early correction of conditional branch instruction mispredictions
US8078845B2 (en) * 2005-12-16 2011-12-13 Freescale Semiconductor, Inc. Device and method for processing instructions based on masked register group size information
US8966230B2 (en) * 2009-09-30 2015-02-24 Intel Corporation Dynamic selection of execution stage
US8776091B2 (en) 2010-04-30 2014-07-08 Microsoft Corporation Reducing feedback latency
US9430369B2 (en) * 2013-05-24 2016-08-30 Coherent Logix, Incorporated Memory-network processor with programmable optimizations
US9697580B2 (en) * 2014-11-10 2017-07-04 Qualcomm Incorporated Dynamic pipeline for graphics processing

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3449723A (en) * 1966-09-12 1969-06-10 Ibm Control system for interleave memory
US3736566A (en) * 1971-08-18 1973-05-29 Ibm Central processing unit with hardware controlled checkpoint and retry facilities
GB1443777A (en) * 1973-07-19 1976-07-28 Int Computers Ltd Data processing apparatus
US4025771A (en) * 1974-03-25 1977-05-24 Hughes Aircraft Company Pipe line high speed signal processor
US4379328A (en) * 1979-06-27 1983-04-05 Burroughs Corporation Linear sequencing microprocessor facilitating
JPS5621240A (en) * 1979-07-27 1981-02-27 Hitachi Ltd Information processor
US4392200A (en) * 1980-01-28 1983-07-05 Digital Equipment Corporation Cached multiprocessor system with pipeline timing
US4369430A (en) * 1980-05-19 1983-01-18 Environmental Research Institute Of Michigan Image analyzer with cyclical neighborhood processing pipeline
CA1174370A (en) * 1980-05-19 1984-09-11 Hidekazu Matsumoto Data processing unit with pipelined operands
US4373180A (en) * 1980-07-09 1983-02-08 Sperry Corporation Microprogrammed control system capable of pipelining even when executing a conditional branch instruction
US4467409A (en) * 1980-08-05 1984-08-21 Burroughs Corporation Flexible computer architecture using arrays of standardized microprocessors customized for pipeline and parallel operations
US4390946A (en) * 1980-10-20 1983-06-28 Control Data Corporation Lookahead addressing in a pipeline computer control store with separate memory segments for single and multiple microcode instruction sequences
US4399507A (en) * 1981-06-30 1983-08-16 Ibm Corporation Instruction address stack in the data memory of an instruction-pipelined processor
US4414669A (en) * 1981-07-23 1983-11-08 General Electric Company Self-testing pipeline processors
US4532589A (en) * 1981-12-02 1985-07-30 Hitachi, Ltd. Digital data processor with two operation units
JPS58149541A (ja) * 1982-03-01 1983-09-05 Hitachi Ltd デ−タ処理装置
US4484349A (en) * 1982-03-11 1984-11-20 Environmental Research Institute Of Michigan Parallel pipeline image processor
JPS592143A (ja) * 1982-06-29 1984-01-07 Hitachi Ltd 情報処理装置
JPS5932045A (ja) * 1982-08-16 1984-02-21 Hitachi Ltd 情報処理装置
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
JPS59174948A (ja) * 1983-03-25 1984-10-03 Toshiba Corp 情報処理装置
WO1985000453A1 (en) * 1983-07-11 1985-01-31 Prime Computer, Inc. Data processing system
JPS60120439A (ja) * 1983-12-05 1985-06-27 Nec Corp 演算処理装置
JPH063584B2 (ja) * 1983-12-19 1994-01-12 株式会社日立製作所 情報処理装置

Also Published As

Publication number Publication date
ES540629A0 (es) 1986-12-01
CA1223371A (en) 1987-06-23
AU553416B2 (en) 1986-07-17
AU3867785A (en) 1985-09-05
BR8500788A (pt) 1985-10-08
EP0155211B1 (de) 1993-04-21
EP0155211A2 (de) 1985-09-18
ES8702010A1 (es) 1986-12-01
EP0155211A3 (en) 1988-04-27
DE3587277D1 (de) 1993-05-27
US5043868A (en) 1991-08-27

Similar Documents

Publication Publication Date Title
DE3587277T2 (de) System fuer die umgehungssteuerung beim pipelinebetrieb eines computers.
DE2521289C2 (de) Datenverarbeitungsanordnung mit Datenfeld-Hilfsprozessor
DE68927371T2 (de) Verfahren und Vorrichtung zur Verarbeitung von mehreren Zustandscodes wie für einen Parallel-Pipeline-Rechner
DE3751164T2 (de) Datenprozessor mit verschiedenen Unterbrechungsverarbeitungsarten.
DE69621493T2 (de) Hardwareunterstützung zur schnellen Emulation von nicht-implementierten Befehlen
DE69429226T2 (de) Absendung von Befehlen an mehrere Verarbeitungseinheiten
DE3424962C2 (de)
DE69228360T2 (de) Registerlesekontrolle
DE60224774T2 (de) Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit
DE2735814A1 (de) Datenverarbeitungseinrichtung
DE60006021T2 (de) VLIW-Prozessor und Programmkomprimierungsgerät and -verfahren
DE2714805A1 (de) Datenverarbeitungssystem
DE19983098B4 (de) Mehrfach-Bitanzeige zur Behandlung von Schreib-nach-Schreib-Fehlern und zur Eliminierung von Bypass-Komparatoren
DE3750028T2 (de) Pipelineprozessor mit schwacher Kopplung.
DE2036729A1 (de) Digital Datenverarbeiter
DE4216905C2 (de) Superskalarprozessor
DE3854142T2 (de) Vektorrechner.
DE69322566T2 (de) Datenprozessor
DE68924883T2 (de) Mikroprozessor mit Befehlspipeline.
DE69033031T2 (de) Programmierbares Steuergerät
DE3650578T2 (de) Informationsverarbeitungssystem mit einer Steuerschaltung zum Abwarten einer Registererneuerung und einem Aufnahmemittel des zu erneuernden Registers
DE3688923T2 (de) Informationsverarbeitungsvorrichtung.
DE68926701T2 (de) Datenverarbeitungsgerät zur parallelen Dekodierung und parallelen Ausführung von Befehlen mit variabler Wortlänge
DE4430195A1 (de) Computersystem und Verfahren zur Auswertung von Vorhersagen und Booleschen Ausdrücken
DE3307194C2 (de)

Legal Events

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