Logo Zéphyrnet

Cohérence dans les conceptions hétérogènes

Date :

Vous êtes-vous déjà demandé pourquoi des réseaux cohérents sont nécessaires au-delà de la conception de serveurs ? La valeur de la cohérence du cache dans un serveur multi-cœur ou many-core est maintenant bien comprise. Les développeurs de logiciels veulent écrire des programmes multithreads pour de tels systèmes et s'attendent à un comportement bien défini lors de l'accès aux emplacements de mémoire communs. Ils s'attendent raisonnablement à ce que le même modèle de programmation s'étende aux SoC hétérogènes, non seulement pour le cluster CPU du SoC, mais plus généralement. Dites dans une application de surveillance basée sur un pipeline de traitement d'image intelligent alimentant l'inférence et la reconnaissance pour détecter une activité anormale. Les étapes de ces pipelines partagent des données qui doivent rester cohérentes. Cependant, ces composants s'interfacent via les protocoles AMBA CHI, ACE et AXI - un mélange d'interfaces cohérentes et incohérentes. Le réseau Arteris IP Ncore est la seule interface réseau cohérente capable d'atteindre cet objectif.

Cohérence dans une conception hétérogène

Une application telle qu'une caméra de surveillance dépend d'un streaming haute performance tout au long du pipeline. Un personnage suspect peut n'être dans le cadre que pendant une courte période, mais vous devez toujours capturer et reconnaître une cause de préoccupation. Le taux d'inférence images/seconde doit être suffisamment élevé pour atteindre cet objectif, permettant au suivi de la caméra de suivre la figure détectée.

Le pipeline d'imagerie commence par les images de traitement du cluster CPU, tuilées via plusieurs threads parallèles pour des performances maximales. Pour maximiser encore les performances, les accès à la mémoire sont mis en cache dans toute la mesure du possible, et par conséquent, ce réseau de cache doit être cohérent. Les processeurs prennent en charge les interfaces CHI, jusqu'à présent, tout va bien.

Mais le traitement du signal d'image est beaucoup plus complexe que la simple lecture d'images. Il y a le dématriçage, la gestion des couleurs, la gestion de la plage dynamique et bien plus encore. Peut-être géré dans une fonction GPU ou DSP spécialisée, qui doit fournir la même amélioration des performances de mise en cache pour ne pas ralentir le pipeline. Et pour qui la programmation de threads attend le même modèle de cohérence mémoire. Souvent, cette fonction matérielle ne prend en charge qu'une interface ACE. ACE est cohérent mais différent de CHI. Maintenant, la conception a besoin d'un réseau cohérent qui peut prendre en charge les deux.

Application Ncore

Ces fils alimentent le moteur d'IA pour déduire les objets suspects dans les images à, disons, 30 images/seconde. Visant à détecter non seulement un tel objet mais aussi la direction du mouvement. Les moteurs d'IA prennent généralement en charge une interface AXI, qui est très populaire mais n'est pas cohérente. Cependant, le frontal de contrôle de ce moteur doit toujours voir une vue cohérente des mosaïques d'images traitées en continu dans le moteur. Atteindre cet objectif nécessite un accompagnement particulier.

Le réseau cohérent Arteris IP Ncore

Le réseau non cohérent Arteris IP FlexNoC répond aux besoins de connectivité d'une grande partie d'un SoC typique, qui peut ne pas avoir besoin d'un partage de mémoire cohérent avec les CPU et les GPU. L'accélérateur d'IA lui-même peut être construit sur un réseau FlexNoC. Mais une solution de connectivité est également nécessaire pour gérer le domaine cohérent. Pour cela, Arteris IP a construit son générateur de NoC cohérent Ncore.

Considérez Ncore comme un NoC avec tous les avantages habituels d'un tel réseau, mais avec quelques fonctionnalités supplémentaires. Tout d'abord, le réseau fournit une gestion de la cohérence basée sur l'annuaire. Tous les accès à la mémoire dans le domaine cohérent, tels que les clusters CPU et GPU, adhèrent au modèle de cohérence. Deuxièmement, Ncore prend en charge les interfaces CHI et ACE. Il prend également en charge les interfaces ACE-Lite avec cache intégré, qu'Arteris IP appelle caches proxy. Un cache proxy peut se connecter à un bus AXI dans le domaine non cohérent, complétant les données AXI du côté cohérent avec les informations requises pour répondre à la spécification ACE-Lite. Un cache proxy garantit que lorsque le domaine non cohérent lit à partir du cache ou écrit dans le cache, ces transactions seront gérées de manière cohérente.

En bout de ligne, l'utilisation de Ncore fournit la seule solution commerciale pour la cohérence du réseau entre les réseaux CHI, ACE et AXI. Le type de réseaux que vous trouverez couramment dans la plupart des SoC. Si vous souhaitez en savoir plus, cliquez ICI.

Partagez cet article via:

spot_img

Dernières informations

spot_img

Discutez avec nous

Salut! Comment puis-je t'aider?