DE69531610T2 - Ansteuerschaltung und Verfahren zur Auswahl von Signalverarbeitungsbefehlen in einem ADPCM-System - Google Patents

Ansteuerschaltung und Verfahren zur Auswahl von Signalverarbeitungsbefehlen in einem ADPCM-System Download PDF

Info

Publication number
DE69531610T2
DE69531610T2 DE69531610T DE69531610T DE69531610T2 DE 69531610 T2 DE69531610 T2 DE 69531610T2 DE 69531610 T DE69531610 T DE 69531610T DE 69531610 T DE69531610 T DE 69531610T DE 69531610 T2 DE69531610 T2 DE 69531610T2
Authority
DE
Germany
Prior art keywords
command
value
address
result
program counter
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
DE69531610T
Other languages
English (en)
Other versions
DE69531610D1 (de
Inventor
Koji Chiyoda-ku Goto
Satoru Chiyoda-ku Kinoshita
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE69531610D1 publication Critical patent/DE69531610D1/de
Application granted granted Critical
Publication of DE69531610T2 publication Critical patent/DE69531610T2/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
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/324Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address using program counter relative addressing
    • 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

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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • Gebiet der Erfindung
  • Die Erfindung betrifft eine Betriebsschaltung (Prozessor zur Signalverarbeitung) für eine ADPCM-Vorrichtung (ADPCM = adaptive differentielle Pulscodemodulation), insbesondere eine Betriebsschaltung in einem Adresseneinheitsbereich, der Adresseneinstellungen in einigen Taktzyklen zum Auslesen von Befehlen aus einem Befehls-ROM (Festwertspeicher) ausführt, in dem Befehle gespeichert sind.
  • Beschreibung des Stands der Technik
  • Bei der Digitalkommunikation werden Tondaten usw. vor der Übertragung komprimiert, und komprimierte Daten werden empfangsseitig gedehnt, um den Kommunikationswirkungsgrad zu verbessern. Ein ADPCM-System gemäß der Definition in G. 726 der UIT-Empfehlung ist ein Beispiel der Komprimierung von Tondaten. Die vorliegende Erfindung betrifft eine Betriebsschaltung für die Signalverarbeitung in einem ADPCM-System.
  • Diese Betriebsschaltung weist eine ausschließlich für einen Adresseneinheitsbereich ausgebildete Hardware auf, die Adresseneinstellungen zum Auslesen von Befehlen aus einem Befehls-ROM ausführt, in dem Befehle gespeichert sind. Aufgrund der oben genannten Ausbildung ist die Betriebsschaltung imstande, eine Operation zum Lesen von Befehlen in einigen Taktzyklen mit Hochgeschwindigkeit und geringem Energieverbrauch auszuführen.
  • 12 zeigt eine übliche Konstruktion einen Betriebsschaltung, die für eine ADPCM-Vorrichtung verwendet wird. In 12 sind verschiedene Arten von Befehlscodes in einem Befehls-ROM 28 gespeichert. Wenn ein Wert eines Programmzählers 16, der eine Ausgangsinformation von einer Adresseneinheit 29 ist, in den Befehls-ROM 28 als Adressdaten eingegeben wird, gibt dieser Befehls-ROM 28 Befehlscodes, die in der entsprechenden Adresse des Befehls-ROM 28 gespeichert sind, an eine Signalleitung 30 ab.
  • Ein Befehls-Decodieren 31 decodiert die aus dem Befehl-ROM 28 ausgelesenen Befehlscodes und gibt sie an eine Signalleitung 11 ab, um die Adresseneinheit 29, eine Registerdatei 32 oder eine ALU (arithmetisch-logische Einheit) 33 in Abhängigkeit von der Art von Befehlscodes zu steuern.
  • Gemäß einem Ausgangssignal von dem Befehls-Decodieren 31 weist die Registerdatei 32 eine Vielzahl von Registern auf (beispielsweise X-Register, Y-Register, Z-Register), um ein verarbeitetes Ergebnis auf einer Ausgangssignalleitung 3 der ALU 33 zu speichern. Die Registerdatei 32 gibt zwei entsprechende Daten an eine Signalleitung 34 und 35 ab.
  • Die ALU 33 hat zwei Eingangsdaten 34 und 35 und führt die Verarbeitung in Abhängigkeit von decodierten Befehlscodes auf der Signalleitung 11 aus, die von dem Befehls-Decodieren 31 abgegeben werden, und gibt dann die Ergebnisse an die Signalleitung 3 ab. Die Adresseneinheit 29 gibt einen Wert des Programmzählers ab, der sowohl auf einem Ausgangssignal der ALU 33, das auf der Signalleitung 3 abgegeben wird, als auch auf einem Wert von Befehlscodes auf der Signalleitung 11 basiert.
  • 13 zeigt eine übliche, herkömmliche Konstruktion der Adresseneinheit 29, die in 12 gezeigt ist. 14 zeigt ein Format von herkömmlichen Befehlscodes. In 14 ist jedes Befehlsformat von Befehlscodes gezeigt, die einen bedingten Abzweig bzw. unmittelbares Laden ausführen.
  • In 14 repräsentieren Bits 23, 22 Arten von Befehlen (Typ). Wenn Bits 23, 22 "00" sind, repräsentieren sie einen bedingten Abzweigbefehl, während sie im Fall von "01" einen unmittelbaren Ladebefehl repräsentieren. Wenn Bits 23, 22 "00" sind, d. h. bei einem bedingten Abzweigbefehl, repräsentieren Bits 21, 20 einen bedingten Abzweigcode (br_code) wie etwa "call" (Ruf), "jmp" (Sprung) und "return" (zurück), und Bits 19-16 repräsentieren eine Bedingung (condition), wie etwa "zro" (null), "one" (eins), "neg", "pos" und "uncondition" (unbedingt).
  • Bits 10~0 repräsentieren die Sprungzieladresse (jmp address), wenn Bits 19-16 "01" sind, d. h. bei einem bedingten Sprungbefehl oder bei einem unbedingten Befehl. Wenn Bits 23, 22 "01" sind, d. h. bei einem unmittelbaren Ladebefehl, repräsentieren Bits 21-6 unmittelbare Daten (imm-data), und Bits 5-0 repräsentieren eine Zieladresse (dst), zu der unmittelbare Daten übertragen werden.
  • In 13 speichert ein Ergebnisregister 1 Eingangsdaten auf der Signalleitung 3, die von der ALU 33 eingegeben werden, in Abhängigkeit von dem Taktsignal CLKB auf einer Signalleitung 2, und gibt gleichzeitig einen gespeicherten Wert an eine Signalleitung 4 zur FLAG-Beurteilung ab. Eine FLAG-Beurteilungsschaltung 20 führt die FLAG-Beurteilung aus, und zwar in Abhängigkeit von Befehlsarten (Typen), die in Ergebnisdaten auf der Signalleitung 4 enthalten sind, und von Befehlscodes auf der Signalleitung 11 und von dem bedingten Abzweigcode (br_code) und der Bedingung (condition), und gibt dann ein Beurteilungsergebnis an eine Signalleitung 22 ab.
  • Wenn beispielsweise eine Befehlsart (Typ) "00 (conditional branch)" (00 bedingter Abzweig)) ist und ein Ergebnis der ALU mit einer Bedingung der Bedingung (condition) übereinstimmt, gibt diese Schaltung 20 ein Befehlssignal an die Signalleitung 22 ab, so daß eine Auswähleinrichtung 23 die jmp-Adresse ihrer Ausgangsleitung 25 zur Ausführung des von dem bedingten Abzweigcode (br_code) angegebenen bedingten Abzweigs anzeigt.
  • Ein Zwischenspeicher 15 speichert einen aktuellen Wert des Programmzählers (PC) in Abhängigkeit von dem Taktsignal CLKB auf der Signalleitung 2 und gibt gleichzeitig den gespeicherten Wert an eine Signalleitung 17 ab. Ein Addieren 18 addiert Daten auf einer Signalleitung 10 und Daten auf der Signalleitung 17 und gibt ein Ergebnis an eine Signalleitung 19 ab. Der Auswähleinrichtung 23 gibt entweder Daten auf der Signalleitung 19 oder die Sprungzieladresse (jmp-address), die in einem Befehlscode auf der Signalleitung 11 enthalten ist, an die Signalleitung 25 ab, und zwar in Abhängigkeit von dem FLAG-Beurteilungsergebnis eines Ausgangssignals der FLAG-Beurteilungsschaltung 20.
  • Der Programmzähler 26 speichert Daten auf der Signalleitung 25 und gibt gleichzeitig in Abhängigkeit von dem Taktsignal CLKC auf einer Signalleitung 27 einen gespeicherten Wert an eine Signalleitung 16 ab.
  • Nachstehend wird eine Operation der in 12 gezeigten Adresseneinheit 29 unter Bezugnahme auf 13 im einzelnen erläutert. 6 zeigt eine zeitliche Beziehung zwischen einem Maschinenzyklus und Taktsignalen (CKLB und CKLC). Wenn das Taktsignal CLKB auf der Signalleitung 2 zu "H" wird, speichert das Ergebnisregister 1 ein verarbeitetes Ergebnis auf der Signalleitung 3, das von der ALU abgegeben wird, und gibt gleichzeitig den gespeicherten Wert an die Signalleitung 4 ab.
  • Die FLAG-Beurteilungsschaltung 20 beurteilt, ob eine von Bits 19~16 repräsentierte Bedingung (condition) mit den Ergebnisdaten auf der Signalleitung 4 übereinstimmt, wenn der bedingte Abzweigcode (br_code) in einem bedingten Abzweigbefehl, der in 14 gezeigt ist, "01" in dem Befehlscode auf der Signalleitung 11 ist, d. h. bei dem bedingten Sprungbefehl. Ein Programmzähler 26 speichert einen aktuellen Programmzählerwert und gibt gleichzeitig den gespeicherten Wert an die Signalleitung 16 ab.
  • Der Addieren 18 addiert ein Ausgangssignal von dem Zwischenspeicher 15, der einen Wert des Programmzählers (PC) in jedem Maschinenzyklus speichert, und einen feststehenden Wert "1" und gibt das Ergebnis an die Signalleitung 19 ab. Die Auswähleinrichtung 23 wählt entweder eines von Daten auf der Signalleitung 19, nämlich einen Wert des Programmzählers (PC) des Maschinenzyklus plus 1, oder eine Sprungzieladresse (jmp address) auf der Signalleitung 11 in Abhängigkeit von dem FLAG-Beurteilungsergebnis auf der Signalleitung 22 aus.
  • Eine Sprungzieladresse (jmp address) wird nur dann gewählt, wenn Ergebnisdaten auf der Signalleitung 4 mit einer Bedingung (condition) übereinstimmen. Anderenfalls werden immer die Daten auf der Signalleitung 19, d. h. der Programmzählerwert plus 1, ausgewählt und an die Signalleitung 25 abgegeben.
  • Wie 6 zeigt, gibt der Programmzähler 26, der den Programmzählerwert speichert dann, wenn das Taktsignal CLKB auf der Signalleitung 2 zu "H" wird, einen in Abhängigkeit von dem Taktsignal CLKC auf der Signalleitung 27 gespeicherten Wert, nämlich einen revidierten Programmzählerwert, an die Signalleitung 16 ab.
  • Bei einer herkömmlichen Schaltung sind drei Vorgänge erforderlich, um eine Zahlenwertbeurteilung auszuführen, nämlich das Laden eines Schwellenwerts, die Subtraktion des Schwellenwerts von einem eingegebenen Zahlenwert, und der bedingte Abzweig auf der Basis des Subtraktionsergebnisses. Da jeder Vorgang einen Maschinenzyklus benötigt, sind drei Maschinenzyklen erforderlich, um gerade eine Zahlenwertbeurteilung auszuführen.
  • 15 zeigt Schritte zur Beurteilung, in welche Wertstufe ein eingegebener Zahlenwert X fällt. 4 zeigt die Beziehung zwischen dem eingegebenen Zahlenwert X (Ausgang des Ergebnisregisters) und dem Beurteilungsergebnis n. Die 16A und 16B zeigen Befehlscodes, die in dem Befehls-ROM 28 gespeichert sind. Auf diese Befehlscodes wird ordnungsgemäß Bezug genommen, um verschiedene Vorgänge auszuführen, um eine Wertstufe zu beurteilen, in die ein eingegebener Zahlenwert fällt.
  • In den 16A und 16B bezieht sich der Begriff "Adresse" auf eine Adresse des Befehls-ROM 28, die einem Programmzählerwert entspricht. Jeder Großbuchstabe X, Y und Z repräsentiert ein Register, oder genauer, X bezeichnet ein Register zum Speichern eines eingegebenen Zahlenwerts, und Y und Z bezeichnen Register für Berechnungen. Ein aus dem Befehls-ROM 28 ausgelesener Befehlscode wird an die Signalleitung 11 abgegeben.
  • Unter Bezugnahme auf 15 wird nachstehend ein herkömmlicher Vorgang zur Wertstufenbeurteilung kurz erläutert. Zunächst wird beurteilt, ob ein eingegebener Zahlenwert X gleich oder größer als 128 (X ≥ 128) ist. Wenn X gleich oder größer als 128 ist, wird beurteilt, ob X gleich oder größer als 2048 (X ≥ 2048) ist. Wenn X gleich oder größer als 2048 ist, wird weiter beurteilt, ob X gleich oder größer als 8192 (X ≥ 8192) ist. Wenn X gleich oder größer als 8192 ist, wird weiter beurteilt, ob X gleich oder größer als 16384 (X ≥ 16384) ist.
  • Wenn X gleich oder größer als 16384 ist, wird schließlich beurteilt, daß X zu einer Wertstufe gehört, in der X gleich oder größer als 16384 ist. Auf diese Weise werden die obigen Vorgänge viele Male in Abhängigkeit davon wiederholt, wie groß X ist, und dann wird die endgültige Wertstufe bestimmt.
  • Beispielsweise wird, wenn dieser Zahlenwert X gleich 2048 ist, eine Vielzahl von Schritten ausgeführt, die nachstehend erläutert werden, um zu beurteilen, in welche Wertstufe ein eingegebener Zahlenwert X fällt. Dieser Vorgang wird durch sequentielles Ausführen von Befehlscodes in dem Befehls-ROM 28 ausgeführt, die Adressen entsprechen, die von der Adresseneinheit 29 abgegeben wurden.
    • Adresse : Befehlscode 0000000H : Y durch 128 ersetzen 0000001N : Berechnen von 2048-128 und anschließendes Ersetzen von Z durch das Ergebnis 1920 0000010H : Sprung zu 0101000H, weil Z>0 0101000H : Y durch 2048 ersetzen 0101001H : Berechnen von 2048-2048 und anschließendes Ersetzen von Z durch das Ergebnis 0 0101010H : Sprung zu 0111100H, weil Z>0 0111100H : Y durch 8192 ersetzen 0111101H : Berechnen von 2048-8192 und anschließendes Ersetzen von Z durch -6146 0111110N : kein Sprung, weil Z kleiner als Null ist 0111111N : Y durch 4096 ersetzen 1000000N : Berechnen von 2048-4096 und anschließendes Ersetzen von Z durch -2048 1000001N : kein Sprung, weil Z kleiner als Null ist 1000010N : Ausführen des Vorgangs im Fall von 4095>X>2048 0000011N : unbedingter Sprung zur nächsten Befehlsadresse 1001100H
  • Im Fall der herkömmlichen Wertstufenbeurteilung, die ohne Rücksicht auf einen eingegebenen Zahlenwert X die in den 16A und 16B gezeigten Befehlscodes verwendet, sind insgesamt zwölf Maschinenzyklen erforderlich, d. h. 4malige Berechungen für das Laden eines Schwellenwerts, 4malige Berechungen für die Subtraktion eines Schwellenwerts von einem eingegebenen Zahlenwert und 4malige Berechnungen für die Berechnung des bedingten Abzweigs durch Beurteilung des Subtraktionsergebnisses.
  • Ferner benötigt ein Vorgang nach dem bedingten Abzweig bzw. ein Sprungschritt zu dem nächsten Befehl einen Maschinenzyklus, und deshalb wird die Gesamtzahl der erforderlichen Maschinenzyklen 14.
  • Unter Bezugnahme auf die 12 und 13 wird eine Operation für den Fall erläutert, daß der eingegebene Zahlenwert 2048 ist, wobei jeweils eine verschiedene Verarbeitung in Abhängigkeit von Wertstufen ausgeführt wird, die als Ergebnis des Wertstufenbeurteilungsvorgangs nach den 16A und 16B bestimmt wurden. Es wird angenommen, daß der eingegebene Zahlenwert 2048 bereits in das X-Register der Registerdatei 32 geladen worden ist.
  • In dem ersten Maschinenzyklus wird ein unmittelbarer Wert-Befehlscode "Y durch 128 ersetzen", der in der Startadresse "0000000" des Befehls-ROM 28 gespeichert ist, an die Signalleitung 30 abgegeben. Der Befehls-Decodieren 31 decodiert den Befehlscode und gibt ihn an die Signalleitung 11 ab. Ein Schwellenwertpegel 128, der in Bits 21~6 in dem unmittelbaren Wert-Befehlcode auf der Signalleitung 11 gespeichert ist, wird in das Y-Register der Registerdatei 32 heruntergeladen, was durch Bits 5~0 repräsentiert ist. Die Registerdatei 32 gibt den eingegebenen Zahlenwert X (=2048) an die Signalleitung 34 und den Schwellenwert Y (=128) an eine andere Signalleitung 35 ab.
  • In einem zweiten Maschinenzyklus gibt die Adresseneinheit 29 einen Programmzählwert, der nur um eins inkrementiert ist, nämlich "0000001", an den Befehls-ROM 28 ab. Der Befehls-ROM 28 erkennt diesen Wert als Adresse und führt den Befehlscode zur Subtraktion aus, der in 16A gezeigt ist, um 2048-128 zu berechnen. Der Befehls-ROM 28 gibt dann das Subtraktionsergebnis 1920 an die Signalleitung 11 ab, und gleichzeitig wird das Z-Register in der Registerdatei 32 durch dieses gleiche Subtraktionsergebnis 1920 ersetzt.
  • In einem dritten Maschinenzyklus springt, da Z größer als Null ist, ein Zeiger zu der Adresse "0101000N" in der Adresseneinheit 29, wie in 16B gezeigt ist. In einem vierten Maschinenzyklus wird der Befehlscode "Y durch 2048" ersetzen, der in der Adresse "0101001N" des Befehls-ROM 28 gespeichert ist, ausgeführt.
  • In einem fünften Maschinenzyklus wird der Befehlscode "Z durch X-Y ersetzen", der in "0101001N" des Befehls-ROM 28 gespeichert ist, ausgeführt, wobei 2048-2048 berechnet und Z durch das Ergebnis "0" ersetzt wird.
  • In einem sechsten Maschinenzyklus wird der Befehlscode in der Adresse "0101010N" des Befehls-ROM 28 ausgeführt. Da Z größer als Null ist, springt in diesem Fall der Zeiger zu der Adresse "0111100N" in der Adresseneinheit 29.
  • In einem siebten Maschinenzyklus wird durch den Befehlscode in der Adresse "0111100N" des Befehls-ROM 28Y durch 8192 ersetzt. In einem achten Maschinenzyklus wird durch den Befehlscode in der Adresse "0111101N" des Befehls-ROM 28 der wert 2048-8192 berechnet, und Z wird durch das Subtraktionsergebnis (-6144) ersetzt.
  • In einem neunten Maschinenzyklus wird der Befehlscode in der Adresse "0111110H" des Befehls-ROM 28 ausgeführt, wobei, weil Z kleiner als Null ist, der Zeiger keinen weiteren Sprung ausführt und zu einem Befehlscode in der nächsten Adresse "0111111N" geht.
  • In einem zehnten Maschinenzyklus wird durch den Befehlscode in der Adresse "0111111H" des Befehls-ROM 28Y durch 4096 ersetzt. In einem elften Maschinen zyklus wird durch den Befehlscode der Adresse "1000000H" des Befehls-ROM 28 der Wert 2048-4096 berechnet und Z wird durch das Ergebnis (-2048) ersetzt.
  • In einem zwölften Maschinenzyklus wird der Befehlscode in der Adresse "1000001N" des Befehls-ROM 28 ausgeführt und, weil Z kleiner als Null ist, führt der Zeiger keinen weiteren Sprung aus und geht zu einem Befehlscode in der nächsten Adresse "1000010N".
  • In einem dreizehnten Maschinenzyklus wird durch den Befehlscode in der Adresse "1000010H" des Befehls-ROM 28 eine Wertstufe von X als 4095>X>2048 bestimmt. In einem vierzehnten Maschinenzyklus wird durch den Befehlscode der Adresse "1000011N" des Befehls-ROM 28 ein unbedingter Sprung zu der nächsten Befehlsadresse "1001100H" ausgeführt.
  • Wie oben erläutert, ergibt sich der Schluß, daß bei dieser herkömmlichen Wertstufenbeurteilung eine Wertstufe, die einem eingegebenen Zahlenwert entspricht, im vierzehnten Maschinenzyklen bestimmt wird.
  • 17 zeigt eine Vielzahl von Verarbeitungsschritten zum Detektieren, in welchen Wert der Wertbeurteilung gemäß 9 ein eingegebener Zahlenwert fällt. Ihre konkreten Befehlscodes sind in den 18A und 188 gezeigt.
  • Unter Bezugnahme auf 17 wird eine herkömmliche Verarbeitung der Wertbeurteilung nachstehend kurz erläutert. Zunächst wird beurteilt, ob ein eingegebener Zahlenwert X gleich oder größer als 8 ist. Wenn X>8, wird weiter beurteilt, ob X gleich oder größer als 12 ist. Wenn X>12, wird weiter beurteilt, ob X gleich oder größer als 14 ist.
  • Wenn X>14, wird weiter beurteilt, ob X gleich oder größer als 15 ist. Wenn X>15, wird schließlich bestimmt, daß X einen Wert von "15" hat, d. h. (X=15). Auf diese Weise werden die obigen Vorgänge viele Male in Abhängigkeit davon wiederholt, wie groß X ist, und dann wird die endgültige Wertstufe bestimmt.
  • Wenn ein oben erwähnter eingegebener Zahlenwert größer als 10 ist, wird die Wertbeurteilung gemäß den 18A und 18B ausgeführt. Befehlscodes werden in diesem Fall durch die nächste Sequenz ausgeführt.
    • Adresse : Befehlscode 0000000H : Y durch 8 ersetzen 0000001H : Z durch X-Y ersetzen 0101010H : Sprung zu 0101000H, wenn Z>0 0101000H : Y durch 12 ersetzen 0101001N : Z durch X-Y ersetzen 0101010N : Sprung zu 0111100N, wenn Z>0 0101011H : Y durch 10 ersetzen 0101100N : Z durch X-Y ersetzen 0101101H : Sprung zu 0110101N, wenn Z>0 0110101H : Y durch 11 ersetzen 0110110H : Z durch X-Y ersetzen 0110111N : Sprung zu 0111010N, wenn Z>0 0111000N : verarbeiten, wenn X=10 ist 0111001N : unbedingter Sprung zu 1001100H
  • Unter Bezugnahme auf in den 12 und 13 gezeigte Schaltungen wird nachstehend eine Operation bei einem eingegebenen Zahlenwert von 10 konkret erläutert. Es wird angenommen, daß ein eingegebener Zahlenwert 10 bereits in das X-Register in der Registerdatei 32 geladen worden ist.
  • In einem ersten Maschinenzyklus wird ein unmittelbarer Wert-Befehlscode "Y durch 8 ersetzen", der in der Startadresse "0000000" des Befehls-ROM 28 gespeichert ist, an die Signalleitung 30 abgegeben. Der Befehls-Decodieren 31 decodiert den Befehlscode zur Abgabe an die Signalleitung 11. Ein Schwellenwert 8, der in Bits 21~6 des unmittelbaren Wert-Befehlscodes auf der Signalleitung 11 gespeichert ist, wird in das Y-Register der Registerdatei 32 heruntergeladen, was durch Bits 5~0 repräsentiert ist.
  • In einem zweiten Maschinenzyklus gibt die Adresseneinheit 29 einen Programmzählerwert, der nur um Eins inkrementiert ist, nämlich "0000001", an den Befehls-ROM 28 ab. Der Befehls-ROM 28 erkennt diesen Wert als Adresse und gibt einen Befehlscode zur Subtraktion gemäß 18A an den Befehls-Decodieren 31 ab.
  • Der Befehls-Decodieren 31 decodiert den Befehlscode zur Abgabe an die Signalleitung 11. Durch den Befehlscode auf der Signalleitung 11 wird der Befehlscode "Z durch X-Y ersetzen" in der Adresse "0000001H" des Befehls-ROM 28 in der Alu 33 ausgeführt, wobei das Ergebnis "10-8=2" in dem Z-Register gespeichert wird.
  • In einem dritten Maschinenzyklus wird der Befehlscode "Sprung zu 0101000H, wenn Z gleich oder größer als Null ist" in der Adresse 0101010N des Befehls-ROM 28 ausgeführt. Da Z=2, ist in diesem Fall diese Bedingung erfüllt, um den Sprung zu der Adresse "0101010H" zu bewirken. In einem vierten Maschinenzyklus wird der Befehlscode "Y durch 12 ersetzen" in der Adresse 0101000N des Befehls-ROM 28 ausgeführt, und das Ergebnis "12" wird in dem Y-Register gespeichert.
  • In einem fünften Maschinenzyklus wird der Befehlscode "Z durch X-Y ersetzen" in der Adresse 0101001N des Befehls-ROM 28 ausgeführt, und das Subtraktionsergebnis Z=10-12 = 2 wird in dem Z-Register gespeichert. In einem sechsten Maschinenzyklus wird der Befehlscode "Sprung zu 0111100N, wenn Z gleich oder größer als Null ist" in der Adresse 0101010H des Befehls-ROM 28 ausgeführt. In diesem Fall ist die Bedingung nicht erfüllt, weil Z = 2. Der Vorgang geht also zur nächsten Adresse "0101011H".
  • In einem siebten Maschinenzyklus wird der Befehlscode "Y durch 10 ersetzen" in der Adresse 0101011N des Befehls-ROM 28 ausgeführt, um 10 in das Y-Register zu setzen. In einem achten Maschinenzyklus wird der Befehlscode "Z durch X-Y ersetzen" in der Adresse "0101100H" des Befehls-ROM 28 ausgeführt, um Z=10-10=0 in dem Z-Register zu speichern.
  • In einem neunten Maschinenzyklus wird der Befehlscode "Sprung zu Adresse 0110101N, wenn Z gleich oder größer als Null ist" in der Adresse "0101101N" des Befehls-ROM 28 ausgeführt. In diesem Fall wird die Bedingung erfüllt, weil Z=O, und die Adresse "0110101N" des Befehls-ROM 28 wird zu dem Befehls-ROM 28 übertragen.
  • In einem zehnten Maschinenzyklus wird der Befehlscode "Y durch 11 ersetzen" in der Adresse "0110101H" des Befehls-ROM 28 ausgeführt, um 11 in dem Y-Register zu speichern. In einem elften Maschinenzyklus wird der Befehlscode "Z durch X-Y ersetzen" in der Adresse "0110110N" des Befehls-ROM 28 ausgeführt, um Z=10-11=1 in dem Z-Register zu speichern.
  • In einem elften Maschinenzyklus wird der Befehlscode "Sprung zu 0111010H, wenn Z gleich oder größer als Null ist" in der Adresse 0110111H des Befehls-ROM 28 ausgeführt. Da Z=-1 die Bedingung nicht erfüllt, geht in diesem Fall der Zeiger zu der nächsten Adresse "0111000N".
  • In einem dreizehnten Maschinenzyklus werden in diesem Stadium der Befehlscode "Verarbeiten, wenn X=10 " in der Adresse "0111000N" des Befehls-ROM 28 und ein Wert endgültig bestimmt. In einem vierzehnten Maschinenzyklus wird der Befehlscode "unbedingter Sprung zu 1001100H" in der Adresse 0111001N des Befehls-ROM 28 ausgeführt, wobei ein ganzer Vorgang abgeschlossen wird.
  • Wie oben beschrieben, ergibt sich der Schluß, daß bei dieser herkömmlichen Wertbeurteilungsschaltung 14 Maschinenzyklen erforderlich sind, um einen Wert eines eingegebenen Zahlenwerts zu bestimmen.
  • Bei einer herkömmlichen Technologie erfolgt die Bestimmung bei der Beurteilung der Wertstufe oder des Werts durch Subtraktion eines Schwellenwerts von einem eingegebenen Zahlenwert. Deshalb werden viele Subtraktions- und Beurteilungsschritte benötigt, und somit ist die Verarbeitungszeit unvermeidlich lang.
  • Ein weiteres Problem ist, daß viele Verarbeitungszyklen den Energieverbrauch erhöhen usw. Das ADPCM-System gemäß der Definition durch die UIT-Empfehlung G.726 erfordert viele Verarbeitungsschritte für die Wertstufenbeurteilung oder die Wertbeurteilung.
  • Die US-A-S 161 247 beschreibt eine Betriebsschaltung, die folgendes aufweist: einen Befehls-ROM zum Speichern des Inhalts eines Programms; einen Programmzähler zum Benennen einer Adresse für den Befehls-ROM; einen Befehls-Decodieren zum Decodieren des Inhalts des von dem Programmzähler benannten Befehls-ROM; eine arithmetisch-logische Einheit zum Berechnen des Inhalts einer Registerdatei in Abhängigkeit von einem decodierten Ergebnis von dem Befehls-Decodieren; eine Adresseneinheit zum Berechnen eines nächsten Adressenwerts in dem Befehls-ROM in Abhängigkeit von den berechneten Ergebnissen von der arithmetischlogischen Einheit; ein Ergebnisregister zum Speichern und Abgeben eines Ausgangsergebnisses der arithmetisch-logischen Einheit; eine Wertstufenbeurteilungseinrichtung zum Beurteilen, in welcher Wertstufe ein Ausgangswert des Ergebnisregisters enthalten ist; eine Zwischenspeichereinrichtung zum Speichern eines Werts des Programmzählers; eine Addiereinrichtung zum Berechnen eines nächsten Werts des Programmzählers durch Inkrementieren eines aktuellen Werts des Programmzählers; und eine Einrichtung zum Bestimmen einer nächsten Befehlsadresse in dem Befehls-ROM, wobei ein bedingter Abzweig zu einer Befehlsadresse vorgenommen wird, die einer Wertstufe entspricht, die man durch das berechnete Ergebnis von der arithmetischlogischen Einheit erhält.
  • Deshalb ist es eine Aufgabe der vorliegenden Erfindung, eine Betriebsschaltung und ein Betriebsverfahren zum Ausführen der Verarbeitung in weniger Schritten mit Hochgeschwindigkeit und geringem Energieverbrauch anzugeben.
  • Die Aufgabe wird durch eine Betriebsschaltung gemäß Anspruch 1 und ein Betriebsverfahren gemäß Anspruch 5 gelöst. Bevorzugte Ausführungsformen sind in den Unteransprüchen angegeben.
  • Gemäß einem Aspekt der Erfindung weist eine Betriebsschaltung, die folgendes aufweist: einen Befehls-ROM (Festwertspeicher) zum Speichern des Inhalts eines Programms, einen Programmzähler zum Benennen einer Adresse für den Befehls-ROM, einen Befehls-Decodieren zum Decodieren des Inhalts des von dem Programmzähler benannten Befehls-ROM, eine arithmetisch-logische Einheit (ALU) zum Berechnen des Inhalts einer Registerdatei in Abhängigkeit von einem decodierten Ergebnis von dem Befehls-Decodieren, und eine Adresseneinheit zum Berechnen eines nächsten Adressenwerts in dem Befehls-ROM in Abhängigkeit von den berechneten Ergebnissen von der ALU, wobei die Betriebsschaltung in Abhängigkeit von den Befehlscodes in dem Befehls-ROM nacheinander Berechnungen ausführt, folgendes auf: ein Ergebnisregister zum Speichern und Abgeben eines Ausgangsergebnisses der ALU; eine Wertstufenbeurteilungseinrichtung zum Beurteilen, in welcher Wertstufe ein Ausgangswert des Ergebnisregisters enthalten ist; eine Zwischenspeichereinrichtung zum Speichern eines aktuellen Werts des Programmzählers; eine Addiereinrichtung zum Berechnen eines nächsten Werts des Programmzählers durch Addieren eines Wertstufenbeurteilungsergebnisses von der Wertstufenbeurteilungseinrichtung sowie eines in der Zwischenspeichereinrichtung gespeicherten aktuellen Werts des Programmzählers; und eine erste Auswähleinrichtung zum Auswählen eines addierten Ergebnisses und zum Bestimmen einer nächsten Befehlsadresse in dem Befehls-ROM, wobei ein bedingter Abzweig zu einer Befehlsadresse vorgenommen wird, die einer Wertstufe entspricht, die man durch das berechnete Ergebnis der ALU erhält.
  • Gemäß einem anderen Aspekt der Erfindung weist eine Betriebsschaltung, die folgendes aufweist: einen Befehls-ROM (Festwertspeicher) zum Speichern des Inhalts eines Programms, einen Programmzähler zum Benennen einer Adresse für den Befehls-ROM, einen Befehls-Decodieren zum Decodieren des Inhalts des von dem Programmzähler benannten Befehls-ROM, eine arithmetisch-logische Einheit (ALU) zum Berechnen des Inhalts einer Registerdatei in Abhängigkeit von einem decodierten Ergebnis von dem Befehls-Decodieren, und eine Adresseneinheit zum Berechnen eines nächsten Adressenwerts in dem Befehls-ROM in Abhängigkeit von den berechneten Ergebnissen von der ALU, wobei die Betriebsschaltung in Abhängigkeit von den Befehlscodes in einem Befehls-ROM nacheinander Berechnungen ausführt, folgendes auf: ein Ergebnisregister zum Speichern und Abgeben eines Ausgangsergebnisses der ALU; eine Wertbeurteilungseinrichtung zum Inkrementieren eines Ausgangswerts des Ergebnisregisters um Eins; eine Zwischenspeichereinrichtung zum Speichern eines aktuellen Werts des Programmzählers; eine Addiereinrichtung zum Berechnen eines nächsten Werts des Programmzählers durch Addieren eines Wertbeurteilungsergebnisses von der Wertbeurteilungseinrichtung sowie eines in der Zwischenspeichereinrichtung gespeicherten aktuellen Werts des Programmzählers; und eine erste Auswähleinrichtung zum Auswählen eines addierten Ergebnisses und zum Bestimmen einer nächsten Befehlsadresse in dem Befehls-ROM, wobei ein bedingter Abzweig zu einer Befehlsadresse vorgenommen wird, die einem Wert entspricht, den man durch das berechnete Ergebnis der ALU erhält.
  • Gemäß einem weiteren Aspekt der Erfindung weist eine Betriebsschaltung ferner folgendes auf: eine FLAG-Beurteilungsschaltung zum Decodieren von Befehlsarten (Typen) von einem Befehls-Decodieren, einem bedingten Abzweigcode (br code) und einer Bedingung (condition) in Abhängigkeit von einem Ausgangssignal von dem Ergebnisregister und zum Abgeben eines Ergebnisses an die ersten Auswähleinrichtung.
  • Gemäß einem weiteren Aspekt der Erfindung weist eine Betriebsschaltung ferner folgendes auf: eine zweite Auswähleinrichtung zum Auswählen eines feststehenden Werts "1", eines Ausgangssignals von dem Decodieren oder eines Werts einer Adressenverschiebung (disp) in dem Befehls-Decodieren in Abhängigkeit von in dem Ausgangssignal von dem Befehls-Decodieren enthaltenen Befehlsarten (Typen), einem bedingten Abzweigcode (br_code) und einer Bedingung (condition).
  • Gemäß einem weiteren Aspekt der Erfindung weist eine Betriebsschaltung ferner folgendes auf: eine Einrichtung zum Benennen einer Verschiebung von dem aktuellen Programmzählwert zu einem nächsten Programmzählwert und zum anschließenden Zulassen, daß sich der Programmzählerwert gleichzeitig mit dem Ausführen der Berechnung um einen Verschiebungswert verschiebt, zusätzlich zu normalen Operationsbefehlen als Befehlscode an einer Zieladresse, wobei der bedingte Abzweig in Abhängigkeit von der Wertstufenbeurteilung oder Wertbeurteilung vorgenommen wird und wobei die Betriebsschaltung einen Abzweigvorgang vornimmt, nachdem die ALU die Wertstufenbeurteilung oder die Wertbeurteilung ausgeführt hat.
  • Gemäß einem weiteren Aspekt der Erfindung weist ein Betriebsverfahren zum sequentiellen Ausführen von Berechnungen in Abhängigkeit von Befehlscodes in einem Befehls-ROM unter Verwendung einer Betriebsschaltung, die folgendes aufweist: einen Befehls-ROM (Festwertspeicher) zum Speichern des Inhalts eines Programms, einen Programmzähler zum Benennen der Adresse für den Befehls-ROM, einen Befehls-Decodieren zum Decodieren des Inhalts des von dem Programmzähler benannten Befehls-ROM, eine arithmetisch-logische Einheit (ALU) zum Berechnen des Inhalts einer Registerdatei in Abhängigkeit von einem decodierten Ergebnis von dem Befehls-Decodieren, und eine Adresseneinheit zum Berechnen eines nächsten Adressenwerts in dem Befehls-ROM in Abhängigkeit von den berechneten Ergebnissen von der ALU, die folgenden Schritte auf: Speichern und Abgeben eines Ausgangsergebnisses der ALU; Beurteilen, in welcher Wertstufe der Ausgangswert enthalten ist; Speichern eines aktuellen Werts des Programmzählers; Berechnen eines nächsten Werts des Programmzählers durch Addieren eines Wertstufenbeurteilungsergebnisses sowie eines aktuellen Werts des Programmzählers; und Auswählen eines addierten Ergebnisses zum Bestimmen einer nächsten Befehlsadresse in dem Befehls-ROM, wobei ein bedingter Abzweig zu einer Befehlsadresse vorgenommen wird, die einem Wert entspricht, den man aus dem berechneten Ergebnis von der ALU erhält.
  • Gemäß einem weiteren Aspekt der Erfindung weist ein Betriebsverfahren zum sequentiellen Ausführen von Berechnungen in Abhängigkeit von Befehlscodes in einem Befehls-ROM unter Verwendung einer Betriebsschaltung, die folgendes aufweist: einen Befehls-ROM (Festwertspeicher) zum Speichern des Inhalts eines Programms, einen Programmzähler zum Benennen einer Adresse für den Befehls-ROM, einen Befehls-Decodieren zum Decodieren des Inhalts des von dem Programmzähler benannten Befehls-ROM, eine arithmetisch-logische Einheit (ALU) zum Berechnen des Inhalts einer Registerdatei in Abhängigkeit von einem decodierten Ergebnis von dem Befehls-Decodieren, und eine Adresseneinheit zum Berechnen eines nächsten Adressenwerts in dem Befehls-ROM in Abhängigkeit von den berechneten Ergebnissen von der ALU die folgenden Schritte auf: Speichern und Abgeben eines Ausgangs ergebnisses der ALU; Inkrementieren eines Ausgangswerts des Ergebnisregisters um Eins; Speichern eines aktuellen Werts des Programmzählers; Berechnen eines nächsten Werts des Programmzählers durch Addieren des inkrementierten Ergebnisses sowie des aktuellen Werts des Programmzählers; und Auswählen eines addierten Ergebnisses zum Bestimmen einer nächsten Befehlsadresse in dem Befehls-ROM, wobei ein bedingter Abzweig zu einer Befehlsadresse vorgenommen wird, die einem Wert entspricht, den man aus dem berechneten Ergebnis von der ALU erhält.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt einen Aufbau einer Adresseneinheit.
  • 2 zeigt einen Aufbau einer Adresseneinheit einer Ausführungsform der vorliegenden Erfindung.
  • 3 zeigt ein Format eines Befehlscodes, der bei der vorliegenden Erfindung verwendet wird.
  • 4 zeigt einen Beurteilungsbereich im Fall einer Wertstufenbeurteilung.
  • 5 zeigt eine Wertstufenbeurteilungsschaltung, die bei einer Ausführungsform der vorliegenden Erfindung verwendet wird.
  • 6 zeigt einen Maschinenzyklus und eine Taktsteuerung.
  • 7 zeigt eine Übereinstimmung zwischen dem Wertstufenbeurteilungsbereich und einem Ergebnis der Wertstufenbeurteilung.
  • 8 zeigt kurz eine Operation einer Wertstufenbeurteilungsschaltung.
  • 9 zeigt eine Übereinstimmung zwischen einem Wertbeurteilungswert gemäß der vorliegenden Erfindung und einem Ergebnis der Wertbeurteilung.
  • 10 zeigt kurz eine Operation der vorliegenden Erfindung.
  • 11 zeigt kurz eine Operation der vorliegenden Erfindung.
  • 12 zeigt kurz eine Operation eines Hauptbereichs einer ADPCM-Vorrichtung, in der die vorliegende Erfindung verwendet wird.
  • 13 zeigt einen Aufbau einer herkömmlichen Adresseneinheit.
  • 14 zeigt ein herkömmliches Befehlsformat.
  • 15 zeigt Schritte einer herkömmlichen Wertstufenbeurteilung.
  • 16A zeigt Schritte zum Ausführen einer herkömmlichen Wertstufenbeurteilung, die in dem Befehls-ROM 28 gespeichert sind (Teil 1).
  • 16B zeigt Schritte zum Ausführen einer herkömmlichen Wertstufenbeurteilung, die in dem Befehls-ROM 28 gespeichert sind (Teil 2).
  • 17 zeigt Schritte einer herkömmliche Wertstufenbeurteilung.
  • 18A zeigt Schritte zum Ausführen einer herkömmlichen Wertbeurteilung, die in dem Befehls-ROM 28 gespeichert sind (Teil 1).
  • 18B zeigt Schritte zum Ausführen einer herkömmlichen Wertbeurteilung, die in dem Befehls-ROM 28 gespeichert sind (Teil 2).
  • 1 ist ein Blockschaltbild, das die Ausführung einer Wertstufenbeurteilung zeigt. Dieses Diagramm zeigt eine Adresseneinheit 29 in 12 der vorliegenden Erfindung. Die Systemkonfiguration selbst gemäß 12 ist gleich wie beim Stand der Technik. Die vorliegende Erfindung hat ein spezielles Merkmal in der Hardwarekonstruktion der Adresseneinheit 29, die dafür einen bedingten Abzweig in weniger Maschinenzyklen in der Adresseneinheit 29 vornimmt.
  • Zunächst wird erläutert, wie ein bedingter Abzweig in Abhängigkeit von der Wertstufenbeurteilung vorgenommen wird. Ein Format von Befehlscodes auf der Signalleitung 11 von 1 und 12 wird unter Bezugnahme auf 3 erläutert. In 3 repräsentieren Bits 28 und 27 Befehlsarten. Wenn Bits 28 und 27 "00" sind, bezeichnen sie einen bedingten Abzweigbefehl, während sie im Fall von "01" einen unmittelbaren Ladebefehl bezeichnen, Bits 26 und 25 repräsentieren bedingte Abzweigcodes (br_code). Der Wert "00" entspricht "call" (Ruf), "01" entspricht "jmp" (Sprung), "10" entspricht "return" (zurück) und "11" entspricht "sw", was "Schalten" bedeutet. Bits 24~21 repräsentieren Bedingungen.
  • Der Wert "0000" entspricht "zro" (null), "0001" entspricht "one" (eins), "0010" entspricht "neg", "0011" entspricht "pos", "0100" entspricht "mag", "0101" entspricht "result" (Ergebnis) und "0110" entspricht "uncondition" (unbedingt). Bits 10~0 repräsentieren Sprungzieladressen (jmp address), wenn ein Sprungbefehl ausgeführt wird. Bits 20~11 können einen beliebigen Wert haben.
  • Wenn beispielsweise Bits 28, 27 (Typ) "00" und Bits 26, 25 (bedingter Abzweigcode (br_code)) "11" (sw) und Bits 24~21 "0100" sind, repräsentiert dies einen bedingten Abzweig "mag" entsprechend einer Wertstufenbeurteilung. Wenn Bits 28, 27 "00", Bits 26, 25"11" und Bits 24~21 "0101" sind, repräsentiert dies einen bedingten Abzweig entsprechend der Wertstufenbeurteilung, nämlich 'result'.
  • Im Fall eines bedingten Abzweigs entsprechend der Wertstufenbeurteilung, nämlich des "SW-Befehls", wird die nächste Adresse durch "present address" + "condition" (aktuelle Adresse + Bedingung) bestimmt. Es ist also nicht erforderlich, eine absolute Adresse eines Sprungziels zu benennen. Deshalb kann eine Sprungzieladresse für Bits 10~0 irgendwelche beliebigen Werte sein.
  • In 1 speichert ein Ergebnisregister 1 ein von der ALU 33 empfangenes verarbeitetes Ergebnis in Abhängigkeit von einem Taktsignal CLKB auf der Signalleitung 2 und gibt dann einen gespeicherten Wert t an die Signalleitung 4 zur FLAG-Beurteilung ab. Dieses Register 1 gibt ferner von Werten, die zur Wertstufenbeurteilung gespeichert sind, nur einen unmittelbaren Wert an die Signalleitung 5 ab.
  • Eine Wertstufenbeurteilungsschaltung 7 beurteilt, wo in der Wertstufe von Beurteilungsbereichen gemäß 4 Eingangsdaten X enthalten sind und gibt ein Beurteilungsergebnis an den Decodieren 40 ab. Der Decodieren 40 gemäß 5 gibt das Beurteilungsergebnis über eine Signalleitung 8 an eine Auswähleinrichtung 9 ab.
  • Die Auswähleinrichtung 9 wählt entweder eines von Eingangsdaten 8 (Wertstufenbeurteilungsergebnis), einem feststehenden Wert "1" auf einer Signalleitung 10 zum Inkrementieren eines Werts des Programmzählers um "1" oder einer Adressenverschiebung (disp) auf einer Signalleitung 12 in Abhängigkeit von Befehlsarten (Typ), dem bedingten Abzweigcode (br_code) und Bedingungen (condition) auf einer Signalleitung 11 aus und gibt dann ein Ergebnis an eine Signalleitung 14 ab.
  • Der Addieren 18 addiert einen Programmzähler PC, der ein Ausgangssignal von dem Zwischenspeicher 15 ist, und ein Ausgangsergebnis von der Auswähleinrichtung 9. Erläuterungen der Bezugszeichen 15~27 entfallen hier, da sie denen von 13 entsprechen. Ein Beispiel dieser Wertstufenbeurteilungsschaltung ist in 5 gezeigt.
  • Unter Bezugnahme auf 1 wird eine Operation erläutert, und zwar, wie der bedingte Abzweig in Abhängigkeit von einer Wertstufenbeurteilung effektiv und mit Hochgeschwindigkeit vorgenommen wird. In 3 wird angenommen, daß die Befehlscodes auf der Signalleitung 11 Bits 28, 27 (Typ), Bits 26, 25 (br_code) und Bits 24~21 (condition) in einem bedingten Abzweigbefehl in Abhängigkeit von der Wertstufenbeurteilung aufweisen, und diese Bits sind "00 (conditional branch)" (00 (bedingter Abzweig)), "11 (sw)" bzw. "0100(mag)".
  • Wenn, wie 6 zeigt, das Taktsignal CLKB auf der Signalleitung 2 zu "N" wird, speichert das Ergebnisregister 1 ein Verarbeitungsergebnis X der ALU 33 in 12 und gibt dann von gespeicherten Werten nur ein berechnetes Ergebnis (mit Ausnahme eines Übertragbits von der ALU 33 und eines Übertragbits usw.) an eine Signalleitung 5 für die Wertstufenbeurteilung ab.
  • Eine Wertstufenbeurteilungsschaltung 7 gibt das Wertstufenbeurteilungsergebnis an den Decodieren 40 in Abhängigkeit von Eingangsdaten (X) auf der Signalleitung 5 auf eine in 7 gezeigte Weise ab. Dieser Decodieren 40 gibt ein decodiertes Ergebnis an die Signalleitung 8 ab.
  • Die Auswähleinrichtung 9 wählt Eingangsdaten auf der Signalleitung 8 aus, die ein Ergebnis der Wertstufenbeurteilung sind, und gibt sie an eine Signalleitung 14 nur dann ab, wenn Bits 28, 27 "00", Bits 26, 25 "11" und Bits 24~21 "0100" in einem Befehlscode auf der Signalleitung 11 sind, d. h. wenn der bedingte Abzweigbefehl in Abhängigkeit von der Wertstufenbeurteilung ausgeführt wird.
  • Dagegen speichert der Zwischenspeicher 15 einen aktuellen Wert des Programmzählers auf der Signalleitung 16 und gibt den gespeicherten Wert an die Signalleitung 17 ab. Der Addieren 18 addiert einen Ausgangswert von dem Zwischenspeicher 15 (Programmzählerwert) und ein Wertstufenbeurteilungsergebnis auf der Signalleitung 14 für jeden Maschinenzyklus und gibt das Ergebnis an die Signalleitung 19 ab.
  • Die Auswähleinrichtung 23 wählt Daten auf der Signalleitung 19 und einen Befehlscode (jmp address) auf der Signalleitung 11 aus, um sie an die Signalleitung 25 abzugeben. In anderen Worten, die Auswähleinrichtung 23 gibt an die Signalleitung 25 ab: "Programmzählerwert" + "ein Wertstufenbeurteilungsergebnis".
  • Wenn das Taktsignal CLKB auf der Signalleitung 2 in 6 zu "L" wird, ist die Operation gleich derjenigen des Stands der Technik. Das heißt, der Programmzähler 26, der den Programmzählerwert speichert, gibt den gespeicherten Wert, d. h. einen aktualisierten Programmzählerwert, in Abhängigkeit von dem Taktsignal CLKC auf der Signalleitung 27 an die Signalleitung 16 ab.
  • Wie oben beschrieben, führt die Wertstufenbeurteilungsschaltung 7 die Wertstufenbeurteilung für eingegebene Zahlenwerte aus und addiert einen Programmzählerwert und ein Wertstufenbeurteilungsergebnis, wie in 8 gezeigt ist, und nimmt einen bedingten Abzweig in dem Befehls-ROM 28 in Abhängigkeit von einem Zählwert des addierten Ergebnisses vor. Dieser Vorgang wird nachstehend im einzelnen erläutert. Da ein Programmzähler PC an einer Position X=X ist, wird zunächst ein Ausgang von der ALU 33 zu X.
  • Dann wird der Programmzähler PC um Eins für einen üblichen Rechenvorgang der ALU inkrementiert, um SW(mag) zu zeigen. Da dabei der SW-Befehl unter Verwendung des vorhergehenden ALU-Rechenergebnisses ausgeführt wird, wird dann, wenn ein Wertstufenbeurteilungsergebnis von X gleich n ist, der nächste Wert des Programmzählers PC zu dem aktuellen "PC-Wert" + "n". 8 zeigt eine Operation im Fall von n=7, und ein Programmzähler geht weiter zum Ablauf 7.
  • Diese Konfiguration nimmt also einen bedingten Abzweig unter Nutzung der Wertstufenbeurteilung in einem Maschinenzyklus vor, ohne daß wie bei dem Stand der Technik drei Vorgänge erforderlich sind, nämlich das Laden des Schwellenwerts, die Subtraktion des Schwellenwerts von eingegebenen Zahlenwerten, und der bedingte Abzweig in Abhängigkeit von der Beurteilung des Subtraktionsergebnisses.
  • Dabei bedeutet ein Befehl "X=X", daß der ALU-Befehl im Durchgangszustand abgegeben wird, d. h., die ALU liest X aus der Registerdatei aus und gibt X so ab, wie es ist, und die Registerdatei hält X erneut. Anders ausgedrückt, ein Ergebnis des X-Registers wird wieder zu X. Der Befehl "SW(mag)" ist ein bedingter Abzweigbefehl, der eine Abweichung des aktuellen Programmzählwerts des Programmzählers um das "vorhergehende berechnete Ergebnis der ALU" + "1" bewirkt.
  • 2 ist ein Blockschaltbild, das eine Ausführungsform eines bedingten Abzweigs entsprechend der Wertbeurteilung der Erfindung zeigt. Ein Format von Befehlscodes auf der Signalleitung 11 von 2 und 12 gleicht demjenigen der oben beschriebenen Konfiguration, wie in 3 für den Fall gezeigt ist, daß der bedingte Abzweig in Abhängigkeit von der Wertbeurteilung vorgenommen wird.
  • Unter Bezugnahme auf 2 wird eine Operation erläutert, und zwar wie der bedingte Abzweig in Abhängigkeit von der Wertbeurteilung effektiv und mit Hochgeschwindigkeit vorgenommen wird. Dabei wird angenommen, daß Bits 28, 27 (Typ) "00 (conditional branch)", Bits 26, 25 (br_code) "11 (SW)" und Bits 24~21 "0101 (result)" sind. Da eine Sprungzieladresse bei einem bedingten Abzweigbefehl in Abhängigkeit von der Wertbeurteilung nicht erforderlich ist, kann die Sprungzieladresse von Bis 10~0 irgendwelche beliebigen Werte sein.
  • Wenn, wie 6 zeigt, das Taktsignal CLKB auf der Signalleitung 2 zu "H" wird, speichert das Ergebnisregister 1 ein Verarbeitungsergebnis (X) der ALU 33 in 12 und gibt dann von gespeicherten Werten nur niedrigere 4 Bits des unmittelbaren Werts an eine Signalleitung 6 für die Wertbeurteilung ab. Eine Wertbeurteilungsschaltung 36 addiert "1" zu Eingangsdaten auf der Signalleitung 6 und gibt ein Ergebnis als Wertbeurteilungsergebnis an eine Signalleitung 37 ab.
  • Wie 9 zeigt, wird ein Wertbeurteilungsergebnis zu "niedrigeren 4 Bits der Eingangsdaten des unmittelbaren Werts auf der Signalleitung 6" + "1". Die Auswähleinrichtung 9 wählt ein Wertbeurteilungsergebnis 37 aus und gibt es an die Signalleitung 14 nur dann ab, wenn Bits 28, 27 eines Befehlscodes auf der Signalleitung 11" 00", Bits 26, 25"11" und Bits 24-21"0101" sind, d. h. nur dann, wenn der bedingte Abzweigbefehl in Abhängigkeit von der Wertbeurteilung ausgeführt wird.
  • Der Zwischenspeicher 15 speichert einen aktuellen Programmzählerwert auf der Signalleitung 16 und gibt dann einen gespeicherten Wert an die Signalleitung 17 ab. Der Addieren 18 addiert einen Ausgangswert auf der Signalleitung 17 von dem Zwischenspeicher 15 (Programmzählerwert) und ein Wertstufenbeurteilungsergebnis auf der Signalleitung 14 von der Auswähleinrichtung 19 in jedem Maschinenzyklus und gibt ein Ergebnis an die Signalleitung 19 ab.
  • Die Auswähleinrichtung 23 wählt Daten auf der Signalleitung 19 zur Abgabe an die Signalleitung 25 aus. Anders ausgedrückt, die Auswähleinrichtung 23 gibt an die Signalleitung 25 folgendes ab: "Programmzählerwert" + "Wertstufenbeurteilungsergebnis".
  • Wenn das Taktsignal CLKB auf der Signalleitung 2 in 6 zu "L" wird, ist die Operation gleich derjenigen gemäß dem Stand der Technik. Das heißt, der Programmzähler 26, der den Programmzählerwert speichert, gibt den gespeicherten Wert, d. h. einen aktualisierten Programmzählerwert, in Abhängigkeit von dem Taktsignal CLKC auf der Signalleitung 27 an die Signalleitung 16 ab.
  • Anders ausgedrückt, es nimmt diese Ausführungsform, wie 10 zeigt, den bedingten Abzweig in Abhängigkeit von der Wertbeurteilung vor, indem einfach das Wertbeurteilungsergebnis zu einem Programmzählerwert hinzu addiert wird. Diese Ausführungsform kann also den bedingte Abzweig durch Wertbeurteilung in einem Maschinenzyklus vornehmen, ohne daß wie beim Stand der Technik drei Vorgänge erforderlich sind, nämlich ein Laden eines Schwellenwerts, eine Subtraktion eines Schwellenwerts von einem eingegebenen Zahlenwert, und ein bedingter Abzweig durch eine Beurteilung des Subtraktionsergebnisses. Dieser Vorgang wird nachstehend im einzelnen erläutert.
  • Da ein Programmzähler PC an der Position X=X ist, wird ein zunächst ein Ausgang von der ALU 33 zu X. Dann wird der Programmzähler PC um Eins für einen gewöhnlichen Rechenvorgang der ALU inkrementiert, um SW(mag) zu bezeichnen. Da der SW-Befehl unter Verwendung des vorhergehenden ALU-Rechenergebnisses ausgeführt wird, wird danach, wenn ein Wertstufenbeurteilungsergebnis von X gleich n ist, der nächste Wert des Programmzählers PC zu "aktueller PC-Wert" + "n". 19 zeigt den Rechenvorgang im Fall von N=7, und ein Programmzähler geht weiter zu dem Ablauf 7.
  • 11 ist ein Blockbild, das die Ausführung eines unmittelbaren Ladens einer Ausführungsform der vorliegenden Erfindung zeigt. In 11 ist der Ablauf bis zu PC+n der gleiche wie unter Bezugnahme auf 10 erläutert wurde. Der Unterschied besteht darin, daß im Fall von 11 der Inhalt von PC+n unmittelbare Ladebefehle sind. Der unmittelbare Ladebefehl führt einen unmittelbaren Wert aus und benennt dann eine Verschiebung.
  • Dabei bedeutet ein Befehl "X=X", daß der ALU-Befehl im Durchgangszustand abgegeben wird, d. h., die ALU liest X aus der Registerdatei aus und gibt X so ab, wie es ist, und die Registerdatei hält X erneut. Anders ausgedrückt, ein Ergebnis des X-Registers wird wieder zu X. Der Befehl "SW(result)" ist ein bedingter Abzweigbefehl, der eine Abweichung des aktuellen Programmzählerwerts um das "vorhergehende berechnete Ergebnis der ALU" + "1" bewirkt.
  • Gemäß 11 wird, da die Verschiebung (disp) 10 ist, der nächste Programmzählerwert gleich dem "aktuellen Programmzählerwert" + "10". Selbst wenn n eine von 10 verschiedene Zahl ist, wird ein sequentieller Ablauf des unmittelbaren Ladens und des Abzweigs in 2 Schritten ausgeführt, indem Verschiebungswerte (disp) im voraus in einer ROM-Adresse benannt werden und der Befehl an der Adresse "PC+n" ausgeführt wird.
  • Ein Format der Befehlscodes auf der Signalleitung 11 von 1 und 12 wird für den Fall erläutert, in dem das unmittelbare Laden unter Verwendung von 3 ausgeführt wird. Bits 28, 27 in 3 repräsentieren Befehlsarten (Typen), und wenn Bits 28, 27 "01" sind, repräsentieren sie einen unmittelbaren Ladebefehl.
  • Wenn Bits 28, 27 "01" sind, d. h. im Fall eines unmittelbaren Ladebefehls, repräsentieren Bits 26~11 unmittelbare Daten (imm-data), während Bits 10~6 sowohl ein unmittelbare Laden als auch eine Adressenverschiebung (disp) für die Adressenverschiebung repräsentieren und Bits 5~0 eine Datenübertragungszieladresse (dst) repräsentieren.
  • Unter Bezugnahme auf 1 und andere Figuren wird nachstehend erläutert, wie das unmittelbare Laden und der unbedingte Sprung nach dem bedingten Abzweig in Abhängigkeit von der Wertstufenbeurteilung oder Wertbeurteilung effizient und mit Hochgeschwindigkeit ausgeführt werden.
  • Wie 6 zeigt, wählt dann, wenn das Taktsignal CLKB auf der Signalleitung 2 zu "N" wird, die Auswähleinrichtung 9 Daten der Adressenverschiebung (disp) für Bits 10~6 in einem Befehlscode auf der Signalleitung 11 von der Signalleitung 12 aus und gibt sie an die Signalleitung 14 ab, wenn Bits 28, 27 des Befehlscodes auf der Signalleitung 11 "01" sind, d. h. nur bei einem unmittelbaren Ladebefehl. Der Zwischen- Speicher 15 speichert einen aktuellen Programmzählerwert und gibt dann einen gespeicherten Wert an die Signalleitung 17 ab.
  • Der Addieren 18 addiert eine Adressenverschiebung (disp) und einen Programmzählerausgangswert auf der Signalleitung 17 von dem Zwischenspeicher 15, wo ein Programmzählerwert für jeden Maschinenzyklus gespeichert ist, und gibt ein Ergebnis an die Signalleitung 19 ab. Die Auswähleinrichtung 23 wählt Daten auf der Signalleitung 19 aus und gibt sie an die Signalleitung 25 ab. In diesem Fall gibt also die Auswähleinrichtung 23 an die Signalleitung 25 ab: "Programmzählerwert" + "Wert einer Adressenverschiebung".
  • Wenn das Taktsignal CLKB auf der Signalleitung 2 in 6 zu "L" wird, ist die Operation gleich derjenigen gemäß dem Stand der Technik. Das heißt, der Programmzähler 26, der den Programmzählerwert speichert, gibt den gespeicherten Wert, d. h. einen aktualisierten Programmzählerwert, in Abhängigkeit von dem Taktsignal CLKC auf der Signalleitung 27 an die Signalleitung 16 ab.
  • Anders ausgedrückt, es wird bei dieser Ausführungsform, wie 12 zeigt, ein Programmzählerwert aktualisiert, indem ein Adressenverschiebungswert zu dem Programmzählerwert hinzu addiert wird, wenn ein unmittelbares Laden abgegeben wird. Deshalb kann diese Ausführungsform die Verarbeitung in einem Maschinenzyklus ausführen, während die herkömmliche Verarbeitung in 2 Maschinenzyklen ausgeführt wurde.
  • Durch Kombination dieser dritten Ausführungsform mit der ersten oder zweiten Ausführungsform kann die herkömmliche Verarbeitung, die in 14 Maschinenzyklen erfolgte, durch eine Verarbeitung ersetzt werden, die in 2 Maschinenzyklen ausgeführt wird.

