DE4103882A1 - Programm-bearbeitungsvorrichtung und digitalsignal-prozessor - Google Patents

Programm-bearbeitungsvorrichtung und digitalsignal-prozessor

Info

Publication number
DE4103882A1
DE4103882A1 DE19914103882 DE4103882A DE4103882A1 DE 4103882 A1 DE4103882 A1 DE 4103882A1 DE 19914103882 DE19914103882 DE 19914103882 DE 4103882 A DE4103882 A DE 4103882A DE 4103882 A1 DE4103882 A1 DE 4103882A1
Authority
DE
Germany
Prior art keywords
data
command
flag
signal
program
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.)
Withdrawn
Application number
DE19914103882
Other languages
English (en)
Inventor
Makio Yamaki
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.)
Pioneer Corp
Original Assignee
Pioneer Electronic 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
Priority claimed from JP2147975A external-priority patent/JPH0440548A/ja
Application filed by Pioneer Electronic Corp filed Critical Pioneer Electronic Corp
Priority to TW80107668A priority Critical patent/TW229234B/zh
Publication of DE4103882A1 publication Critical patent/DE4103882A1/de
Withdrawn 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/30094Condition code generation, e.g. Carry, Zero flag

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Description

Die Erfindung betrifft eine Programmbearbeitungsvorrichtung in einer CPU (Central Processing Unit = zentrale Bearbei­ tungseinheit) und einen Digitalsignalprozessor (nachfolgend "DSP" genannt).
Bei einem Programmbearbeitungsbetrieb, der durch eine in einer CPU oder DSP benutzten Programmbearbeitungsvorrichtung ausgeführt wird, wird das Ergebnis eines Vergleichs als ein "<Merker" (flag) durch einen Vergleichsbefehl erhalten. Es kann vorkommen, daß das Vergleichsergebnis nicht unmittelbar benutzt wird und eine später ausgeführte arithmetische Opera­ tion einen Verlust des Inhalts des erfaßten Merkers ergibt, wenn dieser gebraucht wird. In diesem Fall muß der Betrieb zum Erhalten des Merkers wieder ausgeführt werden, so daß sich die Schrittzahl des Programms erhöht.
Es ist bekannt, eine Audiosignalbearbeitungsvorrichtung zum Ausführen von Signalbearbeitungen für Schallfeldsteuerung an Hörsignalen zu verwenden, um so einem Zimmer oder einem Fahr­ zeug Präsenz zu verleihen durch Erzeugung eines Schallfel­ des, das durch Simulation des Schallfeldes in einem akusti­ schen Raum einer Konzerthalle oder eines Theaters erzielt wird. Eine solche Vorrichtung wurde beispielsweise in JP-A-64-72 615 beschrieben. Eine derartige Audiosignalbearbei­ tungsvorrichtung besitzt einen DSP zum Ausführen einer Schallfeldsteuerung durch eine Digitaloperation, welche die Audiosignale, die von einer Audiosignalquelle wie einem Tuner oder dergleichen ausgegeben werden, bearbeitet. Der DSP besitzt ein arithmetisches Operationsmittel zum Ausfüh­ ren arithmetischer Operationen, wie z. B. den vier arithmeti­ schen Betätigungen, einen Datenspeicher zum Speichern von Au­ diosignaldaten, die dem arithmetischen Operationsmittel zuzu­ führen sind, und einen Koeffizientenspeicher zum Speichern von Koeffizientendaten, mit denen die Signaldaten im Daten­ speicher zu multiplizieren sind. Der DSP ist ausgelegt, einen externen Verzögerungsspeicher anbringen zu lassen, um Signaldaten zu verzögern. Der DSP enthält auch einen Verzöge­ rungszeitspeicher zum Speichern von Verzögerungszeitdaten, die die Zeit vom Einschreiben von Signaldaten in den Verzöge­ rungsspeicher bis zum Auslesen der Daten aus diesem bezeich­ nen. In dem DSP werden Daten von einem Speicher zu einem an­ deren oder von dem Speicher zu dem arithmetischen Operations­ mittel übertragen zum wiederholten Ausführen eines Audiosi­ gnals aus Signaldaten, mit hoher Geschwindigkeit. Beispiels­ weise können Anfangsreflex-Schalldaten mit beachteter Pegel­ schwächung erfaßt werden, um den akustischen Raum zu erzeu­ gen durch übertragen von Eingangssignaldaten zu dem Verzöge­ rungsspeicher mit einiger Verzögerungszeit zum Erzeugen ver­ zögerter Signaldaten, Senden der verzögerten Signaldaten über den Datenspeicher zu dem arithmetischen Betätigungsmit­ tel und dann Multiplizieren derselben mit Koeffizientenda­ ten.
Jedesmal, wenn der Schallfeldmodus durch irgendeine Manipula­ tion geändert wird, werden die Koeffizientendaten oder Verzö­ gerungszeitdaten durch neue Daten überschrieben, die von einem Mikrocomputer ausgesendet werden, der außerhalb des DSP liegt, um dadurch verschiedene Arten von akustischen Räumen zu erzeugen.
In der JP-Patentanmeldung 1- 156 199 wurde vom gleichen Anmel­ der ein DSP für ein Audiosignal vorgeschlagen, der eingehen­ de Audiosignaldaten in einen Datenspeicher einschreibt und sie von da ausliest über einen ersten Datenbus, sequentiell die Audiosignaldaten aus dem Datenspeicher über einen zwei­ ten Datenbus ausliest und die Daten in einem Verzögerungs­ speicher an einer durch eine Schreibadresse bezeichneten Stelle speichert, sequentiell die Audiosignaldaten aus dem Verzögerungsspeicher von einer durch eine Leseadresse angege­ benen Stelle ausliest und sie über einen zweiten Datenbus in den Datenspeicher einschreibt, und die aus dem Verzögerungs­ speicher ausgelesenen und in den Datenspeicher eingeschriebe­ nen Audiosignaldaten mit vorbestimmten Koeffizientendaten multipliziert. Entsprechend diesem DSP wird das Übertragen der anfänglichen Reflexionsschalldaten über den zweiten Da­ tenbus für Schallfeldsteuerung parallel zu der Datenübertra­ gung zur Datenmultiplikation über den ersten Datenbus ausge­ führt, so daß die unnötigen Schritte ohne Operationsbefehle für das Programm reduziert werden.
Der DSP bearbeitet Audiosignaldaten durch wiederholtes Aus­ führen des Programms bei jedem Abtastzyklus, so daß die Anzahl der Programmschritte bestimmt wird durch die Operati­ onsgeschwindigkeit der Elemente des DSP, beispielsweise der Multiplizierer. Da der erste Datenbus insbesondere häufig zum übertragen von anderen Daten als der Anfangsreflexions- Schalldaten verwendet wird, ist es erwunscht, soviel Opera­ tionen wie möglich durch die gleiche Anzahl von Schritten auszuführen.
Es ist deshalb ein Ziel der vorliegenden Erfindung, eine Pro­ grammbearbeitungsvorrichtung zu schaffen, die fast die Not­ wendigkeit des Wiederholens einer Operation beseitigen kann, um den Inhalt eines einmal erhaltenen Merkers wieder zu be­ stimmen, und so die Anzahl von Programmschritten im Ver­ gleich zum Stand der Technik herabsetzen kann.
Ein weiteres Ziel der vorliegenden Erfindung besteht darin, einen DSP zu schaffen, der die Signalbearbeitungswirksamkeit mit einer begrenzten Schrittzahl verbessern kann.
Die Erfindung schafft eine Programmbearbeitungsvorrichtung welche enthält Steuermittel zum Dekodieren eines Programms mit einem Bedingungsbefehl, und zum Erzeugen eines Befehlssi­ gnals; arithmetisches Betätigungsmittel zum Ausführen einer digitalen arithmetischen Operation entsprechend dem Befehls­ signal und zum Ausgeben eines Merkers, der einen Wert ent­ sprechend einem Ergebnis der arithmetischen Betätigung be­ zeichnet; und Merkerhaltemittel zum Halten von Merkern für Bedingungsbeurteilungen bezüglich des Bedingungsbefehls in dem Steuermittel, und sich dadurch kennzeichnet, daß das Mer­ kerhaltemittel eine vorbestimmte Anzahl von Merkern in der Erzeugungsreihenfolge hält, einschließlich dem zuletzt von dem arithmetischen Betätigungsmittel erzeugten Merker.
Weiter schafft die Erfindung eine Programmbearbeitungsvor­ richtung, welche umfaßt Steuermittel zum Dekodieren eines Pro­ gramms einschließlich eines Bedingungsbefehls und zum Erzeu­ gen eines Befehlssignals; arithmetisches Betätigungsmittel zum Ausführen einer digitalen arithmetischen Operation ent­ sprechend dem Befehlssignal und zum Ausgeben eines Merkers, der einen Wert entsprechend einem Ergebnis der arithmeti­ schen Betätigung bezeichnet; und Merkerhaltemittel zum Halten von Merkern für Bedingungsbeurteilungen bezüglich des Bedingungsbefehls in dem Steuermittel, die sich dadurch kenn­ zeichnet, daß das Steuermittel ein zweites Befehlssignal er­ zeugt, welches ein neuerliches Halten eines Merker bezeich­ net durch Dekodieren des Programms und daß das Merkerhalte­ mittel den Merker von dem arithmetischen Betätigungsmittel entsprechenddem zweiten Befehlssignal hält.
Weiter umfaßt der erfindungsgemäße DSP einen ersten Datenbus zum Übertragen von digitalen Signaldaten einschließlich an­ liegenden Digitalsignaldaten; einen zweiten Datenbus zum übertragen von Digitalsignaldaten unabhängig vom ersten Da­ tenbus; Befehlserzeugungsmittel zum Erzeugen verschiedener Arten von Befehlssignalen entsprechend einem Programm; Daten­ speichermittel; Datenspeicher-Steuermittel zum Einschreiben der über den ersten oder den zweiten Datenbus übertragenen digitalen Signaldaten in das Datenpeichermittel in Abhängig­ keit von einem Befehlssignal und zum Auslesen von digitalen Signaldaten davon und zum Senden der digitalen Signaldaten als Verzögerungsdaten zu dem zweiten Datenbus in Reaktion auf ein Befehlssignal; und arithmetisches Operationsmittel zum multiplizieren der von dem ersten Datenbus zugeführten digitalen Signaldaten mit Koeffizientendaten, und kennzeich­ net sich dadurch, daß das Datenspeichermittel eine Vielzahl von unabhängig zum Datenschreiben und -Lesen zugänglichen Speichern besitzt und daß das Datenspeicher-Steuermittel zum gleichzeitigen Steuern der Vielzahl von Speichern befähigt ist.
Die Erfindung wird nachfolgend anhand der Zeichnung bei­ spielsweise näher erläutert; in der Zeichnung zeigt
Fig. 1 ein Blockschaltbild, das die Struktur einer üblichen Programmbearbeitungsvorrichtung in einer CPU dar­ stellt,
Fig. 2 ein Flußdiagramm eines Beispiels für durch die CPU in Fig. 1 ausgeführte arithmetische Operationen,
Fig. 3 eine Zusammenstellung eines Assemblerprogramms für die CPU in Fig. 1,
Fig. 4 ein Blockschaltbild zur Darstellung einer Ausführung der vorliegenden Erfindung,
Fig. 5 ein Beispiel eines Assemblerprogramms für eine CPU aus Fig. 4,
Fig. 6 ein Blockschaltbild einer weiteren Ausführung der vorliegenden Erfindung,
Fig. 7 ein Beispiel eines Assemblerprogramms für eine CPU aus Fig. 6,
Fig. 8 ein Blockschaltbild einer weiteren Ausführung der vorliegenden Erfindung,
Fig. 9 ein Schaltbild eines besonderen Teiles der Vorrich­ tung aus Fig. 8,
Fig. 10 ein Flußdiagramm des Betriebs eines Mikrocomputers in der Vorrichtung nach Fig. 8,
Fig. 11 ein Diagramm einer Äquivalenzschaltung zum Ausführen eines Betriebs der Vorbereitung von Anfangsreflexi­ onsschalldaten, und
Fig. 12 ein Schaubild von Operationen für einzelne Stufen in einem Programm.
Fig. 1 zeigt eine übliche Programmbearbeitungsvorrichtung, wie sie in einer CPU Benutzt wird. Diese übliche Programmbe­ arbeitungsvorrichtung ist mit einer ALU (arithmetisch-logi­ schen Einheit) 1 versehen. Die ALU 1 besitzt zwei Eingangs­ klemmen, von denen eine mit einem Datenbus 2 verbunden ist. Der Datenbus 2 ist mit einem Speicher 3 verbunden. Die ande­ re Eingangsklemme der ALU 1 ist mit einem Akkumulator 4 ver­ bunden, der einer arithmetischen Operation in der ALU 1 zu unterwerfende Daten hält. Der Akkumulator 4 ist auch mit der Ausgangsklemme der ALU 1 verbunden, um Daten, die Ergebnisse einer durch die ALU 1 ausgeführten arithmetischen Operation sind, zu halten. Der Akkumulator 4 ist ferner mit dem Daten­ bus 2 verbunden und hält Daten, die aus dem Speicher 3 ausge­ lesen und über den Datenbus 2 übertragen wurden. Eine Be­ fehlsausführungssteuerung 5, eine sog. Folgesteuerung, steu­ ert den Arithmetikbetrieb der ALU 1, den Lese/Schreibe-Be­ trieb des Speichers 3 und das Datenhalten und die Einga­ be/Ausgabe-Auswahl des Akkumulators 4.
Ein Programmzähler 6 zählt von einem (nicht dargestellten) Taktgeber erzeugte Taktimpulse. Der Programmzähler 6 dient auch dazu, einen zu addierenden Wert entsprechend einem Be­ fehlssignal von der Steuerung 5 zu ändern. Beispielsweise ad­ diert der Programmzähler 6 "1" bei einem Einwort-Befehl eines Programms und "2" bei einem Zweiwort-Befehl. Ein Spei­ cheradreßregister 7 ist mit dem Programmzähler 6 verbunden und hält einen Zählwert des Programmzählers 6 als Adreßda­ ten. Der Speicheradreßregister 7 ist mit dem Datenbus 2 ver­ bunden und hält im Speicher 3 gespeicherte Adreßdaten, nicht die vom Programmzähler 6, entsprechend einem Befehlssignal von der Steuerung. Die in dem Speicheradreßregister 7 gespei­ cherten Adreßdaten bezeichnen Leseadressen in einem Programm­ speicher 8. Die aus dem Programmspeicher 8 ausgelesenen Be­ fehlsdaten werden in einem Befehlsregister 9 gehalten, der mit einem Befehlsdekodierer 10 verbunden ist. Die Befehlsda­ ten in dem Befehlsregister 9 werden durch den Befehlsdekodie­ rer 10 dekodiert und zu der Steuerung 5 gesendet. Die Steu­ erung 5 erzeugt ein Befehlssignal zum Ausführen des dekodier­ ten Befehls und liefert dieses Befehlssignal zu Elementen wie der ALU 1, dem Speicher 3 und dem Akkumulator 4, um die befehlsorientierten Operationen ausführen zu lassen.
Ein Merkerregister 11 ist mit der ALU 1 verbunden. Nach Aus­ führen einer arithmetischen Operation gibt die ALU 1 einen Merker aus, der einen Wert entsprechend dem Ergebnis der arithmetischen Operation bezeichnet, und das Merkerregister 11 hält diesen Merker. Das Merkerregister 11 besitzt eine mit der Steuerung 5 verbundene Ausgangsklemme. Wenn gerade ein Bedingungsbefehl aus dem Programmspeicher 8 ausgelesen wurde, beurteilt die Steuerung 5 diesen Zustand oder diese Bedingung nach dem Inhalt des Merkerregisters 11 und erzeugt ein Befehlssignal entsprechend dieser Beurteilung.
Der Betrieb dieser Programmbearbeitungsvorrichtung kann nach dem Flußdiagramm in Fig. 2 dargestellt werden. Daten a, b und c, stellen variable Zahlen dar und sind in dem Speicher 3 gespeichert. Die Operation beginnt mit dem Addieren der Daten a zu b und das addierte Resultat wird als Daten c im Speicher 3 gespeichert. Dann werden die Daten b von den Daten a subtrahiert und das Subtraktionsergebnis als neue Daten a im Speicher 3 gespeichert. Die Daten c werden aus dem Speicher 3 ausgelesen und dann wird beurteilt, ob die Daten c kleiner als "0" sind. Falls c < 0, werden die Daten a als "-a" im Speicher 3 gespeichert, falls c 0, werden die Daten als "2a" im Speicher 3 gespeichert.
Beim Ausführen der vorstehenden Operation mit der normalen Vorrichtung werden die Befehle entsprechend dem Programm nach Fig. 3 ausgeführt. Dieses Programm ist in einer Assem­ blersprache für eine CPU vom Typ 8086 geschrieben. Zuerst werden die Daten a von dem Speicher 3 durch einen MOV-Befehl im Schritt 1 zu dem Akkumulator (AX) 4 gesendet, und die Daten b werden im Schritt 2 zu dem Inhalt (Daten a) des Akku­ mulators 4 in der ALU 1 durch einen ADD-Befehl addiert. Das Additionsergebnis wird im Akkumulator (AX) 4 gehalten. Im Schritt 3 wird der Inhalt des Akkumulators (AX) 4 als Daten c durch den MOV-Befehl zum Speicher 3 gesendet. Die Daten b werden im Schritt 4 durch den MOV-Befehl vom Speicher 3 zum Akkumulator (AX) 4 übertragen und der Inhalt (Daten b) des Akkumulators (AX) 4 wird im Schritt 5 von den Daten a in dem Speicher 3 durch einen SUB-Befehl subtrahiert. Im Schritt 6 werden die Daten c im Speicher 3 durch einen CMP-Befehl mit "0" verglichen. Der Vergleich wird durch die ALU 1 ausge­ führt, und ein Vorzeichenmerker, der einen Wert des Ergebnis­ ses des durch die ALU 1 ausgeführten arithmetischen Vorgangs oder das Resultat des Vergleichs bezeichnet, wird im Merker­ register 11 gehalten. Falls im Schritt 7 der im Merkerregi­ ster 11 gehaltene Vorzeichenmerker "0" ist (d. h. wenn c 0), wird der nächste Schritt 8 direkt in Reaktion auf einen JS-Befehl ausgeführt, der ein Bedingungsbefehl ist. Im Schritt 8 werden die Daten a im Speicher 3 um ein Bit nach der MSB-(Most Significant Bit = Bit höchster Wertigkeit) Seite verschoben, wobei durch einen SAL-Befehl "0" an der LSB-Stelle (Least Significant Bit = Bit geringster Wertig­ keit) eingesetzt wird. Als Ergebnis sind die Daten a verdop­ pelt. Im Schritt 9 springt der Fluß zum Schritt 11 zur Been­ digung des Vorgangs.
Falls der Vorzeichenmerker im Schritt 7 "1" ist (oder c < 0) geht der Programmfluß zum Schritt 10, wo ein Komplement der Daten a durch einen NEG-Befehl erfaßt wird. Der Vorgang wird dann im Schritt 11 beendet.
Entsprechend der üblichen Programmbearbeitungsvorrichtung wird der im Merkerregister 11 gehaltene Inhalt jedesmal beim Ausführen eines arithmetischen Operationsbefehls, wie des ADD- oder SUB-Befehls aktualisiert. Im Schritt 2 wird der Inhalt des Merkerregisters 11 aktualisiert und wird ein Vor­ zeichenmerker, der das positive oder negative Vorzeichen des Ergebnisses des durch den ADD-Befehl ausgeführten Additions­ vorganges bezeichnet, wie in Fig. 3 gezeigt. Der gegenwärti­ ge im Merkerregister 11 gehaltene Wert wird dann durch den Vorzeichenmerker erneuert, der das positive oder negative Vorzeichen des Ergebnisses des durch den SUB-Befehl im Schritt 5 ausgeführten Subtraktionsvorgangs darstellt. Im Schritt 6 wird der in dem Merkerregister 11 gehaltene Ergeb­ niswert durch den Vorzeichenmerker aktualisiert, der das Re­ sultat des durch den CMP-Befehl ausgeführten Vergleichs dar­ stellt. Im Schritt 8 wird der gegenwärtige Inhalt des Merker­ registers durch das Vorzeichenregister aktualisiert, das das Ergebnis des Verschiebungsvorganges durch den SAL-Befehl be­ zeichnet. Im Schritt 10 wird der Inhalt des Merkerregisters 11 durch den Vorzeichenmerker aktualisiert, der das Ergebnis der durch den NEG-Befehl ausgeführten Vorzeichenwandlung an­ zeigt. In Fig. 3 zeigt der Kreis ○ das Aktualisieren des Vorzeichenmerkers an, und ↑ zeigt das Halten des vorhandenen Wertes des Vorzeichenmerkers an.
Das positive/negative Vorzeichen der Daten c, erkannt durch den CMP-Befehl im Schritt 6, ist das, was als Vorzeichenmer­ ker in dem Merkerregister 11 im Schritt 2 gehalten wird. Da der Inhalt des Merkerregisters 11 jedoch im Schritt 5 aktua­ lisiert wird, wird der im Schritt 2 festgestellte Vorzeichen­ merker aus dem Merkerregister 11 verloren, obwohl er im Schritt 6 benötigt wird. Deswegen muß der CMP-Befehl das po­ sitive/negative Vorzeichen der Daten c bestimmen. Nach dem Stand der Technik kann der einmal bestimmte Merker verloren werden, und wenn er beim Fortschritt des Programms benötigt wird, wird so eine Operation nötig, um den Merker wieder zu bestimmen. Das erhöht unerwünschterweise die Anzahl der Pro­ grammschritte.
Nachfolgend wird eine Ausführung der vorliegenden Erfindung beschrieben, die diesen Nachteil überwinden kann.
Nach Fig. 4, in der die gleichen Bezugszeichen wie in Fig. 1 benutzt werden, um entsprechende oder identische Komponenten zu bezeichnen, enthält die Programmbearbeitungsvorrichtung erste, zweite und dritte Merkerregister 21, 22 bzw. 23 als Merkerhaltemittel. Dieses erste, zweite und dritte Merkerre­ gister 21 bis 23 bildet ein einziges Schieberegister. Der Eingang des ersten Merkerregisters 21 ist mit der Merker- Abgabeklemme der ALU 1 verbunden. Wenn z. B. ein Merker A durch die ALU 1 erzeugt wird, wird der Merker A zuerst dem ersten Merkerregister 21 zugeführt und da gehalten. Wenn dann ein Merker B von der ALU 1 erzeugt wird, wird der in dem ersten Merkerregister 21 gehaltene Merker A in das zweite Merkerregister 22 verschoben und dort gehalten, und der Merker B in dem ersten Merkerregister 21 gehalten. Wenn dann ein Merker C von der ALU 1 erzeugt wird, wird der in dem zweiten Merkerregister 22 gehaltene Merker A zu dem drit­ ten Merkerregister 23 geschoben und dort gehalten, der Merker B im ersten Merkerregister 21 wird in das zweite Mer­ kerregister 22 geschoben, um dort gehalten zu werden, und der Merker C wird im ersten Merkerregister 21 gehalten. Ein mit dem von der ALU 1 erzeugten Merker synchronisiertes Im­ pulssignal wird als Schiebeimpuls dem ersten, zweiten und dritten Merkerregister 21 bis 23 von einem (nicht dargestell­ ten) Mittel zugeleitet und die in den Registern gehaltenen Merker werden in Reaktion auf den Schiebeimpuls geschoben.
Ein Selektor 24 ist mit den Ausgangsklemmen des ersten bis dritten Merkerregisters 21 bis 23 verbunden. Dieser Selektor leitet wahlweise elektrisch eines der Ausgangssignale des ersten bis dritten Merkerregisters 21 bis 23 zu einer Steu­ erung 5.
Der übrige Aufbau ist gleich dem in Fig. 1 gezeigten.
Beim Ausführen des Betriebs der Programmbearbeitungsvorrich­ tung erfindungsgemäßer Art nach Fig. 4 werden Befehle ent­ sprechend dem Assemblerprogramm nach Fig. 2 ausgeführt. Zuerst werden im Schritt 1 die Daten a zu dem Akkumulator (AX) 4 vom Speicher 3 mittels eines MOV-Befehls gesendet, und im Schritt 2 werden die Daten b durch einen ADD-Befehl zum Inhalt (Daten a) des Akkumulators (AX) 4 in der ALU 1 ad­ diert. Das Additionsergebnis wird in dem Akkumulator (AX) 4 gehalten. Ein das positive oder negative Vorzeichen des Wertes des Additionsergebnisses bezeichnender Vorzeichenmer­ ker wird im ersten Merkerregister 21 gehalten. Der Vorzei­ chenmerker ist "1", wenn der Wert negativ, und "0", wenn er positiv ist. Im Schritt 3 wird der Inhalt des Akkumulators (AX) 4 als Daten c durch einen MOV-Befehl zum Speicher 3 ge­ sendet. Die Daten b werden im Schritt 4 durch den MOV-Befehl von dem Speicher 3 zum Akkumulator (AX) 4 übertragen, und im Schritt 5 wird der Inhalt (Daten b) des Akkumulators (AX) 4 durch einen SUB-Befehl von den Daten a im Speicher 3 subtra­ hiert. Der das positive oder negative Vorzeichen der Daten c bezeichnende Vorzeichenmerker wird von dem ersten Merkerregi­ ster 21 in das zweite Merkerregister 22 geschoben, und der das positive oder negative Vorzeichen des durch den SUB- Befehl erhaltenen Subtraktionsergebnisses bezeichnende Vor­ zeichenmerker wird im ersten Merkerregister 21 gehalten. Wenn der im zweiten Merkerregister 22 gehaltene Vorzeichen­ merker im Schritt 6 "0" ist (d. h. c 0), dann wird der näch­ ste Schritt 7 direkt in Abhängigkeit von einem JS(2)-Befehl ausgeführt, der ein Bedingungsbefehl ist. Im Schritt 7 werden die Daten a im Speicher 3 um ein Bit nach der Seite größerer Mächtigkeit (MSB-Seite) verschoben, und "0" durch einen SAL-Befehl an der LSB-Stelle (least significant bit) eingesetzt. Damit werden die Daten a verdoppelt. Im Schritt 8 springt der Fluß zum Schritt 10 (JMP), um den Vorgang abzu­ schließen.
Falls im Schritt 6 der im zweiten Merkerregister 22 gehalte­ ne Vorzeichenmerker "1" ist (d. h. c < 0), geht das Programm zum Schritt 9 weiter, in dem ein Komplement der Daten a durch einen NEG-Befehl bestimmt wird. Der Vorgang wird dann im Schritt 10 beendet. In Fig. 5 zeigt der Kreis ○ das Nach­ stellen des Vorzeichenmerkers, ↑ das Halten des gegenwärti­ gen Wertes des Vorzeichenmerkers und der gestrichelte schrä­ ge Pfeil eine Verschiebung an.
Wie vorstehend beschrieben, wird der das positive oder nega­ tive Vorzeichen der Daten c anzeigende Vorzeichenmerker im Schritt 2 im ersten Merkerregister 21 und der das positive oder negative Vorzeichen des Subtraktionsergebnisses "a-b" nach dem SUB-Befehl bezeichnende Vorzeichenmerker im Schritt 5 im ersten Vorzeichenregister 21 gehalten. Da jedoch der vorherige Vorzeichenmerker von dem ersten Merkerregister 21 zu dem zweiten Merkerregister 22 geschoben und dort gehalten wurde, ist es nur notwendig, im Schritt 6 das positive oder negative Vorzeichen der Daten c aus dem Vorzeichenmerker im zweiten Merkerregister 22 zu bestimmen. Es ist also unnötig, die Daten c aus dem Speicher 3 auszulesen und das Vorzeichen der Daten c durch einen arithmetischen Vorgang entsprechend dem CMP-Befehl zu bestimmen.
Nach dem gezeigten Beispiel wird, wenn das Programm nur aus wenigen Schritten besteht, nur ein Schritt weniger als beim Stand der Technik gebraucht. Je größer die Anzahl von Schrit­ ten in dem herkömmlichen Programm, d. h. je komplizierter das Programm ist, um so hervorstechender wird die Auswirkung des erfindungsgemäßen Vorgehens. Wenn das Programm auch das dritte Merkerregister 23 benutzt, wird die Auswirkung der vorliegenden Erfindung noch bedeutsamer.
Bei den beschriebenen Ausführungen ist der Bedingungsbefehl der JS(2)-Befehl. Wenn es ein JS(1)-Befehl ist, wird die Be­ dingung aus dem Inhalt des im ersten Merkerregister 21 gehal­ tenen Vorzeichenmerkers erkannt. Bei einem JS(3)-Befehl wird die Bedingung nach dem Inhalt des im dritten Merkerregister 23 gehaltenen Vorzeichenmerkers beurteilt. Die Angabe des Vorzeichenmerkers zum Bestimmen der Bedingung in einem Befehl wird auch bei anderen Bedingungsbefehlen benutzt. Obwohl die vorstehende Beschreibung dieser Ausführung in bezug auf den Fall gegeben wurde, daß als Merker ein Vorzei­ chenmerker benutzt wird, ist die vorliegende Erfindung nicht auf diese besondere Vorgehensart beschränkt. Beispielsweise kann die Erfindung auch dann angewendet werden, wenn ein Übertrag-Merker vorhanden ist, der das Überschießen einer sich aus Addition oder Subtraktion ergebenden Zahl bezeich­ net, oder ein Nullmerker, der anzeigt, daß das Ergebnis der arithmetischen Operation eine "0" ist.
Weiter wurde zwar die beschrieben Ausführung ausgewählt mit Bezug auf eine Programmbearbeitungsvorrichtung einer CPU, jedoch ist die Erfindung auch keineswegs auf diesen Fall beschränkt und kann ebensogut bei einer Programmbearbeitungs­ vorrichtung eines DSP angewendet werden.
Wie vorstehend beschrieben, ist die Programmbearbeitungsvor­ richtung erfindungsgemäßer Art mit dem Merker-Haltemittel ausgerüstet zum Halten einer vorbestimmten Anzahl von Mer­ kern einschließlich des gerade neu von dem arithmetischen Betätigungsmittel in der Ausgabeordnung erzeugten Merker. Das bedeutet, nicht nur der gerade neu von dem arithmeti­ schen Betätigungsmittel erzeugte Merker, sondern auch die älteren werden in dem Merkerhaltemittel gehalten. Es ist aus diesem Grund möglich, zu verhindern, daß ein einmal erziel­ ter Merker verloren ist, wenn er benötigt wird, und so wird die Notwendigkeit, eine Betätigungsfolge auszuführen, um den verlorenen Merker neu festzustellen, wie es nach dem Stand der Technik der Fall ist, beseitigt. Die erfindungsgemäße Programmbearbeitungsvorrichtung kann den Freiheitsgrad stei­ gern durch Anordnung von Schritten in einem Programm, die Be­ dingungsbefehle ausführen, und kann die Anzahl von Schritten des Programms im Vergleich der nach dem Stand der Technik nötigen herabsetzen.
Es wird nun eine andere Ausführung der vorliegenden Erfin­ dung beschrieben.
In Fig. 6 ist, mit den gleichen Bezugszeichen wie in Fig. 1 für entsprechende oder identische Bestandteile, eine Pro­ grammbearbeitungsvorrichtung gezeigt mit einem Merkerregi­ ster 26 und einem Selektor 27, durch die zusammen ein Merker­ haltemittel gebildet ist. Das Merkerregister 26 erhält von einem (nicht dargestellten) Takterzeugungsmittel ein Impuls­ signal synchron zu dem Ausführungszyklus eines Programms und hält einen Merker als Eingangsdaten entsprechend dem Impuls­ signal. Der Selektor 27 besitzt eine Eingangsklemme, die mit der Merkerausgangsklemme der ALU 1 verbunden ist, und eine weitere Eingangsklemme, die mit der Ausgangsklemme des Mer­ kerregisters 26 verbunden ist. Der Selektor 27 besitzt eine Ausgangsklemme, die mit der Eingangsklemme des Merkerregi­ sters 26 verbunden ist. Der Selektor 27 ist normal so ge­ setzt, daß er die Ausgangsklemme des Merkerregisters 26 mit dessen Eingangsklemme elektrisch verbindet, so daß der im Merkerregister 26 befindliche Merker in Reaktion auf das Im­ pulssignal wieder gehalten wird. In Abhängigkeit von einem Befehlssignal von der Steuerung 5 verbindet der Selektor 27 die Merkerausgangsklemme der ALU 1 mit der Eingangsklemme des Merkerregisters 26.
Der übrige Aufbau ist gleich dem in Fig. 1 dargestellten.
Beim Ausführen des Ablaufes nach Fig. 2 mit dieser Ausfüh­ rung der Programmbearbeitungsvorrichtung werden Befehle ent­ sprechend dem Assemblerprogramm nach Fig. 7 ausgeführt.
Zuerst werden im Schritt 1 die Daten a durch einen MOV-Be­ fehl von dem Speicher 3 zum Akkumulator (AX) 4 gesendet und im Schritt 2 durch einen ADD-Befehl die Daten b zu dem Inhalt (Daten a) des Akkumulators (AX) 4 in der ALU 1 ad­ diert. Das Ergebnis dieser Addition wird im Akkumulator (AX) 4 gehalten. Ein das positive oder negative Vorzeichen des Ad­ ditionsergebnisses bezeichnender Merker wird durch die ALU 1 erzeugt. Der ADDF-Befehl läßt die Steuerung 5 ein erstes Be­ fehlssignal erzeugen, um zuzulassen, daß die ALU 1 eine Addi­ tion ausführt, und ein zweites Befehlssignal zum Aktivieren des Selektors 27 im Ausführungszyklus des ADDF-Befehls.
Anders gesagt, der Selektor 27 verbindet elektrisch die Mer­ kerausgangsklemme der ALU 1 mit der Eingangsklemme des Mer­ kerregisters 26. Der Vorzeichenmerker von der ALU 1 wird also über den Selektor 27 dem ersten Merkerregister 26 zuge­ leitet und da gehalten. Der Vorzeichenmerker ist "1", wenn der Wert negativ ist und "0", wenn er positiv ist. Bei einem gewöhnlichen ADD-Befehl wird dagegen der durch die Addition, die die ALU 1 ausführt, entstehende Vorzeichenmerker eben­ falls erzeugt, jedoch nicht beachtet.
Im Schritt 3 wird durch den MOV-Befehl der Inhalt des Akkumu­ lators (AX) 4 als Daten c zum Speicher 3 gesendet. Die Daten b werden durch den MOV-Befehl im Schritt 4 von dem Speicher 3 zum Akkumulator (AX) 4 übertragen und im Schritt 5 wird durch einen SUB-Befehl der Inhalt (Daten b) des Akkumulators (AX) 4 von den Daten a im Speicher 3 subtrahiert. Der das po­ sitive oder negative Vorzeichen des Subtraktionsergebnisses, das durch SUB-Befehl erhalten wurde, wird von der ALU 1 er­ zeugt. Da die Ausgangsklemme und die Eingangsklemme des Mer­ kerregisters 26 durch den Selektor 27 elektrisch miteinander verbunden sind, hält das Merkerregister 27 weiterhin den das positive oder negative Vorzeichen der Daten c bezeichnenden Vorzeichenmerker. Falls der im Merkerregister 26 gehaltene Vorzeichenmerker im Schritt 6 "0" ist (d. h. c 0) wird der nächste Schritt 7 direkt ausgeführt in Reaktion auf einen JS-Befehl, der ein Bedingungsbefehl ist. Im Schritt 7 werden die Daten im Speicher 3 um ein Bit zur MSB-Seite verschoben, und durch einen SAL-Befehl wird eine "0" als LSB eingesetzt. Damit werden die Daten a verdoppelt. Im Schritt 8 springt das Programm zum Schritt 10, um den Vorgang zu beenden.
Falls der Vorzeichenmerker im Merkerregister 26 beim Schritt 6 "1" ist (d. h. c < 0), geht das Programm zum Schritt 9, in dem ein Komplement der Daten a durch einen NEG-Befehl be­ stimmt wird. Der Vorgang wird dann im Schritt 10 beendet.
Auch in Fig. 7 bezeichnet der Kreis ○ das Aktualisieren des Vorzeichenmerkers im Merkerregister 26 und ↑ bezeichnet das Halten des vorhandenen Wertes des Vorzeichenmerkers.
Wie vorstehend beschrieben wird, wird zwar der das positive oder negative Vorzeichen der Daten c bezeichnende Vorzeichen­ merker im Schritt 2 im Merkerregister 26 erhalten, aber der das positive oder negative Vorzeichen des infolge des SUB-Be­ fehls durch die ALU 1 erhaltenen Subtraktionsergebnisses "a-b", wird erzeugt, jedoch nicht zum Vorzeichenregister 26 gebracht, so daß das Vorzeichenregister den das positive oder negative Vorzeichen der Daten c bezeichnenden Vorzei­ chenmerker im Schritt 5 weiter halten kann. Es ist deshalb nur nötig, das positive oder negative Vorzeichen der Daten c im Vorzeichenregister 26 zu bestimmen. Mit anderen Worten, es ist nicht nötig, die Daten c aus dem Speicher 3 auszule­ sen und das Vorzeichen dieser Daten c durch einen arithmeti­ schen Vorgang entsprechend dem CMP-Befehl zu bestimmen.
Bei dem eben beschriebenen Beispiel wird, da das Programm nur aus wenigen Schritten besteht, nur ein Schritt im Ver­ gleich zum Stand der Technik gespart. Je größer die Anzahl von Schritten bei dem herkömmlichen Programm ist, d. h. je komplizierter das Programm, um so mehr sticht die Auswirkung der vorliegenden Erfindung hervor.
Bei der beschriebenen Ausführung wird der ADDF-Befehl be­ nutzt, jedoch ist die Erfindung nicht auf diesen besonderen Fall beschränkt, sondern kann auch mit anderen arithmeti­ schen Operationsbefehlen mit dem Zusatz "F" arbeiten. Wenn beispielsweise ein SUBF-Befehl ausgeführt wird, befiehlt er der ALU 1, eine Subtraktion auszuführen und den Selektor 27 innerhalb des Ausführungszyklus dieses Befehls zu aktivieren und dadurch den Inhalt des Merkerregisters 26 zu aktualisie­ ren. Zwar wurde die bisherige Beschreibung dieser Ausführung mit Bezug auf die Verwendung eines Vorzeichenmerkers als Merker durchgeführt, jedoch ist die vorliegende Erfindung nicht auf diesen besonderen Fall beschränkt. Beispielsweise kann die Erfindung auch angewendet werden, wenn ein Übertrag­ merker das Überfließen einer Zahl anzeigt, die durch eine Ad­ dition oder Subtraktion erzeugt wurde, oder es kann ein Null­ merker anzeigen, daß das Ergebnis einer arithmetischen Opera­ tion "0" ist.
Weiter wurde die Ausführung zwar in bezug auf eine Programm­ bearbeitungsvorrichtung einer CPU beschrieben, jedoch ist die vorliegende Erfindung auch nicht auf diesen Fall be­ schränkt und kann ebenso auf die Programmbearbeitungsvorrich­ tung eines DSP angewendet werden.
Wie vorstehend beschrieben, erzeugt entsprechend der erfin­ dungsgemäßen Programmbearbeitungsvorrichtung das Dekodieren eines Programmes ein Befehlssignal, das das neuerliche Halten eines Merkers bezeichnet, und der von dem arithmeti­ schen Betätigungsmittel erzeugte Merker wird in dem Merker­ haltemittel entsprechend dem Befehlssignal gehalten. Das be­ deutet, das Merkerhaltemittel kann nur den Merker halten, der für einen später erfolgenden Bedingungsbefehl nötig ist. Es ist deswegen möglich, zu verhindern, daß ein einmal er­ zeugter Merker verloren ist, wenn er benötigt wird, und so die Notwendigkeit zu beseitigen, eine Wiedergewinnungsbetäti­ gung für den Merker auszuführen, der nach dem Stand der Tech­ nik verloren war. Die erfindungsgemäße Programmbearbeitungs­ vorrichtung kann den Freiheitsgrad vergrößern beim Anordnen von Schritten in einem Programm, welche Bedingungsbefehle ausführen, und kann die Anzahl der Schritte im Vergleich zum Stand der Technik verringern.
Es wird nun eine weitere Ausführung der vorliegenden Erfin­ dung beschrieben.
Fig. 8 zeigt eine Audiosignal-Bearbeitungsvorrichtung mit einem erfindungsgemäßen DSP. Ein analoges Audiosignal wird über einen A/D-Wandler 31 zu einer Eingabe/Ausgabe (I/O)-Schnittstelle 33 in einem DSP 32 gesendet. Die I/O-Schnitt­ stelle 33 ist mit einem ersten Datenbus 34 verbunden. Der erste Datenbus 34 ist mit zwei Signaldaten-RAMs 35 und 36 verbunden, die als Datenspeicher zum Speichern von Audio­ signaldaten dienen. Der Datenbus 34 ist auch mit einem Puf­ fer- oder Zwischenspeicher 37 verbunden, dessen Ausgangsklem­ me mit einer Eingangsklemme eines Multiplizierers 38 verbun­ den ist. Die andere Eingangsklemme des Multiplizierers 38 ist mit einem Pufferspeicher 39 verbunden, der Koeffizienten­ daten hält. Der Pufferspeicher 39 ist weiter mit einem Koef­ fizientendaten-RAM 40 verbunden, der verschiedene Sätze von Koeffizientendaten speichert. Eine ALU 41 ist fur arithmeti­ sche Operationen vorgesehen, beispielsweise zum Akkumulieren des errechneten Ausgangssignal des Multiplizierers 38. Die ALU 41 erhält dann an einer Eingangsklemme das errechnete Ausgangssignal vom Multiplizierer 38 und an der anderen Ein­ gangsklemme das Ausgangssignal eines Akkumulators 42, der das errechnete Ausgangssignal der ALU 41 hält. Die Ausgangs­ klemme des Akkumulators 42 ist mit dem Datenbus 34 verbun­ den.
Die Signaldaten-RAMs 34 und 36 sind mit einem zweiten Daten­ bus 44 verbunden. Wie in Fig. 9 besonders dargestellt, sind 3-Zustands-Puffer 70a und 70b zwischen dem Signaldaten-RAM 35 und im ersten Datenbus 34 vorgesehen, und 3-Zustands-Puf­ fer 71a und 71b zwischen dem RAM 35 und dem zweiten Datenbus 44. Diese Puffer 70a, 70b, 71a und 71b werden je für sich freigegeben und gesperrt in Abhängigkeit von einem Befehlssi­ gnal, das, wie später zu beschreiben, von einer Folgesteu­ erung 48 kommt. Im einzelnen wird der Puffer 70a freigege­ ben, wenn die Signaldaten vom ersten Datenbus 34 in den RAM 35 eingeschrieben werden, während der Puffer 70b freigegeben wird, wenn die Signaldaten aus dem RAM 35 auf den ersten Da­ tenbus 34 ausgelesen werden. In gleicher Weise wird der Puf­ fer 71a freigegeben, wenn die Signaldaten vom zweiten Daten­ bus 44 in den RAM 35 eingeschrieben werden, und der Puffer 71b wird treigegeben, wenn die Signaldaten von dem RAM 35 auf den zweiten Datenbus 44 ausgelesen werden. Es ist immer nur einer der drei Zustandspuffer 70a, 70b, 71a und 71b ent­ sprechend dem Befehlssignal freigegeben. Bei dem Signalda­ ten-RAM 36 sind vier 3-Zustands-Puffer vorgesehen, um zwi­ schen Eingangs- und Ausgangs-Datenrichtungen umzuschalten.
Eine Speichersteuerung 61 erzeugt ein Steuersignal zur Steu­ erung des Datenschreibens und -lesens bei den Signaldaten- RAMs 35 und 36 bezüglich des ersten Datenbus 34. Eine Spei­ chersteuerung 62 erzeugt ein Steuersignal, um das Daten­ schreiben und -lesen der Signaldaten-RAMs 35 und 36 bezüg­ lich des zweiten Datenbus 44 zu steuern. Ein Selektor 63 sitzt zwischen dem Signaldaten-RAM 35 und den Speichersteu­ erungen 61 und 62, und ein Selektor 64 zwischen dem Signalda­ ten-RAM 36 und den Speichersteuerungen 61 und 62. Die Selek­ toren 63 und 64 werden entsprechend einem Befehlssignal von der Folgesteuerung 48 betätigt, wobei ein Steuersignal zum Aussenden zu dem Daten-RAM 35 oder 36 ausgewählt wird. Der RAM 40 ist mit einer Speichersteuerung 65 gleichartig zu den Speichersteuerungen 61 und 62 verbunden.
Der Datenbus 44 ist mit einer Schnittstelle 46 zum Übertra­ gen von Daten zu einem externen RAM 45 verbunden. Der exter­ ne RAM 45 ist ein Verzögerungsspeicher, der vorgesehen ist, Verzögerungssignaldaten aus den Audiosignaldaten zu berei­ ten. Je größer die Speicherkapazität wird, um so länger kann die Verzögerungszeit der Verzögerungssignaldaten gestaltet werden. Eine Speichersteuerung 66 ist vorgesehen, um Schreib- und Lese-Adressen des RAM 45 zuzuordnen und mit einem Verzögerungsdaten-RAM 47 verbunden. Eine Speichersteu­ erung 69 steuert den RAM 47 zum Schreiben und Lesen der Ver­ zögerungszeitdaten.
Die Folgesteuerung 48 steuert die Betätigungen der Schnitt­ stellen 33 und 46, des Multiplizierers 38, der Pufferspei­ cher 37 und 39, der ALU 41, des Akkumulators 42, der Spei­ chersteuerungen 61, 62, 65, 66 und 69 und der Selektoren 63 und 64. Die Folgesteuerung 48 ist mit einem Programm-RAM 49 verbunden und wird entsprechend dem in den Programm-RAM 49 eingeschriebenen Programm betrieben. Der Programm-RAM 49 ist mit einem Programmzähler 50 verbunden. Wenn sich der Zähl­ wert des Programmzählers 50 erhöht, wird ein Befehlscode des dem aktualisierten Wert entsprechenden Schrittes aus dem Pro­ gramm-RAM 49 ausgelesen und der Folgesteuerung 48 zugeführt. Die Folgesteuerung 48 ist mit einem Instruktionsregister 51 verbunden, welche Mehrfach-Instruktionen von einem Mikrocom­ puter 54 hält, wie später beschrieben wird. Der Programm-RAM 49 und das Register 51 sind jeweils mit einem Haupt-Bus 52 verbunden. Der Haupt-Bus 52 ist über eine Schnittstelle 5 mit einem Mikrocomputer 54 verbunden, und der Bus 52 ist weiter mit Übertragungspuffern 56 und 57 verbunden. Der Über­ tragungspuffer 56 hält zeitweilig die vom Mikrocomputer 54 zugeführten Koeffizientendaten, um die Daten im RAM 40 zu speichern. Der Übertragungspuffer 57 hält zeitweilig die vom Mikrocomputer 54 zugeleiteten Verzögerungsdaten, um die Daten im RAM 47 zu speichern.
Der Mikrocomputer 54, der einen RAM, einen ROM und eine Schnittstelle (alle nicht dargestellt) umfaßt, ist mit einem Tastenfeld 55 verbunden. Das Tastenfeld 55 besitzt eine Viel­ zahl von Betriebsart-Tasten, um Schallfeld-Betriebsarten mit unterschiedlichen Schallfeldeigenschaften anzugeben, z. B. Hall 1 und Hall 2 und andere Tasten, wie eine Frequenzband- Einstelltaste zum Einstellen eines graphischen Equalizers, eine Pegelsteuertaste und eine Stumm-Taste (alle nicht ge­ zeigt). Vorher sind in den ROM des Mikrocomputers 54 eine Vielzahl von durch die Folgesteuerung 48 auszuführenden Fol­ gesteuerprogrammen eingeschrieben worden, die zusätzlich zu einem DSP-Steuerprogramm ausgeführt werden, das durch den Mi­ krocomputer 54 selbst auszuführen ist, außerdem eine Viel­ zahl von Koeffizientendaten-Gruppen, die dem RAM 40 zuzufüh­ ren sind, und eine Vielzahl von Verzögerungszeitdaten-Grup­ pen zur Zuführung zum RAM 47, um Leseadressen einzustellen.
Ein Taktgeber 58 ist im DSP 32 vorgesehen und sendet Taktim­ pulse zu der Folgesteuerung 48 oder zum Programmzähler 50. Die Taktimpulse vom Taktgeber 58 werden zum Abtasten des A/D-Wandlers 31 als Zeitsignal zugeführt.
Die Audiosignaldaten von der Schnittstelle 33 werden einem Stummschaltkreis 60 zugeführt. Wenn der Kreis 60 EIN-geschal­ tet ist, werden die Audiosignaldaten weiter uber ein Digitai­ filter 67 zu einem D/A-Wandler 68 geleitet. Das EIN/AUS- Schalten des Kreises 60 wird durch ein Befehlssignal von der Folgesteuerung 48 gesteuert.
Mit der beschriebenen Anordnung erzeugt die Folgesteuerung 48 verschiedene Befehlssignale zusätzlich zu den Befehlssi­ gnalen zum Freigeben oder Sperren der erwähnten 3-Zustands- Puffer 70a-71b und des Stummschalt-Kreises 60. Diese Befehls­ signale enthalten ein Befehlsignal zum übertragen der im Übertragerpuffer 56 gehaltenen Koeffizientendatengruppe zu dem RAM 40, ein Befehlssignal zum Übertragen der in dem Über­ tragungspuffer 57 gehaltenen Gruppe von Adreßdaten zu dem RAM 47, ein Befehlssignal zum Übertragen der Audiosignalda­ ten von der Schnittstelle 33 zu angegebenen Adressen in den Signaldaten-RAMs 35 und 36, ein Befehlssignal zum Auslesen von Signaldaten von den angegebenen Adressen der Signalda­ ten-RAMs 35 und 36 und zum Übertragen derselben zu dem Puf­ ferspeicher 37, ein Befehlssignal zum Auslesen von Koeffi­ zientendaten von einer festgelegten Adresse im RAM 40 und zum Übertragen derselben zu dem Pufferspeicher 39, ein Be­ fehlssignal, um die ALU verschiedene arithmetische Operatio­ nen ausführen zu lassen, ein Befehlssignal zum Übertragen von in dem Akkumulator 42 gehaltenen Signaldaten zu festge­ setzten Adressen der Signaldaten-RAMs 35 und 36 oder den Puf­ ferspeichern 37, ein Befehlssignal zum Übertragen von Signal­ daten zu einer verzögerungs-spezifizierten Adresse des exter­ nen RAM 45 zu einer angegebenen Adresse des Signaldaten-RAM 36, und ein Rückstellbefehlssignal zum Initialisieren der RAMs 35 und 36 und des externen RAM 45. Diese Befehlssignale werden mit der richtigen Zeitfolge entsprechend einem Befehl von dem Mikrocomputer 54 oder dem im Programm-RAM 49 gespei­ cherten Programm erzeugt. Da die Instruktionen vom Mikrocom­ puter 54 im Instruktionsregister 51 gehalten sind, überwacht die Folgesteuerung 48 den Inhalt des Instruktionsregisters 51 während der programmorientierten Betätigung und erzeugt ein Befehlssignal für das Instruktionsregister vom Mikrocom­ puter 54 durch eine Interrupt-Betätigung. Die im Instruk­ tionsregister 51 gehaltene Instruktion wird z. B. durch die Folgesteuerung 48 gelöscht oder aufgehoben, wenn ein entspre­ chendes Befehlssignal erzeugt ist.
Wenn irgendeine Modustaste in dem Tastenfeld 55 betätigt wird, erkennt der Mikrocomputer 54, ob es eine Modustaste zur Angabe eines anderen Schallfeldmodus als dem gegenwärtig eingeschalteten Schallfeldmodus ist (Schritt S1), wie in Fig. 10 gezeigt. Wenn ein anderer Schallfeldmodus als der ge­ genwärtig in Betrieb befindliche angegeben wird, erzeugt der Mikrocomputer 54 einen Stummbefehl für die Folgesteuerung 48, um unmittelbar den Stummschaltkreis 60 AUS-zuschalten durch Setzen eines Stummodus (Schritt S2) und liest die zu der betätigten Taste gehörigen Koeffizientendatengruppen c1, c2, ..., cn und die Verzögerungsdatengruppen t1, t2, ...tn aus dem ROM aus und überträgt sie (Schritte S3-S5). Das Folgesteuerprogramm wird über die Schnittstelle 53 und den Haupt-Bus 52 zum RAM 49 übertragen und da mittels einer (nicht dargestellten) Speicherschreibsteuerung eingeschrie­ ben. Die Koeffizientendatengruppen werden über die Schnitt­ stelle 53 oder den Haupt-Bus 52 zum Übertragungspuffer 56 übertragen. Die Verzögerungszeitdatengruppen werden über die Schnittstelle 53 und den Haupt-Bus 52 zum Übertragungspuffer 57 übertragen. Wenn die Koeffizientendaten und die Verzöge­ rungszeitdaten jeweils zu den Übertragungspuffern 56 bzw. 57 gesendet sind, erzeugt der Mikrocomputer 54 einen Daten­ schaltbefehl für die Folgesteuerung 48 (Schritt S6) und einen zugehörigen Initialisierungsbefehl (Schritt S7). In Reaktion auf den Datenschaltbefehl erzeugt die Folgesteu­ erung 48 ein vorbestimmtes Befehlssignal für die Speicher­ steuerungen 65 und 69 zum Einschreiben der zu den Übertra­ gungspuffer 56 übertragenen Koeffizientendatengruppen in einen vorbestimmten Bereich des RAM 40 und zum Einschreiben der zu dem Übertragungspuffer 57 übertragenen Verzögerungs­ zeitdatengruppen in einen vorbestimmten Bereich des RAM 47. In Reaktion auf den Initialisierungsbefehl erzeugt die Folge­ steuerung 48 ein Rückstellbefehlssignal für die Speichersteu­ erungen 61, 62 und 65, um in jeden Speicherbereich der Si­ gnaldaten RAMs 35 oder 36 und des externen RAM 45 "0" einzu­ schreiben.
Nach Ausführen des Schritts S7 wird ein Stumm-Lösebefehl zu der Folgesteuerung 48 (Schritt S8) erzeugt, um den Stumm- Schaltkreis 60 zum Lösen des Stumm-Modus zu veranlassen. Anders gesagt, der Stumm-Schaltkreis 60 wird aus- (stumm-)ge­ schaltet während des Zeitraums, in dem die RAMs 40, 47 und 49 geändert werden, um den aktuellen Schallfeldmodus in einen anderen Schallfeldmodus umzuschalten. Das geschieht deshalb, um zu verhindern, daß ein durch die Daten- oder Pro­ grammänderung erzeugtes Rauschsignal ausgegeben wird.
Es wird nun eine die Signaldatenbearbeitung im DSP 32 betref­ fende Beschreibung gegeben. Ein zu dem A/D-Wandler 31 gesen­ detes Audiosignal wird in digitale Audiosignaldaten gewan­ delt mit Abtastzyklen, die mit dem Taktimpuls vom Taktgeber 58 synchronisiert sind. Die digitalen Audiosignaldaten werden von der Eingangsklemme AIN des DSP 32 über die Schnittstelle 33 zum ersten Datenbus 34 geleitet. Eine Gruppe von an den Datenbus 34 gesendeten Signaldaten wird zur Speicherung zum RAM 35 oder 36 gebracht.
Die in den RAM 36 eingeschriebenen Signaldaten werden sequen­ tiell an ein (nicht dargestelltes) Ausgangsregister in der Schnittstelle 46 übertragen, dann vom Ausgangsregister zu dem externen RAM 45 gesendet zum Einschreiben in einen durch die Schreibadresse angegebenen Speicherplatz. Diese Schreib­ adresse wird durch die Speichersteuerung 66 zur Änderung von Adressen gesteuert, deren Anzahl der Zahl der Speicherplätze des externen RAM 45 entspricht, und zwar in einer vorbestimm­ ten Reihenfolge für jeweilige Übertragungssignaldaten. Si­ gnaldaten an einem durch die Leseadresse angegebenen Spei­ cherplatz im externen RAM 45 werden ausgelesen und zu einem (nicht dargestellten) Eingangsregister in der Schnittstelle 46 geleitet. Da die im RAM 47 gespeicherten Verzögerungszeit­ daten durch die Speichersteuerung 69 ausgelesen und zur Spei­ chersteuerung 66 geführt werden, wird die Leseadresse be­ stimmt mit der Schreibadresse als Referenz entsprechend den Verzögerungszeitdaten in der Speichersteuerung 66. Das heißt, der Abstand zwischen dem Zeitpunkt des Einschreibens einzelner Signaldaten in den RAM 45 und dem Zeitpunkt des Auslesens derselben von dort wird eine Verzögerungszeit. Die Signaldaten, die zu dem Eingangsregister in der Schnittstel­ le 46 übertragen und dort gehalten werden, werden über den zweiten Datenbus 44 zum Signaldaten-RAM 35 oder 36 gesendet. Die Verzögerungs-Audiosignaldaten werden durch diesen Daten­ übertragungsvorgang an den externen RAM 45 hergestellt.
Die aus dem RAM 40 ausgelesenen Koeffizientendaten werden dem Pufferspeicher 39 zugeführt und da gehalten. Zum richti­ gen durch die Folgesteuerung 48 angegebenen Zeitpunkt werden die Signaldaten erst vom RAM 35 zum Pufferspeicher 37 über­ tragen, und diese Signaldaten werden mit dem im Pufferspei­ cher 39 gehaltenen Koeffizientendaten durch den Multiplizie­ rer 38 multipliziert. Die Daten des Multiplikationsergebnis­ ses werden über die ALU 41 zum Akkumulator 42 geleitet und da gehalten. Dann werden Koeffizientendaten neuerdings aus dem RAM 40 ausgelesen und zum Pufferspeicher 39 geleitet und Signaldaten vom RAM 36 ausgelesen. Der Multiplizierer 38 mul­ tipliziert die im Pufferspeicher 37 gehaltenen Signaldaten mit den in dem Pufferspeicher 39 gehaltenen Koeffizientenda­ ten. Die Daten des Multiplikationsergebnisses werden den im Akkumulator 42 gehaltenen Daten durch die ALU 41 hinzuge­ fügt, und die sich ergebenden Daten wieder im Akkumulator 42 gehalten. Dieser Vorgang wird wiederholt, und so werden die Anfangs-Reflexionsschalldaten geschaffen.
Fig. 11 zeigt eine Äquivalenzschaltung, die den Betrieb zum Bestimmen der Anfangsreflexionsschalldaten ausführt. Ein Verzögerungselement 41 gibt acht unterschiedliche Verzöge­ rungssignaldaten T1-T8 aus (entsprechend den Eingangssignal­ daten, verzögert in jeweiligen Verzögerungszeitdaten t1-t8) mit Bezug auf die anliegenden Signaldaten. Das Verzögerungs­ element 81 ist mit seinen einzelnen Ausgangsklemmen an die Multiplizierer 82 bis 89 angeschlossen, so daß die Verzöge­ rungssignaldaten T1-T8 mit den Koeffizientendaten c1-c8 je­ weils multipliziert werden. Die Daten der Multiplikationser­ gebnisse von den Multiplizierern 82-89 werden durch einen Ad­ dierer 90 addiert, und die sich ergebenden Daten als Anfangs­ reflexionsschalldaten ausgegeben.
Anhand der Fig. 12 wird nun ein Anfangs-Reflexionsschall-Be­ arbeitungsprogramm beschrieben, das durch den DSP 32 ausge­ führt wird zu dem Zeitpunkt, in dem Anfangsreflexionsschall­ daten aufgrund der acht unterschiedlichen Verzögerungssignal­ daten durch die Äquivalentschaltung bestimmt werden. Zum leichten Verstehen des Programms stellt Fig. 12 das Schrei­ ben/Lesen der Daten zu dem externen RAM (ERAM) 45, die Daten­ übertragung über den zweiten Datenbus, die Datenübertragung über den ersten Datenbus, eine arithmetische Betätigung durch den Multiplizierer 38 und eine arithmetische Betäti­ gung durch die ALU 41 für jeden Schritt dar. Weiter zeigen die Ausdrücke in Klammern unter dem Pfeil → in Fig. 12 die zu übertragenden Verzögerungssignaldaten an.
Im Schritt 1 werden die Verzögerungssignaldaten T1 aus dem externen RAM 45 ausgelesen, zu der Schnittstelle (IF) 46 ge­ sendet und darin gehalten. Im Schritt 2 werden die Verzöge­ rungssignaldaten T1 in der Schnittstelle 46 über den zweiten Datenbus 44 zu dem Signaldaten-RAM (DRAMl) 35 gesendet und an der Adresse N gespeichert. Da drei Zyklen nötig sind, um jeweils einzelne Verzögerungssignaldaten zu lesen und zu übertragen, wird im Schritt 3 kein Operationsbefehl ausge­ führt.
Im Schritt 4 werden Verzögerungssignaldaten T2 von dem exter­ nen RAM 45 gelesen, zu der Schnittstelle (IF) 46 gesendet und darin gehalten. Im Schritt 5 werden die Verzögerungssi­ gnaldaten T2 in der Schnittstelle 46 über den zweiten Daten­ bus 44 zu dem Signaldaten RAM (DRAM2) 36 geleitet und an der Adresse N gespeichert. Auch im Schritt 6 wird aus dem erwähn­ ten Grund kein Operationsbefehl ausgeführt.
Im Schritt 7 werden die Verzögerungssignaldaten T3 aus dem externen RAM 45 ausgelesen, zu der Schnittstelle (IF) 46 ge­ sendet und darin gehalten. Im Schritt 8 werden die Verzöge­ rungssignaldaten T3 in der Schnittstelle 46 über den zweiten Datenbus 44 zu dem Signaldaten-RAM (DRAM1) 35 geleitet und an der Adresse N+1 gespeichert.
Im Schritt 10 werden die Verzögerungssignaldaten T4 aus dem externen RAM 45 ausgelesen, zu der Schnittstelle (IF) 46 ge­ sendet und darin gehalten. Im Schritt 11 werden die Verzöge­ rungssignaldaten T4 in der Schnittstelle 46 über den zweiten Datenbus 44 zu dem Signaldaten-RAM (DRAM2) 36 geleitet und an der Adresse N+1 gespeichert.
Im Schritt 13 werden die Verzögerungssignaldaten T5 aus dem externen RAM 45 ausgelesen, zu der Schnittstelle (IF) 46 ge­ sendet und darin gehalten. Im Schritt 14 werden die Verzöge­ rungssignaldaten T5 in der Schnittstelle 46 über den zweiten Datenbus 44 zu dem Signaldaten-RAM (DRAM1) 35 geleitet und an der Adresse N+2 gespeichert.
Im Schritt 16 werden Verzögerungssignaldaten T6 aus dem ex­ ternen RAM 45 ausgelesen, zu der Schnittstelle (IF) 46 gesen­ det und darin gehalten. An der Eingangsklemme AIN eingehende Signaldaten werden von der Schnittstelle 33 gelesen, über den ersten Datenbus 34 zum Signaldaten-RAM (DRAM1) 35 über­ tragen und an der Adresse M gespeichert.
Im Schritt 17 werden die Verzögerungssignaldaten T6 in der Schnittstelle 46 über den zweiten Datenbus 44 zum Signalda­ ten-RAM (DRAM2) 36 geleitet und an der Adresse N+2 gespei­ chert. Die Verzögerungssignaldaten T1 an der Adresse N werden von dem Signaldaten-RAM (DRAM1) 35 ausgelesen und über den ersten Datenbus 34 zu dem Pufferspeicher (B) 37 ge­ sendet.
Im Schritt 18 werden die Verzögerungssignaldaten T1 durch den Multiplizierer (MPY) 38 mit den Koeffizientendaten c1 multipliziert. Die Koeffizientendaten c1 werden von den Koef­ fizientendaten-RAM 40 ausgelesen und im Schritt 17 zum Puf­ ferspeicher 39 übertragen, was nicht angezeigt ist. Andere Koeffizientendaten werden in den nachfolgenden Schritten in der gleichen Weise behandelt. Im Schritt 18 werden die Verzö­ gerungssignaldaten T2 aus der Adresse N des Signaldaten-RAM (DRAM2) 36 ausgelesen und über den ersten Datenbus 34 zu dem Pufferspeicher (B) 37 geführt.
Im Schritt 19 werden Verzögerungssignaldaten T7 aus dem ex­ ternen RAM 45 ausgelesen, zu der Schnittstelle (IF) 46 gesen­ det und darin gehalten. Ausgangsdaten von dem Multiplizierer (MPY) 38, die "T1×c1" bezeichnen, werden zu dem Akkumula­ tor (ACC) 42 gesendet und da gehalten. Die Verzögerungssi­ gnaldaten T2 werden durch den Multiplizierer 38 mit den Koef­ fizientendaten c2 multipliziert. Die Verzögerungssignaldaten T3 werden von der Adresse N+1 des Signaldaten-RAM (DRAM1) 35 ausgelesen und über den ersten Datenbus 34 zum Pufferspei­ cher (B) 37 gesendet.
Im Schritt 20 werden die Verzögerungssignaldaten T7 in der Schnittstelle 46 über den zweiten Datenbus 44 zu dem Signal­ daten-RAM (DRAM1) 35 geführt und an der Adresse N+3 gespei­ chert. Das Multiplikationsergebnis vom Multiplizierer 38, T2× c2, und die im Akkumulator (ACC) 42 in der ALU 41 gehalte­ nen Daten "T1×c1" werden addiert und die sich ergebenden Daten zum Akkumulator (ACC) 42 geleitet und da gehalten. Die Verzögerungssignaldaten T4 # werden von der Adresse N+1 des Signaldaten-RAM (DRAM2) 36 ausgelesen und über den ersten Da­ tenbus 34 zu dem Pufferspeicher (B) 37 gesendet.
Im Schritt 21 wird das Multiplikationsergebnis vom Multipli­ zierer 38, T3×c3 und
bezeichnende, in dem Akkumulator (ACC) 42 in der ALU 41 gehaltene Daten addiert und die sich ergebenden Daten zum Akkumulator (ACC) 42 geführt und dort gehalten. Die Verzögerungssignaldaten T4 werden mit den Koeffizientendaten c4 durch den Multiplizie­ rer (MPY) 38 multipliziert. Die Verzögerungssignaldaten T5 # werden von der Adresse N+2 des Signaldaten-RAM (DRAM1) 35 ausgelesen und über den ersten Datenbus 34 zu dem Pufferspei­ cher (B) 37 gesendet.
Im Schritt 22 werden die Verzögerungssignaldaten T8 aus dem externen RAM 45 ausgelesen, und zu der Schnittstelle (IF) 46 gesendet, um darin gehalten zu werden. Das Multiplikationser­ gebnis von dem Multiplizierer (MPY) 38, "T4×c4" und
bezeichnende, in dem Akkumulator (ACC) 42 in der ALU 41 gehaltene Daten werden addiert und die sich ergebenden Daten zum Akkumulator (ACC) 42 geführt und dort gehalten. Die Verzögerungssignaldaten T5 werden durch den Multiplizierer 36 mit den Koeffizientendaten c5 multipliziert. Die Verzöge­ rungssignaldaten T6 werden von der Adresse N+2 des Signalda­ ten-RAM (DRAM2) 36 ausgelesen und über den ersten Datenbus 34 zum Pufferspeicher (B) 37 gesendet.
Im Schritt 23 werden die Verzögerungssignaldaten T8 von der Schnittstelle 46 über den zweiten Datenbus 44 zu dem Signal­ daten-RAM (DRAM2) 36 geführt und an der Adresse N+3 gespei­ chert. Das Multiplikationsergebnis vom Multiplizierer 38, T5× c5, und
bezeichnende, im Akkumulator (ACC) 42 in der ALU 41 gehaltenen Daten werden addiert und die sich ergebenden Daten zum Akkumulator (ACC) 42 geleitet und dort gehalten. Die Verzögerungssignaldaten T6 werden mit den Koef­ fizientendaten c6 durch den Multiplizierer (MPY) 38 multipli­ ziert. Die Verzögerungssignaldaten T7 werden von der Adresse N+3 des Signaldaten-RAM (DRAM1) 35 ausgelesen und über den ersten Datenbus 34 zu dem Pufferspeicher (B) 37 gesendet.
Im Schritt 24 wird das Multiplikationsergebnis vom Multipli­ zierer (MPY) 38, T6×c6 und
bezeichnende, in dem Akkumulator (ACC) 42 in der ALU 41 gehaltene Daten addiert und die sich ergebenden Daten zum Akkumulator (ACC) 42 geführt und dort gehalten. Die Verzögerungssignaldaten T7 werden mit den Koeffizientendaten c7 durch den Multiplizie­ rer (MPY) 38 multipliziert. Die Verzögerungssignaldaten T8 # werden von der Adresse N+3 des Signaldaten-RAM (DRAM2) 36 ausgelesen und über den ersten Datenbus 34 zu dem Pufferspei­ cher (B) 37 gesendet. Weiter werden die im Schritt 16 im Si­ gnaldaten-RAM (DRAM1) 35 gespeicherten Eingangssignaldaten über den zweiten Datenbus 44 zur Schnittstelle 46 überführt und dort gehalten.
Im Schritt 25 wird das Multiplikationsergebnis von dem Multi­ plizierer (MPY) 38, T7×c7 und
bezeichnende, im Akkumulator (ACC) 42 in der ALU 41 gehaltene Daten addiert und die sich ergebenden Daten zu dem Akkumulator (ACC) 42 geführt und dort gehalten. Die Verzögerungssignaldaten T8 werden mit den Koeffizientendaten c8 durch den Multiplizie­ rer (MPY) 38 multipliziert. Die in der Schnittstelle 46 ge­ haltenen eingehenden Signaldaten werden dem externen RAM (ERAM) 45 zum Speichern zugeführt.
Im Schritt 26 wird das Multiplikationsergebnis von dem Multi­ plizierer (MPY) 38, T8×c8 und
bezeichnende, im Akkumulator (ACC) 42 in der ALU 41 gehaltene Daten addiert und die sich ergebenden Daten zu dem Akkumulator (ACC) 42 geführt und dort gehalten.
Im Schritt 27 werden in dem Akkumulator (ACC) 42 gehaltene,
bezeichnende, im Akkumulator (ACC) 42 in der ALU 41 gehaltene Daten über den ersten Datenbus 34 zur Schnitt­ stelle 33 geleitet und von der dortigen Ausgangsklemme AOUT abgegeben.
Wie vorstehend beschrieben, enthält der erfindungsgemäße DSP die Eingangsklemmen, den ersten Datenbus zum Übertragen von Daten zwischen dem Datenspeichermittel und dem arithmeti­ schen Betätigungsmittel und den zweiten Datenbus zum Übertra­ gen von Daten zwischen dem Datenspeichermittel und dem Verzö­ gerungsspeicher. Das Datenspeichermittel besitzt eine Viel­ zahl von Speichern, die unabhängig zum Datenschreiben und -lesen zugänglich sind mit Bezug auf den ersten und den zwei­ ten Datenbus, und diese Speicher werden gleichzeitig zum Daten-Schreiben und -Lesen gesteuert. Dementsprechend werden die von dem Verzögerungsspeicher abgenommenen Verzögerungssi­ gnaldaten über den zweiten Datenbus abwechselnd zum ersten bzw. zweiten Speicher übertragen, die Verzögerungssignalda­ ten, die bereits übertragen wurden, während die über den zweiten Datenbus übertragenen Verzögerungssignaldaten in den ersten Speicher eingeschrieben werden, aus dem anderen Spei­ cher ausgelesen und über den ersten Datenbus zum arithmeti­ schen Betätigungsmittel gesendet. Deshalb kann die Datenüber­ tragung über den ersten Datenbus zur Vorbereitung der anfäng­ lichen Reflexionsschalldaten nach Fig. 12 konzentriert wer­ den, wodurch es ermöglicht ist, eine Vielzahl von aufeinan­ derfolgenden Leerschritten für einen Datenübertragungsbefehl mit dem ersten Datenbus zu erzeugen. Damit können die Leer­ schritte für andere Vorgänge einschließlich der Datenübertra­ gung über den ersten Datenbus benutzt werden. Die Signalbear­ beitungswirksamkeit kann nicht nur bei der Vorbereitung der Anfangsreflexionsschalldaten, sondern auch bei anderen Vor­ gängen verbessert werden.

