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
Links
- 238000000034 method Methods 0.000 claims description 2
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 101150037114 OPR2 gene Proteins 0.000 description 3
- 101100028078 Oryza sativa subsp. japonica OPR1 gene Proteins 0.000 description 3
- 101150097577 OPR1 gene Proteins 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand 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
- Die vorliegende Erfindung bezieht sich auf ein System zur By-pass- oder Umgehungssteuerung während eines Pipeline-Betriebs eines Computers.
- 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.
- 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.
- 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.
- 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.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3405784A JPS60178540A (ja) | 1984-02-24 | 1984-02-24 | 情報処理装置におけるバイパス制御方式 |
JP59034056A JPS60178539A (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)
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
US7100024B2 (en) * | 2003-02-04 | 2006-08-29 | Via Technologies, Inc. | Pipelined microprocessor, apparatus, and method for generating early status flags |
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)
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 | 情報処理装置 |
EP0150177A1 (de) * | 1983-07-11 | 1985-08-07 | Prime Computer, Inc. | Datenverarbeitungsvorrichtung |
JPS60120439A (ja) * | 1983-12-05 | 1985-06-27 | Nec Corp | 演算処理装置 |
JPH063584B2 (ja) * | 1983-12-19 | 1994-01-12 | 株式会社日立製作所 | 情報処理装置 |
-
1985
- 1985-02-13 AU AU38677/85A patent/AU553416B2/en not_active Ceased
- 1985-02-15 CA CA000474470A patent/CA1223371A/en not_active Expired
- 1985-02-22 BR BR8500788A patent/BR8500788A/pt not_active IP Right Cessation
- 1985-02-22 ES ES540629A patent/ES8702010A1/es not_active Expired
- 1985-02-25 EP EP85400342A patent/EP0155211B1/de not_active Expired - Lifetime
- 1985-02-25 DE DE8585400342T patent/DE3587277T2/de not_active Expired - Fee Related
-
1989
- 1989-12-19 US US07/453,193 patent/US5043868A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
BR8500788A (pt) | 1985-10-08 |
CA1223371A (en) | 1987-06-23 |
ES540629A0 (es) | 1986-12-01 |
EP0155211A3 (en) | 1988-04-27 |
US5043868A (en) | 1991-08-27 |
EP0155211A2 (de) | 1985-09-18 |
EP0155211B1 (de) | 1993-04-21 |
AU3867785A (en) | 1985-09-05 |
DE3587277D1 (de) | 1993-05-27 |
AU553416B2 (en) | 1986-07-17 |
ES8702010A1 (es) | 1986-12-01 |
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 | |
DE3781794T2 (de) | Vorrichtung und verfahren zum versehen eines cachespeichers mit einer schreiboperation mit zwei systemtaktzyklen. | |
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 |