DE69233681T2 - Datenverarbeitungsvorrichtung - Google Patents

Datenverarbeitungsvorrichtung Download PDF

Info

Publication number
DE69233681T2
DE69233681T2 DE69233681T DE69233681T DE69233681T2 DE 69233681 T2 DE69233681 T2 DE 69233681T2 DE 69233681 T DE69233681 T DE 69233681T DE 69233681 T DE69233681 T DE 69233681T DE 69233681 T2 DE69233681 T2 DE 69233681T2
Authority
DE
Germany
Prior art keywords
register
instruction
bit
operand
code
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 - Lifetime
Application number
DE69233681T
Other languages
English (en)
Other versions
DE69233681D1 (de
Inventor
Toshimichi Mino-shi Matsuzaki
Masashi Nara-shi Deguchi
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.)
Panasonic Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Application granted granted Critical
Publication of DE69233681D1 publication Critical patent/DE69233681D1/de
Publication of DE69233681T2 publication Critical patent/DE69233681T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/3013Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
    • 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30134Register stacks; shift registers
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Description

  • Hintergrund der Erfindung
  • 1. Feld der Erfindung
  • Diese Erfindung bezieht sich auf einen Datenverarbeitungsapparat, der als eine Zentralverarbeitungseinheit (CPU), ein Mikroprozessor oder Ähnliches bezeichnet wird.
  • 2. Beschreibung des Stands der Technik
  • Einige konventionelle Datenverarbeitungsapparate werden konstruiert, so dass als Operand der Operationen durch Operationsinstruktionen ausschließlich Speicher verwendet wird. In solchen Apparaten werden vorbestimmte Operationen auf der Basis einer Instruktion ausgeführt, welche aus einem den Operationstyp angebenden Operationscode und zwei Operanden-Adressen bestehen, die die Position der Daten im Speicher angeben, z.B. eine Quell-Operand-Adresse und eine Ziel-Operand-Adresse.
  • Einige konventionelle Datenverarbeitungsapparate sehen ein Register, das Akkumulator genannt wird, und auch andere Register vor, wobei der Akkumulator implizit als ein Operand verwendet wird. In solchen Apparaten werden Operationen auf der Basis einer Instruktion ausgeführt, die aus einem einzigen Register-Bezeichnungscode besteht, der das Register anzeigt, das neben dem Akkumulator verwendet wird.
  • Andere konventionelle Datenverarbeitungsapparate sehen Allzweckregister vor, von denen jedes kombiniert werden kann, um Operand zu sein, und Operationen werden ausgeführt auf der Basis einer Instruktion, die aus einem den Operationstyp anzeigenden Operationscode und zwei Register-Bezeichnungscodes besteht, welche die zu verwendenden Register anzeigen.
  • In Übereinstimmung mit den zuerst genannten Apparaten, welche Speicher exklusiv als Operanden verwenden, ist das Instruktionswort jedoch ziemlich lang, weil es ein Operandfeld mit Bitlänge verlangt, um die zwei Operanden-Adressen unterzubringen. Als Ergebnis tendieren Programme, die unter Verwendung solcher Apparate geschrieben werden, dazu, groß zu sein.
  • In Übereinstimmung mit den als Zweites angeführten Apparaten, die mit einem Akkumulator ausgestattet sind, kann das Instruktionswort kurz sein, weil die Instruktion nur ein Registerfeld benötigt, welches einen einzigen Register-Bezeichnungscode unterbringt, dessen Bitlänge kürzer ist als die der Operand-Adresse. Operationen werden jedoch größtenteils dem Akkumulator zugeteilt, so dass häufige Bewegungen der Daten zwischen dem Akkumulator und entweder den anderen Registern oder dem Speicher notwendig sind. Solch eine Zunahme in der Anzahl der in Programmen geschriebenen Instruktionen kann die Prozessgeschwindigkeit der Programme verringern wie auch die Programmgröße vergrößern.
  • In Übereinstimmung mit den zuletzt genannten Apparaten, die mit Allzweckregistern ausgestattet sind, kann die Anzahl der in Programmen geschriebenen Instruktionen deutlich verringert werden, weil jede Kombination der Register Operanden sein kann. Das Instruktionswort kann vergleichsweise kurz sein, weil die Bitlänge des zu verwendenden Register-Bezeichnungscodes kürzer als die einer Operand-Adresse ist.
  • Nichtsdestotrotz ist es schwierig, einen solchen Apparat derart zu konstruieren, dass die Programmgrößen sowohl durch verschiedene Arten von ausgeführten Operationen minimiert werden können als auch dadurch, dass sie in kurzen Instruktionswortlängen ausgeführt werden können, wegen des folgenden Problems:
    Wenn ein Datenverarbeitungsapparat z.B. mit 8 Allzweckregistern ausgestattet ist, wird die Bitlänge des Register-Bezeichnungscodes zur Bezeichnung eines Registers 3 Bits lang gemacht; die Instruktion benötigt insgesamt ein 6-Bit-Registerfeld. Daher ist eine 8-Bit-Instruktionswortlänge nicht praktisch, weil brauchbare Instruktionen in diesem Fall höchstens 4 Typen sind, während 16-Bit-Instruktionswortlänge eigentlich gefordert ist, um eine ausreichende Anzahl an Instruktionstypen zu bekommen.
  • Zusammenfassung der Erfindung
  • Im Hinblick auf das oben genannte Problem ist es das Ziel dieser Erfindung, einen Datenverarbeitungsapparat vorzusehen, der die Programmgrößen durch verschiedene Typen von Operationen minimieren kann, die in kurzer Instruktionswortlänge ausgeführt werden.
  • Das oben genannte Ziel kann erreicht werden durch einen Datenverarbeitungsapparat mit registerbasierter Architektur, der angeordnet ist, um eine 8-Bit-Instruktion zu verarbeiten, wobei die 8-Bit-Instruktion umfasst:
    ein erstes Feld zum Bezeichnen einer von einer Vielzahl von Operationen, einschließlich einer Übertragungsoperation und einer Berechnungsoperation;
    ein zweites Feld (Dn) zum Bezeichnen eines Registers, das zu einer ersten Registergruppe (D0–D3) gehört, welche einen ersten Operand bestimmt; und
    ein drittes Feld (Dm, Am) zum Bezeichnen eines Registers aus der ersten Registergruppe (D0–D3) oder aus einer zweiten Registergruppe (A0–A3), die einen zweiten Operand bezeichnet, wobei die Position der drei Felder in der 8-Bit-Instruktion im Verhältnis zu einer Vielzahl von Instruktionen unveränderlich ist, und der Apparat umfasst:
    eine Instruktionsausführungseinrichtung (16) zum Ausführen einer Operation, wobei die Instruktionsausführungseinrichtung die erste Registergruppe (D0–D3) und die zweite Registergruppe (A0–A3) umfasst, die erste Registergruppe eine Datenspeicherfunktion hat und die zweite Registergruppe eine Adressenspeicherfunktion hat, und wobei jedes Register nur zu einer der Registergruppen gehört; und
    eine Auswahleinrichtung zum Auswählen einer der ersten Registergruppe (A0–A3) oder der zweiten Registergruppe (A0–A3), wobei die Auswahl der Registergruppe und der Operationstyp durch den Wert des ersten Feldes bestimmt werden.
  • Das oben genannte Ziel kann auch erreicht werden durch einen Datenverarbeitungsapparat, der eine Decodiervorrichtung zum Decodieren eines Instruktionscodes, welcher einen Ope rationscode und zwei Register-Bezeichnungscodes umfasst, und eine Instruktionsausführungsvorrichtung umfasst zum Ausführen des angemessenen Prozesses in Übereinstimmung mit den durch die Decodiervorrichtung decodierten Ergebnissen, wobei die Instruktionsausführungsvorrichtung einen ersten Prozess ausführt, wenn die zwei Register-Bezeichnungscodes voneinander unterschiedlich sind, und einen zweiten Prozess ausführt, wenn sie gleich sind.
  • Die Instruktionsausführungsvorrichtung kann eine Prüfvorrichtung zum Prüfen, ob die zwei Register-Bezeichnungscodes voneinander unterschiedlich oder gleich sind, und eine Steuerungsvorrichtung zum Steuern des ersten und des zweiten Prozesses umfassen, so dass sie selektiv in Übereinstimmung mit den von der Prüfvorrichtung überprüften Ergebnissen sein können.
  • Wenn der erste Prozess einem Register-Daten-Bewegungsprozess zugeteilt wäre, in dem ein Quellregister und ein Zielregister identisch sind, wäre der Wert des Registers derselbe wie der Wert vor der Ausführung, jedoch wird dieser Prozesstyp kaum benötigt. Daher können in solch einem Fall zwei verschiedene Prozesse einem einzigen Operationscode zugeteilt werden, indem zugelassen wird, dass der Instruktionscode den zweiten Prozess ausführt.
  • Ein anderes Beispiel für den ersten Prozess ist, dass dann, wenn er einer Operation wie einer Summierungsoperation von im Register gespeicherten Daten zugeteilt wäre, die Ergebnisse dieselben wären wie die Ergebnisse, die in einer anderen Ausführung wie einer arithmetische Linksverschiebung erhalten werden. Ein solcher Prozess wird auch kaum benötigt, so dass ein einziger Operationscode zwei verschiedenen Prozessen zugeteilt werden kann wie beim oben genannten Beispiel.
  • Daher können verschiedene Typen von Operationen in Übereinstimmung mit den oben angeführten Konstruktionen in einer kurzen Instruktionswortlänge ausgeführt werden und die Programmgrößen können minimiert werden.
  • Kurze Beschreibung der Zeichnungen
  • Diese und andere Ziele, Vorteile und Merkmale der Erfindung werden offenkundig aus der folgenden Beschreibung, wenn sie in Verbindung mit den begleitenden Zeichnungen gelesen wird, welche eine spezifische Ausführungsform der Erfindung veranschaulichen. In den Zeichnungen:
  • 1 ist ein Blockdiagramm, das die Konstruktion des Hauptteils eines Datenverarbeitungsapparats dieser Erfindung zeigt.
  • 2 ist eine Veranschaulichung, die die detaillierte Konstruktion eines Registerfelds zeigt.
  • 3 ist eine Veranschaulichung, die die detaillierte Konstruktion eines Statusregisters zeigt.
  • 4 zeigt Bespiele für Konstruktionen der Instruktionscodes.
  • 5 ist eine Tabelle, die Beispiele zeigt, wie verschiedene Operationen verschiedenen Instruktionscodes zuteilt werden.
  • Beschreibung der bevorzugten Ausführungsform
  • Die Ausführungsform dieser Erfindung wird im Folgenden mit Verweis auf 1 bis 5 beschrieben.
  • 1 umfasst die Komponenten 1117. Der Instruktionspuffer speichert vorübergehend von einem nicht dargestellten Speicher geholte Instruktionen. Das Instruktionsregister 12 hält vom Instruktionspuffer 11 ausgegebene Instruktionen, bis sie decodiert oder ausgeführt sind. Die Registerbezeichnungscode-Identifizierungsabfrageeinheit 13 überprüft, wenn zwei Register-Bezeichnungscodes in eine Instruktion eingeschlossen sind, ob diese gleich sind oder nicht. Der Instruktionsdecodierer 14 decodiert im Instruktionsregister 12 gehaltene In struktionen und gibt ein Steuersignal aus, um die Operation jeder Einheit des Datenverarbeitungsapparats zu steuern. Wenn der in einer Instruktion eingeschlossene Operationscode ein vorbestimmter Operationscode ist, führt der Instruktionsdecodierer 14 verschiedene Steuerungen (unten beschrieben) abhängig von den durch die Einheit 13 untersuchten Ergebnissen durch: sie sind gleich oder voneinander unterschiedlich. Die detaillierte Beschreibung der Konstruktion des Schaltkreises zur Durchführung einer solchen Steuerung wird ausgelassen, weil der Schaltkreis ein Mikroprogramm-Schaltkreis oder ein Schaltkreis in Hardware-Logik sein kann, wie wohlbekannte Prozessoren es sein können.
  • Wie in 2 gezeigt, hat das Registerfeld 15 eine Datenregistergruppe, die Datenregister D0–D3 mit jeweils 16-Bit-Länge, eine aus Adressenregistern A0–A3 bestehende Adressenregistergruppe, einen Programmzähler PC mit der Speicheradresse der Instruktion in der Ausführung und ein Statusregister PSW (processor status word, Prozessor-Zustandswort) umfasst, das den Zustand des Datenverarbeitungsapparats anzeigt.
  • Die Datenregister D0–D3 werden hauptsächlich zum Speichern von Daten als Arbeitsspeicher verwendet. Auf der anderen Seite werden die Adressenregister A0, A1 und A2 zum Speichern von Adressen verwendet, die einen Quellenoperanden, einen Zieloperanden oder einen Rahmenzeiger anzeigen, wobei A3 zum Speichern einer Adresse verwendet wird, die einen Stapelzeiger anzeigt. Obwohl die Adressenregister A0–A2 normalerweise in der oben angeführten Reihenfolge zugeteilt werden, wenn ein Programm gemacht wird, ist ihre Hardware so konstruiert, dass die Zuteilung der Adressenregister A0–A2 flexibel sein kann und die Zuteilung des Adressenregisters A3 auf die Verwendung für einen Stapelzeiger festgelegt sein kann.
  • Alle Datenregister D0–D3 und alle Adressenregister A0–A3 werden durch die Register-Bezeichnungscodes von 00–11 (binäre Ziffern) in den Instruktionscodes bezeichnet.
  • Wie in 3 gezeigt, besteht das Statusregister PSW aus einem Spurmerker T, der eine Einzelschritt-Ausführung eines Programms während des Betriebs in Entstörungsmode bezeichnet, aus Unterbrechungsmaskenmerkern IM3–IM0, die Unterbrechungsmasken mit 16 Ebenen bezeichnen, aus einem Überlaufmerker V, einem Übertragmerker C, einem Negativmerker N und einem Nullmerker Z, die alle die Ergebnisse der Operationen anzeigen.
  • Die Ausführungseinheit 16 gibt in Übereinstimmung mit einem Steuersignal vom Instruktionsdecodierer 14 vom Registerfeld 15 ausgegebene Daten und Adressen, vom Instruktionspuffer 11 ausgegebene unmittelbare Daten, vom nicht dargestellten Speicher über den internen Datenbus 17 geholte Daten ein und führt vorbestimmte Operationen wie arithmetische Operationen und logische Operationen und Datenbewegungen aus. Die durch die Ausführung der Ausführungseinheit 16 erhaltenen Ergebnisse werden über den Bus 17 zum Registerfeld 15 und zum Speicher bewegt und von spezifischen Registern gehalten, die mit den Instruktionen oder mit anderen Einheiten korrespondieren.
  • Der Datenverarbeitungsapparat dieser Ausführungsform ist weiterhin ausgestattet mit einer Datenbusschnittstelle, die mit dem Datenbus des nicht dargestellten externen Bereichs des Datenverarbeitungsapparats verbunden ist, mit einer mit einem Adressenbus verbundenen Adressenbusschnittstelle und mit anderen Einheiten. Diese Einheiten werden hier nicht beschrieben, weil sie nicht direkt von dieser Erfindung betroffen sind.
  • Mit Verweis auf 4 und 5 folgt eine Beschreibung der Konstruktion des dem Datenverarbeitungsapparat zugeteilten Instruktionscodes und ein Beispiel für die Zuteilung von Operationen zu Operationscodes. Das hier beschriebene Instruktionssystem ist ein Lese/Speicher-Instruktionssystem, das die Konstruktion des Apparats vereinfachen kann und einfach die Verarbeitungsgeschwindigkeit vergrößern kann, d. h., ein Instruktionssystem, das fähig ist, hauptsächlich Daten zwischen jedem Register und dem Speicher zu bewegen.
  • 4 zeigt Beispiele der Konstruktionen der Instruktionscodes.
  • Der Code (a) besteht aus einem 4-Bit-Operationscode, zwei 2-Bit-Register-Bezeichnungscodes, Dn und Dm, oder Dn und Am (sowohl n als auch m sind ganzzahlig von 0–3).
  • Der Code (b) umfasst zusätzlich zu demselben Operationscode und den Register-Bezeichnungscodes wie Code (a) entweder 8-Bit-Unmittelbar-Daten (imm8), einen 8-Bit-Versatz einer Adresse (d8) oder eine 8-Bit-Absolut-Adresse (abs8).
  • Der Code (c) besteht aus einem 6-Bit-Operationscode und einem 2-Bit-Register-Bezeichnungscode (Dn).
  • Der Code (d) besteht aus einem 8-Bit-Operationscode und einem angefügten Abschnitt von entweder 8, 16 oder 24 Bits sowie eine Ausweitungsinstruktion, unmittelbare Daten oder einen Adressenversatz.
  • In 5, die ein Beispiel einer Zuteilung von Instruktionscodes zeigt, zeigen die Symbole "***" und "**" an, dass jede der in der Operationen-Spalte gezeigten Operationen in Übereinstimmung mit dem 3-Bit-Wert beziehungsweise 2-Bit-Wert ausgeführt wird.
  • Es folgt eine Beschreibung von jedem Instruktionscode in Übereinstimmung mit jedem Instruktionstyp.
  • Ein Instruktionstyp [R-R] ist eine dyadische Operationsinstruktion zwischen zwei Datenregistern und wird durch einen Instruktionscode "0***DnDm" (n ≠ m) ausgedrückt. Dieser Instruktionscode zeigt 8 verschiedene Typen von Operationscodes wie folgt an, abhängig von den 3-Bit-Werten, "***".
    • (1) Bewegen von Daten von einem durch den Datenregister-Bezeichnungscode Dn an gezeigten Datenregister (im Nachfolgenden als Datenregister Dn bezeichnet) zum Datenre gister Dm.
    • (2) Addieren von Daten in den oben genannten Datenregistern ohne Übertrag.
    • (3) Subtrahieren derselben ohne negativen Übertrag.
    • (4) Vergleichen derselben.
    • (5) Addieren derselben mit Übertrag.
    • (6) Subtrahieren derselben mit negativen Übertrag.
    • (7) Logisches Erzeugen derselben.
    • (8) Logisches Addieren derselben.
  • Die Ergebnisse jeder Ausführung werden im Datenregister Dm gespeichert.
  • Ein Instruktionstyp [imm8-R] kann vom Instruktionstyp [R-R] unterschieden werden, weil seine zwei Register-Bezeichnungscodes gleich sind (n = m). Die Daten des Datenregisters Dn und 8-Bit-Unmittelbar-Daten (imm8), die einem Instruktionscode "0***DnDm" folgen, werden durch dieselbe dyadische Operation verarbeitet wie der Instruktionstyp [R-R]. Selbst wenn 8-Bit-Unmittelbar-Daten für Operationen verwendet werden, sind ihre höherwertigen 8 Bits in Übereinstimmung mit dem Typ der Operation mit Nullauffüllung (z.B. in logischen Operationen), mit Vorzeichenbit-Füllung (z.B. in arithmetischen Operationen) oder Ähnlichem ausgestattet.
  • Die Instruktionstypen [LD] und [ST] sind jeweils eine Datenbewegungsinstruktion (Laden) vom Speicher zum Datenregister Dn und eine umgekehrte Datenbewegungsinstruktion (Speichern). Quelle und Ziel im Speicher werden durch 4 Typen an Adressierungsmodi angezeigt.
  • Das Symbol "@" in der Operationen-Spalte in 5 wird vor den Wert gesetzt, der die Adresse des Bereichs ist, zu/von welchem Daten bewegt werden, und das Symbol "(,)" zeigt die Summe der Werte auf beiden Seiten des Kommas an.
  • Der Adressierungsmodus jeder Bewegungsinstruktion zeigt das Folgende an.
    • (1) Wenn die Quelle oder das Ziel der Daten "@Am" ist, repräsentiert es indirekte Adressierung durch das Adressenregister, was einen im Adressenregister Am gespeicherten Wert als Adresse hat.
    • (2) Wenn die Quelle oder das Ziel der Daten "@ (Am, d8)" ist, repräsentiert es indirekte Adressierung durch das Adressenregisters mit 8-Bit-Versatz, was einen 8-Bit-Versatz d8 verwendet und den Instruktionscodes "1001DnAm" oder "1101DnAm" folgt, und was eine Summe von d8 und einen im Adressenregister Am gespeicherten Wert als Adresse hat.
    • (3) Wenn die Quelle oder das Ziel der Daten "@ (Am, D0)" ist, repräsentiert es Index-Adressierung, welche das Adressenregister Am (m ≠ 3) und das Datenregister D0 (fixiert) verwendet und welches die Summe eines im Adressenregisters Am gespeicherten Wertes und eines im Datenregister D0 gespeicherten Wertes als Adresse hat.
    • (4) Wenn die Adresse oder der Adressat der Daten "@abs8" ist, repräsentiert es 8-Bit-Absolut-Adressierung, welche eine 8-Bit-Absolut-Adresse abs8 hat, die dem Instruktionscode als Adresse folgt.
  • In der Index-Adressierung von (3) oben werden die Adressenregister A0–A2 ausschließlich verwendet, wobei das Adressenregister A3 ausgenommen wird. Dies passiert, weil dieser Adressierungstyp normalerweise Daten wie Ketten oder Felder bewegt, welche selten zum Stapelbereich des Speichers bewegt werden.
  • In der 8-Bit-Absolut-Adressierung von (4) oben wird der Register-Bezeichnungscode m = 3, der das in der Index-Adressierung ausgenommene Adressenregister A3 repräsentiert, als Dummy verwendet und ein Instruktionscode wird ihm zugeteilt, bei dem das Datenregister D0 der Quelle oder des Ziels definitiv verwendet wird. Wenn eine Datenbewegung in 8-Bit-Absolut-Adressierung durchgeführt wird, kann ein vorbestimmter Wert wie "00000000" vom Datenverarbeitungsapparat ausgegeben werden als die höherwertigen 8 Bits einer 16-Bit-Adresse.
  • Ein Instruktionstyp [R] ist eine monadische Operationsinstruktion, die ein einziges Datenregister verwendet und durch den Instruktionscode "1011**Dn" oder "1111**Dn" angezeigt wird. Dieser Code zeigt 8 verschiedene Typen von Operationsinstruktionen an: arithmetische Rechtsverschiebung (ASR) und arithmetische Linksverschiebung (ASL), Rotation nach rechts (ROR) und nach links (ROL), logische Umkehrung (NOT), Inkrementierung/Dekrementierung (INC/DEC), oder Programmunterbrechung (PI), abhängig von den 2-Bit-Werten, "**".
  • Es gibt zwei Gruppen von drei Instruktionscodes, deren höherwertigen 4 Bits "1010" beziehungsweise "1110" sind, welche keiner Operation im oben angeführten Beispiel zugeteilt sind. Diese Instruktionscodes werden verwendet, um ihre Adressen zu den Adressenregistern A0–A3 zu bewegen, um weitere, nicht dargestellte Instruktionen zuzuteilen, um Instruktionscodes auf mehr als 16 Bits zu erweitern und für andere Zwecke. Daher können Instruktionen mit niedriger Nutzungshäufigkeit und mit geringer Auswirkung auf die Programmgrößen als Erweiterungsinstruktionscodes eingestellt werden. Die detaillierte Beschreibung einer solchen Erweiterung wird ausgelassen, weil sie nicht direkt von dieser Erfindung betroffen ist.
  • Wenn ein Instruktionscode, dessen höchstwertiges Bit Null ist wie "01110001", an den wie oben konstruierten Datenverarbeitungsapparat eingegeben wird, vergleicht die Registerbezeichnungscode-Identifizierungsabfrageeinheit 13 die niedrigstwertigen und zweit-niedrigstwertigen Bits "01" mit den dritt-niedrigstwertigen und viert-niedrigstwertigen Bits "00" und gibt dann ein Signal an den Instruktionsdecodierer 14 aus, das anzeigt, dass n von Dn und m von Dm nicht identisch sind.
  • Die Einheit 14 gibt dann ein Steuersignal an die Datenregister D0 und D1 aus und läßt sie in ihnen enthaltene Daten über den internen Datenbus 17 an die Ausführungseinheit 16 ausgeben.
  • Die Einheit 14 gibt auch ein Steuersignal an die Ausführungseinheit 16 aus, durch welches eine logische Additionsoperation auf Basis des zweit-niedrigstwertigen, des dritt-niedrigstwertigen und des viert-niedrigstwertigen Bits des Instruktionscodes, "111", durchgeführt wird. Als Reaktion darauf führt die Ausführungseinheit 16 eine logische Additionsoperation der von den Datenregistern D0 und D1 ausgegebenen Daten durch. Die Ergebnisse werden über den internen Datenbus 17 im Datenregister D1 gespeichert.
  • Wenn andererseits ein Code "01110000" und darauffolgende 8-Bit-Unmittelbar-Daten in den Datenverarbeitungsapparat eingegeben werden, bestätigt die Registerbezeichnungscode-Identifizierungsabfrageeinheit 13, dass n und m gleich sind.
  • Dann werden im Datenregister D0 enthaltene Daten und im Instruktionspuffer 11 angesammelte 8-Bit-Unmittelbar-Daten über den internen Datenbus 17 an die Ausführungseinheit 16 eingegeben und eine logische Additionsoperation wird ausgeführt und die Ergebnisse werden im Datenregister D0 gespeichert.
  • Mit anderen Worten: wenn in Übereinstimmung mit konventionellen Datenverarbeitungsapparaten zwei identische Register-Bezeichnungscodes verwendet werden, um dieselbe Operation wie mit nicht-identischen Register-Bezeichnungscodes auszuführen, dann wird der Wert z.B. von dem Datenregister D0 sich nicht ändern.
  • Im Gegensatz dazu können in Übereinstimmung mit dem Datenverarbeitungsapparat dieser Erfindung 16 Typen von Instruktionen in dem in 5 durch das Symbol "***" angezeigten 3-Bit-Feld zugeteilt werden, indem in einem solchen Fall die Durchführung einer unterschiedlichen Operation zugelassen wird. Folglich können verschiedene Typen an Operationen durchgeführt werden, wenn die Grundinstruktions-Wortlänge 8 Bits ist. Einige Instruktionen können jedoch entworfen sein, um dieselben Operationen wie mit nicht-identischen Register-Bezeichnungscodes auszuführen, z.B. durch das Verwenden der Ausführung von Subtrahieren in den identischen Register-Bezeichnungscodes als eine klare Instruktion des Registers.
  • Im oben angeführten Fall kann ein Register in einem 2-Bit-Feld bestimmt werden, indem 8 Register im Registerfeld 15 in zwei Gruppen mit unterschiedlichen Funktionen geteilt werden: die Datenregister D0–D3 und die Adressenregister A0–A3.
  • Selbst wenn daher der 8-Bit-Instruktionscode so gemacht ist, dass er zwei Register-Bezeichnungscodes, ein Quellregister und ein Zielregister, enthält, kann der Typ der Operation durch die übrigen 4 Bits bestimmt werden; folglich können verschiedene Typen an Operationen in viel kürzerer Grundinstruktions-Wortlänge ausgeführt werden. Im Ergebnis können regelmäßig verwendete 8 Grundoperationen, wie Operationen zwischen Datenregistern, Operationen zwischen Datenregistern und unmittelbaren Daten, Bewegungen zwischen den Datenregistern und dem Speicher, und einem Datenregister zugeteilten Ein-Operand-Operationen durch eine Instruktion mit einer kurzen Wortlänge ausgeführt werden.
  • In Übereinstimmung mit den Registern und Operationsinstruktionen der oben angeführten Konstruktion, kann die Umgebung der Minimalerfordernisse vorgesehen werden, um Verarbeitung durch eine Hochniveausprache wie die C-Sprache effektiv auszuführen, die Programmgrößen können minimiert werden und die Geschwindigkeit des Prozesses kann erhöht werden.
  • Obwohl die unmittelbaren Daten und die absolute Adresse in den Instruktionscodes 8 Bits lang sind und zu 16-Bit-Länge in Übereinstimmung mit der Instruktion in der oben angeführten Ausführungsform erweitert werden, können 16-Bit-Unmittelbar-Daten entworfen werden, um bei Bedarf verwendet zu werden.
  • Obwohl der Instruktionscode in eine Instruktion decodiert wird, die einen angefügten Abschnitt als unmittelbare Daten einschließt, wenn die zwei Register-Bezeichnungscodes in der oben angeführten Ausführungsform identisch sind, kann er entworfen werden, dass er in eine Instruktion decodiert wird, die einen angefügten Abschnitt als eine unmittelbare Adresse oder eine Instruktion, die keinen angefügten Abschnitt einschließt, miteinschließt.
  • Darüber hinaus ist diese Erfindung auch bei Konstruktionen von Registern und Instruktionscodes, bei Typen von Operationen und Bitzuteilungen von Operationscodes anwendbar, die alle von denen in der oben angeführten Ausführungsform verschieden sind, um sich an den unterschiedlichen Gebrauch der Datenverarbeitungsapparate anzupassen.
  • Außerdem kann der Instruktionsdecodierer 14 so konstruiert werden, dass er die zwei Register-Bezeichnungscodes als unterschiedliche Instruktionen decodiert abhängig davon, ob sie identisch sind oder nicht, anstelle vom Bereitstellen der Registerbezeichnungscode-Identifizierungsabfrageeinheit 13.
  • Obwohl die vorliegende Erfindung ausführlich mit Beispielen unter Verweis auf die begleitenden Zeichnungen beschrieben worden ist, wird bemerkt, dass unterschiedliche Veränderungen und Modifikationen den mit dem Stand der Technik vertrauten Personen offensichtlich sein werden.

