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
Application number
DE87117955T
Other languages
English (en)
Other versions
DE3787789D1 (de
Inventor
Tohru Toshiba-Shinkoyas Utsumi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Application granted granted Critical
Publication of DE3787789D1 publication Critical patent/DE3787789D1/de
Publication of DE3787789T2 publication Critical patent/DE3787789T2/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)
  • Executing Machine-Instructions (AREA)

Description

    HINTERGRUND DER ERFINDUNG Bereich der Erfindung
  • 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.
  • Beschreibung des Stands der Technik
  • 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.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • 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.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 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.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • 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.
DE87117955T 1986-12-05 1987-12-04 Fliessbandsteuerungssystem. Expired - Fee Related DE3787789T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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