Architectures des ordinateurs et des microprocesseurs ING3

publicité
Architectures des ordinateurs et des
microprocesseurs
Responsable Pédagogique :
Jackson FRANCOMME
ING3
Semestre 2
Volumes horaires
CM TD TP Projet Evaluation
16 6 4,5 40
2
Langue : français
Objectifs :
Pré requis :
Total
68,5
Crédits ECTS :
9 Introduction architectures des ordinateurs.
9 Donner les éléments nécessaires à la connaissance des microprocesseurs
et à la pratique de la programmation en langage machine.
9 Mise en œuvre d’une méthode de programmation de bas niveau sur un
processeur à base de 68000.
9 Electronique numérique de base.
9 Principe de codage d’une information dans une base quelconque.
9 Principe d’écriture d’un algorithme.
Sommaire du cours :
Partie 1 – Architectures des ordinateurs - Durée 6 heures
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Introduction
Concept d’Informatique Industrielle
historique des ordinateurs
Structure générale d’un ordinateur monoprocesseur actuel
Les différents types d’ordinateur
Evolution de la complexité et des performances des microprocesseurs
Les langages de programmation
Codage des informations
Algèbre de Boole et circuits logiques
Hiérarchie mémoire
Technologies des mémoires - principes
• Mémoire morte – ROM – Flash, Mémoire vive – RAM,
• Mémoire centrale, Mémoires caches – Antémémoire
• Mémoire de masse, Mémoire virtuelle - Introduction.
Les BUS
• Caractéristiques des bus
• Bus internes/externes
• Les bus externes standard – IDE, PCMCIA, SCSI…
Architecture générale des microprocesseurs
• Les familles de processeurs – CISC et RISC.
• Unités interne : Unités de bus, de pré extraction, de décodage, de
contrôle, arithmétique et logique, de gestion de mémoire.
• Accroissement des performances
9 Mémoires caches, Mémoire centrale
9 Architecture « Pipeline » et prédiction de branchement.
9 Machines superscalaires
• Exemples d’architectures actuelles : Pentium, Athlon, PowerPC.
Principe d'un microcontrôleur
Décodage des adresses
Partie 2 – Architecture et programmation des processeurs de la famille 68xxx Durée 10 heures.
16. Programmation du microprocesseur 68000 (Motorola)
• Ressources : registres, mode superviseur et utilisateur, signaux
• Organisation mémoire – Von Neuman
• Cycles de lecture et d’écritures asynchrones
• Les modes d’adressages : Immédiat, direct (ou absolu), direct par
registre, indirect par registre d’adresse (simple, avec post
incrémentation, avec pré décrémentation, avec déplacement de
l’adresse, avec un index), relatif au compteur de programme.
• Le jeu d’instruction du 68000 et codage des instructions
• Langage de programmation assembleur – instructions – champs et
directives d’assemblage – étiquettes.
• Comparaisons et tests.
• Ecriture structurée de programmes
• Illustration des modes d’adressages du 68000.
17. Sous programmes, gestion de la pile, passage de paramètres
18. Allocations dynamiques de mémoire
19. Les « exceptions et les interruptions » logicielles et matérielles
• Différences fondamentales avec un sous-programme
• Table des vecteurs d’exception
• Les interruptions : niveaux, priorité, de type masquable et non
masquable, la partie haute du registre d’état.
• Traitement d’une exception : éléments sauvegardés, routine de
traitement, terminaison.
20. Programmation en mode superviseur et utilisateur
21. L’accès direct à la mémoire – DMA 22. Les interfaces d'un microprocesseur – Présentation
Déroulement :
Travaux dirigés :
4 séances de travaux dirigés de 1,5 heure.
1. Rappels sur la numération
a. Codage dans les différentes bases.
b. Conversions.
c. Complément à deux.
d. Addition et soustraction en binaire et registre d’états
2. Description du jeu d’instructions du microprocesseur 68000 – application sur
des exemples simples.
a. Utilisation du jeu d’instructions
b. Les registres et la mémoire.
c. Les modes d’adressages.
3. Assembleur avancé I.
a. Initialisation d’une portion de mémoire
b. Recherche dans un tableau
c. Comparaison de zones mémoire
d. Calcul d’une somme de contrôle (checksum)
4. Assembleur avancé II.
a. Traitement sur chaîne de caractères.
b. Classement de données – tri à bulles.
Travaux pratiques :
3 Séances de travaux pratiques de 1,5 heure.
1. Prise en main du logiciel de simulation BSVC (application pour station UNIX
et/ou Windows) et mise en œuvre de petites applications permettant de tester
les différents modes d’adressages du microprocesseur 68000.
2. Programmation de routines en langage assembleur 68000 permettant de rendre
opérationnelle une application de calcul évoluée.
3. Validation expérimentale des principales structures de l’application choisie
pour le projet.
Projet :
Objectifs : Mise en œuvre des principes de la programmation en assembleur.
1. Sujet 1 : programmation d’une structure de compression de données utilisant
l’algorithme de Huffman.
a. Détermination probabilité d’occurrences de l’ensemble des symboles.
b. Construire l’arbre de Huffman
c. Compresser un court texte.
2. Sujet 2 : gestion informatique d’un ensemble de données par une liste chaînée.
a. Construction liste chaînée
b. Ajout d’une nouvelle entrée dans l’agenda
c. Retrait d’une entrée de l’agenda
3. Sujet 3 : Le jeu de la vie de John Conway
a. Simulation de la vie d’une colonie seule.
b. Confrontation entre deux colonies.
Conférences :
Néant
Evaluation :
Devoir surveillé de durée 2 heures
Les points suivants sont évalués :
1. Connaissance générale des composants d’un système microprogrammé.
2. Utilisation du jeu d’instructions du microprocesseur 68000 pour la création
d’un programme en langage assembleur 68000.
3. Compréhension d’un programme écrit en langage assembleur.
Bibliographie :
Supports de cours :
9 Polycopié de cours écrit par J. FRANCOMME.
9 Polycopié combo TD, TP, Projets + critères de notation, écrit en
collaboration avec messieurs HENRI et PIAU.
Documents conseillés :
9 Cf. site web perso : http://francomme.fr.fm
Ouvrages de références :
9 68000 FAMILY ASSEMBLY LANGUAGE - ALAN CLEMENTS
PWS-KENT publishing Company (anglais) ISBN 0-534-93275-4
9 Informatique Industrielle - Microprocesseurs et interfaces temps réels Robert D. Hersch Presses Polytechniques et Universitaires Romandes.
ISBN 2-88074-353-2
9 Mise en oeuvre du 68030 MOTOROLA (idem pour les autres
processeurs) - Catherine VIEILLEFOND SYBEX
9 32-BIT MICROPROCESSOR USER’S MANUAL THIRD EDITION –
MOTOROLA – PRENTICE HALL ISBN 0-13-567017-9
Webographie :
Site principal : http://francomme.fr.fm rubrique processeur 68xxx.
Téléchargement