Page du cours "Systèmes numériques : de l'algorithme aux circuits"
Cette page web est la page du cours "Systèmes numériques" de la L3 du département d'informatique de l'ENS, édition 2026-2027.
Pour des informations plus générales, voir le site des enseignements au DIENS.
Ce que vous allez apprendre
L'objectif de ce cours est de comprendre comment on conçoit et on utilise un circuit électronique,
- les besoins : notions de base telles que l'énergie et le temps nécessaire pour calculer,
- la conception :
- les technologies (ASIC, FPGA), logiques NMOS, CMOS, etc.
- la maîtrise de la complexité (hiérarchie, abstraction, languages, compilateurs)
- entrées / sorties, simulation matérielle, langages logiciels et programme informatique,
- besoin de vérification et de compilation pour les projets de grande envergure.
Organisation
Les enseignements ont lieu durant le 1er semestre, les mardis de 13h15 à 17h00. Consultez l'emploi du temps du DI pour les dates et salles des séances.
Ils sont de différents types :
- L : leçon magistrale. Il s'agit des enseignements des concepts fondamentaux.
- TD : travaux dirigés. Nous appliquerons les leçons sous forme d'exercices, le plus souvent réalisés au tableau.
- TP : travaux pratiques. Il s'agit d'exercices avec réalisation sur micro-ordinateur.
- P : projet. Un travail en équipe avec une réalisation.
L'équipe pédagogique se compose de :
- Hadrien Barral (HB), maître de conférence, responsable du module
- Georges-Axel Jaloyan (GAJ), en charge des TDs/TPs et responsable du projet P
- Victor Miquel (VM), doctorant, en charge des TDs/TPs
- Marc Pouzet (MP), professeur
L'évaluation est réalisée sur la base de deux critères :
- soutenance de projet et assiduité aux travaux pratiques (50%),
- examen écrit (50%).
Voir la bibliographie en fin de page.
Programme
Séance du 2026-09-29
- Enseignant: HB
- Titre de la leçon: Introduction
- Descriptif de la leçon: Introduction au cours, présentation des différentes notions qui vont être étudiées.
Codage analogique/numérique.
Transistor: histoire, usage.
Algèbre de Boole, équations booléennes. Loi de Moore. Logique RTL...PMOS.
Séance du 2026-10-06
- Enseignant: GAJ+VM
- Titre de la leçon: Projet: introduction et simulateur
-
Descriptif de la leçon: Présentation du projet (microprocesseur) et TP1 (simulateur du netlists).
Séance du 2026-10-13
- Enseignant: HB
- Titre de la leçon: Logique combinatoire
- Descriptif de la leçon: Logique CMOS.
Placement, routage.
Implémentations d'un additionneur/soustracteur.
Délai de propagation, chemin critique.
Multiplieur, diviseur.
Séance du 2026-10-20
- Enseignant: GAJ+VM
- Titre de la leçon: TD 'ALU'
- Descriptif de la leçon: Exercices d'arithmétique et logique focalisé sur l'ALU.
Continuation du TP1.
Séance du 2026-11-03
- Enseignant: HB
- Titre de la leçon: Logique séquentielle
- Descriptif de la leçon: Horloge, latch, registre, mémoires, compteur.
Pipelining, retiming.
Codages des automates.
Séance du 2026-11-10
- Enseignant: GAJ+VM
- Titre de la leçon: TD Logique séquentielle
- Descriptif de la leçon: TD sur la logique séquentielle.
Présentation de la partie 2 du projet.
Dernière session d'aide pour le TP1.
Séance du 2026-11-17
- Enseignant: HB
- Titre de la leçon: Les processeurs
- Descriptif de la leçon: Cours microprocesseur (cf chapitres 2 et 4 de 'Computer Organization and Design RISC-V Edition', Patterson) pour le projet. Formation des groupes de projet.
Les processeurs du monde réel: cache, privilèges, mémoire virtuelle, pipeline, out-of-order, branch-predict, irq, microcode.
Séance du 2026-12-01
- Enseignant: GAJ+VM
- Titre de la leçon: TD Automates
- Descriptif de la leçon: TD sur l'encodage des automates + encadrement sur l'avancement du projet
Séance du 2026-12-08
- Enseignant: GAJ+VM
- Titre de la leçon: TD Automates
- Descriptif de la leçon: Suite et fin TD Automates + encadrement sur l'avancement du projet
Séance du 2027-12-15
- Enseignant: MP
- Titre de la leçon: Applications Spécifiques
- Descriptif de la leçon: Filtrage (FIR), CRC, CORDIC, FFT, algorithme de Bresenham, logique asynchrone, architecture GPU/TPU.
Séance du 2027-01-05
- Enseignant: HB
- Titre de la leçon: Sécurité matérielle
- Descriptif de la leçon: Génération aléatoire.
Canaux cachés (caches, Spectre, timing, DPA, électromagnétique).
Fautes (RowHammer, vulnérabilité d'AES).
Contremesures.
Séance du 2027-01-12
- Enseignant: GAJ+VM
- Titre de la leçon: Session de travail sur projet
- Descriptif de la leçon: Encadrement sur l'avancement du projet
Séance du 2027-01-19
- Enseignant: HB
- Titre de la leçon: Examen écrit
- Descriptif de la leçon: Contrôle des connaissances
Séance du 2027-01-26
- Enseignant: HB+GAJ+VM
- Titre de la leçon: Soutenances orales des projets
- Descriptif de la leçon: Restitution des projets
Références bibliographiques
- Computer Organization and Design RISC-V Edition, David A. Patterson (Bibliothèque), en particulier le chapitre 4
- The Elements of Computing Systems: Building a Modern Computer from First Principles, Noam Nisan et Shimon Schocken (Bibliothèque)
- Digital Circuit Design for Computer Science Students: An Introductory Textbook, Niklaus Wirth (Bibliothèque)
- The Art of Computer Programming 4A.+4B., Combinatorial Algorithms, Donald E. Knuth (Bibliothèque 4A + 4B)
- Digital Logic Design, Brian Holdsworth and Clive Woods
- Conception des circuits VLSI: Du Composant au Système, François Anceau et Yvan Bonnassieux (Bureau S12)
- Processor Design: System-On-Chip Computing for ASICs and FPGAs, Jari Nurmi (Bureau S12)
- The Art of Electronics, Paul Horowitz et Winfield Hill (Bibliothèque)
- Low-Power Digital VLSI Design: Circuits and Systems, Abdellatif Bellaouar and Mohamed Elmasry
- Digital Logic Design Book How To Learn Digital Logic Design: Digital Computer Logic Design, Trinidad Hancock
- Digital Logic And Computer Design (2nd Edition), Morris Mano
- Engineering Digital Design: Revised Second Edition, Richard F. Tinder
Année précédentes:
Le cours était géré par Jean Vuillemin (an III-2016) puis Sylvain Guilley (2016-2025).
Annales des examens: