Composants intégrés d'un système sur puce

Introduction vidéo

Regardez cette vidéo sur l'histoire de l'informatique à partir de la 17ème minute environ pour comprendre l'existence des puces SoC. Vous pouvez regarder la vidéo complète pour des rappels de première.

si la vidéo lumni ne fonctionne pas, voici le lien

Généralités

Au sein d’un ordinateur “classique” tel qu’un PC de bureau, les choses sont assez simples. Le processeur (CPU) se charge de réaliser les calculs les plus répandus, ceux qui permettent par exemple de faire tourner le système d’exploitation ou un navigateur web. On trouve aussi la carte graphique (ou GPU) qui se charge d’afficher une image, qu’elle soit en 2D ou bien en 3D comme dans les jeux. La carte-mère relie entre eux tous les composants, le CPU, le GPU, mais également la RAM et d’autres cartes additionnelles et petites puces.

Mais depuis le début de l’ère des smartphones, on assiste à l’émergence de systèmes tout-en-un. Ainsi, presque tout le contenu d’un ordinateur se retrouve finalement dans une seule puce sur le smartphone : le System on a Chip (SoC), ou système sur une puce en français.

C'est un circuit intégré essentiel au fonctionnement des objets connectés et des smartphones.

Définition

Un SoC comprend à la fois:

  • le processeur central à un ou plusieurs cœurs de calcul
  • un processeur graphique
  • la mémoire vive
  • la mémoire statique (Rom, Flash, EPROM)
  • les puces de communications (Bluetooth, WiFi, 2G/3G/4G, LoRa…)
  • les capteurs nécessaires au fonctionnement d’un smartphone ou d’un objet connecté
  • ...

En clair, le système sur une puce comprend tous les éléments essentiels d’un ordinateur comprimé dans une forme réduite. Son faible encombrement, son caractère complet et sa faible consommation d’énergie en font un circuit intégré idéal pour les applications mobiles, notamment l’IoT.

Représentation schématique d'un SoC

Schéma d'un SoC



Exemple

Prenons l'exemple du SoC Exynos 990 qui équipe les Galaxy_S20

On y trouve:

  • Le processeur (CPU)
  • Le carte graphique (GPU)
  • La puce neuronale ou Neutral Processing Unit (NPU), est une puce en charge de l’intelligence artificielle de votre smartphone.
  • Le modem qui gère non seulement le Wifi, Bluetooth, le NFC ou bien encore les technologies mobiles. C’est-à-dire la 4G, ou plus récemment la 5G mais également de plus vieux réseaux tels que la 3G.
  • Le processeur de signal numérique ou Digital Signal Processor (DSP) est en charge de traiter les signaux numériques. Ainsi, il va permettre le filtrage, la compression ou encore l’extraction de différents signaux tels que la musique ou encore une vidéo.
  • Le processeur d’image ou Image Signal Processor (ISP) est une puce prenant en charge la création d’images numériques. Dans la réalité et de par leurs tailles minuscules, les capteurs photo de nos smartphones sont mauvais. La qualité qu’il est actuellement possible d’obtenir est intimement liée à cette puce. En effet, c’est grâce à elle que votre smartphone va traiter la prise et la création de votre photo.
  • Le processeur sécurité ou Secure Processing Unit (SPU) est le bouclier de votre smartphone. Son alimentation électrique est indépendante afin de ne pas pouvoir être éteint en cas d’attaque sur celui-ci. Le SPU est d’une importance capitale, celui-ci va stocker vos données biométriques, bancaires, votre SIM ou encore vos titres de transport. C’est lui qui contient les clés de chiffrement de vos données.)
  • N'oublions pas les différentes choses qui ne sont pas représentée sur le schéma, la mémoire, comme La mémoire LPDDR (en anglais : Low Power Double Data Rate, littéralement : « Vitesse de données double à faible consommation »), ou comme l'UFS (pour Universal Flash Storage) qui est un standard de mémoire flash ...

Les différents types de Soc

