-
Diese
Erfindung bezieht sich allgemein auf die Datenverarbeitungsvorrichtungen
und insbesondere auf die spezialisierten Hochleistungs-Prozessoreinheiten,
die allgemein als digitale Signalverarbeitungseinheiten bezeichnet
werden. Die Erfindung bezieht sich auf die Übertragung von Signalgruppen zwischen
den verschiedenen Komponenten des digitalen Signalprozessors.
-
HINTERGRUND
DER ERFINDUNG
-
Digitale
Signalverarbeitungseinheiten sind als spezialisierte Datenverarbeitungseinheiten
entwickelt worden. Diese Einheiten sind daraufhin optimiert, Routineoperationen,
obgleich komplexer Art, mit hoher Effizienz auszuführen. Für viele
Anwendungen müssen
die Berechnungen so nahe an Echtzeit wie möglich erledigt werden. Um die
vom Digitalsignal geforderte Berechnungsgeschwindigkeit zu erreichen,
sind die digitalen Signalverarbeitungseinheiten daraufhin optimiert,
die vorgeschriebene(n) Verarbeitungsoperationen) mit großer Effizienz
auszuführen.
Zusätzlich
sind viele Funktionen beseitigt, die von einer Universal-Verarbeitungseinheit
ausgeführt werden
würden,
oder die Funktionalität
wird außerhalb
der Kern-Verarbeitungseinheit ausgeführt.
-
In 1 ist
eine digitale Signalverarbeitungseinheit 1 entsprechend
dem Stand der Technik gezeigt. Ein erster digitaler Signalprozessor 10 umfasst
eine Kern-Verarbeitungseinheit 12 (auf
die häufig
als Verarbeitungskern Bezug genommen wird), eine Direktspeicherzugriff-Einheit 14,
eine oder mehrere Speichereinheiten 16, sowie einen oder
mehrere serielle Ports 18. Die Speichereinheit 16 speichert
die Signalgruppen, die zu verarbeiten sind, bzw. die bei der Verarbeitung
derjenigen Signalgruppen mitwirken, die von der Kern-Verarbeitungseinheit 12 zu
verarbeiten sind. Die Kern-Verarbeitungseinheit 12 führt den
Hauptteil der Verarbeitung der Signalgruppen in der Speichereinheit 12 aus.
Die Direktspeicherzugriff-Einheit 14 ist mit der Kern-Verarbeitungseinheit 12 und
der Spei chereinheit 16 gekoppelt und vermittelt den Signalgruppenaustausch
zwischen beiden. Der serielle Port 18 tauscht Signalgruppen
mit Komponenten außerhalb
der digitalen Signalverarbeitungseinheit 1 aus. Die Kern-Verarbeitungseinheit 12 ist
mit dem seriellen Port 18 und der Speichereinheit 16 gekoppelt
und steuert den Austausch von Signalgruppen zwischen diesen Komponenten.
-
Weitere
Beispiele von Verarbeitungseinheiten und DMA-Controllern sind im
US-Patent 5.535.417 und in den europäischen Patentanmeldungen
EP 0486145 und
EP 0901081 zu finden.
-
Der
digitale Signalprozessor ist typischerweise so entworfen und implementiert,
dass er zwar eine begrenzte Funktionalität, jedoch Funktionen, die wiederholt
und schnell ausgeführt
werden müssen,
besitzt. Die Berechnung der schnellen Fourier-Transformation (FFT)
und die Decodierung des Viterbi-Algorithmus sind zwei Beispiele,
wo digitale Signalprozessoren sehr vorteilhaft verwendet werden.
Um sicherzustellen, dass die digitalen Signalprozessoren mit hoher
Effizienz arbeiten, ist die Kernverarbeitung im allgemeinen auf
die Ausführung
begrenzter Verarbeitungsfunktionen optimiert. Ein Teil des Optimierungsprozesses
umfasst die weitestgehende Entlastung von jeglicher Verarbeitung,
die nicht auf die optimierte Funktion gerichtet ist. Der Austausch
von Signalgruppen, der die Kern-Verarbeitungseinheit
und die Speichereinheit einbezieht, ist der Direktspeicherzugriff-Einheit
zugewiesen.
-
Der
digitale Signalprozessor hat größere Zuständigkeiten
bei der Verarbeitung übernommen. Nicht
nur, dass der Bedarf an Geschwindigkeit unvermindert bleibt, sondern
gleichzeitig entstand die Anforderung, Signalgruppen mit einer umfangreicheren Auswahl
von externen Vorrichtungen auszutauschen. Zum Beispiel ist es in
einer digitalen Signalverarbeitungseinheit, die mehrere digitale
Signalprozessoren besitzt, häufig
notwendig, zwischen den digitalen Signalprozessoren, die Teil derselben
digitalen Signalverarbeitungseinheit sind, zu kommunizieren. Obwohl
diese Kommunikation über
den seriellen Port durchgeführt
werden kann, hat sich diese Betriebsart als schwerfällig und
langsam erwiesen. Gleichermaßen
kann ein Host-Mikrocontroller, wenn der Austausch von Signalgruppen
mit dem digi talen Signalprozessor erforderlich ist, den seriellen
Port zur Kommunikation mit einem digitalen Signalprozessor auf Kosten
der Betriebseffizienz verwenden. Zusätzlich sind die Adressierungs-Betriebsarten,
die sowohl in der Speichereinheit (z. B. die Zirkulärpuffer-Betriebsart),
als auch im seriellen Port (z. B. die Sortierbetriebsart) implementiert
sind, zunehmend komplex geworden. Jede dieser anwachsenden Berechnungs-Komplexitäten hat
das Potential, die Leistung des Mikrocontrollers zu untergraben.
-
Deshalb
lässt sich
ein Bedarf an einer Vorrichtung und einem zugeordneten Verfahren
feststellen, welche das Merkmal besitzen, dass die Übertragung
von Signalgruppen zwischen Komponenten eines digitalen Signalprozessors
ohne die aktive Teilnahme, jedoch unter der Steuerung der Kern-Verarbeitungseinheit
ausgeführt
wird. Ein zweites Merkmal der Vorrichtung und des Verfahrens würde darin
bestehen, dass die Steuerung der Signalgruppenübemagung im digitalen Signalprozessor
im Direktspeicherzugriff-Controller untergebracht ist. Ein nochmals
weiteres Merkmal der Vorrichtung und des zugeordneten Verfahrens
würde in
der Flexibilität
bei der Kopplung der Quell- und Zielkomponenten bestehen, die bei
der Übertragung
von Signalgruppen einbezogen sind. Ein nochmals weiteres Merkmal
der Vorrichtung und des zugeordneten Verfahrens wäre es, zu
priorisieren und Konflikte bei der Übertragung von Signalgruppen
in der digitalen Signalverarbeitungseinheit zu verhindern. Ferner
würde ein
nochmals weiteres Merkmal der Vorrichtung und des zugeordneten Verfahrens
darin bestehen, die Übertragung
von Signalgruppen mit Komponenten außerhalb des digitalen Signalprozessors
zu erlauben. Ein nochmals weiteres Merkmal der Vorrichtung und des zugeordneten
Verfahrens wäre
es, Flexibilität
bei den Adressierungs-Betriebsarten zu schaffen, die dem Direktspeicherzugriff-Controller
zur Verfügung
stehen.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
Erfindung schafft einen Direktspeicherzugriff-Controller, eine digitale
Signalverarbeitungseinheit und ein Verfahren, wie in den Ansprüchen dargelegt.
-
KURZBESCHREIBUNG DER ZEICHNUNG
-
Für ein umfassenderes
Verständnis
der vorliegenden Erfindung und deren Vorteile wird nun verwiesen
auf die folgende ausführliche
Beschreibung von bestimmten besonderen und erläuternden Ausführungsformen
sowie deren Merkmalen und Aspekten, lediglich beispielhaft und mit
Verweis auf die Figuren der beigefügten Zeichnung, worin:
-
1 ein
Blockschaltplan einer digitalen Signalverarbeitungseinheit entsprechend
dem Stand der Technik ist.
-
2 ein
Blockschaltplan einer neueren Ausführungsform einer digitalen
Signalverarbeitungseinheit ist.
-
3 ein
Blockschaltplan einer bevorzugten Ausführungsform eines digitalen
Signalprozessors entsprechend der vorliegenden Erfindung ist.
-
4 ein
Blockschaltplan eines Direktspeicherzugriff-Controllers ist, der
zur vorteilhaften Ausnutzung der vorliegenden Erfindung geeignet
ist.
-
5 die
Arbeitsweise der Kanäle
entsprechend der vorliegenden Erfindung veranschaulicht.
-
Der
Gebrauch von gleichen Bezugszeichen in unterschiedlichen Zeichnungen
weist auf ähnliche oder
völlig
gleiche Elemente hin.
-
AUSFÜHRLICHE
BESCHREIBUNG DER FIGUREN
-
1 wurde
bereits in Bezug auf den Stand der Technik diskutiert.
-
Der
erste Schritt zur Verringerung der Zuständigkeit in der Verarbeitung
ist es, die Zuständigkeit
für den
Austausch von Signalen zwischen der Speichereinheit und dem seriellen
Port dem Direktspeicherzugriff-Controller zu übertragen. In 2 besitzt
der digitale Signalprozessor 20 eine Kern-Verarbeitungseinheit 12,
einen Direktspeicherzugriff-Controller, eine Speichereinheit 16 und
einen seriellen Port 18, also die gleichen Komponenten
wie die digitalen Signalprozessoren des Standes der Technik nach 1.
Der Unterschied zwischen den Ausführungs formen in 1 und 2 ist
wie folgt: In 1 steuert der Direktspeicherzugriff-Controller 14 den
Austausch von Signalgruppen zwischen der Speichereinheit 16 und
der Kern-Verarbeitungseinheit 12. In 2 steuert
der Direktspeicherzugriff-Controller 24 nicht nur den Austausch
von Signalgruppen zwischen der Speichereinheit 16 und der Kern-Verarbeitungseinheit 12,
sondern er steuert auch den Austausch von Signalgruppen zwischen dem
seriellen Port 18, der Hostprozessor-Schnittstelleneinheit 25,
und der Prozessor-Prozessor-Schnittstelleneinheit 23. Verglichen
mit der Implementierung in 1 wird die
Kern-Verarbeitungseinheit 12 durch diese
Implementierung von Verarbeitungszuständigkeiten für den seriellen
Port entlastet, wie in 1 gezeigt ist. Wegen der großen Anzahl
möglicher Adressierungs-Betriebsarten,
d. h. Rahmenbetriebsart, Zirkulärpuffer-Betriebsart
und Sortierbetriebsart, kann die Übertragung der Zuständigkeit
für die
Steuerung des Austausches von Signalgruppen zwischen dem seriellen
Port und der Speichereinheit signifikant sein.
-
Als
nächstes
ist in 3 ein Blockschaltplan eines digitalen Signalprozessors 30 gemäß der bevorzugten
Ausführungsform
der Erfindung gezeigt. Die Kern-Verarbeitungseinheit 31 führt die
hauptsächlichen
Verarbeitungsfunktionen des digitalen Signalprozessors 30 aus.
Die Kern-Verarbeitungseinheit 31 ist im Allgemeinen sowohl
hardware- als auch softwaremäßig daraufhin
optimiert, eine begrenzte Anzahl von Prozessfunktionen äußerst effizient
auszuführen.
Die Speichereinheit 36 speichert die Signalgruppen, welche
die Kern-Verarbeitungseinheit für
die Prozessfunktionen benötigt.
Der serielle Port 37 tauscht Signalgruppen mit Komponenten
außerhalb
der digitalen Signalverarbeitungseinheit aus. Die Rhea-Brückeneinheit 33 schafft
eine Schnittstelle zwischen einer Speicherabbild-Registerbank in
der Kern-Verarbeitungseinheit 31 und Steuer-(Kontext-)Registern
im Direktspeicherzugriff-Controller 32. Die Host-Port-Schnittstelleneinheit 34 tauscht
Signalgruppen mit externen Komponenten, typischerweise einem Mikrocontroller,
aus. Der Direktspeicherzugriff-Controller 36 tauscht Signale
mit dem seriellen Port 37 aus. Der Direktspeicherzugriff-Controller 36 gibt
Signalgruppen in den Multiplexer 38 ein und empfängt Signale
von der Schalteinheit 37. Die Host-Port-Schnittstelleneinheit 34 gibt
Signale in die Multiplexereinheit 38 ein und empfängt Signalgruppen
von der Schalteinheit 39. Die Schalteinheit 39 und
die Multiplexereinheit 38 empfangen Steuersignale vom Direktspeicherzugriff-Controller 32.
Der Direktspeicherzugriff-Controller 32 empfängt ein HPIREQ-Signal von der Host-Port-Schnittstelleneinheit 34.
Die Prozessor-Prozessor-Schnittstelleneinheit 35 erlaubt
die Übertragung
von Signalgruppen zwischen digitalen Signalprozessoren, die als
Teil der digitalen Signalverarbeitungseinheit hergestellt sind. Die
Prozessor-Prozessor-Schnittstelleneinheit 35 gibt ein TXEMPTY-Signal
in den Direktspeicherschnittstellen-Controller 32 im selben
digitalen Signalprozessor, in dem sich auch der Direktspeicherzugriff-Controller 32 befindet,
ein. In Reaktion darauf gibt der Direktspeicherzugriff-Controller 32 die
angeforderten Signalgruppen in die Prozessor-Prozessor-Schnittstelleneinheit 35 ein,
wobei die Signalgruppen vorher in der Speichereinheit 36 gespeichert waren.
Die Prozessor-Prozessor-Schnittstelleneinheit 35 sendet
ein RXFULL-Signal an die Direktspeicherzugriff-Einheit 35' des digitalen
Signalprozessors, der die Signalgruppe(n) angefordert hat. Die Direktspeicherzugriff-Einheit 35 des
digitalen Signalprozessors 30 empfängt ein TXFULL-Signal von der Prozessor-Prozessor-Schnittstelleneinheit 35' des anderen
digitalen Signalprozessors. In Reaktion auf dieses TXFULL-Signals
wird die in der Prozessor-Prozessor-Schnittstelleneinheit 35' gespeicherte Signalgruppe
durch den Direktspeicherzugriff-Controller 32 in die Speichereinheit 36 übertragen.
Die Signalgruppenübertragung
von einem digitalen Signalprozessor zum anderen wird durch ein Interrupt-Signal
initiiert, das von der anfordernden digitalen Signalverarbeitungseinheit
in die Kern-Verarbeitungseinheit jenes digitalen Signalprozessors
eingegeben wird, der die angeforderte Signalgruppe speichert.
-
In 4 ist
ein Blockschaltplan eines Direktspeicherzugriff-Controllers 32 gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung gezeigt. Der Direktspeicherzugriff-Controller 32 umfasst einen
DMA-Isolations-Multiplexer 321, eine Taktpuffereinheit 322,
eine Arbitrierungseinheit 323, eine Interruptmultiplexeinheit 324,
eine Zustandssteuereinheit 325 und eine PSA-Einheit 326.
Der DMA-Isolations-Multiplexer 321 umfasst die Logik-Komponenten zum
Isolieren der Eingangssignale in den Direktspeicherzugriff-Controller 32 und wird
für Testzwecke
genutzt. Die Taktpuffereinheit 322 enthält die Logik, um den Versatz
des externen Taktsignals (d. h. zum digitalen Signalprozessor) zu
korrigieren. Das Taktsignal wird dann überall in der Direktspeicherzugriff-Einheit 32 verteilt.
Die Interruptmultiplexeinheit 324 schafft synchrone Interruptsignale
für die
Kern-Verarbeitungseinheit des digitalen Signalprozessors 30.
Die Arbitrierungseinheit 323 umfasst Vorrichtungen, die auf
Versuche, die Steuerung über
einen der Kanäle zu
erlangen, reagieren, um den Nutzer des Kanals auszuwählen. Die
PSA-Einheit 326 ist ein Rechner zum Testen und Debuggen
der Direktspeicherzugriff-Einheit 32. Die Zustandssteuereinheit 325 wählt den
Zustand (die Konfiguration) des Direktspeicherzugriff-Controllers
aus und gibt die Steuersignale ein, welche die Konfiguration der
Maschine implementieren. Die Zustandssteuereinheit 325 empfängt Signale
von der Arbitrierungseinheit 323, die den Zustand des Direktspeicherzugriff-Controllers 323 während der Übertragung
von Signalgruppen festlegt. Die Arbitrierungseinheit empfängt das
TXEMPTY-Signal, das RXFULL-Signal und das HPIREQ-Signal. Diese Signale
werden entsprechend einer im Voraus gewählten Prioritätenliste
mit konkurrierenden Anforderungen nach der Steuerung der Übertragung
der Signalgruppen durch den Direktspeicherzugriff-Controller 32 verglichen,
wobei die Ergebnisse der Zustandssteuereinheit für die passende Erzeugung von Steuersignalen
mitgeteilt werden. In der Kanaleinheit 326 werden die übertragenen
Signalgruppen getrennt vom DMA-Bus
gezeigt. Diese Trennung ist gezeigt, um die Arbeitsweise der Kanaleinheit 326 zu erklären. Der
DMA-Bus 328 transportiert nicht nur Steuersignalgruppen
und Adresssignalgruppen, sondern auch jene Signalgruppen, die zwischen
Komponenten der digitalen Signalverarbeitungseinheit 30 ausgetauscht
werden.
-
In 5 ist
die Arbeitsweise der Kanaleinheiten 349 der Direktspeicherzugriff-Einheit
veranschaulicht. Die Kanaleinheiten 349 umfassen mehrere
Kanäle,
wovon ein Kanal in 6 gezeigt ist.
Multiplexer 61 ist an die Eingangsanschlüsse aller
Quellkomponenten der Signalgruppen gekoppelt. Wie in 6 gezeigt, umfassen die Quellkomponenten
die Speichereinheit 16, den seriellen Port 18,
die Kern-Verarbeitungseinheit 12 und die Prozessor-Prozessor-Schnittstelleneinheit 31'. Es wird angemerkt, dass
die Eingangsanschlüsse
mit der Direkt speicherzugriff-Einheit 34' des zweiten digitalen Signalprozessors 30' gekoppelt sind.
Steuersignale vom DMA-Bus 347 wählen die Quellkomponente aus,
die durch die Multiplexereinheit 61 übertragen werden soll. Die
durch die Multiplexereinheit 61 übertragenen Signalgruppen werden
in die Registerbank 63 eingegeben und darin gespeichert.
Die in der Registerbank 63 gespeicherte Signalgruppe wird
in die Schalteinheit 65 eingegeben. In Reaktion auf Steuersignale vom
DMA-Bus 349 überträgt die Schalteinheit 65 die Signalgruppe
und gibt die Signalgruppe in eine mögliche Zielkomponente ein,
d. h. in die Speichereinheit 16, den seriellen Port 18,
die Kern-Verarbeitungseinheit 12 oder die Schnittstelleneinheit 31,
die mit dem digitalen Signalprozessor 30 verbunden ist,
in dem sich die Kanaleinheiten 349 befinden. Obwohl in
der bevorzugten Ausführungsform
sechs programmierbare Kanäle
verfügbar
sind, ist immer nur jeweils einer aktiv. In Bezug auf die Host-Port-Schnittstelleneinheit 34 werden
die Signalgruppen direkt mit der Speichereinheit ausgetauscht und
nicht durch die Kanaleinheit 324 übertragen.
-
Wie
oben angegeben worden ist, vergrößerte der
Direktspeicherzugriff, wie angenommen, die Zuständigkeit für die Übertragung von Signalgruppen.
Während
die Kern-Verarbeitungseinheit die letztendliche Steuerung der Übertragung
der Signalgruppen besitzt, wurden die Routineaktivitäten der Signalgruppenübertragung
in den Direktspeicherzugriff-Controller verlegt. Ursprünglich schuf
der Direktspeicherzugriff-Controller die Schnittstelle zwischen der
Kern-Verarbeitungseinheit und der Speichereinheit. In der bevorzugten
Ausführungsform
der vorliegenden Erfindung steuert der Controller der Direktspeicherzugriff-Einheit
nahezu jede Signalgruppenübertragung
oder ist daran beteiligt. In Bezug auf den Austausch von Signalen
zwischen dem seriellen Port und der Speichereinheit müssen Adressierungsbetriebsarten
zur Verfügung
gestellt werden. Diese Adressierungsbetriebsarten, d. h. die Rahmenbetriebsart,
die Zirkulärpuffer-Betriebsart
und die Sortierbetriebsart, sowie die Vorrichtung zur Implementierung
dieser Adressierungsbetriebsarten sind beschrieben in der gleichzeitig
anhängigen
US-Patentanmeldung mit dem Titel APPARATUS AND METHOD FOR ADDRESS
MODIFICATION IN A DIRECT MEMORY ACCESS CONTROLLER, wie oben zi tiert.
In Bezug auf die Host-Port-Schnittstelleneinheit sind die Kanäle im Direktspeicherzugriff-Controller
nicht direkt in die Signalgruppenübertragung eingebunden. Jedoch
schafft der Direktspeicherzugriff-Controller die Steuersignale,
um sicherzustellen, dass die Übertragung
von Signalgruppen zwischen Host-Port-Prozessor und der Speichereinheit
nicht in Konflikt mit anderen Signalgruppenübertragungen im digitalen Signalprozessor
kommen. In Bezug auf die Prozessor-Prozessor-Signalgruppenübertragungen werden
diese Übertragungen
in der Tat so implementiert, dass die Kanaleinheit für die eigentliche Übertragung
genutzt wird. In alle Übertragungen
ist die Arbitrierungseinheit dahingehend eingebunden, dass die Signalübertragung
mit der höchsten
Priorität
zuerst verarbeitet wird. In einer bestimmten Anwendung der vorliegenden
Erfindung kann die digitale Signalverarbeitungseinheit unter der
Gesamtsteuerung eines Mikrocontrollers arbeiten. Daher ist es wichtig, dass
die Kommunikation mit dem Mikrocontroller Vorrang über die
anderen Signalgruppenübertragungen einnimmt.
-
Obwohl
die Erfindung mit Bezug auf die oben dargelegten Ausführungsformen
beschrieben worden ist, ist die Erfindung nicht notwendigerweise
auf diese Ausführungsformen
eingeschränkt.
Dementsprechend liegen andere Ausführungsformen, Abwandlungen
und Verbesserungen, die hier nicht beschrieben worden sind, nicht
notwendigerweise außerhalb
des Umfangs der Erfindung, der in den folgenden Ansprüchen festgelegt
ist.