DE3688973T2 - Verarbeitungssystem in Pipelinestruktur und Mikroprozessor mit einem derartigen System. - Google Patents

Verarbeitungssystem in Pipelinestruktur und Mikroprozessor mit einem derartigen System.

Info

Publication number
DE3688973T2
DE3688973T2 DE86117099T DE3688973T DE3688973T2 DE 3688973 T2 DE3688973 T2 DE 3688973T2 DE 86117099 T DE86117099 T DE 86117099T DE 3688973 T DE3688973 T DE 3688973T DE 3688973 T2 DE3688973 T2 DE 3688973T2
Authority
DE
Germany
Prior art keywords
operand
instruction
effective address
instructions
internal
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
DE86117099T
Other languages
English (en)
Other versions
DE3688973D1 (de
Inventor
Kousei Okamoto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 DE3688973D1 publication Critical patent/DE3688973D1/de
Publication of DE3688973T2 publication Critical patent/DE3688973T2/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/3017Runtime instruction translation, e.g. macros
    • 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

  • Die vorliegende Erfindung betrifft ein Mikroprozessor Pipeline-Verarbeitungssystem und inbesonders ein Pipeline- Verarbeitungssystem, das in der Lage ist, Befehle mit jeweils mehreren Speicheroperanden mit hoher Geschwindigkeit zu verarbeiten, und den zugehörigen Mikroprozessor.
  • In neueren Mikroprozessoren wird ein sogenanntes Pipeline-Verarbeitungssystem eingesetzt, um eine sehr schnelle Befehlverarbeitung durchzuführen. In dem Pipeline- Verarbeitungssystem sind die Befehle in mehrere Stufen aufgeteilt und werden durch parallele Verarbeitung der Stufen ausgeführt, um so die Verarbeitungsgeschwindigkeit der Befehle zu erhöhen.
  • In diesen Mikroprozessoren, in denen Befehle nach dem Pipelinesystem ausgeführt werden, um die Befehle einer Maschinensprache auszuführen und um mehrere Speicheroperanden zur Verfügung zu haben, werden die jedem Speicheroperanden zugeordneten Effektivadressen dann berechnet, wenn die Befehle der Maschinensprache in einen speziellen, der Pipeline-Verarbeitung angepaßten Instruktionstyp umgewandelt werden.
  • Um die Effektivadressen der Speicheroperanden für einen einzelnen Befehl zu berechnen, werden in den Mikroprozessoren nach dem Stand der Technik die jedem Speicheroperanden entsprechenden Effektivadressen jeweils unabhängig durch mehrere Effektivadressen berechnende Schaltkreise zur Berechnung der Effektivadressen der Speicheroperanden berechnet, indem dieselbe Anzahl von Schaltkreisen wie Speicheroperanden bereitgestellt wird.
  • Die US-A-4 598 245 offenbart ein Datenverarbeitungssystem, das eine Pipeline zur Verarbeitung von Dateninstruktionen enthält. Dieses Datenverarbeitungssystem sieht mehr als einen Adressenberechnungsschaltkreis vor. In dem bekannten System werden Mehrfachbefehle mit verschiedenen Speicheroperanden zur gleichen Zeit ausgeführt. Die Adressen werden jedoch unter Verwendung verschiedener Adressenberechnungsschaltkreise berechnet. Darüber hinaus werden Mehrfachadressenstacks (Adressenstapel) benötigt, um die verschiedenen Adressen für eine Instruktion mit verschiedenen Speicheroperanden zu speichern. Demzufolge ist dieses System nur ein konventionelles System, das die Berechnung der Adressen mittels eines einzigen Effektivadressen-Berechnungsschaltkreises nicht erlaubt.
  • Das Vorsehen mehrerer Effektivadressen-Berechnungsschaltkreise in dem Mikroprozessor resultierte in dem Nachteil, daß der Mikroprozessor extrem komplex und sehr groß wurde.
  • Andererseits wurde bisher ebenfalls ein Verfahren vorgeschlagen, daß die mehreren Speicheroperanden entsprechenden Effektivadressen eine nach der anderen durch einen einzigen Effektivadressen-Berechnungsschaltkreis berechnet werden. Nach diesem Verfahren kann jede der mehreren Speicheroperanden entsprechenden Effektivadressen genau so gut durch den einzigen Effektivadressen-Berechnungsschaltkreis berechnet werden. Die Berechnung der Effektivadressen ergab jedoch das Problem, daß die Ausführungszeit für die Befehle mit mehreren Speicheroperanden verzögert wurde, da die Berechnung der Effektivadressen und das Holen der Operanden für jeden einzelnen Speicheroperanden nacheinander ausgeführt werden mußte. Demzufolge kann eine schnelle Ausführung der Befehle mit mehreren Speicheroperanden im letzteren Falle genau so wenig ausgeführt werden.
  • Die GB 2 077 95 A1 offenbart eine Datenverarbeitungseinrichtung, die Pipelineoperanden verwendet. Die Datenverarbeitungseinrichtung ist mit einer Mikroprozessoreinrichtung, einem Bus, einer Befehlsdecodierungseinrichtung, einer Einzeladresseneinrichtung und einer Operandenholeinrichtung versehen. Obwohl jeder Befehl in verschiedene Operanden aufgeteilt und nur eine Adresseneinrichtung vorgesehen ist, erfordert die Einrichtung einen sehr komplexen Aufbau, der einen "Vorab-Holen"(pre-fetch)-Instruktionspuffer und weitere Einrichtungen beinhaltet. Die Adressenberechnungseinrichtung selbst weist eine komplexe Struktur einschließlich einer Menge verschiedener Einrichtungen auf. Die Einrichtung erfordert hohen Aufwand, und die Berechnungsgeschwindigkeit ist wegen des Vorab-Holens und Decodierens verschiedener Modi nicht sehr hoch. In der Einrichtung, die zwei Operandeninstruktionen offenbart, erfolgt das Holen des ersten Operanden zum gleichen Zeitpunkt wie das Berechnen der Effektivadresse für den zweiten Operanden.
  • Es ist demzufolge eine Aufgabe der Erfindung ein verbessertes Pipeline-Verarbeitungssystem in einem Mikroprozessor zu schaffen, so daß Befehle mit mehreren Speicheroperanden jeweils mit hoher Geschwindigkeit ausgeführt werden können, ohne daß ein komplexer Aufbau oder ein groß dimensionierter Mikroprozessor erforderlich ist.
  • Diese Aufgabe ist durch die Merkmale von Anspruch 1 gelöst.
  • Es ist von Vorteil, daß Befehle mit mehreren Speicheroperanden in mehrere Innenbefehle mit jeweils einem einzigen Speicheroperanden unterteilt sind. Jeder der auf diese Weise unterteilten Innenbefehle wird so ausgeführt, daß eine Effektivadresse für einen Speicheroperanden berechnet wird und der andere Speicheroperand aus einer anderen Effektivadresse zur gleichen Zeit gelesen wird.
  • Ein Merkmal der vorliegenden Erfindung beruht auf einem Pipeline-Verarbeitungssystem, das einen Mikroprozessor mit nur einem einzigen Effektivadressen-Berechnungsschaltkreis verwendet, wobei sämtliche Befehle, die von dem Mikroprozessor gesendet werden und jeweils mehrere Speicheroperanden aufweisen, in mehrere Innenbefehle aufgeteilt werden, von denen jeder nur einem einzigen Speicheroperanden aufweist, und die Berechnung von mindestens einer Effektivadresse eines Speicheroperanden und die Verarbeitung des anderen Operanden zum selben Zeitpunkt innerhalb einer gewissen Zeitperiode ausgeführt werden.
  • Ein anderes Merkmal der vorliegenden Erfindung beruht auf einem Mikroprozessor des Pipeline-Verarbeitungstyps, der aufweist: eine Decodereinrichtung zum Decodieren sämtlicher von externen Einrichtungen gesendeter Befehle und zum Entscheiden, ob ein spezieller Befehl mehrere Speicheroperanden aufweist; eine mit der Decodereinrichtung verbundene Aufteileinrichtung zur Aufteilung der Befehle mit mehreren Speicheroperanden in mehrere Innenbefehle, von den jeder jeweils einen einzigen Operanden aufweist; eine mit der Aufteilungseinrichtung verbundene Ausführungseinrichtung zum Ausführen sämtlicher auf diese Weise aufgeteilter Innenbefehle mit nur einen einzigen Speicheroperanden; und eine zwischen der Decodereinrichtung und sowohl der Ausführungseinrichtung als auch dem Bus angeschlossene Bussteuereinrichtung um die Datenübertragung darüber zu steuern.
  • Die Datenverarbeitungseinrichtung der GB 2 077 965 A1 offenbart nicht die Befehlsaufteilungseinrichtung der vorliegenden Erfindung, sondern beruht statt dessen auf einer komplexeren Ausführungs-Pipeline.
  • Die Erfindung hat den weiteren Vorteil, demgemäß Befehle mit mehreren Speicheroperanden mit hoher Geschwindigkeit ausgeführt werden können, ohne daß der Mikroprozessor groß dimensioniert und sein Aufbau komplex sein muß.
  • Weitere Ausführungsformen sind Gegenstand der Ansprüche 2 und 3.
  • Die Aufgabenlösung, die Vorteile und Merkmale der Erfindung werden anhand der nachfolgenden detaillierten Beschreibung unter Bezugnahme auf die beiliegenden Zeichnungen verständlicher.
  • Fig. 1 stellt ein Blockschaltbild des Mikroprozessoraufbaus der vorliegenden Erfindung dar;
  • Fig. 2 stellt einen von einen externen Einrichtung gesendeten und in mehrere Innenbefehle aufgeteilten Befehl mit mehreren Speicheroperanden dar;
  • Fig. 3 stellt einen detaillierten Aufbau der Ausführungseinrichtung von Fig. 1 dar; und
  • Fig. 4 stellt funktionelle Zeitabläufe der Mikroprozessoren nach den Stand der Technik und einen funktionellen Zeitablauf des Mikroprozessors gemäß vorliegender Erfindung dar.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Nach Fig. 1 weist der Mikroprozessor gemäß vorliegender Erfindung eine Decodereinrichtung 1, eine Aufteileinrichtung 3, eine Ausführungseinrichtung 5 und eine Bussteuereinrichtung 7 auf.
  • Die Decodereinrichtung 1 ist über einen Bus 9 mit einem nicht gezeigten Hauptspeicher verbunden, in dem Befehle in einer Maschinensprache abgespeichert wurden. Die aus dem Hauptspeicher entnommenen Maschinensprachenbefehle werden über den Bus 9 an die Decodereinrichtung 1 angelegt.
  • Die Decodereinrichtung 1 decodiert jeden der auf diese Weise angelegten Befehle und entscheidet, ob irgend einer der so empfangenen Befehl mehrere Speicheroperanden aufweist. Wenn irgendeiner von den Befehlen als der eine befunden wird, der mehrere Speicheroperanden aufweist, dann wird dieser an die Aufteileinrichtung 3 angelegt.
  • Die Aufteileinrichtung 3 teilt sämtliche Befehle mit mehreren Speicheroperanden in jeweils mehrere Befehle ausführbaren Typs auf, die nachfolgend als "Innenbefehle" bezeichnet werden, und von denen jeder einen einzigen Speicheroperanden enthält, wie es später noch erläutert und dargestellt werden wird. Die so aufgeteilten Innenbefehle werden an die Ausführungseinheit 5 angelegt, die einen einzigen Effektivadressen-Berechnungsschaltkreis und eine Mikroablaufsteuerung enthält, wovon beide hier nicht dargestellt sind, aber später noch dargestellt werden. Die Mikroablaufsteuerung in der Ausführungseinrichtung 5 bestimmt die Ausführungsreihenfolge der so angelegten Innenbefehle und führt für jeden Innenbefehl eine vorgegebene Ausführungsreihenfolge aus.
  • Insbesonders sei angenommen, daß einer von den Befehlen, zum Beispiel, so wie ein Befehl PUSH DISP (I · 2), der, wie in Fig. 2 dargestellt, zwei Speicheroperanden aufweist, ist, der zum Decodieren an die Decodereinrichtung 1 und dann zum Aufteilen an die Aufteileinrichtung 3 angelegt wird. Der Befehl dient zum Aufsummieren eines Wertes in dessen Bereich DISP auf den Inhalt eines Allzweckregisters, das durch das Feld (I · 2) gekennzeichnet ist, um so eine Effektivadresse (zum Beispiel, eine Adresse A) eines Speicheroperanden aufzubauen, während an eine andere Effektivadresse (zum Beispiel, die Adresse B) des Speicheroperanden gespeichert wird, wobei der Inhalt des durch das Feld (I · 1) bezeichneten Allzweckregisters die andere Effektivadresse ist.
  • Sobald der Befehl PUSH DISP (I · 2) von Fig. 2(a) an die Aufteileinrichtung 3 angelegt wird, teilt diese den Befehl mit den zwei Speicheroperanden (I · 1) und (I · 2) in die Innenbefehle auf, die aus einem Ladebefehl LD DISP (I · 2) zum Auslesen des unter der Adresse A gespeicherten Speicheroperanden im Hauptspeicher und einem Speicherbefehl ST (I · 1) zum Abspeichern eines so ausgelesenen Speicheroperanden unter der Adresse B des Hauptspeichers bestehen, wie es in Fig. 2(b) und (c) dargestellt ist. Dann werden die Innenbefehle des Ladebefehls LD DISP (I · 2) und des Speicherbefehls ST (I · 1) an die Ausführungseinheit 5 angelegt.
  • Die Ausführungseinheit 5 führt die so von der Verteilungseinrichtung 3 angelegten Innenbefehle dem Pipeline- Verarbeitungssystem entsprechend aus.
  • Die Bussteuereinrichtung 7 steuert sowohl den Bus 9, der das Lesen der Maschinensprachenbefehle und die Übertragung der Speicheroperanden ausführt, um so die Befehle aus dem Hauptspeicher anzulegen, der wiederum über die Bussteuereinrichtung 7 mit der Decodereinrichtung 1 verbunden ist, als auch die Übertragung der Operandendaten durch die Ausführungseinrichtung 5.
  • Fig. 3 stellt einen detaillierten Aufbau der Ausführungseinrichtung 5 von Fig. 2 dar. Die Ausführungseinrichtung 5 weist sowohl einen Effektivadressen-Berechnungsschaltkreis 10 zum Berechnen der Effektivadresse jedes Speicheroperanden, eine Mikroablaufsteuerung 17, ein ROM 19 und einen Decoder 21 als auch die Stufen Q1 und Q2 auf.
  • Der Effektivadressen-Berechnungschaltkreis 10 besteht aus einem Allzweckregister 11, einem Addierer 13 und einem Register 15. Das Allzweckregister 11 enthält mehrere Register und jedes der Register ist durch das Feld (I · 1) oder (I · 2) und so weiter des Innenbefehls bezeichnet, wo die zum Berechnen der Effektivadresse zu verwendende Information abgespeichert wurden.
  • Der Addierer 13 dient zum Addieren der in einem Modifikationsregister des Allzweckregisters 11 gespeicherten Information, das durch das Feld (I · 1) und (I · 2) und so weiter von jedem Innenbefehl bezeichnet ist, und der Information des Bereichs DISP des Innenbefehls. Der Addierer 15 berechnet nämlich die Effektivadresse durch die Addition des Inhalts des durch das Feld (I · ) jedes Innenbefehls bestimmten Modifikationsregisters und des Inhalts des Bereichs DISP von jedem Innenbefehl. Das Register 15 dient zum Abspeichern der auf diese Weise durch den Addierer 13 berechneten Effektivadressen.
  • Die Mikroablaufsteuerung 17 dient zum Liefern spezieller Adressen an das ROM 19, in das Mikrobefehle oder Mikroinstruktionen, die jedem der Innenbefehlen entsprechen, nach einem Operationscode im OP-Bereich des Innenbefehls abgespeichert wurden. Der Decoder 21 dient zum Decodieren oder Interpretieren der so aus dem ROM 19 ausgelesenen Mikroinstruktionen.
  • Jetzt wird die Betriebsweise des Mikroprozessors der bevorzugten Ausführungsform gemäß vorliegender Erfindung unter Bezugnahme auf die Fig. 1 bis 3 beschrieben.
  • Sobald ein Maschinensprachenbefehl mit mehreren Speicheroperanden vom Bus 9 über die Bussteuereinrichtung an die Decodereinrichtung 1 angelegt ist, wird er in der Decodereinrichtung 1 decodiert. Mit der Annahme, daß der Befehl beispielsweise wie der PUSH DISP (I · 2) zwei Speicheroperanden (I · 1) und (I · 2), wie in Fig. 2(a) dargestellt, aufweist, läuft die Operation wie folgt ab:
  • Der in der Decodereinrichtung 1 decodierte PUSH-Befehl wird an die Aufteileinrichtung 3 angelegt, wo er in zwei Innenbefehle, bestehend aus dem Ladebefehl LD DISP (I · 2) und dem Speicherbefehl ST DISP (I · 1), wie in Fig. 2(a) dargestellt aufgeteilt wird. Nachdem jeder der Innenbefehle so aufgeteilt wurde, wird zuerst der Ladebefehl an die Ausführungseinrichtung angelegt, wo der Ladebefehl LD DISP (I · 2) in der Stufe Q1 eines Pipelinesystems, wie in Fig. 3 dargestellt aufgebaut wird, und der Inhalt des im Allzweckregister 11 nicht gezeigten Modifikationsregisters, das durch das Feld (I · 2) bezeichnet ist, ausgelesen wird. Der Inhalt des so eingelesenen Modifikationsregisters wird zum Inhalt des Bereichs DISP desselben Ladebefehls addiert und eine sich ergebende Effektivadresse, wie zum Beispiel Adresse A, wird berechnet und daraus erzeugt. Die so erzeugte Effektivadresse wird in dem Register 15 gespeichert.
  • Nach der obigen Operation wird der Ladebefehl in die Stufe Q2 des Pipelinesystems geschoben, wo der Ladebefehl noch einmal ausgeführt wird, und, um ihn in eine Mikroinstruktion umzuwandeln, wird eine ROM-Adresse, in die die Mikroinstruktion gespeichert wurde, gemäß dem Operationscode des Ladebefehls an das ROM 19 geliefert. Die dem Ladebefehl entsprechende unter der ROM-Adresse gespeicherte Mikroinstruktion wird aus dem ROM 19 ausgelesen und dann in dem Decoder 21 decodiert.
  • Die so im Decoder 21 codierte Mikroinstruktion ermöglicht es, daß der Speicheroperand aus der Adresse A als Effektivadresse des in dem Register 15 des Hauptspeichers gespeicherten Ladebefehls gelesen werden kann.
  • Desweiteren wird zu demselben Zeitpunkt, bei dem der Ladebefehl in der Stufe Q2 des Pipelinesystems aufgebaut wird, der Speicherbefehl ST (I · 1) in der Stufe Q1 des Pipelinesystems aufgebaut. Dann wird der Inhalt des im Allzweckregister 11 nicht gezeigten Modifikationsregisters, das durch das Feld (I · 1) des Ladebefehls bezeichnet ist, das heißt, die andere Effektivadresse des Ladebefehls daraus ausgelesen und in dem Register 15 gespeichert.
  • Nach dieser Operation wird der Speicherbefehl in die Stufe Q2 des Pipelinesystems geschoben, wo eine dem Speicherbefehl entsprechende Mikroinstruktion in ähnlicher Weise aus dem ROM 19 ausgelesen wird, wie bei dem Ladebefehl. Die so ausgelesene Mikroinstruktion ermöglicht es, daß der Speicheroperand, der aus der Adresse A im Hauptspeicher durch den Ladebefehl ausgelesen wurde in die andere Effektivadresse des Ladebefehls, zum Beispiel in die Adresse B geschrieben wird.
  • Auf diese Weise wird in der vorliegenden Erfindung zum Beispiel der PUSH-Befehl PUSH DISP (I · 2), wie beschrieben, in einen Ladebefehl LD DISP (I · 2) und in einen Speicherbefehl ST (I · 1) aufgeteilt, und das Ausführen des Speicherbefehls kann zum selben Zeitpunkt wie das Berechnen der Effektivadresse des Speicherbefehls erfolgen.
  • In dieser Hinsicht wird in dem Mikroprozessor mit zwei Effektivadressen-Berechnungsschaltkreisen, entsprechend dem Stand der Technik, ein Befehl mit zwei Speicheroperanden in der Weise durchgeführt, daß die Berechnungen einer Effektivadresse als Adresse A, die dem einem Speicheroperanden entspricht und der anderen Effektivadresse als Adresse B, die dem anderen Speicheroperanden entspricht, während der Zeitdauer a&sub1; ausgeführt wird, während das Auslesen des Operanden aus der Adresse A innerhalb der Zeitdauer b ausgeführt wird und das Schreiben des anderen Operanden in die Adresse B innerhalb der Zeitdauer c ausgeführt wird. Mit anderen Worten, die Berechnungen werden mit der Geschwindigkeit von drei Taktperioden, wie in Fig. 4(A) dargestellt, ausgeführt.
  • Fig. 4(B) zeigt, wie die Berechnung der effektiven Operandenadressen und der Lese/Schreib-Operation durch einen einzigen Effektivadressen-Berechnungsschaltkreis entsprechend dem Stand der Technik hinsichtlich eines Befehls mit zwei Speicheroperanden ausgeführt werden, wenn eine einfache Ausführungspipeline eingesetzt wird. In diesen System nach der Stand der Technik wird nämlich die Berechnung der Adresse A innerhalb der Zeitdauer a&sub2; und das Auslesen des Operanden aus der Adresse A innerhalb der Zeitdauer b ausgeführt, während die Berechnung der Adresse B innerhalb der Zeitdauer a&sub3; und das Schreiben des anderen aus der Adresse A ausgelesen Operanden innerhalb der Zeitdauer c ausgeführt wird. Mit anderen Worten, die Operation wird, wie in Fig. 4 dargestellt, über die vier Taktperioden hinweg ausgeführt.
  • Während in dem Mikroprozessor entsprechend der vorliegenden Erfindung die Berechnung der Adresse A innerhalb der Zeitdauer a&sub2; und das Schreiben des anderen Operanden in die Adresse B innerhalb der Zeitdauer c, ähnlich zu Fig. 1, ausgeführt wird, kann aber das Auslesen des Operanden aus der Adresse A und die Berechnung der Adresse - B zu demselben Zeitpunkt innerhalb der Zeitdauer entweder von b oder a&sub3; ausgeführt werden. Die Operation kann nämlich gemäß der vorliegenden Erfindung unter Verwendung nur eines einzigen Effektivadressen-Berechnungsschaltkreises und ohne Einführung einer komplizierteren Pipeline innerhalb von drei Taktperioden ausgeführt werden.
  • Wie in den vorausgegangenen Ausführungsformen des Pipeline-Verarbeitungssystems und des Mikroprozessors gemäß der vorliegenden Erfindung beschrieben wurde, kann, da sämtliche Befehle mit mehreren Speicheroperanden jeweils in mehrere Innenbefehle mit jeweils einzelnen Speicheroperanden aufgeteilt sind, und diese nacheinander entsprechend dem Pipeline-Verarbeitungssystem ausgeführt werden, die Berechnung einer Effektivadresse und die Verarbeitung der anderen Effektivadresse der Speicheroperanden zum selben Zeitpunkt ausgeführt werden. Folglich kann die Verarbeitungsgeschwindigkeit der Befehle mit mehreren Speicheroperanden in dem Mikroprozessor gemäß der vorliegenden Erfindung ohne Einsatz mehrerer Effektivadressen-Berechnungsschaltkreise verbessert werden.

Claims (3)

1. Mikroprozessor Pipeline-Verarbeitungssystem das aufweist:
eine Decodereinrichtung (1) zum Decodieren eines jeden, von einer externen Einrichtung gesendeten Befehls, und zum Entscheiden darüber, ob ein spezieller Befehl mehrere Speicheroperanden besitzt;
eine mit der Decodereinrichtung verbundene Aufteilvorrichtung (3), die den Befehl mit mehreren Speicheroperanden in mehrere Innenbefehle aufteilt, von denen jeder jeweils einen einzigen Operanden besitzt; und
eine mit der Aufteilungseinrichtung verbundene Ausführungseinrichtung (5) zum sukzessiven Ausführen der Innenbefehle;
wobei die Ausführungseinrichtung einen einzigen Effektivadressen-Berechnungsschaltkreis (10) mit einem Allzweckregister (11), das wiederum mehrere Register enthält, einen Addierer (13) und ein zweites Register (15) aufweist;
die Ausführungseinrichtung desweiteren mindestens erste und zweite Pipelinestufen (Q1, Q2) zum Speichern von Innenbefehlen in Reihenfolge aufweist, wobei während dem ein erster Innenbefehl in der ersten Stufe gespeichert wird, die Effektivadresse seines Operanden berechnet wird, und während dem ein zweiter Innenbefehl in der zweiten Stufe gespeichert wird, die Effektivadresse des zweiten Operanden verarbeitet wird,
um mindestens erste und zweite Effektivadressen (A, B) der Speicheroperanden zu berechnen, wobei zumindest die Berechnung der zweiten Effektivadresse (B) und die Verarbeitung eines ersten Operanden zum selben Zeitpunkt ausgeführt werden.
2. Mikroprozessor nach Anspruch 1, dadurch gekennzeichnet, daß der erste von dem, von der externen Einrichtung gesendeten Befehl (PUSH DISP (I · 2)), abgeteilte Innenbefehl ein Ladebefehl (LD DISP (I · 2)) ist, und der zweite davon abgeteilte zweite Innenbefehl ein Speicherbefehl (ST (I · 1)) ist.
3. Mikroprozessor nach Anspruch 1, dadurch gekennzeichnet, daß dann, wenn der erste Innenbefehl in die zweite Stufe geschoben wird, um so einen Operanden aus der ersten Effektivadresse auszulesen, der zweite Innenbefehl in der ersten Stufe abgelegt wird, um so die zweite Effektivadresse zu berechnen, und dadurch die Berechnung der zweiten Effektivadresse des einen Operanden und das Auslesen des Operanden aus der ersten Effektivadresse zum selben Zeitpunkt zu ermöglichen.
DE86117099T 1986-03-27 1986-12-09 Verarbeitungssystem in Pipelinestruktur und Mikroprozessor mit einem derartigen System. Expired - Fee Related DE3688973T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61067050A JPS62226231A (ja) 1986-03-27 1986-03-27 プロセツサ

Publications (2)

Publication Number Publication Date
DE3688973D1 DE3688973D1 (de) 1993-10-07
DE3688973T2 true DE3688973T2 (de) 1994-02-17

Family

ID=13333625

Family Applications (1)

Application Number Title Priority Date Filing Date
DE86117099T Expired - Fee Related DE3688973T2 (de) 1986-03-27 1986-12-09 Verarbeitungssystem in Pipelinestruktur und Mikroprozessor mit einem derartigen System.

Country Status (4)

Country Link
US (1) US5390306A (de)
EP (1) EP0240606B1 (de)
JP (1) JPS62226231A (de)
DE (1) DE3688973T2 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01255036A (ja) * 1988-04-04 1989-10-11 Toshiba Corp マイクロプロセッサ
JPS6453235A (en) * 1988-05-25 1989-03-01 Nec Corp Risc type microprocessor
JPH0769805B2 (ja) * 1988-10-04 1995-07-31 三菱電機株式会社 データ処理装置
GB2230116B (en) * 1989-04-07 1993-02-17 Intel Corp An improvement for pipelined decoding of instructions in a pipelined processor
US5293592A (en) * 1989-04-07 1994-03-08 Intel Corporatino Decoder for pipelined system having portion indicating type of address generation and other portion controlling address generation within pipeline
JPH04260929A (ja) * 1991-01-21 1992-09-16 Mitsubishi Electric Corp データ処理装置
JP2847974B2 (ja) * 1991-01-21 1999-01-20 三菱電機株式会社 データ処理装置
US6061755A (en) * 1997-04-14 2000-05-09 International Business Machines Corporation Method of layering cache and architectural specific functions to promote operation symmetry
US5978871A (en) * 1997-04-14 1999-11-02 International Business Machines Corporation Method of layering cache and architectural specific functions for operation splitting
US7472259B2 (en) * 2000-12-06 2008-12-30 Analog Devices, Inc. Multi-cycle instructions

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3725868A (en) * 1970-10-19 1973-04-03 Burroughs Corp Small reconfigurable processor for a variety of data processing applications
IT995722B (it) * 1973-10-10 1975-11-20 Honeywell Inf Systems Italia Calcolatore microprogrammato a interior decore espansibile mediante riconoscimento e interpre tazione di codici di operazione aggiunti
JPS5441039A (en) * 1977-09-08 1979-03-31 Nec Corp Processing unit of high level language program
JPS5621240A (en) * 1979-07-27 1981-02-27 Hitachi Ltd Information processor
US4415969A (en) * 1980-02-07 1983-11-15 Intel Corporation Macroinstruction translator unit for use in a microprocessor
CA1126406A (en) * 1980-03-31 1982-06-22 Northern Telecom Limited Sequence control circuit for a computer
CA1174370A (en) * 1980-05-19 1984-09-11 Hidekazu Matsumoto Data processing unit with pipelined operands
JPS57161943A (en) * 1981-03-31 1982-10-05 Hitachi Ltd Data processing device
US4797808A (en) * 1981-06-22 1989-01-10 Texas Instruments Incorporated Microcomputer with self-test of macrocode
US4530050A (en) * 1981-08-26 1985-07-16 Hitachi, Ltd. Central processing unit for executing instructions of variable length having end information for operand specifiers
JPS58106636A (ja) * 1981-12-18 1983-06-25 Hitachi Ltd パイプライン演算装置
US4553205A (en) * 1982-09-21 1985-11-12 Salvatore Porchia Flexible macro expansion process
US4471432A (en) * 1982-10-13 1984-09-11 Wilhite John E Method and apparatus for initiating the execution of instructions using a central pipeline execution unit
US4914578A (en) * 1983-04-18 1990-04-03 Motorola, Inc. Method and apparatus for interrupting a coprocessor
EP0150177A1 (de) * 1983-07-11 1985-08-07 Prime Computer, Inc. Datenverarbeitungsvorrichtung
US4685058A (en) * 1983-08-29 1987-08-04 Amdahl Corporation Two-stage pipelined execution unit and control stores
JPS60120439A (ja) * 1983-12-05 1985-06-27 Nec Corp 演算処理装置
US4667290A (en) * 1984-09-10 1987-05-19 501 Philon, Inc. Compilers using a universal intermediate language
US4975837A (en) * 1984-10-01 1990-12-04 Unisys Corporation Programmable unit having plural levels of subinstruction sets where a portion of the lower level is embedded in the code stream of the upper level of the subinstruction sets
US4791551A (en) * 1985-02-11 1988-12-13 Analog Devices, Inc. Microprogrammable devices using transparent latch
US4823252A (en) * 1986-03-28 1989-04-18 Tandem Computers Incorporated Overlapped control store
US4890218A (en) * 1986-07-02 1989-12-26 Raytheon Company Variable length instruction decoding apparatus having cross coupled first and second microengines
US4812989A (en) * 1986-10-15 1989-03-14 Amdahl Corporation Method for executing machine language instructions

Also Published As

Publication number Publication date
EP0240606A3 (en) 1989-04-26
US5390306A (en) 1995-02-14
JPS62226231A (ja) 1987-10-05
DE3688973D1 (de) 1993-10-07
EP0240606B1 (de) 1993-09-01
JPH0523447B2 (de) 1993-04-02
EP0240606A2 (de) 1987-10-14

Similar Documents

Publication Publication Date Title
DE3750935T2 (de) Verfahren und System zum Erleichtern der Befehlsausführung in einem digitalen Rechner.
DE4302495C2 (de) Einrichtung und Verfahren zum Bestimmen der Länge eines Befehls in einem sequentiellen Befehlsstrom
DE2715073C3 (de) Mikroprogrammierte Rechner-Steuervorrichtung
DE3116100C2 (de) Datenverarbeitungseinheit
DE3687724T2 (de) Digitalprozessorsteuerung.
DE3851488T2 (de) Registerverwaltungssystem mit Ausführung von Befehlen in Unordnung in einem Computerprozessor.
DE3785897T2 (de) Steuervorrichtung zum vorabruf von befehlen.
DE69624158T2 (de) Superskalarer Prozessor mit mehreren Registerblöcken und Erzeugung von spekulativen Antwortadressen
DE69030931T2 (de) Mehrfachsequenzprozessorsystem
DE69305366T2 (de) System und verfahren zum kennzeichnen von befehlen zur steuerung der befehlsausführung
DE69027932T2 (de) Cpu-pipeline mit registerfile-bypass durch adressvergleich bei aktualisierungen/zugriffen
DE69623146T2 (de) Verfahren und Vorrichtung zum Koordinieren der Benutzung von physikalischen Registern in einem Mikroprozessor
DE19855806A1 (de) Vorrichtung und Verfahren zum Durchführen von Unterprogrammaufruf- und Rücksprungoperationen
DE2744531A1 (de) Elektronische datenverarbeitungsanlage
DE19983098B4 (de) Mehrfach-Bitanzeige zur Behandlung von Schreib-nach-Schreib-Fehlern und zur Eliminierung von Bypass-Komparatoren
DE3689389T2 (de) Datenverarbeitungsprozessor.
DE68924719T2 (de) Vorrichtung und Verfahren zur Ausführung eines Unterprogramms in einem Datenverarbeitungssystem mit Blockumschaltung.
DE3688973T2 (de) Verarbeitungssystem in Pipelinestruktur und Mikroprozessor mit einem derartigen System.
DE1549474B2 (de) Anordnung in einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls
DE3688806T2 (de) Instruktionsprozessor.
DE68927313T2 (de) Operandenspezifiererverarbeitung
DE68924883T2 (de) Mikroprozessor mit Befehlspipeline.
DE3307194C2 (de)
DE2906685C2 (de)
DE2948442C2 (de) Digitalrechenanlage

Legal Events

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