IFT209 – Programmation Système Introduction IFT209 – Programmation Système
Plan de cours Présentation du plan de cours Le cours vise à faire acquérir Les connaissances de base en programmation dans les langages d’assemblages Les rudiments en architecture des ordinateurs Concepts relatifs Aux types élémentaires de données Aux structures de contrôle Une méthode élémentaire de programmation Les notions de base sur la gestion Des entrées/sorties Des interruptions
Assembleur vs C++ Analogie entre les langages évolués (C++) et assembleurs énoncé (if, while, …) instructions (add, ba, …) type (int), classe (Stack) variable (int i, int A[20]) adresse mémoire fonction, méthode sous-programme méthode main programme variables locales registres locaux variables globales registres globaux passage de paramètres registres d’entrée/sortie appel de fonction branchement (call) retour branchement (ret, retl) entrées/sorties interruptions/bit d’état
Processus de développement Analyse du problème à résoudre Conception de la solution Codification du programme Test du programme
Règles d’écriture Caractères ASCII (pas d’accent) Lignes de 80 à 120 caractères Utilisation de tabulation, ou d’espace, mais pas de mélange Identification des auteurs au début du programme Respect des règles pour la soumission (turnin)
Vision de la solution
Préparation au cours Vous devez avoir lu le chapitre avant le cours Le cours présente la matière, avec des explications supplémentaires Chaque laboratoire contient une section à compléter avant d’arriver en classe Vous devez faire valider la réalisation de cette section pour avoir vos points
Manuel et notes de cours Les présentations du cours sont disponibles sur le site web Le manuel du cours est obligatoire « L’architecture du processeur SPARC et sa programmation en langage d’assemblage » Couvre toute la matière, sauf le chapitre 12 Disponible à la COOP de l’UdeS
Les exemples Les exemples sont donnés en pseudo-code ou en langage d’assemblage SPARC v9, 64 bits. Pour les laboratoires 7 et 8, le langage C et la version ARM 4 sont utilisés.
Évaluations 8 laboratoires (2% chacun 16% de la session) Les systèmes de numérations L’architecture et l’accès aux données L’écriture de programme assembleur Les nombres entiers et à virgule flottante Les tableaux et les structures de contrôle Chaine de bit et chaine de caractères Les interruptions et le ARM
Évaluations 6 devoirs (4% chacun 24% de la session) La compilation et le débogueur Un programme SPARC L’arithmétique entière avec précision infinie Les Sudokus Les additionneurs binaires Printf et Scanf
Évaluations Tous les laboratoires et les devoirs sont à faire en équipe de 2. Les laboratoires sont remis à la fin du cours Les devoirs sont remis de façon électronique Les consignes propres à chaque devoir sont avec l’énoncé Les devoirs et laboratoires non remis valent 0