THEORIE ET PRATIQUE DES MICROPOCESSEURS RESUME Bien utiliser les microprocesseurs impose une parfaite connaissance des matériels, des logiciels, des coûts et des méthodes de mise en œuvre. Dans ce domaine l’extrême diversité des informations requiert pour chaque cas une étude préalable longue et coûteuse. Ce livre vous apporte l’étude fondamentale des logiques programmées et des microprocesseurs (matériel et logiciel), basée sur l’analyse détaillée : Des problèmes relevant de l’utilisation des microprocesseurs. - Des coûts ainsi que de la durée des études et du développement. - Des matériels et des logiciels en vue du meilleur choix. - De la méthodologie de développement des applications. C’est un traité pratique de mise en œuvre des microprocesseurs qui vous apportera la synthèse des expériences réunies de deux éminents spécialistes en la matières. Il constituera un outil pratique qui guidera les électroniciens et les informaticiens dans leur travail quotidien. Il servira de cours à la fois théorique et pratique aux enseignants et aux étudiants. Enfin, tous ceux qui auront à utiliser ou utilisent les microprocesseurs et leurs systèmes y puiseront les informations précise et indispensables pour bien les choisir et les exploiter. TABLE DES MATIERES 1re partie Introduction aux logiques programmées I L'information et son traitement 5 1 Introduction 5 2 L'information 2-1 L'unité de codage de l'information : le bit 2-2 L'unité de traitement de l'information : le mot 2-3 L'information en multiple longueur 2-4 L'interprétation de l'information 7 7 8 8 9 3 types de codage 3-1 Le décimal et l'hexadécimal codés en binaire 3-2 Les nombres négatifs 3-3 Virgule fixe, virgule flottante 3-4 Caractères alphanumériques 9 9 10 10 11 4 Transmission de l'information 4-1 Transmission série Mode asynchrone Mode synchrone 4-2 Transmission parallèle 12 12 13 13 14 4-3 14 5 Notion de bus Stockage de l'information 5-1 Nature des organes de stockage 5-2 L'adressage 5-3 Le stockage interne des programmes Séquencement des instructions 15 15 17 20 20 5-4 5-5 5-6 5-7 Séquencement des instructions La pile Stockage en mémoire mort Stockage en mémoire vive Stockage interne des données Le stockage externe de l'information Ruban perforé Cartes perforées Cassette à bande magnétique Le disque souple Autres types de supports Le chargement des mémoires vives Protection des mémoires vives 20 21 22 22 23 23 23 24 24 25 26 26 27 6 Codage de l'information pour le listage 6-1 Listage par codage hexadécimal 6-2 Listage par codage symbolique 6-3 Langages évolués II Structure et fonctionnement des logiques programmées 1 Le rôle du processeur 1-1 Le séquencement 1-2 Le décodage des instructions Le décodeur câblé Le décodeur microprogramme 1-3 L'exécution des instructions 29 29 29 30 30 30 2 Mémoires internes : les registres 31 3 Les indicateurs Le report Le zéro Le signe La parité La demi-retenue Le débordement arithmétique 32 33 33 33 34 34 34 4 Le rôle de la mémoire centrale 35 5 Le rôle des entrées-sorties 36 6 Fonctionnement de la logique programmée : les cycles d'exécution 6-1 Cycle de recherche 6-2 Cycle de lecture 6-3 Cycle d'écriture 6-4 Cycles d'entrées-sorties 38 38 39 39 39 7 Etats des cycles 40 8 Synchronisation 40 9 Suspension 9-1 Arrêt du processeur 9-2 Multiplexage 9-3 Vol de cycle 41 41 41 42 10 Interruptions 10-1 Le masquage 10-2 Priorités 42 42 43 10-3 10-4 43 44 2e partie La vectorisation La sauvegarde du contexte 27 27 27 28 Les microprocesseurs III Introduction aux microprocesseurs 45 1 L'évolution des circuits intégrés 1-1 Les PROM en logique combinatoire 1-2 Les FPLA 1-3 L'évolution vers les microprocesseurs 45 46 47 49 2 La naissance des microprocesseurs 50 2 La naissance des microprocesseurs 50 3 Les générations de microprocesseurs 3-1 Premiers concept 3-2 A la recherche d'un compromis 3-3 Les nouvelles générations 50 50 53 53 4 Le classement des microprocesseurs 4-1 Classement en fonction de la technologie 4-2 Classement en fonction du chemin des données 58 58 59 5 Les bipolaires et le concept des tranches 60 6 Choix d'un microprocesseur 6-1 Secondes sources 6-2 L'environnement technique 61 61 63 IV Le matériel («hardware») 65 1 Description du microprocesseur 1-1 Structure externe Fonction de synchronisation Fonction de suspension Fonction d'initialisation Fonctions annexes 1-2 La structure interne Les registres Les indicateurs Les organes de sauvegarde du contexte 1-3 Les jeux d'instructions 1-4 Modes d'adressage Ruptures de séquences Accès aux opérandes 65 65 67 68 69 69 70 70 71 72 72 73 73 74 2 Implantation du microprocesseur 75 3 3-1 Les mémoires Décodage 78 78 4 Les entrées-sorties 4-1 Signaux d'échanges Mémorisation de l'information 4-2 Traitement de l'information Liaisons avec le bus du processeur Liaisons avec l'extérieur Fonctionnement 79 81 83 83 85 86 86 5 Fonctions réalisées par les circuits d'entrées-sorties 5-1 Circuits d'E/S en parallèle 5-2 Circuits d'E/S en série 5-3 Circuits de gestion de priorités d'interruption et de génération de l'adresse de déroutement (vectorisation) 5-4 Les circuits de comptage et d'horloge en temps réel 5-5 Les circuits de DMA 86 86 86 5-6 87 87 87 Mode bloqué Mode imbriqué (vol de cycle) Mode transparent (vol d'états) 89 89 89 Coupleurs de périphériques divers 90 V Le logiciel 91 1 Introduction au logiciel 1-1 Avertissement 1-2 Approche du logiciel pour un électronicien non initié 1-3 Coût du logiciel 1-4 Conclusion 91 91 91 93 95 2 Description des systèmes de développement 2-1 Description de la configuration de base 2-2 Les périphériques Périphériques de dialogue Périphériques de stockage Périphériques d'impression 2-3 Les programmes L'assembleur 95 95 96 96 97 98 98 98 2-4 2-5 L'éditeur Le moniteur Gestion de fichiers Les compilateurs Choix du langage : assembleur ou évolué Interpréteur - Microprogrammation Langage machine et hexadécimal Simulation sur configuration réelle Systèmes de développement universels 99 99 99 99 100 101 101 101 102 3 Structuration d'une activité logicielle 3-1 Considérations économiques 3-2 Analyse des coûts en logique programmée 3-3 Distribution des coûts matériels et logiciels Logiciel de base Logiciel d'application Logiciel utilisateur 3-4 Optimisation des coûts 3-5 Synthèse de l'analyse des coûts 102 102 104 105 107 108 109 109 109 4 Normalisation nationale et internationale 110 5 Conduite d'un projet 112 3e partie Le développement d'une étude VI Etude et conception d'un système à logique programmée 113 1 Introduction 113 2 Analyse de définition 2-1 Interface utilisateur-concepteur 2-2 But de l'analyse de définition 2-3 Relations utilisateur-concepteur pendant l'analyse de définition 2-4 Qui doit supporter le coût de l'analyse de définition ? 2-5 Utilisation en catalogue d'applications 2-6 Etapes 114 114 115 115 116 117 117 3 Analyse de réalisation 3-1 But 3-2 Etapes de l'analyse de réalisation 118 118 119 4 La mise au point 4-1 Généralités 4-2 Enchaînement des opérations 4-3 Elaboration d'un programme 120 120 120 121 VII Réalisation pratique de l'étude - Exemples d'applications 127 1 Analyse de définition 127 1-1 1-2 1-3 1-4 1-5 1-6 1-7 1-8 127 128 128 129 131 132 135 136 But du système Vocabulaire Nature de la solution retenue Implantation matérielle Découpage fonctionnel du logiciel Description des fonctions Problèmes contractuels Annexes 2 Analyse de réalisation 2-1 Généralités sur l'analyse de réalisation 2-2 Découpage fonctionnel 2-3 Exemple de la description de la sémantique d'une fonction (la scrutation) Sémantique de la fonction 2-4 Les organigrammes 2-5 Les tests élémentaires 137 137 138 138 138 140 141 3 La mise au point 3-1 La codification 3-2 Segmentation du programme 3-3 Paramétrisation du programme Définition d'une adresse d'entrée-sortie Implantation des mémoires de programme Implantation des mémoires vives Description des tableaux en mémoire morte 143 143 145 145 146 147 147 148 3-4 3-5 3-6 3-7 3-8 3-9 3-10 3-11 TOP Description des tableaux en mémoire morte Définition des messages Présentation d'un programme Les commentaires L'assemblage Programme d'enchaînement Recherche des erreurs Simulation des entrées Intégration Conclusion 148 149 150 150 151 152 152 153 115 155