DE60125297T2 - Gerät und Verfahren für einen Sortierungmodus in einer Direktspeicherzugriffssteuerung von einer Einrichtung zur digitalen Signalverarbeitung - Google Patents

Gerät und Verfahren für einen Sortierungmodus in einer Direktspeicherzugriffssteuerung von einer Einrichtung zur digitalen Signalverarbeitung Download PDF

Info

Publication number
DE60125297T2
DE60125297T2 DE60125297T DE60125297T DE60125297T2 DE 60125297 T2 DE60125297 T2 DE 60125297T2 DE 60125297 T DE60125297 T DE 60125297T DE 60125297 T DE60125297 T DE 60125297T DE 60125297 T2 DE60125297 T2 DE 60125297T2
Authority
DE
Germany
Prior art keywords
unit
signal
address
digital signal
index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60125297T
Other languages
English (en)
Other versions
DE60125297D1 (de
Inventor
Patrick J. Texas 77027 Smith
Tai H. Texas 77082 Nguyen
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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
Priority claimed from US09/670,667 external-priority patent/US6715058B1/en
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of DE60125297D1 publication Critical patent/DE60125297D1/de
Application granted granted Critical
Publication of DE60125297T2 publication Critical patent/DE60125297T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Bus Control (AREA)

Description

  • 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.

Claims (6)

  1. Digitale Signalverarbeitungseinheit, mit: einer Direktspeicherzugriff-Einheit zum Steuern der Übertragung von Signalgruppen zwischen einer Kernverarbeitungseinheit, wenigstens einem seriellen Anschluss und wenigstens einer Speichereinheit; dadurch gekennzeichnet, dass die Direktspeicherzugriff-Einheit eine Adressierungseinheit enthält, um Signalgruppen in eine Zeitmultiplexreihe von Signalen einzusortieren und aus einer Zeitmultiplexreihe von Signalen auszusortieren.
  2. Digitale Signalverarbeitungseinheit nach Anspruch 1, bei der die Zeitmultiplexsignale entweder ein T1- oder ein E1-Protokoll haben.
  3. Digitale Signalverarbeitungseinheit nach Anspruch 1, bei der die Adressierungseinheit umfasst: eine Addierereinheit, um eine nächste neue Adresse bereitzustellen; eine Neuadressen-Speichereinheit zum Speichern der nächsten neuen Adresse und zum Anlegen der in einem Neuadressenregister gespeicherten Signalgruppe an einen ersten Anschluss der Addierereinheit; eine Schalteinheit, die einen ersten Anschluss besitzt, an den eine in einer Elementindex-Speichereinheit gespeicherte Signalgruppe angelegt wird, und einen zweiten Anschluss besitzt, an den eine in einer Rahmenindex-Speichereinheit gespeicherte Signalgruppe angelegt wird, wobei die Schalteinheit so beschaffen ist, dass sie in Reaktion auf ein Steuersignal wahlweise entweder die Signalgruppe der Elementindex-Speichereinheit oder die Signalgruppe der Rahmenindex-Speichereinheit an einen zweiten Anschluss der Addierereinheit anlegt; und eine Zählereinheit, die mit jeder der Operation der Addierereinheit synchronisiert ist, um das Steuersignal für die Schalteinheit bereitzustellen.
  4. Digitale Signalverarbeitungseinheit nach Anspruch 3, bei der die Zählereinheit ein Signal bereitstellt, das das Modul der in der Elementindex-Speichereinheit gespeicherten Signalgruppe besitzt.
  5. Digitale Signalverarbeitungseinheit nach Anspruch 3, bei der die in der Elementindex-Speichereinheit gespeicherte Signalgruppe gleich der Anzahl von Signalgruppen in einem Block von Signalgruppen ist.
  6. Digitale Signalverarbeitungseinheit nach Anspruch 1, bei der die Adressierungseinheit die Adressen für die Formatierung von Rahmen von Signalgruppen in Blöcke von Signalgruppen erzeugt.
DE60125297T 2000-09-27 2001-09-26 Gerät und Verfahren für einen Sortierungmodus in einer Direktspeicherzugriffssteuerung von einer Einrichtung zur digitalen Signalverarbeitung Expired - Lifetime DE60125297T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US670667 2000-09-27
US09/670,667 US6715058B1 (en) 1999-09-28 2000-09-27 Apparatus and method for a sorting mode in a direct memory access controller of a digital signal processor

Publications (2)

Publication Number Publication Date
DE60125297D1 DE60125297D1 (de) 2007-02-01
DE60125297T2 true DE60125297T2 (de) 2007-05-16

Family

ID=24691348

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60125297T Expired - Lifetime DE60125297T2 (de) 2000-09-27 2001-09-26 Gerät und Verfahren für einen Sortierungmodus in einer Direktspeicherzugriffssteuerung von einer Einrichtung zur digitalen Signalverarbeitung

Country Status (4)

Country Link
EP (1) EP1193608B1 (de)
JP (1) JP2002175266A (de)
AT (1) ATE349043T1 (de)
DE (1) DE60125297T2 (de)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63216170A (ja) * 1987-03-05 1988-09-08 Mitsubishi Electric Corp デイジタル信号処理プロセツサ
JPH01265347A (ja) * 1988-04-18 1989-10-23 Matsushita Electric Ind Co Ltd アドレス生成装置
US5712999A (en) * 1993-11-30 1998-01-27 Texas Instruments Address generator employing selective merge of two independent addresses
CA2146472C (en) * 1994-04-22 2007-10-09 Kevin Elliott Bridgewater Packet video signal inverse transport processor with memory address circuitry
WO1995031054A1 (en) * 1994-05-06 1995-11-16 Circuit Path Network Systems, Corp. Method of assigning slots by mapping channels to slots based on a one-to-one transformation
US5630096A (en) * 1995-05-10 1997-05-13 Microunity Systems Engineering, Inc. Controller for a synchronous DRAM that maximizes throughput by allowing memory requests and commands to be issued out of order
US5594702A (en) * 1995-06-28 1997-01-14 National Semiconductor Corporation Multi-first-in-first-out memory circuit
US5956757A (en) * 1996-03-22 1999-09-21 Adaptec, Inc. Method and apparatus for generating addresses

Also Published As

Publication number Publication date
DE60125297D1 (de) 2007-02-01
EP1193608A2 (de) 2002-04-03
JP2002175266A (ja) 2002-06-21
EP1193608A3 (de) 2004-06-09
EP1193608B1 (de) 2006-12-20
ATE349043T1 (de) 2007-01-15

Similar Documents

Publication Publication Date Title
DE3248215C2 (de)
DE4135749B4 (de) Prozessormodul für eine programmierbare Steuerung mit einer intelligenten Funktionsmodulschnittstelle
DE2350884C2 (de) Adreßumsetzungseinheit
DE69926365T2 (de) Software-konfigurierbare technik zum priorisieren von unterbrechungen in einem auf einem mikroprozessor basierten system
DE2030812A1 (de) Modulare Datenrechnersysteme
DE2145120A1 (de) Digitales Datenverarbeitungsgerat
DE2612054A1 (de) Verfahren zur adressentwicklung und prozessor zur durchfuehrung des verfahrens
DE602005006338T2 (de) Vorrichtung und Verfahren zur Datenübertragungsverarbeitung
DE3400723C2 (de)
DE2854782C2 (de) Datenverarbeitungssystem und Verfahren zum Ersetzen eines Datenblocks in einem Schnellspeicher
DE2359920A1 (de) Adressiereinheit fuer einen gemeinschaftsspeicher
DE2064473B2 (de) Schaltung zur Bestimmung der Adresse einer in einem Speicher einer Datenverarbeitungsanlage enthaltenden, gesuchten Information
DE60125298T2 (de) Gerät und Verfahren für Adressenänderung in einer Direktspeicherzugriffssteuerung
DE60125297T2 (de) Gerät und Verfahren für einen Sortierungmodus in einer Direktspeicherzugriffssteuerung von einer Einrichtung zur digitalen Signalverarbeitung
DE69034165T2 (de) Mikroprozessor mit einer Vielzahl von Buskonfigurationen
DE2506671B2 (de) Binärdaten-Handhabungsnetzwerk
DE2609698C2 (de) Elektronischer Rechner
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
DE3818097C2 (de)
DE10006265A1 (de) Vorrichtung zum Steuern des Datenaustauschs in einem Kommunikationsteilnehmer
DE60109699T2 (de) Gerät und Verfahren zum Signalgruppenaustausch zwischen mehreren Teilen in einer Einrichtung zur digitalen Signalverarbeitung der eine Direktspeicherzugriffssteuerung enthält
DE60316866T2 (de) Verfahren und Brückenelement-Modul
DE3235264C2 (de)
DE60005157T2 (de) Verfahren und anordnung für blockdatenübertragung
DE2713068A1 (de) Sequentielle datenverarbeitungsanlage

Legal Events

Date Code Title Description
8364 No opposition during term of opposition