Bravo 8bit computer : assembler et comprendre son propre ordinateur 8bits
Bonjour,
Si le fonctionnement interne d'un ordinateur vous intéresse alors le projet "Bravo 8Bit Computer" vous intéressera au plus haut point.
J'ai dégoté un sérieux projet que je suis par ailleurs depuis plusieurs semaines :-)
Bravo 8 Bits computer
On y apprend comment re-créer un ordinateur en partant de rien avec des composants logiques!
On y découvre:
- le bus de données,
- le bus d'adresse,
- le génération du signal d'horloge,
- le Program Counter,
- les registres A & B,
- Les différents signaux de gestion
- Le registre d'instruction,
- l'unité Arithmétique et logique (ALU),
- les opérations au niveau binaire/bus,
- le MicroCode en ROM, sortie, etc
- Avec cartes, schéma et explications en vidéo!
8Bits bravo Computer project |
Spécification du projet
Le but est d'arriver à un système CPU minimaliste dont en voici les caractéristiques fixée par son créateur:
- S'efforcer d'avoir une conception claire et la plus simple possible!
- Architecture Von-Neumann (Wikipédia)
Un ordinateur dont le programme est stocké dans sa mémoire) - Bus de données 8 bits
- Bus d'adresse 16 bits
- 64 instructions incluant branchement conditionnel, sous-routine, pile et opération sur les mots (Word, 16 bits).
- 32 KB RAM
- Horloge configurable (jusqu'à 3.6 MHz)
- Interface UART
- affichage terminal
- entrée clavier
- Entrée/sortie données
- Téléversement
- 512 KB Flash ROM & SSD
Permet d’accueillir- OS (système d'exploitation)
- Outils logiciels
- Demo
- Jeux
- Système de fichier SSD
- 16 signaux de contrôles gérant le fonctionnement et opérations sur l'ordinateur.
- 2 registres A et B
- Unité Arithmétique et Logique (ALU)
- Adder (addition)
- Support nombre négatif (donc soustraction)
- 3 Flags: Negatif Flag, Carry Flag (report), Zero Flag
- Empilable par conception
- Carte de 290 x 120mm
- Logique TTL 74HCxx
- Les composants également disponibles au format CMS
- Permet d'ajouter des modules complémentaires avec un adressage via un espace mémoire arbitraire.
En complément l'auteur à prévu les fonctionnalités avancées suivantes:
- Editeur de texte natif
- Assembleur natif
- Cross-Assembler (Win10 ou Python) pour faire du copier/coller facilement depuis le terminal.
Architecture Von-Neumann
CC BY-SA 3.0 - Chris-martin - Wikipedia.org |
- L'unité arithmétique et logique s'occupe des opérations de base.
- L'unité de contrôle prend en charge l'exécution des séquences d'instructions (c'est un peu comme le coordinateur)
- La mémoire permet de stocker à la fois les données du programme et le programme lui-même.
Pour pourrez trouver des informations complémentaires et exemples instructifs sur l'article "Architecture de Von Neumann" publié sur monlyceenumerique.fr .
Evolution
Ce projet est basé sur ordinateur 8 bits de Ben Eater dont la capture est reprise ci-dessous:
ordinateur 8 bits de Ben Eater |
Puis il est passé par une première version sur carte modulaire, encore un peu envahissant mais permettant déjà de tester la transposition de breadboard vers des cartes (modules) plus facilement à assembler.
Les prémisses du projet "8Bits bravo Computer" |
Puis le projet "8bit Bravo projet" tel qu'il est connu aujourd'hui!
Un projet modulaire et évolutif --- les différents éléments pouvant être améliorés! Ce qui est déjà le cas par rapport au projet de Ben Eater.
8Bits bravo Computer project Vue en gros plan sur le bus et différents modules (dont un UART en rouge) |
La grande idée du projet
La constitution modulaire et empilable est déjà, en soi, une excellent idée.
Mais ce qui fait la différence, c'est le test systématique de de chaque module un fois celui-ci assemblé.
Les tests sont conduits à l'aide d'un Arduino Mega et de croquis/skecths écrit pour tester chacun des modules.
8Bits bravo Computer project Module Arduino Mega utilisé pour tester/vérifier les fonctionnalités des modules assemblés |
L'Arduino Mega dispose d'assez de broches d'entrées/sorties pour contrôler tous les bus et tous les signaux logiques (associés au bus).
En vidéo
Prenez le temps de visiter (et vous abonner) à la chaîne YouTube Config I0I pour consulter les premières 7 premières vidéos du projet.
Ressources
- Bravo Project YouTube playlist
- Bravo Project GitHub
Croquis/Sketch Arduino, BOM, Shémas!!! - www.8bitkits.com
où acheter
Ce kit est disponible sur www.8bitkits.com
Écrire un commentaire