% INF2171 — Organisation des ordinateurs et assembleur % UQAM — Département d'informatique % Plan de cours — Été 2022 * Horaires, locaux et enseignants: Enseignement ============ Tsikhanovich, Aléna PK-4115 Groupes: 020 Description du cours ==================== Objectifs --------- Familiariser l'étudiant avec le fonctionnement de l'ordinateur à partir des niveaux de l'assembleur, du langage machine et des circuits logiques. Sommaire du contenu ------------------- Description des unités de l'ordinateur (processeur, mémoire, bus, périphériques). Représentation et manipulation de l'information (bits, octets, entiers signés et non signés, flottants, pointeurs, tableaux, enregistrements). Organisation et accès à la mémoire (pile, tas et leurs adressages). Représentation et exécution des programmes en langage machine et en assembleur (jeux d'instructions, sous-programmes, entrées-sorties). Description de la machine en couches: circuits logiques, microprogrammation, langage machine, langage d'assemblage. Modalité d'enseignement ----------------------- Ce cours comporte une séance obligatoire de laboratoire (2 heures). Préalables académiques ---------------------- INF1120 Programmation I Objectif du cours ================= Le cours INF2171 permettra à l'étudiant d'acquérir une formation théorique et pratique sur les principes de fonctionnement des ordinateurs et des microprocesseurs. On examinera les concepts fondamentaux au niveau du matériel et du logiciel, à partir de la programmation en langage assembleur. On étudiera particulièrement le processeur Pep8, en mettant l'accent sur l'organisation architecturale et la programmation. Contenu du cours ================ Aperçu des thèmes traités avant l'examen intratrimestriel : - Ordinateurs, microprocesseurs. Architecture générale d'un ordinateur: CPU, mémoire, disques, périphériques. - Concepts de la programmation en langage machine et en langage assembleur. Codage de l'informatique arithmétique sur ordinateur: addition, soustraction, multiplication, division. Codes de condition. Registres. - Éléments de base de l'assembleur. Instructions et directives. - Modes d'adressage et instructions du processeur Pep8. Codes de condition, branchements, boucles et tableaux. Structure, documentation et mise au point des programmes. - Pile et sous-programmes: appels simples. Aperçu des thèmes traités après l'examen intratrimestriel: - Sous-programmes: appels, paramètres, utilisation de la pile. Sauvegarde des registres. Modes d'adressage sur la pile. - Structures de données : structures, pointeurs, utilisation du tas. - Instructions arithmétiques et logiques. Arithmétique réelle. - Interruptions : Vecteurs d'interruption. - Éléments de base des circuits logiques. Les séances de laboratoire font partie intégrante du cours. Modalités d'évaluation ====================== Description Pondération Échéance -------------------- ------------- ------------------ Examen intra 25% 17 juin 2022 Examen final 25% 12 août 2022 Travail pratique 1 15% Semaines 3 à 7 Travail pratique 2 15% Semaines 7 à 11 Travail pratique 3 20% Semaines 11 à 15 Le TP1 portera sur les structures de contrôle simples (boucles et conditions). Le TP2 portera sur les sous-programmes et les tableaux. Le TP3 portera sur l'allocation dynamique, l'utilisation de pointeurs et la récursivité. L'étudiant doit obtenir une moyenne cumulée aux examens égale ou supérieure à 50% et une moyenne cumulée aux devoirs égale ou supérieure à 50%. Si ce seuil n'est pas atteint, la mention échec sera automatiquement attribuée au cours et ce, quelles que soient les notes obtenues. La qualité du français constitue un critère d'évaluation. En principe, aucun retard n'est toléré pour les travaux pratiques (voir les normes relatives aux travaux pratiques de votre groupe spécifique): un groupe-cours peut cependant établir une politique particulière permettant un retard avec pénalité. Il est de la responsabilité de l'étudiant de faire des copies de sauvegarde de ses travaux. La perte d'une clef USB ou de son contenu n'est pas une raison valable pour remettre un travail en retard ou ne pas le remettre. La note finale (en lettre, A+, A, etc.) pour le trimestre sera attribuée en fonction de l'atteinte des objectifs spécifiques à travers les évaluations. La distribution des résultats dans le groupe pourrait aussi être utilisée. Aucune autre opportunité (travail supplémentaire, etc.) d'augmenter le nombre de points ne sera accordée. Materiel de cours ================= Le cours utilise le logiciel *Pep/8 Assembler and Simulator*, qui est librement téléchargeable au Le matériel pédagogique est accessible sur Moodle. Calendrier ========== Plan prévisionnel (par semaine) 1. Introduction. Structure d'un ordinateur 2. Codage, langage machine, instructions 3. Arithmétique sur ordinateur 4. Éléments de base de l'assemblage 5. Adressage des opérandes, boucles et tableaux 6. Instructions 7. Examen intratrimestriel 8. Structure et documentation 9. Sous-programmes 10. Sous-programmes (suite) 11. Structures et données 12. Arithmétique réelle 13. Interruptions 14. Éléments de base des circuits logiques 15. Examen final Médiagraphie ============ Obligatoire ----------- - Gabrini, P. *Organisation des ordinateurs et assembleur* -- Janvier 2009, 238 PAGES. Sur Moodle. Ressources complémentaires -------------------------- - Privat, J. Diapositives de cours. Sur le site () - Warford, J.S. Computer Systems -- 4th edition, Jones and Bartlett, 2010, 699 pages.