Claims (6)

1. Programmbearbeitungsvorrichtung, welche enthält:
Steuermittel zum Decodieren eines Programms, das einen Be­ dingungsbefehl enthält, und zum Erzeugen eines Befehlssi­ gnals;
arithmetisches Betätigungsmittel zum Ausführen einer digi­ talen arithmetischen Operation entsprechend dem Befehlssi­ gnal und zum Ausgeben eines Merkers, der einen Wert ent­ sprechend einem Ergebnis der arithmetischen Betätigung be­ zeichnet; und
Merkerhaltemittel zum Halten von Merkern für Bedingungsbe­ urteilungen bezüglich des Bedingungsbefehls in dem Steuer­ mittel,
dadurch gekennzeichnet, daß das Merkerhaltemittel eine vorbestimmte Anzahl von Merkern in der Erzeugungsreihen­ folge hält, einschließlich dem zuletzt von dem arithmeti­ schen Betätigungsmittel erzeugten Merker.
2. Programmbearbeitungsvorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß das Merkerhaltemittel ein Schieberegister umfaßt.
3. Programmbearbeitungsvorrichtung, welche umfaßt:
Steuermittel zum Decodieren eines Programms, das einen Be­ dingungsbefehl enthält, und zum Erzeugen eines Befehlssi­ gnals;
arithmetisches Betätigungsmittel zum Ausführen einer digi­ talen arithmetischen Operation entsprechend dem ersten Be­ fehlssignal und zum Ausgeben eines Merkers, der einen Wert entsprechend einem Ergebnis der arithmetischen Betä­ tigung bezeichnet; und
Merkerhaltemittel zum Halten von Merkern für eine Bedin­ gungsbeurteilung zu dem Bedingungsbefehl in dem Steuermit­ tel, dadurch gekennzeichnet,
daß das Steuermittel ein zweites Befehlssignal erzeugt, welches ein neuerliches Halten eines Merkers bezeichnet, durch Decodieren des Programms, und daß das Merkerhalte­ mittel den Merker von dem arithmetischen Betätigungsmit­ tel entsprechend dem zweiten Befehlssignal hält.
4. Programmbearbeitungsvorrichtung nach Anspruch 3, dadurch gekennzeichnet, daß das Programm eine arithmetische Betätigung enthält, um zuzulassen, daß das Steuermittel das erste Befehlssi­ gnal und das zweite Befehlssignal erzeugt.
5. Digitalsignalprozessor, welcher enthält:
einen ersten Datenbus zum Übertragen von digitalen Signal­ daten einschließlich eingehenden Digitalsignaldaten;
einen zweiten Datenbus zum Übertragen von Digitalsignalda­ ten unabhängig vom ersten Datenbus;
Befehlserzeugungsmittel zum Erzeugen verschiedener Arten von Befehlssignalen entsprechend einem Programm;
Datenspeichermittel;
Datenspeicher-Steuermittel zum Einschreiben der über den ersten oder den zweiten Datenbus übertragenen digitalen Signaldaten in das Datenpeichermittel in Abhängigkeit von einem Befehlssignal von dem Befehlserzeugungsmittel und zum Auslesen von digitalen Signaldaten davon und zum Senden der digitalen Signaldaten zu dem ersten oder dem zweiten Datenbus in Reaktion auf ein Befehlssignal von dem Befehlserzeugungsmittel;
Verzögerungsspeicher-Steuermittel zum Einschreiben der über den zweiten Datenbus übertragenen digitalen Signalda­ ten in einen Verzögerungsspeicher in Reaktion auf ein Be­ fehlssignal von dem Befehlserzeugungsmittel und zum Ausle­ sen der digitalen Signaldaten davon und Senden der digita­ len Signaldaten als Verzögerungssignaldaten zu dem zwei­ ten Datenbus in Reaktion auf ein Befehlssignal von dem Be­ fehlserzeugungsmittel; und
arithmetisches Operationsmittel zum Multiplizieren der von dem ersten Datenbus zugeführten digitalen Signaldaten mit Koeffizientendaten, dadurch gekennzeichnet,
daß das Datenspeichermittel eine Vielzahl von unabhängig zum Datenschreiben und -Lesen zugänglichen Speichern be­ sitzt und daß das Datenspeicher-Steuermittel zum gleich­ zeitigen Steuern der Vielzahl von Speichern befähigt ist.
6. Digitalsignalprozessor nach Anspruch 5, dadurch gekennzeichnet, daß das Datenspeichersteuermittel einen Steuervorgang nach einer Vielzahl von Befehlen im gleichen Schritt ausführt.
DE19914103882 1990-06-01 1991-02-08 Programm-bearbeitungsvorrichtung und digitalsignal-prozessor Withdrawn DE4103882A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW80107668A TW229234B (de) 1990-09-27 1991-09-27

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP14358790 1990-06-01
JP14358890 1990-06-01
JP2147975A JPH0440548A (ja) 1990-06-06 1990-06-06 ディジタル信号プロセッサ

