DE3303488C2 - Digitales Signalverarbeitungssystem - Google Patents

Digitales Signalverarbeitungssystem

Info

Publication number
DE3303488C2
DE3303488C2 DE3303488A DE3303488A DE3303488C2 DE 3303488 C2 DE3303488 C2 DE 3303488C2 DE 3303488 A DE3303488 A DE 3303488A DE 3303488 A DE3303488 A DE 3303488A DE 3303488 C2 DE3303488 C2 DE 3303488C2
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.)
Expired - Lifetime
Application number
DE3303488A
Other languages
English (en)
Other versions
DE3303488A1 (de
Inventor
Osamu Hamada
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of DE3303488A1 publication Critical patent/DE3303488A1/de
Application granted granted Critical
Publication of DE3303488C2 publication Critical patent/DE3303488C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent 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 Signalverarbeitungssystem, welches für eine Echtzeitverarbeitung von digitalen Signalen geeignet ist, die eine große Anzahl von Bits pro Wort und eine höhere Wortrate pro Zeiteinheit aufweisen, wie PCM-Audiosignale. Die Erfindung eignet sich insbesondere für ein solches digitales Signalverarbeitungssystem, welches in geeigneter Weise 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 Fourier-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 Verarbeitungs- oder Host-Rechnersystem gesteuert oder geleitet, welches von einem Mikroprozessor Gebrauch macht.
Die digitalen Signalverarbeitungseinrichtungen sind mit internen Speichern versehen, d. h. mit einem Mikroprogrammspeicher und mit einem Koeffizientenspeicher.
Aus Electronics, 1. März 1993, S. 105-110, ist ein digitales Signalverarbeitungssystem mit einem Mikroprogrammspeicher zum Speichern mehrerer Mikrobefehle für eine digitale Signalverarbeitungsprozedur bekannt, wobei der Mikroprogrammspeicher intern in dem digitalen Signalverarbeitungssystem vorgesehen ist.
Die US 34 34 112 offenbart ein Computersystem mit einem Mikroprogrammspeicher, in dem auch Bereiche für Konstanten vorgesehen sein können, die Koeffizientendaten für Rechenoperationen liefern.
Die Signalverarbeitungsoperation in den digitalen Signalverarbeitungseinrichtungen wird üblicherweise derart ausgeführt, daß in dem Mikroprogrammspeicher gespeicherte Mikrobefehle bzw. Mikroinstruktionen 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 Speicher einzugebenden Daten können durch Steuerung von dem Host-Rechnersystem her übertragen werden.
Aus der US 3 478 322 ist ein Datenverarbeitungssystem mit einem elektronisch änderbarem Steuerspeicher bekannt, bei der mehrere auswählbare Mikroprogramm- Speicherseiten von einer externen Quelle geladen werden können, so daß auch während der Ausführung eines Mikrobefehls eine verbesserte Lösung des zu verarbeitenden Mikroprogramms erreicht werden kann. Weiterhin ist eine Vorrichtung zur Steuerung der Mikroprogrammspeicher-/Mikroprogramm-Speicherseitenauswahl vorgesehen.
Die Benutzung von solch einem Mikroprogrammspeicher in Form eines sog. Wechselpuffers ist weiterhin aus der US 3 631 406 bekannt, die ein Verfahren zum kontinuierlichen Datenaustausch zwischen einem Datenverarbeitungssystem und einer externen Quelle offenbart.
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 u. dgl. 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ögerungzeit 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 auf Grund der Notwendigkeit, die Anzahl der Schieberegister zu ändern. Darüber hinaus neigen Hallräume oder -maschinen, 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 auf Grund von Schwingungen nicht möglich, die durch die Daten hervorgerufen werden, die zu einzelnen Daten werden, und zwar insbesondere im Zuge des Wiedereinschreibens der Koeffizientendaten.
Darüber hinaus kann dann, wenn die digitalen Signaldaten in der digitalen Signalverarbeitungseinrichtung 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 Signalverarbeitungseinrichtung vorgesehenen digitalen Filter. Demgegenüber können die Multiplikatorschaltungen äußerst kompliziert sein, wenn die Bitzahlen von Multiplikator und Multiplikand auf 20 oder einen noch höheren Wert gesteigert sind.
Der Erfindung liegt die Aufgabe zugrunde, ein digitales Signalverarbeitungssystem zu schaffen, 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.
Insbesondere soll ein digitales Signalverarbeitungssystem geschaffen werden, welches die Aktualisierung der Koeffizientendaten während der digitalen Signalverarbeitung ermöglicht.
Gelöst wird die vorstehend aufgezeigte Aufgabe durch die Merkmale des Anspruchs 1, die Unteransprüche bilden den Gedanken der Erfindung weiter.
Die Erfindung zeigt also 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 externen 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- Rechnersystem 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 Grundsystem­ konfiguration, die von einer digitalen Signal­ verarbeitungseinrichtung Gebrauch macht.
Fig. 2 zeigt in einem Blockdiagramm schematisch den Innenaufbau der digitalen Signalverarbeitungs­ einrichtung.
Fig. 3 zeigt ein Speicherverzeichnis eines Mikropro­ grammspeichers 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 Schnittstellen­ schaltung, einen Mikroprogrammspeicher und einen Koeffizientenspeicher mit benachbarten Schaltungs­ teilen der digitalen Signalverarbeitungseinrich­ tung.
Fig. 6 veranschaulicht in einem Zeitdiagramm die Arbeits­ weise der in Fig. 5 dargestellten Schaltungsanord­ nung.
Fig. 7 veranschaulicht in einem Diagramm eine Multipli­ kationsoperation, die in einem Multiplikator der digitalen Signalverarbeitungseinrichtung ausge­ führt wird.
Fig. 8 zeigt in einem Blockdiagramm ein Ausführungsbei­ spiel 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 eines Adressenleitspeichers.
Fig. 11 zeigt in einem Blockdiagramm den inneren Aufbau des in Fig. 8 dargestellten Adressenleitspeichers.
Fig. 12 veranschaulicht in einem Zeitdiagramm die zeitli­ che 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 typi­ sches Programm für die Einführung der Signalver­ zögerung durch eine Software-Operation.
Fig. 14 veranschaulicht in einem Flußdiagramm eine Modi­ fikation des in Fig. 13 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 inkrementierten Auslese- und Einschreibadres­ sen in dem Speicher.
Nunmehr wird auf die in den Zeichnungen dargestellten be­ vorzugten Ausführungsformen der Erfindung im einzelnen eingegangen.
Fig. 1 veranschaulicht in einem Blockdiagramm eine Aus­ führungsform einer grundsätzlichen Systemstruktur, die von einer digitalen Signalverarbeitungseinrichtung Ge­ brauch macht. Bei der vorliegenden Ausführungsform sind zumindest gewisse Teile der digitalen Signalverarbei­ tungseinrichtung 1 und einer Speichersteuereinheit 2 - dabei handelt es sich in beiden Fällen um elektro­ nische 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 Wö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 Mikroprogrammspei­ cher 6 und in einen Koeffizientenspeicher 7 über eine Schnittstellen- bzw. Interface-Schaltung 8 in der digi­ talen Signalverarbeitungseinrichtung 1 vorgenommen wer­ den.
Eine Adressensteuereinheit 8 ist in der Speichersteuer­ einheit 2 vorgesehen für die Adressierung entsprechen­ der Wörter, die in dem digitalen Signalspeicher 3 ge­ speichert sind. Die Adressensteuereinheit 8 enthält eine Inkrementierungseinrichtung, einen Komparator, etc.; sie wird durch verschiedene Steuersignale gesteuert, die von einer Ablaufsteuereinheit 9 in der digitalen Signalverar­ beitungseinrichtung 1 abgegeben werden. Andere Komponen­ ten der Speichersteuereinheit 2 umfassen eine Schnitt­ stellenschaltung 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 verarbei­ tenden digitalen Signale können beispielsweise PCM-Audio­ signale oder digitale Videosignale, etc. sein. Die ana­ logen Signale werden dabei so quantisiert, daß jeder abgetastete Wert des analogen Signals einem Wort des digitalen Signals entspricht, welches aus beispiels­ weise 14 oder 16 Bits besteht. Es sei darauf hingewie­ sen, daß das von einer derartigen digitalen Signalver­ arbeitungseinrichtung 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 Koeffizienten­ daten multipliziert werden.
Fig. 2 zeigt einen detaillierteren Schaltungsaufbau der digitalen Signalverarbeitungseinrichtung 1 in einer Blockform. Gemäß Fig. 1 und 2 ist in der digitalen Signalverarbeitungseinrichtung 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 13 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 resultieren­ den Daten an den Datenbus DB abgegeben werden. Das Aus­ gangsregister 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 Daten­ ausgangsanschluß 15 abgegeben werden. Die Rechen-Verar­ beitungseinheit 20 enthält zumindest eine auch als Re­ chenwerk zu bezeichnende Rechen- und Verknüpfungs-Ein­ heit (ALU) 21 und eine Multipliziereinrichtung 22 sowie einen Multiplexer 23, der wirkungsmäßig mit der ALU-Ein­ heit 21 und der Multipliziereinrichtung 22 verbunden ist. Ein Datenspeicher 31 und ein Kurzzeitregister 32 sind als sogenannter Notizblockspeicher in einer Datenspeicherein­ heit 30 vorgesehen, in der Hilfsdaten, die im Zuge der Datenverarbeitung in der Rechen-Verarbeitungseinheit 20 erzeugt werden, kurzzeitig gespeichert werden. Der Daten­ speicher 31 weist eine Kapazität von z. B. 256 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-Wort bestehen. Der betreffende Speicher hat eine Kapazität von zwei Seiten, deren jede 512 16-Bit-Wörter aufweist (16 Bits × 1024 Wörter). Ein Zugriff kann zu jedem Wort in diesem Koeffizientenspeicher 7 durch eine Adressenin­ formation von einem Koeffizientenzeiger 72 her vorgenom­ men werden. Der Koeffizientenspeicher 7 ist mit seinem Ausgangsanschluß an Anschlüssen der Multipliziereinrich­ tung 22 für die Einführung von Koeffizientendaten X und über ein bidirektional arbeitendes Puffer-Verknüpfungs­ glied 41 an der 24-Bit-Datenbusleitung DB angeschlossen. Die Datenbusleitung DB ist ferner über ein bidirektional arbeitendes Puffer-Verknüpfungsglied 42 mit einem An­ schluß der Multipliziereinrichtung 22 verbunden, um die Multiplikanden-Daten Y einzuführen. Darüber hinaus ist die Datenbusleitung mit einem Ausgangsanschluß des Da­ tenspeichers 30 und mit einem Eingangsanschluß eines Zwischenregisters 32 verbunden. Zusätzlich zu dem Ein­ gangsanschluß für die Koeffizientendaten X weist der Multiplexer 23 einen Eingangsanschluß für Ausgangsda­ ten TP von dem Zwischenregister 32 her, einen Eingangs­ anschluß für Produktdaten P von der Multipliziereinrich­ tung 22 her und einen Eingangsanschluß für Daten PP auf, die dadurch erhalten werden, daß eine logische 12-Bit- Verschiebung (oder eine arithmetische 11-Bit-Verschie­ bung) zur rechten Seite oder zur unteren Seite der Pro­ duktdaten P hin vorgenommen wird. Das Ausgangssignal von dem Multiplexer 23 wird an die ALU-Einheit 21 übertragen, die wirkungsmäßig einer Bitverschiebungslogik 24 zuge­ hörig ist. Ein Statusregister 25 speichert den Inhalt eines Kennzeichens, welches mit der arithmetischen Ver­ arbeitung geändert werden kann, die in der ALU-Einheit 21 ausgeführt wird. Die aus der Rechenoperation resul­ tierenden digitalen 24-Bit-Daten werden an den Datenbus DB über ein Puffer-Verknüpfungsglied 43 und an den Da­ tenspeicher 31 über den Multiplexer 33 abgegeben. Die Ausgangsdaten TP von dem Zwischenregister 32 her werden dem anderen Eingangsanschluß des Multiplexers 32 zuge­ führt.
Der Mikroprogrammspeicher 6 speichert ein Mikroprogramm, welches zur Befehlssteuerung einer Verarbeitungsfolge in den entsprechenden Schaltungen der digitalen Signal­ verarbeitungseinrichtung 1 dient. Eine Reihe von Mikro­ befehlen bzw. Mikroinstruktionen, die das Mikroprogramm ausmachen, wird sequentiell durch von einer Ablaufsteuer­ einrichtung 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-Verknüpfungsglied 44 an den Datenbus abgegeben, während die Steuerdaten für den Datenspeicher 31 über den Multiplexer 34 an einen unteren Adresseneingangs­ anschluß des Datenspeichers 31 abgegeben werden werden. In der Ablaufsteuereinrichtung 91 wird die zum nächsten Zeit­ punkt auszulesende Adresse in dem Mikroprogrammspeicher 6 durch Ablaufsteuerdaten, die in den Mikrobefehlen ent­ halten sind, und durch Statusdaten aus dem Statusre­ ster 25, wie durch einen sogenannten Flag-Status, be­ stimmt. Eine Ausgabesteuerlogik 92, die dazu vorgesehen ist, die Speichersteuereinheit 2 zu steuern und die durch die Mikrobefehle gesteuert wird, bildet zusammen mit der Steuerlogik 92 und der Ablaufsteuereinrichtung 91 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 71 inkre­ mentieren.
Die Daten B von dem Host-Rechnersystem 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 Speicherverzeichnis für den Mikropro­ grammspeicher 6 und für den Koeffizientenspeicher 7, und zwar bei Betrachtung von dem Host-Rechnersystem 4 her. Wie aus Fig. 3 ersichtlich ist, können die Spei­ cher 6 und 7 von dem Host-Rechner her als ein Speicher MR mit einer Gesamtkapazität von 4096 (oder 212) 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 S000 bis S7FF im Hexadezimalcode ist ein Bereich MPM für den Mikroprogrammspeicher 6, während der übrige Speicherbereich mit den Adressen S800 bis SFFF ein Bereich CM für den Koeffizientenspeicher 7 ist. Die 2048 Bytes des Koeffizientenspeicherbereichs CFM sind weiter in zwei gleiche Bereiche unterteilt. Ein derar­ tiger Bereich für die Adressen S800 bis SBFF ist die Seite 0, während der übrige Bereich für die Adressen SC00 bis SFFF die Seite 1 ist. Auf diese Weise kann ein Zugriff von dem Host-Rechner zu 4096 Bytes von S000 bis SFFF byteweise durch Adressieren mit der 12-Bit-Adresse A erfolgen. In der digitalen Signalverarbeitungsein­ richtung 1 kann der Programmspeicherbereich MPM durch die Ablaufsteuereinrichtung 91 adressiert werden, um gleichzeitig die 32-Bit-Mikrobefehlsdaten I auszulesen, während der Koeffizientenspeicherbereich CFM durch einen Koeffizientenzeiger 71 adressiert werden kann, um gleich­ zeitig 16-Bit-Koeffizientendaten K auszulesen. Wenn die Adresse A0 . . . A11 bezeichnet ist, werden 9 Bits A2 . . . A10 als Adresee 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 zu­ zugreifen. Ein Bit a0 wird für den Seitenwechsel benutzt.
Die 8-Bit-Signale von dem Host-Rechnersystem 4 her wer­ den zu der digitalen Signalverarbeitungseinrichtung 1 als vier verschiedene Signale durch 2-Bit-Betriebsart- Umschaltsignale RS0, RS1 übertragen. In Fig. 4 ist der Inhalt der 8-Bit-Signale für die Betriebsarten gezeigt. Die Betriebsarten-Umschaltsignale RS0, RS1 stehen für vier verschiedene Zustände 00 bis 11 da, nämlich für den Datenbetrieb M0, für einen oberen Adressenbetrieb M1, für einen unteren Adressenbetrieb M2 und für einen Steuerbetrieb M3. Wie am besten aus Fig. 4 hervorgeht, sind beim Datenbetrieb M0 die Bits b0 bis b7 der 8-Bit- Daten B von dem Host-Rechnersystem 4 her die entspre­ chenden 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 B0 bis B3 die oberen vier Adressenbits a8 bis a11 der 12-Bit-Adresse für einen Zugriff zu dem Speicher MR. Beim unteren Adres­ senbetrieb M2 sind die Bits b0 bis b7 die Adressenbits a0 bis a7 der unteren 8-Bit-Adresse. Im Steuerbetrieb M3 werden die entsprechenden Bits b0 bis b7 der oberen 8-Bit-Daten B als entsprechende Steuersignale ausge­ nutzt. So wird beispielsweise das Bit b7 als Seiten­ wechsel-Steuersignal PAGE für den Koeffizientenspeicher­ bereich CFM verwendet.
Nunmehr sei auf Fig. 5 und 6 Bezug genommen, um die Da­ tenschreiboperation zu veranschaulichen, gemäß der Daten in den Speicher MR von dem Host-Rechnersystem 4 her ein­ geschrieben werden.
Fig. 5 zeigt in einem Blockdiagramm die Schnittstellen­ schaltung 5, den Programmspeicher 6, den Koeffizienten­ speicher 7 und die benachbarten Schaltungselemente in dem in Fig. 1 und 2 dargestellten digitalen Signalver­ arbeitungseinrichtung 1. Die oben erwähnten 8-Bit-Daten B, ein Chip-Auswahlsignal CS und die oben erwähnten Be­ triebsart-Schaltsignale RS0, RS1 werden entsprechend an einen Dateneingangsanschluß 17, an einen Chip-Auswahlein­ gangsanschluß 18 bzw. an Betriebsart-Schaltsignal-Ein­ gangsanschlüsse 19 R0, 19 R1 abgegeben, wie dies Fig. 5 veranschaulicht. Ein Taktimpuls CP, wie er in Fig. 6 ge­ zeigt ist, wird einem Taktimpulsanschluß CLK zugeführt, wie dies Fig. 5 zeigt, um die Betriebsweise der in der digitalen Signalverarbeitungseinrichtung 1 enthaltenen Schaltungselemente zu synchronisieren.
Es sei nunmehr angenommen, daß zur Übertragung von Da­ ten von dem Host-Rechnersystem 4 her das Chip-Auswahl- signal auf einen niedrigen Pegel (L) und zu einem Zeitpunkt t1 wieder zu einem hohen Pegel (H) hin geändert wird. Das erste Register 51 ist dann zum Zeitpunkt t1 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 wird mit einer zeitlichen Steuerung geändert, die bezüglich des Taktimpulses CP belanglos ist. Das -Ausgangssignal des Flipflops bzw. bistabilen Kippgliedes 53 ändert sich vom "H"-Wert zum "L"-Wert zu einem Zeitpunkt t2, der der ersten Ausbildung des Taktimpulses CP seit dem Zeitpunkt t1 entspricht. Dieses -Ausgangssignal wird bei niedrigem Pegl "L" bis zum Zeitpunkt t3 gehalten, der der nächsten Ausbildung des Taktimpulses CP entspricht; das betreffende Ausgangssignal wird zu einem Anschluß eines Betriebsarten-Decoders 52 übertragen. Der Betriebsarten- Decoder 52 spricht auf Betriebsarten-Schaltsignale RS0, RS1 am Anschluß 19 R0 an, um lediglich eine der Signal­ leitungen zu aktivieren, und zwar entsprechend den Be­ triebsarten M0, M1, M2, M3, und lediglich während der Zeitspanne t2-t3. Demgemäß wird für den Datenbetrieb M0 eine 8-Bit-Daten-Latch-Schaltung bzw. -Zwischenspeicher­ schaltung 5 aktiviert, um die Bits b0 bis b7 zwischen­ zuspeichern, und für den Steuerbetrieb M3 wird eine Steuerdaten-Zwischenspeicherschaltung 56 aktiviert, um lediglich die erforderlichen Bits der Bits b0 bis b7 zwischenzuspeichern. Eine Adressenzählerschaltung 55 macht Gebrauch von drei voreinstellbaren 4-Bit-Zählern, und zwar entsprechend den Adressenbits a0 bis a3, a4 bis a7 bzw. a8 bis a11. Bezüglich des oberen Adressen­ betriebs M1 werden die Bits b0 bis b3 von einem vorein­ stellbaren 4-Bit-Zähler zwischengespeichert, und zwar entsprechend den Adressenbits a8 bis a11. Bei dem un­ teren Adressenbetrieb M2 werden die Bits b0 bis b3 und b4 bis b7 von zwei voreinstellbaren 4-Bit-Zählern zwi­ schengespeichert, und zwar entsprechend den Adressen­ bits a0 bis a3 bzw. a4 bis a7. Diese Zwischenspeicher­ operationen 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 d0 bis d7 der 1-Byte-Daten D von der Daten-Zwischenspei­ cherschaltung 54 her gelegentlich als Byte i0 bis i7, i8 bis i15, i16 bis i23 oder i24 bis i31 verwendet wer­ den, welches in den Mikrobefehlsdaten I enthalten ist, als Byte k0 bis k7 oder als Byte k8 bis k15 der Koef­ fizientendaten K. Welches dieser Bytes den acht Bits d0 bis d7 entspricht, wird durch die Adressenbits a0, a1 und a11 der Adresse A bestimmt. Ob die Daten Mikro­ befehlsdaten oder Koeffizientendaten sind, wird durch das Adressenbit a11 bestimmt. In dem Fall, daß die Da­ ten Mikrobefehlsdaten sind, kann das relevante Byte der vier Bytes (32 Bits) durch die Adressenbits a0, a1 spezifiziert werden. In dem Fall, daß die Daten Koef­ fizientendaten sind, kann das relevante Byte der bei­ den Bytes (16 Bits) durch das Adressenbit a0 spezifi­ ziert werden. Demgemäß werden die Adressenbits a0, a1, a11 von dem Adressenzähler 55 her an einen Adressen­ decoder 57 abgegeben, von dem sechs Ausgangssignale entsprechend den Bits i0 bis i7, i8 bis i15, i16 bis i23, i24 bis i23, k0 bis k7 und k8 bis k15 abgegeben werden, um eines von sechs 8-Bit-Puffer-Verknüpfungs­ gliedern freizugeben, die am Ausgang der Daten-Zwi­ schenspeicherschaltung 54 angeschlossen sind. Vier die­ ser sechs 8-Bit-Puffer-Verknüpfungsglieder sind in einer Byte-Auswahlschaltung 62 für die Mikrobefehls­ daten vorgesehen, und die übrigen beiden Verknüpfungs­ glieder sind in einer Byte-Auswahlschaltung 72 für die Koeffizientendaten vorgesehen.
Der Mikroprogrammspeicher 6 und der Koeffizientendaten­ speicher 7 sind mit Bytes als Struktureinheiten konfi­ guriert. Demgemäß ist der Mikroprogrammspeicher 6 da­ durch gebildet, daß vier 512-Byte-Speichereinheiten parallel geschaltet sind und demgemäß eine Kapazität von 512 Worten mit jeweils 32 Bits haben. Der Koeffi­ zientenspeicher 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 Ausgangssi­ gnale der vier 8-Bit-Puffer-Verknüpfungsglieder der Byte-Auswahlschaltung 62 werden an die vier 512-Byte- Speichereinheiten des Mikroprogrammspeichers 6 abge­ geben, während die Ausgangssignale der beiden 8-Bit- Puffer-Verknüpfungsglieder der Byte-Auswahlschaltung 72 an die beiden 1024-Byte-Einheiten des Koeffizienten­ datenspeichers 7 abgegeben werden. Bezüglich des 12-Bit- Adressenausgangssignals A des Adressenzählers 55 werden neun Bits a2 bis a10 an einen Adressenbus des Mikro­ programmspeichers 6 über ein 9-Bit-Puffer-Verknüpfungs­ glied 63 abgegeben, während zehn Bits a1 bis a10 an einen Koeffizienten-Adressenbus des Koeffizientenspei­ chers 7 über ein 10-Bit-Puffer-Verknüpfungsglied 23 ab­ gegeben 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 Auf­ frischbefehlen des Mikroprogramms hin geschaltet wird. Ansonsten verbleiben die betreffenden Verknüpfungsglie­ der im hochohmigen oder sogenannten floatenden Zustand. Der Adressendecoder 57 arbeitet ebenfalls auf das Si­ gnal REFRESH hin, um einen der sechs Decoderausgänge zu aktivieren, so daß lediglich das relevante Verknüp­ fungsglied der 8-Bit-Puffer-Verknüpfungsglieder der Byte-Auswahlschaltungen 62, 72 freigegeben ist. Die Puffer-Verknüpfungsglieder dieser Byte-Auswahlschaltun­ gen 62, 72 sind ebenfalls als Tristate-Puffer ausgelegt.
Die 9-Bit-Programmspeicheradresse, die sich auf die Adressenbits a2 bis a10 bezieht, wird von der Ablauf­ steuereinrichtung 29 abgegeben, um die Worte in dem Mikroprogrammspeicher 6 aufeinanderfolgend zu adres­ sieren, damit die Mikrobefehle ausgelesen werden. Fig. 6 veranschaulicht die Mikrobefehle MPI, die aufeinander­ folgend aus dem Mikroprogrammspeicher 6 ausgelesen sind. Die Zahlen . . . N-1, N, N+1, . . . sind einer Reihe von Befehlen angehängt, die zur Steuerung der Speicher­ steuereinheit 2 und der in der digitalen Signalverar­ beitungseinrichtung 1 enthaltenen entsprechenden Schal­ tungen ausgenutzt sind. Es sei darauf hingewiesen, daß der N. Befehl einen 32-Bit-Auffrischbefehl enthält, in welchem das Auffrisch-Befehlsbit bzw. -Kommandobit ak­ tiv ist, und daß der dem N. Befehl unmittelbar folgen­ de Befehl in der digitalen Signalverarbeitungseinrich­ tung 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 ausgele­ sen wird, der durch die Taktimpulse CP bestimmt ist. Die­ ser N. Befehl wird um ein Taktimpulsintervall verzögert, indem er durch ein Pipeline-Register 61 geleitet und in­ nerhalb des nächsten Taktimpulsintervalls t12-t13 ausge­ führt wird. Während dieses Zeitintervalls t12-t13 sind der Mikroprogrammspeicher 6 und der Koeffizientenspei­ cher 7 im Speicherzugriffs- oder Adressierungsbetrieb, so daß ein Zugriff oder eine Adressierung von der Ab­ laufsteuereinrichtung 91 und dem Koeffizientenzeiger 71 aufgrund der internen Operation der digitalen Signalver­ arbeitungseinrichtung 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 adres­ siert ist. Darüber hinaus ist während dieses Zeitinter­ valls t12 bis t13 der Status so, daß die Zwischenspei­ cherung der 32-Bit-Daten, die aus dem Mikroprogrammspei­ cher 6 ausgelesen sind, durch das Pipeline-Register 61 verhindert bzw. gesperrt ist. Das Pipeline-Register-Frei­ gabesignal 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 zwischenge­ speichert. Das Ausgangssignal des Pipeline-Registers 61 ist so, daß der N. Befehl während des Zeitintervalls t12-t14 andauert. Auf diese Art und Weise wird die Auffrisch­ operation 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 Koeffizientenspeicher 7 gespeichert ist. Eines der Puffer-Verknüpfungsglieder in den Byte-Auswahlschaltungen 62, 72 wird zum Einschreiben relevanter 1-Byte-Daten aus den 4096 Bytes freigegeben, die in dem Speicher MR gespeichert sind.
Ein für die Adressierung des Koeffizientenspeichers 7 vorgesehener Koeffizientenzeiger 71, der auf die Aus­ führung des Mikroprogramms in der digitalen Signalver­ arbeitungseinrichtung 1 anspricht, ist so ausgelegt, daß ein 9-Bit-Adressenausgangssignal entsprechend den Adressenbits a1 bis a9 an einen Koeffizienten-Adressen­ bus abgegeben wird, um eine der beiden 512-Wort-Seiten des Koeffizientenspeichers 7 zu adressieren. Das dem Adressenbit a10, welches die Seite 0 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-Zwischenspeicherschal­ tung 56 zwischengespeichert, während das Seitenwechsel­ signal PAGE auf das Bit b7 hin ausgegeben wird, welches dem Dateneingangsanschluß D des D-Flipflops 74 zugeführt wird. Ein Auffrischsignal REFRESH, welches während der Ausführung eines spezifizierten Befehls in dem Mikro­ programm, wie des Auffrischbefehls, invertiert wird, wird einem Triggereingangsanschluß T des D-Flipflops 74 zugeführt. Die Daten am Dateneingangsanschluß D werden zum Auffrischzeitpunkt eingeführt und von dem Q-Aus­ gangsanschluß 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 Auf­ frischbefehls, der in dem Mikroprogramm enthalten ist, und in Abhängigkeit vom Inhalt der Steuerdaten, die von dem Host-Rechnersystem 4 ausgehen.
Bei dem zuvor erwähnten digitalen Signalverarbeitungs- System erscheinen der Mikroprogrammspeicher 6 und der Koeffizientenspeicher 7 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 a0 bis a11 adres­ siert 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üh­ rung in der digitalen Signalverarbeitungseinrichtung 1 adressierbar ist. Der Seitenwechsel wird durch Steuer­ daten von dem Host-Rechnersystem 4 her gesteuert (bei­ spielsweise 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 übli­ cherweise die Praxis ist, so daß das Auftreten von un­ günstigen Auswirkungen, die durch eine Störung oder Schwingung hervorgerufen werden, vermieden werden kann. Da die Zeitpunkte für das Einschreiben von Daten von dem Host-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 Mikroprogrammaus­ führung ausgeführt wird, beispielsweise in einem Auf­ frischzyklus, 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 Multipli­ kation von Koeffizientendaten mit doppelter Stellen­ zahl zu veranschaulichen.
Einem Koeffizienten-Eingangsanschluß X der Multiplizier­ einrichtung 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 24 Bits werden als Produktdaten P aufgenommen und dem Multiplexer 23 zugeführt. Wenn die doppelte Stellenzahl von 24 Bits der Koeffizientendaten erfor­ derlich ist, werden diese 24 Bits in obere 12-Bit-Da­ ten XH (eine Länge von einem Datenwort) und in untere 12-Bit-Daten XL (eine Länge von einem Datenwort) unter­ teilt. Diese Daten XH und XL werden mit den Multipli­ kandendaten Y multipliziert, und die entsprechenden Produkte werden zusammen addiert, um ein Produkt für 24-Bit-Koeffizientendaten zu liefern. Da die oberen 12 Bits der 36-Bit-Produktdaten XL · Y, die durch Mul­ tiplikation der unteren 12-Bit-Daten XL mit den Mul­ tiplikanden-Daten Y erhalten werden, den unteren 12 Bits der 24-Bit-Produktdaten P entsprechen, ist es in diesem Falle erforderlich, zweite Produktda­ ten PP zu verwenden, in denen das Produkt XL · Y um ein Wort oder um 12 Bits zur unteren Seite hin verschoben ist, und die oberen 12 Bits werden um 12 Bits zur obe­ ren 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-Koef­ fizientendaten multipliziert wird, die Koeffizienten­ daten XH, die den oberen 12 Bits der 24-Bit-Koeffizien­ tendaten entsprechen, mit den Multiplikanden-Daten Y in der ersten Stufe des Betriebs multipliziert werden, um zu einem 36 Bits umfassenden Produkt Y · XH zu führen, und die oberen 24 Bits des Produkts Y·XH werden von der Multipliziereinrichtung 22 her als erste Produkt­ daten P erhalten. Als Operation der zweiten Stufe wer­ den die Koeffizientendaten XL, die den unteren 12 Bits der zuvor erwähnten 24-Bit-Koeffizientendaten entspre­ chen, mit den Daten Y multipliziert, um ein 36-Bit-Pro­ dukt zu liefern, welches dann um 12 Bits zur unteren Seite hin verschoben wird, so daß das Produkt Y · XL nunmehr als eine zusammenhängende Folge vorliegt, wie sie durch die Strich-Doppelpunkt-Linie in Fig. 7 ver­ anschaulicht ist. Die oberen 12 Bits des Produkts wer­ den einer Vorzeichen-Ausdehnung ausgesetzt, und die re­ sultierenden 24 Bits werden als Produktdaten PP von der Multipliziereinrichtung 22 her aufgenommen. Unter Vor­ zeichenausweitung wird eine Operation verstanden, ge­ mäß der die Vorzeichenbits der im Zweierkomplementfor­ mat dargestellten digitalen Daten in die obere Seite addiert werden, und zwar in einer Zahl, die gleich der Gesamtbitzahl der neuen Datensequenz abzüglich der Bit­ anzahl des Ursprungsprodukts ist.
Tabelle 1
Das in der obigen Tabelle 1 angegebene Beispiel, gemäß dem z. B. vier Bits gleich dem obersten Bit (Vorzeichen­ bit) 0 oder 1 der 4-Bit-Binärdaten in der Zweierkomple­ mentdarstellung 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 Multipliziereinrich­ tung 22 und dem Multiplexer 23 in der aus Fig. 2 er­ sichtlichen Weise angeschlossen ist, wodurch die er­ sten Produktdaten P und die zweiten Produktdaten PP ohne irgendwelche Änderungen in der Multiplikations­ operation in der Multipliziereinrichtung 22 erhalten 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. Zu­ mindest die oberen 12 Bits des Produkts können zu dem PP-Eingangsanschluß des Multiplexers übertragen werden, und die Bitverschiebung sowie die Vorzeichenausweitung bzw. -ausdehnung können in der ALU-Einheit 21 ausgeführt werden.
Aus Vorstehendem dürfte ersichtlich sein, daß die Multi­ pliziereinrichtung 22 lediglich eine Schaltungseintei­ lung 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 digi­ talen Signaldaten entsprechend multipliziert werden. Das aus der zweiten Multiplikation resultierende Pro­ dukt wird dabei um ein Wort oder um 12 Bits durch eine logische Verschiebung oder um 11 Bits durch eine arith­ metische Verschiebung zur unteren Seite hin verschoben, um zweite Produktdaten PP zu liefern, die dann dem Pro­ dukt P aus der ersten Multiplikation hinzuaddiert wer­ den, 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 einfa­ cher Stellenzahl für Betriebskomponenten ausgewählt wer­ den, die lediglich eine Koeffizientengenauigkeit von 12 Bits erfordern. Die doppelte Genauigkeit kann für Be­ triebskomponenten ausgewählt werden, die eine höhere Koeffizientengenauigkeit bzw. -Stellenzahl erfordern, wie digitale Filter. Das Ergebnis ist das Signalverar­ beitungssystem mit verbesserter Hardware-Nutzungsrate.
Die vorliegende Erfindung ist auf die obige Ausführungs­ form 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 Einschreibens von Da­ ten 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 (Auf­ gabebefehl), d. h. bei Befehlen, die in gewissem Maße unbedeutend für die tatsächliche Verarbeitung digita­ ler Signale sind. Es sei angemerkt, daß viele weitere Änderungen als im Rahmen der Erfindung liegend vorstell­ bar sind.
Eine digitale Signalverzögerungsschaltung, 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 Si­ gnalverzögerungsspeicher bezeichnet, der eine Kapazität von z. B. 64 K (65536) 24-Bit-Digitalsignalen 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 Spei­ chersteuereinheit 2 enthalten ist.
Wie beispielsweise in Fig. 9 gezeigt, sind die in dem Signalverzögerungsspeicher 1 gespeicherten 64 K Worte in n Speicherzellen C1 bis Cn unterteilt. Ein Adressen­ leitspeicher 8′ ist in der Adressenleiteinheit 8 enthal­ ten, und zwar für die Speicherung von Grenzadressen (obere Adresse TA und untere Adresse BA) dieser ersten bis n. Speicherzellen C1 bis Cn und der Adressen der Zellen, die im Zugriffsbetrieb sind, oder der laufen­ den Adressen CA. Die Zellen C1 bis Cn in dem Signalver­ zögerungsspeicher 3 können Überlappungsworte aufweisen, wie dies für die Zellen C2 und C3 zutrifft, oder sie kön­ nen unterbrochene Adressenbereiche aufweisen, wie dies für die erste Zelle C1 und für die zweite Zelle C2 zu­ trifft. Für jede der Speicherzellen C1 bis Cn weist der Adressenleitspeicher 81 einen Bereich 81B für die Spei­ cherung einer unteren Adresse BA, 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 Adres­ sen 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 Zah­ len 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-Rech­ nersystem 4 wie im Falle der Datensignalverarbeitungs­ einrichtung 1 durchgeführt werden. Das Rechnersystem 4 gibt beispielsweise 6-Bit-Daten aus, um die Seriennummern der Speicherzellen zu spezifizieren, und 16-Bit-Adressenda­ ten für die Identifizierung der Adressen BA, TA und CA. Die Serien-Zellennummerndaten und die Adressendaten wer­ den der Adressenleiteinheit 8 über einen Multiplexer 82, der als Schalt- und Auswahleinrichtung in der Speicher­ steuereinheit 2 verwendet wird, bzw. über das Adressen­ register 11 abgegeben. Es sei darauf hingewiesen, daß für die 6-Bit-Serienzellennummerndaten der Signalverzö­ gerungsspeicher 3 in bis zu 64 Speicherzellen aufgeteilt sein kann.
Fig. 11 zeigt eine typische Schaltungsanordnung für die Adressenleiteinheit 8. Gemäß Fig. 11 ist ein Addierer 83 so ausgelegt, daß er zu der laufenden Adresse CA addiert (oder diese Adresse inkrementiert), die aus dem Bereich 81C des Adressenleitspeichers 81 aus­ gelesen ist. Das Ergebnis der in dem Addierer 83 durch­ geführten Addition, das sind die inkrementierten lau­ fenden Adressendaten, wird einem Komparator 84 und einem Multiplexer 85 zugeführt. Das Ergebnis der Addition und die obere Adresse TA, die aus dem Bereich 81T des Adres­ senleitspeichers 81 ausgelesen ist, werden in dem Kompa­ rator 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 Adressen­ leitspeichers 81 oder das Ergebnis der Addition von dem Addierer 83 aufgrund des obigen Vergleichsergebnisses ausgewählt und abgegeben wird. 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 wer­ den über den Multiplexer 86 an den Bereich 81C des Adres­ senleitspeichers 81 abgegeben und auf den Schreibbefehl WT von dem Mikroprogrammspeicher 6 her eingeschrieben.
Auf diese Art und Weise wird die laufende Adresse CA in dem Speicherbereich 81C jedesmal dann inkrementiert, wenn der Schreibbefehl WT an den Signalverzögerungsspei­ cher 3 von dem Mikroprogramm her abgegeben wird, und die Adresse CA wird wieder von der unteren Adresse BA auf Erreichen der oberen Adresse inkrementiert.
Es sei darauf hingewiesen, daß die in Fig. 1 dargestell­ te digitale Signalverarbeitungseinrichtung 1 den in Fig. 8 dargestellten Schaltungsteilen ausschließlich der Speichersteuereinheit 2, des Signalverzögerungs­ speichers 3 und des Host-Rechnersystems entspricht.
Bei der vorliegenden Ausführungsform enthält der Mikro­ befehl ein Feld für die Steuerung der Adressenleitein­ heit 8, die für die Leitung des Signalverzögerungsspei­ chers 3 vorgesehen ist. Mit bis zu 64 Speicherzellen des Signalverzögerungsspeichers 3 sind sechs Bits er­ forderlich für die Spezifizierung der Serienzellen­ nummern, und zwei Bits sind ferner erforderlich für die Steuerung der Lese-Schreiboperationen des Signal­ verzögerungsspeichers 3. Damit ist das Feld eine 8-Bit- Adressenleiteinheit oder ein Signalverzögerungsspei­ cher-Steuerfeld. Dieses 8-Bit-Adressenleiteinheits- Steuerfeldsignal wird an die Adressenleiteinheit 8 ab­ gegeben, wobei die 16 Bit umfassende laufende Adresse 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 dem Signalverzögerungsspeicher 3 als Verzögerungsschaltung benutzt wird, ist es erforderlich, zuvor die untere Adresse BA1 und die obere Adresse TA1 für die Speicher­ zelle C1 sowie die laufende Adresse CA1, die von BA1 bis TA1 reicht, in die entsprechenden Worte zu schreiben, die in den Bereichen 81B, 81T und 81C des Adressenleit­ speichers 81 gespeichert sind und die die Adressen für die Serienzellennummern aufweisen, welche beispielsweise gleich "1" sind (Einleitungsschritt). Während einer der­ artigen Einleitung bzw. Initialisierung wird der Multi­ plexer 82 in der Speichersteuereinheit 2 zu dem Host- Rechnersystem 4 hin umgeschaltet, welches dann ein die Serienzellennummer "1" bezeichnendes Signal und Adres­ sendaten für die Adressen BA1, TA1 und CA1 sequentiell zu dem Adressenleitspeicher 8 hin überträgt. Wenn die sequentielle Übertragung der Adressen BA1, TA1 und CA1 erfolgt, überträgt das Rechnersystem 4 außerdem die Adres­ senidentifizierungscodes, die für die Identifizierung dieser Adressen benutzt werden. Die somit übertragenen Daten werden in die Bereiche 81B, 81T und 81C einge­ schrieben.
Nach der somit erfolgenden Initialisierung der zu ver­ wendenden Speicherzellen wird der Multiplexer 82 zu dem Mikroprogrammspeicher 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ögerungsspeicher 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 Adresse CA inkrementiert wird bzw. ist. In dem Mikroprogramm ist es lediglich erforderlich, die Se­ riennummern der Speicherzellen zu bezeichnen und Lese- sowie 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 Adressen­ leiteinheit 2 ausgeführt.
Wenn die Serienzellennummer in dem Signalverzögerungs­ speicher 3 durch die Mikroprogramm-Digitalsignalverzö­ gerungsschleife spezifiziert ist, wird die laufende Adres­ se CA des der Zellennummer des Adressenleitspeichers 81 entsprechenden Wortes ausgelesen, und es erfolgt ein Zu­ griff zu dem Signalverzögerungsspeicher 3 durch diese Adresse CA. Wenn der Signalverzögerungsspeicher 3 eine Zugriffszeit in der Größenordnung eines Mikroprogramm- Befehlszyklus oder eine darunter liegende Zugriffszeit hat, dann können die Inhaltsdaten des adressierten Wor­ tes durch den folgenden Mikrobefehl eingegeben oder aus­ gegeben werden, wobei digitale Signale aus dem Signal­ verzögerungsspeicher 3 ausgelesen oder in diesen ein­ geschrieben 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 Se­ rienzellennummer hin folgt, ausgelesenen Daten können über den Datenbus DB zu den Registern hin oder zu Schal­ tungselementen, die die nächsten Verarbeitungsschritte ausführen, wie die Multipliziereinrichtung und der Digi­ tal/Analog-Wandler, übertragen werden. Im Schreibbetrieb wird ein Schreibimpuls auf den Mikrobefehl hin ausgege­ ben, der dem Speicherzugriff folgt, wodurch die digitalen Daten auf dem Datenbus DB in das in dem Signalverzöge­ rungsspeicher 3 gespeicherte adressierte Wort einge­ schrieben werden, während die laufende Adresse CA in der Adressenleiteinheit 8 aktualisiert wird, was bedeutet, daß die Adressendaten von dem Multiplexer 85 her in die Adressenleiteinheit 8 aufgenommen werden.
Nunmehr sei auf Fig. 12 Bezug genommen, um die Betriebs- Zeitsteuerung im Schreibbetrieb zu veranschaulichen. Ge­ mäß Fig. 12 entspricht das Zeitintervall TS einem Be­ fehlszyklus in dem Mikroprogramm. Die Serienzellennum­ mer ist in Bezug auf den Schreibbefehl während der Zeit­ spanne t1-t2 gekennzeichnet, und Daten werden zwischen dem Signalverzögerungsspeicher 3 und dem Datenbus DB wäh­ rend der Zeitspanne t2-t3 ausgetauscht. Wenn die Se­ rienzellennummer zum Zeitpunkt t1 spezifiziert ist, wird die laufende Adresse CA, die aus dem für die lau­ fende Adresse vorgesehenen Bereich 81C des Adressenleit­ speichers 81 ausgelesen ist, zum Zeitpunkt t11 bestimmt, und zwar nach Verstreichen einer bestimmten Zugriffs­ zeit. Seit dem Zeitpunkt t12 oder unmittelbar nach dem Zeitpunkt t11 wird ein Adressenabtastimpuls für den Si­ gnalverzögerungsspeicher 3 erzeugt, um Zugriff zu dem Signalverzögerungsspeicher 3 zu ermöglichen. Das Ausle­ sen und Einschreiben aus dem bzw. in den Signalverzöge­ rungsspeicher 3 wird nach Verstreichen einer Adressie­ rungszeit freigegeben, die durch die Charakteristiken der Speichereinrichtung bestimmt ist, welche verwendet wird, und die in der Größenordnung von 100 und mehreren Nanosekunden bei einem dynamischen RAM-Lese/Schreib- Speicher liegt. Schreib- und Leseimpulse werden zum Zeitpunkt t12 unmittelbar vor Verstreichen der Zeit­ spanne t2-t3 für den nächsten Befehlszyklus oder un­ mittelbar vor dem Zeitpunkt t3 ausgegeben, um digitale Signaldaten zwischen dem adressierten Wort und dem Da­ tenbus 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 in­ krementiert, und außerdem erfolgt ein Vergleich dieser Adresse mit der oberen Adresse TA mittels des Kompara­ tors 84. Außerdem erfolgt eine Auswahl durch den Multi­ plexer 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 über den Multiplexer 86 an den Bereich 81C für die laufende Adresse abgegeben. Die nächste Adresse NA wird in dem Bereich 81C für die laufende Adresse ledig­ lich zum Zeitpunkt t13 eingeschrieben; der Schreibimpuls wird im Schreibbetrieb abgegeben. Demgemäß wird in einem Zyklus der Mikroprogramm-Signalverzögerungsschleife das digitale Signal in dasselbe Wort in dem Signalverzöge­ rungsspeicher 3 eingeschrieben, zu dem ein Zugriff wäh­ rend des Lesens mit der laufenden Adresse CA erfolgt ist, und die laufende Adresse CA in dem für die laufende Adresse vorgesehenen Bereich 81C des Adressenleitspei­ chers 81 wird lediglich zu diesem Zeitpunkt in die näch­ ste Adresse eingeschrieben. Nachdem die gesamten Worte in der Speicherzelle, die als Verzögerungsleitung be­ nutzt worden sind (wie die erste Speicherzelle c1) adres­ siert worden sind, wird das Wort, in das das digitale Signal geschrieben worden ist, ein zweites Mal ausge­ lesen. Die Verzögerungszeit ist dabei ein Produkt der Gesamtzahl von Worten, die in der Speicherzelle enthal­ ten sind, 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 ein­ gefügt wird für ein wiederholtes Überprüfen der Beendi­ gung der Abtastoperation in dem Analog/Digital-Wandler, und zwar bis zur Beendigung der Abtastung.
Bei einer Abtasttaktfrequenz von 50 kHz (das ist eine Abtastperiode von 20 µs) und 1000 Worten in der als Verzögerungsleitung verwendeten Speicherzelle beträgt die Verzögerungszeit 20 ms. Auf eine Steigerung um ein Wort in der Speicherzelle wird die Verzögerungszeit um 20 µs gesteigert, und auf eine Herabsetzung um ein Wort in der Speicherzelle wird die Verzögerungszeit um 20 µs 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 Reali­ sierung einer derartigen Signalverzögerungsprozedur durch ein Mikroprogramm. Bevor die Signalverzögerungsschleife betrachtet wird, wird eine "0" in sämtliche Worte inner­ halb des Signalverzögerungsspeichers 3 durch den Schritt 201 eingeschrieben (alles Löschen oder Anfangs-Rückset­ zung). Diesem Schritt folgt die Signalverzögerungsschlei­ fe, und zwar von einem Schritt 202 aus beginnend, in wel­ chem eine Überprüfung erfolgt, daß die Analog/Digital- Wandlung abgeschlossen ist. Jedesmal dann, wenn die Ab­ tastoperation in dem Analog/Digital-Wandler 100 ausge­ führt wird, werden die digitalen Signale aus dem Signal­ verzögerungsspeicher 3 ausgelesen oder eingeschrieben, während die laufende Adresse CA in dem für die laufende Adresse vorgesehenen Bereich 81C des Adressenleitspei­ chers 81 automatisch wieder in die Adressenleiteinheit 8 eingeschrieben wird (Schritt 203 ff.). Im Schritt 203 werden die digitalen Signaldaten, die durch die Analog/ Digital-Wandlung gelangt sind, über den Datenbus DB bei­ spielsweise in den Registerbereich Ra des Datenspeichers 30 gespeichert. In den Schritten 204 und 205 werden die Serienspeicherzellennummern dem Signalverzögerungsspei­ cher 3 für das Auslesen der digitalen Signaldaten zuge­ wiesen. Demgemäß wird im Schritt 204 der Befehl zum Aus­ lesen der ersten Speicherzelle C1 an die Adressenleit­ einheit 8 abgegeben, die dann eine laufende Adresse CA entsprechend der ersten Speicherzelle abgibt. Diese Adresse CA wird für einen Zugriff zu dem Signalverzöge­ rungsspeicher 3 benutzt. Die Ausgangsdaten können gül­ tig sein, und sie werden aus dem Signalverzögerungsspei­ cher 3 bei einer Zugriffszeit ausgelesen, die durch die Eigenschaften der in dem Signalverzögerungsspeicher 3 verwendeten Speicherelemente bestimmt ist. Die Ausgabe­ daten können im allgemeinen in 100 und einigen Nanose­ kunden Gültigkeit erlangen bei Verwendung eines dynami­ schen RAM-Schreib/Lese-Speichers als Signalverzögerungs­ speicher. Im Schritt 205 werden die von dem Signalver­ zögerungsspeicher 3 an den Datenbus DB abgegebenen Daten zwischengespeichert, beispielsweise in dem Registerbe­ reich Rb der Datenspeichereinheit. Deshalb wird das Aus­ lesen aus dem Signalverzögerungsspeicher 3 in zwei Mikro­ befehlsschritten realisiert. Das Auslesen aus dem Si­ gnalverzögerungsspeicher 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 Adressenleit­ speicher 81 oder zu dem Signalverzögerungsspeicher 3 mi­ nimiert werden kann.
Im Schritt 206, bei dem es sich um den Schreibbefehl für die erste Zelle in dem Signalverzögerungsspeicher 3 han­ delt, werden ein Schreibbefehl und eine Serienzellen­ nummern-Bezeichnung an die Adressenleiteinheit 8 abge­ geben, wodurch die der ersten Zelle entsprechende lau­ fende 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 In­ halt des Registerbereichs Ra, der die Daten von dem Ana­ log/Digital-Wandler 100 her speichert, an den Datenbus DB abgegeben und in den Signalverzögerungsspeicher 3 eingeschrieben.
Die aus der Speicherzelle C1 des Signalverzögerungsspei­ chers 3 ausgelesenen und in dem Registerbereich Rb ge­ speicherten 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ögerungs­ schleife zu vervollständigen.
Der vorstehend erwähnte Hallraum bzw. die vorstehend er­ wähnte Hallmaschine kann aus mehreren Signalverzögerungs­ leitungen 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 Spei­ cherbereiche für Lese/Schreib-Operationen bezeichnet werden, oder indem ein Programm eingeführt wird, gemäß dem aus entsprechenden Zellen des Signalverzögerungs­ speichers 3 ausgelesene Daten mit einem Koeffizienten multipliziert werden und das resultierende Produkt zu Vorverzögerungsdaten hinzuaddiert wird (derartige Da­ ten sind durch die Analog/Digital-Wandlung hindurchge­ langt und in dem Registerbereich Ra gespeichert). Darüber hinaus kann die Serienspeicherzellennummer durch das Host-Rechnersystem 4 bezeichnet werden, und zwar bei­ spielsweise während der Wartezeit auf die Analog/Digi­ tal-Umsetzung im Schritt 201, um die zuvor erwähnte untere Adresse BA oder die obere Adresse TA zur dyna­ mischen Änderung der Verzögerungszeit der Signalver­ zögerungsschaltungen entsprechend den betreffenden Zellen zu ändern.
Die Daten von dem Analog-Digital-Wandler 101 her können direkt in den Signalverzögerungsspeicher 3 eingeschrie­ ben 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 Register­ bereichen Ra, Rb der Datenspeichereinheit 30 Gebrauch gemacht wird. Fig. 14 zeigt ein Flußdiagramm für diese Prozedur. Gemäß Fig. 14 sind die Schritte 201, 202 die­ selben wie in Fig. 13. Hierbei wird jedoch ein Schritt 301 zum Lesen, beispielsweise der ersten Speicherzelle C1 des Signalverzögerungsspeichers 3 (entsprechend dem Schritt 204 in Fig. 13) auf den Schritt 202 hin plaziert. Wenn die somit ausgelesenen Daten auf dem Datenbus DB gültig bzw. richtig sind, werden sie direkt zu dem Digi­ tal/Analog-Wandler 100 im Schritt 302 hingeleitet. Im Schritt 303, der dem Schritt 206 gemäß Fig. 13 äquiva­ lent ist, erfolgt ein Zugriff zu der Schreibadresse in der ersten Speicherzelle C1 des Signalverzögerungsspei­ chers 3. Im Schritt 304 werden die Daten von dem Analog/ Digital-Wandler 101 über den Datenbus DB in die Adresse eingeschrieben, zu der ein Zugriff im vorangegangenen Schritt erfolgt ist. Die Schritte, die von dem Schritt 202 für die Beurteilung des Zustands bis zum Schritt 304 reichen, bilden einen vollständigen Zyklus der Verzöge­ rungsschleife. Es sei darauf hingewiesen, daß der Be­ dingungsschritt 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ührungsform der digitalen Signal­ verarbeitungseinrichtung bzw. des digitalen Signalpro­ zessors gemäß der vorliegenden Erfindung bei Anwendung auf einen Hallraum oder eine Hallmaschine wird unter Be­ zugnahme auf Fig. 15 beschrieben.
Bei der vorliegenden Ausführungsform werden die in Fig. 10 gezeigte Schreibadresse WA und die dort gezeigte Leseadresse RA anstelle der laufenden Adresse CA be­ nutzt. Diese Adressen werden in Bereichen 81W bzw. 81R des Adressenleitspeichers 81 gespeichert.
In der Adressenleiteinheit 8 sind eine WD-Speicherschal­ tung 8W für die Speicherung von Schreibdaten WD, die für die Schreibadresse WA abzugeben sind, eine RD-Spei­ cherschaltung 8R für die Speicherung von Lesedaten D, die zu der Leseadresse RA abzugeben sind, und ein Addie­ rer 83′ vorgesehen, der die Schreibadresse WA aus dem Bereich 81W des Adressenleitspeichers 81 und die Schreibdaten WD aus der Speicherschaltung 8W während des Schreibens addiert und der die Leseadresse RA aus dem Bereich 81R des Adressenleitspeichers 81 und die Lesedaten RD aus der Speicherschaltung 8R währen des Lesens addiert. Die Summe von dem Addierer 83′ wird einem Komparator 84 und 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 35 zugeführt. Der Multiplexer 85 wählt die untere Adresse BA aus dem Bereich 81B des Adressen­ leitspeichers 81 oder die Summe von dem Addierer 83′ her aus und gibt diese Größen ab, und zwar in Abhängig­ keit vom Vergleichsergebnis. Demgemäß wählt der betref­ fende Multiplexer die untere Adresse BA aus und gibt sie ab, wenn die Summe größer ist als die obere Adresse TA. Ansonsten gibt dem betreffende Multiplexer die Summe ab. Die Ausgangsdaten von dem Multiplexer 85 stellen die nächste Adresse NA dar, welche die Schreib- oder Leseadresse bezeichnet, zu der zum nächsten Zeit­ punkt ein Zugriff zu erfolgen hat. Diese Ausgabedaten werden an den Bereich 81W des Adressenleitspeichers 81 über den Multiplexer 86W während des Schreibens und an den Bereich 81R des Adressenleitspeichers 81 über den Multiplexer 86R während des Lesens abgegeben. Schreib­ daten "1" oder Schreibdaten von dem Host-Rechnersystem 4 her, wie "0" oder "2", sind zu diesem Zeitpunkt an die Speicherschaltung 8W abgegeben worden, und zwar bezüg­ lich der Schreibdaten WD für die Schreibadresse WA, nachdem eine Umschaltung und Auswahl durch den Multi­ plexer 86′W erfolgt ist. Demgegenüber werden Lesedaten "1" oder Lesedaten von dem Host-Rechnersystem 4 her in entsprechender Weise an die Speicherschaltung 8R abge­ geben bzw. abgegeben worden sein, und zwar bezüglich der Lesedaten für die Leseadresse RA, nachdem eine entspre­ chende Umschaltung und Auswahl durch den Multiplexer 86′R erfolgt ist. Wenn die Verzögerungszeit konstant ist, wer­ den die Schreibdaten "1" und die Lesedaten "1" von den Multiplexern 86′W, 86′R an die Speicherschaltungen 8W, 8R abgegeben, so daß die Schreib- und Lesedaten WD, RD von diesen Speicherschaltungen 8W, 8R gegeben sind durch "1". Deshalb wird in dem Addierer 83′ die Schreibadresse WA für jede Schreiboperation um 1 vergrößert oder ver­ kleinert, und die Leseadresse RA wird für jede Leseope­ ration 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ögerungsspei­ chers 3 zu veranschaulichen. Während der Leseoperation wird die Serienzellennummer zum Zeitpunkt t1 bezeichnet, und der Lesebefehl wird an die Adressenleiteinheit 8 ge­ geben. Das Wort in dem Leseadressenbereich 81R des Adres­ senleitspeichers 81 , welches der bezeichneten Serien­ zellennummer entspricht, wird adressiert, und die Aus­ gabedaten (Leseadresse RA) sind zum Zeitpunkt t11 nach Verstreichen einer bestimmten Zugriffszeit gültig. Ein Adressen-Abtastsignal wird ab dem Zeitpunkt t12 nach dem Zeitpunkt t11 ausgegeben, so daß der Signalverzöge­ rungsspeicher 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üp­ fungsglied 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- Wandler abgegeben.
Während einer derartigen Leseoperation wird die Lese­ adresse RA automatisch in der Adressenleiteinheit 8 aktualisiert. Wenn sie zum Zeitpunkt t11 festliegt, wird die Leseadresse RA von dem Bereich 81R an den Addierer 83′ ausgesendet, wo sie zu den Lesedaten aus der Spei­ cherschaltung 8R addiert wird. Für eine konstante Verzö­ gerungszeit sind die Lesedaten gegeben durch "1", und die Leseadresse RA wird inkrementiert und an den Kompa­ rator 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 81R des Adressenleitspeichers 81 abgegeben. Die obige Operation findet automatisch bis zum Zeitpunkt t13 statt. Die nächsten Adressendaten werden in den Be­ reich 81R auf den Leseimpuls hin übernommen, der zum Zeitpunkt t13 erzeugt wird, und zwar zum Wiedereinschrei­ ben oder Aktualisieren der Leseadresse RA. Wenn die in­ krementierte 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 RD und der Mul­ tiplexer 86R gemäß der Beschreibung der Leseoperation durch die Adresse WA, den Bereich 3W, die Speicherschal­ tung 8W, die Speicherdaten WD bzw. den Multiplexer 86W ersetzt wären. Demgemäß wird auf den Schreibimpuls zum Zeitpunkt t13 hin die Schreibadresse WA aktualisiert, während die digitalen Signaldaten von den Registern und den Datenausgabeschaltungen, etc. her in den Signalver­ zögerungsspeicher 3 über den Datenbus DB eingeschrieben werden.
Fig. 16 veranschaulicht die Bewegung bzw. Verschiebung der Leseadresse RA und der Schreibadresse WA in der Speicherzelle des als Verzögerungsschaltung verwendeten Signalverzögerungsspeichers 3. Es sei angenommen, daß die Leseadresse RA und die Schreibadresse WA, wie Fig. 16A zeigt, auf jede Inkrementierung hin in Richtung des Pfeiles oder von der unteren Adresse BA zu der obe­ ren Adresse TA hin verschoben werden. Das Produkt der Ab­ tastperiode mit der Anzahl der Wörter N, die gleich der Differenz zwischen den Adressen RA, WA (N=WA-RA) ist, stellt die Verzögerungszeit dar. Fig. 16 veranschau­ licht den Zustand der Speicherzelle, gemäß dem die Schreibadresse WA einmal die obere Adresse erreicht hat, wo sie zur unteren Adresse BA umgeschaltet wird, von der aus sie erneut inkrementiert wird. Die Verzögerungs­ zeit 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 Wortzahldifferenz 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än­ gern, werden Schreibdaten "0" in die Speicherschaltung 8R von dem Host-Rechnersystem 4 her über den Multiplexer 86′R zu einem Zeitpunkt im Laufe der Signalverzögerungs­ schleife eingeschrieben, der gut vor der Adressierung des Signalverzögerungsspeichers 3 liegt, beispielsweise während der Wartezeit für die Analog/Digital-Umsetzung (Schritt 202 in Fig. 13). Da "0" zu der Leseadresse RA während der Lesephase im selben Zyklus der Programm­ schleife addiert wird (Schritte 204, 205), wird in die­ sem Falle die Leseadresse nicht inkrementiert; sie wird daran gehindert, sich in der Pfeilrichtung gemäß Fig. 16 zu bewegen. Demgegenüber wird die Schreibadresse WA wäh­ rend der Schreibphase im selben Zyklus der Programm­ schleife inkrementiert, was zu einer inkrementierten Wortzahldifferenz und dazu führt, daß die Verzögerungs­ zeit um eine Abtastperiode verlängert ist. Von dem näch­ sten Zyklus an werden sowohl die Leseadresse RA als auch die Schreibadresse WA inkrementiert, so daß die Wortzahl­ differenz gleich (N+1) erhalten wird. Wenn es erwünscht ist, die Verzögerung um n Abtastperioden zu verlängern, wird die zuvor erwähnte Operation des Einschreibens "0" in die Speicherschaltung 8R n mal wiederholt, 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 8W von dem Host-Rechnersystem 4 her über den Multiplexer 86′W eingeschrieben, um die Verzögerungszeit um eine Abtast­ periode zu vermindern. Diese Operation kann natürlich n mal wiederholt werden, um die Verzögerungszeit um n Abtastperioden zu verkürzen.
Auf diese Art und Weise ist es möglich, die ursprünglich eingestellte Verzögerungszeit um Zeitintervalle zu än­ dern, die gleich einem ganzzahligen Vielfachen des Ab­ tastintervalls sind, indem "0" in die Speicherschaltun­ gen 8R oder 8W in einer gewünschten Häufigkeit einge­ schrieben wird. Bei der obigen Prozedur wird bezüglich der Leseadresse RA oder der Schreibadresse WA verhin­ dert, daß diese lediglich kurzzeitig inkrementiert wird, so daß die zeitliche Kontinuität der Auslesedaten auf­ rechterhalten werden kann, und das Auftreten von Stö­ rungen kann verhindert werden.
Aus vorstehendem kann ersehen werden, daß eine Vielzahl von digitalen Signalverzögerungsleitungen durch Verwen­ dung eines einzigen Signalverzögerungsspeichers 3 reali­ siert werden kann, womit der Hardwareaufbau vereinfacht werden kann, da gesonderte Hardwareeinrichtungen für die entsprechenden Verzögerungsleitungen, wie sie bei Ver­ wendung von Schieberegistern erforderlich sind, ent­ behrlich sind. Darüber hinaus wird das eigentliche Adressenmanagement für den Signalverzögerungsspeicher 3 in der Adressenleiteinheit 8 vorgenommen, und die Lese- sowie Schreibadressen (laufende Adresse) können in die­ ser Adressenleiteinheit inkrementiert oder sonstwie ver­ arbeitet werden, so daß das ALU-Rechenwerk 21 beispiels­ weise andere Aufträge bzw. Jobs übernehmen und ausfüh­ ren kann. Der Durchsatz der digitalen Signalverarbei­ tungseinheit 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 wer­ den, während die Verzögerungszeit auch dynamisch im Zuge der Echtzeit-Signalverarbeitung geändert werden kann.

Claims (4)

1. Digitales Signalverarbeitungssystem mit
  • - einem Mikroprogrammspeicher (6) zum Speichern mehrerer Mikrobefehle für eine digitale Signalverarbeitungsprozedur,
  • - einem Koeffizientenspeicher (7) zum Speichern von zur Ausführung von Rechenoperationen bezüglich digitaler Signaldaten erforderlichen Koeffizientendaten,
  • - einem Host-Rechnersystem (4), und
  • - einer Schnittstellenschaltung (5) zum Laden von Informationen aus dem Host- Rechnersystem (4) in den Mikroprogrammspeicher (6) und den Koeffizientenspeicher (7),
  • - wobei der Koeffizientenspeicher (7) zumindest zwei Seiten aufweist, auf die wahlweise zugegriffen werden kann,
wobei das Host-Rechnersystem (4) die Seitenauswahl während der Ausführung eines einzelnen Mikrobefehls steuert.
2. Digitales Signalverarbeitungssystem nach Anspruch 1, weiterhin aufweisend
  • - eine Einrichtung (61, 9) zum sequentiellen Lesen der Mikrobefehle aus dem Mikroprogrammspeicher (6),
  • - eine Einrichtung (71, 91) zum Lesen der Koeffizientendaten, die Koeffizientendaten mit doppelter Stellenzahl mit einer oberen (XH) und unteren Einzelworthälfte (XL) sind, aus dem Koeffizientenspeicher (7),
  • - eine Multipliziereinrichtung (20) zum Multiplizieren der digitalen Signaldaten (Y) mit den aus dem Koeffizientenspeicher (7) gelesenen Koeffizientendaten mit doppelter Stellenzahl, wobei die Multipliziereinrichtung (20) eine Einrichtung (23) aufweist zur Erzeugung einer ersten, ein Produkt der oberen Hälfte (XH) der Koeffizientendaten mit doppelter Stellenzahl und der digitalen Signaldaten kennzeichnenden Produkt-Ausgabe mit doppelter Stellenzahl und zur Erzeugung einer zweiten, ein zweites Produkt der unteren Hälfte (XL) der Koeffizientendaten mit doppelter Stellenzahl und der digitalen Signaldaten kennzeichnenden Produkt- Ausgabe mit doppelter Stellenzahl,
  • - eine Einrichtung (24) zum Verschieben der zweiten Ausgabe um Bitstellen, die einer Wortlänge äquivalent sind, und
  • - eine Einrichtung (21) zum Summieren der ersten Ausgabe und der verschobenen zweiten Ausgabe, um die Multiplikation der digitalen Signaldaten (Y) mit dem Koeffizientendaten mit doppelter Stellenzahl zu bewirken.
3. Digitales Signalverarbeitungssystem nach Anspruch 1 oder 2, weiterhin aufweisend
  • - eine Speichersteuereinrichtung (2),
  • - wenigstens einen Speicherblock (3) zum Speichern der digitalen Signaldaten,
  • - wobei die Speichersteuereinrichtung (2) einen Adressenleitspeicher (81) zur Speicherung von Grenzadressen, die Speicherzellen, in die der wenigstens eine Speicherblock (3) unterteilt ist, identifizieren,
  • - wobei eine Einrichtung (82, 11) zum Laden der Grenzadressen (TA, BA) der Speicherzellen aus dem Host-Rechnersystem (4) in den Adressenleitspeicher (81) vorgesehen ist, und
  • - wobei ein Zugriff auf die Speicherzellen entsprechend seriellen Speicherzellennummern vornehmbar ist, die von einer Ablaufsteuereinheit (9) bezeichnet sind.
DE3303488A 1982-02-19 1983-02-02 Digitales Signalverarbeitungssystem Expired - Lifetime DE3303488C2 (de)

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 DE3303488A1 (de) 1983-09-01
DE3303488C2 true 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)

* Cited by examiner, † Cited by third party
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 Koninkl Philips Electronics Nv Prozessor zur Verarbeitung zeitdiskreter Signale
GB2307072B (en) 1994-06-10 1998-05-13 Advanced Risc Mach Ltd Interoperability with multiple instruction sets
US5652903A (en) * 1994-11-01 1997-07-29 Motorola, Inc. DSP co-processor for use on an integrated circuit that performs multiple communication tasks
JPH08293815A (ja) * 1994-11-01 1996-11-05 Motorola Inc 集積回路上で複数の通信タスクを行なうコプロセッサ
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

Family Cites Families (8)

* Cited by examiner, † Cited by third party
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
DE1810413B2 (de) * 1968-11-22 1973-09-06 Siemens AG, 1000 Berlin u. 8000 München Verfahren zum ausgeben von daten aus einer datenverarbeitungsanlage an externe geraete und zum eingeben von daten von den externen geraeten in die datenverarbeitungsanlage
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

Also Published As

Publication number Publication date
KR880001168B1 (ko) 1988-07-02
JPH0571986B2 (de) 1993-10-08
NL192698C (nl) 1997-12-02
JPS58144272A (ja) 1983-08-27
GB2155671A (en) 1985-09-25
NL8300387A (nl) 1983-09-16
GB8302850D0 (en) 1983-03-09
KR840003857A (ko) 1984-10-04
GB2155671B (en) 1986-03-19
GB8510106D0 (en) 1985-05-30
US4511966A (en) 1985-04-16
NL192698B (nl) 1997-08-01
FR2522232B1 (fr) 1989-07-21
CA1193021A (en) 1985-09-03
GB2115588A (en) 1983-09-07
DE3303488A1 (de) 1983-09-01
FR2522232A1 (fr) 1983-08-26
GB2115588B (en) 1985-10-02

Similar Documents

Publication Publication Date Title
DE3303488C2 (de) Digitales Signalverarbeitungssystem
DE4305442C2 (de) Verfahren und Vorrichtung zum Erzeugen eines Testvektors
DE69738188T2 (de) Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor
DE2953861C2 (de)
DE2918424C2 (de)
DE102020106356A1 (de) Speichervorrichtung für eine Verarbeitungsoperation, dieselbe umfassendes Datenverarbeitungssystem und Verfahren zum Betreiben der Speichervorrichtung
DE1146290B (de) Elektronisches Datenverarbeitungssystem
DE2311220A1 (de) Digital-informations-verarbeitungsvorrichtung zur zeichenerkennung
DE2813128A1 (de) Mikroprogrammspeicher
DE2855722A1 (de) Einrichtung zur berechnung von produktsummen
DE2524046A1 (de) Elektronische datenverarbeitungsanlage
DE3400723C2 (de)
DE19814415A1 (de) Logikanalyse-Untersystem in einem Zeitscheibenemulator
DE2911909C2 (de) Digitales Datenverarbeitungsgerät
DE3114921A1 (de) Datenverarbeitungssystem
DE2064473C3 (de) Schaltung zur Bestimmung der Adresse einer in einem Speicher einer Datenverarbeitungsanlage enthaltenden, gesuchten Information
EP0344347B1 (de) Einrichtung zur digitalen Signalverarbeitung
DE2134816A1 (de) Einrichtung zur adressenuebersetzung
DE3930313A1 (de) Vektorprozessor
DE2830334C2 (de)
DE2227761B2 (de) Speichersystem
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
DE2024304C3 (de) Adressenwandler zur Bestimmung eines Speicherplatzes in einem von mehreren Umlaufspeichern
DE69930893T2 (de) Digitaler Signalprozessor für Daten mit grosser Bitlänge

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition