Se connecter avec
S'enregistrer | Connectez-vous

2 Go de RAM dans un smartphone, bientôt la limite

Par - Source: Tom's Hardware FR

Optimus

Un problème différent de celui du PC

Dans le monde des smartphones, on a des systèmes qui pourraient être (très) facilement portés en 64 bits et des appareils qui sont équipés de plus en plus de mémoire, mais pas de processeurs 64 bits. Sur PC, dans les années 2000, les processeurs 64 bits sont arrivés bien avant que les PC soient couramment équipés de 1 ou 2 Go de RAM, et les OS ont suivi nettement plus tard.

Hier, LG a annoncé un nouveau smartphone, l'Optimus LTE2. Ce modèle qui se destine à la Corée du Sud n'est pas très important pour les Français, mais il a une particularité : c'est le premier smartphone doté de 2 Go de RAM. En l'espace de quelques années, on est passé de 192 Mo de RAM sur le premier smartphone Android (HTC Dream en 2008) ou 128 Mo de RAM sur le premier iPhone en 2007 à 1 Go de RAM en moyenne sur les smartphones et les tablettes Android (512 Mo sur les iPhone et 1 Go sur le dernier iPad).

Cette inflation de la quantité de mémoire pose le même problème que sur PC il y a quelques années : on arrive à la limite. Les SoC ARM sont tous basés sur des puces 32 bits (Cortex A9, Cortex A8, Krait, etc.) et il n'y a pas vraiment de solutions à court terme, contrairement à la situation des années 2000 quand AMD et Intel sont passés au 64 bits.

Le problème principal vient d'ARM directement : si le jeu d'instructions ARMv8 est 64 bits, la société n'a pas annoncé de processeurs compatibles. Applied Micro a annoncé un CPU compatible, mais il est dédié au monde des serveurs. Les deux prochains cores d'ARM, le Cortex A7 et le Cortex A15, sont toujours des puces ARMv7 et 32 bits, même s'il y a quelques modifications. ARM utilise en fait la même technique qu'Intel en son temps : le PAE (ici le LPAE). Le processeur reste 32 bits mais le bus d'adressage est capable de travailler sur 40 bits (1 To de mémoire) et la mémoire est segmentée en zones de 4 Go (la limite du 32 bits) pouvant être attribué à un processus. Cette solution a plusieurs défauts (notamment la vitesse) mais c'est — malheureusement — la seule disponible actuellement.

Comme on le voit, les smartphones vont devoir se limiter pendant quelques années à 2 ou 3 Go de RAM...

