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 System on a Chip (SoC), ou système sur une puce en français, 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.
L'intégration de tous ces composants sur une seule puce permet de gagner en réduction de temps de transfert et de consommation.
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, Internet of Things ou Internet des objets.

Composants 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

Voici une représentation schématique d'un SoC à savoir reconnaître :

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

Voici une description courte de différents composants présents sur un SoC :

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.

Comment allier performance et faible consommation énergétique ?

Au niveau du 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 sur PC cherche à effectuer la tâche qui lui est confiée en visant la plus haute performance possible sans forcément se soucier de la consommation d’énergie.
Le processeur d’un SoC fonctionne en cherchant le plus d'efficience, c'est-à-dire d'efficacité énergétique, possible dans toutes ses tâches. Le but est d'utiliser le moins possible d’énergie provenant de la batterie.
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

La fréquence d'un processeur se mesure en gigahertz (GHz). Une fréquence de 1 GHz signifie que tous les milliardièmes de seconde, le processeur peut traiter un nouveau groupe d'octets. Les puces disposent actuellement de processeurs tournant à une fréquence comprise entre 1.3 et 3 GHz environ.
Plus la fréquence est élevée et plus les performances sont grandes mais plus la consommation énergétique est grande.

Les cœurs

Afin de compenser la limitation de la fréquence, une solution pour gagner en performance et multiplier le nombre de cœurs.
Les tâches peuvent alors être découpées pour être traitées en parallèle par différents 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

La réduction de la taille de la gravure permet de réduire la consommation électrique tout en améliorant les performances par l'augmentation du nombre de transistors disponibles sur une même puce.
La taille de gravure peut descendre actuellement en dessous- de 5 nanomètres (nm).

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.

Quels sont les moyens pour réduire la consommation énergétique d'un processeur CPU sans trop réduire ses performances ?

Code de déblocage de la correction :

Autres moyens

Le GPU du SoC

La puce graphique ou GPU sert à calculer des images en 2D ou 3D affichées ensuite sur l’écran via les pixels de la dalle.

Ce calcul d'images est constant dans un GPU de smartphone pour afficher une page web, une vidéo, ...

LE GPU est construit pour être adapté aux tâches de calcul d'image afin d'être bien plus efficient que ne le serait le processeur CPU.
Il y a une adaptation des ressources dont le GPU dispose en fonction des besoins.

Autres composants

Plus généralement, différentes tâches vont être consacrées à des processeurs dédiés et optimisés pour ces seules fonctions :

L'architecture du SoC

La miniaturisation permet de compenser une partie de la baisse de fréquence par rapport au CPU d'un ordinateur classique.
D'une part, par la finesse de gravure ; d'autre part, par la proximité des différents composants qui permet aux données de circuler très rapidement entre ceux-ci.

La partie logicielle

Le système d'exploitation doit être optimisé afin de consommer un minimum de ressource.

Apple réussit à faire bénéficier ses appareils d’un rapport consommation – performances favorable puisque ce constructeur ne commercialise que très peu d’appareils (iPhone, iPad et iWatch) : Apple optimise son système d'exploitation iOS en fonction du processeur utilisé.

Sur Android, c’est bien plus compliqué, puisque chaque téléphone est différent, que ce soit au niveau matériel que logiciel. Ainsi, 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 commerciales de l’écosystème Android peut aussi amener des performances peu optimales sur certains modèles.

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, pour compenser le moindre niveau d’optimisation que chez Apple.

Sans considérer le processeur CPU, quels sont les moyens de réduire la consommation énergétique d'un SoC sans réduire les performances ?

Code de déblocage de la correction :

Pour info : exemples de SoC actuels

Voici quelques exemple chez les principaux fabriquants:

Exercices


Compléter le schéma du SoC ci-dessus avec le nom de composants spécifiques.

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 :


À 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