Claims (5)

  1. Betriebsschaltung, die folgendes aufweist: – einen Befehls-ROM (28) zum Speichern des Inhalts eines Programms, – einen Programmzähler (26) zum Benennen einer Adresse für den Befehls-ROM (28), – einen Befehls-Decodierer (31) zum Decodieren des Inhalts des von dem Programmzähler (26) benannten Befehls-ROM (28), – eine arithmetisch-logische Einheit (33) zum Berechnen des Inhalts einer Registerdatei in Abhängigkeit von einem decodierten Ergebnis von dem Befehls-Decodieren (31), und – eine Adresseneinheit (29) zum Berechnen eines nächsten Adressenwerts in dem Befehls-ROM (28) in Abhängigkeit von den berechneten Ergebnissen von der arithmetisch-logischen Einheit (33), wobei die Betriebsschaltung in Abhängigkeit von den Befehlscodes in dem Befehls-ROM (28) nacheinander Berechnungen ausführt sowie folgendes aufweist: – ein Ergebnisregister (1) zum Speichern und Abgeben eines Ausgangsergebnisses der arithmetisch-logischen Einheit (33); – eine Inkrementiereinrichtung (36) zum Inkrementieren des niederwertigsten Teils eines Ausgangs des Ergebnisregisters (1) um Eins; – eine Zwischenspeichereinrichtung (15) zum Speichern eines aktuellen Werts des Programmzählers (26); – eine Addiereinrichtung (18) zum Berechnen eines nächsten Werts des Programmzählers (26) durch Addieren eines Inkrementierergebnisses von der Inkrementiereinrichtung (36) sowie eines in der Zwischenspeichereinrichtung (15) gespeicherten aktuellen Werts des Programmzählers (26); und – eine erste Auswähleinrichtung (23) zum Auswählen des addierten Ergebnisses und zum Bestimmen einer nächsten Befehlsadresse in dem Befehls-ROM (28), wobei ein bedingter Abzweig zu einer Befehlsadresse vorgenommen wird, die einem Wert entspricht, den man durch das berechnete Ergebnis von der arithmetisch-logischen Einheit (33) erhält.
  2. Schaltung nach Anspruch 1, die ferner folgendes aufweist: eine Flag-Beurteilungsschaltung (20) zum Decodieren von Befehlsarten von einem Befehls-Decodieren (31), einem bedingten Abzweigcode und einer Bedingung in Abhängigkeit von einem Ausgangssignal von dem Ergebnisregister (1) und zum Abgeben eines Ergebnisses an die erste Auswähleinrichtung (23).
  3. Schaltung nach Anspruch 2, wobei die erste Auswähleinrichtung (23) eine Ausgangsadresse von dem Addieren oder eine Sprungzieladresse, die in einem Ausgangssignal von einem Befehls-Decodierer (31) vorliegt, in Abhängigkeit von einem Ausgangssignal von der Flag-Beurteilungsschaltung (20) auswählt.
  4. Schaltung nach einem der Ansprüche 1 bis 3, die ferner folgendes aufweist: eine zweite Auswähleinrichtung (9) zum Auswählen eines feststehenden Werts "1", eines Ausgangssignals von der Inkrementiereinrichtung (36) oder eines Werts einer Adressenverschiebung in dem Befehls-Decodieren (31) in Abhängigkeit von in dem Ausgangssignal von dem Befehls-Decodieren (31) enthaltenen Befehlsarten, einem bedingten Abzweigcode und einer Bedingung.
  5. Betriebsverfahren zum sequentiellen Ausführen von Berechnungen in Abhängigkeit von Befehlscodes in einem Befehls-ROM (28) unter Verwendung einer Betriebsschaltung, die folgendes aufweist: – den Befehls-ROM (28) zum Speichern des Inhalts eines Programms, – einen Programmzähler (26) zum Benennen einer Adresse für den Befehls-ROM (28), – einen Befehls-Decodieren (31) zum Decodieren des Inhalts des von dem Programmzähler (26) benannten Befehls-ROM (28), – eine arithmetisch-logische Einheit (33) zum Berechnen des Inhalts einer Registerdatei in Abhängigkeit von einem decodierten Ergebnis von dem Befehls-Decodieren (31), und – eine Adresseneinheit (29) zum Berechnen eines nächsten Adressenwerts in dem Befehls-ROM (28) in Abhängigkeit von den berechneten Ergebnissen von der arithmetisch-logischen Einheit (33), wobei das Verfahren folgende Schritte aufweist: – Speichern und Abgeben eines Ausgangsergebnisses der arithmetischlogischen Einheit (33); – Inkrementieren des niederwertigsten Teils eines Ausgangs des Ergebnisregisters (1) um Eins; – Speichern eines aktuellen Werts des Programmzählers (26); – Berechnen eines nächsten Werts des Programmzählers (26) durch Addieren des inkrementierten Ergebnisses sowie des aktuellen Werts des Programmzählers (26); und – Auswählen des addierten Ergebnisses zum Bestimmen einer nächsten Befehlsadresse in dem Befehls-ROM (28), wobei ein bedingter Abzweig zu einer Befehlsadresse vorgenommen wird, die einem Wert entspricht, den man aus dem berechneten Ergebnis von der arithmetisch-logischen Einheit (33) erhält.
