David et  Goliath: le SoC des smartphones et le CPU des ordinateurs
En coulisse

David et Goliath: le SoC des smartphones et le CPU des ordinateurs

Martin Jud
Zurich, le 04.04.2018
Responsabilité de traduction: Anne Chapuis
Nous passons nos journées à taper sur nos ordinateurs et nos smartphones sans forcément savoir que les technologies de ces deux types d’appareils divergent. En effet, les performances et l’architecture des composants essentiels sont complètement différentes.

L’ordinateur classique possède un processeur intégré, alors que le smartphone est doté d’un SoC («System on a Chip») qui rassemble ses éléments principaux – processeur, carte graphique, contrôleur mémoire ou encore interfaces Ethernet ou Bluetooth – sur une seule puce.

L’architecture d’un processeur

Pourquoi votre smartphone, dont les cœurs de processeur sont plus nombreux et la vitesse d’horloge plus élevée, n’est pas plus performant que votre vieux notebook? En raison de l’architecture de son processeur. x86 et ARM sont les deux architectures les plus courantes. Vous trouverez x86 dans les portables et ordinateurs de bureau , et ARM dans les SoC des smartphones.

Si les smartphones et les tablettes ont mis les processeurs ARM de la famille RISC sur le devant de la scène ces dernières années, leur développement remonte en fait aux années 80. L’entreprise britannique Arcon a commercialisé son prototype à 32 bits et 4 MHz en 1983. À l’époque, l’acronyme «ARC» signifiait «Acorn Risc Machine». Il fait à présent référence à «Advanced RISC Machine ». Le succès ne s’est pas fait attendre, et la production en série à une vitesse d’horloge de 8 MHz a débuté en 1986.

L’architecture x86 a été créée à la fin des années 70. L’Intel i8086, le premier processeur doté de l’architecture de jeu d’instructions x86, a été introduit sur le marché en 1978. Entendre «Intel 80286», «Intel 80386» (AMD Am386) ou «Intel 486» (AMD Am486) peut rendre certains d’entre nous nostalgiques. J’ai d’ailleurs fait mes premiers pas dans l’informatique avec un 286, sur lequel j’ai appris les commandes DOS et joué à des jeux dont le graphisme n’a rien à voir avec ce qui se fait maintenant.

Des architectures différentes

Les processeurs ARM ont été conçus afin de consommer une faible quantité d’électricité et possèdent des jeux d’instructions simples. Les processeurs x86, en revanche, sont principalement destinés à des performances et un débit élevés. Les différences entre les deux familles de processeurs sont variées. Elles concernent la puissance de calcul, la consommation d’électricité et les logiciels de l’utilisateur final.

Pour quelle puissance de calcul les processeurs ont-ils été conçus?

Le nom de la famille des processeurs ARM nous donne déjà quelques indices, puisque «RISC» fait référence à «Reduced Instruction Set Computing» ou «processeur à jeu d’instructions réduit » en français. Le processeur maintient les jeux d’instructions simples et leur nombre aussi restreint que possible. Cette simplicité présente certains avantages pour les ingénieurs matériel et logiciel. Des instructions simples nécessitent l’activation d’un nombre plus faible de transistors, ce qui augmente la surface des puces et réduit leur taille. Par contre, elles sollicitent davantage de mémoire et allongent les temps d’exécution. Le processeur tente de compenser cette faiblesse par des vitesses d’horloge plus élevées et un pipeline (division des instructions-machine en plusieurs étapes) stratégique.

Les processeurs x86 de la famille CISC fonctionnent selon le principe inverse, puisque «Complex Instruction Set Computing» signifie «processeur à jeu d’instructions complexe ». Destinés à des tâches complexes nécessitant une grande flexibilité, ils sont capables d’effectuer des calculs entre divers registres de processeur sans que le logiciel doive charger les variables requises au préalable. Multiplications avec des chiffres à virgule flottante, manipulations complexes de la mémoire et conversions de données figurent parmi les nombreuses opérations courantes de ces types de processeurs.

