Résumé de section
-
-
INF401 : Architecture des ordinateurs
(une introduction)
Année 1 : L’exécution des programmes en langage machine
(comprendre pour programmer efficacement et sans bug)
Contenu
- L'objectif de l'UE INF 401 de L2 est de comprendre le fonctionnement des ordinateurs pour pouvoir agir efficacement et surement, en tant qu'informaticien, avec les ordinateurs.
- La première année est consacrée à la compréhension de l'exécution des programmes en machine. La notion centrale vue dans cette UE est celle de langage machine (LM).
- L'UE comporte
- une introduction rapide à la représentation binaire des informations en machine
- un long développement sur la notion de langage machine et la programmation en langage machine (adresse, mémoire, données, exécution séquentielle, sauts, sous-programmes, paramètres)
- un exposé succinct sur la vie des programmes, de leur écriture en langage de haut-niveau jusqu'à leur exécution en langage machine. L'étudiant voit alors le LM par "au-dessus". L'étudiant est capable de lire le résultat d'une compilation.
- une vue d'ensemble sur l'organisation générale des ordinateurs allant jusqu'à la frontière entre langage machine et circuit. L'étudiant comprend comment les instructions du LM peuvent être physiquement exécutées à l'intérieur des processeurs. L'étudiant voit alors le LM par "en dessous".
- Une seconde année en L3 prolonge l'enseignement de L2 et le complète avec les circuits.
Organisation
- L'UE propose quatre créneaux par semaine : une séance de cours, une séance de TD et deux séances de TP (une seule des deux séances est encadrée).
- Rappels : en séance de TP, toute expérimentation sur machine consistant en la production d'un programme en langage d'assemblage nécessite la rédaction d'un algorithme avant sa traduction et la préparation de jeux d'essais. La séance de TP non encadrée doit être utilisée par les étudiants pour terminer leur travail et/ou le compléter
Évaluation
- Partiel : 25 %, Compte-rendus de TP : 25 %, Examen : 50 %
- L'évaluation des compte-rendus de TP repose sur plusieurs critères :
- La qualité de la rédaction : forme (qualité de la langue) et organisation du compte-rendu (introduction, conclusion, numérotation). En conclusions, vous pourrez expliquer ce que le TP vous a appris.
- La démarche utilisée : choix d'algorithme, choix des variables et structures de données (registre, pile avec un dessin), choix de traduction, analyse des choix.
- Les expériences réalisées : décrire la manière dont vous avez validé votre démarche vos choix ; pour les expériences négatives décrire la façon dont les erreurs ont été corrigées. Concernant le test des programmes, pour rappel : un jeu d'essai doit comporter un ensemble de tests (et non un seul) pertinents (et non choisis au hasard) pour la validation de la correction et de la robustesse du programme étudié.
Bibliographie
- Architectures Logicielles et Matérielles. Amblard, Fernandez, Lagnier, Maraninchi, Sicard et Waille. DUNOD 2000. Version en ligne.
- Computer Organization and Design: The Hardware/Software Interface. Patterson and Hennessy.
- Architectures des Ordinateurs. Cazes et Delacroix. DUNOD 2003.
- Processeurs ARM. Jorda. DUNOD 2010.
Documents
- Extraits des présentations utilisées lors des cours : pour visualisation (1/page), pour impression (4/page), résumé express (l'essentiel). Il n'y a pas tous les transparents de cours : voir explication dans le forum ...
- Sujets complets des TD et TP et documentation technique ARM avec résumés de cours.
- Lien vers une doc ARMv4 complète. Information sur le travail à distance (MobaXterm + Turing)
- Archives de partiels et examens :
(n.b. : quand les corrections manquent ou que vous voulez essayer une variante, pour avoir des éléments de réponse, essayez avec un compilateur ou une calculette hexadécimale, ils peuvent vous donner une solution)
- 2020 : partiel (elts de correction et vidéo, exercice ARM codage de Cesar (en vidéo))
- 2021 : partiel (elts de correction, exercice ARM triangle de Pascal)
- 2022 : partiel (elts de correction, exercice ARM rotation)
- 2023 : partiel (avec elts de correction)
- 2024 : partiel (elts de correction)
- 2021 : examen (elts de correction, exercice ARM fonction d'Ackermann)
- 2022 : examen (elts de correction, exercice ARM fonction de McCarthy)
- 2023 : examen (elts de correction)
- 2024 : examen (elts de correction, source jupyter)
Contact
Bruno Ferres (bruno.ferres@univ-grenoble-alpes.fr)
-
Sondage utilisé pour les réponses aux QCM lors du CM.
-
-
Consignes pour le rendu de tp (autres consignes, version à valider individuellement) Fichier
-
Pour chaque TP (ou groupe de 2 TP, quand indiqué), rendre un compte rendu au format texte.
Si cela vous semble pertinent (par exemple, s'il faut écrire des programmes en assembleur), fournir une archive contenant le compte rendu ainsi que les fichiers en question.Il sera précisé durant la séance si le TP est noté.
Cependant, je vous demande de rendre un compte rendu pour chaque TP (ou groupe de 2 TP), afin de pouvoir suivre la progression globale.