L’avenir apporte des modules CPU, et l’avenir est maintenant

La modularité est un sujet amusant pour nous. Il y a quelque chose de satisfaisant à voir un système complexe divisé en plusieurs parties et ces parties rendues remplaçables. Nous voulons souvent que certaines parties de nos appareils soient échangées, après tout – à des fins de réparation ou de mise à niveau, et souvent, c’est juste amusant de parcourir eBay pour trouver des pièces d’ordinateur portable, en équipant votre Thinkpad de la combinaison de pièces qui vous convient le mieux. Ayant toujours été fasciné par la modularité, je pense que les hackers méritent de savoir ce qui s’est passé sur le front du module CPU au cours de la dernière décennie.

Une vignette Youtube montrant un Thinpad en arrière-plan avec "Pas de déchets" écrit sur son clavier, et un autre clavier superposé sur l'image avec "des ordures" écrit sur celui-ci.
Cette vignette vidéo « Échangez votre clavier Thinkpad » capture un sentiment de modularité auquel beaucoup peuvent s’identifier.

Nous nous sommes habitués à échanger des composants dans les ordinateurs de bureau, compte tenu de leur modularité inégalée, et c’est une grande nouvelle lorsque quelqu’un essaie de diviser un concept encore monolithique comme un téléphone ou un ordinateur portable en modules. Parfois, le CPU lui-même est placé dans un module. De l’idée grandiose du projet Ara à la carte de calcul d’Intel en passant par les cartes mères standardisées des ordinateurs portables Framework, les entreprises ont essayé de capitaliser sur ce que la normalisation des modules CPU peut leur apporter.

Il existe également des normes modulaires axées sur les amateurs et adaptées aux amateurs – celles que vous pouvez déjà utiliser pour créer un combo CPU et RAM puissant et exigeant en termes de mise en page et le placer sur votre simple carte conçue par vous-même. J’aimerais vous parler de quelques concepts de CPU modulaires notables – leurs idées, leurs complexités, leurs contraintes et leurs histoires. Alors que vous travaillez sur votre projet ambitieux – vous savez, celui-là, – il est probable que vous bénéficierez beaucoup d’une telle norme. Ou peut-être aurez-vous besoin de concevoir la prochaine norme à utiliser par d’autres – après tout, nous savons tous qu’il n’y a jamais trop peu de normes !

Comment la modularité est-elle toujours vivante ?

Nous aimons la réparabilité et l’évolutivité. Malheureusement, de nombreuses entreprises productrices de gadgets destinées aux consommateurs n’ont pas tendance à les apprécier autant que nous – vous verrez des aspects auparavant omniprésents de la modularité, comme les processeurs interchangeables ou même la RAM sur les ordinateurs portables, devenant moins répandus avec le temps. En termes simples, nous faire acheter de nouveaux appareils est plus rentable que de nous laisser mettre à niveau et réparer nos anciens appareils. Pourtant, il y a des raisons pour lesquelles la modularité perdure – à certains égards importants, il est plus simple de concevoir des produits modulaires. Par exemple, vous n’avez pas besoin de configurer votre propre carte avec des interconnexions CPU et RAM à grande vitesse, vous pouvez plutôt vous concentrer sur la partie qui doit s’adapter à votre IO de choix, ce qui simplifie considérablement la conception.

Une carte mère PC/104 avec une carte d'extension sur un bureau.Une démonstration appropriée des avantages de l’informatique modulaire étant commercialement viable, la norme PC/104 a été un incontournable de l’informatique industrielle, en grande partie parce qu’il est facile d’obtenir une carte mère de remplacement si votre ancienne tombe en panne. Après tout, les clients industriels sont prêts à payer un supplément pour un certain degré de modularité, car cela signifie qu’ils peuvent réparer rapidement l’équipement, sans perdre de grosses sommes d’argent car leur ligne de production est bloquée. Et, lorsque votre équipement pourrait nécessiter une mise à niveau en raison des exigences système qui augmentent comme elles le font toujours, il n’y a presque jamais de pénurie de cartes PC/104 avec une puissance de traitement accrue.

