DE4103882A1 - Programm-bearbeitungsvorrichtung und digitalsignal-prozessor - Google Patents
Programm-bearbeitungsvorrichtung und digitalsignal-prozessorInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30094—Condition 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.
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.
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.
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.
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)
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 |
-
1991
- 1991-02-08 DE DE19914103882 patent/DE4103882A1/de not_active Withdrawn
Non-Patent Citations (2)
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)
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 |