Embedded Design Windows-Echtzeit-Erweiterung oder DSPs – wer ist schneller?

DSPs sind eine kostengünstige Möglichkeit, viel Rechenleistung zu bekommen. Aber ihre Programmierung ist aufwendig. Wenn die Entwicklungskosten im Vordergrund stehen, kann es einfacher sein, ein System mit x86-Prozessoren und Windows zu verwenden. Die Echtzeiterweiterung RTX sorgt dafür, dass auch unter einem Standard-Windows harte Echtzeitbedingungen eingehalten werden.

Die Architekturen Digitaler Signalprozessoren (DSPs) sind für aufwendige mathematische Berechnungen optimiert. Als kostengünstige Lösung haben sie in der Vergangenheit den Markt für Echtzeit-Signalverarbeitung dominiert.

Obwohl DSPs für viele Systeme eine tragfähige Wahl bleiben, finden immer mehr Entwickler, dass proprietäre DSPs für digitale Signalverarbeitung in Echtzeit nicht mehr erforderlich sind. Stattdessen migrieren sie zu einer Standard-Plattform, die aus Multi-Core-Allzweckprozessoren der x86-Architektur, Windows-Betriebssystem und RTX-Echtzeit-Software besteht, um DSPs damit an Leistung zu übertreffen, Kosten zu reduzieren und die Entwicklungszyklen zu straffen.

Denn die spezialisierten Architekturen von DSPs sind nicht für allgemeine Aufgaben wie etwa die Mensch-Maschine-Schnittstellen (HMI) oder Ein- und Ausgabe konzipiert. Hierfür werden Allzweckprozessoren genutzt (Bild 1). Außerdem erfordern DSPs eigene Speicher für jede Prozessoreinheit und eigene Busse für die Kommunikation zwischen Prozessoren.

Die RTX-Echtzeit-Plattform verfolgt einen anderen Ansatz, bei dem mehrere Kerne für dedizierte Echtzeitverarbeitung und Allzweckbearbeitung aufgeteilt werden.

Bild 2 zeigt ein Multicore-Gerät, dessen Kerne entweder für Windows oder für die Echtzeit-Signalverarbeitung mit RTX arbeiten. Im Gegensatz zur DSP-Ausführung wird der Arbeitsspeicher über den gleichen High-Speed-Bus gemeinsam genutzt, was eine gemeinsame Datennutzung und Kommunikation erlaubt. Tabelle 1 zeigt einen Vergleich beider Architekturen.

Hardware-Design

Die x86/x64-Multicore-Entwicklungen von Intel und AMD verändern die Art, wie Systementwickler die Echtzeit-Signalverarbeitung angehen. Neue x86-Prozessoren haben nicht nur mehrere Kerne mit hohen Taktraten, sie führen auch komplexe Mathematik effizient aus. Sie leisten ein Mehrfaches normaler DSPs, wie aus den Benchmarks in der Übersicht zu ersehen ist.

Darüber hinaus werden Multicore-x86-Bausteine und ihre Infrastruktur (Leiterplatten, Peripherie)von der Stange geliefert, was für DSP-Nutzer normalerweise keine Option ist. Serien-Hardware statt maßgefertigter Hardware aber bedeutet reduzierte Kosten, kürzere Markteinführungszeiten und geringeres Risiko.

Beim Ersetzen von DSPs durch x86-Multicore-Systeme liegt das Augenmerk auf der Anzahl der benötigten Kerne sowie darauf, welche x86-Prozessorfamilie am besten den Systemanforderungen entspricht. Als grobe Richtlinie kann von einem 1:1-Verhältnis von DSP- zu x86-Kernen ausgegangen werden. Wegen der höheren Taktraten der x86-Kerne wird das Design eher weniger Kerne benötigen, aber das 1:1-Verhältnis ist ein konservativer Anfang mit Raum zur Optimierung.

Intel und AMD bieten verschiedene Prozessorreihen, die sich in Preis und Leistung unterscheiden. Intels Atom und AMDs G-Serie „Fusion“ sind zum Beispiel für Embedded-Systeme ausgelegt, die geringe Eingangsleistung und eine Minimierung der Kosten erfordern.

Flexibel bleiben

Beim Entwurf von DSP-Systemen verbringen Ingenieure viel Zeit mit der Auswahl des richtigen Prozessors, dem Entwurf des Boards und der Software-Entwicklung. Die Notwendigkeit, früh im Design Hardware-Software-Verbindungen eingehen zu müssen, schafft oft eine Basis, die aufgrund von Fehleinschätzungen zum vollständigen Überarbeiten der Hardware und damit zu negativen Auswirkungen auf den Lieferzeitplan führen kann. Bei Verwendung der RTX-Echtzeit-Plattform gibt es keine strengen Fristen für die Auswahl und Gestaltung der Hardware. Da die Software auf x86 läuft, kann für Entwicklung und Produktion auf Standard-Hardware zurückgegriffen werden. Weil keine maßgefertigten Boards oder Treiber mehr erforderlich sind, kann die endgültige Hardware-Auswahl später im Designzyklus erfolgen. Dies verringert das Risiko und steigert die Chancen auf die rechtzeitige Freigabe der Produkte.

Da RTX die weit verbreitete Windows-/x86-Architektur verwendet, können die Entwickler bei ihrer Arbeit PCs sowohl als Entwicklungsrechner wie auch als Ziel-Rechner einsetzen. Es wird kein separates Zielsystem mit spezialisierten In-Circuit-Emulatoren zum Entwickeln und Debuggen benötigt. Wie der Vergleich zeigt, reduziert der Einsatz von COTS-Hardware mit RTX dadurch Entwicklungskosten und Risiken.

Kommunikation

DSP-Systeme setzen auf maßgefertigte Hardware- und Software-Schnittstellen bei der Kommunikation zwischen den Einheiten. Für die Kommunikation werden serielle Leitungen und manchmal auch PCI-Busse verwendet. Diese Schnittstellen müssen auf maßgefertigte Hardware angepasst werden und sind schwer zu aktualisieren, wenn sich Anforderungen ändern. Die RTX-Echtzeit-Plattform verwendet gemeinsamen Speicher und formalisierte APIs für die Kommunikation zwischen Prozessen. Da alles auf einem einzigen Gerät ausgeführt wird, können Daten und Nachrichten einfach zwischen Threads auf verschiedene Kerne verteilt werden. Die Kommunikationsarchitektur macht auch das Programmieren einfach und skalierbar.

Speicher-Auswahl

Während DSPs separate Speichereinheiten erfordern, wird mit RTX der Speicher in einer einzelnen Speichereinheit zusammengefasst. Auch kommen in x86-Systemen handelsübliche Standard-Speichermodule zum Einsatz, die je nach Anforderungen ausgetauscht bzw. erweitert werden können. DSPs verlangen wegen der strengen Timing-Anforderungen fest verlötete On-Board-Speicherchips. Ein Austausch von Speicherchips ist daher schwierig, und Hinzufügen oder Entfernen von Speicher erfordert Änderungen am Board. Der DSP-Ansatz ist somit teurer, komplexer und weniger flexibel als die RTX-Plattform.