Les clients n’ont pas autant d’influence pour rendre la modularité des produits de consommation omniprésente. Cela a du sens d’où nous en sommes aujourd’hui, mais c’est triste et cela ne doit pas nécessairement être ainsi. Cela n’aide pas non plus lorsque nous avons des entreprises comme Google et Intel qui démarrent des projets modulaires attrayants avec leurs propres objectifs à l’esprit, puis bousillent une myriade d’aspects importants, et finalement tout mettent de côté. D’une part, maladroitiser les produits de cette manière est un mode de fonctionnement connu des grandes entreprises – d’autre part, il est frustrant de faire naître nos espoirs, puis de les voir représentés par un flop à faible effort. Si vous n’êtes pas conscient de la gravité de la situation, voici un exemple.

La manière corporative de se tromper

Intel est une entreprise géante qui fabrique des processeurs, des chipsets et toutes sortes de choses qu’un amateur ne peut que rêver de bricoler un jour. Ils ont à la fois une quantité démesurée de ressources et une clientèle pour développer des solutions modulaires, et ils ont essayé de faire décoller leurs propres idées intégrées modulaires, quelque peu accessibles aux amateurs, une nouvelle toutes les quelques années. Jusqu’à présent, ces idées ont échoué, en grande partie à cause des décisions capricieuses d’Intel – comme beaucoup d’entre nous qui connaissent sombrement les gammes de produits Edison et Galileo d’Intel peuvent en témoigner.

Station d'accueil NexDock pour une carte Intel Compute sur une table recouverte de feuilles blanches au CEX.  Le NexDock ressemble à un ordinateur portable mince et possède une fente sur la gauche avec une carte de calcul Intel qui en sort.
Cette fente sur la gauche est l’endroit où vous auriez inséré votre carte de calcul Intel – si vous en aviez une.

Par exemple, en 2017, Intel a dévoilé le concept Compute Card – une carte avec CPU, RAM et stockage que vous auriez pu mettre dans votre poche et brancher sur n’importe quoi. Deux ans plus tard, ils ont abandonné le concept. En particulier, un article de blog poliment cinglant de NexDock, une entreprise qui essayait de développer une station d’accueil Compute Card à l’époque, met en lumière à quel point le comportement d’Intel était grossier. Il est à la limite de l’amusement de lire sur les « exigences de cryptage et d’authentification trop compliquées des cartes informatiques Intel », et loin d’être surprenant de lire sur le support insuffisant d’Intel.

Même si Intel a vanté les efforts de NexDock comme une réussite, cela n’a pas suffi à garantir une collaboration et une transparence appropriées, et NexDock a fini par dépenser des tonnes d’argent et de temps sur quelque chose qu’Intel n’a jamais pris au sérieux. Le dernier effort d’Intel en matière de développement de modules CPU + RAM s’appelle Intel Compute Element. Celui-ci n’est expressément pas pour vous : il s’agit de créer des NUC personnalisés et d’autres systèmes avec un matériel adapté aux besoins, reflété par le prix des modules. Cela a l’air bien d’une manière « et si », mais maintenant, nous avons appris à ne pas attendre grand-chose.

Avec suffisamment de ressources, nous pouvons y arriver nous-mêmes