Claims (12)

  1. Datenverarbeitungsapparat mit registerbasierter Architektur, der eingerichtet ist, um eine 8-Bit-Anweisung zu verarbeiten, wobei die 8-Bit-Anweisung umfasst: – ein erstes Feld für das Bezeichnen einer von einer Vielzahl von Operationen, die eine Übertragungsoperation und eine Berechnungsoperation einschliesst; – ein zweites Feld (Dn) für das Bezeichnen eines Registers, das zu einer ersten Registergruppe (D0–D3) gehört, die einen ersten Operanden festlegt; und – ein drittes Feld (Dm, Am) für das Bezeichnen eines Registers aus einer ersten Registergruppe (D0–D3) oder aus einer zweiten Registergruppe (A0–A3), die einen zweiten Operanden festlegt, wobei die Position der drei Felder in der 8-Bit-Anweisung mit Hinblick auf eine Vielzahl an Anweisungen unveränderlich ist, und der Apparat umfasst: – eine Anweisungsausführungs-Einrichtung (16) zum Ausführen einer Operation, wobei die Anweisungsausführungs-Einrichtung die erste und die zweite Registergruppe (D0-D3, A0–A3) umfasst, die erste Registergruppe eine Datenspeicherungsfunktion hat und die zweite Registergruppe eine Adressenspeicherungsfunktion hat, wobei jedes Register nur zu einer der Registergruppen gehört; und – eine Auswahleinrichtung zum Auswählen von entweder der ersten oder der zweiten Registergruppe (D0–D3, A0–A3), wobei die Auswahl der Registergruppe und des Operations-Typs durch den Wert des ersten Feldes bestimmt wird.
  2. Datenverarbeitungsapparat nach Anspruch 1, wobei das zweite Feld einen Quellen-Operanden festlegt und das dritte Feld einen Ziel-Operanden festlegt.
  3. Datenverarbeitungsapparat nach Anspruch 1, wobei das zweite Feld einen Ziel-Operanden festlegt und das dritte Feld einen Quellen-Operanden festlegt.
  4. Datenverarbeitungsapparat nach Anspruch 1, wobei die 8-Bit-Anweisung ein erstes Feld für einen 4-Bit-Operationscode, ein zweites Feld (Dn) für einen ersten 2-Bit-Register-Bezeichnungscode und ein drittes Feld (Dm, Am) für einen zweiten 2-Bit-Register-Bezeichnungscode umfasst.
  5. Datenverarbeitungsapparat nach Anspruch 4, der darüber hinaus umfasst: – eine Anweisungs-Lese-Einrichtung zum Lesen einer Anweisung, die einen 4-Bit-Opeationscode und erste und zweite 2-Bit-Register-Bezeichnungscodes umfasst; und – eine Anweisungs-Decodierungs-Einrichtung (14) zum Decodieren der durch die Anweisungs-Lese-Einrichtung gelesenen Anweisung, wobei: – die Anweisungs-Ausführungs-Einrichtung (16) eingerichtet ist, um eine Operation auf der Basis der von der Anweisungs-Decodierungs-Einrichtung (14) decodierten Anweisung auszuführen, wobei die Anweisungs-Ausführungs-Einrichtung die erste und die zweite Registergruppe (D0–D3, A0–A3) umfasst, welche jeweils aus vier Registern zusammengesetzt sind: – ein erster Operand der Operation wird durch eines der vier zur ersten Registergruppe gehörenden Register festgelegt, wobei dieses eine der vier Register durch den ersten 2-Bit-Register-Bezeichnungscode bezeichnet wird, – ein zweiter Operand der Operation wird durch eines der vier Register festgelegt, die von der ersten oder zweiten Registergruppe ausgewählt werden, wobei dieses eine der vier Register durch den zweiten 2-Bit-Register-Bezeichnungscode bezeichnet wird, – die zwei Registergruppen, die in Bezug auf den ersten Operanden und den zweiten Operanden ausgewählt werden sollen, werden durch einen 4-Bit-Operationscode bezeichnet, und – der Typ der durch die Anweisungsausführungs-Einrichtung ausgeführten Operation wird ebenfalls durch den 4-Bit-Betriebscode bestimmt.
  6. Datenverarbeitungsapparat nach Anspruch 4 oder 5, wobei der erste Operand ein Wert ist, der in einem der vier Register (D0–D3) gespeichert ist, das durch den ersten 2-Bit-Register-Bezeichnungs-Code bestimmt wird.
  7. Datenverarbeitungsapparat nach Anspruch 4 oder 5, wobei der erste Operand ein Wert ist, der in einem Bereich gespeichert ist, welcher durch den Wert bezeichnet wird, der in einem der vier Register (A0–A3) gespeichert ist, das durch den ersten 2-Bit-Register-Bezeichnungs-Code bestimmt wird.
  8. Datenverarbeitungsapparat nach Anspruch 4 oder 5, wobei der zweite Operand ein Wert ist, der in einem der vier Register (D0–D3) gespeichert ist, das durch den zweiten 2-Bit-Register-Bezeichnungscode bestimmt wird.
  9. Datenverarbeitungsapparat nach Anspruch 4 oder 5, wobei der zweite Operand ein Wert ist, der in einem Bereich gespeichert ist, welcher von dem Wert bezeichnet wird, der in einem der vier Register (A0–A3) gespeichert ist, das von dem zweiten 2-Bit-Register-Bezeichnungs-Code bezeichnet wird.
  10. Datenverarbeitungsapparat nach irgendeinem der vorstehenden Ansprüche, wobei die Anweisung darüber hinaus einen numerischen, an den 8-Bit-Anweisungs-Code angefügten Code umfasst.
  11. Datenverarbeitungsapparat nach Anspruch 10, wobei der numerische Code ein Code ist, der entweder für einen unmittelbaren Wert (imm8), für einen Versetzungswert (d8) oder für einen absoluten Adressenwert (abs8) steht.
  12. Datenverarbeitungsapparat nach irgendeinem der Ansprüche 3 bis 9, wobei die durch die Anweisungsausführungs-Einrichtung (16) ausgeführte Operation eine ist von den folgenden Operationen: eine Berechnung (MOV, ADD, SUB, ..., OR) zwischen der Vielzahl der Register in der Registergruppe (D0–D3); und eine Datenübertragung (LD, ST) zwischen einem Speicher und einem der Vielzahl an Registern.