Il y a 22 commentaires. B
Tous les commentaires
  • 4
    Big Monstro , 4 mai 2012 15:24
    C'est toujours embêtant qu'il y ait des limites dans la gestion de la mémoire, mais remarquez que dans le cas des smartphones, l'utilisateur peut relativiser : 2 Go de RAM devrait encore lui suffire pendant encore longtemps.

    Maintenant, c'est clair que les concepteurs et les développeurs doivent s'efforcer d'assurer la transition entre le 32 bit et le 64 bit - transition qui est d'ailleurs encore largement inachevée sur PC du point de vue logiciel, malgré que les processeurs x86 Intel et AMD sont presque tous 64 bits depuis 2004~2005 *

    * edit : enfin, je dois préciser sur le marché des ordinateurs de bureau ou desktop. Sur les appareils mobiles, la transition a été plus tardive. Par exemple, les Atom N270 et N280 sont uniquement 32-bit, et ces processeurs ont été remplacés seulement vers 2010.
  • 0
    malfretup , 4 mai 2012 15:43
    En effet, comme le souligne Big Monstro, je pense également que 2Go de RAM devrait encore suffire un bon bout de temps... en effet, la gestion du multitâches sur un ordinateur et sur un smartphone n'a rien à voir...
  • 0
    theomegaman , 4 mai 2012 16:11
    Faut quand même pas exagérer, le 2Go ne se généralisera pas avant 2013 et le 3Go pas avant 2014 voir 2015, largement le temps de voir des ARM 64bits pointer le bout de leur nez
  • -1
    denis mike , 4 mai 2012 16:43
    l'utilisateur peut relativiser : 2 Go de RAM devrait encore lui suffire pendant encore longtemps.
  • 0
    mum1989 , 4 mai 2012 16:58
    quid des OS mobiles ? Ils supporteraient tous le 64bit ?
  • 0
    dandu , 4 mai 2012 18:12
    mum1989quid des OS mobiles ? Ils supporteraient tous le 64bit ?


    Pour le moment, non, mais iOS est basé sur le même noyau qu'OS X qui gère bien le 64 bits, et Android c'est Linux, donc même chose.
  • 0
    mertsag , 4 mai 2012 18:31
    Je pense aussi qu'il n'y a pas de quoi s'inquiéter, le temps que 2Go soient insuffisants ARM a largement le temps de développer le 64 bits...
    Je ne crois pas que ce soit un problème technique, mais comme c'est pas nécessaire pour l'instant autant éviter les dépenses superflues...
  • 2
    jeewee2 , 4 mai 2012 18:37
    "640 kb should be enough for anybody."
    Bill Gates, 1981 ;) 
  • 0
    Big Monstro , 4 mai 2012 19:49
    @ jeewee2 > Si l'on considère les logiciels de Microsoft, la grande différence entre cette époque et aujourd'hui, c'est que leurs logiciels de base ne semblent plus s'alourdir systématiquement à chaque nouvelle version.

    Prenons le cas de Windows, entre le milieu des années 1980 jusqu'au milieu des années 2000, c'est-à-dire de la première version jusqu'à Vista, on a connu une incroyable inflation des ressources matérielles requises. Depuis lors, il y a eu un arrêt : Windows 7 demande la même chose que Vista et Windows 8 pareil. Soit une stagnation en six ans. Un certain nombre de logiciels ont fait pareil. Du coup, on peut envisager de garder un ordinateur plus longtemps si on ne fait que de la bureautique/internet ou du multimédia léger par exemple... Ce qu'on se contente généralement de faire sur un smartphone notamment.

    Après, il arrivera certainement un jour où 2 Go de RAM ne suffira plus pour un usage basique, mais la tendance qui existe depuis les débuts de l'informatique semble quand même s'être ralentie et d'un point de vue écologique, on ne s'en plaindra pas (c'est le processus de fabrication d'un ordinateur qui pollue le plus, pas son usage).
  • 0
    xinyingho , 4 mai 2012 21:53
    Faut arrêter de parler d'une limite à 2 Go. La limite est à 4 Go. Certes l'article n'est pas très clair dessus mais un CPU 32 bits a un espace d'adressage 32 bits, donc il peut addresser 2^32 bits. Je vous laisse faire le reste du calcul mais ça donne bien 4 Go à la fin. Après, l'OS, comme les Windows 32 bits, peut se réserver une partie de l'espace mémoire au lieu de la laisser aux applications, réduisant donc l'espace disponible à 3 et quelques Go mais ça change rien au vrai chiffre final.
  • 0
    anonymous@guest , 4 mai 2012 22:22
    Moi comprends pas ils font des os encore en 32 bits,je comprends il y a plus de souplesse en programmation mais aujourd'hui il faut passer ce cap.

    Arm font purement en 32 bits car en 64 bits le processeurs serait plus gros,plus consommatrice en watt.
  • 0
    anonymous@guest , 4 mai 2012 22:34
    C clair que l'évolution du produit smartphone évolue vers du multifonction console de salon ou voir en ordinateur dans les année qui viennent avec un systeme de dock.

    J'imagine ARM a compris le pas du 64 bits est obligatoire (serveur,pc etc ...)
    D’ailleurs Microsoft avec Windows 8 c une preuve.

  • 0
    uc6809 , 5 mai 2012 08:16
    @xinyingho > les SOC ARM ont bien une limite de 4G, mais ce n'est pas uniquement les OS qui limitent la RAM à 2GO, mais également ARM lui même. Car certaines adresses sont utilisées pour accéder aux différents périphériques (clavier, écran, GSM, …), ce qui simplifie la conception au lieu d'utiliser des instructions spécifiques d'entré/sortie. Sur la plupart des SOC ARM que j'utilise, 2Go sont utilisés uniquement pour cela (il y a donc de la perte).

    Pour la limite de la RAM, les capacités du processeur ne sont pas une contrainte insurmontable. Les plus jeunes d'entre vous ne connaissent peut-être pas les machines 8bits Thomson (MO5, TO7, TO8, …). Sur ces machines le processeur ne pouvait adresser que 64Ko, or sur certaines (ex : TO8), il y avait 256Ko. L'utilisation de cette énorme mémoire ;-) était réalisée au travers d'une électronique annexe au processeur et d'un peu de jonglage dans l'OS.
    A mon avis le choix entre ce type de technique et l'utilisation du 64 bits sera principalement fait sur la complexité de mise à jour de l'OS, mais également sur la consommation du SOC 64bits comme la indiqué totora645@Guest
  • 0
    xinyingho , 5 mai 2012 09:27
    uc6809@Guest : merci pour ces précisions sur les E/S des SOC ARM :) 
  • 0
    AmaCha , 5 mai 2012 21:51
    C'est moi où c'est un faux problème?!
    Les derniers processeurs ARM (ceux qui seront présents sur le marché lorsque plus de 4Go seront utiles : A15, A8 et déj0 le A7a) supportent la virtualisation d'adressage (LPAE) sur 40bits (soit 1To) ... donc le problème est déjà "résolu" avant de se présenter
    ARMv7a pour les serveurs
    L'architecture ARMv8 prévoit d'ailleurs déjà l'adressage en 64 bits...
    Architecture ARMv8
  • 0
    Ice001 , 6 mai 2012 10:19
    Joli mélange d'adressage mémoire, de jeu d'instruction et usage de la mémoire des OS.
    N'oubliez pas qu'un usage 64 bits de la mémoire n'apporte pas que l'avantage de l'espace d'adressage de faire des calculs sur 64 bits directement. Et là on se pose la question de l'intérêt ? pour quoi faire ?
    Ceux qui se désespère de pas avoir un hard 64 bits et un os 64 bits sur le téléphone me font bien sourire...
    Est-ce au moins qu'ils ont vu une différence sur le navigateur web dans leur PC entre leur OS 32 ou 64 bits? Je ne le pense pas =)
  • 1
    mitch074 , 6 mai 2012 14:23
    Cela fut abordé plusieurs fois, mais la longueur des instructions d'un processeur n'a pas directement de poids sur ses capacités d'adressage - la preuve, les premiers processeurs PC avaient des instructions 16-bits mais faisaient leur adressage sur 20-bit (8088-8086, 1 Mo au total) ou 24-bit (80286, 16 Mo au total). Ce n'est en fait qu'à partir du 386 que longueur d'instruction et capacité d'adressage sont devenues identiques - et cela eut un léger impact positif sur les performances, dans le cas où le bus processeur était assez large pour effectuer un adressage en un seul cycle au lieu de 2 (donc, à partir du 386DX).
    Lorsque Intel sentit approcher les limites de l'adressage sur 32-bit, le PAE fut mis au point (et intégré au Pentium Pro) - selon un principe similaire à ce qui était utilisé sur les processeurs avant 386: un appel à ce jeu d'instructions permettait de passer d'une page d'adresse (4 Go) à une autre, et de communiquer des données d'une page à l'autre.
    Il y eut un gros problème, par contre: bien que le support de PAE fut intégré dans le noyau NT de Windows (2000, XP et plus récents), beaucoup de développeurs de pilotes de périphériques n'en ont pas tenu compte - et donc, les pilotes de périphériques rendent entre 256 Mo et plus d'1 Go sur 4 Go inutilisable sur un PC (ils se réservent ces plages d'adresse mémoire) et empêchent l'activation de PAE (essentiellement parce qu'ils ne prennent pas en compte les changements de page courante) - on notera d'ailleurs que les version 32-bit des OS serveurs Microsoft supportent entre 8 Go et 16 To de RAM depuis un moment, même si ce support est artificiellement limité dans les versions grand public.

    La gourmandise irraisonnée des programmes en RAM est l'autre source de limitations. Maintenant, comparons avec le monde ARM...

    Les puces ARM sont actuellement typiquement utilisées avec des environnements de type UNIX sur des plateformes fermées: les fabricants mettant au point des pilotes pourris et sans support sont l'exception plus que la règle, contrairement à Windows - il n'y a donc pas de frein à l'utilisation de LPAE comme il a pu y en avoir dans le monde x86 - où les utilisateurs de Linux peuvent, depuis longtemps, choisir le type de support désiré, au prix d'un peu de performance processeur:
    - pas de PAE: 4 Go adressables, le système réserve une portion différente des plages d'adressage en fonction de la RAM installée.
    - PAE: 4 Go adressables en plein, activation du bit NX - actuellement, le mode par défaut de la plupart des distributions 32-bit. Impact estimé sur les performances entre 2 et 5%.
    - Long Pages Support: jusqu'à 4 To adressables.

    De plus, plateforme unixienne mobile oblige, le mot "optimisation" est réapparu dans le langage des développeurs: les vraies applications utiles sont légères, rapides à l'exécution et assez frugales en RAM, ou alors utilisent les toolkits fournis par le système.

    Donc, si le fait que les mobiles actuels approchent de la limite de 4 Go de l'adressage direct sur 32-bit, les gros problèmes connus sous Wintel ne sont pas près de se reproduire: OS, pilotes et matériel supportent déjà l'extension d'adressage.
  • 0
    fitfat , 7 mai 2012 09:52
    mitch074>C'est surtout que le problème de la rétrocompatibilité n'existe pas sur smartphone.
  • 0
    shooby , 7 mai 2012 13:47
    De toute façon dans l'absolu c'est quand même bien suffisant 2 Go de RAM sur un téléphone. Déjà qu'avec 1 Go cela fonctionne déjà bien. Ce ne sont quand même pas des PC non plus
  • 1
    fitfat , 8 mai 2012 10:35
    Pour le moment.
Afficher plus de commentaires