Projet TIPE 2025/2026 - Thème : Sobriété, Efficacité, Optimisation
Turingine est une initiative étudiante (MP2I/MPI) visant à restaurer la souveraineté numérique dans le domaine des calculatrices scientifiques. Face à la fermeture progressive des écosystèmes propriétaires (Numworks, TI), nous concevons une machine performante et totalement auditable, du PCB jusqu'au Kernel.
Notre objectif n'est pas seulement de calculer, mais d'étudier l'optimisation énergétique et logicielle sur une architecture embarquée moderne.
Le projet repose sur une approche Hardware/Software intégrée :
- Cœur de calcul : Radxa Cubie A7Z (SoC Allwinner A733).
- Architecture big.LITTLE (2x Cortex-A76 + 6x Cortex-A55) pour une gestion fine de l'énergie.
- NPU 3 TOPS (Expérimental).
- Interface : Clavier mécanique custom (Layout 60%) sur PCB maison.
- Affichage : Écran LCD SPI.
- OS : Distribution Linux Embedded Custom (Basée sur Ubuntu Linux ARM).
- Kernel optimisé pour le hardware Radxa.
- Userspace minimaliste (pas de bloatware).
- Moteur Mathématique : Giac/XCas (C++) pour le calcul formel symbolique.
- Optimisation TIPE :
- CPU Pinning : Allocation dynamique des processus lourds sur les cœurs P (Performance) et de l'UI sur les cœurs E (Efficacité).
- Boot Time : Objectif < 5 secondes.
- Sélection du hardware (Radxa Cubie A7Z).
- Hardware : Design du PCB v1 (Matrice clavier).
- Interface : Développement de l'UI graphique communiquant avec XCas.
- Hardware : Assemblage du prototype physique (Fabrication et conception de la coque).
- Système : Scripting du démarrage automatique (Systemd service) et affichage via wayland.
- Software : Compilation et exécution de Giac en ligne de commande sur la cible.
- Système : Création de l'image disque "Rootfs" Custom (Xcas, GCC, OCaml, ...).
- Mesures : Comparatifs de consommation (Joules/Calcul) vs architectures classiques.
- Documentation : Rédaction du dossier technique et publication des plans finaux.
- Communication avec le buffer graphique (Nathanaël)
- Interface graphique (Nathanaël)
- Gestion des input (Nathanaël)
- Plotter (Nathanaël)
- Interface avec giac (parsing,...) (Kamil)
- Faire fonctionner l'hardware (Tout le monde).
- Documents autres ( coque, statues, ...)
- Une carte Radxa Cubie A7Z.
- Une carte microSD (16 Go min).
- Un PC Linux pour la compilation croisée.
- Cloner ce dépôt.
- Lancer le script de construction de l'image (nécessite
qemu-user-static) :sudo ./scripts/build_os.sh
- Flasher l'image générée sur la carte SD :
sudo dd if=output/turingine_v1.img of=/dev/sdX bs=4M status=progress
- Nathanaël Buendia (Poitiers) : CPGE MP2I
- Kamil Leys (Tours) : CPGE MP2I
- Gaspard Lebaube (Paris) : DL1
- Code source : GPLv3 (Garantit que le projet restera toujours ouvert).
- Hardware (PCB) : CERN-OHL-W (Open Hardware Licence).
Projet financé avec le soutien de la Fondation de Poitiers.
