Windows « 8 » sur architecture ARM.
* Il faut s’attendre à un temps de portage de ce système d’exploitation, pour qu’il soit adapté aux plateformes au moment de sa sortie. Actuellement, ces plateformes comportent de 256 Mio à 1 Gio de RAM, Windows 7 nécessite au moins 4 Gio de RAM, c’est donc tout physiquement simplement impossible. On peut imaginer 2Go d’ici la fin 2011, c’est la limite proposée par ARM sur la documentation du Cortex A9 qui équipe certains des nouveaux équipements qui ont commencé à sortir cet été. Nous reviendrons par la suite à la puissance pour exécuter les tâches.
* L’évolution est faite en profondeur, avec les architectures ARM de la catégorie des Cortex A15 MPCore, dont les premiers modèles devraient sortir fin 2012 (d’après ARM), qui prévoient tout ce qui est demandé dans un CPU de bureau ou de serveur moderne, la gestion d’une grande quantité de RAM (jusqu’a 1 Tio), la virtualisation etc…
* Le marché sera d’ici là bien occupé par Android et probablement par d’autres formes de Linux comme par exemple Chrome OS (autre OS de Google orienté bureau), MeeGo (Nokia et Intel), Ubuntu (la distribution la plus populaire sur les postes de travail), OLPC (précurseur des netbooks ayant déjà préparé sa tablette ARM) et d’autres distributions légères dédiées. Il y aura sans doute toujours l’iOS d’Apple sur les marchés de niche (les fameux « Apple fanboys » qui sont de plus en plus mis à l’épreuve par les sautes d’humeur de Steve Jobs et les restrictions d’utilisation). ll faudra alors un sacré travail pour Microsoft, pour convaincre les développeurs de venir continuer à développer sur ce système qui aura pris un certains retards sur ses concurrents qui sont déjà assez mûres aujourd’hui avec plusieurs années d’expérience sur la plateforme. Cela dit il y a encore 2 ans personne (sauf Google lui même ?) n’imaginait la percée d’Android. On est en tout cas loin du contexte de Microsoft développeur pour l’architecture des compatibles IBM PC (ou Wintel) crée par IBM en 81. Les systèmes basés sur le noyau Linux qui est le seul à supporter tous les pilotes de l’architecure ARM semble avoir bien marqué son empreinte majoritaire sur se domaine, le poste client informatique était le dernier où il n’était pas majoritaire.
Les principaux avantages des plateformes ARM, résident dans la bonne répartition des tâches sur les différents composant du SoC (System On Chip, système sur une puce), celui-ci comporte différents cœurs de calcul :
* CPU-s, ontrôleur-s principal-aux. L’exécution des applications, toutes les opérations de base, il font les calculs entiers et flottants génériques.
* GPU-s, processeur-s graphique-s. Plutôt dédié à l’affichage des interfaces, 2d, 3d, composition de l’ensemble de l’affichage.
* DSP-s, processeur-s de traitement du signal. encodage/décodage audio, vidéo, il peut aider au calculs 3d et aux traitement des images (effets, amélioration, reconnaissance de visage, tous les appareils photos, vidéo ou audio en ont au moins un).
* Cœur(s) spécialisés dans la compilation à la volée de code de langage de script à la volée (JIT, Just in Time). La version de base de ce cœur nommé Jazelle est spécialisé Java en raison de son historique dans le monde du smartphone, JazelleRCT est un compilateur JIT câblé matériellement sur les Cortex A8 et Cortex A9, et ThumbEE, une extension, qui est adapté à la majorité des langages de scripts, Python, Perl, .NET, Ruby ?, php ?, etc….
* Divers autres comme ceux spécialisés dans la cryptographie, les communications, etc…
Le tout repose actuellement sur une bonne compatibilité aux normes des standards ouverts définis par le groupe de travail Khronos (OpenGL pour la 3d, OpenAL pour l’audio, OpenCL pour le calcul, OpenMax pour les codecs multimédias.. et surtout OpenKODE qui centralise le tout mais n’a pas encore vraiment percé). Le système de Microsoft pour fonctionner doit adapter ses bibliothèques à tous ces standards ouverts, Microsoft à tendu jusqu’à présent à s’opposer aux standards tant qu’ils en avaient le choix, là ils sont verrouillés jusqu’à ce qu’ils deviennent dominants sur ce marché.
C’est l’utilisation simultanée et bien organisé de toutes ces ressources permettent de compenser la faible puissance de calcul du CPU lui même. Avec un système complet qui consomme 2W, on se retrouve par exemple avec un décodage vidéo 1080p via un cœur spécialisé qui ne consommera que 100mW, on est loin des 25W des coprocesseurs qui surchauffaient sur les architectures Atom d’Intel en 2009, considérés alors comme les plus performants et économique à la fois. La solution est donc ici de demander à différents spécialistes de faire leur travail efficacement, plutôt que de demander à différents généralistes de tout faire à la fois, aussi bien qu’il peuvent et à gâcher inutilement toutes leurs ressources.
Donc vu la situation actuelle de ces architectures, l’engouement énorme du grand public pour les plateformes Android, dans la lancée des netbook, qui n’avaient pourtant pas la maturité des plateformes ARM pour consommer vraiment peut et être à la fois vraiment performants. Vu le flop de Windows CE et de son successeur renommer pompeusement Windows Embedded Compact 7, Microsoft ont visiblement définitivement perdu ce marché au moins jusqu’à ce qu’il soit mûre pour faire tourner l’usine à gaz du type MS-Windows.
Quant à l’émulation d’application windows x86, le problème de différence de puissance du CPU, qui préfère reléguer aux autre, le rend quasi impossible (les émulateurs d’autres processeurs RISC et coprocesseurs pour les console de jeux, qui sont généralement pensée de la même façon fonctionnent par contre assez bien). Il faudra au moins 4 Gio de RAM pour le système, a moins d’utiliser une base Linux + 4 Gio de RAM pour windows 7 et ses applications. Il faudra s’attendre ensuite à une grande lenteur pour convertir d’un cpu surpuissant vers un cpu très léger, tout ira docn très très très lentement.
Vu la situation aujourd’hui et le temps que Microsoft arrive à alléger son système pour qu’il puisse tourner sur ce type de configuration et arrive à attirer des développeurs, on peut donc bien espérer attendre dans le meilleur des cas, 2 ans fin 2012, lorsque les premiers Cortex A15 mpcore sortirons, dans le pire des cas, 1 ou 2 ans de plus. Le problème rester inévitablement d’attendre en plus l’adaptation de toutes les applications qui tournent aujourd’hui sous MS Windows pour x86 et qui verrouillent les derniers utilisateurs.