-
TECHNISCHES
GEBIET DER ERFINDUNG
-
Diese
Erfindung bezieht sich im Allgemeinen auf Datenverarbeitungsvorrichtungen
und insbesondere auf die spezialisierten Hochleistungs-Prozessoreinheiten,
die im Allgemeinen als digitale Signalverarbeitungseinheiten bezeichnet
werden. Die Erfindung bezieht sich genauer auf die Adressierung
der Signalgruppen im Zeitmultiplexformat.
-
HINTERGRUND
DER ERFINDUNG
-
Digitale
Signalverarbeitungseinheiten sind als spezialisierte Datenverarbeitungseinheiten
entwickelt worden. Diese Einheiten sind optimiert, um immer gleichbleibende,
wenn auch komplexe Operationen mit großem Wirkungsgrad auszuführen. Für viele Anwendungen
müssen
die Berechnungen in Echtzeit ausgeführt werden. Um die für das digitale
Signal erforderliche Rechengeschwindigkeit zu erreichen, sind die
digitalen Signalverarbeitungseinheiten optimiert, um die spezifizierte(n)
Verarbeitungsoperation(en) mit großem Wirkungsgrad auszuführen. Außerdem sind
viele der Funktionen, die durch eine universelle Zentraleinheit
ausgeführt
werden würden, beseitigt,
oder die Funktionen werden außerhalb
der Kernverarbeitungseinheit ausgeführt.
-
In 1 ist
eine digitale Signalverarbeitungseinheit 1 gemäß dem Stand
der Technik, die zwei digitale Signalprozessoren besitzt, gezeigt.
Ein erster digitaler Signalprozessor 10 enthält eine
Kernverarbeitungseinheit 12 (die häufig als ein Verarbeitungskern
bezeichnet wird), eine Direktspeicherzugriff-Einheit 14,
eine Speichereinheit oder Speichereinheiten 16 und einen
seriellen Anschluss oder serielle Anschlüsse 18. Die Speichereinheit 16 speichert die
Signalgruppen, die zu verarbeiten sind oder die die Verarbeitung
der Signalgruppen unterstützen,
die durch die Kernverarbeitungseinheit 12 zu verarbeiten sind.
Die Kernverarbeitungseinheit 12 führt die Masse der Verarbeitung
der Signalgruppen in der Speichereinheit aus. Die Direktspeicherzugriff-Einheit 14 ist
an die Kernverarbeitungseinheit 12 und an die Speichereinheit 16 gekoppelt,
wobei sie den Austausch der Signalgruppen zwischen ihnen vermittelt. Der
serielle Anschluss 18 tauscht die Signalgruppen mit den
bezüglich
der digitalen Signalverarbeitungseinheit 1 externen Komponenten
aus. Die Kernverarbeitungseinheit 12 ist an den seriellen
Anschluss 18 und an die Speichereinheit 16 gekoppelt,
wobei sie den Austausch der Signalgruppen zwischen diesen Komponenten
steuert.
-
Der
digitale Signalprozessor ist typischerweise so konstruiert und implementiert,
dass er eine eingeschränkte
Funktionalität
besitzt, aber die Funktionen besitzt, die wiederholt und schnell
ausgeführt werden
müssen.
Die Berechnung der schnellen Fourier-Transformation und die Decodierung
des Viterbi-Algorithmus sind zwei Beispiele, wo digitale Signalprozessoren
mit großem
Nutzen verwendet worden sind. Um sicherzustellen, dass die digitalen
Signalprozessoren mit hohem Wirkungsgrad arbeiten, ist die Kernverarbeitung
im Allgemeinen für
die Ausführung
der eingeschränkten
Funktionalität
optimiert. Ein Teil des Optimierungsprozesses umfasst die Auslagerung
im möglichen
Umfang jeder Verarbeitung, die nicht auf die optimierte Funktion
gerichtet ist. Der Austausch der Signalgruppen, der die Kernverarbeitungseinheit
und die Speichereinheit einschließt, ist der Direktspeicherzugriff-Einheit
zugewiesen worden.
-
Vor
kurzem ist die Direktspeicherzugriff-Steuereinheit implementiert
worden, um den Austausch der Datengruppen zwischen dem seriellen
Anschluss und der Speichereinheit zu steuern. In 2 besitzt
der digitale Signalprozessor 10 eine Kernverarbeitungseinheit 12,
eine Direktspeicherzugriff-Steuereinheit 24, eine Speichereinheit 16 und
einen seriellen Anschluss 18, die gleichen Komponenten
wie in den in 1 gezeigten digitalen Signalprozessoren
des Standes der Technik. Der Unterschied zwischen den Ausführungsformen
in 1 und 2 ist wie folgt. In 1 steuert
die Direktspeicherzugriff-Steuereinheit 14 den Austausch
der Signalgruppen zwischen der Speichereinheit 16 und der Kernverarbeitungseinheit 12.
In 2 steuert die Direktspeicherzugriff-Steuereinheit 24 nicht
nur den Austausch der Signalgruppen zwischen der Speichereinheit 16 und
der Kernverarbeitungseinheit 12, sondern sie steuert außerdem den
Austausch der Signalgruppen zwischen der Speichereinheit 16 und
dem seriellen Anschluss 18. Bei dieser Implementierung ist
die Kernverarbeitungseinheit 12 im Vergleich zur in 1 gezeigten
Implementierung von weiteren Verarbeitungsverpflichtungen entlastet.
Die an den seriellen Anschluss angelegten Signalgruppen können z.
B. verschiedene Adressierungsformate besitzen. Folglich kann die
Kernverarbei tungseinheit 12 für spezifische Verarbeitungsoperationen
weiter optimiert sein, ohne für
diese Verarbeitungsfunktionen sorgen zu müssen. Die Direktspeicherzugriff-Steuereinheit 24 kann
für mehrere
steuerbare Schalter verallgemeinert werden. Die Schalter schaffen
steuerbare Kanäle
für die Übertragung
von Signalen zwischen den Komponenten. (In der bevorzugten Ausführungsform
der digitalen Signalprozessoren sind typischerweise zwei Speichereinheiten
und zwei serielle Anschlüsse
vorhanden. Folglich ist eine größere Anzahl
von Kanälen
vorgesehen. In der bevorzugten Ausführungsform sind in der Direktspeicherzugriff-Steuereinheit 24 sechs
Kanäle
verfügbar.)
-
Die Übertragung
von Signalgruppen zwischen einer digitalen Signalverarbeitungseinheit
und einer externen Komponente nimmt häufig die Form einer Zeitmultiplexfolge
von Signalgruppen an. Zwei Beispiele der Zeitmultiplexübertragung
von Signalgruppen werden als ein T1-Protokoll (USA), das 24 Elemente
pro Rahmen besitzt, und ein E1-Protokoll (Europa), das 32 Elemente
pro Rahmen besitzt, bezeichnet. In 3 ist eine
Veranschaulichung der Organisation des E1-Protokolls veranschaulicht. Wie in 3 angegeben
ist, werden die Daten in Blöcken von
Signalgruppen übertragen
(d. h., es sind vier Elemente pro Block gezeigt). Die Blöcke von
Signalgruppen besitzen die gleiche Anzahl von Signalgruppen wie
ein Rahmen von Signalgruppen, aber die Organisation ist unterschiedlich.
Der erste Block enthält
z. B. die Elemente an der gleichen Position von jedem Rahmen. Der
erste Block von Elementen enthält
im US-Protokoll das Element 0 aus jedem Rahmen. Mit anderen Worten,
der erste (0) Block von übertragenen
Signalgruppen ist: Rahmen 0, Element 0; Rahmen 1, Element 0, bis
Rahmen 23, Element 0. Der nächste
Block (1) von übertragenen
Signalgruppen enthält:
Rahmen 0, Element 1; Rahmen 1, Element 1; Rahmen 2, Element 1; bis
Rahmen 23, Element 1. Der letzte Block (23) von übertragenen Signalgruppen ist:
Rahmen 0, Element 23; Rahmen 1, Element 23; bis Rahmen 23, Element
23.
-
Die
in dieser Weise übertragenen
Signalgruppen sind für
die Verarbeitung nicht geeignet. Diese Signalgruppen müssen in
Rahmen von Elementen sortiert werden, in denen jeder Rahmen in Beziehung stehende
Elemente enthält,
die in der numerischen Reihenfolge vorliegen und in der Speichereinheit 16 gespeichert
sind. In dieser Weise sind die Signalgruppen für die Kernverarbeitungseinheit 12 leicht verfügbar.
-
Es
ist deshalb ein Bedarf an einer Vorrichtung und einem zugeordneten
Verfahren verspürt worden,
die ein Merkmal besitzen, dass die Adressen der mit einem Zeitmultiplexprotokoll übertragenen
Signalgruppen modifiziert und in Adressen sortiert werden können, die
für die
Verarbeitung durch die digitale Signalverarbeitungseinheit geeignet
sind. Diese Sortieradressen-Betriebsart würde das weitere Merkmal besitzen,
dass die Adressen der Signalgruppen modifiziert werden würden und
dass jede Signalgruppe von einem Rahmen in der Reihenfolge gespeichert
werden würde.
Es ist ein noch weiteres Merkmal der vorliegenden Erfindung, dass
die Adressierungsprozedur in der Sortier-Betriebsart schnell ausgeführt werden
kann.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
Erfindung ist durch den unabhängigen Anspruch
1 definiert. Die obenerwähnten
und weitere Merkmale werden gemäß der vorliegenden
Erfindung erreicht, indem eine Adressenvorrichtung geschaffen wird,
die mit einer effizienten Sortier-Betriebsart implementiert ist.
In der Sortier-Betriebsart werden die Elemente von übertragenen
Zeitmultiplex-Signalgruppen zuerst in der Rahmenreihenfolge und
innerhalb jedes Rahmens in der Elementreihenfolge adressiert. Die
Adressierungsvorrichtung führt diese
Sortierung durch das Adressieren des ersten Elements im ersten Block
der übertragenen
Elemente, dann das Adressieren des ersten Elements im zweiten Block
der übertragenen
Daten, dann das Adressieren des ersten Elements im dritten Block usw.
aus, bis das erste Element in jedem der Blöcke adressiert worden ist.
In dieser Weise sind die Elemente des ersten Rahmens in der richtigen
sequentiellen Reihenfolge adressiert worden. Als Nächstes wird
das zweite Element des ersten Blocks der übertragenen Daten adressiert,
wobei anschließend
alle zweiten Elemente in den aufeinanderfolgenden Rahmen adressiert
werden. In dieser Weise werden die Elemente des zweiten Rahmens
sequentiell adressiert. Die Prozedur wird fortgesetzt, bis alle
Elemente in allen Blöcken
sequentiell adressiert worden sind, d. h. alle Elemente in die Rahmen
sortiert worden sind. Die Adressierungsvorrichtung führt diesen
Sortierprozess mit der Basisadresse und zwei Parametern aus. Der
erste Parameter ist die Länge
jedes Blockes von Elementen, wobei er als der Elementindex bezeichnet
wird. Der zweite Parameter ist die ({Anzahl der Rahmen – 1) mal
die Anzahl der Elemente pro Rahmen} – 1, wobei er als der Rahmenindex
bezeichnet wird.
-
KURZBESCHREIBUNG
DER ZEICHNUNG
-
Für ein vollständigeres
Verständnis
der vorliegenden Erfindung und ihrer Vorteile wird nun auf die folgende
ausführliche
Beschreibung bestimmter besonderer und veranschaulichender Ausführungsformen
und ihrer Merkmale und Aspekte lediglich beispielhaft und unter
Bezugnahme auf die Figuren der beigefügten Zeichnung Bezug genommen,
worin:
-
1 ein
Blockschaltplan einer digitalen Signalverarbeitungseinheit gemäß dem Stand
der Technik ist;
-
2 ein
Blockschaltplan einer neueren Ausführungsform einer digitalen
Signalverarbeitungseinheit ist;
-
3 eine
Veranschaulichung einer Zeitmultiplexorganisation für die Übertragung
von Informationen ist;
-
4 ein
Blockschaltplan einer bevorzugten Ausführungsform eines digitalen
Signalprozessors ist, der die vorliegende Erfindung verwenden kann;
-
5 ein
Blockschaltplan einer Direktspeicherzugriff-Steuereinheit ist, die
die vorliegende Erfindung vorteilhaft verwenden kann;
-
6 ein
Blockschaltplan für
das Rekonstruieren oder Sortieren der in einem Zeitmultiplexprotokoll übertragenen
Signalgruppen in einer digitalen Signalverarbeitungseinheit gemäß der vorliegenden Erfindung
ist;
-
7 die
Definition des Elementindex und des Rahmenindex gemäß der vorliegenden
Erfindung veranschaulicht; und
-
8 eine
graphische Darstellung der Schaltungselemente der bevorzugten Ausführungsform
der Adresseneinheit der Direktspeicherzugriff-Steuereinheit ist, die die vorliegende
Erfindung enthält.
-
Die
Verwendung der gleichen Bezugszeichen in verschiedenen Zeichnungen
gibt ähnliche oder
völlig
gleich Elemente an.
-
AUSFÜHRLICHE
BESCHREIBUNG DER FIGUREN
-
1, 2 und 3 sind
in Bezug auf den Hintergrund der Erfindung erörtert worden.
-
In 4 ist
ein Blockschaltplan eines digitalen Signalprozessors 30 gemäß der bevorzugten Ausführungsform
der Erfindung gezeigt. Die Kernverarbeitungseinheit 31 führt die
Hauptverarbeitungsfunktionen des digitalen Signalprozessors 30 aus. Die
Kernverarbeitungseinheit 31 ist im Allgemeinen sowohl in
Hardware als auch in Software optimiert, um eine eingeschränkte Anzahl
von Verarbeitungsfunktionen äußerst effizient
auszuführen.
Die Speichereinheit 36 speichert die Signalgruppen, die
die Kernverarbeitungseinheit für
die Verarbeitungsfunktionen benötigt.
Der serielle Anschluss 37 tauscht die Signalgruppen mit
den Komponenten außerhalb
der digitalen Signalverarbeitungseinheit aus. Die Rhea-Brückeneinheit 33 schafft
eine Schnittstelle zwischen einer speicherkonformen Registerbank
in der Kernverarbeitungseinheit 31 und den Steuerregistern
(Kontextregistern) in der Direktspeicherzugriff-Steuereinheit 32.
Eine Adressendecodiereinheit 35 schafft eine Schnittstelle
mit der Speichereinheit 36 und dem seriellen Anschluss 37.
Die Hostprozessor-Schnittstelleneinheit 34 schafft eine
Schnittstelle zur Speichereinheit 36 und zum seriellen
Anschluss 37. Die Direktspeicherzugriff-Steuereinheit 32 besitzt eine
Schnittstelle mit der Kernverarbeitungseinheit 31, der
Rhea-Brückeneinheit 33,
der Host-Schnittstelleneinheit 34, der Adressendecodiereinheit,
der Speichereinheit 36 und dem seriellen Anschluss 37. Außerdem kann
die Direktspeicherzugriff-Steuerung 32 Prüfsignale
und Unterbrechungssignale empfangen. Die Direktspeicherzugriff-Steuereinheit 32 führt die
Funktionen des Steuerns des Austauschs von Signalgruppen zwischen
der Kernverarbeitungseinheit 31 und der Speichereinheit 36 aus.
Außerdem
steuert die Direktspeicherzugriff-Steuereinheit 32 den Austausch
von Signalgruppen zwischen dem seriellen Anschluss 37 und
der Speichereinheit 36. Bei der Steuerung dieses Austauschs
von Signalgruppen ist die Kernverarbeitungseinheit 31 von
diesen Verarbeitungsfunktionen entlastet, wobei sie deshalb die Funktionen,
für die
die Kernverarbeitungseinheit 31 optimiert worden ist, effizienter
ausführen
kann.
-
In 5 ist
ein Blockschaltplan der Hauptkomponenten einer Direktspeicherzugriff-Steuereinheit 32 gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung gezeigt. Die Direktspeicherzugriff-Steuereinheit
enthält
den DMA-Trennmultiplexer 321,
eine Taktpuffereinheit 322, eine Arbitrierungs-Einheit 323,
eine Unterbrechungs-Multiplexeinheit 324, eine Zustandssteuereinheit 325,
eine Kanaleinheit 326, eine PSA-Einheit 326 und
einen DMA-Bus 328. Der DMA-Trennmultiplexer 321 enthält die Logikkomponenten,
um die Eingangssignale für
die Direktspeicherzugriff-Steuereinheit 32 für die Prüfung zu
isolieren. Die Taktpuffereinheit 322 enthält die Logik,
um den Zeitversatz des externen Taktsignals (d. h. des bezüglich des
digitalen Signalprozessors externen Taktsignals) zu korrigieren.
Das Taktsignal wird dann überall
in der Direktspeicherzugriff-Einheit 32 verteilt. Die Unterbrechungs-Multiplexereinheit 324 schafft
synchrone Unterbrechungen für
die Kernverarbeitungseinheit des digitalen Signalprozessors. Die
Arbitrierungs-Logik 323 enthält eine Vorrichtung, die auf
die Bewerbungen für
die Steuerung von einem der Kanäle
anspricht, um einen Anwender der Kanaleinheit 326 und des
DMA-Busses 328 auszuwählen.
Die PSA-Einheit 326 ist ein Rechner zum Prüfen und
zum Austesten der Direktspeicherzugriff-Steuereinheit 32.
Die Zustandssteuereinheit 325 wählt den Zustand (die Konfiguration)
der Direktspeicherzugriff-Steuereinheit und legt die Steuersignale
an, die die Maschinenkonfiguration implementieren. Die Zustandssteuereinheit 325 enthält die Adresseneinheit 50,
die im Folgenden erörtert
wird. Der DMA-Bus 328 enthält die Signalgruppen, die Steuersignalgruppen
und die Adressensignalgruppen, die durch die Zustandssteuereinheit 325 bestimmt
werden.
-
In 6 ist
die Adressierungsvorrichtung 60 zum Rekonstruieren oder
Sortieren der ankommenden Zeitmultiplexdaten in Rahmen oder Blöcke von Daten,
die für
den Zugriff durch eine Direktspeicher-Steuereinheit 34 effizienter
sind, gezeigt. In 7 ist 3 reproduziert,
wobei die Begriffe Rahmenindex und Elementindex gezeigt sind. Der
Rahmenindex und der Elementindex sind Parameter, die in der Adressierungsvorrichtung
nach 6 verwendet werden. Der Elementindex ist die Anzahl
von Elementen in einem Block des übertragenen Elements, aber
der Elementindex ist außerdem
die Anzahl der Elemente von einer Elementnummer in einem Block zur
gleichen Elementnummer im nachfolgenden Block. Der Rahmenindex ist
die Anzahl der Elemente von einem Element n im letzten Block von
Elementen zum Element n – 1
im ersten Block von Elementen. Der Elementindex n ist im Elementindex-Register 63 gespeichert,
während
der Rahmenindex im Rahmenindex-Register 62 gespeichert
ist. Wie klar ist, besitzt die Rahmenindex-Signalgruppe das entgegengesetzte
Vorzeichen zur Elementindex-Signalgruppe. Eine neue Adresse ist
im Neuadressen-Register 67 gespeichert, während die
Basisadresse im Basisadressen-Register 61 gespeichert ist.
Die Inhalte des Rahmenindex-Registers 62 und
des Elementindex-Registers 63 werden an die Schalteinheit 65 angelegt.
Eine Zählereinheit 64 legt
ein Steuersignal an die Schalteinheit 65 an. Die Zählereinheit 64 wird
jedes Mal aktualisiert, wenn durch die Addierereinheit 66 eine
neue Adresse erzeugt wird. Die Zählereinheit 64 erzeugt
einen Zählwert
modulo n, d. h. modulo der Indexnummer. Anhand des Steuersignals
von der Zählereinheit 64 legt
die Schalteinheit entweder die Rahmenindex-Signalgruppe oder die
Elementindex-Signalgruppe an einen ersten Eingangsanschluss der
Addierereinheit 66 an. Ein zweiter Eingangsanschluss der
Addierereinheit 66 empfängt
die Neuadressen-Signalgruppe vom Neuadressen-Register 67.
Der Ausgangsanschluss der Addierereinheit 66 stellt die
aktualisierte oder neue Adresse bereit, wobei diese neue Adresse
die Signalgruppe im Neuadressen-Register 67 ersetzt.
-
In 8 ist
die in 6 veranschaulichte Vorrichtung in der bevorzugten
Ausführungsform
der Adressierungsvorrichtung für
die Direktspeicherzugriff-Steuereinheit 32 enthalten.
In 5 ist ein Blockschaltplan der Adressenmodifikationsvorrichtung 50 gemäß der vorliegenden
Erfindung gezeigt. An die Eingangsanschlüsse des Quelladressenindex-Multiplexers 51 werden
ein logisches 0-Signal, ein logisches +1-Signal, ein logisches –1-Signal,
eine Signalgruppe des Rahmenindex 0, eine Signalgruppe des Elementindex
0, eine Signalgruppe des Rahmenindex 1 und eine Signalgruppe des
Elementindex 1 angelegt. Die Signalgruppen des Rahmenindex und des
Elementindex können
vorzeichenbehaftete Werte sein, werden durch die Sortier-Betriebsart benötigt und
werden im Folgenden ausführlicher
beschrieben. Die an den Quelladressenindex-Multiplexer 51 angelegten
Größen können als
Adressenindexmodifizierer oder Adressen-Offsets betrachtet werden.
Nach einem Zugriff der Direktspeicherzugriff-Steuereinheit wird
die neue Adresse aus der Adressenpufferergebnis-Einheit 59 gelesen.
Ein SOURCE_ADDRESS_INDEX_MODE-Steuersignal und ein TELEMENT-Steuersignal
werden an die Steueranschlüsse
des Quelladressenindex-Multiplexers 51 angelegt. Das TELEMNET-Signal
gibt an, dass das momentane Element das letzte Element der Folge
von Elementen ist. Anhand der an den Quelladressenindex-Multiplexer 51 angelegten
Steuersignale wird eine der an die Eingangsan schlüsse angelegten
Signalgruppen an den Ausgangsanschluss angelegt, wobei sie das INDEX_OFFSET-Signal wird.
-
An
die Eingangsanschlüsse
der Adressenbetriebsart-Bestimmungseinheit 52 werden das SOURCE_ADDRESS_INDEX_MODE-Steuersignal, das
COUNT_MODE-Steuersignal und das DESTINATION_ADDRESS_INDEX_MODE-Steuersignal
angelegt. Diese Steuersignale stellen zusammen die Informationen
bereit, ob die aktuelle Adressierungsbetriebsart eine Rahmen-Betriebsart
oder eine Ringpuffer-Betriebsart ist.
-
An
einen ersten Eingangsanschluss des Adressenmultiplexers 53 wird
die SOURCE_ADRESS-Adressensignalgruppe angelegt, während an
seinen zweiten Eingangsanschluss eine NEW_ADDRESS-Signalgruppe angelegt
wird. An den Steueranschluss der Adressenmultiplexer-Einheit 53 wird
ein Steuersignal angelegt. Das Steuersignal gibt im Wesentlichen
an, ob dies die erste Adresse ist, die in einer Folge zu erzeugen
ist. Die BUFFER_SIZE-Signalgruppe wird an die Adressenpuffermasken-Einheit 54 angelegt.
Die Adressenpuffermasken-Einheit 54 erzeugt anhand der
Größe des Puffers
eine Maske.
-
Die
Ausgangssignale der Adressenbetriebsart-Bestimmungseinheit 52,
des Adressenmultiplexers 53 und der Adressenpuffermasken-Einheit 54 werden
an die Adressenindexeinheit 55 angelegt. Die Adressenindexeinheit 55 erzeugt
eine INDEX-Signalgruppe und eine BASE-Signalgruppe.
-
Die
Adressenpuffer-Mathematikeinheit 56 enthält eine
erste Addierereinheit 561, eine zweite Addierereinheit 562 und
eine dritte Addierereinheit 563. Der Ausgangsanschluss
des Quelladressenindex-Multiplexers 51, das INDEX-OFFSET-Signal, wird
an den ersten Eingangsanschluss des ersten Addierers 561 angelegt.
An den zweiten Anschluss des ersten Addierers 561 wird
das INDEX-Signal von einem Ausgangsanschluss der Adressenindexeinheit 55 angelegt.
Das Ausgangssignal von der ersten Addierereinheit 561,
d. h. ein NEW_INDEX-Signal, wird an den ersten Eingangsanschluss
der zweiten Addierereinheit 562 und an einen ersten Eingangsanschluss
der dritten Addierereinheit 563 angelegt. Die ELEMENT_COUNT-Signalgruppe
wird an einen zweiten Eingangsanschluss der zweiten Addierereinheit 562 und
an einen zweiten Eingangsanschluss der dritten Addierereinheit 563 angelegt.
Die zweite Addierereinheit 562 berechnet das POSITIVE_WRAP-Signal,
das den NEW_INDEX-Wert enthält,
während
die dritte Addierereinheit 563 das NEGATIVE_WRAP-Signal
berechnet, das den NEW_INDEX-Wert enthält.
-
An
die Adressenvergleichseinheit 57 werden das INDEX_OFFSET-Signal
vom Quelladressenindex-Multiplexer 51, das NEW_INDEX-Signal
von der ersten Addierereinheit 561 und die POSITIVE_WRAP-Signalgruppe
von der zweiten Adresseneinheit 562 angelegt. Die Adressenberechnungseinheit 57 erzeugt
zwei Steuersignale und legt diese Signale an die Steueranschlüsse einer
Adressenpuffer-Multiplexereinheit 58 an. Diese zwei Steuersignale
bestimmen, ob die Grenzen des Adressenpuffers überschritten worden sind, und,
falls sie überschritten
worden sind, ob der Pufferumlauf positiv oder negativ ist. Die Eingangsanschlüsse des
Adressenpuffer-Multiplexers 58 empfangen eine NEW_INDEX-Signalgruppe
von der ersten Addierereinheit 561, ein POSITIVE_WRAP-Signal
von der zweiten Addierereinheit 561 und eine NEGATIVE_WRAP-Signalgruppe
von der dritten Addierereinheit 563. Das Ausgangssignal
vom Adressenpuffer-Multiplexer 58 wird an einen ersten
Eingangsanschluss der Adressenpufferergebnis-Einheit 59 angelegt,
während
ein zweiter Eingangsanschluss der Adressenpufferergebnis-Einheit 59 eine
BASE-Ausgangssignalgruppe von der Adressenindexeinheit 55 empfängt. Das
Ausgangssignal der Adressenpuffereinheit 59 ist die NEW_ADDRESS-Signalgruppe.
-
Der
Betrieb der vorliegenden Erfindung kann wie folgt verstanden werden.
Die Signalgruppe im Basisadressen-Register 61 wird in das
Neuadressen-Register 67 geladen.
Weil dies die erste Adresse ist, d. h. Rahmen 0, Element 0, in 3,
wird die Adresse durch die Adresseneinheit 66 nicht modifiziert,
wobei die neue Adresse die Basisadresse ist. Die Basisadresse wird
verwendet, um auf die Signalgruppe des Rahmens 0, Element 0, zuzugreifen.
Die Basisadresse wird im Neuadressen-Register 67 gespeichert,
wobei sie die Basisadresse ersetzt, die bereits vorhanden gewesen
ist. Die neue Adresse wird an den zweiten Eingangsanschluss der
Addierereinheit 66 angelegt. Die Aktivität der Addierereinheit 66 addiert
einen Zählwert
zur Zählereinheit 64.
In Reaktion auf diesen Zählwert
wird ein Steuersignal vom Zähler 64 an
die Schalteinheit 65 angelegt. Dieses Steuersignal führt dazu,
dass die Elementindex-Signalgruppe vom Elementindex-Register 63 durch
die Schalteinheit 65 übertragen
und an den ersten Eingangsanschluss der Addierereinheit 66 angelegt wird.
Die Addierereinheit 66 kombiniert die Signalgruppen an
den zwei Eingangsanschlüssen,
um eine neue Adresse zu schaffen. In 3 ist die
neue Adresse genau die Adresse des Rahmens 0, Element 1, d. h. die
Basisadresse plus den Elementindex. Die nächste Iteration schafft die
Adresse des Rahmens 0, Element 2, wie in 3 gezeigt
ist. Dieser Prozess wird fortgesetzt, bis die neue Adresse die Adresse
des Rahmens 0, Element n, ist. Bei dieser Adresse hat die Zählereinheit
den Zählwert
n erreicht. Beim Zählwert
n wird die Signalgruppe im Rahmenindex-Register 62 durch
die Schalteinheit 61 an die Addierereinheit 66 angelegt.
Die Addition des Rahmenindex und der neuen Adresse (d. h. für den Rahmen
0, Element n) schafft die Adresse für den Rahmen 0, Element 1.
Der Prozess geht weiter, bis alle Elemente (Signalgruppen) adressiert
worden sind.
-
Wie
klar ist, ist die vorangehende Erörterung gültig, wenn der Elementindex
gleich der Anzahl der Blöcke
ist. Wenn die Anzahl der Blöcke
kleiner als der Elementindex ist, kann die Adressierungseinheit
wie oben arbeiten, jedoch die Signalgruppen = 0 werden in die Adresseneinträge gesetzt,
die nicht innerhalb der Grenzen der übertragenen Informationen liegen. In
der Alternative kann die Zählereinheit
auf einen anderen Modulo-Wert gesetzt und kann der Rahmenindex modifiziert
werden, um die geringere Anzahl von Blöcken zwischen dem Anfangsblock
und dem Endblock zu berücksichtigen.
-
Die
vorangehende Beschreibung der Adresseneinheit für eine Sortier-Betriebsart
hat die Beziehungen mehrerer Signalgruppen angegeben. Wie klar ist,
wird der Fluss der Signalgruppen mit dem Takt der Direktspeicherzugriff-Steuereinheit
synchronisiert. Diese Synchronisation ist nicht gezeigt, aber sie
wird durch diejenigen leicht implementiert, die mit der Konzeption
digitaler Signalverarbeitungseinheiten vertraut sind.