DE3787789T2 - Fliessbandsteuerungssystem. - Google Patents
Fliessbandsteuerungssystem.Info
- Publication number
- DE3787789T2 DE3787789T2 DE87117955T DE3787789T DE3787789T2 DE 3787789 T2 DE3787789 T2 DE 3787789T2 DE 87117955 T DE87117955 T DE 87117955T DE 3787789 T DE3787789 T DE 3787789T DE 3787789 T2 DE3787789 T2 DE 3787789T2
- Authority
- DE
- Germany
- Prior art keywords
- instruction
- effective address
- information
- register
- calculation
- 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
- 101100120298 Rattus norvegicus Flot1 gene Proteins 0.000 description 15
- 101100412403 Rattus norvegicus Reg3b gene Proteins 0.000 description 15
- 102100023882 Endoribonuclease ZC3H12A Human genes 0.000 description 5
- 101710112715 Endoribonuclease ZC3H12A Proteins 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000000034 method Methods 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)
- Executing Machine-Instructions (AREA)
Description
- Die vorliegende Erfindung betrifft ein Pipelinesteuer- System für einen Rechner und insbesonders ein Pipelinesteuer- System, das in der Lage ist, eine Verarbeitungsgeschwindigkeit zu verbessern.
- Ein Pipelinesteuersystem wird in einem neuen Mikroprozessor eingesetzt, um dessen Verarbeitungsgeschwindigkeit zu verbessern. Das Pipelinesteuersystem teilt eine Instruktion in mehrere Stufen und bearbeitet sie in der Weise, daß die jeweiligen Stufen parallel zueinander bearbeitet werden, und daß eine als nächste zu bearbeitende Instruktion vor dem Abschluß der ersten Instruktion gelesen wird.
- Fig. 1 ist ein Blockschaltbild, das den Aufbau eines herkömmlichen Pipelinesteuersystems darstellt, das ein erstes Instruktionsregister 1, ein zweites Instruktionsregister 3. eine Registerbank 5, einen Komparator 7 und einen Bereich 9 zur Berechnung der Effektivadresse aufweist. In Fig. 1 speichert und hält das erste Register 1 eine Vor-Instruktion die sich in einer Ausführungsphase befindet. Das zweite Instruktionsregister 3 speichert und hält eine Folge-Instruktion, die nach der Vor-Instruktion auszuführen ist. Die in dem zweiten Instruktionsregister 3 gespeicherte Instruktion wird der Berechnung ihrer Effektivadresse unterworfen.
- Die Registerbank 5 weist mehrere Register wie z. B. Basis- und Indexregister für den Einsatz bei der Ausführung der in dem ersten Instruktionsregister 1 gespeicherten Vor- Instruktion und zur Berechnung der effektiven Adresse der im zweiten Instruktionsregister 3 gespeicherten Folge-Instruktion auf. In der Registerbank 5 wird ein zur Ausführung der Vor-Instruktion verwendetes Register entsprechend der Information eines Reg1-Feldes der in dem Instruktionsregister 1 gespeicherten Vor-Instruktion selektiert, nämlich in Übereinstimmung mit dem Wert eines DR- Feldes, das das von dem ersten Instruktionsregister 1 zu verwendende Register für die Ausführung der Vor-Instruktion angibt. Ein zur Berechnung der effektiven Adresse der Folge-Instruktion verwendetes Register wird in der Registerbank 5 in Übereinstimmung mit der Information eines Reg2-Feld der im zweiten Instruktionsregister 3 gespeicherten Folge-Instruktion selektiert, nämlich in Übereinstimmung mit einem IX-Feld, das das von dem zweiten Instruktionsregister 3 zur Berechnung der effektiven Adresse zu verwendende Register angibt.
- Der Komparator 7 ist so angeordnet, daß er die Information des Regl-Feldes der in dem ersten Instruktionsregister 1 gespeicherten Vor-Instruktion mit der Information des Reg2- Feldes der in dem zweiten Instruktionsregister 3 gespeicherten Folge-Instruktion vergleicht. Als Ergebnis des Vergleichs gibt der Komparator 7 ein Übereinstimmungssignal an den Effektivadressen-Berechnungsbereich 9 aus, wenn die Information des Regl-Feldes mit der Information des Reg2- Feldes übereinstimmt, das heißt, wenn das in der Vor- Instruktion zu verwendende Register das gleiche ist wie das bei der Berechnung der effektiven Adresse zu verwendende Register der Folge-Instruktion.
- Wenn andererseits die Information des Regl-Feldes nicht mit der Information des Reg2-Feldes übereinstimmt, das heißt, wenn sich das zur Ausführung der Vor-Instruktion verwendete von dem für die die Berechnung der effektiven Adresse der Folge-Instruktion verwendeten unterscheidet, gibt der Komparator 7 ein Nicht-Übereinstimmungssignal an den Effektivadressen-Berechnungsbereich 9 aus.
- Der Effektivadressen-Berechnungsbereich 9 ist so aufgebaut, daß er die effektive Adresse der in dem zweiten Instruktionsregister 3 gespeicherten Folge-Instruktion berechnet. Wenn nämlich das Nicht-Übereinstimmungssignal von dem Komparator 7 an den Effektivadressen-Berechnungsbereich 9 geliefert wird, wird die effektive Adresse der Folge-Instruktion mittels desjenigen Registers der Registerbank 5 berechnet, das in Übereinstimmung mit der Information des Reg2-Feldes der in dem Instruktionsregister 3 gespeicherten Folge-Instruktion selektiert wurde, und parallel zu dieser Berechnung wird die Vor-Instruktion ausgeführt und unter Einsatz desjenigen Registers der Registerbank 5 bearbeitet, das in in Übereinstimmung mit dem Reg1-Feld der Vor- Instruktion selektiert wurde.
- Wenn andererseits das zur Ausführung der Vor-Instruktion verwendete Register mit dem für die Berechnung der effektiven Adresse der Folge-Instruktion zu verwendendem Register übereinstimmt, und, wenn deshalb der Komparator 7 ein Übereinstimmungssignal an den Effektivadressen-Berechnungsbereich 9 ausgibt, dann wird die Ausführung der Vor- Instruktion, wie in Fig. 2 dargestellt, zuerst abgeschlossen, um die Information zu definieren, die in dem Register zu speichern ist, das für die Ausführung der Vor-Instruktion benutzt wurde. Danach wird die effektive Adresse der Folge-Instruktion der definierten Information entsprechend berechnet.
- Wie vorstehend beschrieben, führt das herkömmliche System dann, wenn ein für die Ausführung einer in dem ersten Instruktionsregister 1 gespeicherten Vor-Instruktion zu verwendendes Register mit einem zur Berechnung der effektiven Adresse einer in dem zweiten Instruktionsregister 3 gespeicherten Folge-Instruktion zu verwendendem Register übereinstimmt, zuerst die Vor-Instruktion aus, um die Inhalte der für die Ausführung der Vor-Instruktion benutzten Register zu definieren, und dann berechnet es eine effektive Adresse der Folge-Instruktion.
- Die EP-A-0 155 211 beschreibt ein Pipelinesteuersystem, das eine Registerkonfikt-Detektionseinrichtung aufweist. Eine Dekodereinrichtung, die den Operationskode der vorausgehenden Instruktion dekodiert, entscheidet, ob diese Instruktion die Ausführung des Einschreibens von Daten in Register zu einem relativ frühen Zyklus der Instruktionsausführung ausführen kann, oder nicht ausführen kann. Ein Merkerregister wird auf der Basis dieser Entscheidung gesetzt oder zurückgesetzt, das es ermöglicht, daß die Daten übergangen werden, wenn es gesetzt ist.
- Abhängig von der Art einer in dem ersten Instruktionsregister 1 gespeicherten Vor-Instruktion kann es einen Fall geben, daß nach der Ausführung der Vor- Instruktion, die Inhalte eines durch das Regl-Feld der Vor- Instruktion angezeigten und zur Ausführung benutzten Registers vor und nach der Ausführung dieselben bleiben. In diesem Falle wird, wenn eine effektive Adresse der Folge-Instruktion nach dem Abschluß der Ausführung der Vor- Instruktion berechnet wird, die Berechnung der effektiven Adresse verzögert. Demzufolge wird eine Geschwindigkeit der Pipelineverarbeitung verlangsamt, wodurch die Verarbeitungsgeschwindigkeit eines Rechners, der die Pipelineverarbeitung nutzt herabgesetzt wird.
- In Anbetracht des Vorstehenden ist es eine Aufgabe der vorliegenden Erfindung ein Pipelinesteuersystem zu schaffen, das eine effektive Adresse einer Folge-Instruktion vor dem Abschluß einer Vor-Instruktion sogar dann berechnet, wenn die von der Vor-Instruktion und von den Folge-Instruktionen zu benutzenden Register übereinstimmen, wenn die Inhalte der Register vor und nach der Ausführung der Vor-Instruktion unverändert bleiben, wodurch der Parallelverarbeitungswirkungsgrad einer Pipelineverarbeitung verbessert werden kann, und die Verarbeitungsgeschwindigkeit eines Rechners, der die Pipelineverarbeitung ausführt, erhöht werden kann.
- Zur Erfüllung der vorstehend erwähnten Aufgabe beruht das Merkmal der vorliegenden Erfindung auf einem Pipelinesteuersystem, das mindestens eine Instruktion parallel zur Berechnung einer effektiven Adresse ausführt, und das aufweist: eine erste Speichereinrichtung zum Speichern und Halten einer Vor-Instruktion, die sich einer Ausführungsphase befindet; eine zweite Speichereinrichtung zum Speichern und Halten einer Folge-Instruktion, die sich in einer Berechnungsphase ihrer effektiven Adresse befindet; eine dritte Speichereinrichtung zum Speichern und Halten der zum Ausführen der Instruktion und zum Berechnen der effektiven Adresse zu verwendenden Information; eine Effektivadressen- Berechnungseinrichtung zum Berechnen einer effektiven Adresse der in dem zweiten Speichereinrichtung gespeicherten Folge-Instruktion; eine Vergleichseinrichtung zum Vergleich der Information, die zur Angabe einer Speicherstelle einer Information in der dritten Speichervorrichtung dient, die zum Ausführen der in der ersten Speichervorrichtung gespeicherten Instruktion zu verwenden ist, mit der Information, die zur Angabe einer Speicherstelle einer Information in der dritten Speichereinrichtung dient, die zur Berechnung der effektiven Adresse der in der zweiten Speichereinrichtung gespeicherten Instruktion zu verwenden ist; und eine Steuereinrichtung zum Steuern der Berechnung der Effektivadressen-Berechnungseinrichtung in der Weise, daß die Berechnung der effektiven Adresse der Folge-Instruktion parallel zur Ausführung der Vor-Instruktion entsprechend der Information in einem Pipelinesteuerbereich und entsprechend einem Vergleichsresultat der Vergleichereinrichtung ausgeführt wird, wenn die Komparatoreinrichtung ein Übereinstimmungssignal ausgibt und, wenn die Information des Pipelinesteuerbereichs anzeigt, daß sich die Inhalte der dritten Speichereinrichtung nicht ändern.
- Dem vorstehend beschriebenem Pipelinesteuersystem entsprechend wird dann, wenn die für die Vor-Instruktion zu verwendende Information, die sich in der Ausführungsphase befindet, mit der für die Folge-Instruktion zu verwendenden Information, die sich in einer Berechnungsphase einer effektiven Adresse befindet, übereinstimmt, und, wenn die Information in einem Pipelinesteuerbereich der Vor- Instruktion angibt, daß sich die bei der Ausführung der Vor- Instruktion zu verwendende Information nicht ändert, die Vor- Instruktion parallel zur Berechnung der effektiven Adresse der Folge-Instruktion ausgeführt.
- Diese und andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden anhand der nachstehenden Beschreibung einer bevorzugten Ausführungsform unter Bezugnahme auf die beigefügten Zeichnungen offensichtlich, von denen:
- Fig. 1 ein Blockschaltbild ist, das den Aufbau eines herkömmlichen Pipelinesteuersystems darstellt;
- Fig. 2 eine erläuternde Ansicht ist, die die Betriebsweise des in Fig. 1 gezeigten Systems darstellt;
- Fig. 3 ein Blockschaltbild ist, das den Aufbau eines Pipelinesteuersystems gemäß der vorliegenden Erfindung darstellt;
- Fig. 4 eine erläuternde Ansicht ist, die die Betriebsweise des in Fig. 3 gezeigten Systems darstellt; und
- Fig. 5 ein Schaltbild ist, das die Details einer Steuerschaltung und eines Bereichs des in Fig. 3 gezeigten Systems zum Berechnen einer effektiven Adresse darstellt.
- Es wird eine Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die Zeichnungen beschrieben.
- Fig. 3 ist ein Blockschaltbild, das ein Pipelinesteuersystem darstellt, das einer Ausführungsform der vorliegenden Erfindung entspricht. Wie in der Figur dargestellt ist dem Pipelinesteuersystem gemäß in einer auszuführenden Instruktion ein Pipelinesteuerbereich (nachstehend als "PC- Feld" bezeichnet) vorgesehen. Das PC-Feld gibt an, ob die Inhalte einer bei der Ausführung der Instruktion zu verwendenden Registerbank durch die Ausführung der Instruktion geändert werden oder nicht. Der Information des PC-Feldes entsprechend wird eine effektive Adresse einer Folge-Instruktion parallel mit der Ausführung der Vor- Instruktion berechnet.
- Wie in Fig. 3 dargestellt, enthält das Pipelinesteuersystem dieser Ausführungsform ein erstes Instruktionsregister 1, ein zweites Instruktionsregister 3, eine Registerbank 5, einen Komparator 7, eine Steuerschaltung 13 und einen Effektivenadressen-Berechnungsbereich 9.
- Der Komparator 7 vergleicht die Information (d. h. eine Registernummer) eines Regl-Feldes, das in der Registerbank 5 eine zu verwendende Information zum Ausführen einer in dem ersten Instruktionsregister 1 gespeicherten Vor-Instruktion spezifiziert, mit der Information (d. h. einer Registernummer) eines Reg2-Feldes, das in der Registerbank 5 eine zu verwendene Information zum Berechnen der effektiven Adresse einer in dem zweiten Instruktionsregister 3 gespeicherten Folge-Instruktion spezifiziert.
- Die Information des Regl-Feldes ist nämlich ein Wert eines DR-Feldes, das ein zu verwendendes Register für das Ausführen der Vor-Instruktion in dem ersten Instruktionsregister 1 angibt, und die Information des Reg2-Feldes ist ein Wert eines IX-Feldes, das ein zu verwendendes Register für das Berechnen der effektiven Adresse der Folge-Instruktion in dem zweiten Instruktionsregister 3 angibt.
- Als Ergebnis des Vergleichs sendet der Komparator 7 ein Übereinstimmungssignal an die Steuerschaltung 13 aus, wenn die Information des Regl-Feldes der Vor-Instruktion mit der Information des Reg2-Feldes der Folge-Instruktion übereinstimmt. Wenn andererseits die Information des Reg1-Feldes nicht mit der Information des Reg2-Feldes übereinstimmt, sendet der Komparator 7 ein Nicht-Übereinstimmungssignal an die Steuerschaltung 13.
- Der Information eines PC-Feldes der in dem ersten Instruktionsregister 1 gespeicherten Vor-Instruktion entsprechend und entsprechend einem vom Komparator 7 ausgesendeten Signal liefert die Steuerschaltung 13 ein Befehls- Signal an den Effektivadressen-Berechnungsbereich 9, um eine effektive Adresse zu berechnen.
- Wenn das Nicht-Übereinstimmungssignal von dem Komparator 7 geliefert wird, dann wird das Befehlssignal von der Steuerschaltung 13 aus an den Effektivadressen- Berechnungsbereich 9 geliefert. Wenn andererseits das Übereinstimmungssignal von dem Komparator 7 geliefert wird, dann wird das Befehlssignal von der Steuerschaltung 13 abhängig von der Information in dem PC-Feld der in dem ersten Instruktionsregister 1 gespeicherten Vor-Instruktion geliefert.
- Wenn nämlich die Information des PC-Feldes der Vor- Instruktion angibt, daß die Inhalte eines für das Ausführen der Instruktion zu verwendenden Registers unverändert bleiben, dann wird das Befehlssignal von der Steuerschaltung 13 an den Effektivadressen-Berechnungsbereich 9 geliefert. Wenn die Information des PC-Feldes der Vor-Instruktion angibt, daß sich die Inhalte eines für das Ausführen der Instruktion zu verwendenden Registers ändern können, dann wird das Befehlssignal von der Steuerschaltung 13 nicht an den Effektivadressen-Berechnungsbereich 9 geliefert.
- Der Effektivadressen-Berechnungsbereich 9 berechnet die effektive Adresse der in dem zweiten Instruktionsregister 3 gespeicherten Folge-Instruktion. Wenn nämlich das Befehls- Signal von der Steuerschaltung 13 geliefert wird, dann verwendet der Effektivadressen-Berechnungsbereich 9 ein Register, das in der Registerbank 5 entsprechend dem Reg2- Feld der Folge-Instruktion selektiert und spezifiziert wird, um die effektive Adresse der Folge-Instruktion zu berechnen.
- Beispiele der Steuerschaltung 13 und des Effektivadressen-Berechnungsbereichs 9, die die vorstehenden Funktionen ausführen, werden unter Bezugnahme auf Fig. 5 beschrieben.
- Wie in Fig. 5 dargestellt, weist die Steuerschaltung 13 ein NAND-Gatter 19 auf, um die Information 15 des PC-Feldes und ein Signal 17 des Komparators 7 aufzunehmen, und weist ein ODER-Gatter 27 auf, um ein Ausgangssignal 21 des NAND- Gatters 19 und ein ENDE-Signal 23, das den Abschluß einer Instruktionsausführung anzeigt, und um ein Zwischenspeicher- Signal 25 an das erste Instruktionsregister 1 auszugeben. Der Effektivadressen-Berechnungsbereich 9 weist einen Addierer 31 auf, um die Inhalte 27 eines Registers der Registerbank 5, das durch durch den Wert eines IX-Feldes in dem zweiten Instruktionsregister 3 spezifiziert ist, auf einen Wert 29 eines DISP-Feldes in dem zweiten Instruktionsregister 3 zu addieren. Ein Ausgangssignal 33 des Addierers wird in ein EA- Feld 35 des ersten Instruktionsregisters 1 dem Zwischenspeichersignal 25 des ODER-Gatters 27 entsprechend übernommen.
- Es wird jetzt eine Betriebsweise der vorstehend erwähnten Anordnung beschrieben.
- Eine Vor-Instruktion wird in dem ersten Instruktionsregister 1 gespeichert und gehalten. Die Information eines Reg1-Feldes der Vor-Instruktion (d. h., der Wert eines DR- Feldes, der ein bei der Ausführung der im ersten Instruktionsregister 1 befindlichen Instruktion zu verwendendes Register angibt), wird durch den Komparator 7 mit der Information eines Reg2-Feldes einer Folge-Instruktion (d. h., mit dem Wert eines IX-Felds, der ein für das Berechnen der effektiven Adresse in dem zweiten Instruktionsregister 3 zu verwendendes Register angibt), verglichen.
- Als Ergebnis des Vergleichs wird dann, wenn das für die Vor-Instruktion zu verwendende Register nicht mit dem für die Folge-Instruktion zu verwendendem Register übereinstimmt, ein Nicht-Übereinstimmungssignal von dem Komparator 7 an das NAND-Gatter 19 der Steuerschaltung 13 geliefert. In diesem Falle ist das Nicht-Übereinstimmungssignal "0", so daß ein Ausgangssignal 21 des NAND-Gatters 19 "1" ist, unabhängig davon, ob der Wert 15 des PC-Feldes "0" oder "1" ist. Wenn der Wert 15 des PC-Feldes "O" ist, gibt er an, daß die Inhalte des durch das DR-Feld spezifizierten Registers vor und nach dem Ausführen der in dem ersten Instruktionsregister 1 gespeicherten Instruktion unverändert bleiben. Wenn der Wert 15 des PC-Feldes "1" ist, gibt er an, daß sich die Inhalte des Registers mit dem Ausführen ändern können. Da das Ausgangssignal 21 des NAND-Gatters 19 "l" ist, ist das Zwischenspeichersignal 25 der ODER-Gatters 27 unabhängig von einen Wert daß ENDE-Signals 23, das den Ausführungsabschluß einer Instruktion angibt "1". Demzufolge werden die Inhalte eines Registers in der Registerbank 5, das durch den Wert des IX-Feldes des zweiten Instruktionsregister 3 spezifiziert ist, auf einen Wert des DISP-Feldes des zweiten Instruktionsregisters 3 durch den Addierer 31 addiert, und das Ausgangssignal 33 des Addierers 31 wird in das EA-Feld des ersten Instruktionsregister 1 übernommen, um die Berechnung der effektiven Adresse der Folge-Instruktion abzuschließen. Parallel zur Berechnung der effektiven Adresse wird die Vor- Instruktion mittels eines Registers der Registerbank 5 ausgeführt, das der Information des DR-Feldes entsprechend selektiert wurde, ausgeführt.
- Wenn als Ergebnis des Vergleichs das von der Vor- Instruktion zu verwendende Register mit dem von der Folge-Instruktion zu verwendendem Register übereinstimmt, dann wird wird von dem Komparator 7 ein Übereinstimmungssignal an das NAND-Gatter 19 der Steuerschaltung 13 geliefert. In diesem Falle ist das Übereinstimmungssignal "1", so daß das Ausgangssignal 21 des NAND-Gatters 19 "0" ist, wenn der Wert 15 des PC-Feldes "1" ist, d. h., wenn sich die Inhalte eines von dem DR-Feld angegebenen Registers ändern. Demzufolge ist mit der Ausnahme eines Falles, daß das ENDE-Signal 23 "1" ist, d. h., die in dem ersten Instruktionsregister 1 gespeicherte Instruktion ist abgeschlossen, das Zwischenspeichersignal 25 des ODER-Gatters 27 "0", so daß das Ausgangssignal 33 des Addieres 31 nicht in das EA-Feld 35 übernommen werden kann.
- Demzufolge wird zuerst die Vor-Instruktion mittels eines Registers der Registerbank 5 ausgeführt, das der Information des DR-Feldes der Vor-Instruktion entsprechend ausgewählt wurde, um die Inhalte des Registers zu definieren, das zum Ausführen verwendet wurde, und danach wird das Ausgangssignal 33 des Addierers 31 in das EA-Feld 35 übernommen.
- Wenn das Übereinstimmungssignal "1" ist und, wenn sich die Inhalte des von dem DR-Feldes angegebenen Registers nicht ändern, d. h., wenn der Wert 15 des PC-Feldes "0" ist, dann ist das Ausgangssignal 21 des NAND-Gatters 19 "1". Folglich wird unabhängig von dem Wert des ENDE-Signals 23 das Zwischenspeichersignal 25 des ODER-Gatters 27 "1" sein, so daß das Ausgangssignal 33 des Addierers 31 in das EA-Feld 35 des ersten Instruktionsregisters 1 übernommen wird.
- Deswegen wird die effektive Adresse der Folge-Instruktion unter Verwendung desjenigen Registers der Registerbank 5 berechnet, das der Information des IX-Feldes entsprechend selektiert wurde. Parallel dazu wird die Vor-Instruktion unter Verwendung desselben Registers bearbeitet, das zum Berechnen der effektiven Adresse der Folge-Instruktion verwendet wird.
- Beispielsweise sei bei einem in einer Pipelineverarbeitung zu bearbeitenden Maschinensprachenprogramm angenommen, daß eine Instruktion "CMP A, 01H" (nachstehend als die "Instruktion < 1> " bezeichnet) als Vor-Instruktion in dem ersten Instruktionsregister 1 gespeichert sei, und daß eine Instruktion "MOVE B, [A+02H]" < nachstehend als die "Instruktion < 2> " bezeichnet) als Folge-Instruktion in den zweiten Instruktionsregister 3 gespeichert sei. Hier hat die Instruktion < 1> die Bedeutung, daß die Inhalte eines Registers "A", das eine 8-Bit Information enthält mit dem Wert 01H (hexadezimaler Ausdruck) verglichen wird, um einen Merker zu setzen, währen die Instruktion < 2> die Bedeutung hat, daß die Inhalte des Registers "A" auf den Wert 02H (hexadezimaler Ausdruck) addiert werden, um einen Wert zu erhalten, der eine Adresse repräsentiert, mit der eine 8-Bit- Information aus einen Speicher ausgelesen wird, um die gelesene Information in dem Register "B" zu speichern.
- Bei der Pipelineverarbeitung ist das von der Instruktion < 1> zu verwendende Register "A" und das zum Berechnen einer effektiven Adresse der Instruktion < 2> zu verwendende Register "A" dasselbe. Desweiteren ändern sich die Inhalte des Registers "A" nicht mit der Ausführung der Instruktion < 1> . Demzufolge wird die Ausführung der Instruktion < 1> und die Berechnung der effektiven Adresse der Instruktion < 2> parallel zueinander durchführt, wie es in Fig. 4 dargestellt ist.
- Folglich wird das Berechnen der effektiven Adresse der Instruktion < 2> ohne Warten auf den Abschluß der Ausführung der Instruktion < 1> ausgeführt, so daß die Ausführung der Instruktion < 2> früher abgeschlossen ist als die Ausführung des in Fig. 2 dargestellten herkömmlichen Systems.
- Wenn dem Pipelinesteuersystem der vorliegenden Erfindung entsprechend die zu verwendende Information für das Ausführen einer Vor-Instruktion mit der für das Berechnen der effektivem Adresse einer Folge-Instruktion zu verwendenden Information übereinstimmt, und, wenn sich die von der Vor- Instruktion verwendete Information nicht mit dem Ausführen der Vor-Instruktion ändert, dann wird die Ausführung der Vor- Instruktion parallel mit der Berechnung der effektiven Adresse der Folge-Instruktion durchgeführt, so daß die Berechnung der effektiven Adresse der Folge-Instruktion ohne Abwarten des Abschlusses des Ausführung der Vor-Instruktion realisiert werden kann. Demzufolge kann ein Parallelverarbeitungswirkungsgrad der Pipelineverarbeitung verbessert werden, und die Verarbeitungsgeschwindigkeit eines Rechners zum Ausführen der Pipelineverarbeitung kann erhöht werden.
Claims (4)
1. Pipelinesteuervorrichtung zum Ausführen einer Vor-
Instruktion parallel zu einer Berechnung einer effektiven
Adresse einer Folge-Instruktion, die aufweist:
eine erste Speichereinrichtung (1) zum Speichern und
Halten einer Vor-Instruktion, die sich in einer
Ausführungsphase befindet;
eine zweite Speichereinrichtung (3) zum Speichern und
Halten einer Folge-Instruktion, die sich in einer
Berechnungsphase ihrer effektiven Adresse befindet;
eine dritte Speichereinrichtung (5) zum Speichern und
Halten der zum Ausführen der Vor-Instruktion und zum
Berechnen der effektiven Adresse der Folge-Instruktion zu
verwendenden Information;
eine Effektivadressen-Berechnungseinrichtung (9) zum
Berechnen der effektiven Adresse der in der zweiten
Speichereinrichtung gespeicherten Folge-Instruktion;
eine Vergleichseinrichtung (7), um eine erste
Information, die zur Angabe einer Speicherstelle einer
Information in der dritten Speichervorrichtung dient, die zum
Ausführen der in der ersten Speichervorrichtung (1)
gespeicherten Instruktion zu verwenden ist, mit einer zweiten
Information, die dazu dient, eine Speicherstelle einer
Information in der dritten Speichereinrichtung (5) anzugeben,
die zum Berechnen der effektiven Adresse der in der zweiten
Speichereinrichtung (3) gespeicherten Folge-Instruktion zu
verwenden ist, zu vergleichen, und um ein
Übereinstimmungssignals aus zugeben, wenn die erste und zweite Information
übereinstimmen; und
eine Steuereinrichtung (13) zum Steuern der
Effektivadressen-Berechnungseinrichtung (9) entsprechend
einer Information eines Pipelinesteuerbereichs (PC) in der
Vor-Instruktion, die angibt, ob sich die Inhalte der dritten
Speichereinrichtung (5) mit einer Ausführung der Vor-
Instruktion ändern oder nicht ändern und entsprechend einem
Vergleichsergebnis der Vergleichseinrichtung (7) in der
Weise, daß dann, wenn von der Vergleichseinrichtung ein
Übereinstimmungssignal geliefert wird, die Ausführung der
Vor-Instruktion parallel mit einer Berechnung der effektiven
Adresse der Folge-Instruktion ausgeführt wird, wenn die
Information des Pipelinesteuerbereichs (PC) angibt, daß die
Inhalte der dritten Speichereinrichtung unverändert bleiben.
2. Pipelinesteuervorrichtung nach Anspruch 1, wobei die
Vergleichseinrichtung (7) ein Übereinstimmungssignal ausgibt,
wenn die erste Information mit der zweiten Information
übereinstimmt, und daß sogar dann, wenn die Vergleichs-
Einrichtung (7) das Übereinstimmungssignal ausgibt, die
Steuereinrichtung (13) die
Effektivadresen-Berechnungseinrichtung (9) in der Weise steuert, daß die Berechnung der
effektiven Adresse der Folge-Instruktion parallel zur
Ausführung der Vor-Instruktion ausgeführt wird, wenn die
Instruktion des Pipelinesteuerbereichs angibt, daß sich
Inhalte der dritten Speichereinrichtung (5) nicht ändern.
3. Pipelinesteuervorrichtung nach Anspruch 2, wobei die
Vergleichseinrichtung (7) ein Nicht-Übereinstimmungssignal
ausgibt, wenn die erste Information mit der zweiten
Information nicht übereinstimmt, und daß dann, wenn die
Vergleichseinrichtung (7) das Nicht-Übereinstimmungssignal
ausgibt, die Steuereinrichtung (13) die Effektivadressen-
Berechnungseinrichtung (9) in der Weise steuert, daß die
Berechnung der effektiven Adresse der Folge-Instruktion
parallel zur Ausführung der Vor-Instruktion durchgeführt
wird.
4. Pipelinesteuervorrichtung nach Anspruch 3, wobei die
Steuereinrichtung (13) die
Effektivadressen-Berechnungseinrichtung (9) in der Weise steuert, daß die Berechnung der
effektiven Adresse der Folge-Instruktion nach dem Abschluß
der Ausführung der Vor-Instruktion durchgeführt wird, wenn
die Vergleichseinrichtung (7) das Übereinstimmungssignal (7)
ausgibt und wenn die Information des Pipelinesteuerbereichs
angibt, daß sich die Inhalte der dritten Speichereinrichtung
(5) ändern.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61289031A JPH07101385B2 (ja) | 1986-12-05 | 1986-12-05 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3787789D1 DE3787789D1 (de) | 1993-11-18 |
DE3787789T2 true DE3787789T2 (de) | 1994-04-14 |
Family
ID=17737930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE87117955T Expired - Fee Related DE3787789T2 (de) | 1986-12-05 | 1987-12-04 | Fliessbandsteuerungssystem. |
Country Status (4)
Country | Link |
---|---|
US (1) | US4901236A (de) |
EP (1) | EP0270125B1 (de) |
JP (1) | JPH07101385B2 (de) |
DE (1) | DE3787789T2 (de) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2902402B2 (ja) * | 1987-09-30 | 1999-06-07 | 三菱電機株式会社 | データ処理装置 |
JPH0766324B2 (ja) * | 1988-03-18 | 1995-07-19 | 三菱電機株式会社 | データ処理装置 |
JPH0769806B2 (ja) * | 1988-10-14 | 1995-07-31 | 三菱電機株式会社 | データ処理装置 |
JP2504156B2 (ja) * | 1989-01-25 | 1996-06-05 | 日本電気株式会社 | 情報処理装置 |
US5249280A (en) * | 1990-07-05 | 1993-09-28 | Motorola, Inc. | Microcomputer having a memory bank switching apparatus for accessing a selected memory bank in an external memory |
JP3435267B2 (ja) * | 1995-11-07 | 2003-08-11 | 株式会社東芝 | マイクロプロセッサ及びそのロードアドレス予想方法 |
JP2001229678A (ja) | 1999-12-07 | 2001-08-24 | Toshiba Corp | 半導体記憶装置 |
US8725991B2 (en) * | 2007-09-12 | 2014-05-13 | Qualcomm Incorporated | Register file system and method for pipelined processing |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5318931A (en) * | 1976-08-06 | 1978-02-21 | Hitachi Ltd | Information processor |
US4402042A (en) * | 1980-11-24 | 1983-08-30 | Texas Instruments Incorporated | Microprocessor system with instruction pre-fetch |
JPS57114949A (en) * | 1981-01-05 | 1982-07-17 | Nec Corp | Data processor |
JPS57143640A (en) * | 1981-03-02 | 1982-09-04 | Hitachi Ltd | Data processing device |
AU553416B2 (en) * | 1984-02-24 | 1986-07-17 | Fujitsu Limited | Pipeline processing |
-
1986
- 1986-12-05 JP JP61289031A patent/JPH07101385B2/ja not_active Expired - Lifetime
-
1987
- 1987-12-04 US US07/128,795 patent/US4901236A/en not_active Expired - Lifetime
- 1987-12-04 DE DE87117955T patent/DE3787789T2/de not_active Expired - Fee Related
- 1987-12-04 EP EP87117955A patent/EP0270125B1/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0270125A2 (de) | 1988-06-08 |
US4901236A (en) | 1990-02-13 |
JPH07101385B2 (ja) | 1995-11-01 |
JPS63142431A (ja) | 1988-06-14 |
EP0270125A3 (en) | 1990-03-28 |
EP0270125B1 (de) | 1993-10-13 |
DE3787789D1 (de) | 1993-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3685863T2 (de) | Rechnersystem zur steuerung virtueller maschinen. | |
DE3587277T2 (de) | System fuer die umgehungssteuerung beim pipelinebetrieb eines computers. | |
DE68928113T2 (de) | Reihenfolgesteuersystem zur Behandlung von Befehlen | |
DE3785897T2 (de) | Steuervorrichtung zum vorabruf von befehlen. | |
DE3889578T2 (de) | Vorrichtung zur Sicherung und Rückspeicherung einer Registerinformation. | |
DE2722099C2 (de) | ||
DE3751164T2 (de) | Datenprozessor mit verschiedenen Unterbrechungsverarbeitungsarten. | |
DE69017178T2 (de) | Datenverarbeitungssystem mit Vorrichtung zur Befehlskennzeichnung. | |
DE68927911T2 (de) | Datenverarbeitungssystem | |
DE69114333T2 (de) | Rechner mit der Fähigkeit mehrere Befehle gleichzeitig auszuführen. | |
DE3752017T2 (de) | Mikrorechner mit Zugriffsfähigkeit auf einen internen Speicher mit gewünschter variabler Zugriffszeit | |
DE19855806A1 (de) | Vorrichtung und Verfahren zum Durchführen von Unterprogrammaufruf- und Rücksprungoperationen | |
DE4335475A1 (de) | Datenverarbeitungseinrichtung mit Cache-Speicher | |
DE2953861C2 (de) | ||
DE2744531A1 (de) | Elektronische datenverarbeitungsanlage | |
DE69027932T2 (de) | Cpu-pipeline mit registerfile-bypass durch adressvergleich bei aktualisierungen/zugriffen | |
DE3116100A1 (de) | Sprungabschaetz-zentraleinheit | |
DE3854142T2 (de) | Vektorrechner. | |
DE68924719T2 (de) | Vorrichtung und Verfahren zur Ausführung eines Unterprogramms in einem Datenverarbeitungssystem mit Blockumschaltung. | |
DE3750806T2 (de) | Eingeschlossene Domänenadressierung. | |
DE3751108T2 (de) | Mikroprozessor mit der Fähigkeit, an einen Koprozessor geschaltet zu werden. | |
DE2755616A1 (de) | Asymmetrischer multiprozessor | |
DE3787789T2 (de) | Fliessbandsteuerungssystem. | |
DE4134392C2 (de) | Verfahren und Vorrichtung zum Ungültigmachen von Befehlen in Geräten mit Parallelverarbeitung | |
DE68927292T2 (de) | Mikrorechner, geeignet zur Schnellverarbeitung eines Verzweigungsbefehlskodes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |