L'architecture ARM ne peut encore remplacer l'x86, regrette Linus Torvalds

Florian Innocente |

L’architecture ARM n’est pas encore en mesure de prendre la place de l’architecture x86 d’Intel. C’est le constat qu’a dressé Linus Torvalds alors qu’on l’interrogeait sur celle qui avait sa préférence.

Le développeur et créateur du noyau Linux intervenait il y a quelques jours à la conférence Linaro Connect de Las Vegas (son propos arrive vers la 21e minute de la vidéo).

Depuis un certain temps déjà, des indices laissent à penser qu’Apple pourrait à nouveau changer de cheval. Abandonner Intel et faire pour le Mac ce qu’elle a fait pour ses iPhone et iPad : prendre en main le destin de ses processeurs, ne plus dépendre du calendrier d’Intel et de ses aléas, pour développer ses puces sur la base des designs imaginés par ARM.

Torvald a une véritable affection pour cette autre architecture qu’il a pratiqué à la fin des années 1980. Après s’être fait la main sur la famille 68000 de Motorola et le processeur 6502 en particulier, il a tenté l’aventure avec l’Archimedes d’Acorn.

Archimedes A410, crédit nightfallcrew — Cliquer pour agrandir

Cette famille d’ordinateurs avait cela d’inédit qu’elle s’appuyait sur un processeur ARM de type RISC (à l’instar des PowerPC plus tard). C’est cette puce qui donnera naissance en 1990 à la société britannique ARM, constituée par Acorn Computer, VLSI Technology et Apple (en vue d’équiper son Newton).

Les Archimedes, bien que novateurs et puissants, n’ont pas connu un très grand succès en dehors des écoles britanniques et d’un cercle de passionnés. Torvalds est alors passé sur le QL de Sinclair — famille de processeurs 68000 — mais ce fut un autre échec commercial.

Linus Torvalds en est ressorti vacciné et en a tiré une leçon : « Ne jamais, ô grand jamais, investir dans quelque chose qui n’a pas derrière lui le soutien d’une infrastructure ». Ce n’est pas tant une histoire de jeu d’instruction meilleur qu’un autre, dit-il, mais de l’existence d’un « écosystème » solide autour.

30 ans après la disparition des ordinateurs d’Acorn, il n’existe toujours pas de plateforme de développement basée sur une architecture ARM, se désole Torvalds : « J’adore le concept ARM et cela me déçoit profondément ».

Aujourd’hui, les développeurs conçoivent toujours leurs applications sur des ordinateurs basés à processeurs x86. Tout en louant les vertus pédagogiques pour les jeunes de ce « jouet » qu’est le Raspberry Pi — construit avec un processeur ARM — il observe que là aussi il faut un PC x86 pour développer dessus.

« C’est un gros, gros problème et ARM ne pourra pas gagner tant qu’il ne lèvera pas cet obstacle » avant de conclure en riant « Et j’ai toujours raison ».

Apple, à ce titre, est bien placée pour tenter de répondre à ce challenge. Elle s’appuie sur des designs ARM pour ses Ax et conçoit en parallèle les ordinateurs utilisés pour développer des apps iOS. En décidant un jour de basculer ses Macintosh sur une architecture ARM elle serait en mesure, peut-être, d’exaucer enfin le vœu de Torvalds…

avatar Nicolapps | 

Si Apple passe à l'ARM pour ses Mac, est-ce que cela signifie que les applications actuelles devront être adaptées pour être nativement compatibles ? Est-ce que Apple permettra l'exécution de programmes Intel sur les nouvelles machines à l'aide d'un émulateur (comme ils l'ont fait avec Rosetta) ? Affaire à suivre...

avatar Dark-mac | 

@Nicolapps :
Oui les applications devront être adaptés pour l'architecture ARM, mais si les applications ont été développées en utilisant Xcode et en Objective-C/Swift alors la moitié du travail à déjà été faite. (C'est valables pour 75% des applications, pour certaines il y aura besoin d'un peu plus de travail).

avatar LoursonMignon | 

@Dark-mac :
C'est justement ce que j'allais dire, ça fait bien longtemps qu'Apple prépare le terrain avec son langage Swift qui rend va rendre la transition transparente. Sachant que Swift ne se limitera pas au seul écosystème d'Apple, plein de développeur seront coder aussi sur et pour des architectures ARM et x86

avatar Dark-mac | 

Oui et surtout que ça permettra de faciliter les portages d'apps ou de jeux entre iOS, macOS et tvOS.

avatar awk | 

@Dark-mac :
Pas vraiment

avatar C1rc3@0rc | 

@Dark-mac

Il faut distinguer 2 choses:
- l'architecture de la machine
- l'interface et l'usage de la machine

Il est certain que plus on utilise un environnement de programmation de haut niveau et qu'on respecte les normes et standards du systeme de developpement, moins le passage d'une architecture processeur a une autre represente une difficulté.

iOS c'est MacOS a 95%. Reste donc les 5% qui represente l'interface et la telephonie.

Bref pour le developpeur, la question de l'architecture ne se pose pas dans la grosse majorité des cas.
Par contre ce qui pose un gros probleme c'est l'interface graphique et la conception de l'application pour cette interface. C'est pas qu'une question d'apparence, c'est une question d'usage. Concevoir une application pour un mobile tactile c'est tres different d'une application pour un PC pensé pour le clavier et la souris.

Il y a aussi la nature des applications qu'il faut prendre en compte.

Sur mobile on fait des applications de consultation de contenus pas de production. L'interface doit etre minimaliste, tres reactive, les fonctions doivent etre tres limitées. L'usage se fait en mobilité.

Sur PC on peut developper des applications de creation tres complexes, avec des interfaces elaborées et penser a un usage dans un bureau.

Si on considere le jeu, celui sur mobile doit être conçu pour etre executé en mobilité, en temps court et fractionné avec juste l'ecran et le gyroscope comme controles.

Sur PC on pense a l'utilisateur dans son salon qui va jouer pendant des heures non stop avec un ensemble de controles variés (clavier, souris, joystick et autres manettes, kinect,...)

Celui qui sait developper sur mobile ne sait pas developper sur PC et inversement. Le portage d'une application d'une plateforme a l'autre necessite une reconception de la logique d'usage. C'est la difficulté.

Swift et les API vont beaucoup aider, mais c'est pas si simple.

avatar awk | 

@C1rc3@0rc

"iOS c'est MacOS a 95%. Reste donc les 5% qui represente l'interface et la telephonie."

Tu parles de quoi ? de la proportion de code commun au deux OS ?

Tes chiffres me semblent très fantaisistes

avatar awk | 

@@C1rc3@0rc

"Par contre ce qui pose un gros probleme c'est l'interface graphique et la conception de l'application pour cette interface."

Mais cette question ne se poserait nullement au sein d'un même OS supportant des processeurs différents.

C'est là totalement transparent pour le code.

avatar C1rc3@0rc | 

Je crois que tu n'as pas compris.
Un soft c'est un processus de traitement d'un ou plusieurs type d'informations et une interface pour interagir avec l'utilisateur.

Tu peux avoir une interface de type ligne de commande, une interface graphique a base d'icones et symbole de controle et feedback qui se manipule a la souris, une interface tactile qui mele le controleur et l'affichage (ecran tactile), une interface pour la VR,...

Le programme de traitement de l'information c'est la partie mathématique et automatique.

L'interface utilisateur c'est ce qui rend le traitement contrôlable par un utilisateur.

On peut avoir le meme traitement sur 2 appareils distincts, l'un a interface souris+icone et l'autre une interface ecran tactile.

Si la partie traitement reste alors la meme, la conception des interfaces est totalement différentes.
Rajoutes a cela la dimension "mobile" dans un environnement requerant de l'attention (qu'on peut dire hostile) et tu comprends que concevoir une application pour iOS et MacOS c'est deux processus differents et specifiques.
Un programmeur iOS n'a ni les memes priorités ni la meme approche qu'un programmeur MacOS ou Linux. En fait il est plus facile de porter un programme Linux sur MacOS qu'un programme MacOS sur iOS (pour peu que ça ait un sens)

L'ignorance puis la tentative d'automatisation impliquée par la différence de l'interface graphique c'est la tres grosse erreur de Microsoft depuis Windows 8 avec Metro. Le meme soft qui fonctionne sur une tablette et un PC est un non sens absolu.
Le moteur de traitement, requière des compétences d'ingénieurs et de mathématiciens. L'interface requiert des compétences en ergonomie cognitive.

avatar awk | 

@C1rc3@0rc