DE69531610T 1995-07-24 1995-12-21 Ansteuerschaltung und Verfahren zur Auswahl von Signalverarbeitungsbefehlen in einem ADPCM-System Expired - Fee Related DE69531610T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP18726095 1995-07-24
JP18726095A JP3453938B2 (ja) 1995-07-24 1995-07-24 演算回路および演算方法

Publications (2)

Publication Number Publication Date
DE69531610D1 DE69531610D1 (de) 2003-10-02
DE69531610T2 true DE69531610T2 (de) 2004-06-09

Family

ID=16202870

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69531610T Expired - Fee Related DE69531610T2 (de) 1995-07-24 1995-12-21 Ansteuerschaltung und Verfahren zur Auswahl von Signalverarbeitungsbefehlen in einem ADPCM-System

Country Status (4)

Country Link
US (1) US5764941A (de)
EP (1) EP0756230B1 (de)
JP (1) JP3453938B2 (de)
DE (1) DE69531610T2 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6446196B1 (en) * 1999-02-17 2002-09-03 International Business Machines Corporation Method apparatus and computer program product including one-of and one-of-and-jump instructions for processing data communications
CN1205540C (zh) * 2000-12-29 2005-06-08 深圳赛意法微电子有限公司 含有解码器的电路、时分寻址的方法和一个微控制器
JP4364077B2 (ja) 2004-06-30 2009-11-11 富士通株式会社 演算装置及び演算装置の制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3979725A (en) * 1973-08-06 1976-09-07 Xerox Corporation Multi-way program branching circuits
US4090250A (en) * 1976-09-30 1978-05-16 Raytheon Company Digital signal processor
US4891754A (en) * 1987-07-02 1990-01-02 General Datacomm Inc. Microinstruction sequencer for instructing arithmetic, logical and data move operations in a conditional manner
CA1311063C (en) * 1988-12-16 1992-12-01 Tokumichi Murakami Digital signal processor
US5450555A (en) * 1990-06-29 1995-09-12 Digital Equipment Corporation Register logging in pipelined computer using register log queue of register content changes and base queue of register log queue pointers for respective instructions
US5410660A (en) * 1992-12-24 1995-04-25 Motorola, Inc. System and method for executing branch on bit set/clear instructions using microprogramming flow

