Se connecter avec
S'enregistrer | Connectez-vous

Samsung octocore : la gestion des CPU

Par - Source: Tom's Hardware FR | B 4 commentaires

big.LITTLEbig.LITTLELors de l'annonce du Samsung Exynos 5 Octa, la société coréenne a peu communiqué sur la gestion des 8 cores du processeur. Quelques slides Samsung ont toutefois fuité sur la toile pour montrer les différentes configurations possibles.

4 cores, 4 cores ou 8 cores

Pour rappel, le SoC intègre 4 cores Cortex A15 (un CPU efficace, mais qui consomme beaucoup) et 4 cores Cortex A7 (un CPU optimisé pour la consommation au détriment des performances). Le A15 est un peu plus rapide que le Cortex A9 actuel, alors que le A7 est du niveau du Cortex A8, un modèle d'entrée de gamme.

La gestionLa gestionDans l'exemple de Samsung, les Cortex A7 sont cadencés entre 200 et 1 000 MHz et les Cortex A15 entre 800 et 1 700 MHz (les fréquences commerciales sont un peu plus élevées). Le premier mode est le mode big.LITTLE : il n'est possible d'activer qu'un seul cluster de processeurs à la fois, on a donc 4 cores vus par le système, soit 4 Cortex A15 soit 4 Cortex A7. Le second est basé sur une migration au niveau des cores : on aura toujours 4 cores vus par le système, mais dans n'importe quelle combinaison. On pourra donc activer deux A7 et deux A15, un A15 et trois A7, etc. Enfin, un mode permettant d'utiliser les 8 cores simultanément est disponible.

La gestion au niveau du système d'exploitation est évidemment différente. Dans le premier mode, le système et les applications n'ont pas besoin de connaître le type de CPU, et Samsung donne d'ailleurs les chiffres liés à la migration : le système passe du A7 au A15 quand la fréquence du CPU est de 1 GHz et la charge du processeur au-dessus de 95 %, et il passe du A15 au A7 quand la fréquence est de 800 MHz et la charge CPU sous les 70 %.

Dans le second et le troisième mode, il faut que les applications ou le système d'exploitation soient capables de différencier les cores et de choisir le plus adapté : un lecteur de musique peut se contenter d'un Cortex A7, un jeu a besoin d'un (ou plusieurs) Cortex A15, etc. Il faut donc modifier le système d'exploitation et bien choisir les applications.

Consommation et performancesConsommation et performancesEnfin, Samdung montre aussi un graphique qui mêle consommation et performances. On a donc les performances quand seuls les Cortex A15 sont utilisés (en bleu), les performances quand le 1er mode est utilisé et les performances quand seuls les Cortex A7 sont utilisés. Comme prévu, le mode automatique propose pratiquement les mêmes performances que les A15 seuls, alors que les Cortex A7 sont très lents, en partie à cause des performances brutes, mais aussi à cause de la fréquence, nettement plus faible.

La seconde partie du slide montre la consommation. En lecture vidéo et sur l'écran d'accueil, la consommation de big.LITTLE est la même que celle d'un quad core A7, et elle monte à peine dans les jeux. En surf, la consommation de big.LITTLE est entre les Cortex A15 et les Cortex A7, mais les performances sont très proches de celles des Cortex A15 seuls.

Si la présentation montre big.LITTLE et l'Exynos 5 Octa sous un très beau jour, il faudra évidemment vérifier comment les appareils intégreront le SoC et quel mode Samsung choisira.

Afficher 4 commentaires.
Cette page n'accepte plus de commentaires
  • Cavema , 17 janvier 2013 22:19
    Comment fait-on pour optimiser du code sur une architecture pareille, l'A7 est In Order, l'A15 OutOFOrder dispose d'instrusctions bien plus rapides pour les divisions et de NEON.
    Si la réponse est on ne peut pas, les Cortex A15 finissent sous exploités comparé à un design qui n'utiliserait que ce type de core.
  • turlupin en ptard , 18 janvier 2013 00:54
    L'expression "usine à gaz" devient incontournable pour décrire ce bazar.
    Mais c'est très excitant d'imaginer le futur de toutes ces puces.
    Ceux qui doivent s'amuser le plus sont sans doute les ingénieurs qui les conçoivent. Mais je n'aimerais pas devoir programmer dessus.
    De toute façon la question ne se pose même pas :D 
  • dandu , 18 janvier 2013 09:33
    CavemaComment fait-on pour optimiser du code sur une architecture pareille, l'A7 est In Order, l'A15 OutOFOrder dispose d'instrusctions bien plus rapides pour les divisions et de NEON.Si la réponse est on ne peut pas, les Cortex A15 finissent sous exploités comparé à un design qui n'utiliserait que ce type de core.


    En mode big.LITTLE, c'est assez simple : on optimise le code ARMv7 pour le Cortex A15, il tournera directement sur le A7, même si lent. Si le programme a besoin de puissance, de toute façon il passera automatiquement sur le A15.

    En mode « 8 cores » (big.LITTLE MP), on peut choisir le core, faut juste bien le détecter avant.
  • sonney , 18 janvier 2013 10:11
    +1 toute la beauté de la chose c'est que ça ne demande aucun effort supplémentaire au programmeur. Par contre je suis étonné de la "faible différence de performance. Les A15 sont seulement 2,5 fois plus puissants que les A7? Ai-je mal lu le graphe?