DE69233681T 1991-08-21 1992-08-20 Datenverarbeitungsvorrichtung Expired - Lifetime DE69233681T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP20911291 1991-08-21
JP3209112A JP2970821B2 (ja) 1991-08-21 1991-08-21 データ処理装置

Publications (2)

Publication Number Publication Date
DE69233681D1 DE69233681D1 (de) 2007-03-29
DE69233681T2 true DE69233681T2 (de) 2007-10-25

Family

ID=16567489

Family Applications (4)

Application Number Title Priority Date Filing Date
DE69233681T Expired - Lifetime DE69233681T2 (de) 1991-08-21 1992-08-20 Datenverarbeitungsvorrichtung
DE69233282T Expired - Lifetime DE69233282T2 (de) 1991-08-21 1992-08-20 Datenverarbeitungsvorrichtung
DE69231237T Expired - Lifetime DE69231237T2 (de) 1991-08-21 1992-08-20 Datenverarbeitungsvorrichtung
DE69233561T Expired - Lifetime DE69233561T2 (de) 1991-08-21 1992-08-20 Datenverarbeitungsvorrichtung

Family Applications After (3)

Application Number Title Priority Date Filing Date
DE69233282T Expired - Lifetime DE69233282T2 (de) 1991-08-21 1992-08-20 Datenverarbeitungsvorrichtung
DE69231237T Expired - Lifetime DE69231237T2 (de) 1991-08-21 1992-08-20 Datenverarbeitungsvorrichtung
DE69233561T Expired - Lifetime DE69233561T2 (de) 1991-08-21 1992-08-20 Datenverarbeitungsvorrichtung