Also Published As

Publication number Publication date
EP0756230A2 (de) 1997-01-29
DE69531610D1 (de) 2003-10-02
US5764941A (en) 1998-06-09
JPH0934703A (ja) 1997-02-07
EP0756230A3 (de) 1997-10-15
EP0756230B1 (de) 2003-08-27
JP3453938B2 (ja) 2003-10-06

Similar Documents

Publication Publication Date Title
DE69433621T2 (de) Geraet zur verarbeitung von befehlen in einem rechnersystem
DE69534113T2 (de) Kompression der Befehlswörter eines Rechners
DE69738188T2 (de) Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor
DE69635881T2 (de) VLIW-Befehlsprozessor mit variabler Wortlänge
DE60006021T2 (de) VLIW-Prozessor und Programmkomprimierungsgerät and -verfahren
DE69725278T2 (de) Programmierbares system und verfahren zum vorhersagen von verzweigungen für computersysteme
DE2839726C2 (de) Multiprozessoranlage mit verteilter Steuerarchitektur
DE69433026T2 (de) Verfahren und Vorrichtung zum Datenverarbeiten mit mehreren Statusbitgruppen
DE2714805A1 (de) Datenverarbeitungssystem
DE2715073A1 (de) Mikroprogrammierte rechner-steuervorrichtung
DE2023354A1 (de) Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit
DE2318069A1 (de) Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix
DE69233282T2 (de) Datenverarbeitungsvorrichtung
DE3620982A1 (de) Ein-befehl, mehrfach-datenstrom (simd) computersystem
DE69831370T2 (de) Verfahren und Vorrichtung zur Steuerung der Ausführung bedingter Verzweigungen in einem Datenprozessor
DE10025249C2 (de) Verfahren zur Ausführung sowohl von Divisions- als auch Restbefehlen und Datenverarbeitungsgerät, welches das Verfahren anwendet
DE69531610T2 (de) Ansteuerschaltung und Verfahren zur Auswahl von Signalverarbeitungsbefehlen in einem ADPCM-System
EP0851342B1 (de) Kodierungs und Speicherungsverfahren für Fuzzy Logik Regeln und Schaltungarchitektur zur Verarbeitung von solchen Regeln
DE69629646T2 (de) Verfahren zur durchführung einer "rotate through carry" operatiion
DE3121046C2 (de)
DE3507584A1 (de) Adressenberechnungssystem fuer digitale verarbeitungseinrichtungen
DE102005001679B4 (de) Mikroprozessor-Einrichtung, und Verfahren zur Branch-Prediktion für conditional Branch-Befehle in einer Mikroprozessor-Einrichtung
DE69728081T2 (de) Verfahren und Schaltkreis zur Steuerung verzögerter Verzweigungsbefehle
DE10201439B4 (de) Mikroprozessor
DE69930544T2 (de) Verfahren und vorrichtung für bedingte vektoroperationen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee