Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog

Publié par Scientifique


  • Tech' You
  • Posté par Vincent Lheur 

Après les ordinateurs de bureau, c’est au tour des smartphones et tablettes de basculer dans le multi-coeur pour offrir toujours plus de puissance de calcul à nos applis favorites.

vant tout, rappelons que le processeur est un peu le moteur d’un ordinateur ou d’un appareil mobile. Il se caractérise principalement par sa fréquence de fonctionnement, qui se mesure en mégahertz (MHz), mais aussi, depuis quelques années, par le nombre de cœurs qui le composent.

Avant la démultiplication des cœurs, la course à la fréquence était le seul cheval de bataille des fabricants de processeurs. Plus la fréquence était élevée, plus le processeur était rapide. On est ainsi passé de quelques centaines de mégahertz dans les années 90 à plus de 3 GHz (3000 MHz) dans les années 2000. Malheureusement, la physique a ses limites, et passer la barrière des 4 GHz ne peut se faire sans éliminer des contraintes énormes (coût des recherches, fabrication compliquée à grande échelle, consommation électrique importante, fort dégagement de chaleur, et donc gros système de refroidissement, etc). La forte chaleur dégagée par les processeurs puissants et leur consommation sont d’ailleurs les plus grands freins à leur intégration dans les systèmes mobiles. Confinés dans un netbook, dans une tablette ou dans un smartphone, ils ont du mal à évacuer leurs calories et se détériorent… embarquant parfois avec eux dans le trépas les composants qui les jouxtent. Quant à la consommation excessive, elle réduit d’autant leur autonomie.

La température d’un portable approche par endroit les 50°C. Le confinement des appareils mobiles est une énorme contrainte au développement de leur puissance de calcul.

Le multicoeur entre dans les appareils mobiles

Le passage aux processeurs multi-cœur – déjà bien éprouvé dans les PC – dans les appareils mobiles est donc devenu une évidence. L’idée est simple : démultiplier la puissance de calcul en démultipliant les processeurs. Ce système existait depuis longtemps dans de gros systèmes professionnels, mais l’industrie informatique l’a apporté aux appareils grand public en simplifiant sa mise en place. Au lieu d’installer plusieurs processeurs côte à côte dans un appareil, les fabricants de processeurs intègrent plusieurs unités de calcul dans un seul processeur. Le principe est le même, mais plusieurs processeurs (cœur, ou core en anglais) tiennent dans un seul. On parle ainsi de processeur multicoeur ou multicore. Un dualcore est un processeur à deux cœurs, un quadcore à quatre cœurs, et ainsi de suite… Pour faire une analogie simple, c’est un peu comme quand on élève un mur de briques : plutôt que d’épuiser un maçon au travail, on assigne deux maçons qui construisent le mur deux fois plus vite, voire quatre pour diviser encore le temps par deux.

Le seul processeur ne suffit pas

En théorie, il suffit donc d’ajouter des cœurs à un processeur pour démultiplier ses performances. En pratique, les choses ne sont hélas pas si simples, et un processeur dualcore n’est pas systématiquement deux fois plus performant que sont équivalent à core unique. Cela pour plusieurs raisons :

- En premier lieu, le système d’exploitation (Windows, Android, MacOS, …) de l’appareil doit être capable de gérer les processeurs multicore. Il peut ainsi faire fonctionner plusieurs applis en même temps et les répartir sur les différents processeurs.

- Un logiciel ou une appli doivent également être programmées d’une façon spécifique pour tirer parti des processeurs multicoeur. Sans cela, on ne constate aucun gain de performance par rapport à un monocore – sauf dans le cas où cette appli tourne en même temps qu’une autre.

- Enfin, même en réunissant les deux cas précédents, on ne peut pas démultiplier les performances proportionnellement au nombre de cœurs en raison des étapes bloquantes. Si l’on reprend l’analogie de l’élévation d’un mur de brique, les maçons qui ont coulé les fondations ne peuvent pas continuer à travailler tant qu’elles ne sont pas solidifiées. Et mettre deux, quatre ou huit maçons ne les fera pas sécher plus vite. De la même manière, un core de processeur doit parfois se mettre en attente d’informations que l’autre core mettra plus ou moins de temps à lui faire parvenir. C’est pourquoi les équipes de programmation doivent maîtriser le codage sur plusieurs processeurs pour réduire au minimum ces temps morts.

Un bon processeur multi-core, un système d’exploitation qui sait le prendre en charge, une appli qui en tire également parti, et des équipes de programmation qui développent les logiciels  dans les règles de l’art, telle est la recette de la performance. Le processeur seul ne suffit pas.

Pour être informé des derniers articles, inscrivez vous :

Commenter cet article