Intel a présenté son concept de carte de calcul en 2017. En 2016, un projet étonnamment similaire mais open-source et convivial prenait forme. Le projet EOMA68 nous a invités à contribuer à un futur où les cartes CPU existaient – où vous pourriez avoir le CPU, la RAM et le stockage sur une petite carte basse consommation capable de se brancher sur un boîtier en forme d’ordinateur portable, une console de jeu, un petit NUC-like boîtier de bureau, ou même utilisable de manière autonome avec un moniteur HDMI et un concentrateur USB alimenté. Si vous allez quelque part, vous pouvez physiquement sortir votre système de votre boîtier de bureau et le brancher dans un boîtier d’ordinateur portable, puis le rebrancher à votre retour. Beaucoup des mêmes objectifs et du même facteur de forme qu’une carte de calcul d’Intel, mais aucun soutien de l’entreprise, c’était un objectif audacieux à fixer, même si vous deviez obtenir un processeur A20 au lieu d’un système x86.

Une carte CPU EOMA68 de type PCMCIA, à côté d'un boîtier de bureau de taille NUC découpé au laser et d'une coque d'ordinateur portable.Conçu par un ingénieur ambitieux déterminé à faire avancer les choses, l’objectif du projet EOMA68 était de ne jamais faire de compromis sur la compatibilité tout en gardant les cartes accessibles pour la conception et la production à petite échelle – en veillant à ce qu’après que les premières cartes de calcul soient devenues obsolètes, la construction rétrocompatible celles-ci resteraient réalistes. Dans un geste spirituel, des connecteurs et des boîtiers PCMCIA ont été utilisés pour les connexions IO – bon marché et toujours largement disponibles. On a pris soin de concevoir un brochage qui pourrait être compatible avec quelques générations de processeurs différentes à l’avenir, visant l’évolutivité sans perdre de fonctionnalités – et la campagne de financement participatif a atteint son objectif comme sans effort, montrant que les gens croient en ce que représente ce projet.

Cependant, la construction d’un lot de cartes EOMA68 s’est avérée difficile. La fabrication était une bataille difficile, avec des problèmes tels que les ruptures de stock de connecteurs les uns après les autres et les remplacements causant des problèmes de faible rendement. Le temps est une maîtresse cruelle et n’a fait qu’empiler des problèmes supplémentaires en plus de chaque retard, et la dernière mise à jour du projet a été rassurante mais pas encore fructueuse. Cependant, c’est un voyage que l’un de nous aurait dû entreprendre – même inédit, ce petit projet a réalisé des choses qu’Intel ne pouvait pas. En plus de cela, l’auteur a conservé une riche base de données de recherche et le processus de développement a été discuté ouvertement sur une liste de diffusion – des ressources inestimables pour quiconque s’intéresse à l’informatique modulaire.

Le facteur de forme CM4 n’est plus seulement le leur

Vous connaissez sans aucun doute les modules de calcul Raspberry Pi, mais peut-être pas toutes les alternatives compatibles avec les broches. Lorsque le Pi 4 est sorti, l’une des questions était : à quoi ressemblerait le prochain module de calcul, compte tenu de la nouvelle interface PCIe ? La plupart s’attendaient à une nouvelle génération de module montable sur SODIMM, et ce que nous avons obtenu était loin d’être le cas. Une fois que les lamentations sur les connecteurs sans broches d’alignement à faible pas se sont éteintes, la promesse de PCIe était trop grande pour être transmise, et les pirates ont sorti un large éventail de cartes porteuses et de hacks basés sur des modules de calcul. Il y en a presque trop à couvrir, mais nous essayons bien!

Bien sûr, il n’y a rien d’exclusif dans une combinaison brochage + connecteur + empreinte d’un tel SoM (System-On-Module), et la myriade de cartes porteuses susmentionnée est tentante pour tout concepteur suffisamment avisé pour éviter de créer un tout nouvel écosystème. En conséquence, vous disposez de plusieurs cartes avec différentes – Pine64 SOQuartz, Banana Pi BPI-CM4 et Radxa CM3, pour n’en nommer que quelques-unes. Chacun présente certains avantages par rapport au CM4 – mes favoris personnels sont le DisplayPort compatible eDP sur le SOQuartz et les ports SATA sur le CM3, mais il y a plus que cela. Les amateurs montent également dans le train de cartes compatibles CM4 avec des projets tels que les cartes FPGA ULX4M, et il y a même un compatible RISC-V CM4 d’Antmicro en préparation.

