DE69433026T2 - Verfahren und Vorrichtung zum Datenverarbeiten mit mehreren Statusbitgruppen - Google Patents

Verfahren und Vorrichtung zum Datenverarbeiten mit mehreren Statusbitgruppen Download PDF

Info

Publication number
DE69433026T2
DE69433026T2 DE69433026T DE69433026T DE69433026T2 DE 69433026 T2 DE69433026 T2 DE 69433026T2 DE 69433026 T DE69433026 T DE 69433026T DE 69433026 T DE69433026 T DE 69433026T DE 69433026 T2 DE69433026 T2 DE 69433026T2
Authority
DE
Germany
Prior art keywords
flag
data
branch
instruction
bit
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
DE69433026T
Other languages
English (en)
Other versions
DE69433026D1 (de
Inventor
Hiroshi Kamiyama
Masato Suzuki
Shinya Nara-shi Miyaji
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
Publication of DE69433026D1 publication Critical patent/DE69433026D1/de
Application granted granted Critical
Publication of DE69433026T2 publication Critical patent/DE69433026T2/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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30058Conditional branch 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/30094Condition code generation, e.g. Carry, Zero flag

Description

  • HINTERGRUND DER ERFINDUNG
  • (1) GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft eine Vorrichtung und ein Verfahren zum Verarbeiten von Daten in Übereinstimmung mit Programmen und insbesondere eine Vorrichtung und ein Verfahren mit einer Vielzahl von Flag-Gruppen, die in Übereinstimmung mit den Berechnungsergebnissen einer Vielzahl von Daten mit unterschiedlichen Breiten zu ändern sind.
  • (2) BESCHREIBUNG DES STANDES DER TECHNIK
  • Vor kurzem wurden Datenverarbeitungsvorrichtungen wie Mikrocomputer mit 16-Bit- oder 32-Bit-MPU (Mikroprozessoreinheit) zusammen mit einer verbesserten Datenverarbeitungsleistung und der höheren Funktionsanforderung realisiert. Diese Datenverarbeitungsvorrichtungen können Daten mit einer Vielzahl mit unterschiedlichen Breiten wie etwa 16 Bit oder 32 Bit berechnen, wobei einige der Vorrichtungen zwei oder mehr Flag-Gruppen je nach dem Zweck der Berechnungen umfassen.
  • 1 ist ein Blockdiagramm, das den Aufbau einer ersten herkömmlichen Datenverarbeitungsvorrichtung mit zwei Flag-Gruppen zeigt, die in der offengelegten japanischen Patentanmeldung Nr. 54-117646 angegeben ist. Die Vorrichtung umfasst eine Befehlsdecodiereinheit 41 zum Decodieren von Befehlen, einen Rechner 42 zum Verarbeiten von 18-Bit-Daten, eine erste Flag-Gruppe 43 für eine bedingte Verzweigungsentscheidung, eine zweite Flag-Gruppe 44 für arithmetische Operationen und eine Verzweigungsentscheidungseinheit 45 für das Entscheiden, ob eine Verzweigung vorgenommen werden soll oder nicht Wenn ein durch die Befehlsdecodiereinheit 41 decodierter Befehl ein arithmetischer Operationsbefehl ist, führt der Rechner 42 eine arithmetische Operation aus. Die Flags in der ersten Flag-Gruppe und in der zweiten Flag-Gruppe werden in Übereinstimmung mit den Ergebnissen der Operation geändert.
  • Wenn der nächste durch die Befehlsdecodiereinheit 41 decodierte Befehl wiederum ein arithmetischer Operationsbefehl ist, führt der Rechner 42 eine weitere arithmetische Operation mit Bezug auf die zweite Flag-Gruppe 44 aus. Die erste 43 und die zweite Flag-Gruppe 44 werden in Übereinstimmung mit den Ergebnissen der arithmetische Operation geändert.
  • Wenn andererseits der nächste Befehl ein bedingter Verzweigungsbefehl ist, entscheidet die Verzweigungsentscheidungseinheit 45, ob eine Verzweigung aus der ersten Flag-Gruppe 43 für eine bedingte Verzweigung vorgenommen wird oder nicht.
  • Gemäß der ersten herkömmlichen Datenverarbeitungsvorrichtung sind diese Flag-Gruppen 43 und 44 jedoch beide für 16-Bit-Daten vorgesehen. Deshalb müssen Daten mit weniger Bits erweitert werden, um an die Datenbreite des Rechners 42 angepasst zu werden.
  • 2A und 2B zeigen als Beispiel der Datenerweiterung, wie 8-Bit-Daten in dem 16-Bit-Rechner 42 verarbeitet werden.
  • Wenn zwei 8-Bit-Daten 88H und F8H addiert werden (H steht für Hexadezimal), werden sie zu 16-Bit-Daten gewandelt, indem Nullen oder Einsen in höheren Bits eingefügt werden. Wenn eine Verzweigung auf 8-Bit-Daten ohne Vorzeichen, wie in 2A gezeigt, durchgeführt wird, werden die höheren 8 Bits mit Nullen aufgefüllt. Wenn die Daten als 8-Bit-Daten mit Vorzeichen betrachtet werden, wird, wie in 2B gezeigt, der Wert 1 im 8-ten Bit zu den höheren 8 Bits erweitert. Deshalb ist ein zusätzlicher Prozess zum Erweitern von Daten unvermeidbar, was zu einer Erhöhung des Verarbeitungsaufwandes führt.
  • 3 ist ein Blockdiagramm, das den Aufbau einer zweiten herkömmlichen Datenverarbeitungsvorrichtung mit zwei Flag-Gruppen zeigt, die in Shokodo "16-Bit-Mikroprozessor 8086-Familie" vom März 1982 angegeben ist.
  • Die Vorrichtung umfasst eine Befehlsdecodiereinheit 61 zum Decodieren von Befehlen, einen 16-Bit-Rechner 62 zum Verarbeiten von Daten, eine Flag-Gruppe 63, die auf der Basis des Ergebnisses einer 8-Bit-Operation oder einer 16-Bit-Operation zu ändern ist, einen Auswähler 64 zum Auswählen der Eingabe der Flag-Gruppe 63, die auf der Basis von entweder der 8-Bit-Operation oder der 16-Bit-Operation geändert wird, eine Flag-Gruppe 65, die auf der Basis des Ergebnisses einer 4-Bit-Operation zu ändern ist, und eine Verzweigungsentscheidungseinheit 66 für das Entscheiden, ob eine Verzweigung von der Flag-Gruppe 63 vorgenommen wird oder nicht.
  • 4A zeigt die Bitkonfiguration eines Maschinensprachbefehls für die Befehle ADD, SUBTRACT und COMPARE, und die 4B zeigt die Bitkonfiguration eines Maschinensprachbefehls für bedingte Verzweigungsbefehle. In der 4A gezeigten Bitkonfiguration wird ein Bit in dem ersten Byte (durch W angegeben) zugeordnet, um eine Datenbreite zusätzlich zu dem arithmetischen Operationstyp anzugeben. Das zweiten Byte ist zu verarbeitenden Registern zugeordnet, wobei es Adressierungsmodi für Speicheroperanden angibt, während das dritte und vierte Byte Adressen im Speicher zugeordnet sind. In der in 4B gezeigten Bitkonfiguration werden vier Bits in dem ersten Byte (Operationscode) einer Verzweigungsbedingung zugewiesen.
  • Die oben genannte Datenverarbeitungsvorrichtung arbeitet wie folgt.
  • Zuerst wird ein Befehl durch die Befehlsdecodierungseinheit 61 decodiert. Wenn der Befehl ein arithmetischer Operationsbefehl ist, führt der Rechner 62 eine arithmetische Operation aus. Die Flags in der Flag-Gruppe 63 und 65 werden auf der Basis der Ergebnisse der Operation geändert. Zu diesem Zeitpunkt bestimmt die Befehldecodiereinheit 61 eine Datenbreite (8 Bit oder 16 Bit) für den Rechner 62, wobei dann der Auswähler 64 Flag-Änderungsdaten in Entsprechung zu der Datenbreite an die Flag-Gruppe 63 ausgibt.
  • Der nächste Befehl wird durch die Befehlsdecodiereinheit 61 decodiert. Wenn der Befehl ein bedingter Verzweigungsbefehl ist, entscheidet die Verzweigungsentscheidungseinheit 66, ob die Verzweigung aus der Flag-Gruppe 63 vorgenommen wird oder nicht. Wenn ein Befehl, der einer arithmetischen Operation folgt, eine arithmetische Operation für Dezimaldaten ist, führt der Rechner 62 die Operation mit Bezug auf die Flag-Gruppe 65 aus.
  • In Übereinstimmung mit der zweiten herkömmlichen Datenverarbeitungsvorrichtung ist die Verwendung der Flag-Gruppe 65 auf der Basis der 4-Bit-Operation, die gleichzeitig mit der Flag-Gruppe 63 auf der Basis von entweder einer 8-Bit-Operation oder einer 16-Bit-Operation geändert wird, auf arithmetische Operationen für Dezimaldaten beschränkt und kann nicht auf eine bedingte Verzweigung angewendet werden.
  • Die zweite herkömmliche Datenverarbeitungsvorrichtung hat also das Problem des Verarbeitungsaufwandes erfolgreich überwunden, indem sie zwischen den zwei Flag-Änderungsdaten in Abhängigkeit von den zwei Datenbreiten von 8 Bit und 16 Bit auswählt. Die Datenbreite wird jedoch in einem Befehl bestimmt, so dass zwei Befehlscodezuweisungen (eine für 8-Bit-Daten und die andere für 16-Bit-Daten) für jede arithmetische Operation erforderlich sind. Dies verkompliziertwegen der Vergrößerung der Befehlscodezuweisung den Aufbau der Befehlscodiereinheit.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • In Anbetracht der vorstehend geschilderten Probleme ist es eine Aufgabe der vorliegenden Erfindung, eine Datenverarbeitungsvorrichtung anzugeben, die Verarbeitungsaufwand verhindern kann, wenn Daten mit einer Vielzahl von Datenoperationsbreiten verarbeitet werden, wobei die Vorrichtung eine bedingte Verzweigung für die Vielzahl von Datenoperationsbreiten verwendet und weiterhin in der Lage ist, die Zuweisung der Befehlscodes für jede Operation zu reduzieren.
  • Die Vorrichtung zum Verarbeiten von Daten der vorliegenden Erfindung ist in Anspruch 1 definiert.
  • Eine andere Aufgabe der vorliegenden Erfindung besteht darin, ein Datenverarbeitungsverfahren anzugeben, das in der Lage ist, Verarbeitungsaufwand zu verhindern, wenn Daten mit einer Vielzahl von Operationsbreiten verarbeitet werden, wobei das Verfahren eine bedingte Verzweigung für eine Vielzahl von Datenoperationsbreiten verwendet und weiterhin in der Lage ist, die Zuweisung der Befehlscodes zu jeder Operation zu reduzieren.
  • Das Verfahren zum Verarbeiten von Daten der vorliegenden Erfindung ist in Anspruch 2 definiert.
  • In Übereinstimmung mit dem oben erläuterten Aufbau der Datenverarbeitungsvorrichtung und dem entsprechenden Verfahren kann Verarbeitungsaufwand beim Verarbeiten von Daten mit einer Vielzahl von Datenoperationsbreiten verhindert werden, wobei eine bedingte Verzweigung für eine Vielzahl von Datenoperationsbreiten verwendet wird, und die Zuweisung von Befehlscodes zu jeder Operation kann reduziert werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Diese und andere Aufgaben, Vorteile und Merkmale der vorliegenden Erfindung werden durch die folgende Beschreibung in Verbindung mit den beigefügten Zeichnungen verdeutlicht, die eine spezifische Ausführungsform der vorliegenden Erfindung illustrieren. Zu den Zeichnungen:
  • 1 ist ein Blockdiagramm, das den Aufbau einer herkömmlichen Datenverarbeitungsvorrichtung als ein erstes Beispiel zeigt;
  • 2A und 2B sind Beispiele für Datenprozesse, die durch die in 1 gezeigte Vorrichtung durchgeführt werden;
  • 3 ist ein Blockdiagramm, das den Aufbau einer anderen herkömmlichen Datenverarbeitungsvorrichtung als zweites Beispiel zeigt,
  • 4A und 4B sind Konfigurationen von Befehlscodes, die in der Vorrichtung von 3 verwendet werden;
  • 5 ist ein Blockdiagramm, das den Gesamtaufbau der Datenverarbeitungsvorrichtung der vorliegenden Erfindung zeigt;
  • 6 ist ein Blockdiagramm, das die Details des Hauptteils der in 5 gezeigten Vorrichtung zeigt, und
  • 7A und 7B sind Konfigurationen von Befehlscodes, die in der Vorrichtung von 5 verwendet werden.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Der Gesamtaufbau der Datenverarbeitungsvorrichtung der vorliegenden Erfindung wird in 5, und die Details des Hauptteils der Vorrichtung werden in 6 dargestellt.
  • Die Datenverarbeitungsvorrichtung umfasst eine Busübertragungs-Steuereinheit 101 zum Steuern der Befehls-/Datenübertragung zu/von einer externen Einheit, eine Befehlsabrufeinheit 102 zum Steuern eines Befehlsauslesens, eine Befehlsdecodiereinheit 103 zum Decodieren von Befehlen, einen Rechner 104 zum Verarbeiten von 16-Bit-Daten, ein Register 105 zum Speichern von Daten für die Verarbeitung des Rechners 104, ein Programmstatuswort 106 (nachfolgend PSW 106) zum Speichern von Flag-Gruppen, die in Übereinstimmung mit den Berechnungsergebnissen des Rechners 104 zu ändern sind, eine Verzweigungsentscheidungseinheit 107 zum Entscheiden, ob eine Verzweigung vorgenommen wird oder nicht, und einen Programmzähler 108 zum Speichern der Adresse eines Befehls, der gerade ausgeführt wird.
  • Das PSW 106 speichert eine erste Flag-Gruppe 3, die aus den Flags 3–1 bis 3–4 besteht und der Verarbeitung von 8-Bit-Daten entspricht, sowie eine zweite Flag-Gruppe 4, die aus den Flags 4–1 bis 4–4 besteht und der Verarbeitung von 16-Bit-Daten entspricht. Die Flags werden in acht Registern von jeweils einer Länge von 1 Bit im PSW 106 gespeichert.
  • Die Flags Z8 (3–1) und Z16 (4–1) sind Null-Flags, die jeweils angeben, dass das Ergebnis der unteren 8 Bit und 16 Bit, die durch den Rechner 104 berechnet werden, alle Nullen sind. Die Ausgänge einer NOR-Schaltung mit 8 Eingängen und den Ausgängen einer anderen NOR-Schaltung mit 16 Eingängen sind jeweils mit diesen Flags Z8 und Z16 verbunden.
  • Die Flags N8 (3–2) und N16 (4–2) sind negative Flags, die angeben, dass das Berechnungsergebnis negativ ist. Das 8-te Bit und das 16-te Bit des Berechnungsergebnisses werden jeweils mit diesen Flags N8 und N16 verbunden.
  • Die Flags V8 (3–3) und V16 (4–3) sind Überlauf-Flags, die angeben, dass ein Überlauf in einer arithmetischen Operation auftritt. Die Ausgänge von XOR zwischen den Übertragseinheiten aus dem 7-ten Bit und dem 8-ten Bit sowie zwischen den Übertragseinheiten aus dem 15-ten Bit und dem 16-ten Bit im Rechner 104 werden jeweils mit diesen Flags V8 und V16 verbunden.
  • Die Flags C8 (3–4) und C16 (4–4) sind Übertragsflags, die das Auftreten der Übertragseinheiten angeben. Die Übertragseinheiten von dem 8-ten Bit und dem 16-Bit in dem Rechner 104 werden jeweils mit diesen Flags C8 und C16 verbunden.
  • Die Verzweigungsentscheidungseinheit 107 umfasst die Auswähler 6–1 bis 6–4, um zwischen der ersten und den zweiten Flag-Gruppen 3 und 4 auszuwählen, sowie eine Bedingungsentscheidungseinheit 7, um zu entscheiden, ob eine Verzweigung aus der ausgewählten Flag-Gruppe vorgenommen wird oder nicht.
  • Diese Auswähler 6–1 bis 6–4 wählen zwischen der ersten und der zweiten Flag-Gruppe 3 und 4 in Übereinstimmung mit einem Flag-Gruppen-Bestimmungssignal, das von der Be fehlsdecodiereinheit 103 gesendet wird, und geben die ausgewählte Flag-Gruppe an die Bedingungsentscheidungseinheit 7 aus.
  • Die Bedingungsentscheidungseinheit 7 umfasst eine logische Schaltung, die auf verschiedene Entscheidungsbedingungen reagiert und aus dem Bedingungscode, der die Typen der von der Befehlsdecodiereinheit 103 gesendeten bedingten Verzweigungsbefehle angibt, und aus den von den Auswählern 6–1 bis 6–4 ausgegebenen Flag-Daten entscheidet, ob eine Verzweigung vorgenommen wird oder nicht. Wenn eine Verzweigung vorgenommen wird, wird die Ausführungssequenz zu einer Adresse verschoben, die durch den Verzweigungsbefehl vorbestimmt wird, und wenn die Verzweigung nicht vorgenommen wird, wird ein auf die Verzweigung folgender Befehl ausgeführt.
  • Im Folgenden wird die Operation der Datenverarbeitungsvorrichtung der vorliegenden Erfindung beschrieben.
  • Zuerst steuert die Befehlsabrufeinheit 102 die Busübertragungs-Steuereinheit 101, wobei sie einen Befehl aus einem externen ROM oder ähnlichem erhält.
  • Dann decodiert die Befehlsdecodiereinheit 103 den erhaltenen Befehl. 7A zeigt die Konfiguration eines arithmetischen Operationsbefehls, wie etwas ADD, SUBTRACT oder COMPARE, und 7B zeigt die Konfiguration eines bedingten Verzweigungsbefehls.
  • In dem arithmetischen Verzweigungsbefehl bestimmt das erste Byte Operationstypen, bestimmt das zweite Byte Adressmodi für Speicheroperanden oder zu verwendende Register und bestimmen das dritte und vierte Byte Speicheradressen.
  • In dem bedingten Verzweigungsbefehl bestimmt das erste Byte Befehlstypen, Verzweigungsbedingungen und die Breite der Datenoperation, auf der die bedingte Entscheidung basiert (durch W angegeben). Das zweite Byte bestimmt eine Verzweigungszieladresse.
  • Die Befehlsdecodiereinheit 103 decodiert einen erhaltenen Befehl und sendet Steuersignale an den Rechner 104, das Register 105 und die Busübertragungs-Steuereinheit 101 auf der Basis des decodierten Operationstyps, der Information zum Datenspeicherort und ähnlichem. Die folgenden Operationen dienen zum Verarbeiten von arithmetischen Operationsbefehlen und decodierten bedingten Verzweigungsbefehlen.
  • „ARITHMETISCHE OPERATIONSBEFEHLE"
  • Der Rechner 104 berechnet eine durch den Befehl angegebene Operation unter Verwendung der aus dem Register 105 gelesenen 16-Bit-Daten, und das Operationsergebnis wird in dem Register 105 gespeichert. Die ersten Flag-Gruppen 3–1 bis 3–4 werden auf der Basis der unteren 8 Bit des Operationsergebnis geändert, und die zweiten Flag-Gruppen 4–1 bis 4–4 werden auf der Basis von allen 16 Bits des Operationsergebnisses geändert.
  • Um 32-Bit-Daten auszuführen (arithmetische Operation mehrfacher Länge), muss der Rechner 104 zuerst die unteren 16-Bit-Daten ausführen, die aus dem Register 105 gesendet werden. Die erste Flag-Gruppe 3 und die zweite Flag-Gruppe 4 werden auf der Basis des Ausführungsergebnisses geändert. Dann führt der Rechner 104 die höheren 16-Bit-Daten aus dem Register 105 mit Bezug auf die zweite Flag-Gruppe 4 aus. Die erste und die zweite Flag-Gruppe werden auf der Basis dieses Ergebnisses geändert.
  • „BEDINGTE VERZWEIGUNGSBEFEHLE"
  • Die Befehlsdecodiereinheit 103 sendet das Flag-Gruppen-Bestimmungssignal an die Auswähler 6–1 bis 6–4 der Verzweigungsentscheidungseinheit 107. Dieses Signal gibt die bedingte entschiedene Breite (8 Bit oder 16 Bit) an und wird durch das Bit W von 7B erzeugt. Die Auswähler 6–1 bis 6–4 wählen zwischen der ersten und der zweiten Flag-Gruppe 3 und 4 in Übereinstimmung mit dem Flag-Gruppen-Bestimmungssignal aus. Wenn die bestimmte Datenbreite beispielsweise 8 Bit ist, geben die Auswähler 6–1 bis 6–4 Flag-Daten aus, die von der ersten Flag-Gruppe 3 zu der Bedingungsentscheidungseinheit 7 gesendet werden. Wenn die angegebene Datenbreite andererseits mit 16 Bit bestimmt ist, werden die aus der zweiten Flag-Gruppe 4 gesendeten Daten ausgegeben. Folglich entscheidet die Bedingungsentscheidungseinheit 7, ob eine Verzweigung vorgenommen wird oder nicht, indem sie auf die Flags in der ausgewählten Flag-Gruppe Bezug nimmt.
  • Die Datenverarbeitungsvorrichtung der Ausführungsform der vorliegenden Erfindung weist eine Vielzahl von Flag-Gruppen auf und wählt eine Flag-Gruppe aus in Übereinstimmung mit der Datenbreite, die in einem bedingten Verzweigungsbefehl und nicht in einem arithmetischen Operationsbefehl zu verarbeiten ist. Deshalb können im Vergleich zu dem herkömmlichen Fall, wo die Datenbreite in arithmetischen Operationsbefehlen bestimmt wird und die Codelänge gleich ist, mehr Befehle zugewiesen werden. Während beispielsweise das in 7A gezeigte Befehlsformat 28 = 256 verschiedene Zuweisungen von Befehlscodes für die Bestimmung der arithmetischen Operationstypen erlaubt, erlaubt das in 7B gezeigte Befehlsformat, bei dem ein Bit zur Bestimmung der Datenbreite verwendet wird, 23 = 8 verschiedene Zuweisungen von Befehlscodes. Dementsprechend sind 256 + 8 = 264 verschiedene Zuweisungen in der vorliegenden Erfindung möglich.
  • Im Gegensatz dazu sind in Übereinstimmung mit der oben genannten zweiten herkömmlichen Datenverarbeitungsvorrichtung 27 = 128 und 24 = 16 verschiedene Zuordnungen für jeweils arithmetische Operationsbefehle und bedingte Verzweigungsbefehle möglich, so dass dementsprechend insgesamt nicht mehr als 114 verschiedene Zuweisungen möglich sind. Die Datenverarbeitungsvorrichtung der vorliegenden Erfindung kann also 120 (264 – 144) Befehlscodes mehr zuweisen als die herkömmlichen Vorrichtungen.
  • Wenn andererseits Befehle mit denselben Funktionen zugeordnet werden, kann die Anzahl der Befehle beinahe auf die Hälfte reduziert werden, weil die Bestimmung der Datenbreite in dem Code der arithmetischen Operationsbefehle ausgelassen werden kann. Die Verringerung der Zahl der Befehle kann den Aufbau der Befehlsdecodiereinheit 103 vereinfachen, um alle darin enthaltenen Befehle zu decodieren.
  • Auch wenn die Datenoperationsbreite N des Rechners 104 keine Potenz von 2 ist, können Datenoperationen, deren Breite größer als N und eine Potenz von 2 sind, ausgeführt wer den, indem eine Flag-Gruppe verwendet wird, die auf dem Operationsergebnis der Datenbreite basiert, welche kleiner als N und eine Potenz von 2 ist.
  • Zum Beispiel kann ein 24-Bit-Rechner 32-Bit-Daten unter Verwendung einer Flag-Gruppe auf der Basis der Operationsergebnisse von 16-Bit-Daten verwalten. So ist es möglich, die Datenbreite des Rechners 104 in Entsprechung zu der zu verarbeitenden Datenbreite zu wählen.
  • Außerdem machen das gleichzeitige Ändern von zwei oder mehr Flag-Gruppen und das Auswählen einer Flag-Gruppe, die auf den Operationsergebnissen der gewünschten Datenbreite basieren, wie in der ersten herkömmlichen Datenverarbeitungsvorrichtung erwähnte Datenerweiterungen unnötig, wodurch Verarbeitungsaufwand verhindert wird, wenn Daten mit einer Vielzahl von Datenoperationsbreiten unter Verwendung einer bedingten Verzweigung verarbeitet werden.
  • Die Flag-Gruppen in dieser Ausführungsform sind für 8-Bit-Daten und für 16-Bit-Daten vorgesehen, können jedoch auch für Daten mit einer beliebigen Anzahl von Bits vorgesehen werden.
  • Während in dieser Ausführungsform ein bedingter Verzweigungsbefehl für die Bestimmung der Datenbreite verantwortlich ist, kann auch ein anderer Befehlscode beispielsweise vor dem bedingten Verzweigungsbefehl vorgesehen werden, um eine zu verwendende Flag-Gruppe zu bestimmen.
  • Während in dieser Ausführungsform ein Rechner mit 16 Bit verwendet wird, kann auch ein Rechner mit 32 Bit oder einer beliebigen anderen Anzahl von Bit verwendet werden.
  • Die vorliegende Erfindung wurde vollständig mittels Beispielen und mit Bezug auf die beigefügten Zeichnungen beschrieben, wobei jedoch zu beachten ist, dass verschiedene Änderungen und Modifikationen vorgenommen werden können, ohne dass dadurch der Umfang der vorliegenden Erfindung verlassen wird, der in den beigefügten Ansprüchen definiert ist.

Claims (3)

  1. Eine Vorrichtung zum Verarbeitung von Daten umfassend: eine Einheit (103) zum Decodieren von Befehlen; einen Rechner (104) zum Verarbeiten von Daten in Übereinstimmung mit decodierten arithmetischen Operationsbefehlen; eine Vielzahl von Flag-Speichereinrichtungen (106), wobei jede Flag-Speichereinrichtung (106) eine Flag-Gruppe (3,4) speichert, und jede Flag-Gruppe (3,4) auf der Basis einer verschiedenen Bitbreite von durch die Operation des Rechners (104) erhaltenen Daten geändert wird, eine Verzweigungsentscheidungseinheit (107) zum Empfangen einer Verzweigungsbedingung von einem bedingten Verzweigungsbefehl, der durch die Befehlsdecodiereinheit (103) decodiert wird, dadurch gekennzeichnet, dass die Vorrichtung weiterhin umfasst: eine Flag-Gruppen-Auswahleinrichtung (6–1, 6–2, 6–3, 6–4) zum Auswählen eine aus der Vielzahl von Flag-Gruppen-Speichereinrichtungen in Übereinstimmung mit einem von der Befehlsdecodiereinheit (103) gesandten Flag-Gruppen-Bestimmungssignal, wenn ein Verzweigungsbefehl decodiert wird; und wobei die Verzweigungsentscheidungseinheit (107) zum Entscheiden eingerichtet ist, ob eine Verzweigung vorgenommen werden soll oder nicht, durch Bezugsnahme auf die in der Flag-Gruppen-Speichereinrichtung gespeicherten Flag-Gruppe (3,4) ausgewählt durch die Flag-Gruppen-Auswahleinrichtung (6-1, 6–2, 6–3, 6–4).
  2. Ein Verfahren zum Verarbeiten von Daten unter Verwendung einer Einheit (103) zum Decodieren von Befehlen, eines Rechners (104) zum Ausführen von Operationen, einer Vielzahl von Flag-Speichereinrichtungen (106) zum Speichern von zu ändernden Flag-Gruppen (3,4) jeweils auf der Basis von unterschiedlichen Bitbreiten in einem Operationsergebnis, und einer Verzweigungsentscheidungseinheit (107) zum Empfangen einer von einem bedingten Verzeigungsbefehl durch die Befehlsdecodiereinheit decodierten Verzweigungsbedingung und unter Bezugnahme auf die Flag-Gruppen (3,4), wobei dieses Verfahren umfasst: Decodieren der Befehle, Vorsehen von arithmetischen Operationen an Daten in Übereinstimmung mit decodierten arithmetischen Operationsbefehlen, Ändern der Flag-Gruppen (3,4) auf der Basis einer Datenbreite eines berechneten durch den Rechner (104) ausgeführten Operationsergebnisses, dadurch gekennzeichnet, dass das Verfahren weiterhin umfasst: wenn ein Verzweigungsbefehl decodiert wird, Auswählen einer der Flag-Gruppen (3,4) in Entsprechung eines von der Befehlsdecodiereinheit (103) gesandten Flag-Gruppen-Bestimmungssignals; und bezugnehmend auf die ausgewählte Flag-Gruppe (3,4) Entscheiden, ob eine Verzweigung vorgenommen wird oder nicht.
  3. Verfahren nach Anspruch 2, wobei der Schritt zum Ändern der Flag-Gruppen (3,4) das Speichern von vorbestimmten Flag-Gruppen in vorbestimmte Flag-Speichereinrichtungen (106) in Übereinstimmung mit arithmetischen Operationsergebnissen mit einer Vielzahl von Bitbreiten umfaßt.
DE69433026T 1993-05-31 1994-05-31 Verfahren und Vorrichtung zum Datenverarbeiten mit mehreren Statusbitgruppen Expired - Lifetime DE69433026T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP12952893 1993-05-31
JP5129528A JP2832899B2 (ja) 1993-05-31 1993-05-31 データ処理装置およびデータ処理方法

Publications (2)

Publication Number Publication Date
DE69433026D1 DE69433026D1 (de) 2003-09-11
DE69433026T2 true DE69433026T2 (de) 2004-01-22

Family

ID=15011745

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69428303T Expired - Lifetime DE69428303T2 (de) 1993-05-31 1994-05-31 Verfahren und Vorrichtung zum Datenarbeiten mit mehreren Statusbitgruppen
DE69433026T Expired - Lifetime DE69433026T2 (de) 1993-05-31 1994-05-31 Verfahren und Vorrichtung zum Datenverarbeiten mit mehreren Statusbitgruppen

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE69428303T Expired - Lifetime DE69428303T2 (de) 1993-05-31 1994-05-31 Verfahren und Vorrichtung zum Datenarbeiten mit mehreren Statusbitgruppen

Country Status (4)

Country Link
US (2) US5991868A (de)
EP (2) EP0627681B1 (de)
JP (1) JP2832899B2 (de)
DE (2) DE69428303T2 (de)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2832899B2 (ja) * 1993-05-31 1998-12-09 松下電器産業株式会社 データ処理装置およびデータ処理方法
JP3599499B2 (ja) * 1996-10-25 2004-12-08 株式会社リコー 中央処理装置
JPH1173301A (ja) * 1997-08-29 1999-03-16 Matsushita Electric Ind Co Ltd 情報処理装置
US6366999B1 (en) * 1998-01-28 2002-04-02 Bops, Inc. Methods and apparatus to support conditional execution in a VLIW-based array processor with subword execution
GB2355084B (en) * 1999-07-21 2004-04-28 Element 14 Ltd Setting condition values in a computer
GB2352536A (en) 1999-07-21 2001-01-31 Element 14 Ltd Conditional instruction execution
US6574728B1 (en) * 1999-08-10 2003-06-03 Cirrus Logic, Inc. Condition code stack architecture systems and methods
US6625634B1 (en) * 1999-10-01 2003-09-23 Sun Microsystems, Inc. Efficient implementation of multiprecision arithmetic
US6968545B1 (en) * 2000-09-11 2005-11-22 Agilent Technologies, Inc. Method and apparatus for no-latency conditional branching
US7003543B2 (en) * 2001-06-01 2006-02-21 Microchip Technology Incorporated Sticky z bit
US20020184566A1 (en) 2001-06-01 2002-12-05 Michael Catherwood Register pointer trap
US6986025B2 (en) 2001-06-11 2006-01-10 Broadcom Corporation Conditional execution per lane
US7861071B2 (en) 2001-06-11 2010-12-28 Broadcom Corporation Conditional branch instruction capable of testing a plurality of indicators in a predicate register
US7127593B2 (en) 2001-06-11 2006-10-24 Broadcom Corporation Conditional execution with multiple destination stores
US7017032B2 (en) * 2001-06-11 2006-03-21 Broadcom Corporation Setting execution conditions
JP2003186567A (ja) * 2001-12-19 2003-07-04 Matsushita Electric Ind Co Ltd マイクロプロセッサ
JP2003216418A (ja) * 2002-01-25 2003-07-31 Oki Electric Ind Co Ltd 演算回路
JP3813613B2 (ja) * 2004-01-19 2006-08-23 日本テキサス・インスツルメンツ株式会社 加算回路
JP2007122626A (ja) * 2005-10-31 2007-05-17 Matsushita Electric Ind Co Ltd マイクロプロセッサ
JP5193624B2 (ja) * 2008-02-19 2013-05-08 ルネサスエレクトロニクス株式会社 データプロセッサ
US8549264B2 (en) * 2009-12-22 2013-10-01 Intel Corporation Add instructions to add three source operands
JP5610551B2 (ja) * 2013-02-04 2014-10-22 ルネサスエレクトロニクス株式会社 データプロセッサ
US9756131B2 (en) * 2013-10-01 2017-09-05 Verizon Deutschland Gmbh Label for use in the internet of things
JP5767374B2 (ja) * 2014-07-30 2015-08-19 ルネサスエレクトロニクス株式会社 データプロセッサ

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54117646A (en) * 1978-03-06 1979-09-12 Toshiba Corp Computer
US4812971A (en) * 1983-10-03 1989-03-14 Digital Equipment Corporation Central processing unit for a digital computer
US5034879A (en) * 1984-10-01 1991-07-23 Unisys Corp. (Formerly Burroughs Corp.) Programmable data path width in a programmable unit having plural levels of subinstruction sets
JPS61288226A (ja) * 1985-06-17 1986-12-18 Panafacom Ltd 外部コンデイシヨン制御方式
US4811266A (en) * 1986-11-05 1989-03-07 Honeywell Bull Inc. Multifunction arithmetic indicator
JPH01230125A (ja) * 1988-03-10 1989-09-13 Nec Corp レジスタの部分的更新機能を持つデータ処理装置
JPH02133827A (ja) * 1988-11-14 1990-05-23 Nec Corp 情報処理装置
US5001662A (en) * 1989-04-28 1991-03-19 Apple Computer, Inc. Method and apparatus for multi-gauge computation
JP2559868B2 (ja) * 1990-01-06 1996-12-04 富士通株式会社 情報処理装置
JPH04211826A (ja) * 1990-06-01 1992-08-03 Pioneer Electron Corp プログラム演算装置
JPH04195629A (ja) * 1990-11-28 1992-07-15 Matsushita Electric Ind Co Ltd 演算フラグ生成装置
JP2832899B2 (ja) * 1993-05-31 1998-12-09 松下電器産業株式会社 データ処理装置およびデータ処理方法

Also Published As

Publication number Publication date
EP1063586A2 (de) 2000-12-27
EP0627681B1 (de) 2001-09-19
EP0627681A1 (de) 1994-12-07
US5991868A (en) 1999-11-23
JP2832899B2 (ja) 1998-12-09
DE69428303D1 (de) 2001-10-25
EP1063586A3 (de) 2001-01-24
EP1063586B1 (de) 2003-08-06
JPH06337783A (ja) 1994-12-06
US6205534B1 (en) 2001-03-20
DE69433026D1 (de) 2003-09-11
DE69428303T2 (de) 2002-04-18

Similar Documents

Publication Publication Date Title
DE69433026T2 (de) Verfahren und Vorrichtung zum Datenverarbeiten mit mehreren Statusbitgruppen
DE69434967T2 (de) Programmumsetzungseinheit und verbesserter Prozessor für Adressierung
DE2714805C2 (de)
DE2935906C2 (de) Mikroprozessor
DE1931966C3 (de) Datenverarbeitungsanlage mit Assoziativspeichern
DE3833933C2 (de) Informationsverarbeitungseinrichtung mit einer Adressenerweiterungsfunktion
DE2712224C2 (de) Datenverarbeitungsanlage
DE2948285A1 (de) Adressensteuersystem fuer softwaresimulation
DE2524046C2 (de) Elektronische Datenverarbeitungsanlage
DE2517276A1 (de) Datenverarbeitungssystem
DE2224537A1 (de) Einrichtung und verfahren zur instruktionsselektion
DE2230102A1 (de) Rechenwerk fuer variable wortlaengen
EP0010185A1 (de) Virtuell-Adressiervorrichtung für einen Computer
DE102018006744A1 (de) Bitmatrixmultiplikation
DE3043653A1 (de) Datenverarbeitungsanlage
DE69233282T2 (de) Datenverarbeitungsvorrichtung
DE69823302T2 (de) Verfahren und Vorrichtung zum Verschieben von Daten
DE69034246T2 (de) Gerät zur Verarbeitung von Grafikdaten
DE19652290C2 (de) Mikrocomputer
DE69933323T2 (de) Kompiler
DE2830334C2 (de)
DE19628039B4 (de) Speicheradressen-Steuerschaltung
DE2952163C2 (de) Datenverarbeitungsanlage mit einem ersten und einem zweiten Prozessor
DE4026569A1 (de) Zentraleinheit
DE2952072C2 (de) Rechenschaltung zum Addieren oder Subtrahieren binär codierter Dezimalzahlen

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