Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial Internet of Things >> Ingebed

Als een DSP een hardwareversneller verslaat

Geïntegreerde CPU's kwamen bijna overal van de grond omdat ze flexibiliteit bieden, samen met redelijk goede prestaties en weinig stroom en meestal veel lagere kosten. In vergelijking met een oplossing waarvoor een aparte microprocessor of microcontroller nodig is, gekoppeld aan uw aangepaste hardware, was het een goed idee om over te schakelen naar ontwerpen op basis van embedded CPU's. Maar CPU's van welke aard dan ook hebben limieten. Ook al kunnen we onze algoritmen in software omzetten, de potentiële complexiteit van algoritmen is grenzeloos. We kunnen de programma's schrijven en ze zullen draaien, maar niet noodzakelijkerwijs binnen een acceptabele tijd of binnen een redelijk energiebudget.


Bron:CEVA

Daarom kwamen microprocessormakers snel met het concept van hardwareversnellers - hardwarefuncties die veelgebruikte taken kunnen uitvoeren, bijvoorbeeld drijvende-kommaberekeningen, veel sneller dan mogelijk zou zijn als ze in software op de CPU zouden worden uitgevoerd. Dit idee sloeg snel aan en andere versnellers begonnen te verschijnen, voor cryptografie, het afhandelen van reguliere expressies en grafische functies als slechts enkele voorbeelden.

Dit alles werkt heel goed, maar offert een belangrijk voordeel van op software gebaseerde oplossingen op:omdat de implementatie meestal hard gecodeerd is, is het moeilijk aan te passen. Accelerators kunnen een beperkt niveau van afstemming mogelijk maken door middel van registercontroles, maar als u een bug moet repareren of het algoritme moet wijzigen, moet u de hardware opnieuw ontwerpen. Reageren op storingen in het veld en veranderende markteisen wordt veel duurder.

Wat je echt wilt, is het beste van twee werelden:een manier om algoritmen te versnellen en toch in staat te zijn die algoritmen in software te definiëren. Natuurlijk is het bereik van alle mogelijke algoritmen oneindig, dus het is onwaarschijnlijk dat er voor alle gevallen één oplossing is. Maar voor een substantiële set van zeer veelgebruikte functies kunnen DSP's precies deze oplossing bieden.

Overweeg bijna elke bewerking die moet werken op streaminggegevens. Voor de hand liggende voorbeelden zijn te vinden in audioverwerking, van filtering tot PDM-PCM-conversie tot akoestische echo-onderdrukking. Of denk aan stream-based cyphers zoals SNOW en ZUC (gebruikt in LTE). Denk in een signaalverwerkingscontext na over kanaalschatting tussen basisstations en mobiele telefoons. Dit heeft tot doel transmissies naar de huidige omstandigheden te optimaliseren voor maximale betrouwbaarheid en vereist complexe matrixberekeningen op ontvangen signalen. Meer in het algemeen, denk eens aan elke toepassing die baat kan hebben bij een zeer breed parallellisme, zoals AES-cryptografie.

Streamingberekeningen, complexe wiskunde (matrix, drijvende komma) en/of hoge niveaus van parallellisme zijn allemaal gebieden waar een DSP uitblinkt en serieus moeten worden beschouwd als een alternatief voor een hardwareversneller. Een implementatie zal in veel gevallen ook kleiner zijn dan de hard-coded accelerator, waardoor de kosten per eenheid van uw product dalen. Wat het vermogen betreft, zal het gaspedaal misschien iets lager zijn dan de DSP-implementatie, maar het DSP-vermogen zal nog steeds veel lager zijn dan dat van een CPU-gebaseerd equivalent. Beter nog, u kunt mogelijk meerdere acceleratiefuncties consolideren op een DSP, waardoor er geen verschillende acceleratoren meer nodig zijn, als deze acceleraties niet tegelijkertijd hoeven te worden uitgevoerd. Voor nog meer rekenkracht kun je een multi-core DSP gebruiken, net zoals je multi-core CPU's kunt gebruiken.


Bron:CEVA

Het belangrijkste is dat een DSP-implementatie programmeerbaar is, in C, net als je CPU-kern. Je zult sommige dingen een beetje anders moeten doen - om bijvoorbeeld te optimaliseren voor parallellisme - maar een goede compiler en modelleringssimulator voor de DSP zou dit relatief eenvoudig moeten maken. U profiteert dus van alle voordelen van bugfixing en productupgrades zonder dat u de onderliggende hardware hoeft te wijzigen. Verbeterde klanttevredenheid en verbeterde inkomstenstromen. Niet slecht.

Er is nog een voordeel:als processor kan het meerdere functies ondersteunen. Overweeg GNSS, de wereldwijde locatiestandaard en een functie die aanzienlijk profiteert van op DSP gebaseerde berekeningen. Dit is zeker een goede functie op mobiele apparaten, maar er is nu ook een hausse in GNSS voor vaste apparaten om provisioning, updates en onderhoud te vereenvoudigen. Als uw apparaat al is ingeschakeld voor DSP, kan GNSS bij sommige leveranciers een software-add-on zijn en in stille perioden werken wanneer andere functies inactief zijn. Als u al een op hardware gebaseerde GNSS had of van plan was er een toe te voegen, kunt u uzelf zowel ruimte als stroom besparen.

Ik suggereer niet dat DSP-implementaties noodzakelijkerwijs al uw hardwareversnellers kunnen vervangen. Sommige acceleratorfuncties passen mogelijk niet goed bij de sterke punten van een DSP. En sommige passen misschien binnen een bepaald bereik, maar niet buiten dat bereik; uw enige optie voor een zeer groot filter kan bijvoorbeeld nog steeds een vast bedrade implementatie zijn. Maar dat laat veel functies over waarbij een DSP qua prestaties en vermogen in de buurt komt van een gelijkwaardige hardwareversneller, in feite beter kan zijn qua kosten en oneindig veel meer flexibiliteit heeft dan de hardwareversie. Het overwegen waard.

Deze blog is de tweede in een serie die begon met "Waarom DSP's plotseling overal zijn ” en eindigt met de derde blog:“Beslissingen, beslissingen:hardwareversneller of DSP? ”.


Ingebed

  1. Vermiculiet
  2. Seismograaf
  3. Wat is een onderbreking:typen en zijn toepassingen
  4. Beslissingen, beslissingen:hardwareversneller of DSP?
  5. FPGA-versneller voor embedded vision MIPI-camera's
  6. Industriële IoT-beveiliging bouwt voort op hardware
  7. Hardwareversnellers dienen voor AI-applicaties
  8. 4 uitdagingen bij het ontwerpen van IoT-hardware
  9. Sinergia Tech vindt investeerders voor eerste Latijns-Amerikaanse hardwareversneller
  10. Wanneer is een reparatie geen reparatie?
  11. Wat is thermoplast?