88 lines
4.2 KiB
Markdown
88 lines
4.2 KiB
Markdown
# Ordinateur Neoarcheon
|
|
|
|
<sub>*Neoarcheon signifie "La nouvelle aube des temps anciens".
|
|
Cela vient de "[Neo](https://fr.wiktionary.org/wiki/neo-)", un prefix pour "Nouveau", et "[Éoarchéen](https://fr.wikipedia.org/wiki/%C3%89oarch%C3%A9en)", l'ère durant laquelle la vie est apparus.*</sub>
|
|
|
|
[](https://www.gnu.org/licenses/gpl-3.0)
|
|
|
|
----------
|
|
|
|
## Sommaire
|
|
|
|
1. [Buts et challenges](#buts-et-challenges)
|
|
2. [Design](#design)
|
|
1. [Architecture centrale](#architecture-centrale)
|
|
2. [Registres et cartographie mémoire](#registres-et-cartographie-mémoire)
|
|
3. [Le set d'instructions](#le-set-dinstructions)
|
|
|
|
## Buts et challenges
|
|
|
|
Créer un ordinateur Turing-complet de zéro.
|
|
|
|
Au départ tout les morceau de l'ordinateur seront dans leur version indusrielle :
|
|
- Le CPU à partir de portes logiques.
|
|
- La RAM un CI de [SRAM](https://fr.wikipedia.org/wiki/M%C3%A9moire_vive_statique) (*[UM61256BK-20](/Documents/Datasheets/UM61256.pdf) from 1993*)
|
|
- La ROM un autre CI (*[D27C010](/Documents/Datasheets/D27C010-200V10.pdf) from 1986 !*)
|
|
|
|
Ensuite le but est de les remplacer par des versions faites a la main.
|
|
Pour le moment seule la RAM est prévue d'être remplacée par de la [RAM a tores magnétiques](https://fr.wikipedia.org/wiki/M%C3%A9moire_%C3%A0_tores_magn%C3%A9tiques).
|
|
|
|
**AUCUNE SORTE D'IA NE SERA UTILISÉE DANS CE PROJET.**
|
|
|
|
*Pourquoi ?*
|
|
|
|
Des gens dans les années 70 on envoyés des gens sur la Lune, et les on ramené.
|
|
L'IA est utile dans la médecine, dans la recherche des protéines ou d'autre sujets de recherche.
|
|
Je n'ai pas besoins d'un LLM pour comprendre et créer un ordinateur.
|
|
|
|
## Design
|
|
|
|
Le design est inspiré du travail de personnes incroyables :
|
|
- [L'ordinateur 8 bit de Ben Eater](https://eater.net/8bit)
|
|
- [Le tutoriel de Mattbatwings pour créer un ordinateur dans Minecraft](https://youtu.be/hAZEXqWLTmY?si=qgic0b28PMeOPs_l)
|
|
|
|
L'achitecture centrale est inspirée de la légendaire [série de microcontrolleurs](https://fr.wikipedia.org/wiki/Intel_8051) [Intel MCS-51](/Documents/Datasheets/8051.pdf)
|
|
|
|
L'ordinateur est en 8 bit et sa fréquence de fonctionnement visera les 10mHz.
|
|
|
|
### Architecture centrale
|
|
|
|

|
|
<sub>Dessiné avec [Drawio](https://www.drawio.com/).</sub>
|
|
|
|
### Registres et cartographie mémoire
|
|
|
|
| Nom | Nom complet | Description |
|
|
| :---: | :-------------------------- | :----------------------------------- |
|
|
| IR | Registre d'instruction | Registre d'instruction. |
|
|
| A | Registre A | Premier registre d'entrée de l'UAL. |
|
|
| B | Registre B | Second registre d'entrée de l'UAL. |
|
|
| PSW | Mot de Status du Programme | Drapeaux de status. |
|
|
| MAR | Registre d'Addresse Memoire | Addresse d'accès à la RAM. |
|
|
| SP | Pointeur de Tas | Pointeur d'accès au tas dans la RAM. |
|
|
|
|
###### Structure du registre PSW
|
|
|
|
| Bit | Name | Long Name | Description |
|
|
| :-: | :--: | :-------- | :------------------------------------------ |
|
|
| 0 | Z | Zero | Est vrai si le résultat de l'UAL est égale a zéro. |
|
|
| 1 | C | Carry | Est vrai si un des calculs de l'UAL déborde. |
|
|
| 2 | | | |
|
|
| 3 | | | |
|
|
| 4 | | | |
|
|
| 5 | | | |
|
|
| 6 | | | |
|
|
| 7 | | | |
|
|
|
|
### Le set d'instructions
|
|
|
|
Chaque instructions peut être de 1 à 3 octet de long.
|
|
En premier est le code opératoire, and les 2 octets optionnels sont les opérandes.
|
|
Les opérandes peuvent être des données (1o), une addresse (1o) ou une address complète (2o).
|
|
|
|
Les instructions suivantes ne sont que les pseudo-instructions. Les instructions avec leurs opcodes seront définie plus tard.
|
|
|
|
| Mnémonique | Description | Pseudo-code |
|
|
| :--------: | :------------ | :------------- |
|
|
|
|