OBJECTIFS
Initier l'étudiant informaticien à la conception d'un système
digital complexe, et plus particulièrement à celle d'un processeur,
en introduisant à cet effet les composants et les méthodes de
synthèse adéquats. Il s'agit d'étudier la méthodologie de synthèse
de machines algorithmiques: décomposition en unité de contrôle
et unité de traitement, et synthèse de chacune d'elles. D'introduire
la technique de la microprogrammation et des transformations matériel-logiciel
qu'elle permet. Tous ces sujets donneront lieu à des travaux pratiques
de conception, se terminant par la réalisation de processeurs
simples.
CONTENU
- Mémoires
Définition et conception des mémoires vives par assemblage de
démultiplexeurs, verrous et multiplexeurs. Réalisation des multiplexeurs
par passeurs à 3 états. Introduction des bus.
- Arbres et diagrammes de décision binaire
Définition, analyse et synthèse des arbres de décision binaire.
Transformation des arbres en diagrammes. Réalisation de ces diagrammes
par des réseaux de démultiplexeurs (système logique câblé) ou
par une machine de décision binaire (système programmé) à deux
types d'instructions: test (IF...THEN...ELSE...) et affectation
(DO...).
- Sous-programme et procédure
Réalisation programmée de compteurs et mise en évidence d'un sous-programme.
Réalisation d'une procédure unique ou de procédures imbriquées
par une machine de décision binaire à pile (stack) exécutant quatre
types d'instructions: test, affectation, appel de procédure (CALL...)
et retour de procédure (RET). Application: horloge électronique
simple.
- Programmes incrémentés
Adressage des instructions avec incrémentation. Réalisation des
programmes incrémentés par une machine à pile avec compteur de
programme, décomposée en un séquenceur et une mémoire.
- Programmation structurée
Définition des quatre constructions de la programmation structurée:
affectation, séquence, test et itération. Conception descendante
d'un programme. Application au cas de l'algorithme horloger.
- Processeur
Décomposition d'un processeur en deux unités: l'unité de traitement
(unité arithmétique et logique) et l'unité de contrôle (système
microprogrammé).
Last updated: November 1998, by Alex Bänninger.
In case of problems with this site, please contact www_adm@lslsun.epfl.ch
Logic Systems Laboratory, http://lslwww.epfl.ch |