En outre:
Contrairement aux CPU x86, les CPU ARM ne comprennent que trois catégories d’instructions. * Les instructions d’accès à la mémoire (load/store) * Les instructions arithmétiques ou logiques destinées aux valeurs des registres * Les instructions destinées à modifier le flux de programme (sauts, appels de sous-programmes)

La consommation électrique

La taille de la batterie des appareils mobiles limitant sa capacité, la consommation électrique d’un SoC est un facteur décisif. Ainsi, le SoC de votre smartphone consomme moins de 5 W. Il n’a pratiquement jamais besoin d’être activement refroidi, ce qui économise encore davantage d’énergie.
À l’inverse, un processeur x86 haut de gamme peut facilement consommer 130 W en raison de sa complexité.

Comparons David et Goliath en codant une vidéo

Comparer les deux architectures n’a pas vraiment de sens, car chacune a ses avantages et ses domaines d’application. Mais j’aimerais tout de même savoir à quel point les performances des processeurs se distinguent. J’ai donc rippé le DVD de «Sleepy Hollow» pour le convertir du format MPEG-2 au format H.264. Autrement dit, je réduis ce film de 6,3 Go à environ 1400 Mo, et ce à une qualité pratiquement équivalente.

Les appareils de mon duel: *Un notebook Lenovo X220 de 2012 avec Intel Core i5 2520M, 2 cœurs, 2,50 GHz de vitesse d’horloge de base (max. de 3,20 GHz en mode turbo) *Un smartphone Blackberry Priv de 2015 avec Qualcomm Snapdragon 808, 6 cœurs, jusqu’à 2,0 GHz de fréquence d’horloge

Je veille bien sûr à ce que les mêmes codec et bitrate soient paramétrés sur les deux appareils. Je convertis le film à 1400 kbit/s (à l’aide d’un logiciel de décodage) en une passe juste pour tester (on en fait normalement au moins deux pour améliorer la qualité de la vidéo). Je ne touche pas aux pistes audio, je les laisse au format DTS.

La conversion sur le notebook

J’utilise VirtualDub. Je laisse la bordure noire sur la vidéo afin de préserver ensuite ces conditions sur le smartphone (je ne peux donc pas découper ou recadrer l’image).

La configuration du codec. Pour mon test, je convertis exceptionnellement au mode «single pass».
La configuration du codec. Pour mon test, je convertis exceptionnellement au mode «single pass».

Mon vieux Core i5 2520M y passe à peu près une heure. En 2002, l’opération durait huit heures avec mon Pentium. Je le laissais convertir toute la nuit.

La conversion dure environ une heure sur le notebook.
La conversion dure environ une heure sur le notebook.

La conversion sur le smartphone

Difficile de trouver une application qui ne plante pas ou ne m’affiche pas un message d’erreur lorsqu’elle convertit un fichier de 6,3 Go. Je finis par choisir «A/V Converter».

Mon smartphone se met au travail et réussit à convertir 10 images par seconde. J’attends 5 minutes avant que l’application n’affiche une durée totale estimée de 4 heures et 3 minutes.

Le smartphone a besoin de quatre fois plus de temps que le notebook.
Le smartphone a besoin de quatre fois plus de temps que le notebook.

Résumé

Mon test montre que le SoC d’un smartphone ne peut pas être comparé au CPU d’un ordinateur standard. Le temps que prend une même opération sur le smartphone illustre bien à quel point nos fidèles compagnons mobiles ne font pas le poids.

Par contre, les SoC sont très performants pour leur faible consommation électrique. Mon microprocesseur i5 consomme 35 W, ce qui suffirait à alimenter 7 SoC. Si ces derniers étaient tous reliés, ils pourraient convertir plus vite avec la même consommation électrique que le CPU de mon ordinateur.

Cet article plaît à 30 personne(s)


Martin Jud
Martin Jud
Editor, Zurich
Le baiser quotidien de la muse stimule ma créativité. Si elle m’oublie, j’essaie de retrouver ma créativité en rêvant pour faire en sorte que mes rêves dévorent ma vie afin que la vie ne dévore mes rêves.

Ces articles pourraient aussi vous intéresser