DE69030036T2 - Pipelineprozessor, der Befehle mit variabler Länge nutzt - Google Patents
Pipelineprozessor, der Befehle mit variabler Länge nutztInfo
- Publication number
- DE69030036T2 DE69030036T2 DE69030036T DE69030036T DE69030036T2 DE 69030036 T2 DE69030036 T2 DE 69030036T2 DE 69030036 T DE69030036 T DE 69030036T DE 69030036 T DE69030036 T DE 69030036T DE 69030036 T2 DE69030036 T2 DE 69030036T2
- Authority
- DE
- Germany
- Prior art keywords
- instruction
- bit string
- data processing
- processing device
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 claims description 121
- 230000015654 memory Effects 0.000 claims description 71
- 239000000872 buffer Substances 0.000 claims description 59
- 238000012546 transfer Methods 0.000 claims description 25
- 238000000034 method Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 15
- 238000003672 processing method Methods 0.000 claims description 4
- 239000004065 semiconductor Substances 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 238000012432 intermediate storage Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 12
- 230000010354 integration Effects 0.000 description 8
- 230000007704 transition Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 102100029091 Exportin-2 Human genes 0.000 description 1
- 101710147878 Exportin-2 Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013519 translation 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
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
- G06F9/30152—Determining start or end of instruction; determining instruction length
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
-
- 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/3802—Instruction prefetching
- G06F9/3816—Instruction alignment, e.g. cache line crossing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf eine Datenverarbeitungseinrichtung (Mikroverarbeitungseinheit), insbesondere auf eine Datenverarbeitungseinrichtung für ein System von Anweisungen mit variabler Länge, die eine Pipelineverarbeitung verwendet.
- Herkömmlicherweise ist in einer allgemeinen Datenverarbeitungseinrichtung, wenn Daten aus Speicherzellen zu Bitleitungen ausgelesen wurden, eine beträchtliche Zeit verbraucht worden, weil jede der Bitleitungen eine große Ladekapazität hat. Es ist daher unmöglich gewesen, eine nächste Anweisungskette, die einem Anweisungsbeginn folgt, in einen Anweisungsdecodierer in kurzer Zeit zu übertragen, so daß eine Verzögerungszeit groß wird und eine Anweisungsverarbeitungsgeschwindigkeit nicht verringert werden kann.
- In Anbetracht des obigen Sachverhalts ist eine Datenverarbeitungseinrichtung, die die zum Auslesen von Daten aus Speicherzellen erforderliche Zeit verringern kann, untersucht und als verwandte Technik vorgeschlagen worden. Eine Datenverarbeitungseinrichtung, die die Zeit zum Auslesen von Daten aus Speicherzellen verringern kann, umfaßt eine Speicherverwaltungseinheit, einen Anweisungspuffer (Anweisungspufferspeicher) und einen Anweisungsdecodierer. In dieser Datenverarbeitungseinrichtung sind zwei Wortleitungen (eine erste Wortleitung und eine zweite Wortleitung) für jede einzelne Speicherzelle in dem Anweisungspuffer vorgesehen, und Daten werden zu entsprechenden Bitleitungen ausgelesen. Die erste Wortleitung ist mit einem ersten Lesezeiger verbunden, die zweite Wortleitung ist mit einem zweiten Lesezeiger verbunden, und durch die ersten und zweiten Lesezeiger bezeichnete Anweisungsbitketten werden zu den Bitleitungen ausgelesen. Man beachte, daß in der Datenverarbeitungseinrichtung gemäß der verwandten Technik Speicherzellen, die eine dem nächsten Anweisungsbeginn folgende Anweisungsbitkette speichern, nur spezifiziert sind, nachdem ein von dem Anweisungsdecodierer ausgegebenes Anweisungslänge-Meldesignal empfangen ist. Ferner werden die Daten von den spezifizierten Speicherzellen zu den Bitleitungen ausgelesen, und die Daten werden gehalten oder gespeichert und zu dem Anweisungsdecodierer übertragen.
- Wie oben beschrieben, kann in der allgemeinen Datenverarbeitungseinrichtung eine Anweisungsverarbeitungsgeschwindigkeit nicht verringert werden, weil eine Ladekapazität jeder Bitleitung ziemlich groß ist. Auf der anderen Seite sind in der Datenverarbeitungseinrichtung gemäß der verwandten Technik zwei Bitleitungen und zwei Wortleitungen erforderlich, überdies sind auch mit jeweiligen Wortleitungen verbundene Transistoren erforderlich, und somit können ein hoher Integrationsgrad, eine geringe Größe und niedrige Kosten nicht realisiert werden.
- Gelegentlich ist in einer Datenverarbeitungseinrichtung eine Pipelineverarbeitung verwendet worden, um eine Hochgeschwindigkeitsoperation zu realisieren. In den letzten Jahren ist diese Pipelineverarbeitung auch in einem monolithischen Mikroprozessor verwendet worden, wie z.B. einer 32-Bit-Mikroverarbeitungseinheit, die eine TRON (The Realtime Operating system Nucleus)-Architektur verwendet. In einer Pipelineverarbeitung ist eine einzelne Anweisungsverarbeitung in mehrere Verarbeitungen (mehrere Pipelinestufen) geteilt worden, und eine Vielzahl von Pipelinestufen ist parallel ausgeführt worden, so daß eine Hochgeschwindigkeitsverarbeitung realisiert werden kann.
- Nichtsdestoweniger kann in einem System von Anweisungen mit variabler Länge unter Verwendung einer Pipelineverarbeitung die Länge einer Anweisung nicht bekannt sein, und ein Anfangspunkt der nächsten Anweisung kann nicht unterschieden werden, bevor die Anweisung decodiert ist. In dem System von Anweisungen mit variabler Länge kann nämlich ein Anfangspunkt einer nächsten Anweisung nur nach einem Decodieren der Anweisung unterschieden werden. und somit ist eine Anweisungsverarbeitungszeit gemäß der Zeit bestimmt, die in Anspruch genommen wird, um die Anweisung zu decodieren, die Anweisungslänge (Anweisungswortlänge) zu unterscheiden und die nächste Anweisung auszulesen. Beispielsweise ist, sogar falls eine Verarbeitungszeit einer einzelnen Pipelinestufe verkürzt ist, ein Anfang eines Decodierens (oder Verarbeitens) der nächsten Anweisung noch langsam, so daß eine Anweisungsverarbeitungsgeschwindigkeit nicht reduziert werden kann. Daher ist es dringend erforderlich, eine Übergangsgeschwindigkeit zu erhöhen (oder eine Übergangszeit zu verkürzen), um eine Anweisungslänge zu unterscheiden und die nächste Anweisung auszulesen. Ferner ist in einem monolithischen Mikroprozessor, wie z.B. einer in einem einzelnen Halbleiterkörper ausgebildeten Einrichtung, erwünscht, eine Chipgröße zu minimieren, um Herstellungskosten zu reduzieren, einen Energieverbrauch zu vermindern und dessen Herstellungsausbeute zu verbessern.
- US-A-4502111 beschreibt eine Anordnung zum Identifizieren und Zerlegen einer Reihe von Anweisungen mit variabler Länge, die in einem Vorabrufpuffer gespeichert sind. Der Vorabrufpuffer besteht aus einer Vielzahl von Abschnitten, die jeweils eine Anzahl von Byte-Registern enthalten, und ist selektiv mit einem Byte-Rotator durch Multiplexer gekoppelt. Der Byte- Rotator arbeitet als eine zeitweilige einstellbare Speichereinrichtung und wird gesteuert, um die Zeichen der vorliegenden Anweisung derart anzuordnen, daß jedes Zeichen bei der niedrigsten Byte-Position anfängt. Ein PROM wird verwendet, um die Inhalte des Operationscodelänge-Feldes (engl. opcode length field) zu lesen und daher die Anweisungslänge zu bestimmen, was erlaubt, daß die Anweisung übertragen und decodiert wird.
- US-A-4236206 beschreibt ein digitales Datenverarbeitungssystem für einen Umgang mit Anweisungen mit variabler Länge. Jede Anweisung enthält einen Operationscode, und bestimmte Anweisungen können auch einen oder mehr Operandenspezifizierer enthalten. Anweisungen werden zu einem Anweisungspuffer weitergegeben, und eine Steuerschaltung wird verwendet, um den Operationscode und jedes Operandenspezifizierer-Byte zu decodieren. Die von dem Operationscode und den Operandenspezifizierern erhaltenen Informationen werden dann kombiniert, um eine Adresse zu erhalten, von der der Operand zurückgeholt oder abgerufen werden soll oder zu der ein Operand übertragen werden soll.
- Gemäß einem ersten Gesichtspunkt der vorliegenden Erfindung, der in Anspruch 1 dargelegt ist, wird eine Datenverarbeitungseinrichtung geschaffen, um eine Anweisung mit variabler Länge auszuführen, worin die Datenverarbeitungseinrichtung umfaßt: einen Anweisungspufferspeicher mit einer Vielzahl von Reihen, wobei jede der Reihen eine Vielzahl von Bitketteneinheiten speichert; einen Anweisungsdecodierer, der mit den Bitketteneinheiten versorgt wird; und eine Halte- oder Zwischenspeichereinheit, die mit dem Anweisungspufferspeicher verbunden ist, um Einheiten zu speichern, die in einem unmittelbar vorhergehenden Schritt von einer der Reihen ausgelesen wurden, dadurch gekennzeichnet, daß die Datenverarbeitungseinrichtung ferner ein Auswahlmittel umfaßt, zum Auswählen der eine auszuführende Anweisung bildenden Anweisungsbitkette, entweder ganz aus dem Anweisungspufferspeicher bei einer durch einen Lesezeiger angezeigten Speicherposition oder zum Teil aus dem Anweisungspufferspeicher bei einer durch den Lesezeiger angezeigten Speicherposition und zum Teil aus dem Zwischenspeichermittel gemäß einem Anweisungslänge-Meldesignal, das durch den Anweisungsdecodierer geliefert wird, und zum Anzeigen der Anzahl von in dem Zwischenspeichermittel gespeicherten Anweisungsbitketten, die einen Teil der vorhergehenden Anweisung bildeten.
- Die vorliegende Erfindung schafft eine Datenverarbeitungseinrichtung mit einer Hochgeschwindigkeits-Anweisungsverarbeitung in einer Pipelineverarbeitung. Ferner verringert die vorliegende Erfindung die Anzahl von Transistoren und den Umfang einer Speicherzellen in einem Anweisungspuffer bildenden Verdrahtung und realisiert einen hohen Integrationsgrad, eine geringe Größe und geringe Kosten davon.
- Jede der Reihen in dem Anweisungspufferspeicher kann in eine Vielzahl von Blöcken geteilt sein. Jeder der Blöcke kann eine Vielzahl von Speicherzellen enthalten, die Zwischenspeichereinheit kann eine Vielzahl von Halte- oder Zwischenspeicherschaltungen enthalten, die Auswahleinheit kann eine Vielzahl von Auswahlschaltungen enthalten, und jede Auswahlschaltungsgruppe kann gesteuert werden, um Daten auszugeben, die aus Kombinationsdaten der Ausgabe des Anweisungspufferspeichers und der Ausgabe der Zwischenspeichereinheit ausgewählt wurden. Jede der Speicherzellen in einer der Reihen kann mit einer einzelnen Wortleitung durch einen einzelnen Gatetransistor und einer einzelnen Bitleitung für eine Ausleseoperation verbunden sein.
- Die durch die Auswahleinheit ausgewählten Bitketteneinheiten können durch eine Übertragungsschaltung zu dem Anweisungsdecodierer übertragen werden. Die Übertragungsschaltung kann eine Vielzahl von Bitketteneinheiten rotieren, die die Anweisungsbitkette bilden, um die Reihenfolge oder Ordnung der Bitketteneinheiten in eine ursprüngliche Ordnung zu ändern. Die Datenverarbeitungseinrichtung kann für ein System von Anweisungen mit variabler Länge unter Verwendung einer Pipelineverarbeitung verwendet werden.
- Gemäß einem zweiten Gesichtspunkt der vorliegenden Erfindung, der in Anspruch 8 dargelegt ist, wird ein monolithischer Mikroprozessor geschaffen, der in einem einzelnen Halbleiterkörper ausgebildet ist, mit einer Anweisungssteuereinheit zum Steuern eines Abrufens, Decodierens und Ausführens von Anweisungen, einer Anweisungsausführungseinheit zum Berechnen einer Operandenadresse und Ausführen einer Operandenoperation, einer Speicherverwaltungseinheit und einer Bussteuereinheit zum Übertragen von Daten zwischen einer externen I/O, einem externen Speicher und der Datenverarbeitungseinrichtung durch den Chipbus, worin die Anweisungssteuereinheit umfaßt: eine Datenverarbeitungseinrichtung gemäß dem ersten Gesichtspunkt der vorliegenden Erfindung und worin der Anweisungsdecodierer eine Anweisungsbitkette decodiert, eine Anweisungslänge der in der Anweisungsbitkette enthaltenen Anweisung unterscheidet und ein Anweisungslänge-Meldesignal ausgibt.
- Außerdem wird gemäß einem dritten Gesichtspunkt der vorliegenden Erfindung, der in Anspruch 9 dargelegt ist, ein Datenverarbeitungsverfahren geschaffen, um eine Anweisung mit variabler Länge von einem Anweisungspufferspeicher zu einem Anweisungsdecodierer zu liefern, worin das Datenverarbeitungsverfahren umfaßt: einen Schritt eines vorübergehenden Haltens einer ersten, in einem unmittelbar vorhergehenden Schritt aus dem Anweisungspufferspeicher ausgelesenen Anweisungsbitkette; einen Schritt eines Auslesens einer zweiten Anweisungsbitkette aus dem Anweisungspufferspeicher bei einer durch einen Lesezeiger angezeigten Speicherposition; und einen Schritt eines Auswählens von Anweisungsbitketten, entweder ganz aus der zweiten Anweisungsbitkette oder zum Teil aus der ersten Anweisungsbitkette und zum Teil aus der zweiten Anweisungsbitkette gemäß einem Anweisungslänge-Meldesignal, das durch den Anweisungsdecodierer geliefert wird, und eines Anzeigens der Anzahl von Anweisungsbitketteneinheiten, die vorübergehend gehalten werden und einen Teil der vorhergehenden Anweisung bilden.
- Die vorliegende Erfindung wird aus der Beschreibung der bevorzugten Ausführungsformen, wie unten dargelegt, mit Bezugnahme auf die beiliegenden Zeichnungen klarer verstanden werden, worin:
- Figur 1 ein Blockdiagramm ist, das einen Teil eines Beispiels einer Datenverarbeitungseinrichtung gemäß der verwandten Technik veranschaulicht;
- Figur 2 ein Schaltungsdiagramm ist, das eine Speicherzelle in der in Figur 1 dargestellten Datenverarbeitungseinrichtung zeigt;
- Figur 3 ein Blockdiagramm ist, das ein Prinzip einer Daten verarbeitungseinrichtung gemäß der vorliegenden Erfindung verans chaulicht;
- Figur 4 ein Blockdiagramm ist, das ein Beispiel der ganzen Datenverarbeitungseinrichtung gemäß der vorliegenden Erfindung veranschaulicht;
- Figur 5 ein Blockdiagramm ist, das einen Teil einer Ausführungsform der Datenverarbeitungseinrichtung gemäß der vorliegenden Erfindung veranschaulicht;
- Figur 6 ein Schaltungsdiagramm ist, das eine Speicherzelle in der in Figur 5 dargestellten Datenverarbeitungseinrichtung veranschaulicht;
- die Figuren 7A und 7B Diagramme sind, um Beispiele einer in der vorliegenden Erfindung verwendeten Anweisung mit variabler Länge zu erläutern;
- Figur 8 ein Blockdiagramm ist, das einen Anweisungspuffer, eine Übertragungsschaltung und einen Anweisungsdecodierer in der Datenverarbeitungseinrichtung gemäß der vorliegenden Erfindung veranschaulicht;
- die Figuren 9A bis 9D Diagramme sind, um verschiedene Rota tionsprozesse in der in Figur 8 dargestellten Ubertragungsschaltung zu erläutern;
- Figur 10 ein Schaltungsdiagramm ist, das ein Beispiel der in Figur 8 dargestellten Übertragungsschaltung veranschaulicht;
- Figur 11 ein Blockdiagramm ist, um ein Beispiel einer Auswahloperation in der Datenverarbeitungseinrichtung gemäß der vorliegenden Erfindung zu erläutern; und
- Figur 12 ein Diagramm ist, um Pipelineverarbeitungsoperationen in der Datenverarbeitungseinrichtung gemäß der vorliegenden Erfindung zu erläutern.
- Zuerst wird mit Bezugnahme auf die Figuren 1 und 2 eine Datenverarbeitungseinrichtung gemäß der verwandten Technik erläutert werden.
- In einer allgemeinen Datenverarbeitungseinrichtung für ein System von Anweisungen mit variabler Länge, die eine Pipeline verarbeitung verwendet, ist, wenn Daten aus Speicherzellen zu Bitleitungen ausgelesen wurden, eine beträchtliche Zeit verbraucht worden, weil jede der Bitleitungen eine große Ladekapazität hat und ein Signalpegel bei der Bitleitung nicht sofort geändert werden kann. Daher kann eine nächste Anweisungskette nicht in kurzer Zeit zu dem Anweisungsdecodierer übertragen werden, und eine Anweisungsverarbeitungsgeschwindigkeit kann nicht verringert werden.
- In Anbetracht des obigen Sachverhalts ist eine Datenverarbeitungseinrichtung, die eine Zeit zum Auslesen von Daten aus den Speicherzellen verringern kann, untersucht und als die verwandte Technik vorgeschlagen worden.
- Figur 1 ist ein Blockdiagramm, das einen Teil eines Beispiels einer Datenverarbeitungseinrichtung gemäß der verwandten Technik veranschaulicht. Wie in Figur 1 dargestellt ist, umfaßt die Datenverarbeitungseinrichtung (Mikroverarbeitungseinheit) eine Speicherverwaltungseinheit 101, einen Anweisungspuffer IB und einen Anweisungsdecodierer 109. In der Datenverarbeitungseinrichtung werden Anweisungsdaten von der Speicherverwaltungseinheit 101 durch eine Übertragungsschaltung 102 zu dem Anweisungspuffer IB geliefert, und ferner wird eine Anweisungsbitkette von dem Anweisungspuffer IB durch eine Übertragungsschaltung 108 zu dem Anweisungsdecodierer 109 übertragen.
- Figur 2 ist ein Schaltungsdiagramm, das eine Speicherzelle in der in Figur 1 dargestellten Datenverarbeitungseinrichtung zeigt. Wie in den Figuren 1 und 2 dargestellt ist, sind zwei Wortleitungen einer ersten Wortleitung WL&sub1; und einer zweiten Wortleitung WL&sub2; für einen Ausleseprozeß mit jeder der Speicherzellen a&sub1;&sub1; bis ann (in Figur 2 ist nur eine Speicherzelle a&sub1;&sub1; veranschaulicht) in dem Anweisungspuffer IB verbunden, und die aus der Speicherzelle a&sub1;&sub1; ausgelesenen Daten werden durch zwei Bitleitungen BL&sub1;, BL&sub2; für den Ausleseprozeß übertragen. Man beachte in Figur 2, daß eine Wortleitung WL&sub0; nur für einen Schreibprozeß verwendet wird und zwei Bitleitungen BL&sub0; nur für den Schreibprozeß verwendet werden.
- Wie in Figur 1 dargestellt ist, ist die erste Wortleitung WL&sub1; mit einem ersten Lesezeiger 104 verbunden, und die zweite Wortleitung WL&sub2; ist mit einem zweiten Lesezeiger 105 verbunden. Eine durch die ersten und zweiten Lesezeiger 104, 105 angezeigte Anweisungsbitkette wird zu den Bitleitungen BL&sub1;, BL&sub2; ausgelesen, und zu den Bitleitungen BL&sub1;, BL&sub2; ausgelesene Anweisungsdaten werden durch eine Auswahlschaltung 106 ausgewählt und zu der Übertragungsschaltung 108 übertragen.
- In dem Anweisungspuffer IB der in Figur 1 dargestellten Datenverarbeitungseinrichtung werden nämlich die Speicherzellen a&sub1;&sub1; bis amn, die eine dem Beginn der nächsten Anweisung (nächster Anweisungskopf) folgende Anweisungsbitkette speichern, nur nach Empfang eines Anweisungslänge-Meldesignals spezifiziert, das von dem Anweisungsdecodierer 109 ausgegeben wird, werden die Daten von den spezifizierten Speicherzellen a&sub1;&sub1; bis amn zu den Bitleitungen BL&sub1;, BL&sub2; ausgelesen, und dann werden die Daten gehalten oder gespeichert und zu dem Anweisungsdecodierer 109 übertragen.
- Wie oben beschrieben, sind in der in den Figuren 1 und 2 dargestellten Datenverarbeitungseinrichtung zwei Bitleitungen BL&sub1;, BL&sub2; und zwei Wortleitungen WL&sub1;, WL&sub2; für einen Ausleseprozeß erforderlich, außerdem sind auch mit jeweiligen Wortleitungen WL&sub1;, WL&sub2; verbundene Transistoren für den Ausleseprozeß erforderlich, und somit können ein hoher Integrationsgrad, eine geringe Größe und geringe Kosten nicht realisiert werden. Unten werden die bevorzugten Ausführungsformen einer Datenverarbeitungseinrichtung gemäß der vorliegenden Erfindung mit Bezugnahme auf die beiliegenden Zeichnungen erläutert werden.
- Figur 3 ist ein Blockdiagramm, das ein Prinzip einer Datenverarbeitungseinrichtung gemäß der vorliegenden Erfindung veranschaulicht.
- Wie in Figur 3 dargestellt, umfaßt die Datenverarbeitungseinrichtung eine Speicherverwaltungseinheit 1, einen Anweisungspuffer (Anweisungspufferspeicher) IB, der einen Speicher N zum Speichern einer von der Speicherverwaltungseinheit 1 ausgegebenen Anweisungsbitkette enthält, und einen Anweisungsdecodierer 9 zum Decodieren der Anweisungsbitkette, die eine einzelne Anweisung oder eine Vielzahl von Anweisungen enthält.
- Der Anweisungspuffer IB enthält auch eine Zwischenspeicherschaltung 7, einen Gültigkeitssteuerteil 3, einen Lesezeiger-Steuerteil 4, einen Lesezeiger 5 und eine Auswahlschaltung 6.
- Die Zwischenspeicherschaltung 7 halt vorübergehend eine bei einem unmittelbar vorhergehenden Schritt in einer Pipelineverarbeitung übertragene Anweisungsbitkette. Der Gültigkeitssteuerteil 3 gibt ein Gültigkeitskennzeichen aus, das anzeigt, ob jede Bitketteneinheit eine gültige Bitkette als eine Anweisung ist oder nicht. Man beachte, daß die zu dem Anweisungsdecodierer 9 übertragene Anweisungsbitkette durch eine Vielzahl der Bitketteneinheiten gebildet wird. Der Lesezeiger-Steuerteil 4 zeigt eine Speicherposition an, wo die zu dem Anweisungsdecodierer 9 übertragene Anweisungsbitkette gespeichert ist. Der Lesezeiger 5 zeigt eine Speicherposition an, die durch Verschieben um Einheitslängen entsprechend der Anzahl der Bitketteneinheiten des Gültigkeitskennzeichens von der durch den Lesezeiger-Steuerteil 4 angezeigten Speicherposition erhalten wird.
- Die Auswahlschaltung 6 wählt zwischen einer zu einer Vielzahl von Bitleitungen BL ausgelesenen Anweisungsbitkette und einer in der Zwischenspeicherschaltung 7 vorübergehend gespeicherten Anweisungsbitkette und gibt den Beginn der nächsten Anweisungsbitkette, die sich von der nächsten Anweisung sequentiell fortsetzt, zu dem Anweisungsdecodierer aus. Man beachte, daß der Beginn einer zu einer Vielzahl von Bitleitungen BL ausgelesenen Anweisungsbitkette durch den Lesezeiger 5 angezeigt wird und die in der Zwischenspeicherschaltung 7 vorübergehend gespeicherte Anweisungsbitkette gemäß einem von dem Anweisungsdecodierer 9 ausgegebenen Anweisungslänge-Meldesignal ausgelesen wird.
- Wie oben beschrieben, realisiert die Datenverarbeitungseinrichtung gemäß der vorliegenden Erfindung unter Verwendung eines Systems von Anweisungen mit variabler Länge einen Hochgeschwindigkeitsübergang von einer Anweisungsdecodierstufe zu der nächsten Decodierstufe einer Pipelineverarbeitung und realisiert eine Verbesserung in einer Verarbeitungsgeschwindigkeit für die Datenverarbeitungseinrichtung als ganzes. Außerdem kann in der Datenverarbeitungseinrichtung gemäß der vorliegenden Erfindung die Anzahl von Transistoren und Verdrahtungen reduziert werden, und somit können ein höherer Integrationsgrad, eine geringere Größe und geringere Kosten erhalten werden.
- Figur 4 ist ein Blockdiagramm, das ein Beispiel der ganzen Datenverarbeitungseinrichtung gemäß der vorliegenden Erfindung veranschaulicht. Wie in Figur 4 dargestellt ist, umfaßt die Datenverarbeitungseinrichtung M, die ein monolithischer Mikroprozessor ist, der in einem einzelnen Halbleiterkörper ausgebildet ist, eine Anweisungssteuereinheit 41, eine Anweisungsausführungseinheit 42, eine Speicherverwaltungseinheit 43 (1) und eine Bussteuereinheit 44.
- Die Anweisungssteuereinheit 41, die verwendet wird, um ein Abrufen, Decodieren und Ausführen von Anweisungen zu steuern, umfaßt einen Anweisungspuffer 411 (IB), einen Anweisungsdecodierer 412 (9), einen Pipelinesteuerteil 413 und ein Mikroprogramm 414. Der Anweisungspuffer 411, der eine Anweisungswarteschlange ist, wird verwendet, um eine Anweisung mit variabler Länge effizient zu verarbeiten. Eine Vorabruf-Operation für Anweisungen wird kontinuierlich ausgeführt, bis die Anweisungswarteschlange (Anweisungspuffer) 411 keinen freien Pufferbereich aufweist. Man beachte, daß diese Vorabruf-Operation für Anweisungen ohne Ausführen der Anweisungen unabhängig durchgeführt wird. Ferner wird, wenn eine erforderliche Anweisung in dem Anweisungspuffer IB (Anweisungswarteschlange 411) gespeichert ist, ein Zugriff eines externen Speichers (Hauptspeicher) nicht ausgeführt. In dem Anweisungsdecodierer 9 (412) werden ein Anweisungsformat, ein Anweisungstyp und eine Adressierungsart analysiert, und eine Information zum Steuern einer Pipelineverarbeitung, Berechnen einer Operandenadresse und Starten eines Mikroprogramms wird davon ausgegeben. In dem Pipelinesteuerteil 413 wird eine Anweisung in unabhängige fünf Stufen (fünfstufige Pipelineverarbeitung) in einem Maschinenzyklus geteilt und wird kontinuierlich ausgeführt. Das Mikroprogramm 414, das durch einen Nur-Lese-Speicher gebildet wird, gibt eine ausführliche Steuerinformation an einen arithmetischen Teil 423 aus, der unten beschrieben ist.
- Die Anweisungsausführungseinheit 42, die verwendet wird, um eine Operandenadresse zu berechnen und eine Operandenoperation auszuführen, umfaßt einen Adreßerzeugungsteil 421, eine Registerdatei 422 und den arithmetischen Teil 423. In dem Adreßerzeugungsteil 421 wird eine Adreßberechnung gemäß der Adressierungsart ausgeführt, und die erzeugte Adresse wird zu der Speicherverwaltungseinheit 1 (43) übertragen. Der arithmetische Teil 423, wo eine Grundoperation ausgeführt wird, hat Exklusiv- Schaltungen für Bitfeld-Manipulationsanweisungen, Multiplizier- Dividier-Berechnungsanweisungen und Dezimaloperation-Vorschubanweisungen, und Operandenverarbeitungen für diese Anweisungen werden effizient ausgeführt. Die Registerdatei 422 enthält Mehrzweckregister, Arbeitsregister und Stapelzeiger.
- Die Speicherverwaltungseinheit 43 (1) umfaßt einen Anweisungszugriff-Steuerteil 431 und einen Operandenzugriff-Steuerteil 432. Der Anweisungszugriff-Steuerteil 431 enthält einen Anweisungscache-Speicher, einen TLB (Adreßumsetzpuffer) und eine Speicherschutzfunktion. Ähnlich enthält der Operandenzugriff-Steuerteil 432 einen Anweisungscache-Speicher, einen TLB und eine Speicherschutzfunktion. Der Anweisungszugriff- Steuerteil 431 und der Operandenzugriff-Steuerteil 432 können gemäß von der Anweisungsausführungseinheit 42 ausgegebenen Steuersignalen unabhängig arbeiten. Man beachte, daß der Prozeß eines Schreibens von Anweisungsausführungsdaten durch Verwenden eines "Store-Through"-Verfahrens ausgeführt wird. Wenn ein Chipbus verwendet wird, werden die Adresse und die Daten in einem Speicherpuffer gespeichert, bis die Daten ausgegeben werden können. In dem Fall, daß ein durch eine Schreibadresse angezeigter Bereich in dem Anweisungscache festgesetzt ist, wird ein Eintrag entsprechend dem Bereich in dem Anweisungscache zu dem Zeitpunkt eines Schreibens zu dem externen Speicher für ungültig erklärt.
- Die Bussteuereinheit 44, die Daten zwischen einer externen I/O, dem externen Speicher und der Datenverarbeitungseinrichtung durch den Chipbus überträgt, umfaßt einen Adreßsteuerteil 441, einen Adreßüberwachungssteuer-Blockzugriffsteil 442 und einen Daten übertragenden Teil 443. Die Bussteuereinheit 44 hat eine Blockzugriffsfunktion zum Übertragen eines Blocks (z.B. 16 Bytes von Daten) zu dem Cachespeicher bei hoher Geschwindigkeit und eine adreßüberwachende Funktion, um die Inhalte des Cachespeichers und des externen Speichers durch Überwachen einer Schreibadresse auf dem Chipbus übereinstimmen zu lassen.
- Die vorliegende Erfindung befaßt sich hauptsächlich mit dem Anweisungspuffer IB (412) der Anweisungssteuereinheit 41 in dem monolithischen Mikroprozessor (Datenverarbeitungseinrichtung) M.
- Figur 5 ist ein Blockdiagramm, das einen Teil einer Ausführungsform der Datenverarbeitungseinrichtung gemäß der vorliegenden Erfindung veranschaulicht und insbesondere die Datenverarbeitungseinrichtung eines monoh thischen Mikroprozessors zum Ausführen einer Pipelineverarbeitung unter Verwendung eines Systems von Anweisungen mit variabler Länge veranschaulicht. Wie in Figur 5 dargestellt ist, umfaßt die Datenverarbeitungseinrichtung (monolithischer Mikroprozessor) eine Speicherverwaltungseinheit 1, einen Anweisungspuffer IB, einen Anweisungsdecodierer 9 und Übertragungsschaltungen 2 und 8. Ferner umfaßt der Anweisungspuffer IB eine Zwischenspeicherschaltung 7, einen Gültigkeitssteuerteil 3, einen Lesezeiger-Steuerteil 4, einen Lesezeiger 5 und eine Auswahlschaltung 6.
- In der Datenverarbeitungseinrichtung wird eine Anweisungsbitkette (Anweisungsdaten) von der Speicherverwaltungseinheit 1 zu dem Anweisungspuffer IB durch eine Übertragungsschaltung 2 geliefert, und eine Gültigkeit der zu dem Anweisungspuffer IB übertragenen Anweisungsbitkette wird dem Gültigkeitssteuerteil 3 gemeldet. Der Gültigkeitssteuerteil 3 hält eine Gültigkeitsinformation von in den Anweisungspuffern IB (Speicher N&sub1; bis Nm) gespeicherten Daten und empfängt eine Information von dem Lesezeiger-Steuerteil 4. Ferner meldet der Gültigkeitssteuerteil 3 dem Lesezeiger 5 und dem Anweisungsdecodierer 9, wie viele Gültigkeitskennzeichen der zu dem Anweisungsdecodierer IB übertragenen Anweisungsbitkette folgen. Der Lesezeiger-Steuerteil 4 steuert den Lesezeiger 5, der eine Speicherposition anzeigt, wo eine Übertragungsanweisungsbitkette gespeichert ist, und empfängt ein Anweisungslänge-Meldesignal von dem Anweisungsdecodierer 9, um daraus resultierend erneuert zu werden.
- Der Lesezeiger 5 bezeichnet Speicherzellen zum Auslesen von Daten zu Bitleitungen BL und wird gemäß der Anzahl der bezeichneten Speicherzellen und der Gültigkeitskennzeichen erneuert. Die Auswahlschaltung 6 wird verwendet, um Daten auf den Bitleitungen BL und andere Daten, die in der Zwischenspeicherschaltung 7 vorübergehend gehalten werden, gemäß einem Zustand des Lesezeigers 5 und dem Anweisungslänge-Meldesignal auszuwählen, und überträgt einen Block von Daten durch eine Übertragungsschaltung 8 zu dem Anweisungsdecodierer 9.
- Die Zwischenspeicherschaltung 7 hält vorübergehend die in einem unmittelbar vorhergehenden Schritt zu dem Anweisungsdecodierer 9 übertragenen Daten, bis die Auswahlschaltung 6 eine Auswahloperation startet. Man beachte, daß in der Zwischenspeicherschaltung 7 gehaltene Daten bei jedem Schritt (Pipelineschritt) erneuert werden.
- Die Übertragungsschaltung 8 überträgt eine ausgegebene Anweisungsbitkette in dem Anweisungspuffer IB zu dem Anweisungsdecodierer 9. Der Anweisungsdecodierer 9 decodiert eine gegebene Anweisungsbitkette, unterscheidet eine Anweisungslänge und gibt dann ein der unterschiedenen Anweisungslänge entsprechendes Anweisungslänge-Meldesignal aus. Man beachte, daß dieses Anweisungslänge-Meldesignal zu dem Lesezeiger-Steuerteil 4, der Auswahlschaltung 6 und der Ubertragungsschaltung 8 geliefert wird.
- Wie oben beschrieben, ist in der in Figur 5 dargestellten Datenverarbeitungseinrichtung, ausgehend von dem Beginn der Anweisungsbitkette (die frühere Anweisungsbitkette) kurz vor einem Übertragen zu dem Anweisungsdecodierer 9, der Umfang der Anweisungsbitkette, der für ein Anweisungsdecodieren des Anweisungsdecodierers in dem nächsten Schritt erforderlich ist, beschränkt. Durch Ausnutzen des obigen Sachverhalts, wird die kurz zuvor übertragene (unmittelbar vorhergehende) Anweisungsbitkette in der Zwischenspeicherschaltung 7 vorübergehend gehalten. Eine frische oder neue Anweisungsbitkette wird dann zu der Bitleitung BL von einer durch den Lesezeiger 5 angezeigten Position ausgelesen, und somit kann eine Verzögerungszeit verringert werden. In der in Figur 5 dargestellten Datenverarbeitungseinrichtung kann nämlich eine Verzögerung zwischen der Zeit, wenn das Anweisungslänge-Meldesignal empfangen wird, und der Zeit, wenn die nächste Anweisungsbitkette ausgewählt und zu dem Anweisungsdecodierer 9 geliefert wird, reduziert werden. Figur 6 ist ein Schaltungsdiagramm, das eine Speicherzelle in der in Figur 5 dargestellten Datenverarbeitungseinrichtung veranschaulicht. Wie in Figur 6 dargestellt ist, ist jede einzelne Wortleitung WL mit jeder von Speicherzellen a&sub1;&sub1; bis amn (z.B. a&sub1;&sub1;) in dem Anweisungspuffer IB verbunden, und Daten werden zu einer einzelnen Bitleitung BL entsprechend der Wortleitung WL ausgelesen.
- Vergleicht man Figur 6 mit Figur 2, erfordert die in Figur 2 dargestellte Speicherzelle a&sub1;&sub1; der verwandten Technik zwei Bitleitungen BL&sub1;, BL&sub2; und zwei Wortleitungen WL&sub1;, WL&sub2; für eine Ausleseoperation, und ferner erfordert jede der Wortleitungen WL&sub1;, WL&sub2; jeweils exklusive Gatetransistoren. Im Gegensatz dazu erfordert die in Figur 6 dargestellte Speicherzelle a&sub1;&sub1; der vorliegenden Erfindung nur eine einzige Bitleitung BL, eine einzige Wortleitung WL für eine Ausleseoperation, und nur ein Transistor ist für die einzige Wortleitung WL erforderlich. Man beachte, daß beide Speicherzellen a&sub1;&sub1;, die in den Figuren 2 und 6 dargestellt sind, gleichermaßen zwei Bitleitungen BL&sub0; und eine Wortleitung WL&sub0; für eine Schreiboperation erfordern. Wie oben beschrieben, kann in der Speicherzelle a&sub1;&sub1; gemäß der vorliegenden Erfindung die Anzahl von Transistoren und Verdrahtungen in den Speicherzellen ohne Verringern der Geschwindigkeit einer Anweisungsverarbeitung in der Pipelineverarbeitung reduziert werden. Folglich kann in der Datenverarbeitungseinrichtung gemäß der vorliegenden Erfindung eine Hochgeschwindigkeits-Anweisungsverarbeitung in der Pipelineverarbeitung realisiert werden, und die Anzahl von Transistoren und Verdrahtungen, die Speicherzellen in dem Anweisungspuffer bilden, kann verringert werden, so daß ein hoher Integrationsgrad, eine geringe Größe und geringe Kosten davon realisiert werden können.
- Konkret weist beispielsweise in dem Fall, daß eine zu dem Anweisungsdecodierer 9 (109) übertragene Anweisungsbitkette aus 64 Bits besteht und die Speicherkapazität des Anweisungspuffers IB 64 Bits x 8 Worte beträgt, bezüglich der Anzahl von Transistoren und Verdrahtungen in den Speicherzellen die in Figur 6 dargestellte Datenverarbeitungseinrichtung 64 Bitleitungen weniger, 8 Wortleitungen weniger und 1.024 (2 Transistoren x 64 Bits x 8 Worte 1.024) Transistoren weniger auf als die in Figur 2 dargestellte Datenverarbeitungseinrichtung. In dem obigen Fall kann nämlich die Datenverarbeitungseinrichtung gemäß der vorliegenden Erfindung um 64 Bitleitungen, 8 Wortleitungen und 1.024 Transistoren gegenüber der Datenverarbeitungseinrichtung gemäß der verwandten Technik verkleinert werden.
- Man beachte, daß die Datenverarbeitungseinrichtung der vorliegenden Ausführungsform die Zwischenspeicherschaltung 7 (die z.B. durch 6 Transistoren gebildet wird), den Gültigkeitssteuerteil 3 und mehrere verbindende Verdrahtungen erfordert. Die erhöhte Anzahl von Transistoren und Verdrahtungen infolge der obigen erforderlichen Schaltungen für die vorliegende Ausführungsform ist jedoch weit geringer als die von Transistoren (z.B. 1.024 Transistoren) und Verdrahtungen (z.B. 64 Bitleitungen und 8 Wortleitungen), um die die vorliegende Ausführungsform gegenüber der Datenverarbeitungseinrichtung der verwandten Technik verkleinert ist. Die Datenverarbeitungseinrichtung der vorliegenden Ausführungsform kann nämlich die Anzahl von Transistoren und Verdrahtungen viel mehr reduzieren, und somit können ein hoher Integrationsgrad, eine geringe Größe und niedrige Kosten davon realisiert werden. Diese Vorzüge in der vorliegenden Ausführungsform können in einer größerskaligen Datenverarbeitungseinrichtung bemerkenswerter sein.
- Die Figuren 7A und 7B sind Diagramme zum Erläutern von Beispielen einer in der vorliegenden Erfindung verwendeten Anweisung mit variabler Länge, insbesondere zum Erläutern von Beispielen eines Anweisungsformats, das auf der TRON-Architektur beruht.
- In Figur 7A ist ein Grundtyp des durch einen Anweisungsdecodierprozeß verarbeiteten Anweisungsformats veranschaulicht, und Bezugszeichen OP1 bezeichnet ein Feld (8 Bits) zum Definieren eines Anweisungstyps und einer Operation, EA1 bezeichnet ein Feld (8 Bits) zum Definieren einer Adressierungsart eines Quellenoperanden, und EXP bezeichnet ein Konstantenfeld (0 32 Bits), das die durch das EA1-Feld definierte Adressierungsart begleitet. Man beachte, daß das EXP-Feld durch 0 Bits, 16 Bits und 32 Bits gemäß den Inhalten in dem EA1-Feld bestimmt ist. Eine Länge (Anzahl von Bits) des EXP-Feldes wird durch Decodieren eines ersten Halbwortes (erstes HW) bestätigt, das das OP1- Feld und das EA1-Feld der Anweisung einschließt. Wenn die Länge des EXP-Feldes als 16 Bits bestimmt ist, werden zwei, aus dem ersten HW und dem EXP-Feld bestehende Halbworte in dem Anweisungsdecodierer 9 in einer Decodieroperation decodiert, und somit sendet der Anweisungsdecodierer 9 ein zwei Haibworte anzeigendes Anweisungslänge-Meldesignal an den Anweisungspuffer IB. Ähnlich sendet, wenn die Länge des EXP-Feldes als 0 Bits bestimmt ist, der Anweisungsdecodierer 9 ein ein Haibwort anzeigendes Anweisungslänge-Meldesignal an den Anweisungspuffer IB, und, wenn die Länge des EXP-Feldes als 32 Bits bestimmt ist, sendet der Anweisungsdecodierer 9 ein drei Haibworte anzeigendes Anweisungslänge-Meldesignal an den Anweisungspuffer IB.
- In Figur 7B ist der Fall veranschaulicht, wenn das Anweisungslänge-Meldesignal als vier Halbworte bestimmt ist, und ein Bezugszeichen IMM bezeichnet ein unmittelbares oder Direktfeld (8 Bits) zur Verwendung als ein Quellenoperand. Wenn nämlich der Quellenoperand als ein direkter bestimmt ist oder eine Anweisung eine direkte Anweisung ist und das dem zweiten Halbwort folgende EXP-Feld als 32 Bits bestimmt ist, ist das Anweisungslänge-Meldesignal als vier Halbworte bestimmt. Der obige Fall zeigt nämlich an, wenn das dem ersten Haibwort folgende EXP (EXP1)-Feld als 0 Bits bestimmt ist. Man beachte in dem obigen Fall, daß das erste Halbwort in dem Anweisungsdecodierer 9 nicht decodiert wird und ein ein Halbwort anzeigendes Anweisungslänge-Meldesignal davon nicht ausgegeben wird, aber vier Halbworte von dem ersten Halbwort zu dem EXP2-Feld in dem Anweisungsdecodierer 9 für eine Hochgeschwindigkeitsoperation gleichzeitig decodiert werden und ein vier Halbworte anzeigendes Anweisungslänge-Meldesignal davon nicht ausgegeben wird.
- Figur 8 ist ein Blockdiagramm, das einen Anweisungspuffer IB, eine Übertragungsschaltung 8 und einen Anweisungsdecodierer 9 in der Datenverarbeitungseinrichtung gemäß der vorliegenden Erfindung veranschaulicht. Wie in Figur 8 dargestellt ist, ist die Ordnung von Anweisungscodes E, F, C, D, die von dem Anweisungspuffer IB zu der Übertragungsschaltung 8 ausgegeben werden&sub1; von einer ursprünglichen Ordnung von Anweisungscodes C, D, E, F verschieden, und die Übertragungsschaltung 8 führt eine Rotationsoperation aus, um die Ordnung der Anweisungscodes zu ändern, um das obere Ende der Anweisung bei dem ersten Halbwort (HW1) zu positionieren. In Figur 8 wird nämlich der Anweisungscode E von dem Halbwortblock H0 zu der Übertragungsschaltung 8 übertragen, wird der Anweisungscode F von dem Halbwortblock H1 zu der Übertragungsschaltung 8 übertragen, wird der Anweisungscode C von dem Halbwortblock H2 zu der Übertragungsschaltung 8 übertragen, und wird der Anweisungscode D von dem Halbwortblock H3 zu der Übertragungsschaltung 8 übertragen. Die Übertragungsschaltung 8 rotiert und überträgt den von dem Halbwortblock H2 ausgegebenen Anweisungscode C zu dem ersten Halbwort (HW1) in dem Anweisungsdecodierer 9, den von dem Halbwortblock H3 ausgegebenen Anweisungscode D zu dem zweiten Halbwort (HW2), den von dem Halbwortblock H0 ausgegebenen Anweisungscode E zu dem dritten Halbwort (HW3) bzw. den von dem Halbwortblock H1 ausgegebenen Anweisungscode F zu dem vierten Halbwort (HW4).
- Die Figuren 9A bis 9D sind Diagramme zum Erläutern verschiedener Rotationsprozesse in der in Figur 8 dargestellten Übertragungsschaltung 8. Wie in den Figuren 9A bis 9D darge stellt ist, werden vier Rotationsoperationsmuster in der übertragungsschaltung 8 ausgeführt, und die Übertragungsschaltung 8 sollte diese vier Muster ausführen. In den Figuren 9A bis 9D bezeichnet Bezugszeichen "O" eine Anfangsposition der Anweisung, nachdem sie durch die Auswahlschaltung 6 ausgewählt ist. Man beachte, daß ein erforderliches Rotationsmuster in den obigen vier Mustern durch eine Position des durch den Lesezeiger 5 angezeigten Anfangspunktes der Anweisung und ein Anweisungslänge-Meldesignal bestimmt ist. Ferner werden die Auswahloperation und Rotationsoperation gleichzeitig bei der gleichen Zeitsteuerung für eine Hochgeschwindigkeitsoperation ausgeführt. Vor einem Beenden der Auswahloperation in der Auswahlschaltung 6 sollte nämlich das erforderliche Rotationsmuster schon durch Empfangen des Anweisungslänge-Meldesignals bestimmt sein. Folglich werden die durch den Lesezeiger 5 angezeigte Anfangsposition und das Anweisungslänge-Meldesignal verwendet, um zu bestimmen, wo ein beginnendes Halbwort bei einem von vier Halbworten H0 bis H3 positioniert ist. Man beachte in den obigen Beschreibungen, daß die Gültigkeit der Anweisungscodes in den vier Halbworten H0 bis H3 nicht betrachtet werden muß.
- Figur 10 ist ein Schaltungsdiagramm, das ein Beispiel der in Figur 8 dargestellten Übertragungsschaltung 8 veranschaulicht. In Figur 10 wird, wenn ein Signal S&sub1; bei einem hohen Pegel ist und die anderen Signale S&sub2;, S&sub3;, S&sub4; bei niedrigen Pegeln sind, ein in Figur 9A dargestelltes Rotationsmuster ausgewählt, und, wenn das Signal S&sub2; bei einem hohen Pegel ist und die anderen Signale S&sub3;, S&sub4;, S&sub1; bei niedrigen Pegeln sind, wird ein in Figur 9B dargestelltes Rotationsmuster ausgewählt. Ähnlich wird, wenn das Signal S&sub3; bei einem hohen Pegel ist und die anderen Signale S&sub4;, S&sub1;, S&sub2; bei niedrigen Pegeln sind, ein in Figur 9C dargestelltes Rotationsmuster ausgewählt, und, wenn das Signal S&sub4; bei einem hohen Pegel ist und die anderen Signale S&sub1;, S&sub2;, S&sub3; bei niedrigen Pegeln sind, wird ein in Figur 9D dargestelltes Rotationsmuster ausgewählt.
- Figur 11 ist ein Diagramm zum Erläutern eines Beispiels einer Auswahloperation in der Datenverarbeitungseinrichtung gemäß der vorliegenden Erfindung und ist insbesondere ein Diagramm zum Veranschaulichen einer Vielzahl von Anweisungscodes (Anweisungseinheiten), die einer Vielzahl von Bitketteneinheiten entsprechen, die jeweils durch ein Halbwort (16 Bits) gebildet werden, in der in Figur 5 dargestellten Datenverarbeitungseinrichtung. In Figur 11 sind vier Halbwortblöcke H&sub0;, H&sub1;, H&sub2;, H&sub3; veranschaulicht, und in den jeweiligen Halbwortblöcken H&sub0;, H&sub1;, H&sub2;, H&sub3; sind jeweils eine Zwischenspeicherschaltung 70, 71, 72, 73 und Auswahlschaltung 60, 61, 62, 63 vorgesehen. In dem Fall, daß eine Datenkette (Anweisungskette) {A, B, C, D} zu dem Anweisungsdecodierer 9 in der Ausleseverarbeitung (Übertragungsverarbeitung) der Anweisungsdaten in dem unmittelbar vorhergehenden Schritt übertragen wird und eine Datenkette {E, F, G, H} in dem nächsten Schritt ausgelesen wird, wird dann die zu dem Anweisungsdecodierer 9 in dem unmittelbar vorhergehenden Schritt übertragene Datenkette {A, B, C, D} in den jeweiligen Zwischenspeicherschaltungen 70, 71, 72, 73 gehalten oder gespeichert. Als nächstes werden die in den Zwischenspeicherschaltungen 70, 71, 72, 73 gehaltene Datenkette {A, B, C, D} und die Datenkette {E, F, G, H}, die zu den jeweiligen Bitleitungen BL ausgelesen worden ist, durch die entsprechenden Auswahlschaltungen 60, 61, 62, 63 ausgewählt. Konkret ist in Figur 11 der Zustand dargestellt, in dem gemäß dem Anweisungslänge-Meldesignal [2] eine Anweisungskette {C, D, E, F} aus den Anweisungsdaten (A, B, C, D, E, F, G, H} ausgewählt ist. Wie in Figur 11 dargestellt ist, ist eine Ordnung der durch die Auswahlschaltungen 60, 61, 62, 63 ausgewählten Anweisungskette {C, D, E, F} E, F, C und D. Die Anweisungseinheit (Bitketteneinheit) E wird nämlich in dem Halbwortblock H&sub0; ausgewählt, die Anweisungseinheit F wird in dem Halbwortblock H&sub1; ausgewählt, die Anweisungseinheit C wird in dem Halbwortblock H&sub2; ausgewählt, und die Anweisungseinheit D wird in dem Halbwortblock H&sub3; ausgewählt. Man beachte, daß diese Anweisungsdaten E, F, C, D rotiert sind und durch die Übertragungsschaltung 8 übertragen werden, wie in Figur 10 dargestellt ist. In diesem Fall (der der gleiche Fall ist, der in Figur 90 dargestellt ist) ist in der in Figur 10 dargestellten Übertragungsschaltung das Signal S&sub3; bei einem hohen Pegel bestimmt, und die anderen Signale S&sub4;, S&sub1;, S&sub2; sind bei niedrigen Pegeln bestimmt, so daß eine Ausgabe der Übertragungsschaltung 8 zu der ursprünglichen Ordnung als Anweisungsdaten C, D, E, F rotiert wird.
- Figur 12 ist ein Diagramm zum Erläutern von Pipelineverarbeitungsoperationen in der Datenverarbeitungseinrichtung gemäß der vorliegenden Erfindung. In Figur 12 bezeichnet ein Bezugszeichen AUS eine Anweisungsbitkette, die von dem Anweisungspuffer IB zu dem Anweisungsdecodierer 9 durch die Übertragungsschaltung 8 übertragen wird, bezeichnet SPEICHERN oder HALTEN eine Anweisungskette, die vorübergehend in der in Figur 5 dargestellten Zwischenspeicherschaltung 7 gehalten wird, und bezeichnet BL eine Anweisungsbitkette, die von den Speicherzellen a&sub1;&sub1; amn zu den Bitleitungen BL ausgelesen wird. Ferner bezeichnet ein Bezugszeichen DC1 eine Anweisungsdecodierstufe für eine Anweisung 1, und DC2 bezeichnet eine andere Anweisungsdecodierstufe für eine Anweisung 2. Man beachte, daß Bezugszeichen A, B, C ... Anweisungseinheiten (Codes) oder Bitketteneinheiten (z.B. jeweils durch ein Halbwort von 16 Bits gebildet) bezeichnen und eine Anweisungslänge von vier Anweisungsbiteinheiten (z.B. 64 Bits) zu einer Zeit für eine Anweisungsdecodierverarbeitung erforderlich ist.
- In Figur 12 ist eine Anweisungsbitkette für die Stufe DC1 eine Datenkette {A, B, C, D} in einem Übergang der Pipelineverarbeitung einer zu dem Anweisungsdecodierer 9 übertragenen Anweisungsbitkette AUS, und, falls alle Datenketten {A, B, C, D} gültige Anweisungsbitketten (Bitketteneinheiten) sind, erwarten Anweisungsbitketten, die für die Stufe DC2 übertragen werden können, das Anweisungslänge-Meldesignal (0, 1, 2, 3, 4; Länge von Anweisungseinheiten oder Einheitslänge) und sind bei 8-Bitketteneinheiten (Einheitsanweisungslängen-Bitketten) {A, B, C, D, E, F, G, H} bestimmt.
- In diesem Fall wird der Lesezeiger-Steuerteil 4 erneuert, um eine Position A als eine Anfangsposition (Beginn) anzuzeigen, und der Lesezeiger 5 wird erneuert, um eine Position E durch Verschieben um Einheitslängen entsprechend der Anzahl der Gültigkeitskennzeichen anzuzeigen (4 Einheitsanweisungen von A, B, C, D, die eine Anweisung bilden, sind alle gültig, und somit ist die Anzahl der Gültigkeitskennzeichen als vier bestimmt), und solch ein Verschieben wird von der durch den Lesezeiger- Steuerteil 4 angezeigten Position A aus beginnend ausgeführt. Durch vorheriges Auslesen der Anfangsposition (Führungsposition) E und der folgenden Ketten, wie z.B. {E, F, G, H} in den Bitleitungen BL werden dann 8-Bitketteneinheiten {A, B, C, D, E, F, G, H} vorbereitet. Man beachte, daß eine Anweisungskette (Datenkette) {C, D, E, F} aus den Datenketten {A, B, C, D, E, F, G, H} durch die Auswahlschaltung 6 ausgewählt und zu dem Anweisungsdecodierer 9 gemäß einer Ausgabe des Anweisungslänge- Meldesignals [2] (das anzeigt, daß die Bitketteneinheiten A, B schon decodiert worden sind) durch die Stufe DC1 übertragen wird.
- Falls eine für eine Stufe DC3 übertragene Anweisungsbitkette durch {D, E, F, G} gebildet wird und die Bitketteneinheiten {D, E, F} eine gültige Anweisungsbitkette bilden oder die Bitketteneinheit {G} ungültig ist, erwarten dann Anweisungsbitketten, die für eine Stufe DC4 übertragen werden können, das Anweisungslänge-Meldesignal (0, 1, 2, 3 Einheitslänge) und sind Eals 7-Bitketteneinheiten C, D, E, F, G, H, I} bestimmt. Der Grund für den obigen Sachverhalt ist, daß Anweisungsbitketten nicht 8-Bitketteneinheiten zur Folge haben, daß die Bitketteneinheit {G} eine ungültige Anweisungsbitkette zu dem Zeitpunkt ist, zu dem sie für die Stufe DC3 übertragen wird, und das Anweisungslänge-Meldesignal [4] niemals bestimmt ist. Der Lesezeiger-Steuerteil 4 wird daher erneuert, um die Position D anzuzeigen, und der Lesezeiger 5 wird erneuert, um die Position G durch Verschieben um 3 Einheitslängen anzuzeigen.
- In der oben beschriebenen Art und Weise erwartet, wenn 7- Bitketteneinheiten {C, D, E, F, G, H, I} vorbereitet sind, die Bitketteneinheit G, die ungültig gewesen ist (falls G ungültig ist, zeigt es an, daß sequentiell folgende H, I, J, ... ebenfalls ungültig sind), daß Daten während der Zeit der Stufe DC3 von der Speicherverwaltungseinheit 1 ergänzt werden und daß die Bitketteneinheit G gültig gemacht wird, und somit wird eine andere Operation eines Auslesens von Daten zu den Bitleitungen BL gemäß dem Lesezeiger 5 ausgeführt. Ähnlich werden in der gleichen Art und Weise, wie oben beschrieben, die Prozeduren "Übertragungsoperation einer Anweisungsbitkette" T "Auswahloperation der nächsten Anweisungsbitkette" T "Übertragungsoperation eines Anweisungslänge-Meldesignals" T "Auswahloperation der nächsten Anweisungsbitkette" T "Übertragungsoperation der nächsten Anweisungsbitkette" wiederholt, und ein Übergang der Anweisungsdecodierstufe kann bei hoher Geschwindigkeit ausgeführt werden. Man beachte, daß die zu dem Anweisungsdecodierer 9 in einer unmittelbar vorhergehenden Stufe übertragene Anweisungsbitkette in der Zwischenspeicherschaltung 7 vorübergehend gespeichert wird und, ohne eine andere Bitleitung BL (demgemäß eine andere Wortleitung WL) für eine andere Ausleseoperation der unmittelbar vorhergehenden übertragenen Anweisungsbitkette vorzusehen, kann so eine Operation zum Auslesen einer Anweisung ausgeführt werden, worin eine Zeit von einer "Meldezeit eines Meldens einer Anweisungslänge" zu einer "Anfangszeit des Decodierens einer nächsten Anweisung" durch die Prozedur eines Auswählens der Anweisungsbitkette extrem reduziert wird, in der die nächste Anweisung als ein Anfangspunkt gemäß dem Anweisungslänge-Meldesignal genommen wird.
- Wie oben beschrieben, wird in der Datenverarbeitungseinrichtung gemäß der vorliegenden Ausführungsform eine Anweisungsbitketteg die einer Speicherposition folgt, die durch einen Lesezeiger 5 als ein Anfangspunkt angezeigt wird, vorher zu einer Vielzahl von Bitleitungen BL ausgelesen, und eine schon übertragene Anweisungsbitkette wird in einer Zwischenspeicherschaltung 7 vorübergehend gespeichert, so daß eine nächste Anweisungsbitkette, die einer nächsten Anweisung folgt, davon ausgewählt werden kann, ohne eine andere Bitleitung oder Wortleitung zu erfordern. Daher kann eine Hochgeschwindigkeit- Anweisungsverarbeitung in der Pipelineverarbeitung ohne ein Erhöhen der Anzahl von Transistoren und Verdrahtungen, die Speicherzellen in einem Anweisungspuffer bilden, realisiert werden, und somit können einer hoher Integrationsgrad, eine geringe Größe und niedrige Kosten realisiert werden.
- Gemäß der vorliegenden Erfindung kann, wie oben beschrieben, in der Datenverarbeitungseinrichtung, besonders wenn sie für einen Pipelineprozeß verwendet wird, ein Hochgeschwindigkeitsübergang von der Anweisungsdecodierstufe zu der nächsten Anweisungsdecodierstufe realisiert werden, und folglich kann eine Anweisungsverarbeitungsgeschwindigkeit als Ganzes für die Datenverarbeitungseinrichtung verbessert werden. Ferner wird gemäß der vorliegenden Erfindung ein Nachteil, insofern als Transistoren und Verdrahtungen davon zu neigen, zusammen mit einer Verbesserung in einer Anweisungsverarbeitungsgeschwindigkeit zuzunehmen, außerordentlich vermindert werden, und folglich können ein hoher Integrationsgrad, eine geringe Größe und niedrige Kosten realisiert werden.
Claims (9)
1. Eine Datenverarbeitungseinrichtung zum Ausführen einer
Anweisung mit variabler Länge, worin die
Datenverarbeitungseinrichtung umfaßt:
einen Anweisungspufferspeicher (IB) mit einer Vielzahl von
Reihen, wobei jede der Reihen eine Vielzahl von
Bitketteneinheiten speichert;
einen Anweisungsdecodierer (9), der mit den
Bitketteneinheiten versorgt wird; und
ein Zwischenspeichermittel (7), das mit dem
Anweisungspufferspeicher (IB) verbunden ist, um in einem unmittelbar
vorhergehenden Schritt von einer der Reihen ausgelesene
Bitketteneinheiten zu speichern, dadurch gekennzeichnet, daß die
Datenverarbeitungseinrichtung ferner ein Auswahlmittel (6)
umfaßt, zum Auswählen der eine auszuführende Anweisung bildenden
Anweisungsbitkette, entweder ganz aus dem
Anweisungspufferspeicher (IB) bei einer durch einen Lesezeiger (5) angezeigten
Speicherposition oder zum Teil aus dem Anweisungspufferspeicher
(IB) bei einer durch den Lesezeiger (5) angezeigten
Speicherposition und zum Teil aus dem Zwischenspeichermittel (7) gemäß
einem Anweisungslänge-Meldesignal, das durch den
Anweisungsdecodierer (9) geliefert wird, und zum Anzeigen der Anzahl von
in dem Zwischenspeichermittel (7) gespeicherten
Anweisungsbitketteneinheiten, die einen Teil der vorhergehenden Anweisung
bildeten.
2. Eine Datenverarbeitungseinrichtung nach Anspruch 1,
worin jede der Reihen in dem Anweisungspufferspeicher (IB) in
eine Vielzahl von Blöcken (H&sub0; H&sub3;) geteilt ist.
3. Eine Datenverarbeitungseinrichtung nach Anspruch 2,
worin jeder der Blöcke (H&sub0; H&sub3;) eine Vielzahl von
Speicherzellen (a&sub1;&sub1; amn) enthält, das Zwischenspeichermittel (7) eine
Vielzahl von Zwischenspeicherschaltungen (70 73) enthält, das
Auswahlmittel (6) eine Vielzahl von Auswahlschaltungen (60
63) enthält und jede Auswahlschaltung (60 63) gesteuert wird,
um Daten auszugeben, die aus Kombinationsdaten der Ausgabe des
Anweisungspufferspeichers (IB) und der Ausgabe des
Zwischenspeichermittels (7) ausgewählt wurden.
4. Eine Datenverarbeitungseinrichtung nach Anspruch 3,
worin jede der Speicherzellen (a&sub1;&sub1; amn) in einer der Reihen
mit einer einzelnen Wortleitung (WL) durch einen einzelnen
Gatetransistor und einer einzelnen Bitleitung (BL) für eine
Ausleseoperation verbunden ist.
5. Eine Datenverarbeitungseinrichtung nach irgendeinem
vorhergehenden Anspruch, worin die durch das Auswahlmittel (6)
ausgewählten Bitketteneinheiten durch eine
Übertragungsschaltung (8) zu dem Anweisungsdecodierer (9) übertragen werden.
6. Eine Datenverarbeitungseinrichtung nach Anspruch 5,
worin die Übertragungsschaltung (8) eine Vielzahl von
Bitketteneinheiten (E, F, G, D) rotiert, die die
Anweisungsbitkette bilden, um die Ordnung der Bitketteneinheiten in eine
ursprüngliche Ordnung (C, D, E, F) zu ändern.
7. Eine Datenverarbeitungseinrichtung nach irgendeinem
vorhergehenden Anspruch, worin die
Datenverarbeitungseinrichtung für ein System von Anweisungen mit variabler Länge unter
Verwendung einer Pipelineverarbeitung verwendet wird.
8. Ein monolithischer Mikroprozessor, der in einem
einzelnen Halbleiterkörper ausgebildet ist, mit einer
Anweisungssteuereinheit (41) zum Steuern eines Abrufens, Decodierens und
Ausführens von Anweisungen, einer Anweisungsausführungseinheit
(42) zum Berechnen einer Operandenadresse und Ausführen einer
Operandenoperation, einer Speicherverwaltungseinheit (43, 1)
und einer Bussteuereinheit (44) zum Übertragen von Daten
zwischen einer externen I/O, einem externen Speicher und der
Datenverarbeitungseinrichtung durch den Chipbus, worin die
Anweisungssteuereinheit (41) umfaßt:
eine Datenverarbeitungseinrichtung gemäß irgendeinem der
Ansprüche 1 bis 7, und worin der Anweisungsdecodierer (412, 9)
eine Anweisungsbitkette decodiert, eine Anweisungslänge der in
der Anweisungsbitkette enthaltenen Anweisung unterscheidet und
ein Anweisungslänge-Meldesignal ausgibt.
9. Ein Datenverarbeitungsverfahren zum Liefern einer
Anweisung mit variabler Länge von einem Anweisungspufferspeicher
(IB) zu einem Anweisungsdecodierer (9), worin das
Datenverarbeitungsverfahren die Schritte umfaßt:
vorübergehendes Halten einer ersten Anweisungsbitkette, die
in einem unmittelbar vorhergehenden Schritt aus dem
Anweisungspufferspeicher (IB) ausgelesen wurde;
Auslesen einer zweiten Anweisungsbitkette aus dem
Anweisungspufferspeicher (IB) bei einer Speicherposition, die durch
einen Lesezeiger (5) angezeigt wird;
wobei das Verfahren gekennzeichnet ist durch weiteres
Einschließen des Schrittes:
Auswählen von Anweisungsbitketten, entweder ganz aus der
zweiten Anweisungsbitkette oder zum Teil aus der ersten
Anweisungsbitkette und zum Teil aus der zweiten
Anweisungsbitkette gemäß einem Anweisungslänge-Meldesignal, das durch den
Anweisungsdecodierer (9) geliefert wird, und Anzeigen der Anzahl
von Anweisungsbitketteneinheiten, die vorübergehend gehalten
werden und einen Teil der vorhergehenden Anweisung bilden.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1180583A JP2505887B2 (ja) | 1989-07-14 | 1989-07-14 | 命令処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69030036D1 DE69030036D1 (de) | 1997-04-10 |
DE69030036T2 true DE69030036T2 (de) | 1997-06-12 |
Family
ID=16085803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69030036T Expired - Fee Related DE69030036T2 (de) | 1989-07-14 | 1990-07-12 | Pipelineprozessor, der Befehle mit variabler Länge nutzt |
Country Status (5)
Country | Link |
---|---|
US (1) | US5452427A (de) |
EP (1) | EP0413434B1 (de) |
JP (1) | JP2505887B2 (de) |
KR (1) | KR930011686B1 (de) |
DE (1) | DE69030036T2 (de) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5539911A (en) * | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
US5321810A (en) * | 1991-08-21 | 1994-06-14 | Digital Equipment Corporation | Address method for computer graphics system |
AU2509192A (en) * | 1991-08-21 | 1993-03-16 | Digital Equipment Corporation | Address method for computer graphics system |
CA2107046A1 (en) * | 1993-01-08 | 1994-07-09 | James Allan Kahle | Method and system for increased instruction dispatch efficiency in superscalar processor system |
GB2293670A (en) * | 1994-08-31 | 1996-04-03 | Hewlett Packard Co | Instruction cache |
US5758116A (en) * | 1994-09-30 | 1998-05-26 | Intel Corporation | Instruction length decoder for generating output length indicia to identity boundaries between variable length instructions |
US5822558A (en) * | 1995-04-12 | 1998-10-13 | Advanced Micro Devices, Inc. | Method and apparatus for predecoding variable byte-length instructions within a superscalar microprocessor |
US6237074B1 (en) * | 1995-05-26 | 2001-05-22 | National Semiconductor Corp. | Tagged prefetch and instruction decoder for variable length instruction set and method of operation |
US6425070B1 (en) * | 1998-03-18 | 2002-07-23 | Qualcomm, Inc. | Variable length instruction decoder |
DE69934394D1 (de) | 1999-05-03 | 2007-01-25 | St Microelectronics Sa | Vorrichtung zum Bereitstellen von Maschinenbefehlen |
US7415599B1 (en) | 2005-11-01 | 2008-08-19 | Zilog, Inc. | Instruction operation and operand memory location determined based on preceding instruction operation and operand memory location |
US8719516B2 (en) * | 2009-10-21 | 2014-05-06 | Micron Technology, Inc. | Memory having internal processors and methods of controlling memory access |
US11762566B2 (en) | 2018-01-22 | 2023-09-19 | Arm Limited | Programmable mapping of guard tag storage locations |
GB2570326B (en) * | 2018-01-22 | 2020-06-10 | Advanced Risc Mach Ltd | Multiple guard tag setting instruction |
US11204768B2 (en) | 2019-11-06 | 2021-12-21 | Onnivation Llc | Instruction length based parallel instruction demarcator |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3961313A (en) * | 1974-12-04 | 1976-06-01 | International Business Machines Corporation | Computer control apparatus |
US4236206A (en) * | 1978-10-25 | 1980-11-25 | Digital Equipment Corporation | Central processor unit for executing instructions of variable length |
CA1174370A (en) * | 1980-05-19 | 1984-09-11 | Hidekazu Matsumoto | Data processing unit with pipelined operands |
US4502111A (en) * | 1981-05-29 | 1985-02-26 | Harris Corporation | Token generator |
US4635194A (en) * | 1983-05-02 | 1987-01-06 | International Business Machines Corporation | Instruction buffer bypass apparatus |
US4847759A (en) * | 1985-03-18 | 1989-07-11 | International Business Machines Corp. | Register selection mechanism and organization of an instruction prefetch buffer |
JPH0827716B2 (ja) * | 1985-10-25 | 1996-03-21 | 株式会社日立製作所 | データ処理装置及びデータ処理方法 |
US4837678A (en) * | 1987-04-07 | 1989-06-06 | Culler Glen J | Instruction sequencer for parallel operation of functional units |
US5113515A (en) * | 1989-02-03 | 1992-05-12 | Digital Equipment Corporation | Virtual instruction cache system using length responsive decoded instruction shifting and merging with prefetch buffer outputs to fill instruction buffer |
US5109495A (en) * | 1989-02-03 | 1992-04-28 | Digital Equipment Corp. | Method and apparatus using a source operand list and a source operand pointer queue between the execution unit and the instruction decoding and operand processing units of a pipelined data processor |
-
1989
- 1989-07-14 JP JP1180583A patent/JP2505887B2/ja not_active Expired - Fee Related
-
1990
- 1990-07-12 EP EP90307641A patent/EP0413434B1/de not_active Expired - Lifetime
- 1990-07-12 DE DE69030036T patent/DE69030036T2/de not_active Expired - Fee Related
- 1990-07-14 KR KR1019900010705A patent/KR930011686B1/ko not_active IP Right Cessation
-
1994
- 1994-09-30 US US08/315,844 patent/US5452427A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0346028A (ja) | 1991-02-27 |
US5452427A (en) | 1995-09-19 |
EP0413434A3 (en) | 1992-01-22 |
EP0413434A2 (de) | 1991-02-20 |
EP0413434B1 (de) | 1997-03-05 |
DE69030036D1 (de) | 1997-04-10 |
JP2505887B2 (ja) | 1996-06-12 |
KR910003488A (ko) | 1991-02-27 |
KR930011686B1 (ko) | 1993-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69030036T2 (de) | Pipelineprozessor, der Befehle mit variabler Länge nutzt | |
DE68929483T2 (de) | Datenprozessor mit einer Befehlseinheit, die einen Cachespeicher und einen ROM aufweist. | |
DE69017178T2 (de) | Datenverarbeitungssystem mit Vorrichtung zur Befehlskennzeichnung. | |
DE69033398T2 (de) | Rechnerarchitektur mit Mehrfachbefehlsausgabe | |
DE69308548T2 (de) | Vorrichtung und verfahren zum befehlsabschluss in einem superskalaren prozessor. | |
DE69033443T2 (de) | Mechanismus zur Verzweigungsrücksetzung in einem Prozessor mit gepaarten Befehlen | |
DE3851746T2 (de) | Sprungvorhersage. | |
DE3750935T2 (de) | Verfahren und System zum Erleichtern der Befehlsausführung in einem digitalen Rechner. | |
DE69025658T2 (de) | Verfahren zur Verbesserung der Leistung eines mehrstufigen Cachespeichers durch erzwungene Fehlgriffe | |
DE69028138T2 (de) | Mechanismus zur präzisen Behandlung von Ausnahmebedingungen in einem Prozessor mit gepaarten Befehlen | |
DE3685913T2 (de) | Vektorenverarbeitung. | |
DE3685876T2 (de) | Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher. | |
DE68928677T2 (de) | Verfahren und digitaler Computer zur Vorverarbeitung mehrerer Befehle | |
DE3789604T2 (de) | Datenprozessor zur parallelen Ausführung von miteinander im Konflikt stehenden Befehlen. | |
DE69534113T2 (de) | Kompression der Befehlswörter eines Rechners | |
DE60224774T2 (de) | Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit | |
DE3689595T2 (de) | Datenverarbeitungssystem. | |
DE2524046C2 (de) | Elektronische Datenverarbeitungsanlage | |
DE60006021T2 (de) | VLIW-Prozessor und Programmkomprimierungsgerät and -verfahren | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE2910839A1 (de) | Einrichtung zur ausfuehrung einer speziellen verzweigungsinstruktion | |
DE68925397T2 (de) | Pipelineprozessor | |
DE3043653C2 (de) | Datenverarbeitungsanlage | |
DE69616718T4 (de) | Vorrichtung und verfahren zur bestimmung von adressen fehlausgerichteter daten | |
DE69410660T2 (de) | Instruktionsspeichersystem für RISC-Mikroprozessor, fähig zu relativen Progammzahleradressierung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |