DE3688824T2 - Datenverarbeitungssystem. - Google Patents
Datenverarbeitungssystem.Info
- Publication number
- DE3688824T2 DE3688824T2 DE86114724T DE3688824T DE3688824T2 DE 3688824 T2 DE3688824 T2 DE 3688824T2 DE 86114724 T DE86114724 T DE 86114724T DE 3688824 T DE3688824 T DE 3688824T DE 3688824 T2 DE3688824 T2 DE 3688824T2
- Authority
- DE
- Germany
- Prior art keywords
- operand
- instruction
- information
- bit length
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 5
- 102100037009 Filaggrin-2 Human genes 0.000 description 2
- 101000878281 Homo sapiens Filaggrin-2 Proteins 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 102100023882 Endoribonuclease ZC3H12A Human genes 0.000 description 1
- 101710112715 Endoribonuclease ZC3H12A Proteins 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000001343 mnemonic effect Effects 0.000 description 1
- QGVYYLZOAMMKAH-UHFFFAOYSA-N pegnivacogin Chemical compound COCCOC(=O)NCCCCC(NC(=O)OCCOC)C(=O)NCCCCCCOP(=O)(O)O QGVYYLZOAMMKAH-UHFFFAOYSA-N 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 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
-
- 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/30181—Instruction operation extension or modification
- G06F9/30192—Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
- Die Erfindung betrifft Datenverarbeitungstechnik, insbesondere eine Technik, die dann besonders wirkungsvoll ist, wenn sie auf ein Anweisungsformat in einem System vom Programmsteuerungstyp angewendet wird, z. B. auf eine Technik, die wirkungsvoll auf ein Konfigurationsverfahren für eine Zweioperandenanweisung anwendbar ist, das beim Ausführen einer Anweisung zwei Operanden verwendet.
- Herkömmlicherweise ist ein Satz von Mikroanweisungen von Mikroprozessoren wie dem von Hitachi, Ltd. hergestellten HD68OOO in drei Arten von Anweisungsformaten klassifiziert: (1) operandenfreie Anweisung (für die kein Operand erforderlich ist), (2) Einoperandenanweisung und (3) Zweioperandenanweisung.
- Fig. 2 ist ein schematisches Diagramm, das den Aufbau einer Zweioperandenanweisung veranschaulicht.
- D.h., daß eine Zweioperandenanweisung ein Operationscodefeld OP, ein die Operandengröße spezifizierendes Größenfeld Sz (Bitlänge z. B. 8, 16, oder 32 Bit), einen sourceseitigen Operanden Dn und ein Effektivadreßfeld EA2 aufweist, das den Operandenort auf der Zielseite anzeigt (siehe "Hitachi Microcomputer, Semiconductor Data Book, 8/l6 Bit Microcomputer", Seiten 954-952; Hitachi, Ltd.; Sep. 1982). Wie oben beschrieben, enthält die Zweioperandenanweisung herkömmlicher Mikroprozessoren der 6800-Familie nur ein Größenfeld Sz. In diesem Fall kann z. B. eine mit mnemotechnischen Codes wie ADD Do, x spezifizierte Additionsanweisung nicht ausgeführt werden, wenn der Quellenoperand Do und der Zieloperand x nicht dieselbe Bitlänge aufweisen.
- Demgemäß ist zum Ausführen der Operation ADD, wenn die Größe des Quellenoperanden Do auf 8 Bit gesetzt ist, und die Größe des Zieloperanden x auf 32 Bit gesetzt ist, eine Einstellanweisung erforderlich, um vorab die Größe des Quellenoperanden Do von 8 Bit auf 32 Bit einzustellen. D.h., daß vor dem Ausführen der Operation ADD eine Anweisung ausgeführt werden muß, die dem 8-Bit-Operanden als erstem Abschnitt desselben 3 Bytes mit "0" hinzufügt.
- Infolgedessen erhöht sich die Anzahl der Schritte eines Makroprogramms. Darüber hinaus ist ein zwei Worten entsprechender Speicherbereich erforderlich, um einen Operanden (in diesem Fall mit einer Länge von 8 Bits) zu speichern, für den nur 1 Byte erforderlich ist. Demgemäß verringert sich die Ausführungsgeschwindigkeit des Programms abhängig vom Anweisungsformat; darüber hinaus haben die Erfinder dieser Erfindung die Tatsache herausgefunden, daß das Speichernutzungsverhältnis ebenfalls verschlechtert wird.
- Ein Datenverarbeitungssystem mit den Merkmalen des Oberbegriffs von Anspruch 1 sowie ein Verfahren mit den Merkmalen des Oberbegriffs von Anspruch 4 sind aus US-A-4,456,955 bekannt. Bei diesem Stand der Technik werden, obwohl die zwei Operanden, mit denen eine Operation auszuführen ist, unterschiedliche Länge aufweisen können, Daten gleicher Länge aus einem Speicher abgerufen und einer Ausführungseinheit zugeführt. Vor dem Ausführen der Operation kann einer der zwei Operanden verschoben werden, damit sein Dezimalpunkt an derselben Stelle wie beim anderen Operanden steht.
- Bei einem anderen Datenverarbeitungssystem, wie es aus EP-A- 0 138 419 bekannt ist, kann die Datenpfadbreite abhängig von einer Größeninformation spezifiziert werden, jedoch wird die spezifizierte Pfadbreite während einer ganzen Ausführungsfolge beibehalten.
- Es ist eine Aufgabe der Erfindung, ein Datenverarbeitungssystem und ein Verfahren anzugeben, die das Erhöhen der Ausführungsgeschwindigkeit und ein Verbessern des Speichernutzungsverhältnisses erlauben.
- Diese Aufgabe wird durch das in Anspruch 1 definierte System und das in Anspruch 4 definierte Verfahren gelöst.
- Gemäß der beanspruchten Erfindung weist in einer Anweisung mit zwei Operanden ein Operationswort ein Feld auf, das die Größe des Quellenoperanden spezifiziert, sowie ein Feld, das die Größe der Operation spezifiziert, um die Operandenbitlänge auf Grundlage der Größeninformation zu verändern; infolgedessen muß die Bitlänge eines Operanden nicht unter Verwendung eines Makrobefehls verändert werden. Die Programmausführungsgeschwindigkeit wird daher erhöht. Ferner können jeweils zwei Operanden in einem Speicher oder einem Register mit ihren echten Bitlängen gespeichert werden; das Speichernutzungsverhältnis ist verbessert.
- Die Erfindung wird aus der folgenden detaillierten Beschreibung in Verbindung mit den beigefügten Zeichnungen ersichtlich, in denen:
- Fig. 1A-1C erläuternde Diagramme sind, die Beispiele einer erfindungsgemäßen Zweioperandenanweisung veranschaulichen;
- Fig. 2 ein schematisches Diagramm ist, daß das Format einer Zweioperandenanweisung bei einem herkömmlichen Mikroprozessor zeigt;
- Fig. 3 ein Blockschaltbild ist, das ein Konfigurationsbeispiel für einen Mikroprozessor zeigt, der es ermöglicht, eine erfindungsgemäße Zweioperandenanweisung auszuführen; und
- Fig. 4 ein schematisches Blockdiagramm ist, das ein anderes Konfigurationsbeispiel eines Mikroprozessors veranschaulicht, der es erlaubt, eine erfindungsgemäße Zweioperandenanweisung auszuführen.
- Wie aus den Fig. 1A-1C erkennbar, sind dort Beispiele für 5 das Format der neuen Zweioperandenanweisung dargestellt, wie sie durch die Erfindung vorgeschlagen werden.
- Wie in Fig. 1A dargestellt, folgt einem Operationscodefeld OP ein Operationsgrößenfeld Sz&sub1;, das die Größe der Operation spezifiziert, d. h. die Bitlänge, wie sie dazu verwendet wird, die Anweisung, wie eine Operation, auszuführen. Dem Größenfeld Sz&sub1; folgt ein Effektivadreßfeld EAd, das den Ort des Zieloperanden spezifiziert. Dem Effektivadreßfeld EAd folgt ferner ein Quellengrößenfeld Sz&sub2;, dem ein Effektivadreßfeld EAs folgt, das den Ort des Quelloperanden anzeigt.
- Die Effektivadreßfelder EAd und EAs weisen jeweils z. B. drei Adressiermodusbits, die einen Adressiermodus spezifizieren, und vier Registerbestimmungsbits auf, die ein Register bestimmen.
- Beim Anweisungsformat ist das Größenfeld Sz&sub1; so aufgebaut, daß es nicht die Größe des Zieloperanden spezifiziert, sondern die Operationsgröße spezifiziert, d. h. aus den folgenden Gründen die Länge von Daten, die der Operation zu unterziehen sind. D.h., daß die Länge der Daten, mit denen die Operation ausgeführt ist, das Problem ist, das einer Operationsausführung zugehörig ist. Z.B. können Einzeldaten mit verschiedenen Bitlängen keiner Addition oder Subtraktion in einer arithmetischen Logikeinheit (ALU) oder dergleichen unterzogen werden. Normalerweise ist die Operationsgröße mit der Größe des Zieloperanden identisch; wenn demgemäß die Operationsgröße festgelegt wird, kann die Operation in der ALU oder dergleichen ohne jede Schwierigkeit ausgeführt werden. Zusätzlich zu Sz&sub1; kann dieses Feld dann, wenn ein Feld zum Spezifizieren der Größe des Zieloperanden zugeordnet ist, dazu verwendet werden, nur einen Teil der Daten zu speichern, nachdem die Verarbeitung der Operation abgeschlossen ist.
- In einem 16-Bit-Mikroprozessor müssen die Größenfelder Sz&sub1; und Sz&sub2; von Fig. 1A nur jeweils mit 2 Bits konfiguriert sein, da es nur erforderlich ist, unterscheiden zu können, ob die Größe der Operation und die Größe des Quelloperanden durch die Länge eines Byte (8 Bits) oder eines Worts (16 Bit) repräsentiert ist.
- Die Felder einer erfindungsgemäßen Zweioperandenanweisung sind nicht auf die in Fig. 1A dargestellten beschränkt, sondern jedes Feld kann in willkürlicher Konfiguration angeordnet sein. Z.B. kann, wie dies in Fig. 1B dargestellt ist, dem Operationsgrößenfeld Sz&sub1; das Effektivadreßfeld EAs für den Quelloperanden und das Effektivadreßfeld EAd für den Zieloperanden folgen.
- Darüber hinaus ist es, abhängig vom Adressiermodus, erforderlich, den Effektivadreßfeldern EAd und EAs Erweiterungsfelder hinzuzufügen. In diesem Fall ist das Format der Zweioperandenanweisung aufgebaut, wie dies in Fig. 1C dargestellt ist. Das Erweiterungsfeld weist, abhängig vom Adressiermodus, eine 1-4-Byte-Verschiebung d (Versatzwert), einen 1-4-Byte-Direktdatenwert #, eine 1-4-Byte-Absolutadresse, oder ein Indexregisterbyte x auf.
- Unter Bezugnahme auf Fig. 3 folgt nun eine Beschreibung eines Beispiels für die Hardwarekonfiguration eines Mikroprozessors, der es ermöglicht, die Zweioperandenanweisung mit dem oben beschriebenen Format auszuführen.
- Der Mikroprozessor dieses Ausführungsbeispiels weist einen Controller vom Typ für Mikroprogrammsteuerung auf. D.h., daß ein den Mikroprozessor bildender LSI-Chip 1 einen Mikro-ROM (Festwertspeicher) aufweist, in dem Mikroprogramme abgelegt sind. Auf einen Mikro-ROM 2 wird von einem Mikroadreßdekoder 5 zugegriffen und er gibt sequentiell Mikroanweisungen aus, die Mikroprogramme bilden.
- Ein Mikroadreßgenerator 4 erzeugt eine dem Mikroadreßdekoder 5 zuzuführende Adresse auf Grundlage des Operationscodes der Makroanweisung, wie sie in das Anweisungsregister 3 geholt wird. Der Mikroadreßdekoder 5 dekodiert dann die Adresse.
- Auf den Dekodierablauf hin wird die erste Anweisung einer Folge von Mikroanweisungen für die Makroanweisung aus dem Mikro-ROM 2 ausgelesen. Abhängig vom Mikroanweisungscode werden Steuersignale für eine Ausführungseinheit 6 gebildet, die verschiedene Zwischenregister REG&sub1; bis REGn, einen Datenpuffer DB und eine ALU aufweist.
- Unter den der Makroanweisung entsprechenden Mikroanweisungen werden z. B. die zweite und die dritte Mikroanweisung ausgeführt, wenn der Code des nächsten Adreßfeldes der vorab gelesenen Mikroanweisung dem Mikroadreßdekoder 5 zugeführt wird. D.h., daß aufgrund der nächsten Adresse in der vorigen Mikroanweisung und der vom Mikroadreßgenerator 4 zugeführten Adresse die nächste oder folgende Mikroanweisung ausgelesen wird. So wird eine Reihe von Mikroanweisungen ausgelesen, und die Ausführungseinheit 6 wird durch die wie oben beschrieben gebildeten Steuersignale gesteuert, wodurch eine Makroanweisung wie ADD ausgeführt wird.
- Es ist ein Speicherzugriffcontroller 7 mit einer Funktion zum Auslesen von Daten aus einem oder zum Einschreiben von Daten in einen externen Speicher, ein internes Register oder dergleichen in Einheiten von Bytes, Worten oder Langworten vorhanden, falls erforderlich.
- Das Anweisungsregister 3 wird durch einen Zuerst-ein-zuerstaus(FIFO)-Speicher gebildet, ist jedoch nicht hierauf beschränkt. Eine in einem externen Speicher gespeicherte Makroanweisung wird in Einheiten von Bytes ausgelesen, wenn der Speicherzugriffcontroller 7 auf einen Adreßbus 8 zugreift, und die Daten werden dem FIFO-Speicher 3 über einen Datenbus 9 zugeführt. Mehrere Operationscodes und Operanden werden so vorab in den FIFO-Speicher 3 geholt.
- Wenn eine in den FIFO-Speicher 3 geholte Makroanweisung eine Zweioperandenanweisung ist, wie sie in Fig. 1A dargestellt ist, wird abhängig vom Operationscode OP und dem Inhalt des Operationsgrößenfeldes Sz&sub1; in den ersten 8 Bytes eine entsprechende Mikroanweisung ausgelesen. Die Mikroanweisung bewirkt, daß das Flag FLG des Größenfeldes Sz&sub1; von Fig. 3 auf einen geeigneten Wert gesetzt wird. Abhängig vom Status des Flag FLG wird die ALU in der Ausführungseinheit 6 dazu angewiesen, eine Operation mit 8, 16 oder 32 Bits auszuführen. Anschließend wird, wenn der FIFO-Speicher 3 die Quelloperanden-Effektivadresse EAs und den Quelloperanden-Größencode Sz&sub2; an den Mikroadreßgenerator 4 liefert, eine entsprechende Mikroanweisung aus dem Mikro-ROM 2 ausgelesen und ein Teil derselben wird der Speicherzugriff-Steuerschaltung 7 zugeführt. Dies bewirkt, daß die Speicherzugriff-Steuerschaltung 7 einen Quelloperanden ab der Adresse ausliest, wie sie durch die Effektivadresse EAs in Einheiten von Byte, Wort oder Langwort, abhängig von der Operandengröße Sz&sub2; angezeigt wird. Der erhaltene Quelloperand wird in einen Datenpuffer DB eingelesen, und dann wird die Quellgröße des Operanden durch eine geeignete Schaltung in die spezifizierte Operationsgröße Sz&sub1; umgewandelt und der ALU zugeführt. Demgemäß muß keine Anweisung zum Einstellen der Größe getrennt vorgesehen werden. Im Fall einer Anweisung wie (EAs) + (EAd) → (EAd) wird ein die Effektivadresse EAd des Zieloperanden anzeigender Code dem Mikroadreßgenerator 4 nach dem Quelloperanden zugeführt, um eine entsprechende Mikroanweisung zu lesen. Abhängig von der durch das Flag FLG festgehaltenen Größeninformation liest der Speicherzugriffcontroller 7 seinerseits einen Operanden mit derselben Größe wie die Operationsgröße ab der Position aus, wie sie von der Effektivadresse EAd angezeigt wird, und er liefert den Operanden an die ALU. Wenn die Operation durch die ALU vollständig verarbeitet ist, wird der Operationsdatenwert an der Position des Zieloperanden abgespeichert, wodurch die Ausführung der Makroanweisung abgeschlossen wird.
- Unter Bezugnahme auf Fig. 4 wird nun eine Beschreibung eines anderen Beispiels einer Hardware gegeben, die es ermöglicht, eine Zweioperandenanweisung auszuführen, die mit dem erfindungsgemäßen Anweisungsformat aufgebaut ist. Da die Grundkonfiguration des Mikroprozessors dieses Ausführungsbeispiels im wesentlichen mit derjenigen des in Fig. 3 dargestellten Systems übereinstimmmt, sind dieselben Bezugszeichen denjenigen Schaltungen zugeordnet, die dieselben Funktionen ausüben, und demgemäß wird die Beschreibung für solche weggelassen.
- Im Mikroprozessor von Fig. 3 werden die Codes der Operandengrößefelder Sz&sub1; und Sz&sub2; dem Mikroadreßgenerator 4 zugeführt, um dazu verwendet zu werden, eine Mikroadresse des Mikro- ROM 2 zu erzeugen. Eine unter Verwendung der Mikroadresse ausgelesene Mikroanweisung wird verändert, und Information über die Operationsgröße Sz&sub1; wird dem FLAG FLG durch eine Mikroanweisung zugeführt.
- Dagegen ist der Mikroprozessor von Fig. 4 mit zwei Flags FLG&sub1; und FLG&sub2; versehen, um die Codes zu speichern, die direkt aus den Größenfeldern Sz&sub1; und Sz&sub2; der in den FIFO-Speicher 3 eingelesenen Makroanweisung geholt wurden. Die ALU und dergleichen in der Ausführungseinheit 6 werden demgemäß abhängig von der Information zu der durch das Flag FLG&sub1; festgehaltenen Operationsgröße Sz&sub1; gesteuert, um eine Operation in Einheiten von Byte, Wort oder Langwort auszuführen.
- Andererseits liest der Speicherzugriffcontroller 7 auf Grundlage der Information zu der im zweiten Flag FLG&sub2; abgelegten Quelloperandengröße einen Operanden aus einem externen Speicher, einem internen Register oder dergleichen in der Einheit Byte, Wort oder Langwort aus und speichert den Operanden in den Datenpuffer DB ein. Der in den Datenpuffer DB eingespeicherte Operand wird abhängig von der durch das erste Flag FLG&sub1; angezeigten Operationsgröße modifiziert, und der sich ergebende Datenwert wird der ALU und dergleichen zugeführt. Die folgenden Operationen sind dieselben wie diejenigen des Mikroprozessors von Fig. 3.
- Obwohl der Mikroprozessor mit der Konfiguration von Fig. 4 im Vergleich zu demjenigen von Fig. 3 ein zusätzliches 2- Bit-Flag benötigt, ist die Operandengrößeninformation direkt im Flag enthalten, was zum Vorteil führt, daß das Mikroprogramm vereinfacht wird. Nur die Operationsgröße Sz&sub1; oder Sz&sub2; kann direkt im Flag abgespeichert werden.
- Wie oben beschrieben, beinhaltet die Formatkonfiguration der Zweioperandenanweisung ein die Operationsgröße spezifizierendes Feld zusätzlich zu dem die Quelloperandengröße spezifizierenden Feld, wie im Ausführungsbeispiel gezeigt, was eine Änderung überflüssig macht, wie sie beim herkömmlichen Format für eine Zweioperandenanweisung erforderlich war, um die Bitlänge des Quelloperanden vorab so zu ändern, daß sie mit derjenigen des Zieloperanden übereinstimmt. D.h., daß ein Operand mit einer Länge von 8 oder 6 Bits in einem Speicher oder dergleichen in seiner ursprünglichen Form zum späteren Auslesen abgespeichert werden kann. Zum Auslesen des Operanden wird in der Ausführungseinheit die Bitlänge automatisch auf die gewünschte Bitlänge geändert, und der sich ergebende Datenwert wird für die Operation verwendet.
- Infolgedessen wird eine Makroinformation zum Modifizieren der Operandenlänge überflüssig, und demgemäß wird die Programmausführungsgeschwindigkeit erhöht. Zusätzlich zur Tatsache, daß eine solche Makroanweisung nicht erforderlich ist, kann ein Operand mit kurzer Länge im Speicher in seiner ursprünglichen Form abgelegt werden; demgemäß wird das Speichernutzungsverhältnis verbessert.
- Obwohl das Ausführungsbeispiel in Zusammenhang mit einem Fall beschrieben wurde, bei dem eine Zweioperandenanweisung wie (EAs) (EAd) → (EAd) ausgeführt wird, ist es auch möglich, eine Anweisung auszuführen, die zwei Quelloperanden und einen Zieloperanden aufweist, wie (EAs&sub1;) (EAs&sub2;) → (EAd).
- Obwohl die Erfindung von den Erfindern unter Bezugnahme auf die Ausführungsbeispiele konkret beschrieben wurde, ist sie nicht auf die Ausführungsbeispiele beschränkt. Es ist zu beachten, daß der Fachmann die Ausführungsbeispiele verändern oder modifizieren kann, ohne vom Schutzbereich der beanspruchten Erfindung abzuweichen. Z.B. beinhaltet bei den Ausführungsbeispielen die Zweioperandenanweisung ein Quelloperandengrößenfeld und ein Operationsgrößenfeld, jedoch kann bei einem System, bei dem die Zieloperandengröße immer mit der Operationsgröße übereinstimmt, ein Zieloperandengrößenfeld statt des Operationsgrößenfeldes zugeordnet werden.
- Die Erfindung wurde in Zusammenhang mit einer Anwendung beschrieben, bei der die Erfindung der Erfinder auf das den Hintergrund der Erfindung bildende Nutzungsgebiet angewendet ist, d. h. auf einen Mikroprozessor, jedoch ist die Erfindung nicht auf diesen Fall beschränkt, sondern kann allgemein auf Datenverarbeitungssysteme vom Programmsteuerungstyp angewendet werden, wie einen Computer und einen Minicomputer.
Claims (6)
1. Datenverarbeitungssystem, umfassend
eine Ausführeinheit (6) zur Durchführung einer Operation
entsprechend einem Befehl, wobei der Befehl enthält:
(a) eine Operationscode-Bestimmungsinformation (OP),
die eine von der Ausführeinheit (6) durchzuführende
Operation an mindestens zwei Operanden
spezifiziert,
(b) eine erste Adressen-Bestimmungsinformation (EAd),
die eine Adresse eines ersten Operanden
spezifiziert,
(c) eine zweite Adressen-Bestimmungsinformation (EAs),
die eine Adresse eines zweiten Operanden
spezifiziert,
(d) eine erste Bitlängen-Bestimmungsinformation (Sz1),
und
(e) eine zweite Bitlängen-Bestimmungsinformation (Sz2),
die die Bitlänge des zweiten Operanden
spezifiziert, und
eine Speicherzugriffs-Steuerschaltung (7) zum Lesen der
Operanden aus einem Speicher,
dadurch gekennzeichnet,
daß die erste Bitlängen-Bestimmungsinformation (Sz1) die
Bitlänge von Daten spezifiziert, die von der Ausführeinheit
(6) zu bearbeiten sind, und
daß die Ausführeinheit (6) eine Einrichtung aufweist,
die entsprechend der ersten Bitlängen-Bestimmungsinformation
(Sz1) die Bitlänge des von der
Speicherzugriffs-Steuerschaltung (7) vorher ausgelesenen zweiten Operanden ändert, bevor
sie eine Operation an dem ersten und dem zweiten Operanden
ausführt.
2. System nach Anspruch 1, wobei die
Speicherzugriffs-Steuerschaltung (7) von der zweiten
Bitlängen-Bestimmungsinformation (Sz2) so gesteuert wird, daß sie einen Operanden
spezifizierter Bitlänge als zweiten Operanden aus dem Speicher
liest.
3. System nach Anspruch 1 oder 2, ferner umfassend
ein Befehlsregister (3) zur Speicherung eines
Makrobefehls, der die Informationen (a) bis (e) enthält, und
ein Mikro-ROM (2), das der Ausführeinheit (6) einen
Mikrobefehl entsprechend einem von dem Befehlsregister (7)
ausgegebenen Makrobefehl zuführt.
4. Verfahren zur Steuerung eines Mikroprozessors mittels
eines Befehls, der einen Operationscode (OP), eine erste und
eine zweite Operandenadressen-Information (EAd, EAs) sowie
eine erste und eine zweite Größeninformation (Sz1, Sz2)
enthält, mit folgenden Schritten:
Lesen eines ersten Operanden aus einem Speicher
entsprechend der ersten Operandenadressen-Information (EAd),
Lesen eines zweiten Operanden aus dem Speicher
entsprechend der zweiten Operandenadressen-Information (EAs), und
Durchführen einer Operation an dem ersten und dem
zweiten Operanden,
dadurch gekennzeichnet, daß vor Durchführung der
Operation die Bitlänge des zweiten Operanden entsprechend der
ersten Größeninformation (Sz1) geändert wird.
5. Verfahren nach Anspruch 4, wobei der zweite Operand mit
einer von der zweiten Größeninformation (Sz2) spezifizierten
Länge aus dem Speicher gelesen wird.
6. Verfahren nach Anspruch 4 oder 6, wobei das Ergebnis der
Operation entsprechend der ersten
Operandenadressen-Information (EAd) in den Speicher geschrieben wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60237359A JPH0827716B2 (ja) | 1985-10-25 | 1985-10-25 | データ処理装置及びデータ処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3688824D1 DE3688824D1 (de) | 1993-09-09 |
DE3688824T2 true DE3688824T2 (de) | 1993-11-25 |
Family
ID=17014221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE86114724T Expired - Fee Related DE3688824T2 (de) | 1985-10-25 | 1986-10-23 | Datenverarbeitungssystem. |
Country Status (6)
Country | Link |
---|---|
US (1) | US4825355A (de) |
EP (1) | EP0220684B1 (de) |
JP (1) | JPH0827716B2 (de) |
KR (1) | KR940009094B1 (de) |
DE (1) | DE3688824T2 (de) |
HK (1) | HK176195A (de) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5235686A (en) * | 1987-02-24 | 1993-08-10 | Texas Instruments Incorporated | Computer system having mixed macrocode and microcode |
JP2609618B2 (ja) * | 1987-08-13 | 1997-05-14 | 株式会社東芝 | データ処理装置 |
JPH01230125A (ja) * | 1988-03-10 | 1989-09-13 | Nec Corp | レジスタの部分的更新機能を持つデータ処理装置 |
JPH01280832A (ja) * | 1988-05-06 | 1989-11-13 | Mitsubishi Electric Corp | データ処理装置 |
JPH01309130A (ja) * | 1988-06-08 | 1989-12-13 | Toshiba Corp | マイクロプロセッサ |
DE68927313T2 (de) * | 1988-06-27 | 1997-05-07 | Digital Equipment Corp | Operandenspezifiererverarbeitung |
JPH02190930A (ja) * | 1988-12-29 | 1990-07-26 | Internatl Business Mach Corp <Ibm> | ソフトウエア命令実行装置 |
JP2543589B2 (ja) * | 1989-02-17 | 1996-10-16 | 富士通株式会社 | デ―タ処理装置 |
JP2505887B2 (ja) * | 1989-07-14 | 1996-06-12 | 富士通株式会社 | 命令処理システム |
JPH03139726A (ja) * | 1989-10-26 | 1991-06-13 | Hitachi Ltd | 命令読出し制御方式 |
US5442769A (en) * | 1990-03-13 | 1995-08-15 | At&T Corp. | Processor having general registers with subdivisions addressable in instructions by register number and subdivision type |
JPH03271829A (ja) * | 1990-03-20 | 1991-12-03 | Fujitsu Ltd | 情報処理装置 |
WO1996017291A1 (en) | 1994-12-02 | 1996-06-06 | Intel Corporation | Microprocessor with packing operation of composite operands |
US5907842A (en) * | 1995-12-20 | 1999-05-25 | Intel Corporation | Method of sorting numbers to obtain maxima/minima values with ordering |
GB2317467B (en) * | 1996-09-23 | 2000-11-01 | Advanced Risc Mach Ltd | Input operand control in data processing systems |
US6182202B1 (en) * | 1997-10-31 | 2001-01-30 | Oracle Corporation | Generating computer instructions having operand offset length fields for defining the length of variable length operand offsets |
US6418527B1 (en) * | 1998-10-13 | 2002-07-09 | Motorola, Inc. | Data processor instruction system for grouping instructions with or without a common prefix and data processing system that uses two or more instruction grouping methods |
AU2597401A (en) * | 1999-12-22 | 2001-07-03 | Ubicom, Inc. | System and method for instruction level multithreading in an embedded processor using zero-time context switching |
US7120783B2 (en) * | 1999-12-22 | 2006-10-10 | Ubicom, Inc. | System and method for reading and writing a thread state in a multithreaded central processing unit |
US7308686B1 (en) | 1999-12-22 | 2007-12-11 | Ubicom Inc. | Software input/output using hard real time threads |
US7047396B1 (en) | 2000-06-22 | 2006-05-16 | Ubicom, Inc. | Fixed length memory to memory arithmetic and architecture for a communications embedded processor system |
US7010612B1 (en) | 2000-06-22 | 2006-03-07 | Ubicom, Inc. | Universal serializer/deserializer |
US7822950B1 (en) | 2003-01-22 | 2010-10-26 | Ubicom, Inc. | Thread cancellation and recirculation in a computer processor for avoiding pipeline stalls |
EP1622009A1 (de) * | 2004-07-27 | 2006-02-01 | Texas Instruments Incorporated | JSM-Architektur und Systeme |
WO2006127856A2 (en) * | 2005-05-24 | 2006-11-30 | Texas Instruments Incorporated | Operand width indication for micro-sequence processing |
JP5173711B2 (ja) * | 2008-09-30 | 2013-04-03 | ルネサスエレクトロニクス株式会社 | マルチスレッドプロセッサ及びそのハードウェアスレッドのスケジュール方法 |
GB2478726B (en) * | 2010-03-15 | 2013-12-25 | Advanced Risc Mach Ltd | Mapping between registers used by multiple instruction sets |
GB2478731B (en) * | 2010-03-15 | 2013-08-21 | Advanced Risc Mach Ltd | Operand size control |
GB2540971B (en) | 2015-07-31 | 2018-03-14 | Advanced Risc Mach Ltd | Graphics processing systems |
US20170315807A1 (en) * | 2016-05-02 | 2017-11-02 | Oracle International Corporation | Hardware support for dynamic data types and operators |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4363091A (en) * | 1978-01-31 | 1982-12-07 | Intel Corporation | Extended address, single and multiple bit microprocessor |
JPS54122043A (en) * | 1978-03-15 | 1979-09-21 | Toshiba Corp | Electronic computer |
US4179738A (en) * | 1978-06-23 | 1979-12-18 | International Business Machines Corporation | Programmable control latch mechanism for a data processing system |
US4307445A (en) * | 1978-11-17 | 1981-12-22 | Motorola, Inc. | Microprogrammed control apparatus having a two-level control store for data processor |
US4325121A (en) * | 1978-11-17 | 1982-04-13 | Motorola, Inc. | Two-level control store for microprogrammed data processor |
US4342078A (en) * | 1979-05-21 | 1982-07-27 | Motorola, Inc. | Instruction register sequence decoder for microprogrammed data processor and method |
US4388682A (en) * | 1979-09-04 | 1983-06-14 | Raytheon Company | Microprogrammable instruction translator |
JPS56149646A (en) * | 1980-04-21 | 1981-11-19 | Toshiba Corp | Operation controller |
JPS5734251A (en) * | 1980-08-07 | 1982-02-24 | Toshiba Corp | Address conversion and generating system |
JPS5743239A (en) * | 1980-08-27 | 1982-03-11 | Hitachi Ltd | Data processor |
US4491908A (en) * | 1981-12-01 | 1985-01-01 | Honeywell Information Systems Inc. | Microprogrammed control of extended integer and commercial instruction processor instructions through use of a data type field in a central processor unit |
US4506345A (en) * | 1982-07-02 | 1985-03-19 | Honeywell Information Systems Inc. | Data alignment circuit |
US4583199A (en) * | 1982-07-02 | 1986-04-15 | Honeywell Information Systems Inc. | Apparatus for aligning and packing a first operand into a second operand of a different character size |
JPS59174948A (ja) * | 1983-03-25 | 1984-10-03 | Toshiba Corp | 情報処理装置 |
US4586130A (en) * | 1983-10-03 | 1986-04-29 | Digital Equipment Corporation | Central processing unit for a digital computer |
-
1985
- 1985-10-25 JP JP60237359A patent/JPH0827716B2/ja not_active Expired - Fee Related
-
1986
- 1986-08-22 US US06/899,389 patent/US4825355A/en not_active Expired - Fee Related
- 1986-09-15 KR KR1019860007733A patent/KR940009094B1/ko not_active IP Right Cessation
- 1986-10-23 EP EP86114724A patent/EP0220684B1/de not_active Expired - Lifetime
- 1986-10-23 DE DE86114724T patent/DE3688824T2/de not_active Expired - Fee Related
-
1995
- 1995-11-16 HK HK176195A patent/HK176195A/xx unknown
Also Published As
Publication number | Publication date |
---|---|
KR940009094B1 (ko) | 1994-09-29 |
EP0220684A2 (de) | 1987-05-06 |
JPS6298429A (ja) | 1987-05-07 |
US4825355A (en) | 1989-04-25 |
DE3688824D1 (de) | 1993-09-09 |
EP0220684B1 (de) | 1993-08-04 |
JPH0827716B2 (ja) | 1996-03-21 |
HK176195A (en) | 1995-11-24 |
KR870004366A (ko) | 1987-05-09 |
EP0220684A3 (en) | 1989-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3688824T2 (de) | Datenverarbeitungssystem. | |
DE3687724T2 (de) | Digitalprozessorsteuerung. | |
DE2704842C2 (de) | Im Pipeline-Betrieb arbeitende Datenverarbeitungseinrichtung | |
DE2813128C2 (de) | Steuereinrichtung für Mikroprogrammspeicher | |
DE2714805C2 (de) | ||
DE3688232T2 (de) | Datenverarbeitungssystem. | |
DE2835095C2 (de) | Digitale Rechenanlage mit einem ersten und mindestens einem zweiten miteinander koppelbaren mikroprogrammierten Prozessoren | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE69027932T2 (de) | Cpu-pipeline mit registerfile-bypass durch adressvergleich bei aktualisierungen/zugriffen | |
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
DE2540975A1 (de) | Multi-mikro-prozessor-einheit | |
DE2611892C2 (de) | Mikroprogramm-Steueranordnung | |
DE2719635A1 (de) | Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage | |
DE3856139T2 (de) | Mikroprozessor | |
DE3121742C2 (de) | Mikroprogramm-Steuereinrichtung | |
DE69231237T2 (de) | Datenverarbeitungsvorrichtung | |
DE2746505A1 (de) | Dv-system mit einer einrichtung zum adressieren in einem festwertspeicher abgelegter mikroprogramme | |
DE2426874A1 (de) | Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls | |
DE69229424T2 (de) | Adressengeneration in einer Datenverarbeitungseinheit | |
DE3307194C2 (de) | ||
DE69503010T2 (de) | Mikroprozessor zur Ausführung von Befehlen,von denen ein Teil des Operandfelds als Operationscode zu gebrauchen ist | |
DE3121046C2 (de) | ||
DE2948442C2 (de) | Digitalrechenanlage | |
DE2336676B2 (de) | Einrichtung zur Modifizierung von Mikroprogrammbefehlen | |
DE2747304C3 (de) | Einrichtung zur Mikrobefehlssteuerung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |