Linux est réputé pour sa flexibilité et sa capacité à s'adapter à une grande variété de matériels, y compris les anciens processeurs. © Shutterstock
Linux est réputé pour sa flexibilité et sa capacité à s'adapter à une grande variété de matériels, y compris les anciens processeurs. © Shutterstock

Un passionné d'informatique réussit l'impossible : faire fonctionner Linux sur le tout premier microprocesseur commercial. De l'émulation de haut vol signée Dmitry Grinberg.

Après cet étudiant qui s'était débrouillé pour lancer Linux via Google Drive, ce bricoleur, un petit génie en matière de hardware vient de défier les lois de l'informatique. Un véritable tour de force, qui, comme vous le verrez, n'a pas été réalisé pour démontrer les performances de l'Intel 4004. En tout cas, par rapport aux standards actuels ; mais là n'était pas le but du projet.

Sorti en 1971, l'Intel 4004 a été le premier microprocesseur à être produit à grande échelle et commercialisé. Il a révolutionné l'industrie informatique en intégrant sur une seule puce les fonctions d'un processeur central. Ce dernier embarquait seulement 4 bits de données et 12 bits d'adresse, mais à l'époque ce fut suffisant pour lancer l'ère des microprocesseurs et bouleverser le marché des ordinateurs.

Un mariage improbable entre passé et présent

L'Intel 4004, avec ses 2 300 transistors et sa fréquence de 740 kHz, fait figure d'ancêtre face aux processeurs modernes. Pour mettre les choses en perspective, ce petit processeur 4 bits a été conçu initialement pour faire fonctionner une calculatrice japonaise, la Busicom 141-PF. Historiquement, elle fut la toute première calculatrice à intégrer un microprocesseur.

Grinberg a relevé un défi de taille : faire tourner un système d'exploitation moderne, Linux, sur cette relique. La solution ? Un émulateur qui tourne sur le 4004 et simule un processeur MIPS R3000, l'architecture qui a accueilli la toute première version de Linux au début des années 1990.

Cette technique, combinée à une émulation matérielle assez minimaliste, permet à une version allégée de Debian Linux de démarrer jusqu'à l'invite de commande. Le processus prend exactement 4,76 jours, une petite éternité.

 Le projet Linux/4004 : redonner vie au processeur 4004 sur une architecture moderne. © Enlarge
Le projet Linux/4004 : redonner vie au processeur 4004 sur une architecture moderne. © Enlarge

Un défi technique qui n'oublie pas l'esthétique

Pour mener à bien son projet un peu fou, Grinberg a dû surmonter de nombreux obstacles techniques. Le 4004, dépourvu d'opérations logiques de base comme AND (ET) ou OR (OU), a nécessité l'utilisation de tables de correspondance pour fonctionner correctement. C'est-à-dire des sortes de tableaux préprogrammés qui lui permettaient d'imiter ces opérations manquantes et d'optimiser ses performances du processeur malgré ses capacités limitées.

Grinberg a même poussé le souci du détail jusqu'à concevoir un circuit imprimé au style rétro tout à fait charmant. Il l'a fabriqué sans vias (petits trous métallisés qui permettent de connecter des pistes électriques entre différentes couches d'un circuit imprimé) et avec uniquement des lignes conductrices à angle droit. L'ensemble, incluant le 4004 overclocké à 790 kHz ainsi que d'autres composants complémentaires de l'époque, issus de la gamme MCS-4 d'Intel, est destiné à être accroché au mur comme une véritable œuvre d'art. L'ensemble consomme environ 6 watts et affiche (très) lentement les commandes Linux sur un écran VFD (Vacuum Fluorescent Display).

Les 10 distributions Linux incontournables de 2024
Les 10 distributions Linux incontournables de 2024

Ce projet Linux/4004 n'a évidemment aucune utilité réelle, mais il démontre à quel point Linux est flexible et surtout l'ingéniosité de son concepteur. Grinberg envisage même de proposer des kits ou des cartes entièrement assemblées pour ceux qui voudraient s'y essayer. L'entièreté du projet est détaillée sur son site personnel, schémas et code source inclus.

Source : Ars Technica