Mentor Graphics lance un environnement de développement dédié aux architectures multicoeurs hétérogènes

Les architectures hétérogènes qui combinent sur un même circuit SoC différents types de processeurs ou de microcontrôleurs, eux-mêmes dotés d'un ou de plusieurs cœurs, posent de véritables défis ...en matière de programmation d’applications embarquées. Des défis qui touchent à la définition de l’architecture logicielle, à la configuration des systèmes d’exploitation (temps réel ou non), à l'optimisation des opérations d'amorçage (boot), au débogage, à la séparation des applications, à la possibilité d'insérer (ou non) un hyperviseur, aux communications entre processeurs, au partage des mémoires, etc. Un exemple marquant est celui du circuit Omap5432 de Texas Instruments qui rassemble sur un même SoC deux monocœurs Cortex-M4, associés à deux Cortex-A15 quadricœurs, des processeurs spécialisés pour le traitement des images et de la vidéo, et un DSP dédié lui aux opérations de traitement du signal.

C’est pour répondre à ces problématiques complexes, qui vont bien au-delà des approches traditionnelles de type SMP (Symmetric Multi-Processing) ou AMP (Asymmetric Multi-Processing), que Mentor Graphics propose aujourd'hui une plate-forme de développement dédiée à ces architectures multicoeurs hétérogènes, la première de ce type sur le marché, selon la société. La solution permet notamment de manière native, avec ou sans la présence d’un hyperviseur, de déployer et de démarrer de manière coordonnée plusieurs systèmes d’exploitation implantés sur différents coeurs de processeurs et/ou de microcontrôleurs, de maîtriser les communications entre plusieurs sous-systèmes d’un circuit isolés entre eux, de visualiser les interactions entre les systèmes d’exploitation présents et de mettre en œuvre les fonctionnalités ad hoc qui permettent d’assurer une interopérabilité effective entre composants logiciels open source et propriétaires présents dans le système.

Concrètement, l’environnement supporte la technologie Remote Processor Framework (remoteproc) pour la distribution Linux et le système d’exploitation temps réel Nucleus de Mentor. L’interface de programmation du noyau Linux VirtIO, utilisée dans le cas d’un hyperviseur, la technologie rpmsg (Remote Processor Messaging) pour les communications entre processeurs IPC (Inter Processor Communication), ainsi que l’API MCAPI (Multicore Processor Communication) sont aussi supportées nativement par cet environnement.