Il n’y a pas un seul système sur une puce. Les utilisations variées de ce type de circuit intégré demande des architectures sensiblement différente. On distingue trois grandes familles de SoC :

  • Le système sur une puce construit autour d’un microcontrôleur, la forme la plus simple d’un SoC qui a donné naissance aux cartes Arduino.

  • Le système sur une puce construit autour d’un microprocesseur. Il s’agit du SoC, le plus répandu parce qu’utilisé par tous les fabricants de smartphones. Doté d’un Bus externe, il permet de connecter de nombreux capteurs.

  • Le système sur une puce dédié à une tâche spécifique. Cette dernière famille comprend notamment les puces reprogrammables FPGA.

L’Internet des objets peut faire intervenir les trois familles de système sur une puce, suivant la complexité de l’objet, du capteur ou du système embarqué connecté à concevoir. Cependant, le Soc basé sur un microprocesseur prend généralement place dans la plupart des objets connectés. Suivant les fabricants et les besoins, il existe plusieurs architectures. Deux d’entre elles prennent place dans la grande majorité des produits électroniques conçus ces vingt dernières années.

L’architecture ARM :
Conçu par la société du même nom, l’architecture ARM a été développé en interne à la fin des années 1980. C’est en 1987 qu’elle est la première fois utilisée dans la gamme d’ordinateurs 32 Bits Archimede. L’architecture ARM ne dépend pas d’un seul fabricant. Le modèle économique de l’entreprise repose sur la vente de licences à d’autres fabricants. Les SoC d’ARM se retrouvent ainsi dans la plupart des smartphones et des objets connectés.

L’architecture X86 :
Voici l’architecture la plus répandu dans le monde. Conçue par Intel, elle est utilisée commercialement depuis 1978. Cette architecture a permis de développer les processeurs des ordinateurs, des serveurs ou encore de certaines tablettes. Intel Atom est la gamme SoC du célèbre fondeur. Cependant, l’architecture X86 est beaucoup moins utilisée pour développer les modèles d’un système sur puce IoT.

Pourquoi préférer un SoC à une solution classique?

Le CPU du SoC

Au sein d’un SoC, on trouve donc bien sûr, un processeur. Le processeur (ou CPU) au sein d’un SoC joue le même rôle que sur un PC. Avec néanmoins une différence importante.

Un processeur “classique” cherchera à effectuer la tâche qui lui est confiée en visant la plus haute performance possible sans se soucier de la consommation d’énergie. Le processeur d’un SoC fonctionne lui à rebours de ce principe et les constructeurs cherchent avant tout à le rendre le plus efficient (efficace en terme d’énergie) possible dans toutes ses tâches. Le but est qu’il utilise le moins possible d’énergie. Mais également que l’énergie qu’il utilise, provenant de la batterie, soit le mieux utilisée, afin de rentabiliser celle-ci. Ce principe s’applique également aux ordinateurs portables, dans lesquels on peut trouver des processeurs mobiles ou des SoC.

Pour arriver à de bonnes performances en ménageant la consommation d’un processeur, il est possible de jouer sur plusieurs facteurs. La fréquence du processeur, le type de cœur au sein du processeur, ainsi que le procédé de gravure.

LA FRÉQUENCE (MHz)

La fréquence de fonctionnement est un facteur important dans la consommation d’un processeur, mais trop la baisser a de sérieuses conséquences sur ses performances. On trouve actuellement des puces dotées d’une fréquence de fonctionnement comprise entre 1,3 et 3 GHz environ.

LES CŒURS

Le type de cœurs au sein du processeur a également son rôle à jouer.

Par exemple un cœur Cortex-A53 consomme beaucoup moins qu’un cœur Cortex-A72, mais ne fournit absolument pas le même niveau de performance. Si le premier est spécialement conçu pour consommer extrêmement peu d’énergie, le second est plus porté vers la performance, mais consomme beaucoup plus.

LA GRAVURE

Enfin de nouveaux procédés de gravure sont également un facteur crucial dans le domaine des SoC pour offrir de bonnes performances avec une faible consommation. Il permet d’obtenir une amélioration des performances (en augmentant le nombre de transistors) tout en limitant l’augmentation de la taille de la puce ainsi que sa consommation électrique.

Le passage d’une gravure 28 nanomètres à 16 nanomètres et l’utilisation de nouveaux cœurs Cortex-A72 en lieu et place des Cortex-A15 permet d’utiliser 75 % moins d’énergie pour les mêmes tâches, comme illustré ci-dessous par ARM.

Le GPU du SoC

