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:

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

Cette vidéo en anglais vous décrit la conception d'un Soc

Pensez à activer les sous-titre dans le menu paramètre si vous en avez besoin

Schéma d'un SoC



Exemple

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

On y trouve:

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 :

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:

Exercices


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

Code de déblocage de la correction :










Parmi les images ci-dessus, observez la partie entourée en rouge et dites, la ou les)quelle(s) représente(nt) un SoC.

Code de déblocage de la correction :


A partir de l'article du site elektormagazine.fr
1) Relevez les differentes caractéristiques du SoC du Raspberry Pi 3 modèle B+.
2) Les comparez au SoC du Raspberry Pi 4.
3) Quelles sont les principales évolutions qui contribuent à ce gain? Une copie de l'article est disponible ici.

Code de déblocage de la correction :


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

Code de déblocage de la correction :

Extraits de sujets de baccalauréat

Code de déblocage de la correction :

Code de déblocage de la correction :

Sitographie

Voici une liste de sites traitant des SoC :

Savoir faire et Savoir

Licence Creative Commons
Les différents auteurs mettent l'ensemble du site à disposition selon les termes de la licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International