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.
Un System on a Chip (SoC), ou système sur une puce en français, 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.
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.
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 :
Voici une description courte de différents composants présents sur un SoC :
Le processeur (CPU) qui gère entre autre le système d'exploitation présent.
Le carte graphique (GPU) qui gère l'affichage à l'écran des images 2D et 3D.
La puce neuronale ou Neural 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.
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.
La mémoire mémoire sert à sauvegarder temporairement ou à long terme des données et programmes.
Les mémoires utilisées dans des Soc sont souvent la mémoire LPDDR (en anglais : Low Power Double Data Rate, littéralement : « Vitesse de données double à faible
consommation »), ou l'UFS (pour Universal Flash Storage) qui est un standard de mémoire flash ...
Le Northbridge ou pont nord gère les communications rapides entre les processeurs (CPU, GPU, ...) et la mémoire.
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.
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,
le type et nombre de cœurs au sein du processeur,
la finesse de gravure.
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.
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 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 ?
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.
Plus généralement, différentes tâches vont être consacrées à des processeurs dédiés et optimisés pour ces seules fonctions :
la puce neuronale (NPU) traite spécifiquement l'intelligence artificielle,
le processeur de signal numérique (DSP) qui traite les signaux numériques, sonores en particuliers.
le processeur de sécurité (SPU) qui gère la sécurité du smartphone,
...
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.
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 ?
Voici quelques exemple chez les principaux fabriquants:
Compléter le schéma du SoC ci-dessus avec le nom de composants spécifiques.
Parmi les images ci-dessus, observez la partie entourée en rouge et dites, la(ou les)quelle(s) représente(nt) un SoC.
À partir de l'article du site elektormagazine.fr
Relevez les differentes caractéristiques du SoC du Raspberry Pi 3 modèle B+.
Les comparez au SoC du Raspberry Pi 4.
Quelles sont les principales évolutions qui contribuent à ce gain ?
Une copie de l'article est disponible ici.
La photo ci-dessus montre le détail d'un SoC Kirin 990.
Identifier les différentes parties de ce SoC.
Voici une liste de sites traitant des SoC :
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