DE3303488A1 - Digitales signalverarbeitungssystem - Google Patents
Digitales signalverarbeitungssystemInfo
- Publication number
- DE3303488A1 DE3303488A1 DE19833303488 DE3303488A DE3303488A1 DE 3303488 A1 DE3303488 A1 DE 3303488A1 DE 19833303488 DE19833303488 DE 19833303488 DE 3303488 A DE3303488 A DE 3303488A DE 3303488 A1 DE3303488 A1 DE 3303488A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- data
- address
- digital signal
- coefficient
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 claims description 263
- 238000000034 method Methods 0.000 claims description 6
- 239000000872 buffer Substances 0.000 description 23
- 238000010586 diagram Methods 0.000 description 14
- 230000008859 change Effects 0.000 description 12
- 238000005070 sampling Methods 0.000 description 12
- 238000003860 storage Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 6
- 239000013256 coordination polymer Substances 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 241000283153 Cetacea Species 0.000 description 1
- 101100244921 Homo sapiens PRDX1 gene Proteins 0.000 description 1
- 102100029139 Peroxiredoxin-1 Human genes 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading of the microprogram
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
Description
Die Erfindung· bezieht sich auf ein digitales Signalverarbeitung^
sys tem, welches für eine Echtzeitverarbeitung von digitalen Signalen geeignet ist, die eine große Anzahl
von Bits pro ¥ort und eine höhere Vorträte pro Zeiteinheit aufweisen, wie PCM-Audiοsignale. Die Erfindung
bezieht sich insbesondere auf ein solches digitales Signalverarb eitungssystem, welches in geeigneter Feise auf
einen Grafik- bzw. Kurvenentzerrer oder Hallraum mit dem Merkmal einer digitalen Signalverzögerung angewandt wird.
In den vergangenen Jahren sind Audio- oder Bildsignale in digitale Signale umgesetzt worden, die eine Vielzahl
von digitalen Verarbeitungs- oder Rechenoperationen unterzogen werden, wie der Verarbeitung durch digitale
Filter, einer schnellen Fouru.:ier-Transformation oder
einer korrelativen Funktionsberechnung auf Echtzeitbasis.
Demgemäß ist eine Vielzahl von digitalen Signalverarbeitungseinrichtungen, nachstehend zuweilen auch
abgekürzt DSP, vorgeschlagen worden, um derartige Echtzeit-Verarbeitungsoperationen
auszuführen. Diese digitalen Signalverarbeitungseinrichtungen sind üblicherweise
mit Rechen- und Verknüpfungseinheiten (ALU) höherer Stellenzahl, mit Multiplikatoren oder anderen
Hardware-Einheiten versehen und durch Mikroprogramme
gesteuert worden. In vielen Fällen wird eine solche digitale Signalverarbeitung durch ein Verarbeitungsoder Host-Rechnersystem gesteuert oder geleitet, wel-
«t »
- 5 -ch.es von einem Mikroprozessor Q-ebrauch macht.
Die digitalen Signalverarbeitungseinrichtungen sind mit internen Speichern versehen, d.h. mit einem Mikroprogrammspeicher
und mit einem Koeffizientenspeicher. Die Signalverarbeitungsoperation in den digitalen Signalverarbeitungseinrichtungen
wird üblicherweise derart ausgeführt, daß in dem Mikroprogrammspeicher gespeicherte
Mikrobefehle bzw. Makroinstruktionen sequentiell durch
Adressen ausgelesen werden, die durch Ablaufanordnungen oder Programmzähler bezeichnet werden. Die System-Vielseitigkeit
wird durch Verwendung von Schreib-Lese-Speichern RAM als die zuvor erwähnten Mikroprogramm- und
Koeffizientenspeicher gesteigert, und die in diese Speieher
einzugebenden Daten können durch Steuerung von dem Host-Rechnersystem her übertragen werden. Im allgemeinen
macht es die Echtzeitverarbeitung· von digitalen Signalen,
die aus analogen Audio- oder Bildsignalen umgesetzt worden sind, notwendig, schnelle Rechenoperationen auszuführen,
wie eine Addition und Multiplikation, eine Signalverzögerung und dergl. Verarbeitungsoperationen.
Es ist üblich gewesen, Mehrstufen-Schieberegister als
Hardware oder Schaltungsanordnung zur Vornahme einer Verzögerung in den digitalen Signalen zu verwenden. In
diesem Falle wird die Verzögerungszeit ausgedrückt als Produkt der Anzahl der Schieberegisterstufen und der
Abtastperiode oder des Abtastintervalls, d.h. der Periode der Schiebetaktimpulse.
Die für die Echtzeitverarbeitung ausgelegte digitale Signalverzögerungsschaltung, die von diesen Schieberegistern
Gebrauch macht, ist jedoch nicht nützlich, um die Verzögerungszeit zu ändern, wie es während der
Echtzeitverarbeitung erwünscht ist, und zwar aufgrund der Notwendigkeit, die Anzahl der Schieberegister zu
ändern. Darüber hinaus neigen Hallräume oder -maschinen,
-G-
die durch eine Vielzahl von Signalverzögerungsleitungen oder -schaltungen gebildet sind, dazu, im Hardware-Aufbau
kompliziert zu werden. Insgesamt ist es bei Verzögerungsschaltungen, die Schieberegister verwenden, praktisch
unmöglich, eine dynamische Änderung der Verzögerungszeit in den entsprechenden Verzögerungsleitungen zu
bewirken. Darüber hinaus ist die Verwendung einer Anzahl von Schieberegistern nicht wirtschaftlich.
In den herkömmlichen digitalen Signalverarbeitungseinrichtungen
stellt das Wiedereinschreiben der Koeffizientendaten,
der Mikrobefehle etc. während der Mikroprogrammausführung ein Erfordernis dar, um den Wirkungsgrad in der
Echtzeitverarbeitung zu steigern. Dies ist jedoch praktisch aufgrund von Schwingungen nicht möglich, die durch
die Daten hervorgerufen werden, die zu einzelnen Daten werden, und zwar insbesondere im Zuge des Viedereinsehreibens
der Koeffizientendaten.
Darüber hinaus kann dann, wenn die digitalen Signaldaten in der digitalen Sxgnalverarb ext ungseinrichtung mit Koeffizientendaten
multipliziert werden, die von dem Koeffizientenspeicher abgegeben werden, eine ungenügende Wortlänge
der Koeffizientendaten die angezielte Genauigkeit des Produkts beeinträchtigen, und zwar insbesondere in
Abhängigkeit von den Charakteristiken der in der digitalen Sxgnalverarbeitungseinrichtung vorgesehenen digitalen
Filter. Demgegenüber können die Multiplikatorschaltungen
äußerst kompliziert sein, wenn die Bitzahlen von Multiplikator
und Multiplikan'd. auf 20 oder einen noch höheren
Wert gesteigert sind.
Der Erfindung liegt demgemäß die Aufgabe zugrunde, ein diese Nachteile vermeidendes neues digitales Signalverarbeitungssystem
zu schaffen.
Ferner soll ein digitales Signalverarbeitungssystem geschaffen
werden, bei dem eine Vielzahl von Signalverzögerungslei tungen mit einem einfachen Hardvareaufbau
realisiert werden kann.
5
5
Außerdem soll ein digitales Signalverarbeitungssystem geschaffen
werden, bei dem die Anzahl und die Verzögerungszeit der Verzögerungsschaltungen je nach Wunsch durch
Programmierung festgelegt bzw. eingestellt werden können soll.
Ferner soll ein digitales Signalverarbeitungssystem geschaffen werden, bei dem die in einem Koeffizientenspeicher
und in einem Mikroprogrammspeicher gespeicherten Daten von einem Host-Rechnersystem her während der Ausführung
des Mikroprogramms in der digitalen Signalverarbeitungseinrichtung geändert werden können bzw. können
sollen.
Ferner soll ein digitales Signalverarbeitungssystem geschaffen
werden, in welchem diskrete Koeffizientendaten nicht erzeugt werden.
Außerdem soll ein digitales Signalverarbeitungssystem geschaffen
werden, bei dem das Auftreten von Schwingungen oder anderen unerwünschten Effekten verhindert werden
kann.
Ferner soll ein digitales Signalverarbeitungssystem geschaffen werden, welches die Aktualisierung der Koeffizientendaten
während der digitalen Signalverarbeitung ermöglicht.
Darüber hinaus soll ein digitales Signalverarbeitungssystem geschaffen werden, welches einen verbesserten
"Wirkungsgrad hinsichtlich der Multiplikation von digi-
-δι talen'Signaldaten mit Koeffizientendaten aufweist.
Schließlich soll ein digitales Signalverarbeitungssystera
geschaffen werden, welches mit einem eine geringere Größe aufweisenden Multiplikator ausgestattet ist und in welchem
eine relativ schnelle Multiplikation mit doppelter Stellenzahl durchgeführt werden kann, ohne daß die Verarbeitungszeit
unnötig verlängert wird, und zwar auch in den Fällen, in denen die Multiplikation mit einem langen
Wort oder mit Koeffizientendaten hoher Stellenzahl durchzuführen ist.
Gelöst wird die vorstehend aufgezeigte Aufgabe durch die in den Patentansprüchen erfaßte Erfindung.
Mit Rücksicht auf die vorstehend aufgezeigte Aufgabe betrifft die vorliegende Erfindung ein digitales Signalverarbeitungssystem
mit zumindest einem Mikroprogrammspeicher, der eine Reihe von Mikrobefehlen für die Anleitung
einer digitalen Signalverarbeitungsprozedur und einen Koeffizientenspeicher umfaßt, der Koeffizientendaten
speichert, die für die Durchführung einer Rechenoperation bezüglich der digitalen Signaldaten erforderlich sind, wobei
Daten von einem Verarbeitungs- bzw. Host-Rechnersystem
her zu dem Mikroprogrammspeicher und zu dem Koeffizientenspeicher hin übertragen und in diese Speicher eingeschrieben
werden können. Der Koeffizientenspeicher weist dabei zumindest zwei Seiten auf, und zwar entsprechend dem gesamten
Speicherbereich, der durch die Mikrobefehle während der Verarbeitung des digitalen Signals durch die
Mikrobefehle hin adressierbar ist. Ferner kann eine Seitenauswahl durch Steuerung von dem Verarbeitungs- bzw»
Host-Rechnersysteni her durchgeführt werden,
Anhand von Zeichnungen wird die Erfindung nachstehend mit den ihr anhaftenden Merkmalen und Vorteilen beispielsweise
näher erläutert.
Fig. 1 zeigt in einem Blockdiagramm eine Grundsystemkonfiguration,
die von einer digitalen Signalverarbeitungseinrichtung Gebrauch macht.
Fig. 2 zeigt in einem Blockdiagramm schematisch den Innenaufbau der digitalen Signalverarbeitungseinrichtung.
Fig. 3 zeigt ein Speicherverzeichnis eines Mikroprogrammspeichers
und eines Koeffizientenspeichers. Fig. 4 veranschaulicht Datenübertragungs-Betriebsarten
von einem Verarbeitungsrechnersystem her und den Inhalt von Datenbits.
Fig. 5 zeigt in einem Blockdiagramm eine Schnittstellenschaltung,
einen Mikroprogi-ammspeicher und einen
Koeffizientenspeicher mit benachbarten Schaltungs teilen der digitalen Signalverarbeitungseinrichtung.
Fig. 6 veranschaulicht in einem Zeitdiagramm die Arbeits weise der in Fig·. 5 dargestellten Schaltungsanord
nung.
Fig. 7 veranschaulicht in einem Diagramm eine Multiplikationsoperation,
die in einem Multiplikator der digitalen Signalverarbeitungseinrichtung ausgeführt
wird.
Fig. 8 zeigt in einem Blockdiagramm ein Ausführungsbeispiel
eines Hallraums oder einer Hallmaschine,
der bzw. die aus einer Vielzahl von digitalen Signalverzögerungsschaltungen aufgebaut ist.
Fig. 9 zeigt ein Speicherverzeichnis für den digitalen Verzögerungsspeicher.
Fig.10 veranschaulicht in einem Diagramm den Aufbau
Fig.10 veranschaulicht in einem Diagramm den Aufbau
eines Adressenleitspeichers.
Fig.11 zeigt in einem Blockdiagramm den inneren Aufbau
Fig.11 zeigt in einem Blockdiagramm den inneren Aufbau
des in Fig. 8 dargestellten Adressenleitspeichers. Fig.12 veranschaulicht in einem Zeitdiagramm die zeitliehe
Lage verschiedener Signale, die zum Zeitpunkt der Ausführung von Mikroprogramm-Auslese- und
Schreib-Befehlen erzeugt werden.
Fig.13 veranschaulicht in einem Flußdiagramm ein typisches
Programm für die Einführung der Signalverzögerung durch eine Software-Operation.
Fig.i4 veranschaulicht in einem Flußdiagramm eine Modifikation
des in Fig. I3 gezeigten Programms. Fig.15 zeigt in einem Blockdiagramm die wesentlichen
Teile eines modifizierten Hallraums oder einer modifizierten Hallmaschine.
Fig.16 veranschaulicht in einem Diagramm die Bewegung
der irikrementierten Auslese- und Einschreibadressen
in dem Speicher.
Nunmehr wird auf die in den Zeichnungen dargestellten bevorzugten Ausführungsformen der Erfindung im einzelnen
eingegangen.
Fig. 1 veranschaulicht in einem Blockdiagramm eine Ausführungsform
einer grundsätzlichen Systemstruktur, die
von einer digitalen Signalverarbeitungseinrichtung Gebrauch macht. Bei der vorliegenden Ausführungsform sind
zumindest gewisse Teile der digitalen Signalverarbeitungseinrichtung 1 und einer Speichersteuereinheit 2
- dabei handelt es sich in beiden Fällen um elektronische Elemente oder Komponenten - als großintegrierte
Schaltkreise ausgelegt, die auch als LSI-Schaltkreise bezeichnet werden. Ein digitaler Signalspeicher 3 weist
eine Speicherkapazität von beispielsweise 16 K Wörtern
(das sind 16384 Wörter) oder von 64 K ¥örtern (das sind
65536 Wörter) digitaler Signale auf, deren jedes aus
24 Bits besteht. Ein dynamischer Schreib/Lese-Speicher, auch als D-RAM-Speicher bezeichnet, wird beispielsweise
als ein derartiger digitaler Signalspeicher verwendet. Ein Verarbeitungs- bzw. Host-Rechnersystem 4 enthält
einen Mikroprozessor, der so ausgelegt ist, daß er die digitale Signalverarbeitung leitet und steuert, die
durch die digitale Signalverarbeitungseinrichtung 1
und durch, die Speichersteuereinheit 2 auszuführen ist.
Bei der vorliegenden Ausführungsform kann das Schreiben von dem Host-Rechnersystem 4 in einen Mikroprogrammspeicher
6 und in einen KoefTizientenspeicher 7 über eine
Schnittstellen- bzw. Interface-Schaltung 8 in der digitalen
Signalverarbeitungseinrichtung 1 vorgenommen werden.
Eine Adressensteuereinheit 8 ist in der Speichersteuereinheit 2 vorgesehen für die Adressierung entsprechender
¥örter, die in dem digitalen Signalspeicher 3 gespeichert
sind. Die Ädressensteuereinheit 8 enthält eine Inkrementierungseinrichtung, einen Komparator, etc.; sie
wird durch verschiedene Steuersignale gesteuert, die von einer AblaufSteuereinheit 9 i*1 der digitalen Signalverarbeitungseinrichtung
1 abgegeben werden. Andere Komponenten der' Speichersteuereinheit 2 umfassen eine Schnittstellenschaltung
10 für die Übertragung und Aufnahme von Signalen zu bzw. von dem Host-Rechnersystem 4 und
einen Notizblockspeicher 11 .
Die von dem in Fig. 1 dargestellten System zu verarbeitenden digitalen Signale können beispielsweise PCM-Audiosignale
oder digitale Videosignale, etc. sein. Die analogen Signale werden dabei so quantisiert, daß jeder
abgetastete Wert des analogen Signals einem Wort des digitalen Signals entspricht, welches aus beispielsweise
14 oder 16 Bits besteht. Es sei darauf hingewiesen,
daß das von einer derartigen digitalen Signalverarbeitungseinrichtung
1 Gebrauch machende System für die Verarbeitung von 24 Bits pro Wort der digitalen
Signale ausgelegt ist, und zwar unter dem Gesichtspunkt der Erhöhung der Anzahl der Bits und des resultierenden
Überlaufs, der dadurch hervorgerufen wird, daß die 14
oder 16 Bits pro digitalem Signalwort mit Koeffizientendaten
multipliziert werden.
Fig. 2 zeigt einen detaillierteren Schaltungsaufbau der
digitalen Signalverarbeitungseinrichtung 1 in einer Blockform. Gemäß Fig. 1 und 2 ist in der digitalen
Signalverarbeitungseinriclitung 1 ein 24-Bit-Datenbus DB vorgesehen. Dieser Datenbus bzw. diese Datenbusleitung DB
ist mit einer Rechen-Verarbeitungseinheit 20, mit einem Eingangsregister 12, einem Ausgangsregister IJ und einem
Digitalsignal-Eingangs/Ausgangsanschluß 16 verbunden.
Das Eingangsregister 12 arbeitet so, daß Seriendaten von einem Dateneingangsanschluß 14 her in parallele
24-Bit-Daten umgesetzt werden und daß die resultierenden Daten an den Datenbus DB abgegeben werden. Das Ausgangsregister
13 arbeitet so, daß die parallelen 24-Bit-Daten von dem Datenbus DB her in Seriendaten umgesetzt
werden und daß die resultierenden Daten von einem Datenausgangsanschluß 15 abgegeben werden. Die Rechen-Verarbeit
ungseinheit 20 enthält zumindest eine auch als Rechenwerk zu bezeichnende Rechen- und Verknüpfungs-Einheit
(ALU) 21 und eine Multipliziereinrichtung 22 sowie
eLnen Multiplexer 23, der wirkungsmäßig mit der ALU-Einheit
21 und der Multipliziereinrichtung 22 verbunden ist. Ein Datenspeicher 31 und ein Kurzzeitregister 32 sind als
sogenannter Notizblockspeicher in einer Datenspeichereinheit 30 vorgesehen, in der Hilfsdaten, die im Zuge der
Datenverarbeitung in der Rechen-Verarbeitungseinheit 20 erzeugt werden, kurzzeitig gespeichert werden. Der Datenspeicher
31 weist eine Kapazität von z.B. 2%6 Wörtern auf,
deren jedes 24 Bits umfaßt. Der Koeffizientenspeicher 7 ist für die Speicherung von Koeffizientendaten ausgelegt,
die als Multiplikator dienen und die aus einem 12-Bit-¥ort bestehen. Der betreffende Speicher hat eine Kapazität
von zwei Seiten, deren jede 512 16-Bit-¥örter aufweist
(16 Bits χ 1024 Förter). Ein Zugriff kann zu jedem ¥ort in diesem Koeffizientenspeicher 7 durch eine Adresseninformation
von einem Koeffizientenzeiger 72 her vorgenommen
werden. Der Koeffizientenspeicher 7 ist mit seinem
Ausgangs ans cliluß an Anschlüssen der Multipliziereinrichtung
22 für die Einführung von Koeffizientendaten X und über ein bidirektional arbeitendes Puffer-Verknüpfungsglied
4l an der 24-Bit-Datenbusleitung DB angeschlossen.
Die Datenbusleitung DB ist ferner über ein bidirektional
arbeitendes Puffer-Verknüpfungsglied 42 mit einem Anschluß
der Multipliziereinrichtung 22 verbunden, um die MultiplikanClen-Daten Y einzuführen. Darüber hinaus ist
die Datenbusleitung mit einem Ausgangs ans chluß des Datenspeichers
30 und mit einem Eingangsanschluß eines
Zwischenregisters 32 verbunden. Zusätzlich zu dem Eingangsanschluß
für die Koeffizientendaten X weist der Multiplexer 2"^ einen Eingangs ans chluß für Ausgangsdaten
TP von dem Zwischenregister 32 her, einen Eingangsanschluß
für Produktdaten P von der Multipliziereinrichtung 22 her und einen Eingangs ans chluß für Daten PP auf,
die dadurch erhalten werden, daß eine logische 12-Bit-Verschiebung
(oder eine arithmetische 11-Bit-Verschiebung) zur rechten Seite oder zur unteren Seite der Produktdaten
P hin vorgenommen wird. Das Ausgangs signal von dem Multiplexer 23 wird an die ALU-Einheit 21 übertragen,
die wirkungsmäßig einer Bitverschiebungslogik 24 zugehörig ist. Ein Statusregister 25 speichert den Inhalt
eines Kennzeichens, welches mit der arithmetischen Verarbeitung
geändert werden kann, die in der ALU-Einheit 21 ausgeführt wird. Die aus der Rechenoperation resultierenden
digitalen 24-Bit-Daten werden an den Datenbus DB über ein Puffer-Verknüpfungsglied 43 und an den Datenspeicher
31 über den Multiplexer 33 abgegeben. Die Ausgangsdaten TP von dem Zwischenregister 32 her werden
dem anderen Eingangsanschluß des Multiplexers 32 zugeführt
.
Der Mikroprogrammspeicher 6 speichert ein Mikroprogramm, welches zur Befehlssteuerung einer Verarbeitungsfolge
in den entsprechenden Schaltungen der digitalen Signal-
-Ik-
verarbeitungseinrichtung 1 dient. Eine Reihe von Mikrobefehlen
bzw. Milcr ο Instruktionen, die das Mikroprogramm
ausmachen, wird sequentiell durch von einer Ablaufsteuereinrichtung
91 abgegebene Adressensignale ausgelesen.
Diese Mikrobefehle weisen eine Wortlänge von z.B. 32 Bits
auf und werden über ein Pipeline-Register 61 an einen Befehlsdatenbus IDB abgegeben.. Es sei darauf hingewiesen,
daß die 32 Bits des Mikrobefehlsworts in mehrere Felder
unterteilt sind, wie in ein Feld für Direktdaten, in ein Feld zur Steuerung des Datenspeichers 31>
in ein Feld zur Steuerung des ALU-Rechenwerks 21 und in ein Feld zur
Steuerung der Ablaufsteuereinrichtung 91· Die in den
Mikrobefehlen enthaltenen Direktdaten werden über das
Puffer-Vei'knüpfungsglied 44 an ä.en Datenbus abgegeben,
während die Steuerdaten für den Datenspeicher 3I über
den Multiplexer 3^· 3^ einen unteren Adresseneingangsanschluß des Datenspeichers 3I abgegeben -werden. Jn der
AbIriufsteuereinrichtung öl wird die sum nächsten Zeitpunkt
auszulesende Adresse in dem MikroprOgraimnspeicher
durch Ablaufsteuerdaten, die in. den Mikrobefehlen enthalten
sind, und durch Statusdaten aus dem Statusrester 25 j wie durch einen sogenannten Flag-Status, bestimmt.
Eine Ausgäbesteuerlogik 32, die dazu vorgesehen
ist, die Speichersteuereinheit 2 zu steuern9und die durch
die Mikrobefehle gesteuert wird, bildet zusammen mit der Steuerlogik 92 und der Ablaufsteuereinrichtung 9I die
AblaufSteuereinheit 9 (Fig. 1). In den Mikrobefehlen
sind ferner Bits enthalten, die einen Datenzeiger 35 inkrementieren, der die obere Adresse des Datenspeichers
30 bezeichnet, und die den Koeffizientenzeiger 7I inkrementieren.
Die Daten B von dem Host-Rechiiersystem her treten mit
acht Bits pro Wort-Format auf; sie können in den Mikro-Programmspeicher 6 und in den Koeffizientenspeicher 7
über die Schnittstellenschaltung 5 eingeschrieben werden.
Fig. 3 zeigt ein Speicherverzeiclinis für den Mikroprogramm
spei eher 6 und für den Koeffizientenspeicher 7>
und zwar bei Betrachtung von dem Host-Heclmersystom 4
her. Wie aus Fig. 3 ersichtlich ist, können die Speieher 6 und 7 von dem Host-Reeimer her als ein Speicher
MR mit einer Gesamtkapazität von 4096 (oder 2 ) Worten
betrachtet werden, deren jedes acht Bits umfaßt (ein Byte). Ein Zugriff kann zu dem Speicher MR byteweise
mit einer 12-Bit-Adresse A erfolgen. Dieser Speicher MR
ist in zwei gleiche Teile unterteilt, deren jeder 2048 Bytes umfaßt. Einer der Speicherteile mit den Adressen
SOOO bis S7FF im Hexadezimalcode ist ein Bereich MPM
für den Mikroprogrammspeicher 6, während der übrige Speicherbereich mit den Adressen S8OO bis SFFF ein
Bereich CFM für den Koeffizientenspeicher 7 ist. Die
2048 Bytes des Koeffizientenspeicherbereichs CFM sind
weiter in zwei gleiche Bereiche unterteilt. Ein derartiger Bereich für die Adressen S8OO bis SBFF ist die
Seite 0, während der übrige Bereich für die Adi-essen SCOO bis SFFF die Seite 1 ist. Auf diese ¥eise kann ein
Zugriff von dem Host-Rechner zu 4096 Bytes von SOOO bis
SFFF byteweise durch Adressieren mit der 12-Bit-Adresse A erfolgen. In der digitalen Signa.lverarbeitungseinrichtung
1 kann der Programinspeicherbereich MPM durch die Ablaufsteuereinrichtung 91 adressiert werden, um
gleichzeitig die 32-Bit-Mikrobefehlsdaten I auszulesen,
während der Koeffizientenspeicherbereich CFM durch einen Koeffizientenzeiger 7I adressiert werden kann, um gleich
zeitig 1 6-Bit-Koeffizientendaten K auszulesen, "l/enn die
Adresse A 0... A 11 bezeichnet ist, werden 9 Bits A 2... A 10 als Adresse von der Ablaufsteuereinrichtung 91 dazu
ausgenutzt, zu 512 32-Bit-Worten zuzugreifen, während 9 Bits A1... A9 als Adresse von dem Koeffizientenzeiger
71 ausgenutzt werden, um zu 512 Worten der Seite 1 zuzugreifen.
Ein Bit aO wird für den Seitenwechsel benutzt.
-ΙΟΙ Die 8-Bit-Signale von dem Host-Rechnersystem 4 her werden
zu der digitalen Signalvorarbeitungseinrichtung 1
als vier verschiedene Signale durch 2-Bit-Betriebsart-Umsehaltsignale
RSO, RS1 übertragen. In Fig. 4 ist der Inhalt der 8-Bit-Signale für die Betriebsarten gezeigt.
Die Betriebsarten-Umschaltsignale RSO, RSI stehen für vier verschiedene Zustände OO bis 11 da; , nämlich für
den Datenbetrieb MO, für einen oberen Adressenbetrieb
MI, für einen unteren Adressenbetrieb M2 und für einen
Steuerbetrieb M3. Vie am besten aus Fig. 4 hervorgeht,
sind beim De.tenbetrieb MO die Bits bO bis b7 der 8-Bit-Daten
B von dem Host-Rechnersystem 4 her die entsprechenden Bits d0 bis d7 der 8-Bit-Daten D, die praktisch
in den Bereichen MPM und CFM eingeschrieben sind. Im
oberen Adressenbetrieb M1 sind die Bits BO bis B3 die
oberen vier Adressenbits a8 bis al 1 der 12-Bit-Adresse
für einen Zugriff zu dem Speicher MR. Beim unteren Adressenbetriefo
M2 sind die Bits b0 bis b7 die Adressenbits a0 bis a7 der unteren 8-Bit-Adresse. Im Steuerbetrieb M3
werden die entsprechenden Bits bO bis b7 der oberen
8-Bit-Daten B als entsprechende Steuersignale ausgenutzt. So wird beispielsweise das Bit b7 als Seitenwechsel-Steuersignal
PAGB für den Koeffizientenspeicherbereich
CFM verwendet.
Nunmehr sei auf Fig. 5 und 6 Bezug genommen, um die Datenschreiboperation
au veranschaulichen, gemäß der Daten in den Speicher MR von dem Host-Rechnersystem 4 her eingeschrieben
werden.
Fig. 5 zeigt in einem Blockdiagramm die Schnittstellenschaltung
5? den Programmspeicher 6, den Koeffizientenspeicher
7 und die benachbarten Schaltungselemente in der in Fig. 1 und 2 dargestellten digitalen Signalverarbeitungseinrichttmg
1 . Die oben erwiihnten 8-Bit-Daten B, ein Chip-Auswahlsignal CS und die oben erwähnten Be-
triebsart-Schaltsignale RSO, RS1 werden entsprechend an
einen Dateneingangsanschluß 17» on einen Chii^- Auswahl eingangs
anschluß 18 bzw. an Betriebsart-Schaltsignal-Eingangsanschlüsse
19 RO, 19 RI abgegeben, wie dies Fig.
veranschaulicht. Ein Taktimpuls CP, wie ei" in Fig. 6 gezeigt
ist, wix"d einem Taktimpuls ans chluß CLK zugeführt,
wie dies Fig. 5 zeigt, um die Betriebsweise der in der
digitalen Signalverarbeitungseini'ichtung 1 enthaltenen
Schaltungselemente zu synchronisieren.
Es sei nunmehr angenommen, daß zur Übertragung von Daten von dem Host-Rechnersystem 4 her das Chip-Auswahlsignal
CS auf einen niedrigen Pegel (l) und zu einem Zeitpunkt ti wieder zu einem hohen Pegel (h) hin geäxidert
wird. Das erste Register 5I ist dann zum Zeitpunkt ti freigegeben, um die 8-Bit-Daten B von dem Dateneingangsanschluß
17 her weiterzuleiten und die Daten als Ausgangssignal abzugeben bzw. zu übertragen. Dieses
Chip-Auswahlsignal CS wird mit einer zeitlichen Steuerung
geändert, die bezüglich des Taktinipulses CP belanglos ist. Das Q-Ausgangssignal des Flipflops bzw.
bistabilen Kippgliedes 53 ändert sich vom "H^-Vert zum "L"-¥ert zu einem Zeitpunkt t2, der der ersten Ausbildung
des Taktimpulses CP seit dem Zeitpunkt ti entspricht.
Dieses Q-Ausgangssignal wird bei niedrigem Pegel "L" bis zum Zeitpunkt t3 gehalten, der der nächsten
Ausbildung des Taktimpulses CP entspricht; das betreffende Ausgangssignal wird zu einem Anschluß G1 eines
Betriebsarten-Decoders 52 übertragen. Der Betriebsarten-Decoder
52 spricht auf Betriebsarten-Schaltsignale RSO,
RS1 am Anschluß 19 RO an, um lediglich eine der Signalleitungen
zu aktivieren, und zwar entsprechend den Betriebsarten MO, M1, M2, M3, und lediglich während der
Zeitspanne t2-t3. Demgemäß wird für den Datenbetrieb MO eine e-Bit-Daten-Latch-Schaltung bzw. -Zwischenspeicherschaltung
54 aktiviert, um die Bits b0 bis b7 zwischen-
zuspeichern, und für den Steuerbetrieb M3 wird eine
Steuerdaten-Zwischenspeicherschaltung $6 aktiviert,
um lediglich die erforderlichen Bits der Bits bO bis
b7 zwischenzuspeichern. Eine Adressenzählerschaltung
macht Gebrauch von drei voreinstellbaren 4-Bit-Zählern, und zwar entsprechend den Adreseenbits aO bis a3, aAbis a7 bzw. a8 bis all. Bezüglich des oberen Adressenbetriebs
M1 werden die Bits bO bis b3 von einem voreinstellbaren
4-Bit-Zähler zwischengespeichert, und zwar entsprechend den Adressenbits a8 bis al 1. Bei dem unteren
Adressenbetrieb M2 Airerden die Bits bO bis b3 und hk bis b7 von zwei voreinstellbaren 4-Bit-Zählern zwischengespeichert,
und zwar entsprechend den Adressenbits aO bis a3 bzw. a4 bis a7. Diese Zwischenspeicheroperationen
sind so gelegt, daß sie zum Zeitpunkt t3 auftreten.
Wie aus dem unter Bezugnahme auf Fig. 3 beschriebenen
Speicherplan ersichtlich ist, können die acht Bits dO bis d7 der 1-Byte-Daten D von der Daten-Zwischenspeicherschaltung
5^ her gelegentlich als Byte iO bis' ±7,
i8 bis i15> ii6 bis 123 oder i24 bis i31 verwendet werden,
welches in den Mikrobefehlsdaten I enthalten ist, als Byte kO bis k7 oder als Byte k8 bis k15 der Koeffizientendaten
K. Welches dieser Bytes den acht Bits dO bis d7 entspricht, wird durch die Adressenbits aO,
al und al 1 der Adresse A bestimmt. Ob die Daten Mikrobefehlsdaten
oder Koeffizientendaten sind, wird durch das Adressenbit al 1 bestimmt. In dem Fall, daß die Daten
Mikrobefehlsdaten sind, kann das relevante Byte der vier Bytes (32 Bits) durch die Adressenbits aO, al
spezifiziert werden. In dem Fall, daß die Daten Koeffizientendaten sind, kann das relevante Byte der beiden
Bytes (16 Bits) durch das Adressenbit aO spezifiziert werden. Demgemäß werden die Adressenbits aO, al,
all von dem Adressenzähler ^ hex" an einen Adressen-
decoder 57 abgegeben, von dem sechs Ausgangssignale
entsprechend den Bits iO bis i7, i8 bis 115» ii6 bis
i23, i24 bis i23, kO bis k7 und k8 bis ki5 abgegeben
werden, um eines von sechs 8-Bit-Puffer-Verknüpfungsgliedern
freizugeben, die am Ausgang der Daten-Zwischenspeicherschaltung 5h angeschlossen sind. Vier dieser
sechs 8-Bit-Puffer-Verknüpfungsglieder sind in einer Byte-Auswahlschaltung 62 für die Mikrobefehlsdaten vorgesehen, und die übrigen beiden Verknüpfungsglieder
sind in einer Byte-Auswahlschaltung 72 für die
Koeffizientendaten vorgesehen.
Der Mikroprogramnispeicher 6 und der Koeffizientendatenspeicher
7 sind mit Bytes als Struktureinheiten konfiguriert.
Demgemäß ist der Mikroprogrammspeicher 6 dadurch gebildet, daß vier 512-Byte-Speichereinheiten
parallel geschaltet sind und demgemäß eine Kapazität von 512 Worten mit jeweils 32 Bits haben. Der Koeffizientenspeicher
7 ist dadurch gebildet, daß zwei 1024-Byte-Speichereinheiten parallel geschaltet sind und
damit eine Kapazität von 512 Worten auf zwei Seiten
haben, deren jedes 16 Bits aufweist. Die Ausgangssignale der vier 8-Bit-Puffer-Verknüpfungsglieder der
Byte-Auswahlschaltung 62 werden an die vier 512-Byte-Speichereinheiten
des Mikroprogrammspeichers 6 abgegeben, während die Ausgangssignale der beiden 8-Bit-Puffer-Verknüpfungsglieder
der Byte-Auswahlschaltung 72 an die beiden 1024-Byte-Einheiten des Koeffizientendatenspeichers
7 abgegeben werden. Bezüglich des 12-Bit-Adressenausgangssignals A des Adressenzählers 55 werden
neun Bits a2 bis a10 an einen Adressenbus des Mikroprogrammspeichers 6 über ein ^Bit-Puffer-Verknüpfungsglied
63 abgegeben, während zehn Bits al bis alO an
einen Koeffizienten-Adressenbus des Koeffizientenspeichers 7 über ein 1O-Bit-Puffer-Verknüpfungsglied 23 abgegeben
werden.
Diese Puffer-Verknüpfungsglieder 63, 73 sind sogenannte Tristate-Puffer, d.h., daß sie durch, ein Signal REFRESH
freigegeben werden, welches auf die Ausführung von Auffrischbefehlen
des Mikroprogramms hin geschaltet Wird. Ansonsten verbleiben die betreffenden Verknüpfungsglieder
im hochohmigen oder sogenannten floatendenZustand.
Der Adressendecoder 57 arbeitet ebenfalls auf das Signal REFRESH hin, um einen der sechs Decoderausgänge
zu aktivieren, so daß lediglich das relevante Verknüpfungsglied der 8-Bit-Puffer-Verknüpfungsglieder der
Byte-Auswahlschaltungen 62, 72 freigegeben ist. Die Puffer-Verknüpfungsglieder dieser Byte-Auswahlschaltungen
62, 72 sind ebenfalls als Tristate-Puffer ausgelegt.
Die 9-Bit-Programmspeicheradresse, die sich auf die Adressenbits a2 bis a1O bezieht, wird von der Ablaufsteuereinrichtung
29 abgegeben, um die Forte in dem Mikroprogrammspeicher 6 aufeinanderfolgend zu adressieren,
damit die Mikrobefehle ausgelesen werden. Fig.
veranschaulicht die Mikrobefehle MPI, die aufeinanderfolgend aus dem Mikroprogramruspeicher 6 ausgelesen sind.
Die Zahlen ... N-1, N, N+1, ... sind einer Reihe von
Befehlen angehängt, die zur Steuerung der Speichersteuereinheit 2 und der in der digitalen Signalverarbeitungseinrichtung
1 enthaltenen entsprechenden Schaltungen ausgenutzt sind. Es sei darauf hingewiesen, daß
der N. Befehl einen 32-Bit-Auffrischbefehl enthält, in
welchem das Auffrisch-Befehlsbit bzw. -Kommandobit aktiv
ist, und daß der dem N. Befehl unmittelbar folgende Befehl in der digitalen Signalverarbeitungseinrichtung
1 unberücksichtigt gelassen wird, und zwar wegen der resultierenden Auffrischoperation. Deshalb wird
ein operationsloser Befehl (ein sogenannter NOP-Befehl) zwischen den N. Befehl und den (N+1). Befehl eingefügt,
also zwischen den Befehlen, die für die tatsächliche Steuerung der Signalverarbeitungsoperation bestimmt sind.
Unter -weiterer Bezugnahme auf Fig. 6 sei angemerkt, daß
der den Auffrischbefehl enthaltende N. Befehl aus dem
Mikroprogrammspeicher 6 zu einem Zeitpunkt t11 ausgelesen
wird, der durch die Taktimpulse CP bestimmt ist. Dieser N. Befehl wird um ein Taktimpulsintervall verzögert,
indem er durch ein Pipeline-Register 61 geleitet und innerhalb des nächsten Taktinipulsintervalls t12-t13 ausgeführt
wird. Während dieses Zeitintervalls t12-t13 sind der Mikroprogrammspeicher 6 und der Koeffizientenspeieher
7 im Speicherzugriffs- oder Adressierungsbetrieb,
so daß ein Zugriff oder eine Adressierung von der Ablaufsteuereinrichtung
9^ und dem Koeffizientenzeiger 7Λ
aufgrund der internen Operation der digitalen Signalverarbeitungseinrichtung
1 verhindert bzw. gesperrt ist.
Die 8-Bit-Daten aus der Datenzwischenspeicherschaltung 54 können in das 8-Bit-Wort geschrieben werden, welches
durch die Adresse A von dem Adressenzähler 55 her adressiert
ist. Darüber hinaus ist während dieses Zeitintervalls t12 bis t13 der Status so, daß die Zwischenspeicherung
der 32-Bit-Daten,die aus dem Mikroprogrammspeicher 6 ausgelesen sind, durch das Pipeline-Register 61
verhindert bzw. gesperrt ist. Das Pipeline-Register-Freigabesignal befindet sich auf einem hohen Pegel. Deshalb
wird der NOP-Befehl, der in dem Befehl MPI enthalten ist, welcher aus dem Mikroprogrammspeicher 6 ausgelesen
ist {d.h. der Befehl unmittelbar auf den Auffrischbefehl
hin) durch das Pipeline-Register 61 nicht zwischengespeichert. Das Ausgangs signal des Pipeline-Registers 61.
ist so, daß' der N. Befehl während des Zeitintervalls t12-ti4
andauert. Auf diese Art und Weise wird die Auffrischoperation während des Zeitintervalls t12-t13 ausgeführt.
Das Auffrischsignal REFRESH ist dabei so aktiv, daß die Puffer-Verknüpfungsglieder 63, 73 freigegeben werden und
ein Zugriff zu einem Wort erfolgt, welches in dem Mikro-Programmspeicher
6 oder in dem Koeffizientenspeiclier 7 gespeichert ist. Eines der Puffer-Verknüpfungsglieder in
den Byte-Auswahlschaltungen 62, 72 wird zum Einschreiben
relevanter 1-Byte-Daten aus den kOJo Bytes freigegeben,
die in dem Speicher MR gespeichert sind,
Ein für die Adressierung des Koeffizientenspeichers J
vorgesehener Koeffizientenzeiger 7I, der auf die Ausführung
des Mikroprogramms in der digitalen Signalverarbeitungseinrichtung 1 anspricht, ist so ausgelegt,
daß ein 9-Bit-Adressenausgangssignal entsprechend den
Adressenbits al bis a9 an einen Koeffizienten-Adressenbus
abgegeben wird, um eine der beiden 512-Wort-Seiten
des Koeffizientenspeichers 7 zu adressieren. Das dem Adressenbit al O, welches die Seite O oder die Seite 1
spezifiziert, entsprechende Signal wird auf das Bit b7 in den 8-Bit-Daten hin ausgegeben, die von dem Host-Rechnersystem
4 während des Steuerbetriebs M3 abgegeben werden. Während des Steuerbetriebs M3 werden somit die ■
8-Bit-Daten von der Steuerdaten-Zwischenspeicherschaltung 56 zwischengespeichert, während das Seitenwechselsignal
PAGE auf das Bit b7 hin ausgegeben wird, welches dem Dateneingangsanschluß D des D-Flipflops 7Jk zugeführt
wird. Ein Auffrischsignal RKFRKSH, welches wiihrend der.
Ausführung eines spezifizierten Befehls in dem Mikroprogramm, wie des Auffrischbefehls, invertiert wird,
wird einem Triggereingangsanschluß T des D-Flipflops 7k
zugeführt. Die Daten am Dateneingangsanschluß D werden
zum Auffrischzeitpunlct eingeführt und von dem Q-Ausgangsanschluß abgegeben. Dieses Q-Ausgangssignal wird
als Adressenbit a10 über das Puffer-Verknüpfungsglied 75 an den Koeffizienten-Adressenbus abgegeben. Deshalb
wird der Seitenwechsel lediglich auf die Ausführung eines bestimmten Befehls ausgeführt, wie eines Auffrischbefehls,
der in dem Mikroprogramm enthalten ist, und in Abhängigkeit vom Inhalt der Steuerdaten, die
von dem Host-Rechnersystem h ausgehen.
Bei dem zuvor erwähnten digitalen Signalverarbeitungssystem
erscheinen der Mikroprogrammspeicher 6 und der Koeffizientenspeicher J als zusammenhängender Speicher
MR bei Betrachtung von dem Host-Rechnersystem 4 gemäß Fig. 3 her. Der betreffende Speicher kann mit einer
bestimmten Reihe von Adressenbits aO bis all adressiert werden. Auf diese Art und Weise kann eine Datenübertragung
einfach und genau ausgeführt werden. Darüber hinaus weist der Koeffizientenspeicher 7 zumindest zwei
Seiten entsprechend dem gesamten Speicherbereich auf, der während der Durchführung der Mikroprogrammausführung
in der digitalen Signalverarbeitungseinrichtung 1 adressierbar ist. Der Seitenwechsel wird durch Steuerdaten
von dem Host-Rechnersystem 4 her gesteuert (beispielsweise durch den Inhalt der Datenbits b7 für den
zuvor erwähnten Steuerbetrieb M3). Auf diese Art und
Weise braucht ein Teil einer Reihe von Koeffizienten
nicht wieder eingeschrieben zu werden, wie dies üblicherweise
die Praxis ist, so daß das Auftreten von ungünstigen Auswirkungen, die durch eine Störung oder
Schwingung hervorgerufen werden, vermieden werden kettln. Da die Zeitpunkte für das Einschreiben von Daten
von dem Hos.t-Rechnersystem 4 in den Speicher MR und der
Seitenwechsel in einem bestimmten Zyklus erfolgen bzw. vorgesehen sind, der ohne Bedeutung für die digitale
Signalverarbeitung ist, wie für die logische Operation oder Multiplikation, die im Zuge der Mikroprogrammausführung
ausgeführt wird, beispielsweise in einem Auffrischzyklus, der die Ausführung eines Auffrischbefehls
begleitet, ist überdies keine Gefahr dafür vorhanden, daß z.B. Koeffizienten im Zuge der Multiplikation geändert
werden.
Nunmehr sei auf Fig. 7 Bezug genommen, um die in.der
Multipliziereinrichtung 22 durchzuführende Multiplikation von Koeffizientendaten mit doppelter Stellen-
-Zkzahl zu veranschaulichen.
Einem Koeffizienten-Eingangsanschluß X der Multipliziereinrichtung
22, wie sie oben erwähnt worden ist, werden 12-Bit-Koeffizientendaten X zugeführt, und diese Daten
werden mit 24-Bit-Digitalsignaldaten Y multipliziert,
die einem Multiplikanden-Eingangsanschluß Y zugeführt werden, um zu einem 36-Bit-Produkt zu gelangen. Die
oberen 2k Bits werden als Produktdaten P aufgenommen und dem Multiplexer 23 zugeführt. ¥enn die doppelte
Stellenzahl von 2k Bits der Koeffizientendaten erforderlich ist, werden diese 2k Bits in obere 12-Bit-Daten
Xj., (eine Länge von einem Datenwort) und in untere
12-Bit-Daten XT (eine Länge von einem Datenwort) unterteilt.
Diese Daten X^. und X werden mit den Multipli- ·
kandendaten Y multipliziert, und die entsprechenden Produkte v/erden zusammenaddiert, um ein Produkt für
2-4-Bit-Koeffizientendaten zu liefern. Da die oberen
12 Bits der 36-Bit-Produktdaten XT · Y, die durch MuI-tiplikation
der unteren 12-Bit-Daten X. mit den Multiplikanden-Daten Y erhalten werden, den unteren
12 Bits der 24-Bit-Produktdaten P entsprechen, ist es in diesem Falle erforderlich, zweite Produktdaten
PP zu verwenden, in denen das Produkt X1. · Y um ein
L· Wort oder um 12 Bits zur unteren Seite hin verschoben
ist, und die oberen 12 Bits werden um 12 Bits zur oberen Seite erweitert, um zu 24-Bit-Daten zu gelangen.
Darüber hinaus sei unter Bezugnahme auf Fig. 7 angemerkt, daß dann, wenn das digitale 24-Bit-Multiplikandensignal
Y mit den doppelte Stellenzahl aufweisenden 24-Bit-Koeffizientendaten
multipliziert wird, die Koeffizientendaten X.J, die den oberen 12 Bits der 24-Bit-Koeffizientendaten
entsprechen, mit den Multiplikanden-Daten Y in dei- ersten Stufe des Betriebs multipliziex-t werden,
um zu einem 36 Bits umfassenden Produkt Y · X zu führen,
- 25 -
j und die oberen Zh Bits des Produkts Y · X.. werden von
der Multipliziereinrichtung 22 her als erste Produktdaten
P erhalten. Als Operation der zweiten Stufe werden die Koeffizientendaten XL, die den unteren 12 Bits
der zuvor er\tfähnten 24-Bit-Koeffizientendaten entsprechen,
mit den Daten Y multipliziert, um ein 36-Bit-Produkt
zu liefern, welches dann um 12 Bits zur unteren Seite hin verschoben wird, so daß das Produkt Y · X_
nunmehr als eine zusammenhängende Folge vorliegt, wie IQ sie durch die Strich-Doppelpunkt-Linie in Fig. 7 veranschaulicht
ist. Die oberen 12 Bits des Produkts werden einer Vorzeichen-Ausdehnung ausgesetzt, und die resultierenden
24 Bits werden als Produktdaten PP von der Multipliziereinrichtung 22 her aufgenommen. Unter Vorig
Zeichenausweitung wird eine Operation verstanden, gemäß
der die Vorzeichenbits der im Zweierkomplementformat dargestellten digitalen Daten in die obere Seite
addiert werden, und zwar in einer Zahl, die gleich der Gesamtbitzahl der neuen Datensequenz abzüglich der Bitanzahl
des Ursprungsprodukts ist.
- 26 Tabelle
Dezimal zahl |
Binärzahl im 2 4-Bit-Format |
1 | 1 | 1 | 'weierkomplement 8-Bit-Format |
0 | 0 | 0 | 0 | 1 | 1 | 1 |
7 | O | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
6 | O | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | ' 1 |
VJl | O | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
4 | O | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
3 | .0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
O | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
-1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 ' | 1 | 1 | 0 * |
-2 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
_·ζ | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
-4 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |
—5 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 |
-6 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
-7 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
-8 | 1 | 1 |
Das in der obigen Tabelle 1 angegebene Beispiel, gemäß dem z.B. vier Bits gleich dem obersten Bit (Vorzeichenbit)
0 oder 1 der 4-Bit-Binärdaten in der Zweierlcomplementdarsteilung
zur Oberseite addiert werden, um zu 8-Bit-Daten zu führen, steht für dieselbe Zahl da.
Der Hardware-Aufbau kann so getroffen werden, daß die Datensignalleitung zwischen der Multipliziereinrichtung
22 und dem Multiplexer 23 in der aus Fig. 2 er-
sich.tlich.en Weise angeschlossen ist, wodurch die ersten
Produktdaten P und die zweiten Produktdaten PP ohne irgendwelche Änderungen in der Multiplikationsoperation in der Multipliziereinrichtung 22 erlialten
werden können. Der Multiplexer 23 sendet die Daten P an das ALU-Rechenwerk 21 zum Zeitpunkt der ersten Stufe
der Multiplikation aus, und die Daten PP werden an das ALU-Rechenwerk 21 zum Zeitpunkt der zweiten Stufe der
Multiplikation abgegeben, so daß die Daten P und PP in dem ALU-Rechenwerk 21 zusammenaddiert werden. Zumindest
die oberen 12 Bits des Produkts können zu dem PP-Eingangsanschluß des Multiplexers übertx~agen werden,
und die Bitverschiebung sowie die Vorzeichenausweitung bzw.-ausdehnung können in der ALU-Einheit 21 ausgeführt
Airerden.
Aus Vorstehendem dürfte ersichtlich sein, daß die Multipliziereinrichtung
22 lediglich eine Schaltungseinteilung von 24 χ 12 Bits für eine Länge von 24 Bits der
digitalen Signaldaten und eine Länge von 12 Bits für ein Koeffizientendatenwort benötigt und daß für einen
Algorithmus, der eine Koeffizientenwortlänge doppelter
Stellenzahl von 24 Bits benötigt, das Koeffizientenwort doppelter Genauigkeit in obere 12 Bits und in untere
12 Bits aufgeteilt wird, wobei diese Bits mit den digitalen Signaldaten entsprechend multipliziert werden.
Das aus der zweiten Multiplikation resultierende Produkt wird dabei um ein ¥ort oder um 12 Bits durch eine
logische Verschiebung oder um 11 Bits durch eine arithmetische
Verschiebung zur unteren Seite hin verschoben, um zweite Produktdaten PP zu liefern, die dann dem Produkt
P aus der ersten Multiplikation hinzuaddiert werden, um die Multiplikation von 24 Bits mit 24 Bits zu
vervollständigen. Die Steigerung der Anzahl der Zyklen, die auszuführen sind, beträgt etwa lediglich 1, womit
eine extrem schnelle Operation im Vergleich zu der her-
kömmlichen Operation mit doppelter Stellenzahl realisiert
ist.
Darüber hinaus kann eine schnelle Operation mit einfaeher
Stellenzahl Tür Betriebskomponenteh ausgewählt werden,
die lediglich eine Koeffizientengenauigkeit von
Bits erfordern. Die doppelte Genauigkeit kann für Betriebskomponenten
ausgewählt werden, die eine höhere Koeffizientengenauigkeit bzw. -Stellenzahl erfordern,
wie digitale Filter. Das Ergebnis ist das Signalverarbeitungssystem mit verbesserter Hardware-Nutzungsrate.
Die vorliegende Erfindung ist auf die obige Ausführungsform nicht beschränkt. So können beispielsweise die Wort-
längen des digitalen Signals oder die Koeffizientendaten
in irgendeiner gewünschten Weise festgesetzt sein. Die
zeitliche Steuerung bezüglich des Einschreitens von Daten oder bezüglich der Seitenwechseloperation muß nicht
in dem Auffrischzyklus vorgesehen sein, sondern kann
auch im Befehlsausführungszyklus vorgesehen sein, wie
beim NOP-Befehl oder beim Übergangs-Stopp-Befehl (Aufgabebefehl)
, d.h. bei Befehlen, die in gewissem Maße unbedeutend für die tatsächliche Verarbeitung digitaler
Signale sind. Es sei angemerkt, daß viele weitere Änderungen als im Rahmen der Erfindung liegend vorstellbar
sind.
Eine digitale Signalverzögerungsscli<ung, die von dem
digitalen Signalverarbeitungssystem Gebrauch macht, um
einen Hallraum oder eine Hallmaschine bereitzustellen, und insbesondere der Aufbau der Speichersteuereinheit
werden nunmehr unter Bezugnahme auf die Zeichnungen beschrieben werden.
In den Zeichnungen ist mit dem Bezugszeichen 3 ein Signalverzögerungsspeicher
bezeichnet, der eine Kapazität
von ζ-, B. 64 K (65536) 24-Bit-Diß-italsignalen hat. Jedes
in dem Signalverzögerungsspeicher 3 gespeicherte Wort
wird z.B. durch eine 16-Bit-Speicheradresse MA von der
Adressenleiteinheit 8 her adressiert·, die in der Speichersteuereinheit
2 enthalten ist.
Wie beispielsweise in Fig. 9 gezeigt, sind die in dem
Signalverzögerungsspeicher 1 gespeicherten 6k K Worte in η Speicherzellen C1 bis Cn unterteilt. Ein Adressen-
XO leitspeicher 8' ist in der Adressenleiteinheit 8 enthalten,
und zwar für die Speicherung von Grenzadressen (obere Adresse TA und untere Adresse BA) dieser ersten
bis n. Speichex-zellen C1 bis Cn und der Adressen der
Zellen, die im Zugriffsbetrieb sind, oder der laufenden
Adressen CA. Die Zellen C1 bis Cn in dem Signalverzögerungsspeicher 3 ~k.oim.en Überlappungsworte aufweisen,
wie dies für die Zellen C2 und C3 zutrifft, oder sie können unterbrochene Adressenbereiche aufweisen, wie dies
für die erste Zelle C1 und für die zweite Zelle C2 zutrifft.
Pur jede der Speicherzellen C1 bis Cn weist der
Adressenleitspeicher 81 einen Bereich 81B für die Speicherung einer unteren Adresse BA5 bei der es sich um
den minimalen Adressenwert handelt, einen Bereich 81B für die Speicherung einer oberen Adresse TA, bei der
es sich um den maximalen Adressenwert handelt, und einen Bereich 81C für die Speicherung laufender Adressen
CA im Betrieb auf, wobei diese Adressen von der Adresse BA bis zur Adresse TA reichen. Jeder Bereich 81A,
81T, 81C kann Worte in Zahlen speichern, die zu den Zahlen
der Zellen in Beziehung stehen;er kann durch Serien-Zellennummern adressiert werden.
Das Einschreiben der Adressen BA, TA und CA (einleitende
oder nachfolgende Änderungen) kann durch das Host-Rechnersystem
4 wie im Falle der Datensignalverarbeitungseinrichtung 1 ausgeführt werden. Das Heclinersystem 4 gibt
beispielsweise 6-Bit-Daten aus, um die Seriennummern der
Speicherzellen zu spezifizieren, und 16-Bit-Adressendaten
für die Identifizierung der Adressen BA, TA und CA. Die Serien-Zellennuminerndaten und die Adressendaten werden
der Adressenleiteinheit 8 über einen Multiplexer 82,
der als Schalt- und Auswahleinrichtung in der Speichersteuereinheit
2 verwendet wird, bzw. über das Adressenregister 11 abgegeben. Es sei darauf hingewiesen, daß
für die 6-Bit-Serienzellennuinmerndaten der Signalverzögerungsspeicher
3 in bis zu 64 Speicherzellen aufgeteilt
sein kann.
Fig. 11 zeigt eine typische Schaltungsanordnung für die Adressenleiteinheit S. Gemäß Fig. 11 ist ein Addierer
83 so ausgelegt, daß er "1" zu der laufenden Adresse
CA addiert (oder diese Adresse inkreraentiert), die aus dem Bereich 81C des Adressenleitspeichers 81 ausgelesen
ist. Das Lrgebnis der in dem Addierer 83 durchgeführten
Addition, das sind die inkrementierten laufenden
Adressendaten, wird einem Komparator 84 und einem Multiplexer 85 zugeführt. Das Ergebnis der Addition und
die obere Adresse TA, die aus dem Bereich SIT des Adressenleitspeichers
81 ausgelesen ist, werden in dem Komparator 84 verglichen, und das Vergleichsergebnis wird
an einen Schaltersteueranschluß des Multiplexers 85 abgegeben. Dieser Multiplexer wird so betrieben, daß
die untere Adresse BA aus dem Bereich 81B des Adressenleitspeichex-s
81 oder das Ergebnis der Addition von dem Addierer 83 aufgrund des obigen Vergleichsergebnisses
ausgewählt und abgegeben wire1. Demgemäß wird die untere
Adresse BA ausgewählt und abgegeben, wenn das Ergebnis der Addition größer ist als die obere Adresse TA. Die
Ausgangs-Adressendaten von dem Multiplexer 85 her werden über den Multiplexer 86 an den Bereich 81C des Adressenleitspeichers
81 abgegeben und auf den Schreibbefehl WT von dem Mikroprogrammspeicher 6 her eingeschrieben.
Auf diese Art und Weise virxl die laufende Adresse CA
in dem Speicherbereich 81C jedesmal dann inkrementiert,
wenn der Schreibbefehl WT an den Signalverzögerungsspeicher
3 von dem Mikroprogramm her abgegeben wird, und die Adresse CA wii"d wieder von der unteren Adresse BA
auf Erreichen der oberen Adresse inkrementiert.
Es sei darauf hingewiesen, daß die in Fig. 1 dargesteilte
digitale Signalverarbeitungscinrichtung 1 den in Fig. 8 dargestellten Schaltungsteilen ausschließlich
der Speichersteuereinheit 2, des Signalverzögerungsspeichers 3 und des Host-Rechnersystems entspricht.
Bei der vorliegenden Ausführungsform enthält der Mikrobefehl
ein Feld für die Steuerung der Adressenleiteinheit 8, die für die Leitung des Signalverzögerungsspeichers
3 vorgesehen ist. Mit bis zu 6k Speicherzellen des Signalverzögerungsspeichers 3 sind sechs Bits erforderlich:
für die Spezifizierung der Serienzellennummern, und zwei Bits sind ferner "erforderlich für
ddß Steuerung der Lese-Schreiboperationen des Signalverzögerungsspeichers
3· Damit ist das Feld eine 8-Bit-Adreseenleiteinheit oder ein Signalverzögerungsspeicher-Steuerfeld.
Dieses S-Bit-Adi-essenleiteinheits-Steuerfeldsignal
wird an die Adressenleiteinheit 8 abgegeben, wobei die 16 Bit umfassende laufende Auresse
CA erzeugt wird, um den Signalverzögerungsspeicher 3
von dem die laufende Adresse umfassenden Bereich 81C
des Adressenleitspeichers 81 her zu adressieren.
Wenn beispielsweise die erste Speicherzelle C1 in dein
Signalverzögerungsspeicher 3 als Verzögerungsschaltung
benutzt wird, ist es erforderlich, zuvor die untere Adresse BAI und die obere Adresse TA1 für die Speicherzelle
CI so\vrie die laufende Adresse CAI , die von BA1
bis TA1 reicht, in die entsprechenden Worte zu schreiben,
die in den Bereichen SlB, 81T und 81C des Adressenleitspeichers
81 gespeichert sind und die die Adressen für die Serienzellennummern aufweisen, welche beispielsweise
gleich "1" sind (Einleitungsschritt). Während einer derartigen
Einleitung bzw. Initialisierung wird der Multiplexer 82 in der Speichersteuereinheit 2 zu dem Host-Rechner
sys tem 4 hin umgeschaltet, welches dann ein die Serienzellennummer "1" bezeichnendes Signal und Adressendaten
für die Adressen BAl, TAl und CA1 sequentiell zu dem Adressenleitspeicher 8 hin überträgt. Venn die
sequentielle Übertragung der Adressen BA1, TA1 und CA1 erfolgt, überträgt das Rechnersystem 4 außerdem die Adressenidentifizierungscodes,
die für die Identifizierung dieser Adressen benutzt werden. Die somit übertragenen
Daten werden in die Bereiche 81B, 81T und 81C eingeschrieben.
Nach der somit erfolgenden Initialisierung der zu verwendenden Speicherzellen vira der Multiplexer 82 zu dem
Mikroprograumspeicher 6 hin umgeschaltet, so daß die
Adressenleiteinheit 2 durch das Mikroprogramm gesteuert wird. In diesem Falle geht die Steuerung über auf die
digitale Signalverzögerungschleife, wonach sämtliche
Worte in dem Signalverzögex-ungsspeicher 3 gelöscht oder
auf "0" gesetzt werden. In dieser Verzögerungsschleife
werden Lese- und Schreiboperationen bezüglich der Worte in dem Signalverzögerungsspeicher 3 ausgeführt, die
durch die laufende Adresse CA adressiert sind, während die j'-dresse CA inkr.ementiert wird bzw. ist. In dem
Mikroprogramm ist es lediglich erforderlich, die Seriennummern
der Speicherzellen zu bezeichnen und Lesesowie Schreibbefehle abzugeben. Die Operation, wie die
Inkrementierung der laufenden Adresse CA, sowie das
Umschalten auf die untere Adresse BA nach Erreichen der oberen Adresse, wird automatisch in der Adressenleiteinheit
2 ausgeführt.
Wenn die Serienzellennummer in dem Signalverzögerungsspeiclier
3 durch, die Mikroprogramm-Digitalsignalverzögerungsschleife
spezifiziert ist, wird die laufende Adresse CA des der Zellennuimner des Adressenleitspeichers
entsprechenden Wortes ausgelesen, und es erfolgt ein Zugriff
zu dem Signalverzögerungsspeieher 3 durch diese
Adresse CA. Wenn der Signalverzögerungsspeieher 3 eine
Zugriffszeit in der Größenordnung eines Milcroprogramrn-Befehlszyklus
oder eine darunter liegende Zugriffszeit hat, dann können die Inhaltsdaten des adressierten Wortes
durch den folgenden Mikrobefehl eingegeben oder ausgegeben werden, wobei digitale Signale aus dein Signalverzögerungsspeicher
3 ausgelesen oder in diesen eingeschrieben werden können. Im Lesebetrieb wird die
laufende Adresse CA in der Adressenleiteinheit 2 nicht
aktualisiert, und die aus dem Signalverzögerungsspeicher 3 in dem Befehlszyklus, der auf die Bezeichnung der Serienzellennummer
hin folgt, ausgelesenen Daten können über den Datenbus DB zu den Registern hin oder zu Schaltungselementen,
die die nächsten Verarbeitungsschritte ausführen, wie die Multipliziereinrichtung und der Digital/Analog-Wandler,
übertragen werden. Im Schreibbetrieb wird ein Schreibinipuls auf den Mikrobefehl hin ausgegeben,
der dem Speichex'zugriff folgt, wodurch die digitalen
Daten auf dem Datenbus DB in das in dem Signalverzögerungsspeicher 3 gespeicherte adressierte Wort eingeschrieben
werden, während die laufende Adresse CA in der Adressenleiteinheit S aktualisiert wird, was bedeutet,
daß die Adressendaten von dein Multiplexer 85 her in die
Adressenleiteinheit 8 aufgenommen werden.
Nunmehr sei auf Pig. 12 Bezug genommen, um die Betriebs-Zeitsteuerung
im Schreibbetrieb zu veranschaulichen. Gemäß Fig. 12 entspricht das Zeitintervall Te einem Befehlszyklus
in dem Mikroprogramm. Die Serienzellennummer
ist in Bezug auf den Schreibbefehl während der Zeit-
- 3h -
spanne ti - t2 gekennzeichnet, und Daten werden zwischen
dem Signalverzögerungsspeicher 3 und dem Datenbus DB während der Zeitspanne t2 - t3 ausgetauscht. Wenn die Serienzellennummer
zum Zeitpunkt ti spezifiziert ist, wird die laufende Adresse CA, die aus dem für die laufende
Adresse vorgesehenen Bereich 81C des Adressenleitspeichers 81 ausgelesen ist, zum Zeitpunkt t11 bestimmt,
und zwar nach Verstreichen einer bestimmten Zugriffszeit. Seit dem Zeitpunkt t12 oder unmittelbar nach dem
Zeitpunkt ti 1 wird ein Adressenabtastimpuls für den Signa
lverzögerungsspeieher 3 erzeugt, um Zugriff zu dem
Signalverzögerungsspeicher 3 zu ermöglichen. Das Auslesen
und Einschreiben aus dem bzw. in den Signalverzögerungsspeieher
3 "wird nach Verstreichen einer Adressierun^szeit
freigegeben, die durch die Charalctex^istiken
der Speichereinrichtimg bestimmt ist, welche verwendet wird, und die in der Größenordnung von 100 und mehreren
Kanosekunden bei einem dynamischen RAM-Lese/Schreib-Speicher
liegt. Schreib- und Leseinipulse werden zum Zeitpunkt t12 unmittelbar vor Verstreichen der Zeitspanne
t2 - t3 für den nächsten Befehlszyklus oder unmittelbar
vor dem Zeitpunkt t3 ausgegeben, um digitale Signaldaten zwischen dem adressierten Wort und dem Datenbus
DB auszutauschen. Während der Zeitspanne vom Zeitpunkt t11 aus wird die laufende Adresse CA bis
zum Zeitpunkt t13 bestimmt; der obige Schreibimpuls wird von dem Signalverzögerungsspeicher 3 abgegeben.
Ferner wird die Adresse CA von dem Addierer 83 her inkrementiert,
und außerdem erfolgt ein Vergleich dieser Adresse mit der oberen Adresse TA mittels des Kc-mparators
84. Außerdem erfolgt eine Auswahl durch den Multiplexer 85 in der Adressenleiteinheit 3· Die Adresse von
dem Multiplexer 85» d.h. die nächste Adresse NA, die
für einen Zugriff zu dem Signalverzögerungsspeicher 3
in der nächsten Signalverzögerungsschleife erforderlich
ist, wird übei- den Multiplexer 86 an den Bereich SIC für
die laufende Adresse abgegeben. Die näcliste Adresse NA
wird in dem Bereich 81C Tür die laufende Adresse lediglich
zum Zeitpunkt ti 3 eingeschrieben; der Schreibimpuls
wird im Schreibbetrieb abgegeben. Demgemäß wird in einem Zyklus der Mikroprogrania-Signalverzöcerungsschleife das
digitale Signal in dasselbe Wort in dem Signalverzögerungsspeicher 3 eingeschrieben, zu dem ein Zugriff während
des Lesens mit der1 laufenden Adresse CA erfolgt ist, und die laufende Adresse CA in dem für die laufende
Adresse vorgesehenen Bereich 81C des Adressenleitspeichers
81 wird lediglich zu diesem Zeitpunkt in die nächste Adresse eingeschrieben. Nachdem die gesamten Worte
in der Speicherzelle, die als Verzögerungsleitung benutzt worden sind (wie die erste Speicherzelle C1) adressiert
worden sind, wird das Wort, in das das digitale Signal geschrieben worden ist, ein zweites Mal ausgelesen.
Die Verzögerungszeit ist dabei ein Produkt der Gesamtzahl von Worten, die in der Speicherzelle enthalten
sindj oder der Differenz zwischen der oberen Adresse
TA und der unteren Adresse BA und der Zykluszeit für die
Mikroprogramm-Signalverzögerungsschleife. Die Zykluszeit
der Schleife kann der Abtastperiode gleichgesetzt werden, wenn ein Programm in die Signalverzögerungsschleife eingefügt
wird für ein wiederholtes Überprüfen der Beendi-
euxie der" Abtastoperation in dem Analog/Digit al-Wandler,
und zwar bis zur Beendigung der Abtastung.
Bei einer Abtasttaktfrequenz von 50 IcIIz (das ist eine
Abtastperiode von 20 us) und 1000 Worten in der als
Verzögerungsleitung verwendeten Speicherzelle beträgt die Verzögemngszeit 20 ms. Auf eine Steigerung um ein
Wort in der Speicherzelle wird die Versögerungszeit um 20 las gesteigert, und auf eine Herabsetzung um ein
Wort in der Speicherzelle wird die Verzögerungszeit uu 20 itis vermindert. Die Wortanzahl kann ohne weiteres
dadurch erhöht oder vermindert werden, daß zumindest eine
der unteren Adresse BA und der oberen Adresse TA der
Speicherzelle über den Steuerungsbetrieb von dem Host-Rechner her wieder eingeschrieben wird.
Fig. 13 zeigt ein typisches Flußdiagramm für die Realisierung
einer derartigen Signalverzögerungsprozedur durch ein Mikroprogramm. Bevor die Signalverzögerungsschleife
betrachtet wird, wird eine "O" in sämtliche !«"orte innerhalb
des SignalverzögerungsSpeichers 3 durch den Schritt
201 eingeschrieben (alles Löschen oder Anfangs-Rücksetzung)
. Diesem Schritt folgt die Signalverzögerungsschleif
e. und zwar· von einem Schritt 202 aus beginnend, in welchem
eine Überprüfung erfolgt, daß die Analog/Digital-Wcndlung
abgeschlossen ist. Jedesmal dann, wenn die Abtastoperation in dem Analog/Digital-tfandler 100 ausgeführt
wird, werden die digitalen Signale aus dem Signalverzögerungsspeicher 3 ausgelesen oder eingeschrieben,
während die laufende Adresse CA in dem für die laufende Adresse vorgesehenen Bereich 81C des Adressenleitspeichers
81 automatisch wieder in die Adressenleiteinheit 8 eingeschrieben wird (Schritt 203 ff.). Im Schritt 203
werden die digitalen Signaldaten, die durch die Analog/ Digital-¥andlung gelangt sind, über den Datenbus DB beispielsweise
in den Registerbereich Ra des Datenspeichers 30 gespeichert. In den Schritten 204 und 205 werden die
Serienspeicherzelleniiunimern dem Signalverzögerungsspeicher
3 für das Auslesen der digitalen Signaldaten zugewiesen. Demgemäß wird im Schritt 2θ4 der Befehl zum Auslesen
der ersten Speicherzelle C1 an die Adressenleiteinheit
8 abgegeben, die dann eine laufende Adresse CA entsprechend der ersten Speicherzelle abgibt. Diese
Adresse CA wird für einen Zugriff zu dem Signalverzögerungsspeicher 3 benutzt. Die Ausgangsdaten können gültig sein, und sie werden aus dem Sigiialverzöfferungsspei-
eher 3 bei einer Zugriffszeit ausgelesen, die durch die
Eigenschaften der in dein Sigiaalverzögerungsspeicher 3
verwendeten Speicherelemente besiiuiiit ist. Die Ausgabedaten
können im allgemeinen in 100 und einigen Nanosekunden
Gültigkeit erlangen bei Verwendung eines dynamischen RAM-Schreib/Lese-Speichei's als Signalverzögerungsspeicher.
Im Schritt 205 werden die von dein Signalverzögerungsspeicher 3 SJ^ den Datenbus DB abgegebenen Daten
zwischengespeichert, beispielsweise in den Registerbereich Rb der Datenspeicliereinheit. Deshalb wird das Auslesen
aus dem Signalverzögerung spei eher 3 i*1 zwei Mikrobefehlsschritten
realisiert. Das Auslesen aus dem Signalverzögerüngsspeieher
3 kann jedoch auch durch einen Mikrobefehlsschritt realisiert werden, wenn die Zeit für
die Ausführung eines Mikrobefehlsschritts (Befehlszyklus)
lang ist oder wenn die Zugriffszeit zu dem Adressenleitspeicher 81 oder zu dem Signalvei^zögerungs speicher 3 minimiert
werden kann.
Im Schritt 2.06, bei dem es sich um den Schreibbefehl für
die erste Zelle' in dem Si^nalveraögerungsspeicher 3 handelt,
werden ein Schreibbefehl und eine Serienzellennunmiern-Bezeichnung
an die Adressenleiteinheit 8 abgegeben, wodurch die der ersten Zolle entsprechende laufende
Adresse CA für die Adressierung des Signalverzögerungsspeichers 3 ausgelesen wird. Das Schreibsignal
für den Signalverzögerungsspeicher 3 wird im nächsten Schritt 207 ausgegeben. Zu diesem Zeitpunkt wird der Inhalt
des Registerbereichs Ra, der die Daten von dem Analog/Digital -Wandler 100 her speichert, an den Datenbus
DB abgegeben und in den Signalversögerungsspeicher 3 eingeschrieben.
Die aus der Speicherzelle C1 des Signalverzögerungsspeichers
3 ausgelesenen und in dom RegisLerbereich Rb gespeicherten
Daten werden im Schritt 208 an den Digital/ Analog-Wandler 101 abgegeben. Sodann kehrt die Steuerung
zum Schritt 202 zurück, um die Grund-Signalverzö^erungs-
- 38 schleife zu vervollständigen.
Der vorstehend erwähnte Hallraum bzw. die vorstehend erwähnte Hallmaschine kann aus mehreren Signalverzögerungsleitungen
ohne Änderungen im Hardware-Aufbau konstruiert
werden, indem im Schritt 209 (oder in der in Fig. 12
durch eine gestrichelte Linie angedeuteten Position) ein Programm eingeführt wird, gemäß dem weitere Speicherbereiche
für Lese/Schreib-Operationen bezeichnet werden, oder indem ein Programm eingeführt wird, gemäß
dem aus entsprechenden Zellen des Signalverzögerungsspeichers 3 ausgelesene Daten mit einem Koeffizienten
multipliziert werden und das resultierende Produkt zu Vorverzögerungsdaten hinzuaddiert wird (derartige Daten
sind durch die Analog/Digital-Wandlung hindurchgelangt
und in dem Registerbereich Ra gespeichert). Darüber
hinaus kann die Serienspeicherzellennummer durch das Host-Rechnersystem 4 bezeichnet werden, und zwar beispielsweise
während der Wartezeit auf die Analog/Digital-Umsetzung
im Schritt 201, um die zuvor erwähnte untere Adresse BA oder die obere Adresse TA zur dynamischen
Änderung der Verzögerungszeit der Signalverzögerungsschaltungen
entsprechend den betreffenden Zellen zu ändern.
25
25
Die Daten von dem Analog/Digital-Wandler 101 her können
direkt in den Signalverzögerungsspeicher 3 eingeschrieben werden, oder die aus dem Signalverzögerungsspeicher
3 ausgelesenen Daten können direkt einem Digital/Analog-Wandler
100 zugeführt werden, ohne daß von den Registerbereiclien
Ra, Rb der Datenspeichereinheit 30 Gebrauch gemacht wird. Pig. 14 zeigt ein Flußdiagramm für diese
Prozedur. Gemäß Fig. 14 sind die Schritte 201, 202 dieselben wie in Fig. I3. Hierbei wird jedoch ein Schritt
301 zum Lesen, beispielsweise der ersten Speicherzelle
C1 des Signalvei"zögerungsspeichers 3 (entsprechend dem
Schritt 204 in Fig. 13) auf den Schritt 202 hin plaziert.
Venn die somit ausgelesenen Daten auf dem Datenbus DB
gültig bzw. richtig sind, werden sie direkt zu dem Digital/Analog-Fandler
100 im Schritt 302 hingeleitet. Im Schritt 3O3, der dem Schritt 200 gemäß Fig. I3 äquivalent
ist, erfolgt ein Zugriff zu der Schreibadresse in der ersten Speicherzelle C1 des Signalverzögerungsspeichers
3· Im Schritt 30h werden die Daten von dem Analog/
Digital-Vandler 101 über· den Datenbus DB in die Adresse
eingeschrieben, zu der ein Zugriff im vorangegangenen Schritt erfolgt ist. Die Schritte, die VOIl dem Schritt
202 für die Beurteilung des Zustands bis zum Schritt JOh
reichen, bilden einen vollständigen Zyklus der Verzögerungsschleife.
Es sei darauf hingewiesen, daß der Bedingungsschritt
202 zwischen die Schritte 302 und 303
untergebracht sein kann. In diesem Falle machen die Schritte 301, 302, 202, 303 und 304 einen vollständigen
Zyklus der Verzögerungsschleife aus.
Eine modifizierte Ausführungsfora der digitalen Signalverarbeitung-seinrichtung
bzw. des digitalen Signalprozessors gemäß der vorliegenden Erfindung bei Anwendung
gxlIl einen Hallraum oder eine Hailmaschine wird unter Bezugnahme
auf Fig. 15 beschrieben.
Bei der vorliegenden Ausführungsform werden die in Fig. 10 gezeigte Schreibadresse V.rA und die dort gezeigte
Leseadresse RA anstelle der laufenden Adresse CA benutzt. Diese Adressen werden in Bereichen 8VvI bzw. 31R
des Adressenleitspeicliers 81 gespeichert.
In der Adressenleiteinheit 8 sind eine ¥D-Speicherschaltung
8¥ für die Speicherung von Schreibdaten UD5 die
für die Schreibadresse IiA abzugeben sind, eine RD-Speicherschaltung
8R für die Speicherung von Lesedaten D, die zu der Leseadresse RA abzugeben sind, und ein Addie-
- ko -
rer S31 vorgesehen, der die Schreibadx"esse WA aus dem
Bei^eich 81V/ des Adresseiile it Speichers Sl und die
Schreibdaten WD aus der· Speicherschaltung· SW während
des Schreibens addiert und der die Leseadresse RA aus dem Bereich SIR des Adressenleitspeichers 81 und die
Lesedaten RD aus der Speicherschaltung· SR während des
Lesens addiert. Die Summe von dem Addierer 83' wird
einem Komparator 84 vmd einem Multiplexer 85 zugeführt,
der als Schalt- und Auswahleinrichtung verwendet wird. Die Summe und die obere Adresse TA aus dem Bereich 81T
werden in dem Komparator 84 miteinander verglichen, und
das Vergleichsergebnis wird einem Schaltsteueranschluß des Multiplexers 85 zugeführt. Der Multiplexer 85 wählt
die untere Adresse BA aus dem Bereich 81B des Adressenleitspeichers
81 odei- die Summe von dem Addierer 83' her aus und gibt diese Größen ab, und zwar in Abhängigkeit
vom Vergleichsergebnis. Demgemäß wählt der betreffende Multiplexer die untere Adresse BA aus und gibt
sie ab, wenn die Summe größer ist als die obere Adresse TA. Ansonsten gibt der betreffende Multiplexer die
Summe ab. Die Ausgangsdaten -von dem Multiplexer 85 stellen die nächste Adresse NA dar. welche die Schreiboder
Leseadresse bezeichnet, zu der zum nächsten Zeitpunkt ein Zugriff zu erfolgen hat. Diese Ausgabedaten
werden an den Bereich CImT des Adressenleitspeichers
über den Multiplexer SuW während des Schi^eibens und an
den Bereich 81R des Adressenleitspeichers 81 über den Multiplexer 86R während des Lesens abgegeben. Schreibdaten
"1" oder Schreibdaten von dem Host-Rechnersystem her, wie "0" oder "2", sind zu diesem Zeitpunkt an die
Speicherschaltung 8W abgegeben worden, und zwar bezüglich der Schreibdaten WD für die Schreibadresse WA,
nachdem eine Umschaltung und Auswahl durch den Multiplexer Sü'W ei'folgt ist. Demgegenüber werden Lesedaten
"1" oder Lesedaten von dein Host-Rechners3rstcm 4 hex1 in
entsprechender Weise an die Speicherschaltung 8R abge-
- 41 -
geben bzw. abgegeben worden sein, und zwar bezüglich der
Lesedaten für die Leseadresse RA, nachdem eine entsprechende Umschaltung und Auswahl durch den Multiplexer 861R
erfolgt ist. Venn die Verzögerungszeit konstant ist, werden die Schreibdaten "1" und die Lesedaten "1" von den
Multiplexern 861V, 861R an die Speicherschaltungen 8V,
8R abgegeben, so daß die Schreib- und Lesedaten VD, RD
von diesen Speicherschaltungen 8V, 8R gegeben sind durch "1". Deshalb wird in dem Addierer 83' die Schreibadresse
WA für jede Schreiboperation um 1 vergrößert oder verkleinert,
und die Leseadresse RA wird für jede Leseoperation ebenfalls um 1 vergrößert.
Nunmehr sei wieder auf Fig. 12 Bezug genommen, um die zeitliche Beziehung des Auslesens und Einschreibens digitaler
Signale bezüglich des Signalverzögerungsspeichers 3 zu veranschaulichen. Während der Leseoperation
wird Gie Serienzellennummer zum Zeitpunkt ti bezeicliiiet,
und der Lesebefehl wird an die Adressenleiteinheit 8 gegeben. Das Vort in dem Leseadressenbereich 81R des Adressenleitspeichers
81, welches der bezeichneten Serienzellennummer entspricht, wird adressiert, und die Ausgabedaten
(Leseadresse RA) sind zum Zeitpunkt t11 nach Verstreichen einer bestimmten Zugriffszeit gültig. Ein
Adressen-Abtastsignal wird ab dem Zeitpunkt t12 nach
dem Zeitpunkt ti 1 ausgegeben, so daß der Signalverzögerungsspeicher
3 mit der Leseadresse RA adressiert wird.
Im Befehlszyklus während der Zeit t2-t3 gemäß Fig. 12
wird ein Leseimpuls zum Zeitpunkt t13 ausgegeben, wenn
die Zugriffszeit verstrichen ist und die Ausgabedaten gültig geworden sind. Dadurch wird ein Ausgabe-Verknüpfungsglied
des Signalverzögerungsspeichers 3 geöffnet, und der Inhalt des adressierten Wortes auf dem Datenbus
DB wird für eine weitere Verarbeitung in Registern oder anderen relevanten Schaltungen, wie einer Multiplizier-
einrichtung·, einem Addierer oder einem Digital/Analog-Vandler
abgegeben.
Während einer derartigen Leseoperation wird die Leseadresse RA automatisch in der Adressenleiteinheit 8
aktualisiert. ¥enn sie zum Zeitpunkt t11 festliegt, wird die Leseadresse HA von dem Bereich 81R an den Addierer
83' ausgesendet, wo sie zu den Lesedaten aus der Speicherschaltung·
8R addiert wird. Für eine konstante Verzögerungszeit sind die Lesedaten gegeben durch "1", und
die Leseadresse RA wird inkrementiert und an den Komparator 84 sowie den Multiplexer 85 abgegeben. Wenn die
somit inkrementierte Leseadresse kleiner ist als die
obere Adresse TA, wird sie im Multiplexer 85 als nächste
Adresse NA ausgewählt und durch den Multiplexer 86R an den Bereich 8IR des Adressenleitspeichers 81 abgegeben.
Die obige Operation rindet auotmatisch. bis zum Zeitpunkt
t13 statt. Die nächsten Adx"essendaten werden in den Ber
reich 81R auf den Leseimpuls hin übernommen, der zum
Zeitpunkt ti 3 erzeugt wird, und zwar zum Wiedereinschreiben
oder Aktualisieren der Leseadresse RA. Wenn die inkrementierte Adresse von dem Addierer 83' größer ist als
die obere Adresse TA, wird die untere Adresse BA von dem Multiplexer 85 als nächste Adresse NA ausgewählt.
Die Operation während der Schreibphase des Mikroprogramms wäre dieselbe wie die Leseoperation, die oben beschrieben
worden ist, falls die Leseadresse RA, der Bereich 81R, die Speicherschaltung 8R, die Lesedaten IiD und der MuI-tiplexer
86R gemäß der Beschreibung· der Leseoperation durch die Adresse WA, den Bereich 3W>
die Speicherschaltung 8\ί, die Speicherdaten WD bzw. den Multiplexer 86W
ersetzt wären. Demgemäß wii"d auf den Schreibirnpuls zum
Zeitpunkt t13 hin die Schreibadresse WA aktualisiert, während die digitalen Signalaaten von den Registern und
den Batenausgabeschaltun^en, etc. her in den Sigzialver-
zögerungsSpeicher 3 über den Datenbus DB eingeschrieben
werden.
Fig. 1.6 veranschaulicht die Bewegung bzw. Verschiebung
der Leseadresse RA und der Schreibadresse VA in der Speicherzelle des als Verzögerungsschaltung verwendeten
SignalverzögerungsSpeichers 3· &s sei angenommen, daß
die Leseadresse RA und die Schreibadresse VA, wie Fig. 16a zeigt, auf jede Inkrementierung hin in Richtung
des Pfeiles oder von der unteren Adresse BA zu der oberen Adresse TA hin verschoben werdeiiDas Produkt der Abtastperiode
mit der Anzahl der Wörter N, die gleich der Differenz zwischen den Adressen RA, VA (N=VA-RA) ist,
stellt die Verzögerungszeit dar. Fig. 16 veranschaulicht
den Zustand der Speicherzelle, gemäß dem die Schreibadresse VA einmal die obere Adresse erreicht hat,
wo sie zur unteren Adresse BA umgeschaltet wird, von der aus sie erneut inkrementiert wird. Die Verzögerungszeit wird nicht geändert, da die Summe der Anzahl der
Worte -von der Leseadresse RA bis zu der oberen Adresse TA und die Anzahl der Worte von der unteren Adresse BA
zu der Schreibadresse WA gleich der Vortzahldifferenz
N ist.
Bei der vorstehenden Beschreibung ist angenommen worden, daß die Verzögerungszeit konstant ist und nicht geändert
wird. Nunmehr wird beschrieben, wie die Verzögerungszeit während der Mikroprogrammausführung geändert werden kann,
Wenn es erwünscht ist, die Verzögerungszeit zu verlängern, werden Schreibdaten "0" in die Speicherschaltung
8R von dem Host-Rechnersystem 4 her über den Multiplexer 861R zu einem Zeitpunkt im Laufe der Signalverzögerungsschleife
eingeschrieben, der gut vor der Adressierung des Signalverzögerungsspeichers 3 liegt, beispielsweise
während der Wartezeit für die Analog/Digital-Urnsetzung
- kU -
(Schritt 202 in Fig. 13). Da "O" zu der Leseadresse RA
während der Lesephase im selben Zyklus der Programmschleife addiert wird (Schritte 204, 205),wird in diesem
Falle die Leseadresse nicht inkrementiert; sie wird daran gehindert, sich in der Rfeilrichtung gemäß Fig. 16
zu bewegen. Demgegenüber wird die Schreibadresse WA während der Schreibphase im selben Zyklus der Programmschleife
inkrementiert, was zu einer inkrementierten Wortzahldifferenz und dazu führt, daß die Verzögerungszeit
um eine Abtastperiode verlängert ist. Von dem nächsten Zyklus an werden sowohl die Leseadresse RA als auch
die Schreibadresse WA inkrementiert, so daß die Wortzahldifferenz
gleich (Ν+"!) erhalten wird. Wenn es erwünscht ist, die Verzögerung um η Abtast£>erioden zu verlängern,
wird die zuvor erwähnte Operation des Einschreibens "0" in die Speicherschaltung SR η mal wieder holt, und zwar in
Intervallen der oben erwähnten Abtastperiode (eine Zykluszeit der Programmschleife). Die Verzögerungszeit
kann ferner dadurch verlängert werden, daß "2" oder höhere Werte als Schreibdaten in die Speicherschaltung 8W
eingeschrieben werden. Dies wird jedoch mit Rücksicht
darauf nicht bevorzugt, da die Schreibadresse WA des Signalverzögerungsspeichers 3 um zwei oder mehr Werte
zu einem Zeitpunkt vergrößert wird, was dazu führt,
daß der Inhalt der Zwischenworte unverändert bleibt und daß vollständig diskrete Auslesedaten auftreten.
Wenn es erwünscht ist, die Verzögerungszeit zu verkürzen, werden Schreibdaten "0" in die Speicherschaltung SW von
dem Host-Rechnersystem 4 her über den Multiplexer 861W eingeschrieben, um die Vex-zögerungszeit um eine Abtastperiode
zu vermindern. Diese Operation kann natürlich η mal wiederholt werden, um die Verzögerungszeit um η
Abtastperioden zu verkürzen.
Auf diese Art und Weise ist es möglich, die ursprünglich
eingestellte Verzögerungszeit um Zeitintervalle zu ändern,
die gleich einem ganzzahligen Vielfachen des Abtastintervalls
sind, indem "O" in die Speicherschaltungen
8R oder 8W in einer gewünschten Häufigkeit eingeschrieben
wird. Bei der obigen Prozedur wird bezüglich der Leseadresse RA oder der Schreibadresse VA verhindert,
daß diese lediglich kurzzeitig inkrementiert wird, so daß die zeitliche Kontinuität der Auslesedaten aufrechterhalten
werden kann, und das Auftreten von Störungen kann verhindert werden.
Aus vorstehendem kann ersehen werden, daß eine Vielzahl von digitalen Signalverzögerungsleitungen durch Verwendung
eines einzigen Signalverzögerungsspeichers 3 realisiert
werden kann, womit der Harawareaufbau vereinfacht
werden kann, da gesonderte Hardwareeinrichtungen für die
entsprechenden Verzögerungsleitungen, wie sie bei Verwendung
von .Schieberegistern erforderlich sind, entbehrlich sind. Darüber hinaus wird das eigentliche
Adressenmanagement für den Signalverzögerungsspeicher in der Adressenleiteinheit 8 vorgenommen, und die Lesesowie
Schreibadressen (laufende Adresse) können in dieser Adressenleiteinheit inkrementiert oder sonstwie verarbeitet
werden, so daß das ALU-Rechenwerk 21 beispielsweise andere Aufträge bzw. Jobs übernehmen und ausführen
kann. Der Durchsatz der digitalen Signalverarbeitungseinheit als ganzes kann verbessert werden. Die
Verzögerungszeit für die Signalverzögerungsleitung der jeweiligen Zelle kann ohne weiteres durch Software-Steuerung
über das Host-Rechnersystem 4 geändert werden, während die Verzögerungszeit auch dynamisch im
Zuge der Echtzeit-Signalverarbeitung geändert werden kann.
/Paten/tanwalt V /,
Claims (3)
- Paignta'iwäteDipl.-!ng. H. fcüTSCHERLICH Dip!.-Inc. K. G'-KISCHMANM Die!.-Ioq. Or. rsr. na>. VV. KÜRBER Dipl.-I.r. J. SGHivliDT-EVERSDiL:.-inn. VV. MSLZGR SternsSoT* Jtr. i ü, £'ü JU fciüNCHEN 22
- 2. Februar 1983SONY CORPORATION 7-35 Kitashinagawa 6-cliome Shinagawa-ku Tokio, J ap anPatentansprücheDigitales Signalverarbeitungssystem, dadurch gekennzeichnet, daß zumindest ein Mikroprogramnspeicher (ό) vorgesehen ist, der eine Reihe von Mikrobefehlen speichert, mit deren Hilfe eine digitale Signalverarbeitungsprozedur angewiesen wird, daß ein Koeffizientenspeicher (7) vorgesehen ist, der Koeffizientendaten speichert, die zur Ausführung einer Reihe von Rechenoperationen bezüglich der digitalen Signaldaten erforderlich sind, daß Daten von einem Verarbeitungsrechnersystem (4) zu dem Mxkroprogrammspeicher (6) und dem Koeffizientenspeicher (7) hin übertragbar und in diese Speicher (6, 7) einschreibbar sind, daß der Koeffizientenspeicher (7) zumindest zwei Seiten entsprechend dem gesamten Speicherbereich aufweist, zu dem während der durch die Mikrobefehle veranlaßten digitalen Signalverarbeitung ein Zugriff vornehmbar ist,und daß eine Seitenauswahl des Koeffizientenspeichers (7) durch Steuerung· von dem Verarbeitungsrechnersystem (4) her vornehmbar ist.2, Digitales Signalverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, daß die digitale Signalverarbeitung auf Mikrobefehle hin ausgeführt wird, die sequentiell aus einem Mikroprogrammspeicher (6) ausgelesen werden,daß zumindest eine Multipliziereinrichtung (20) vorgesehen ist, die digitale Signaldaten mit Koeffizientendaten multipliziert, die von dem Koeffizientenspeicher (7) abgegeben werden,
daß die Multipliziereinrichtung (20) zum Zeitpunkt der Multiplikation der digitalen Signaldaten und der Koeffizientendaten mit doppelter Stellenzahl derart betrieben ist, daß erste Produktdaten, die kennzLjeichnend sind für ein Produkt der oberen Hälfte der 1-Wort-Daten der Koeffizientendaten doppelter Stellenzahl mit den digitalen Signaldaten, und sodann ein zweites Produkt der unteren halben 1-Wort-Daten der Koeffizientendaten doppelter Stellenzahl mit den digitalen Signaldaten abgegeben Werden, wobei eine Verschiebung um einer Wortlänge entsprechende Bitstellen erfolgt,und daß die ersten und zweiten Produktdaten zur Vornahme der Multiplikation der digitalen Signaldaten mit den Koeffizientendaten doppelter Stellenzahl summiert werden. - 3. Digitales Signalverarbeitungssystem, insbesondere nach Anspruch 1 oder 2, dadurch gekennzeic hn e t , daß eine digitale Signal Verarbeitungseinheit (1) mit zumindest einem Mikroprogrammspeicher (6), der eine Reihe von Mikrobefehlen für die Ausführung einer digitalen Signalverarbeitungsprozedur, und einen Koeffizientenspeicher (7) für die Speicherung von Koeffizientendaten aufweist, die für die Durchführung einerReihe" von Rechenoperationen bezüglich der digitalen Signaldaten erforderlich sind,daß eine Speichersteuereinheit (2), zumindest ein Speicherblock (3) für die Speicherung· von digitalen Signalen und ein Verarbeitungsrechnersystem (4) vorgesehen sind, daß Daten in den Mikroprogrammspeicher (6) und in den Koeffizientenspeicher (7) von dem Verarbeitungsrechnersystem (4) her übertragbar und in diese Speicher (6, 7) einschreibbar sind,daß der Koeffizientenspeicher (7) zumindest zwei Seiten entsprechend dem gesamten Speicherbereich enthält, zu dem ein Zugriff während der durch die Mikrobefehle bewirkten digitalen Signalverarbeitung vornehmbar ist, daß eine Seitenauswahl des Koeffizientenspeichers (7) durch daß Steuerung von dem Verarbeitungsrechnersystem (4) her vornehmbar ist,daß die Speichersteuereinheit (2) einen Adressenführungsspeicher aufweist, der den einen Speicherblock in eine Vielzahl von durch entsprechende Adressen identifizierten Speicherzellen aufteilt,daß Einrichtungen vorgesehen sind, die Grenzadressen der Speicherzellen aus dem Verarbeitungsrechnersystem (4) in den Adressenführungsspeicher voraus einschreiben, und daß ein Speicherzugriff bezüglich Serien-Speicherzellennummern erfolgt, die von der" digitalen Signalverarbeitungseinheit (1) bezeichnet sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57025616A JPS58144272A (ja) | 1982-02-19 | 1982-02-19 | デイジタル信号処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3303488A1 true DE3303488A1 (de) | 1983-09-01 |
DE3303488C2 DE3303488C2 (de) | 1994-09-29 |
Family
ID=12170813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3303488A Expired - Lifetime DE3303488C2 (de) | 1982-02-19 | 1983-02-02 | Digitales Signalverarbeitungssystem |
Country Status (8)
Country | Link |
---|---|
US (1) | US4511966A (de) |
JP (1) | JPS58144272A (de) |
KR (1) | KR880001168B1 (de) |
CA (1) | CA1193021A (de) |
DE (1) | DE3303488C2 (de) |
FR (1) | FR2522232B1 (de) |
GB (2) | GB2115588B (de) |
NL (1) | NL192698C (de) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2137839B (en) * | 1983-04-09 | 1986-06-04 | Schlumberger Measurement | Digital signal processors |
NL8304186A (nl) * | 1983-12-06 | 1985-07-01 | Philips Nv | Geintegreerde processor voor het verwerken van woordsgewijze ontvangbare informatie. |
NL8500526A (nl) * | 1985-02-25 | 1986-09-16 | Philips Nv | Werkwijze voor het als vertragingslijn adresseren van een geheugen met willekeurige toegankelijkheid en signaalverwerkingsinrichting voorzien van zo een vertragingslijn. |
JPH0690641B2 (ja) * | 1986-07-23 | 1994-11-14 | 富士電機株式会社 | ループ制御系における切替データの制御方法 |
JP2844591B2 (ja) * | 1987-01-16 | 1999-01-06 | 株式会社日立製作所 | ディジタル信号処理装置 |
JPS6453240A (en) * | 1987-05-15 | 1989-03-01 | Nec Corp | Evaluating microprocessor |
US5237667A (en) * | 1987-06-05 | 1993-08-17 | Mitsubishi Denki Kabushiki Kaisha | Digital signal processor system having host processor for writing instructions into internal processor memory |
JPS6469115A (en) * | 1987-09-10 | 1989-03-15 | Anritsu Corp | Digital signal processing circuit |
JPH0770961B2 (ja) * | 1988-08-12 | 1995-07-31 | 日本電気株式会社 | マイクロコンピュータ |
JPH0792779B2 (ja) * | 1988-10-08 | 1995-10-09 | 日本電気株式会社 | データ転送制御装置 |
JP3005987B2 (ja) * | 1989-02-28 | 2000-02-07 | ソニー株式会社 | デジタル信号処理装置 |
JP2730013B2 (ja) * | 1989-04-20 | 1998-03-25 | ダイキン工業株式会社 | 座標データ転送方法およびその装置 |
US5218710A (en) * | 1989-06-19 | 1993-06-08 | Pioneer Electronic Corporation | Audio signal processing system having independent and distinct data buses for concurrently transferring audio signal data to provide acoustic control |
DE69325207T2 (de) * | 1992-06-15 | 1999-12-09 | Koninklijke Philips Electronics N.V., Eindhoven | Prozessor zur Verarbeitung zeitdiskreter Signale |
GB2290395B (en) | 1994-06-10 | 1997-05-28 | Advanced Risc Mach Ltd | Interoperability with multiple instruction sets |
JPH08293815A (ja) * | 1994-11-01 | 1996-11-05 | Motorola Inc | 集積回路上で複数の通信タスクを行なうコプロセッサ |
US5652903A (en) * | 1994-11-01 | 1997-07-29 | Motorola, Inc. | DSP co-processor for use on an integrated circuit that performs multiple communication tasks |
US5692207A (en) * | 1994-12-14 | 1997-11-25 | International Business Machines Corporation | Digital signal processing system with dual memory structures for performing simplex operations in parallel |
GB2299492B (en) | 1995-03-28 | 1999-12-22 | Sony Uk Ltd | Automation of signal processing apparatus |
JPH0916558A (ja) * | 1995-04-28 | 1997-01-17 | Sony Corp | デジタル信号処理装置 |
US6643677B2 (en) * | 1995-06-05 | 2003-11-04 | Kabushiki Kaisha Toshiba | Digital arithmetic integrated circuit |
US6324592B1 (en) * | 1997-02-25 | 2001-11-27 | Keystone Aerospace | Apparatus and method for a mobile computer architecture and input/output management system |
US5933855A (en) | 1997-03-21 | 1999-08-03 | Rubinstein; Richard | Shared, reconfigurable memory architectures for digital signal processing |
WO1998055932A2 (en) * | 1997-06-04 | 1998-12-10 | Richard Rubinstein | Processor interfacing to memory mapped computing engine |
US6895452B1 (en) | 1997-06-04 | 2005-05-17 | Marger Johnson & Mccollom, P.C. | Tightly coupled and scalable memory and execution unit architecture |
US5973273A (en) * | 1998-03-04 | 1999-10-26 | Controload Ltd. | Method for determining weight of a vehicle in motion |
US6356995B2 (en) * | 1998-07-02 | 2002-03-12 | Picoturbo, Inc. | Microcode scalable processor |
US6598157B1 (en) * | 1999-09-22 | 2003-07-22 | Intel Corporation | Dynamic boot block control by boot configuration determination and subsequent address modification |
AU2003250575A1 (en) | 2002-08-07 | 2004-02-25 | Mmagix Technology Limited | Apparatus, method and system for a synchronicity independent, resource delegating, power and instruction optimizing processor |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3434112A (en) * | 1966-08-01 | 1969-03-18 | Rca Corp | Computer system employing elementary operation memory |
US3478322A (en) * | 1967-05-23 | 1969-11-11 | Ibm | Data processor employing electronically changeable control storage |
US3631406A (en) * | 1968-11-22 | 1971-12-28 | Siemens Ag | Method of continuously exchanging data between a data processing apparatus and external devices |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3812470A (en) * | 1972-07-31 | 1974-05-21 | Westinghouse Electric Corp | Programmable digital signal processor |
US4205372A (en) * | 1974-09-25 | 1980-05-27 | Data General Corporation | Central processing unit employing microprogrammable control for use in a data processing system |
JPS5141931A (ja) * | 1974-10-04 | 1976-04-08 | Takeda Riken Ind Co Ltd | Fuuriehenkanyoadoresuhatsuseisochi |
DE2966916D1 (en) * | 1978-10-06 | 1984-05-24 | Hughes Aircraft Co | Modular processor system |
JPS578862A (en) * | 1980-06-19 | 1982-01-18 | Mitsubishi Electric Corp | Changing and control device of rom contents under real-time working of cpu |
-
1982
- 1982-02-19 JP JP57025616A patent/JPS58144272A/ja active Granted
-
1983
- 1983-01-28 CA CA000420492A patent/CA1193021A/en not_active Expired
- 1983-01-28 US US06/462,049 patent/US4511966A/en not_active Expired - Lifetime
- 1983-02-01 FR FR8301563A patent/FR2522232B1/fr not_active Expired
- 1983-02-02 DE DE3303488A patent/DE3303488C2/de not_active Expired - Lifetime
- 1983-02-02 GB GB08302850A patent/GB2115588B/en not_active Expired
- 1983-02-02 NL NL8300387A patent/NL192698C/nl not_active IP Right Cessation
- 1983-02-19 KR KR1019830000706A patent/KR880001168B1/ko not_active IP Right Cessation
-
1985
- 1985-04-19 GB GB08510106A patent/GB2155671B/en not_active Expired
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3434112A (en) * | 1966-08-01 | 1969-03-18 | Rca Corp | Computer system employing elementary operation memory |
US3478322A (en) * | 1967-05-23 | 1969-11-11 | Ibm | Data processor employing electronically changeable control storage |
US3631406A (en) * | 1968-11-22 | 1971-12-28 | Siemens Ag | Method of continuously exchanging data between a data processing apparatus and external devices |
Non-Patent Citations (1)
Title |
---|
US-Z Electronics, 1. März 1979, S. 105-110 * |
Also Published As
Publication number | Publication date |
---|---|
GB2115588B (en) | 1985-10-02 |
GB2155671B (en) | 1986-03-19 |
NL192698C (nl) | 1997-12-02 |
GB8510106D0 (en) | 1985-05-30 |
DE3303488C2 (de) | 1994-09-29 |
CA1193021A (en) | 1985-09-03 |
JPH0571986B2 (de) | 1993-10-08 |
JPS58144272A (ja) | 1983-08-27 |
NL192698B (nl) | 1997-08-01 |
FR2522232A1 (fr) | 1983-08-26 |
NL8300387A (nl) | 1983-09-16 |
GB8302850D0 (en) | 1983-03-09 |
FR2522232B1 (fr) | 1989-07-21 |
GB2155671A (en) | 1985-09-25 |
KR840003857A (ko) | 1984-10-04 |
KR880001168B1 (ko) | 1988-07-02 |
US4511966A (en) | 1985-04-16 |
GB2115588A (en) | 1983-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3303488A1 (de) | Digitales signalverarbeitungssystem | |
DE3786594T3 (de) | Speicherverwaltungseinheit für Digitalsignalprozessor. | |
DE2953861C2 (de) | ||
DE69021899T2 (de) | DMA-Steuerung. | |
DE2350884C2 (de) | Adreßumsetzungseinheit | |
DE69738188T2 (de) | Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor | |
DE1956604A1 (de) | Datenverarbeitungsanlage mit einem Speichersystem | |
DE3151745A1 (de) | Multitasking-datenverarbeitungsanlage | |
DE2813128A1 (de) | Mikroprogrammspeicher | |
DE3781794T2 (de) | Vorrichtung und verfahren zum versehen eines cachespeichers mit einer schreiboperation mit zwei systemtaktzyklen. | |
DE3114921C2 (de) | Mikroprogramm-Speicheranordnung | |
DE2360303A1 (de) | Datenverarbeitungssystem mit dynamischer adressuebersetzung | |
EP1230590B1 (de) | Prozessorsystem | |
DE2926351A1 (de) | Look-ahead-speicheradressen- steuereinrichtung | |
DE2134816A1 (de) | Einrichtung zur adressenuebersetzung | |
DE3107568A1 (de) | Datenverarbeitungseinrichtung | |
DE4114053A1 (de) | Computersystem mit cachespeicher | |
DE1499191B2 (de) | Elektronische einrichtung fuer eine datenverarbeitungsanlage | |
EP0409330B1 (de) | Schaltungsanordnung zum Steuern des Zugriffs auf einen Speicher | |
DE2227761A1 (de) | Ansteuersystem für einen Mikroprogramm-Speicher | |
DE2048515A1 (de) | Mikroprogrammspeicher | |
AT396409B (de) | Mikrorechner mit verbessertem befehlszyklus | |
DE69528824T2 (de) | Apparat und verfahren zum erneuern von informationen in einem beschreibbaren mikrokode-kontrollspeicher | |
DE2710436C2 (de) | Datenverarbeitungseinrichtung | |
EP0111161B1 (de) | Vorrichtung zur Mikrobefehls-Bereitstellung für mindestens zwei unabhängig arbeitende Funktionseinheiten in einem integrierten, mikroprogrammierten elektronischen Baustein und Verfahren zu ihrem Betrieb |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition |