[go: up one dir, main page]

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
Application number
DE86114724T
Other languages
English (en)
Other versions
DE3688824D1 (de
Inventor
Shiro Baba
Keiichi Kurakazu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3688824D1 publication Critical patent/DE3688824D1/de
Application granted granted Critical
Publication of DE3688824T2 publication Critical patent/DE3688824T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30192Instruction 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.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • 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.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 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.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • 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.
DE86114724T 1985-10-25 1986-10-23 Datenverarbeitungssystem. Expired - Fee Related DE3688824T2 (de)

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)

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

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

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