Publications (1)

Publication Number Publication Date
DE4103882A1 true DE4103882A1 (de) 1991-12-12

Family

ID=27318674

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19914103882 Withdrawn DE4103882A1 (de) 1990-06-01 1991-02-08 Programm-bearbeitungsvorrichtung und digitalsignal-prozessor

Country Status (1)

Country Link
DE (1) DE4103882A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0655680A1 (de) * 1993-11-30 1995-05-31 Texas Instruments Incorporated Arithmetisch-logische Einheit mit mehrfachen unabhängigen Abteilungen und Register zur Speicherung des Zustandskennzeichenbits jedes Teils

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
US-Firmenschrift der Advanced Micro Devices, "The Am 2900 Family Data Book", 1978, S. 2-52 bis 2-55 *
US-Z.: Electronic Design, 1. Mai 1986, S. 189-192 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0655680A1 (de) * 1993-11-30 1995-05-31 Texas Instruments Incorporated Arithmetisch-logische Einheit mit mehrfachen unabhängigen Abteilungen und Register zur Speicherung des Zustandskennzeichenbits jedes Teils

Similar Documents

Publication Publication Date Title
DE2251876C3 (de) Elektronische Datenverarbeitungsanlage
DE3318667C1 (de) Elektronisches Tastenmusikinstrument und Verfahren zu dessen Betrieb
DE2715073B2 (de) Mikroprogranunierte Rechner-Steuervorrichtung
DE2911909C2 (de) Digitales Datenverarbeitungsgerät
DE3114921C2 (de) Mikroprogramm-Speicheranordnung
DE19524402C2 (de) Programmausführungssteuereinrichtung mit einer Adressierbarkeit entsprechend einer M-reihigen Pseudo-Zufallszahlenfolge
DE69632655T2 (de) Pipeline-Datenverarbeitungsanordnung zur Durchführung einer Mehrzahl von untereinander datenabhängigen Datenprozessen
CH692311A5 (de) Datenverarbeitungsanlage zum Erzeugen eines Unterbruchsignals.
DE2911853C2 (de) Uhr mit Sprach-Synthesizer
DE19956704A1 (de) Interruptsteuerung
DE4005042A1 (de) Architektur eines digitalen bewegungssteuerungselements hoher geschwindigkeit
EP1117037B1 (de) Datenverarbeitungsvorrichtung zum parallelen Verarbeiten von unabhängigen Prozessen (Threads)
EP0110199B1 (de) Verfahren zum Steuern des Datentransfers zwischen einem Datensender und einem Datenempfänger über einen Bus mit Hilfe einer am Bus angeschlossenen Steuereinrichtung
DE4101928A1 (de) Digitalsignal-prozessor
DE60221515T2 (de) Speichersystem für schleifenbeschleunigung nach wunsch
DE3447530A1 (de) Vektorprozessor
DE3121046A1 (de) Arithmetik-logikeinheit mit bit-manipulation
DE4103882A1 (de) Programm-bearbeitungsvorrichtung und digitalsignal-prozessor
DE2759120A1 (de) Prozessor fuer datenverarbeitungssysteme
DE3040032C2 (de) Rechner mit Sprachausgabe
DE3104256C2 (de)
DE3843638C2 (de)
DE4318317A1 (de) Datenverarbeitungsvorrichtung und -verfahren zum Ausführen von Operationen in Folge
DE19526548C2 (de) Schaltungseinrichtung mit einem Analog-Digital-Wandler
EP0108417B1 (de) Verfahren zum Steuern des Datentransfers zwischen einem Datensender und einem Datenempfänger über einen Bus mit Hilfe einer am Bus angeschlossenen Steuereinrichtung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8120 Willingness to grant licenses paragraph 23
8136 Disposal/non-payment of the fee for publication/grant