DE3303488A1 - Digitales signalverarbeitungssystem - Google Patents

Digitales signalverarbeitungssystem

Info

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
Application number
DE19833303488
Other languages
English (en)
Other versions
DE3303488C2 (de
Inventor
Osamu Yokohama Kanagawa 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

Beschreibung Digitales Signalverarbeitungssystem
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
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
eines Adressenleitspeichers.
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 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
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&ltung, 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
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)

  1. Paignta'iwäte
    Dipl.-!ng. H. fcüTSCHERLICH Dip!.-Inc. K. G'-KISCHMANM Die!.-Ioq. Or. rsr. na>. VV. KÜRBER Dipl.-I.r. J. SGHivliDT-EVERS
    DiL:.-inn. VV. MSLZGR SternsSoT* Jtr. i ü, £'ü JU fciüNCHEN 22
  2. 2. Februar 1983
    SONY CORPORATION 7-35 Kitashinagawa 6-cliome Shinagawa-ku Tokio, J ap an
    Patentansprüche
    Digitales 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. 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 einer
    Reihe" 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.
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 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)

* 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 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)

* 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
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* 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
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)

* Cited by examiner, † Cited by third party
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