Vernetzte Audiosysteme mit heterogenen Multicore-Prozessoren

< zurück

Seite: 2/3

Anbieter zum Thema

Der SHARC DSP-Core jedoch ist für die effiziente Ausführung von mehreren, parallel auszuführenden Fließkommaoperationen, wie von Audioalgorithmen verlangt, optimiert. Zur Maximierung der Effizienz greift der Audioalgorithmus auf Audiodaten im internen L1 SRAM zu und gibt das Ergebnis in L1 SRAM aus. Der Prozessor ADSP-SC58x greift auf den 640KB großen L1 SRAM Speicher pro SHARC-Core mit der Core Taktrate von bis zu 450 MHz zu und verfügt damit über genügend Single-Cycle Speicher für die meisten Audioalgorithmen.

Da die SHARC-Cores zwei Zyklen benötigen, um auf das interne L2 SRAM (bis zu 225MHz) zuzugreifen, ist es empfehlenswert, die zu verarbeitenden Daten in L1 zu verschieben, um so eine höhere Leistungsfähigkeit zu erzielen. Die effiziente Übertragung von Daten zwischen diesen Verarbeitungsknoten ist entscheidend, um die optimale Leistungsfähigkeit des gesamten Systems aufrecht zu erhalten. Der Datentransport in einem Multicore-System erfolgt mit Hilfe der sog. Inter-Core Kommunikation (ICC).

Bildergalerie

Originalbeitrag als ePaper oder im pdf-Format lesen

Dieser Autorenbeitrag ist in der Printausgabe ELEKTRONIKPRAXIS Sonderheft Embedded Systems Development II erschienen. Diese ist auch als kostenloses ePaper oder als pdf abrufbar.

ICC erfordert zwei Prozesse, Übertragung von Daten und eine Möglichkeit zur Nachrichtenübermittlung. Wenn ein Knoten Daten zu einem anderen transferiert, wird per Nachrichtenübermittlung dem Empfangsknoten mitgeteilt, dass neue Daten verfügbar sind. In Bild 1 sendet der Ethernet MAC die empfangenen Daten direkt über DMA in den L3 Speicher, was die effizienteste Methode der Datenübertragung darstellt. DMA benötigt keine Rechenleistung der CPU für den Datentransfer, da dies mit Hilfe bestimmter Hardware erfolgt welche unabhängig vom CPU-Core ist.

Nach dem Empfang eines vollständigen Pakets signalisiert der Ethernet MAC dem ARM-Core mit einem Interrupt, dass ein neues Paket im RAM verfügbar ist. Der EAVB-Stack liest die Audiodaten aus dem L3 Speicher und schreibt die extrahierten Audio-Daten in den L2 Speicher. Lesen und Schreiben der Daten wird vom Core selbst durchgeführt und benötigt somit zusätzliche Rechenzeit, wodurch diese Methode die am wenigsten effiziente für die Übertragung von Daten darstellt.

Datentransfer und Interrupt-Generierung vereint

Nachdem der ARM-Core einen kompletten Audio-Frame ins L2 SRAM übertragen hat, signalisiert er dem SHARC1-Core, dass ein Audio-Frame zur Weiterverarbeitung verfügbar ist. Dies geschieht mit Hilfe der TRU (Trigger Routing Unit). Bild 2 zeigt die TRU, welche auf Systemebene den Ablauf von Vorgängen steuert, ohne dabei Rechenleistung des Cores zu verwenden. Die TRU verbindet Trigger Master (Erzeuger von Triggersignalen) mit Trigger Slaves (Empfänger von Triggersignalen). Trigger Master und die Master Trigger Register (MTR) erzeugen die Triggersignale. Jeder Trigger Slave verfügt über ein Slave Select Register (SSR), das den Trigger Master eindeutig festlegt, von dem es das Triggersignal erhält.

Die TRU kann verwendet werden, um verschiedene Ereignisse zu synchronisieren. Dazu werden mehrere Trigger Slaves dem gleichen Trigger Master zugeordnet oder mehrere Triggersignale vom Master gleichzeitig über das MTR verteilt. Software-Triggerung wird unterstützt, indem eine Trigger Master ID direkt in das MTR geschrieben wird.

Artikelfiles und Artikellinks

(ID:43586844)

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung