1 points par GN⁺ 2024-09-21 | 2 commentaires | Partager sur WhatsApp

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

 
y15un 2024-09-21

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.

 
GN⁺ 2024-09-21
Commentaire Hacker News
  • Je pensais que NetBSD était lent sur un m68030 à 15 MHz, mais ce projet est vraiment impressionnant

    • À la fin des années 80 et au début des années 90, les ordinateurs ont commencé à disposer d’un stockage persistant, d’un espace d’adressage ouvert et d’une MMU, atteignant ainsi l’informatique moderne
    • Un Amiga 3000 ou un ordinateur i80486 peut aussi accomplir les mêmes fonctions qu’un ordinateur moderne
    • Dmitry montre à quel point on peut assouplir la définition de « fonctionnel »
  • J’aimerais élargir mes connaissances au point de pouvoir comprendre ce projet

    • J’ai entièrement compris la partie « Section 14.b & 14.c - Getting the data... »
    • J’ai traité des fichiers de 400K pendant 4 ans (environ 275 photos par jour)
    • Malgré beaucoup de puissance de calcul, de stockage et de réseau, les applications de synchronisation des médias plantent ou souffrent de lenteurs de synchronisation
    • AirDrop échoue et la fonctionnalité d’interface « Select-All » fait défaut
  • J’aime les exemples sur AVR, et maintenant j’en ai un nouveau

    • Je me demande quelle quantité de RF est émise compte tenu de la fréquence et de la consommation électrique
    • Le mot « soubroutine » est probablement une faute de frappe
  • Ce projet n’a pas été bon marché, merci aux collectionneurs sur Ebay

    • J’aurais choisi un VFD plutôt qu’un LCD, même si un VFD pourrait s’abîmer lors d’une compilation de longue durée
  • Projet incroyable

    • On peut voir ce qui est en cours d’exécution dans les bits de poids fort du PC
    • P.S. : il charge le noyau plus vite que l’IPMI d’un serveur via Internet
  • Il a fallu 9 jours pour filmer la vidéo, à raison de 4 heures émulées par seconde

    • Je me demande pourquoi Windows 95 est utilisé
  • Il faudrait un prix Nobel pour ce genre de projet

  • Lecture vraiment très intéressante

    • Je connaissais un peu le 4004, mais ce niveau d’obscurité m’a surpris
    • Je me demande s’il serait possible de construire un CPU avec le même nombre de transistors
    • Le 8 bits rend la programmation bien plus facile
    • Merci d’avoir aussi bien documenté le travail
  • Les machines virtuelles (Z-machine ou JVM) fonctionnaient sur les premiers micro-ordinateurs

    • C’était utile quand on ne pouvait pas les utiliser comme cible de compilation
    • SWEET16
    • UCSD Pascal
  • Dans la section « Why MIPS? » :

    • Certains ont des modes d’adressage lents (RISCV)
    • Je me demande ce qui pose problème dans les modes d’adressage de RISC-V