Ces modules ne sont pas exactement comme une carte informatique que vous pourriez échanger quotidiennement entre votre tablette et votre PC de bureau, mais ils offrent une évolutivité inattendue et agréable si vous avez un appareil qui attend une carte mère CM4. En période de pénurie de modules CM4, c’est aussi une aubaine. De plus, des acteurs comme TuringPi et MNT Reform ont créé des adaptateurs pour leurs propres écosystèmes.

Réformer l’écosystème du module CPU pour ordinateur portable est gratuit

Si vous avez suivi des projets comme Novena, vous saurez que les processeurs de la série i.MX de NXP sont l’un des processeurs ARM les plus ouverts disponibles. Six ans après la neuvaine, l’ordinateur portable MNT Reform a judicieusement choisi un processeur i.MX8. Cependant, ils ne voulaient pas développer une carte de base multicouche complexe et ont opté pour un SoM d’hébergement i.MX8M au format DDR de Boundary Devices, ce qui rend la carte mère du Reform moins chère et plus simple à concevoir. La partie unique du SoM de Boundary Devices – c’est le module i.MX8M le plus ouvert, adapté à un ordinateur portable qui s’efforce d’être aussi ouvert que possible.

Pour réitérer, il n’y a rien d’exclusif dans une combinaison brochage + connecteur + empreinte – et un module de facteur de forme DDR n’est qu’un PCB avec un ensemble de pastilles plaquées or à son bord. Vous pouvez voir où cela mène, n’est-ce pas ? L’équipe de MNT Reform a développé des SoM et des adaptateurs personnalisés, compatibles avec la connectivité de surface du module i.MX8. A ce jour, il y a un adaptateur pour le Pi CM4, par conséquent compatible avec trois autres cartes CPU susmentionnées, une carte NXP LS1028A avec moitié moins de cœurs de processeur mais deux fois plus de RAM, et même une carte d’hébergement FPGA Xilinx Kintex-7 avec des discussions sur un processeur RISC-V synthétisé par logiciel ala Precursor.

De plus, MNT a récemment annoncé le développement du Pocket Reform, un appareil compagnon de 7″ en forme d’ordinateur portable. Pour ne pas manquer une si merveilleuse opportunité, le MNT Pocket Reform utilise ce facteur de forme de module exact comme son grand frère. Maintenant, la gamme MNT est devenue un écosystème avec des cartes CPU interchangeables – nous ne nous attendions pas vraiment à ce que cela se produise, mais c’est une agréable surprise du genre que nous n’obtenons pas tous les jours. Si vous travaillez sur un cyberdeck encore inégalé, vous devriez également envisager de mettre un socket DDR sur un PCB et de bénéficier de tout ce que l’écosystème MNT a à offrir.

Plus à venir, déjà beaucoup

A chaque projet osant créer un standard – ou mieux encore adhérer à un standard existant – l’informatique modulaire devient de plus en plus une réalité dans les projets de hackers. Les normes des modules CPU CM4 et MNT en particulier sont à la fois accessibles et conviviales pour les pirates. Si vous vouliez développer un portable personnalisé très fonctionnel ou un échange de carte mère d’ordinateur portable pour ce vieux Thinkpad avec lequel vous avez grandi, il n’y a pas de meilleur moment pour commencer qu’aujourd’hui. Tout comme les appareils I2C ont lentement fusionné sur les connecteurs JST-SH, peut-être bientôt, nous construirons des ordinateurs puissants et élégants dans tout ce que nous voulons, sur un coup de tête, et nos tiroirs de pièces recevront un nouveau tiroir nommé « modules CPU ».

Image de titre : « L’arrière d’un processeur Intel Celeron LGA775 » par Uwe Hermann