"Je crois que tu n'as pas compris.

Disons plutôt que nous ne nous sommes pas compris.

Au vue de ce que tu veux m'expliquer dans ton commentaire qui tient de l'évidence sur quasiment tous les points ;-)

avatar awk | 

@C1rc3@0rc

Pour le reste ta vision de la dichotomie entre interface WIMP et Multitouch me semble fortement biaisé par ta propension à croire que rien de sérieux ne peut se faire sur la seconde.

"Sur mobile on fait des applications de consultation de contenus pas de production. L'interface doit etre minimaliste, tres reactive, les fonctions doivent etre tres limitées. L'usage se fait en mobilité.

Sur PC on peut developper des applications de creation tres complexes, avec des interfaces elaborées et penser a un usage dans un bureau.

C'est assez obsolète comme vison et tout autant daté.

avatar C1rc3@0rc | 

Parce que pour toi une application de consultation, de navigation, d'organisation, de recherche dans un flot d'information c'est pas sérieux?

Faudrait que tu commences a concevoir que le travail d'analyse et la prise de decisions se font d'abord par la consultation et la mise en relation d'informations.
Sans parler que ce qui genere aujourd'hui le maximum de valeur financiere c'est la consultation s'information, sa consommation par des outils informatiques! Et cela que ce soit dans les domaines du divertissement GP ou professionnel grand compte...

Ensuite, réaliser une interface efficace et pertinente c'est le point crucial qui demande un travail et des compétences conséquentes. Tu peux bien avoir le meilleur moteur de traitement d'information, si la présentation et la manipulation de l'information sont déficientes, le programme vaut juste le prix de son moteur, s'il peut etre racheté!

Faut se rendre compte qu'on est plus dans les annees 70 et qu'on est quasi tous amené a manipuler des informations toujours plus complexes et volumineuses sans pour autant etre informaticien pro.
Meme madame Michu aujourd'hui utilise plusieurs ordinateurs sans avoir la moindre formation et c'est elle qui genere de la valeur financiere, sans rien creer et juste en consommant.

L'interface d'une application est aujourd'hui le point le plus crucial. Meme et surtout si c'est pour de la consultation de divertissement très grand public.

C'est cette idee d'ailleurs qui a fait le succès d'Apple et qui pendant longtemps a ete le mantra d'Apple sous Jobs.

avatar awk | 

@C1rc3@0rc

Là je n'aurait qu'une seule réponse : WTF ?

Ton commentaire n'a strictement rien à voir avec mon propos, j'ai sans doute manquer de clarté.

Pour le reste je ne crois pas qu'il y est une énorme différence de connaissances théoriques entre nous, pas la peine d'essayer de m'expliquer des base ;-)

avatar protos | 

@C1rc3@0rc

Oui, très fantaisistes tes chiffres !

avatar C1rc3@0rc | 

Pourquoi?

avatar awk | 

@Pourquoi?

Avancer à la cantonade :

""iOS c'est MacOS a 95%. Reste donc les 5% qui represente l'interface et la telephonie."

C'est quand même franchement questionnable

avatar Un Type Vrai | 

Dans ce sens là, c'est possible. Le problème, c'est plutôt que c'est faux dans l'autre sens : osX n'est pas 95% d'iOS. Dommage, c'est le sens qui aurait permis de poser les macs sur ARM.
Et dans iOS ce qui a été retiré est justement ce qui demande une architecture plus polyvalent et puissante (multitâche, multi user, ...)

A mon avis Apple a identifié tout ca et profite de l'iPad pro pour refaire ces parties de façon plus moderne.
ie: le mac ARM arrivera après l'iPad multi utilisateur, multitâche, avec la possibilité d'en faire un serveur (deamon, gestion des ports, routage ...) etc.

avatar awk | 

@Un Type Vrai

"ommage, c'est le sens qui aurait permis de poser les macs sur ARM."

Le portage d'un OS moderne sur une architecture est bien moins complexe aujourd'hui que tu ne veux le croire.

Il est quasi certain qu'Apple dispose déjà en interne d'un macOS sous ARM.

Ce n'est en rien un défi technique monopolisant de gros moyens et de nombreuses ressources ;-)

avatar ovea | 

@C1rc3@0rc :
« … environnement de programmation de haut niveau … developper des applications de creation tres complexes, … »

Il n'y a pas de langage qui n'ai son équivalent
Graphique et vis versa

