INF4103 - Architecture des ordinateurs II

Scolarité

Premier cycle - 3,0 crédit(s)

Département

Département d'informatique et d'ingénierie

Objectifs

Étudier le fonctionnement et la communication entre les différentes parties matérielles et logicielles d'un ordinateur à l'aide du langage d'assemblage. Apprendre les principes de base de la programmation structurée.

Contenu

Structure interne des ordinateurs : processeur, mémoire, entrées/sorties, bus, cycles, instructions et exécution. Modèle du processeur : registres, unité arithmétique et logique, les instructions machines, les modes d'adressage, la gestion de la pile. Utilisation des processeurs : comparaison des architectures CISC et RISC. Programmation langage machine : introduction à la programmation sur un processeur d’ordinateur (Intel) et sur un microcontrôleur, fondement du langage d'assemblage. Programmation avancée en assembleur : développement des applications sur 16 bits et 32 bits, pratique des structures de données et des structures de contrôle, débogage. Interfaçage de l'assembleur avec les langages de haut niveau. Programmation Windows et interfaçage avec les API Win32. Programmation des ports d’entrées/sorties sur microcontrôleur, programmation des interruptions. Ce cours comporte des séances obligatoires de travaux pratiques (TP) de trois heures par semaine.

Préalables

Exigences de qualification pour l'enseignement

Diplôme(s)
Maîtrise en informatique ou en génie informatique ou en génie électrique ou l'équivalent.
Expérience
Cinq années d'expérience professionnelle en architecture des ordinateurs et en systèmes d'exploitation.
Corps professionnel
Être membre en règle d'un Ordre professionel d'ingénieurs du Canada.
Autre(s) exigence(s)
Dans tous les cas, le candidat devra pouvoir démontrer une capacité à communiquer efficacement oralement et par écrit ainsi qu'à transmettre les connaissances ou les habiletés pertinentes au contenu du cours pour lequel les exigences de qualification pour l'enseignement (EQE) sont adoptées.

CAFF

6609 - Génie informatique et logiciel