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é

Éliminer le mystère des extensions personnalisées dans la conception du SoC RISC-V

Les discussions sur la configuration d'un processeur de base ou l'ajout d'extensions personnalisées pour résoudre les compromis de conception matériel-logiciel dans un système sur puce (SoC) ne sont pas nouvelles. Cela a été un élément clé de la proposition de valeur adoptée par la communauté RISC-V, avec de nombreuses informations publiées sur ses avantages, comme celle-ci, "Un guide pour accélérer les applications avec des instructions personnalisées RISC-V justes ."

Lors de la conception d'un système pour de nombreux produits aujourd'hui, la consommation d'énergie, les performances et la surface de la matrice limitent de nombreuses exigences complexes en matière de SoC artificiel (IA) et d'apprentissage automatique (ML).

L'extension de l'architecture de jeu d'instructions RISC-V (ISA) open source est souvent négligée comme un moyen efficace de répondre à ces contraintes. Un récent panel de webinaires dirigé par Quantum Leap Solutions, une société de services de conception pour l'industrie des semi-conducteurs, a tenté de résoudre le mystère de l'extension de l'ISA RISC-V pour les conceptions de SoC. Le webinaire intitulé « RISC-V Flexibility - The Power of Custom Extensions ", a répondu aux questions de plus de 100 participants.

Les panélistes ont tenté de donner un aperçu du rôle de l'ISA modifié dans la conception d'applications émergentes et de la façon dont les concepteurs voient les extensions de la nouvelle architecture de jeu d'instructions RISC-V.

Animés par Mike Ingster, fondateur et président de Quantum Leap Solutions, les panélistes étaient :

Mike Ingster : Pourquoi RISC-V est-il une meilleure option pour les applications d'apprentissage AI et ML que les autres architectures CPU ?

Jean Min :L'époque à laquelle RISC-V a été inventé a coïncidé avec l'IA devenant courante. Le jeu d'instructions vectorielles RISC-V a été conçu pour les types d'applications AI et VR.

Larry Lapide :J'ajouterais que dans une application d'IA avec un réseau multiplex de processeurs hétérogènes - une architecture que nous avons vue implémentée à plusieurs reprises - le concepteur peut combiner des processeurs scalaires et vectoriels au sein du réseau. Deuxièmement, l'architecture RISC-V permet au concepteur de supprimer les fonctionnalités inutiles tout en préservant les instructions vectorielles. Cela offre un meilleur prix, de meilleures performances et une meilleure superficie :PPA.

Ingster  :les cœurs RISC-V avec des extensions vectorielles peuvent-ils également être étendus avec des instructions personnalisées ?

Mini :Oui. Un exemple est un cœur vectoriel RISC-V avec une implémentation de référence qui utilise des extensions client pour ajouter des tampons supplémentaires. Cela empêche l'unité vectorielle de caler par manque de données.

Lapide  :Imperas et Andes ont des clients communs qui ont implémenté des fonctions personnalisées pour aider dans ce domaine.

Ingster  :dans une matrice multiprocesseur, tous les processeurs doivent-ils avoir la même configuration ? Ou peuvent-ils avoir des instructions personnalisées différentes ?

Lapide :Oui, les processeurs hétérogènes dans une conception SoC sont courants. De plus, il n'y a pas que les instructions personnalisées qui peuvent varier d'un processeur à l'autre. Les instructions de base de chaque processeur peuvent également varier. Par exemple, un processeur pourrait avoir des instructions vectorielles et un autre processeur des instructions scalaires. Ceux-ci peuvent être entrelacés et combinés.

Mini  :dans une baie multiplexée, les processeurs et les simulateurs peuvent être hétérogènes pour permettre la simulation multicœur.

Ingster  :voyez-vous un processeur RISC-V de classe serveur sur le marché ?

Mini :Ça arrive. La conception du processeur au fil du temps devient plus rapide de différentes manières. L'une consiste à augmenter la fréquence. Une autre consiste à étendre le pipeline CPU. Une autre consiste à concevoir le processeur pour exécuter des instructions dans le désordre. Et il y aura un élargissement de la largeur d'exécution pour fournir une organisation plus super scalaire ou - ce qui devient courant aujourd'hui - des conceptions utilisant des milliers de multicœurs. Ce n'est qu'une question de temps avant que ces éléments soient intégrés dans les processeurs RISC-V de nouvelle génération pour les applications d'entreprise d'IA.