Country Status (4)

Country Link
US (1) US5440701A (de)
EP (4) EP0528695B1 (de)
JP (1) JP2970821B2 (de)
DE (4) DE69233681T2 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1229440B1 (de) * 1993-05-27 2007-05-02 Matsushita Electric Industrial Co., Ltd. Programmumsetzungseinheit und verbesserter Prozessor für Adressierung
GB9412434D0 (en) * 1994-06-21 1994-08-10 Inmos Ltd Computer instruction compression
US5636352A (en) * 1994-12-16 1997-06-03 International Business Machines Corporation Method and apparatus for utilizing condensed instructions
US5966514A (en) * 1995-05-31 1999-10-12 Matsushita Electric Industrial Co., Ltd. Microprocessor for supporting reduction of program codes in size
US6065108A (en) * 1996-01-24 2000-05-16 Sun Microsystems Inc Non-quick instruction accelerator including instruction identifier and data set storage and method of implementing same
US5867681A (en) * 1996-05-23 1999-02-02 Lsi Logic Corporation Microprocessor having register dependent immediate decompression
US6012138A (en) * 1997-12-19 2000-01-04 Lsi Logic Corporation Dynamically variable length CPU pipeline for efficiently executing two instruction sets
EP0942357A3 (de) 1998-03-11 2000-03-22 Matsushita Electric Industrial Co., Ltd. Mit einer Mehrzahl von Befehlsformaten vereinbarer Datenprozessor
DE69933323T2 (de) 1998-04-01 2007-01-11 Matsushita Electric Industrial Co., Ltd., Kadoma Kompiler
WO2001025900A1 (en) 1999-10-06 2001-04-12 Cradle Technologies Risc processor using register codes for expanded instruction set
WO2001025941A1 (en) 1999-10-06 2001-04-12 Cradle Technologies Multiprocessor computer systems with command fifo buffer at each target device
KR20010091132A (ko) * 2000-03-13 2001-10-23 구자홍 마이크로 프로세서의 데이터 연산 처리기
US6633969B1 (en) 2000-08-11 2003-10-14 Lsi Logic Corporation Instruction translation system and method achieving single-cycle translation of variable-length MIPS16 instructions
CN101685388B (zh) * 2008-09-28 2013-08-07 北京大学深圳研究生院 执行比较运算的方法和装置
CN102043750B (zh) * 2010-12-13 2013-05-01 青岛海信信芯科技有限公司 一种微处理器总线结构及微处理器
GB2522990B (en) * 2013-12-20 2016-08-03 Imagination Tech Ltd Processor with virtualized instruction set architecture and methods

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5317240A (en) * 1976-07-31 1978-02-17 Toshiba Corp Controller
US4236206A (en) * 1978-10-25 1980-11-25 Digital Equipment Corporation Central processor unit for executing instructions of variable length
US4347566A (en) * 1978-12-11 1982-08-31 Tokyo Shibaura Denki Kabushiki Kaisha Data processor with register file and arithmetic logic circuit on one chip and register means directly connected to the chip
US4250545A (en) * 1978-12-29 1981-02-10 Bell Telephone Laboratories, Incorporated Data processing apparatus providing autoloading of memory pointer registers
JPS55162167A (en) * 1979-06-05 1980-12-17 Canon Inc Electronic program computer
CA1174370A (en) * 1980-05-19 1984-09-11 Hidekazu Matsumoto Data processing unit with pipelined operands
US4530050A (en) * 1981-08-26 1985-07-16 Hitachi, Ltd. Central processing unit for executing instructions of variable length having end information for operand specifiers
US4481571A (en) * 1981-09-11 1984-11-06 Data General Corp. Digital data processing system with accumulation instructions
JPS6140650A (ja) * 1984-08-02 1986-02-26 Nec Corp マイクロコンピユ−タ
DE3532481A1 (de) * 1985-09-12 1987-03-19 Philips Patentverwaltung Datenverarbeitungsanordnung
US4890218A (en) * 1986-07-02 1989-12-26 Raytheon Company Variable length instruction decoding apparatus having cross coupled first and second microengines
US5129087A (en) * 1988-02-03 1992-07-07 International Business Machines, Corp. Computer system and a method of monitoring transient data structures in a computer system
US5148528A (en) * 1989-02-03 1992-09-15 Digital Equipment Corporation Method and apparatus for simultaneously decoding three operands in a variable length instruction when one of the operands is also of variable length

