Un ordinateur 8-bit entièrement fait avec des circuits intégrés logiques TTL sur une douzaine de breadboards.
Si vous ne le saviez pas, j’adore l’informatique bas niveau : cette magnifique frontière entre électronique et informatique. Donc quoi de mieux que de créer mon propre ordinateur et de le disposer sur des breadboards pour avoir un look super cool ?
L’idée de base vient de la magnifique série de vidéos de Ben Eater sur la construction d’un ordinateur 8-bit sur breadboards.
La plupart de mes modules sont en grande partie inspirés de ceux de Ben Eater, bien qu’ils aient tous de petites modifications : j’ai par exemple créé un module d’entrée basique. J’utilise également un adressage mémoire sur 8-bit contrairement à l’adressage sur 4-bit de Ben Eater, ça signifie que le GDBC possède 256 octets de mémoire au lieu de 16, ce qui rend l’ordinateur bien plus utilisable ! Oh et le jeu d’instruction est également bien différent.
Les circuits intégrés sont principalement des puces logiques de la gamme 74LS (LS plutôt que HC car mon IUT en avait beaucoup d’inutilisés en stock, et que c’est plus vintage 😃).
Chaque fil est plié à la main et possède une couleur spécifique qui dépend de son utilité (blanc pour l’horloge, jaune pour les signaux de contrôle, bleu pour le bus, vert et violet pour les connexions intermédiaires, gris pour le reset, orange pour le mode programmation…).
Il y a 12 breadboards qui définissent les différents modules que l’on retrouve dans l’architecture.
La fréquence de l’horloge peut être ajustée en utilisant un potentiomètre, d’environ 0,5 Hz jusqu’à environ 400 Hz (ça pourrait probablement aller plus haut, mais je n’ai pas essayé, c’est bien plus fun de regarder les lumières clignoter 🤩).
L’ordinateur est quasiment stable maintenant, il est parfois difficile d’écrire une valeur en mémoire en mode programmation, car je n’utilise pas un bouton dédié pour cela, mais le bouton pas-à-pas de l’horloge qui nécessite parfois plusieurs appuis pour que la valeur d’entrée soit mémorisée.
J’avais également des problèmes de rebonds lors de la mise à jour des flags de l’ALU et j’ai dû ajouter quelques condensateurs pour lisser les rebonds.
La prochaine version devrait avoir une résistance pour chaque LED ou pour les lignes d’alimentation des LEDs, car pour le moment les circuits intégrés pilotent directement les LEDs sans limitation, ce qui peut affecter la luminosité de ces dernières et/ou perturber les opérations d’écriture en RAM lorsque plusieurs sont allumées.
La breadboard inférieure gauche est également vide et ce serait sympa d’y ajouter une Arduino Nano afin de charger un programme en RAM au démarrage et/ou à la demande.
Il y a une breadboard séparée, qui est le programmateur d’EEPROM, le même que celui de Ben Eater.
Pour protéger le GDBC de la poussière et des mains aventureuses, mon père et moi avons construit un cadre en bois avec une vitre en Plexiglass découpée par dessus. Un petit trou à l’arrière donne accès à un connecteur permettant d’alimenter l’ordinateur avec 5 V.
Vous trouverez les fichiers de documentation en haut de cette page : Architecture, Jeu d’Instruction & Signaux de Contrôle, Microcode et Programme d’Exemple.
Tous les schémas électroniques sont dessinés à la main et je n’ai pas eu le temps de les redessiner sur l’ordinateur…
L’ordinateur a été présenté à l’édition 2018 du Salon des Jeunes Inventeurs et Créateurs de Monts, c’est la deuxième fois que je participais, la première était en 2016 avec l’IntelliCasier.
J’ai obtenu le premier prix en présentant mes trois projets en rapport avec l’informatique vintage, les deux autres étant The Simple 4-Bit Computer et la Réplique du Kenbak-1.