Lapide :Si nous regardons l'histoire passée de RISC-V, nous voyons qu'au départ, il y avait des SoC de preuve de concept qui étaient 32 et 64 bits, mais il y a environ deux ans, nous avons commencé à voir des SoC axés sur la sécurité et l'IoT :les SoC 32 bits compétitifs avec des microcontrôleurs. Nous commençons maintenant à voir les premiers processeurs de classe application. Ils ne sont pas de classe serveur, mais nous voyons du silicium initial sur des processeurs RISC-V 64 bits exécutant de vrais RTOS en regardant des applications haut de gamme. Nous commençons à voir des pipelines en panne se construire. Je m'attendrais aux premiers processeurs RISC-V de classe serveur dans les deux ou trois prochaines années.

Ingster  :Les extensions personnalisées peuvent-elles assurer la sécurité des appareils et la gestion du cycle de vie ?

Mini :Oui, selon la mise en œuvre. Par exemple, en activant une extension d'instruction pour effectuer une vérification. Le programme vérifie l'extension personnalisée. S'il n'est pas présent, le logiciel est empêché de s'exécuter. Une autre option consiste à implémenter un port personnalisé en mémoire. Ainsi, le CPU RISC-V aurait un bus privé vers la mémoire plutôt que d'utiliser le bus principal.

Taek Nam  :les concepteurs peuvent utiliser l'IP d'analyse intégrée de Tessent pour la sécurité et la gestion du cycle de vie dans les SoC avec des extensions personnalisées.

Ingster  :Pourquoi l'approche RISC-V des instructions personnalisées est-elle différente des autres telles que ARC et Tensilica ?

Mini :les processeurs utilisent des extensions personnalisées pour accélérer une tâche spécifique. Ce qui rend RISC-V différent, c'est qu'il offre un mécanisme formel pour incorporer l'extension personnalisée dans la norme.

Ingster  :Comment un développeur peut-il partager des instructions personnalisées avec des clients ou des partenaires ?

Mini :Il y a trois options. Tout d'abord, gardez-le privé. Deuxièmement, proposer l'ajout à RISC-V International pour inclusion dans la norme. Par exemple, Andes a fait don d'un ensemble d'instructions DSP à RISC-V International. Ce sont maintenant les extensions P de la norme RISC-V. Troisièmement, si vous partagez l'utilisation de l'instruction avec d'autres, vous partagerez les éléments intrinsèques et le fichier d'en-tête. Si vous envisagez de partager la mise en œuvre de l'instruction personnalisée, vous devrez peut-être faire un NDA à trois voies.

Lapide  :le développeur d'extensions personnalisées peut transmettre le modèle à ses clients ou partenaires en tant que modèle open source ou binaire, un modèle de processeur ISS ou d'instruction précis, qui peut être utilisé pour le développement de logiciels pré-silicium précoce.

Ingster  :Les extensions personnalisées entraîneront-elles des problèmes de compatibilité au sein de la communauté RISC-V ?

Mini :Cela dépendra de la façon dont les instructions personnalisées sont utilisées. Si une instruction personnalisée reste propriétaire, par définition, elle ne provoquera pas de fragmentation puisque le développeur est le seul à l'utiliser. Si l'instruction personnalisée rencontre un tel succès qu'elle est utilisée par beaucoup d'autres, il est peut-être temps de l'incorporer dans l'ensemble RISC-V de base. Il appartient au créateur de le rendre public ou de le garder propriétaire. Dans tous les cas, aucune fragmentation ne se produira.

Ingster  :Le processeur vectoriel est-il supporté par un compilateur dans sa version actuelle ?

Mini :Les extensions vectorielles RISC-V, version 0.8, sont suffisamment stables pour que les compilateurs les prennent en charge. GCC et LLVM prennent en charge la version 0.8 existante de la spécification. Les versions finales des compilateurs seront disponibles lorsque la spécification de l'extension vectorielle RISC-V aura été finalisée.

Ingster  : Comment les extensions personnalisées sont-elles prises en charge dans la chaîne d'outils logiciels ?

