Début
- En 2012, un record du monde a été établi en faisant tourner Linux sur un microcontrôleur 8 bits (AVR), comme la machine la moins puissante à exécuter Linux
- En 2023, un projet est apparu pour démarrer Linux sur le MOS 6510, encore moins puissant que l’AVR
- L’Intel 4004 étant le premier microprocesseur commercial au monde, ce projet a été lancé pour établir un nouveau seuil minimal avec cette puce 4 bits
4004
- Le 4004 fonctionne par unités de 4 bits et a été principalement développé pour les calculatrices
- Il ne dispose pas d’opérations logiques et propose essentiellement seulement les instructions ADD et SUB
- Il utilise une méthode de calcul particulière basée sur le drapeau de retenue
- Il possède 16 registres de 4 bits, un compteur ordinal de 12 bits et une pile matérielle à 4 niveaux
- Une fréquence d’horloge minimale est nécessaire et il ne prend pas en charge les interruptions
- Quelques instructions permettent d’effectuer directement des opérations mémoire
Flux de contrôle
- Appel et retour de sous-routine à l’aide de la pile matérielle
- Des instructions de saut conditionnel existent, et la broche TEST permet de détecter des événements externes
- L’espace de code de 4096 octets est géré à l’aide d’un concept de pages de code
Mémoire et E/S
- Le 4004 ne traite pas directement les instructions mémoire, celles-ci étant gérées par les puces mémoire
- Il prend en charge jusqu’à 8 banques de RAM, chacune composée de 4 puces 4002
- La 4001 inclut 256 octets de ROM et un port d’E/S 4 bits
- La 4265 est un périphérique d’E/S générique doté de 4 ports d’E/S 4 bits
4008, 4009, 4289
- Les 4008 et 4009 ont été conçus pour interfacer des puces mémoire standards
- La 4289 est une puce combinant les 4008 et 4009, capable de communiquer avec des niveaux de signal de 5 V
Utilisation mémoire et nibbles d’état
- L’instruction DCL est utilisée pour sélectionner une banque mémoire
- Chaque banque de RAM est composée de 4 puces 4002, et chaque puce possède 16 nibbles adressables et 4 nibbles d’état
Résumé de GN⁺
- Ce projet aide grandement à comprendre le fonctionnement des premiers microprocesseurs comme l’Intel 4004
- Il montre comment surmonter la conception atypique et les fonctionnalités limitées du 4004
- Il offre l’occasion d’expérimenter les limites des premiers microprocesseurs en comparaison avec les microcontrôleurs modernes
- Parmi les projets comparables, on trouve un projet de démarrage de Linux sur le MOS 6510
2 commentaires
L’auteur du billet original, c’est bien ce type qui a récemment été escorté hors de scène à la Defcon à cause d’une histoire liée aux badges. Je ne prendrai le parti de personne, mais il faut reconnaître qu’il a un niveau vraiment impressionnant.
Commentaire Hacker News
Je pensais que NetBSD était lent sur un m68030 à 15 MHz, mais ce projet est vraiment impressionnant
J’aimerais élargir mes connaissances au point de pouvoir comprendre ce projet
J’aime les exemples sur AVR, et maintenant j’en ai un nouveau
Ce projet n’a pas été bon marché, merci aux collectionneurs sur Ebay
Projet incroyable
Il a fallu 9 jours pour filmer la vidéo, à raison de 4 heures émulées par seconde
Il faudrait un prix Nobel pour ce genre de projet
Lecture vraiment très intéressante
Les machines virtuelles (Z-machine ou JVM) fonctionnaient sur les premiers micro-ordinateurs
Dans la section « Why MIPS? » :