puisque cela revient exactement au même !

Un langage de « haut niveau » aussi précis que soit sa vocation peut être concis … autant que peut l'être un trait. On parle bien de la — puissance — du langage et du symbole.

Si je trace l'exposant ou l'exponentiel dans mon programme fonctionnel pour cette « création très complexe », c'est plus l'expressif et court …
Presque(partout) exp(plosif)

Difficile d'imaginer qu'PC puisse dialoguer avec un tableau noir, une feuille à dessin … pour tout programme que cela vaille finalement.

avatar awk | 

@LoursonMignon

Tu surestime de beaucoup la portée de Swift dans l'équation

Par contre les approches LLVM récemment introduites par Apple pourrait prendre encore plus de sens dans le cadre d'un support de plusieurs architecture matériel

avatar C1rc3@0rc | 

A ce niveau on a deja un tres haut niveau d'abstraction. La plupart des applications ne font que des appels aux API et ne "touchent" jamais le jeu d'instructions du processeur, ni meme les composants de la machines.

Swift est un pas de plus vers l'abstraction et l'independance envers le materiel.
Dans la majorité des cas passer d'une application MacOS Intel a MacOS ARM ou autre se resume a appuyer sur 2 controles pour le developpeur.

Si on revient aux propos de Torvald ce dont il parle était une réalité des années 80, pas d'aujourd'hui. Il ne mentionne d'ailleurs pas un element contre lequel il s'est énormément battu et ou il a échoué magistralement: la lutte contre le monopole Wintel.

Linux et le libre ont gagné sur beaucoup de secteurs informatiques, sauf sur le PC et le mobile. Aujourd'hui si la majortié des serveurs et des infrastructure tournent avec du Linux et du libre, les PC c'est 88% de Windows, 10% de MacOS et 2% de Linux.
Le mobile c'est iOS et Android, pas de linux!

Pourtant, techniquement, Linux est tres adapté autant pour le PC que le mobile...

La ou il a raison c'est que ce qui pose probleme pour l'arrivé d'ARM sur le PC c'est le commercial et le marketing.
Microsoft peut sortir du jour au lendemain Windows ARM.
Apple peut sortir MacOS ARM la semaine prochaine.
Linux ARM existe depuis des lustres.

Mais Apple ne sortira un Mac ARM que lorsque le meme processeur pourra aller dans un Mac ou un iPad. Apple commandera 350 millions de processeurs aux fondeurs, les meilleurs iront dans les Mac, ceux avec quelques defauts dans les iPhone et iPad, les plus proches du dechets iront dans les Apple TV, avec les core desactivés, la frequence abaissé,... bref comme le font Intel, AMD ou Nvidia et le reste de l'industrie. C'est une question de rentabilité et de marges sur du volume.
L'industrie PC est dans l'expectative et cherche un relai de croissance, n'investissant pas sur le PC, mais sur des conneries IoT...

avatar awk | 

@C1rc3@0rc

"Swift est un pas de plus vers l'abstraction et l'independance envers le materiel."

Là je ne te suis pas du tout, en quoi est-ce un pas de plus vers l'abstraction par rapport aux autres langages de haut niveau habituellement mis en oeuvre sur les machines Apple ?

La plus part du code pro suit pour les environment Apple est de l'Objective-C dont on ne peut pas dire que le niveau d'abstraction soit particulièrement au raz des pâquerettes

avatar C1rc3@0rc | 

Pour toi la gestion de la memoire c'est du haut ou du bas niveau?

avatar awk | 

@C1rc3@0rc

Un langage de haut niveau doit rendre la gestion des questions d'allocation mémoire le plus transparente possible pour le dev.

C'est ce que fait Swift effectivement et c'est ce que fait avec les limites qu'on connait Objective-C et c'est ce que visent la quasi totalité des langages modernes.

Tes propos précédent laisse croire que toute les approche objet qui ont pu être battît sur la base du C sont des merdes ineptes par construction, ce qui est théoriquement défendable mais pratiquement caricatural.

avatar awk | 

@C1rc3@0rc

"Si on revient aux propos de Torvald ce dont il parle était une réalité des années 80, pas d'aujourd'hui. I"

Nous sommes bien d'accord sur l'obsolescence de sa vision qui est pour moi très datée

Pages

CONNEXION UTILISATEUR