Université
de Picardie Jules Verne
|
Module
1 :
Architecture
des ordinateurs
Téléphone :
+33-(0)3.22.82.78.75 |
Introduction
L'organisation de ce cours d'introduction à l'architecture des ordinateurs est le suivant :
Le chapitre 1 est cette présentation générale ;
Le chapitre 2 présente le cheminement de l'information dans un microprocesseur et intruduit le vocabulaire de base.
Le chapitre 3 est une introduction à l'arithmétique des ordinateurs.
Le chapitre 4 est une introduction au langage des microprocesseurs.
Le chapitre 5 présente l'assembleur MIPS R3000 (un simulateur pour PC Windows, et unix peut s'obtenir via le WEB) qui représente bien une machine RISC.
Le chapitre 6 est une présentation introductive à la technologie des PC.
Il y a aussi un chapitre virtuel dont le contenu est de parcourir les pages Internet référencées plus bas. Il s'agit alors d'aller voir l'offre des grands constructeurs, les tendances. Cette partie n'est pas indispensable, c'est un plus.
Les exercices sont donnés soit dans le texte soit à chaque fin de chapitre.
Les ressources (Internet) dont vous pouvez avoir besoin sont :
Le simulateur MIPS peut s'obtenir à :
Une note pour produire de l'assembleur MIPS (note au format PDF) à partir du compilateur GCC (compilateur C, C++, Java dans le domaine public) installé sur un PC (assembleur x86). Cette note s'adresse aux personnes expérimentées ayant de bonnes connaissances du monde Linux et de la compilation.
DOC: Visiter le site http://www.elsevier-international.com/computersciences/ puis faire une recherche des libres Computer Architecture: A Quantitative Approach International Student Edition, 3rd Edition et Computer Organization and Design The Hardware/Software Interface, Second Edition : cliquez ensuite sur le bouton "visit web site" (qui est le site du livre). Voir aussi http://www.cs.wisc.edu/~larus/spim.html . COURS complémentaire par David Paterson (en Anglais) qui est un spécialiste mondial d'architecture http://www.cs.berkeley.edu/~pattrsn/152F97/index_lectures.html. Le cours référencé ici porte sur les d'architecture et il est est tout à fait remarquable.
Des livres, cours et des sites sur l'architecture, en particulier au niveau des circuits :
Goossens, B., Université Paris VII Denis Diderot, Paris, France, Architecture et micro-architecture des processeurs.
Computer Organization & Architecture Designing for Performance - 6ème édition [Computer Organization & Architecture] William Stallings, Prentice Hall - 11/2002 18,2 x 24 - 836 pages ISBN: 0-13-035119-9
John L. Hennessy, David A. Patterson, Computer Architecture A Quantitative Approach - 3ème édition Morgan Kaufman - 06/2002 19 x 23,5 - 1100 pages, ISBN: 1-55860-724-2
Autres liens utililes :
http://webster.cs.ucr.edu/AoA/DOS/
(The Art of Assembly Language Programming)
http://www.stanford.edu/class/ee272/
(très bien)
http://www.seas.upenn.edu/~ese200/
(encore mieux)
http://www.vhdl.org
http://asim.lip6.fr/alliance/
http://www.erc.msstate.edu/~reese/vhdl_synthesis/
http://www.cs.berkeley.edu/~pattrsn/course.html
http://www.cs.umass.edu/~weems/courses.html
Enfin, dans le désordre, pour les passionnés... et si
vous avez du temps devant vous :
MicroDesign
Resources,
http://www.mips.com
(MIPS Technology),
http://www-europe.hp.com
(HP Europe), http://www.ibm.net
(IBM),
http://www.nec.com
(NEC), http://www.intel.fr
(INTEL),
http://www.chipexpress.com
(ChipExpress). Vous pouvez aussi voir la page de la société
Tanner http://www.tanner.com/
qui propose des logiciels de simulation de circuits intégrés.
http://bwrc.eecs.berkeley.edu/CIC/
(CPU Info Center). Vous pouvez aussi aller voir la page des "Great
Microprocesseurs of the Past and Present''
http://www.sasktelwebsite.net/jbayko/cpu.html.
Vous pouvez aussi visiter la page des SPEC (métriques de
performances)
http://www.specbench.org/,
http://www.ti.com (Texas
Instrument)
Nous vous recommandons également la page concernant les groupes de recherches académiques en architecture des ordinateurs (http://www.cs.wisc.edu/~arch/www/). Enfin il y a la page Computer Architecture References and Resources qui est très riche. Ceci, encore une fois pour les passionnés qui ont du temps devant eux.
En resumé, le travail minimum à accomplir : lire, comprendre le polycopié, faire le plus d'exercices possible. Dans le chapitre 4, faire une sélection de votre choix des exercices proposés. Si vous avez du temps, examinez les pointeurs WEB donnés plus haut (c'est pour les passionnés). Un schéma d'organisation proposée pour suivre au mieux ce cours peut être le suivant :
une semaine pour lire (1h), comprendre et faire les petits exercices du chapitre 1 (la solution des exercices se rédige en une phrase) ; TOTAL : 1h de travail la première semaine ;
trois semaines pour lire (2 fois 1h), comprendre et faire les exercices du chapitre 2 (4 fois une heure); TOTAL : 6h de travail sur trois semaines ;
Le chapitre 3 : je vous conseille de passer 3H.
3 semaines pour lire (3 fois une heure) comprendre et faire les exercices du chapitre 4 (6h) ; Les exercices ne demandent pas d'imaginer, de créer, de programmer des solutions algorithmiques, il s'agit d'expérimenter un code fourni et dire si le résultat obtenu est conforme à vos prédictions. On vous conseille de faire une sélection des codes qui diffèrent par les instructions assembleurs qu'ils mettent en jeu. Nous vous conseillons donc de travailler avec le polycopié qui liste les instructions assembleurs à coté de vous. Vous pouvez commentez les codes en dessinant, pour chaque instruction, le contenu des registres machines. On rappelle que le simulateur s'obtient sur le site http://www.cs.wisc.edu/~larus/spim.html
Une pratique minimum de l'anglais est utile ! Si vous manquez de pratique, envoyez moi toutes vous questions par email rédigées en anglais. Je répondrais...en anglais !
Nous rappelons que le travail demandé est un travail de compréhension. Nous ne vous demandons pas réellement d'imaginer, de construire des solutions et de les coder en langage d'assembleur (la difficulté serait à priori trop grande pour vos connaissances). Ne vous laissez pas impressionner par la grande quantité d'information présente sur cette page : il y a la description du travail minimum à accomplir et du travail en plus pour ceux qui veulent. Evidemment, l'évalution portera sur le travail minimum demandé. Il y a le devoir plus bas.
Pour les outils de décompression (gzip, unzip,...), d'affichage de fichiers PostScript, PDF... voir la Free Software Foundation ou encore les utilitaires Ghostscript, Ghostview and GSview ou encore l'utilitaire Acrobat Reader de chez Adobe. (Je suppose que vous avez un navigateur Internet)
Le polycopié en format PDF ici ( Compilation du 8 mars 2005 avec des propositions de correction de certains exercices et des précisions sur l'assemblage).
Le devoir du semestre "janvier 2006 à juillet 2006" en format PDF est ici (NEW : le code source du devoir). Le devoir est à remettre le . Envoyez moi le devoir par courrier électronique avec une copie à Emmanuel Marty. Merci.
Le devoir du semestre "juillet 2005 - décembre 2005" en format PDF est ici (NEW : le code source du devoir). Le devoir est à remettre le . Envoyez moi le devoir par courrier électronique avec une copie à Emmanuel Marty. Merci.
NEW (7 mars 2005) : le devoir du semestre "janvier 2005 - juillet 2005" en format PDF est ici (le code source du devoir). Le devoir est à rendre pour la mi-juin au plus tard. A tout moment, vous pouvez posez des questions. Participez aux "chats" et aux regroupements.
Le devoir du semestre "juillet 2004 - décembre 2004" en format PDF est ici (NEW : le code source du devoir - Hint (11 octobre 2004): la méthode du tri shellsort est présentée ici en PDF. Vous pouvez aussi faire une recherche par les mots clefs "tri shell" sur Google). Le devoir est à remettre . Envoyez moi le devoir par courriel avec copie à Nicolas Royackkers (nicolas.royackkers@u-picardie.fr). Merci.
Le devoir du semestre 1 (janvier à juillet 2004) en format PDF est ici (NEW : le code source du devoir). Le devoir est à remettre lundi 24 mai 2004 (dernier délai - le chat du 3 juin sera consacré à la préparation de l'examen.). Envoyez moi le devoir par courriel avec copie à Nicolas Royackkers (nicolas.royackkers@u-picardie.fr). Merci.
Le devoir du semestre 2 (juillet - décembre 2003) en format PDF est ici (NEW : le code source du devoir). (une proposition d'un étudiant ayant fourni un travail très détaillé est disponible également - lisez là, c'est très bon !).
Le devoir de la session janvier 2003 - juillet 2003 est ici en format PDF. Le source du programme assembleur à étudier est ici. Le devoir est à rendre pour le 22 mars 2003. Dans le module M1, il y a un devoir d'architecture, un devoir d'algorithmique et un devoir système/réseaux. Je ne m'occupe que du devoir d'architecture. Un "chat" sera organisé dans les semaines qui arrivent pour parler du devoir. Je vous communique également un devoir à consulter (pour préparer l'examen, par exemple) issu d'une session précédente : en format PDF ici.
Points de repère pour le regroupement du merdredi 2 octobre 2002.
Le sujet de l'examen de la session de juin 2003 en format PDF... accompagné d'un corrigé de la partie assembleur (1/10/2003). Veuillez noter combien le commentaire du code assembleur est simple et comment la discussion est conduite. Vous trouverez également le sujet corrigé de l'examen de décembre 2003. Mêmes remarques.
Liste de tests :
Pour votre information, je vous prie de consulter les liens suivants qui concernent des tests de toutes sortes (tests de performance en calcul numérique, en débit d'I/O (disques), en communication avec TCP) :
|
Last mofified: lundi 10 octobre 2005