Lapide :Les concepteurs ajoutent les extensions personnalisées à leur modèle RISC-V, fournissant ainsi un simulateur de jeu d'instructions pouvant être utilisé pour le développement de logiciels. Du côté de la chaîne d'outils, la prise en charge de nouvelles extensions personnalisées peut être ajoutée dans GCC et LLVM. Les deux sont des chaînes d'outils open source et peuvent être modifiés à la discrétion du client. Les concepteurs peuvent également assembler une implémentation de macro pour prendre en charge une instruction personnalisée.

Ingster  :Comment le compilateur est-il informé d'une instruction personnalisée nouvellement créée ?

Lapide :L'équipe du logiciel doit implémenter l'instruction dans le compilateur.

Mini :Une alternative sans le travail acharné de faire l'ajout, surtout si l'intention est de garder l'instruction propriétaire est de traiter l'instruction personnalisée comme une bibliothèque - par exemple, les bibliothèques DSP. Ensuite, lorsque l'instruction personnalisée est nécessaire dans l'exécution du programme, appelez la bibliothèque avec un fichier d'en-tête. Ainsi, pour un travail minimal, l'équipe de conception réalise une grande partie du gain attendu de la création d'une fonction personnalisée.

Ingster  :Quels systèmes d'exploitation sont pris en charge sur RISC-V et existe-t-il un support pour Android ?

Lapide :Je n'ai pas vu Android pris en charge, mais il existe des appareils portables conçus avec RISC-V. Le RTOS gratuit de Linux, le Zephyr RTOS sont les principaux pris en charge. Il existe d'autres systèmes d'exploitation en temps réel pris en charge. La page Web du logiciel du RISC-V International a une liste complète.

Mini :Android OS n'a pas été vérifié sur les processeurs RISC-V. Je pense qu'il s'agit plus d'un exercice de portage que d'une question de fonctionnement. Les cœurs RISC-V exécutent actuellement Linux.

Ingster  :Comment les extensions personnalisées sont-elles vérifiées ?

Lapide :des extensions personnalisées sont ajoutées dans la RTL de la conception, mais elles doivent également être ajoutées dans le modèle de processeur. Les instructions personnalisées ainsi que les registres personnalisés peuvent être vérifiés à l'aide de cette capacité. En règle générale, l'ajout d'extensions au modèle de processeur s'exécutant sur un simulateur de jeu d'instructions permet le développement de logiciels.

Taek : Nous avons récemment demandé à un client d'implémenter des instructions personnalisées dans son SoC. À l'aide de notre IP d'analyse intégrée, leur objectif était de vérifier l'amélioration des performances de leur logiciel grâce à l'ajout des extensions personnalisées. Cela a été accompli en utilisant la trace pour suivre l'exécution des données et des instructions. C'est un moyen efficace de valider l'amélioration des performances.

Ingster  :quelle superficie est nécessaire pour ajouter l'IP d'analyse intégrée ?

Taek : Il n'y a pas de réponse standard, mais 1% est une citation typique pour le domaine consacré à l'IP d'analyse intégrée. Cette estimation comprend les modèles analytiques, le communicateur et le tissu de messages reliant ces éléments. Parce que les blocs ont plusieurs options, différentes configurations sont possibles. La conception de chaque client est évaluée et l'IP d'analyse intégrée est configurée pour être mise en œuvre dans sa conception. De cette façon, la superficie totale est estimée. Nous déterminons une solution qui peut minimiser l'impact sur la zone pour fournir la meilleure valeur à une conception donnée.

Ce sont les faits saillants du panel, dont la version complète est hébergée par Solutions de saut quantique .


Embarqué

  1. Qu'est-ce que la « portée vers l'extérieur » d'un aimant ?
  2. Le rôle de la conception assistée par ordinateur (CAO) dans l'impression 3D
  3. Optimisation de la ligne d'alimentation RF dans la conception de PCB
  4. SoC Bluetooth 5.1 est conçu pour réduire la taille et le coût de la conception
  5. Le package de conception de PCB passe dans le cloud
  6. Les avantages du prototypage de PCB
  7. Nous avons mis à jour la ressource "Comment concevoir des boîtiers personnalisés pour les cartes mères"
  8. Pourquoi la fabrication sur mesure est l'avenir
  9. Le rôle des instructions de travail dans l'entreprise