Also Published As

Publication number Publication date
DE69233561T2 (de) 2006-07-27
EP0528695A2 (de) 1993-02-24
DE69233561D1 (de) 2005-12-08
EP1271305B1 (de) 2005-11-02
EP0528695A3 (en) 1994-08-24
JPH0546383A (ja) 1993-02-26
DE69231237T2 (de) 2000-11-30
EP0984358A2 (de) 2000-03-08
EP1271305A1 (de) 2003-01-02
DE69231237D1 (de) 2000-08-17
DE69233681D1 (de) 2007-03-29
EP0989485A2 (de) 2000-03-29
EP0528695B1 (de) 2000-07-12
EP0989485B1 (de) 2004-01-02
DE69233282D1 (de) 2004-02-05
JP2970821B2 (ja) 1999-11-02
DE69233282T2 (de) 2004-09-30
EP0984358A3 (de) 2000-12-06
EP0984358B1 (de) 2007-02-14
US5440701A (en) 1995-08-08
EP0989485A3 (de) 2000-08-23

Similar Documents

Publication Publication Date Title
DE69233681T2 (de) Datenverarbeitungsvorrichtung
DE69621493T2 (de) Hardwareunterstützung zur schnellen Emulation von nicht-implementierten Befehlen
DE69115344T2 (de) Vorverarbeitungsprozessor zur Verbindung von Befehlen für einen Cache-Speicher
DE60018078T2 (de) Einstellung von bedingungswerten in einem rechner
DE68927371T2 (de) Verfahren und Vorrichtung zur Verarbeitung von mehreren Zustandscodes wie für einen Parallel-Pipeline-Rechner
DE69033065T2 (de) Mehrfachbefehlsdecoder
DE69904189T2 (de) Konfigurierter prozessor zur abbildung von logischen registernummern auf physikalische registernummern unter verwendung von virtuellen registernummern
DE2934971C2 (de) Nach dem Fließbandprinzip arbeitender Zentralprozessor
DE69032334T2 (de) Virtuelles Computersystem mit Ein-/Ausgabeunterbrechungssteuerung
DE69032635T2 (de) Verfahren und Vorrichtung zur Erkennung von Betriebsmittelkonflikten in einer Pipeline-Verarbeitungseinheit
DE3687724T2 (de) Digitalprozessorsteuerung.
DE3789345T2 (de) Erweiterte Gleitkommaoperationen zur Unterstützung der Emulation von Quellbefehlsausführungen.
DE68928727T2 (de) Cachespeicheranlage zum Versorgen eines Festworts eines Befehlscodes mit variabler Länge und Befehlsabrufanlage
DE3851746T2 (de) Sprungvorhersage.
DE3689389T2 (de) Datenverarbeitungsprozessor.
DE1931966C3 (de) Datenverarbeitungsanlage mit Assoziativspeichern
DE69623146T2 (de) Verfahren und Vorrichtung zum Koordinieren der Benutzung von physikalischen Registern in einem Mikroprozessor
DE69305366T2 (de) System und verfahren zum kennzeichnen von befehlen zur steuerung der befehlsausführung
DE2524046C2 (de) Elektronische Datenverarbeitungsanlage
DE69033131T2 (de) Logikvorrichtung und Verfahren zur Verwaltung einer Befehlseinheit in einer Pipeline-Verarbeitungseinheit
DE3750951T2 (de) Verfahren zur Kodeerzeugung für Rechner mit beschränktem Befehlssatz.
DE69027932T2 (de) Cpu-pipeline mit registerfile-bypass durch adressvergleich bei aktualisierungen/zugriffen
EP0010185B1 (de) Virtuell-Adressiervorrichtung für einen Computer
DE2714805A1 (de) Datenverarbeitungssystem
DE112005002370T5 (de) Ausführung von Kontrollbefehlen in redundanten Multithreadingumgebungen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: PANASONIC CORP., KADOMA, OSAKA, JP

R071 Expiry of right

Ref document number: 984358

Country of ref document: EP