Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial Internet of Things >> Embarqué

Quand un DSP bat un accélérateur matériel

Les processeurs intégrés ont décollé presque partout car ils offrent une flexibilité ainsi que de très bonnes performances, une faible consommation d'énergie et un coût généralement beaucoup plus bas. Comparé à une solution nécessitant un microprocesseur ou un microcontrôleur séparé couplé à votre matériel personnalisé, le passage à des conceptions basées sur des processeurs intégrés était une évidence. Mais les processeurs de toutes sortes ont des limites. Même si nous pouvons déplacer nos algorithmes dans des logiciels, la complexité potentielle des algorithmes est illimitée. Nous pouvons écrire les programmes et ils s'exécuteront, mais pas nécessairement dans un délai acceptable ou dans un budget de puissance raisonnable.


Source :CEVA

C'est pourquoi les fabricants de microprocesseurs ont rapidement proposé le concept d'accélérateurs matériels - des fonctions matérielles qui peuvent effectuer des tâches couramment nécessaires, par exemple l'arithmétique à virgule flottante, beaucoup plus rapidement que cela ne serait possible si elles étaient exécutées dans un logiciel sur le processeur. Cette idée a rapidement fait son chemin et d'autres accélérateurs ont commencé à apparaître, pour la cryptographie, la gestion des expressions régulières et les fonctions graphiques pour ne citer que quelques exemples.

Tout cela fonctionne très bien mais sacrifie un avantage important des solutions logicielles :comme l'implémentation est principalement codée en dur, elle est difficile à modifier. Les accélérateurs peuvent permettre un certain niveau de réglage limité via les contrôles de registre, mais sinon, si vous devez corriger un bogue ou modifier l'algorithme, vous devez reconcevoir le matériel. Répondre aux défaillances sur le terrain et à l'évolution des demandes du marché devient beaucoup plus coûteux.

Ce que vous voulez vraiment, c'est le meilleur des deux mondes - un moyen d'accélérer les algorithmes tout en étant capable de définir ces algorithmes dans le logiciel. Bien sûr, la gamme de tous les algorithmes possibles est infinie, il est donc peu probable qu'il y ait une solution pour tous les cas. Mais pour un ensemble substantiel de fonctions très couramment utilisées, les DSP peuvent fournir exactement cette solution.

Considérez presque toutes les opérations qui doivent fonctionner sur des données de streaming. Des exemples évidents peuvent être trouvés dans le traitement audio, du filtrage à la conversion PDM-PCM en passant par l'annulation de l'écho acoustique. Ou pensez aux chiffrements basés sur les flux tels que SNOW et ZUC (utilisés en LTE). Dans un contexte de traitement du signal, pensez à l'estimation de canal entre les stations de base et les téléphones portables. Cela vise à optimiser les transmissions aux conditions actuelles pour une fiabilité maximale et nécessite un calcul matriciel complexe sur les signaux reçus. Plus généralement encore, pensez à toute application pouvant bénéficier d'un très large parallélisme, comme la cryptographie AES.

Le calcul en continu, les mathématiques complexes (matrice, virgule flottante) et/ou les niveaux élevés de parallélisme sont autant de domaines dans lesquels un DSP brille et doivent être considérés sérieusement comme une alternative à un accélérateur matériel. Une implémentation sera également plus petite que l'accélérateur codé en dur dans de nombreux cas, réduisant le coût unitaire de votre produit. En ce qui concerne la puissance, l'accélérateur sera peut-être un peu inférieur à l'implémentation DSP, mais la puissance DSP sera toujours bien inférieure à celle d'un équivalent basé sur le processeur. Mieux encore, vous pourrez peut-être consolider plusieurs fonctions d'accélération sur un DSP, éliminant ainsi le besoin de plusieurs accélérateurs, si ces accélérations n'ont pas besoin de s'exécuter en même temps. Pour encore plus de puissance de traitement, vous pouvez utiliser un DSP multicœur, tout comme vous pouvez utiliser des processeurs multicœurs.


Source :CEVA

Plus important encore, une implémentation DSP est programmable, en C, tout comme votre cœur de processeur. Vous devrez faire certaines choses un peu différemment - pour optimiser le parallélisme par exemple - mais un bon compilateur et un bon simulateur de modélisation pour le DSP devraient rendre cela relativement facile. Ainsi, vous bénéficiez de tous les avantages de la correction de bogues et de la mise à niveau du produit sans avoir à modifier le matériel sous-jacent. Amélioration de la satisfaction client et amélioration des flux de revenus. Pas mal.

Il y a un autre avantage :en tant que processeur, il peut prendre en charge plusieurs fonctions. Considérez le GNSS, la norme de localisation mondiale et une fonction qui bénéficie considérablement du calcul basé sur le DSP. C'est certainement une bonne fonctionnalité à avoir dans les appareils mobiles, mais il y a maintenant aussi un boom du GNSS pour les appareils fixes afin de simplifier l'approvisionnement, les mises à jour et la maintenance. Si votre appareil est déjà compatible DSP, GNSS peut être un module complémentaire logiciel avec certains fournisseurs et peut fonctionner pendant des périodes calmes lorsque d'autres fonctions sont en sommeil. Si vous disposiez déjà d'un GNSS matériel ou envisagez d'en ajouter un, vous pouvez économiser de l'espace et de l'énergie.

Je ne suggère pas que les implémentations DSP peuvent nécessairement remplacer tous vos accélérateurs matériels. Certaines fonctions d'accélérateur peuvent ne pas être adaptées aux points forts d'un DSP. Et certains peuvent s'inscrire dans une certaine plage, mais pas en dehors de cette plage ; par exemple, votre seule option pour un très grand filtre peut toujours être une implémentation câblée. Mais cela laisse beaucoup de fonctions où un DSP se rapproche d'un accélérateur matériel équivalent en termes de performances et de puissance, peut en fait être meilleur en termes de coût et a infiniment plus de flexibilité que la version matérielle. À considérer.

Ce blog est le deuxième d'une série qui a commencé par « Pourquoi les DSP sont soudainement partout » et se termine par le troisième blog :« Decisions, decisions :Hardware accelerator or DSP ? ”.


Embarqué

  1. Vermiculite
  2. Sismographe
  3. Qu'est-ce qu'une interruption :les types et ses applications
  4. La sécurité IoT industrielle repose sur le matériel
  5. Les accélérateurs matériels servent les applications d'IA
  6. 4 défis dans la conception de matériel IoT
  7. Sinergia Tech trouve des investisseurs pour le premier accélérateur matériel d'Amérique latine
  8. Quand une réparation n'est-elle pas une réparation ?
  9. Qu'est-ce que le thermoplastique ?