Contact jean-luc.dekeyser@univ-lille.fr
Ce TP est en accès public. Vous pouvez le lire, l'imprimer, l'utiliser pour vos enseignements ou vos loisirs. Néanmoins merci de respecter les droits d'auteur - Licence Creative Common BY-NC 4.0 - et merci de me contacter pour :
Identification de bugs en tout genre:-(
Utilisation dans vos classes, TPs,
Extension vers d'autres cartes, d'autres environnement,
Sujets d’exercices avec ou sans corrections,
...
Toutes vos contributions seront, si vous le désirez, diffusées sur ce site.
Dans toutes les formations en informatique, on consacre un certain nombre de cours à l’architecture des ordinateurs. Beaucoup d’étudiants, même les férus en programmation ou jeux vidéo se posent la question de l’intérêt d’un tel cours. Oui des millions voire des milliards de personnes aujourd’hui utilisent des ordinateurs sans trop savoir ce qu’il se passe à « l’intérieur » et heureusement pour eux ! Mais un informaticien n’est pas un utilisateur comme les autres, il devra d’une façon ou d’une autre s'appliquer à cacher les fonctionnements complexes d’un système électronique aux utilisateurs lambda tout en assurant une bonne exploitation des ressources mises à sa disposition. Quoi de plus naturel quand on veut cacher quelque chose de savoir ce qu’il en est !
Comprendre le fonctionnement d’un processeur moderne est une tâche ardue et qui demande une mise à niveau régulière. La conception d’un processeur de ce type repose sur des équipes de chercheurs et ingénieurs très spécialisés et d’ailleurs assez rares sur le marché du travail. Par contre les fondements de l’architecture n’évoluent que très peu. Depuis l’après-guerre, on utilise un modèle de fonctionnement dérivé de celui de Von Neumann. Construire un mini processeur qui respecte ce modèle devient réaliste pour un étudiant débutant, sans connaissance initiale particulière.
Pour vous initier à la construction d'un tel processeur, vous allez pourvoir tester sur une carte électronique des circuites électronique de base. Sans la carte vous pourrez toutefois utiliser un simulateur qui reproduira exactement son comportement.
C’est quoi cette carte? Un processeur une fois conçu doit passer en « fonderie » afin d’en sortir de grandes séries d’exemplaires identiques. C’est un processus industriel lourd et coûteux qui convient pour un constructeur comme Intel, mais pas du tout pour un groupe d’étudiants. Il existe sur le marché des constructeurs des puces électroniques programmables. Un bout de silicium où vous pourrez instancier votre conception sans passer par la fonderie. C’est ce qu’il vous faut ici. Les carte choisies qui utilisent une puce Xilinx seront présentées dès la première leçon.
La conception de vos circuits nécessite un environnement de « design ». C’est lui-même un programme informatique qui tourne sur votre PC et donc sur un processeur. Le but de cet environnement consiste à produire la programmation de la puce programmable. On utilisera donc l’environnement ISE de Xilinx. Chaque constructeur de puce programmable propose son propre environnement de design. ISE propose une version libre qui sera découverte lors de la leçon 1 et au fur et à mesure de vos développements. Xilinx propose aujourd'hui un autre environnement mais qui ne permet pas la saisie de circuit via une interface graphique...
Il existe une quantité de livre sur l’architecture des ordinateurs, je vous conseille d’en lire au moins un. Ici je vous propose 6 leçons (un demi-semestre) basées exclusivement sur des travaux pratiques. Ses leçons vont vous permettre de vous familiariser et de mettre en œuvre le B.A.-BA de la logique combinatoire et séquentielle sous ISE. A chaque étape la simulation et l’exécution effective sur la puce programmable permettront de valider vos développements.
Bon amusement !
les TP sont notés à chaque fois. Les 5 premiers sur 3 points qui correspondent aux 3 parties à réaliser sont accessibles à tous .
Le TP 6 quant à lui est noté sur 5 points et validera les acquis de chaque binôme. Il sera néanmoins préparé avec votre enseignant lors du TD5.