[Home]


Cours

Le but du cours est de comprendre la structure d'un processeur puis d'un système matériel complet, les contraintes qui ont abouti aux architectures actuelles et la programmation de ces architectures. Vous êtes invités à consulter la page web du cours pour retrouver les supports et toutes les informations nécessaires.
Chargé de cours : Olivier Temam (page du cours).
Chargés de TD : Cédric Bastoul et Olivier Temam.

DigLog

Le simulateur est l'outil de base de l'architecte des ordinateurs pour mettre au point et tester ses circuits. Dans ce module, nous utiliserons DigLog, un logiciel libre de conception de circuits digitaux particulièrement robuste, qui permettra aussi bien la réalisation de circuits simples que d'architectures avancées. Les documents suivants vous aideront à maîtriser cet outil :

Travaux dirigés

Le but des TD/TP est de construire entièrement un processeur simple à partir de composants élémentaires (portes logiques et signal d'horloge), puis de le programmer. Le processeur étudié sera le LC-2, proposé par Yale N. Patt et Sanjay J. Patel. On trouvera sur la page officielle de leur livre Introduction to Computing Systems: From Bits and Gates to C and Beyond! les informations concernant entre autres l'environnement de compilation et de simulation pour le LC-2. Le processeur LC-2 a par ailleurs été entièrement implanté avec DigLog par Albert Cohen, on peut le télécharger librement sur la page de DigLC2.
Le mot de passe qui vous a été communiqué en TD vous donnera accès aux corrigés et à leurs supports au fur et à mesure de la progression.

Dans tous les sujets, remplacer ~cohen/ par ~bastoul/ pour avoir des outils fonctionnels.

Travaux dirigés Énoncés Supports
TD 1 
Circuits combinatoires
Sujet Masque de l'afficheur numérique
Masque de l'ALU
Corrigé Afficheur décimal
Multiplexeur et décodeur
ALU
Additions carry-save
TD 2 
Circuits séquentiels
Sujet Routage de fils
Masque du banc de registres
Corrigé Banc de registres
Registre à décalages
Barrel shifter
TD 3 
Contrôle câblé ou microprogrammé
Sujet Masque du microcontrôleur
Masque du multiplieur 4-bits
Corrigé Microcontrôleur
Microprogramme du microcontrôleur (poids fort)
Microprogramme du microcontrôleur (poids faible)
Multiplieur 4-bits
Microprogramme du multiplieur (poids fort)
Microprogramme du multiplieur (poids faible)
Microprogramme du multiplieur sans compteur (poids fort)
Microprogramme du multiplieur sans compteur (poids faible)
Multiplieur flottant
Microprogramme du multiplieur flottant
TD 4 
Conception d'un microprocesseur
Sujet Archive du LC-2 simplifié sans microprogramme
Corrigé Microprogrammation du LC-2 simplifié
Boucle en assembleur
Binaire de la boucle (poids fort)
Binaire de la boucle (poids faible)
TD 5 
Programmation en assembleur
Sujet Manuel du simulateur LC-2
ISA détaillée du LC-2
Corrigé Factorielle multi-précision
TD 6 
Assembleur et entrées/sorties
Sujet Archive du LC-2 complet
Corrigé Routine d'interruption
LC-2 avec contrôleur graphique