Sigle : INF1643 Gr. 01 Titre : Architecture des ordinateurs II Session : Hiver 2017 Horaire et local Professeur : Touati, Hédi
|
Objectifs
Comprendre le fonctionnement global d'un ordinateur et de ses composants. Comprendre la communication entre les différentes parties matérielles et logicielles d'un ordinateur à l'aide du langage assembleur.
Contenu
Rappel sur la représentation des nombres, arithmétique en compléments et codes numériques. Structure interne des ordinateurs : processeur, mémoire, entrées/sorties, bus. Modèle du processeur : registres, unité arithmétique et logique, modes d'adressage, gestion de la pile. Introduction à la programmation sur un microcontrôleur et au langage assembleur. Programmation des ports d'entrée/sortie sur un microcontrôleur en langage de haut niveau. Ce cours comporte des séances obligatoires de travaux pratiques (TP) de trois heures par semaine.
|
À la fin de ce cours, l'étudiant(e) sera en mesure de :
- Présenter les concepts fondamentaux des microprocesseurs.
- Décrire le rôle des composantes et le fonctionnement d'un microprocesseur et d'un ordinateur.
- Introduire les techniques de base de programmation en assembleur HCS12 et en langage C.
Le cours couvre 6 des 12 qualités requises des diplômés telles que définies dans les normes d'agrément des programmes de génie au Canada (http://www.engineerscanada.ca/fr/ressources-en-matiere-dagrement)
a. Qualité 1 : Connaissances en génie
b. Qualité 2 : Analyse de problèmes
c. Qualité 3 : Investigation
d. Qualité 4 : Conception
e. Qualité 5 : Utilisation d'outils d'ingénierie
f. Qualité 6 : Travail individuel et en équipe
Les qualités 2, 3 et 4 sont mesurées dans ce cours pour fins de rétroaction.
Objectifs spécifiques |
Qualité |
Indicateurs |
Introduit |
Développé |
Appliqué |
- Résoudre des problèmes spécifiques à l'aide d'un microprocesseur.
|
2 |
2. Formuler un processus de résolution de problèmes, comprenant des approximations et des hypothèses |
X |
|
|
- Concevoir, développer, tester et évaluer des prototypes sur les microcontrôleurs HCS12 et Arduino.
|
3 |
2. Mettre en œuvre des investigations documentaires, des expériences et/ou des prototypes. |
X |
|
|
4 |
3. Créer des modèles, simulations, prototypes, et faire des tests. |
X |
|
|
4 |
4. Vérifier la conformité de la conception par rapport au cahier des charges. |
X |
|
|
|
Les formules pédagogiques suivantes seront utilisées :
- cours magistraux
- séances de travaux dirigés et de laboratoire
- projet en équipe
La présence aux cours et aux laboratoires est obligatoire.
|
Sur demande. Bureau : Local des chargés de cours, Courriel : touati@uqo.ca
|
1 |
Introduction
Présentation du plan de cours
- Mise en contexte
- Objectifs du cours
- Environnement de travail
Création des groupes de Travaux pratiques
Rappels sur les systèmes de numération
- Représentation binaire, décimal et hexadécimal
- Conversion binaire-hexadécimale et binaire-décimale
|
11 jan. 2017 |
2 |
Structure interne des ordinateurs
- Arithmétique binaire des nombres signés et non signés
- Opérations dans l'unité Arithmétique et Logique (ALU)
Architecture d'un ordinateur monoprocesseur :
- Schéma bloc et fonctionnement global d'un ordinateur
- Architectures RISC et CISC
TD1 : Systèmes de numération
|
18 jan. 2017 |
3 |
Principes généraux des microcontrôleurs
- Un microcontrôleur typique
- Exécution du code (instructions)
- Le développement de logiciel (firmware) pour les microcontrôleurs
Introduction au microcontrôleur HCS12 :
- Aperçu
- Les registres et les mots d'états
TD2 : Arithmétique binaire
|
25 jan. 2017 |
4 |
Le microcontrôleur HCS12 :
- Modes d'adressage
- Le jeu d'instructions de base
- Structure d'une instruction : adressage et format
TP1 : Structure interne des ordinateurs.
|
01 fév. 2017 |
5 |
Introduction à la programmation en assembleur HCS12 :
- Instructions de stockage
- Instructions de transfert
- Instructions arithmétiques
- Instructions logiques
- Instructions de test
- Instructions de branchement
- Outils de développement logiciels et matériels
TP2 : Introduction du microcontrôleur HCS12 et la carte Dragon12.
|
08 fév. 2017 |
6 |
Le microcontrôleur HCS12 : Outils de développement logiciels et matériels
- Outils de développement pour HCS12. Débogage
- Sous-programmes. La gestion de la pile
TP3 : Programmation en langage assembleur.
Devoir : Registres. Mode d'adressage. Programmation en langage assembleur
|
15 fév. 2017 |
7 |
Programmation avancée en langage assembleur
- Structures remarquables
- Tableaux & chaînes de caractères
- Piles
- Interfaçage E/S
TP4 : Programmation avancée en langage assembleur.
|
22 fév. 2017 |
8 |
Semaine d'études
|
01 mars 2017 |
9 |
Examen Intra
|
08 mars 2017 |
10 |
Introduction à la programmation en langage C
- Structure générale du langage C
- Organisation générale des programmes
- Les types, constantes et variables
- Les structures de contrôle
- Les bibliothèques standards
|
15 mars 2017 |
11 |
Arduino : Programmation en langage C
- Déclaration et utilisation des fonctions
- Gestion d'interruptions
- Interfaçage E/S avec l'Arduino : DEL, potentiomètre, bouton-poussoir, afficheur 7-segments
TP5 : Introduction à l'Arduino et à la programmation en langage C.
Devoir : Programmation en langage C.
|
22 mars 2017 |
12 |
Arduino : Programmation en langage C (suite)
- Interfaçage E/S avec l'Arduino : afficheurs LCD, capteur de distance, manette de jeux, boucliers
- Interfaçage avec Processing
TP6 : Interfaçage E/S avec l'Arduino : DEL et bouton-poussoir.
|
29 mars 2017 |
13 |
Arduino : Programmation en langage C (suite)
- Programmation avancée en C :
- Utilisation des Pointeurs
- Utilisation des Structures
- Séance de révision
TP7 : Mini-projet.
|
05 avr. 2017 |
14 |
Présentation des projets d'étudiants
|
12 avr. 2017 |
15 |
EXAMEN FINAL
|
19 avr. 2017 |
Une moyenne inférieure à 50% dans n'importe laquelle des composantes : (1) moyenne pondérée des examens de mi-session et final, (2) moyenne des laboratoires et des devoirs et (3) la note du projet est éliminatoire et conduit automatiquement à l'échec de l'étudiant(e). La pénalité de retard pour la remise d'un travail est de 20% des points par jour (y compris les jours fériés et les fins de semaine).
Outils d'évaluation |
Pondération |
Indicateurs évalués |
Examen de mi-session |
25 % |
2.2 |
Examen final |
30 % |
2.2 |
Travaux et devoirs |
30 % |
4.3 |
Projet |
15 % |
3.2 et 4.4 |
Par indicateur mesuré, on entend qu’à la fin du cours, un niveau de performance (0, 1, 2, 3) est donné pour chaque indicateur et pour chaque étudiant selon la grille ci-dessous :
Indicateurs |
Niveau 0 |
Niveau 1 |
Niveau 2 |
Niveau 3 |
2.2. Formuler un processus de résolution de problème, comprenant des approximations et des hypothèses. |
Formulation du processus de résolution inacceptable et traitement inadéquat des approximations et des hypothèses |
Formulation du processus de résolution acceptable, mais traitement partiel des approximations et des hypothèses |
Formulation du processus de résolution et traitement des approximations et des hypothèses acceptables |
Formulation du processus de résolution et traitement des approximations et des hypothèses remarquables |
3.2. Mettre en œuvre des investigations documentaires, des expériences et/ou des prototypes. |
Mise en œuvre inacceptable |
Mise en œuvre partielle |
Mise en œuvre acceptable |
Mise en œuvre remarquable |
4.3. Créer des modèles, simulations, prototypes, et faire des tests. |
Création de modèles, simulations, prototypes et/ou exécution de tests inadéquates ou inexistantes |
Création acceptable de modèles, simulations, prototypes, mais exécution de tests insuffisante |
Création de modèles, simulations, prototypes et/ou exécution de tests adéquats |
Création de modèles, simulations, prototypes et/ou exécution de tests remarquables |
4.4. Vérifier la conformité de la conception par rapport au cahier des charges. |
Vérification inadéquate ou inexistante |
Vérification partielle |
Vérification acceptable |
Vérification exhaustive |
|
|
Notes de cours (lectures)
Références recommandées
- E. Han-Way Huang, HCS12/9S12 : An introduction : Software and hardware interfacing, Clifton Park, USA, Delmar Learning, 2010.
- A. Kelly and I. Pohl, A Book on C, Edition 4, Addison-Wesley, ISBN : 0-201-18399-4.
Autres références
- F.D.A. Patterson, J.L. Hennessy, Computer Organization and Design : The Hardware/Sorfware Interfac, 4e ou 5e édition, Morgan Kaufman, 2012 ou 2013.
- A. Tanenbaum, Architecture de l'ordinateur, Paris, France, Dunod, 2001.
- F.M. Cady, Microcontrollers and Microcomputers : Principles of Software and Hardware Engineering, Oxford University Press, 2010.
- S. Monk, Arduino : Les bases de la programmation, Pearson, 2013.
- C. Tavernier, Arduino : Maîtriser sa programmation et ses cartes d'interfaces, Dunod, 2011.
|
https://moodle.uqo.ca |