La puce graphique ou GPU est peut-être quelque chose de familier aux joueurs PC. Bien qu’à une échelle différente au sein d’un smartphone, le GPU remplit fondamentalement les mêmes tâches que sur un PC. Son rôle est de calculer des images en 2D ou 3D affichées ensuite sur l’écran via les pixels de la dalle.

Concernant le calcul des images 2D, il a lieu constamment puisque, très concrètement, le GPU est activé dès qu’il faut afficher une page web, naviguer dans Google Maps, ou afficher une vidéo, c’est à dire, presque constamment, mais à différents niveaux sur un smartphone récent.

Bien que le CPU soit très puissant, il n’est pas adapté à ce genre de tâches, le GPU du SoC (et ses différentes unités) va de gérer de manière bien plus efficace & économe l'affichage en adaptant en permanence les ressources dont il dispose en fonction des besoins.

L'architecture même du SoC

La encore, la finesse de gravure a un rôle primordial qui couplée avec la promiscuité des différents composants permet aux données de circuler très rapidement. Cette miniaturisation permet permet de compenser une partie de la baisse de fréquence par rapport à un ordinateur clasiique

La partie logicielle

Cette partie n'est pas à négliger, l'OS (operating system), doit d'être optimiser afin de consommer un minimum de ressource.

À ce petit jeu, Apple fait figure de leader puisque le constructeur ne commercialise que très peu d’appareils (iPhone, iPad et iWatch). Il lui est donc possible d’optimiser de manière extrêmement poussée iOS en fonction du processeur utilisé et de bénéficier d’un rapport consommation – performances extrêmement favorable.

Sur Android, c’est bien plus compliqué, puisque chaque téléphone est différent, que ce soit au niveau matériel que logiciel.Google doit donc tenir compte d’une très grande diversité de configurations dans l’écosystème Android

Cette diversité, qui est une des forces de l’écosystème Android peut également se retourner contre lui. Cela peut en effet amener des performances loin d’être optimales sur certains modèles ou bien certaines applications ne fonctionnant simplement pas sur certains smartphones.

C’est une des raisons pour lesquelles les processeurs utilisés dans les SoC des smartphones Android sont généralement cadencés à des fréquences plus hautes et possèdent plus de cœurs par rapport à un iPhone, à défaut de pouvoir atteindre le même niveau d’optimisation que chez Apple.

Pour info: exemples de SoC actuels

Voici quelques exemple chez les principaux fabriquants:

  • Apple (A13 Bionic):

    il équipe les iPhone 11, le SoC dispose d’un CPU 6 coeurs: 2 coeurs 2.65 GHz Lightning et 4 coeurs 1.8 GHz Thunder. Le GPU du SoC est le A13 GPU 4 cores.

  • Qualcomm (Snapdragon 865):

    Qualcomm est le leader sur le marché des SoC mobiles. Le Snapdragon 865 dispose d’un CPU 5G 8 coeurs: 1 cœur 2.8 GHz Kryo 585, 3 cœurs 2.4 GHz Kryo 585 et 4 cœurs 1.8 GHz Kryo 585. Le GPU quant à lui est un Adreno 650.

  • Huawei (Kirin 990)

    il equipe Huawei P40 et P40 Pro. On y retrouve un CPU 5G 8 coeurs avec 2 coeurs 2.86GHz A76, 2 coeurs 2.36GHz A76 et 4 coeurs 1.95GHz A55. La carte graphique (GPU) est un Mali-G76 MP16.

  • Samsung (Exynos 990)

    il equipe les Samsung Galaxy S20 en Europe. Le Soc Exynos 990 dispose d’un CPU 5G 8 coeurs: 2 coeurs 2.73GHz Samsung M5, deux coeurs 2.5GHz Cortex A76 et quatre coeurs 2GHz Cortex A55. Pour finir, le GPU est un ARM Mali G77MP11.

Exercices


Compléter le schéma du SoC ci-dessus


La photo ci-dessus montre le détail d'un SoC Kirin 990
Identifier les différentes parties de ce SoC

Sitographie

Voici une liste de sites traitant des SoC :

Savoir faire et Savoir

  • Identifier les différents composants d'un SoC
  • Connaître la définition d'un SoC
  • Connaître les acronymes des différentes composants d'un SoC
  • Connaître les avantages d'un SoC