Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial Internet of Things >> Eingebettet

Wenn ein DSP einen Hardwarebeschleuniger schlägt

Embedded-CPUs haben sich fast überall durchgesetzt, weil sie Flexibilität zusammen mit ziemlich guter Leistung und geringem Stromverbrauch und normalerweise viel niedrigeren Kosten bieten. Im Vergleich zu einer Lösung, die einen separaten Mikroprozessor oder Mikrocontroller erfordert, der an Ihre kundenspezifische Hardware gekoppelt ist, war der Wechsel zu Designs auf Basis eingebetteter CPUs ein Kinderspiel. Aber CPUs jeder Art haben Grenzen. Obwohl wir unsere Algorithmen in Software übertragen können, ist die potenzielle Komplexität von Algorithmen unbegrenzt. Wir können die Programme schreiben und sie laufen, aber nicht unbedingt in einer akzeptablen Zeit oder innerhalb eines angemessenen Energiebudgets.


Quelle:CEVA

Aus diesem Grund entwickelten die Hersteller von Mikroprozessoren schnell das Konzept der Hardwarebeschleuniger – Hardwarefunktionen, die häufig benötigte Aufgaben, beispielsweise Gleitkommaarithmetik, viel schneller ausführen können, als dies in Software auf der CPU möglich wäre. Diese Idee setzte sich schnell durch und andere Beschleuniger tauchten auf, für Kryptografie, Behandlung von regulären Ausdrücken und Grafikfunktionen, um nur einige Beispiele zu nennen.

All dies funktioniert sehr gut, opfert jedoch einen wichtigen Vorteil softwarebasierter Lösungen:Da die Implementierung meist hartcodiert ist, ist sie schwer zu ändern. Beschleuniger ermöglichen möglicherweise ein gewisses Maß an Abstimmung durch Registersteuerungen, aber ansonsten müssen Sie die Hardware neu entwerfen, wenn Sie einen Fehler beheben oder den Algorithmus ändern müssen. Die Reaktion auf Feldausfälle und sich ändernde Marktanforderungen wird viel teurer.

Was Sie wirklich wollen, ist das Beste aus beiden Welten – eine Möglichkeit, Algorithmen zu beschleunigen und gleichzeitig diese Algorithmen in Software zu definieren. Natürlich ist die Bandbreite aller möglichen Algorithmen unendlich, sodass es unwahrscheinlich ist, dass es für alle Fälle eine Lösung gibt. Aber für einen beträchtlichen Satz sehr häufig verwendeter Funktionen können DSPs genau diese Lösung bieten.

Betrachten Sie fast jeden Vorgang, der mit Streaming-Daten funktionieren muss. Offensichtliche Beispiele finden sich in der Audioverarbeitung, von der Filterung über die PDM-PCM-Konvertierung bis hin zur akustischen Echokompensation. Oder denken Sie an streambasierte Verschlüsselungen wie SNOW und ZUC (verwendet in LTE). Denken Sie im Zusammenhang mit der Signalverarbeitung an die Kanalschätzung zwischen Basisstationen und Mobiltelefonen. Dies zielt darauf ab, Übertragungen auf die aktuellen Bedingungen für maximale Zuverlässigkeit zu optimieren und erfordert eine komplexe Matrixberechnung der empfangenen Signale. Noch allgemeiner, denken Sie an jede Anwendung, die von einer sehr breiten Parallelität profitieren kann, wie beispielsweise die AES-Kryptographie.

Streaming-Berechnung, komplexe Mathematik (Matrix, Gleitkomma) und/oder hohe Parallelität sind alle Bereiche, in denen ein DSP glänzt und sollte ernsthaft als Alternative zu einem Hardwarebeschleuniger in Betracht gezogen werden. Eine Implementierung ist in vielen Fällen auch kleiner als der hartcodierte Beschleuniger, wodurch die Stückkosten Ihres Produkts gesenkt werden. Was die Leistung angeht, wird der Beschleuniger vielleicht etwas niedriger sein als bei der DSP-Implementierung, aber die DSP-Leistung wird immer noch viel niedriger sein als bei einem CPU-basierten Äquivalent. Besser noch, Sie können möglicherweise mehrere Beschleunigungsfunktionen auf einem DSP konsolidieren, wodurch mehrere Beschleuniger überflüssig werden, wenn diese Beschleunigungen nicht gleichzeitig ausgeführt werden müssen. Für noch mehr Rechenleistung können Sie einen Multi-Core-DSP verwenden, genau wie Sie Multi-Core-CPUs verwenden können.


Quelle:CEVA

Am wichtigsten ist, dass eine DSP-Implementierung in C programmierbar ist, genau wie Ihr CPU-Kern. Sie müssen einige Dinge etwas anders machen – zum Beispiel zur Optimierung für Parallelität – aber ein guter Compiler und Modellierungssimulator für den DSP sollte dies relativ einfach machen. So profitieren Sie von allen Vorteilen der Fehlerbehebung und der Produktaktualisierung, ohne die zugrunde liegende Hardware ändern zu müssen. Verbesserte Kundenzufriedenheit und verbesserte Einnahmequellen. Nicht schlecht.

Ein weiterer Vorteil:Als Prozessor kann er mehrere Funktionen unterstützen. Betrachten Sie GNSS, den globalen Standortstandard und eine Funktion, die erheblich von der DSP-basierten Berechnung profitiert. Dies ist sicherlich eine gute Funktion für mobile Geräte, aber es gibt jetzt auch einen Boom bei GNSS für feste Geräte, um Bereitstellung, Updates und Wartung zu vereinfachen. Wenn Ihr Gerät bereits DSP-aktiviert ist, kann GNSS bei einigen Anbietern ein Software-Add-On sein und in ruhigen Zeiten ausgeführt werden, in denen andere Funktionen ruhen. Wenn Sie bereits über ein hardwarebasiertes GNSS verfügen oder planen, eines hinzuzufügen, können Sie sowohl Fläche als auch Strom sparen.

Ich behaupte nicht, dass DSP-Implementierungen unbedingt alle Ihre Hardwarebeschleuniger ersetzen können. Einige Beschleunigerfunktionen passen möglicherweise nicht gut zu den Stärken eines DSP. Und einige mögen in einen bestimmten Bereich passen, aber nicht außerhalb dieses Bereichs; zum Beispiel kann Ihre einzige Option für einen sehr großen Filter immer noch eine fest verdrahtete Implementierung sein. Aber das lässt viele Funktionen übrig, bei denen ein DSP in Bezug auf Leistung und Leistung einem gleichwertigen Hardwarebeschleuniger nahe kommt, möglicherweise sogar günstiger ist und unendlich viel flexibler ist als die Hardwareversion. Eine Überlegung wert.

Dieser Blog ist der zweite in einer Reihe, die mit „Warum DSPs plötzlich überall sind . begann “ und schließt mit dem dritten Blog:„Entscheidungen, Entscheidungen:Hardwarebeschleuniger oder DSP? ”.


Eingebettet

  1. Vermiculit
  2. Seismograph
  3. Was ist ein Interrupt:Typen und seine Anwendungen
  4. Entscheidungen, Entscheidungen:Hardwarebeschleuniger oder DSP?
  5. Sicherheit im industriellen IoT baut auf Hardware auf
  6. Hardwarebeschleuniger bedienen KI-Anwendungen
  7. 4 Herausforderungen beim Design von IoT-Hardware
  8. Sinergia Tech findet Investoren für den ersten lateinamerikanischen Hardware-Beschleuniger
  9. Wann ist eine Reparatur keine Reparatur?
  10. Was ist Thermoplast?