Concevoir son microprocesseur
structure des systèmes logiques
Jean-Christophe Buisson
CollectionTechnosup
Ellipses
Avant-propos
Ce livre s’adresse aux étudiants en informatique de licence et maîtrise, aux élèves
ingénieurs, ainsi qu’aux professionnels de l’informatique - programmeurs ou autres -
soucieux de comprendre le fonctionnement des systèmes logiques présents dans les
dispositifs électroniques qui nous entourent, et en particulier les microprocesseurs et les
microcontrôleurs. Il est basé sur le cours, les travaux dirigés et les travaux pratiques
d’architecture des ordinateurs dispensés en 1ère année du département informatique
de l’Ecole Nationale Supérieure d’Electronique, d’Informatique, d’Hydraulique et de
Télécommunications (ENSEEIHT) de Toulouse, et il est le fruit de plus de 15 ans
d’expérience dans ce domaine.
Le livre est organisé en deux grandes parties. La première (chapitres 1 à 3) présente
d’abord toutes les notions de base préalables à la compréhension : le système de
numération binaire et son utilisation dans le codage des nombres entiers naturels et relatifs,
des caractères et des nombres réels ; ses propriétés dans les opérations d’addition, de
comparaison, etc. On décrit ensuite les atomes de base des systèmes logiques que sont les
portes et les bascules, et on décrit les méthodes d’analyse et de synthèse qui permettent
d’assembler de tels éléments pour former des modules de complexité croissante. Le
lecteur est ainsi amené à créer des circuits combinatoires et séquentiels, en employant
des méthodes réutilisables dans des contextes variés. On construit des encodeurs et des
décodeurs, des compteurs, des séquenceurs de différents types pour automatismes, etc. On
examine également en détail des modules qui seront utilisés dans des microprocesseurs :
comparateurs, unités arithmétiques et logiques, multiplexeurs, mémoires, etc. Dans toute
cette partie,l’accent est missur la modularitéet la réutilisabilité,notion aussi importanteici
que dans les disciplines logicielles.
La deuxième partie (chapitres 4 à 6) décrit le fonctionnement des microprocesseurs
et des microcontrôleurs au travers d’un processeur 32 bits spécifique à ce livre appelé
CRAPS, dont tous les organes sont des modules qui auront été étudiés dans la première
partie. Son langage machine de type RISC est un sous-ensemble de celui du SPARC, et il
est suffisamment riche pour pouvoir être utilisé dans des applications concrètes, ou pour
qu’on y incorpore un système d’exploitation comme Linux. Le but de cette partie est de
voiler le mystère de l’exécution d’un programme,qu’on pourra observer jusqu’à l’échelle
du bit élémentaire. De nombreux programmes écrits en assembleur CRAPS/SPARC sont
fournis,quipermettent de mettreen oeuvredesaspectsimportantsde la vied’un processeur:
déclenchement et prise en compte d’une interruption, dialogue avec des périphériques
d’entrées-sorties,appels de sous-programmesrécursifs,etc.
Au delà de la simple compréhension, cet ouvrage a pour objectif de permettre la
conception de systèmes logiques digitaux, et il en fournit tous les moyens. De nombreuses
méthodes de conception sont présentées, parfois algébriques ou tabulaires, parfois
fonctionnelles ou intuitives ; pour chacune, plusieurs exemples détaillés sont fournis, qui
appliquent les techniques présentées à des problèmes concrets, et qui donnent au lecteur la
possibilité de se construire un véritable savoir-faire dans ce domaine. Un outil logiciel de
simulation appelé SHDL est présenté,libre et gratuit,à la fois basé sur un langage structurel
de descriptionmatérielle,et qui permetde voir fonctionnerles dispositifsconçus.Un second
outil logiciel libre appelé CRAPSEMU permet de programmer le processeur décrit avec de
nombreux exemplesfournis, afin que le lecteur puisse s’imprégner correctement des modes
de fonctionnement du processeur CRAPS.
Enfin, des éléments concrets sont fournis au lecteur pour lui permettre d’implémenter
tous les circuits décrits, jusque et y compris le processeur CRAPS, dans des circuits
logiques programmables de type CPLD ou FPGA, maintenant utilisables à l’aide de cartes
d’expérimentation à moindre coût.
iv
Table des Matières
Avant-propos ....................... iii
Chapitre I.Principes généraux ................ 1
1. Organisation générale d’un ordinateur . . . . . . . . . . . 1
2. Bits et signaux électriques . . . . . . . . . . . . . . . 3
3. Technologies de fabrication des circuits intégrés . . . . . . . . 5
4. Mots binaires . . . . . . . . . . . . . . . . . . . 6
5. Codage des principaux types de données . . . . . . . . . . 10
6. Exercices corrigés . . . . . . . . . . . . . . . . . . 15
Chapitre II.Éléments de logique combinatoire ........... 18
1. Circuitscombinatoires . . . . . . . . . . . . . . . . 18
2. Tables de vérité . . . . . . . . . . . . . . . . . . . 20
3. Algèbre et opérateursde base . . . . . . . . . . . . . . 20
4. Autresportes logiques . . . . . . . . . . . . . . . . . 23
5. SHDL,un langage de description matérielle pédagogique . . . . . 26
6. Circuitslogiques reconfigurables; PLD et FPGA . . . . . . . . 28
7. Méthodesde simplification des fonctions combinatoires . . . . . 30
8. Circuitscombinatoires réutilisables . . . . . . . . . . . . 37
9. Exercices corrigés . . . . . . . . . . . . . . . . . . 56
Chapitre III.Éléments de logique séquentielle ........... 61
1. Définition . . . . . . . . . . . . . . . . . . . . . 61
2. Latch RS . . . . . . . . . . . . . . . . . . . . . 62
3. Fronts et niveaux ; signaux d’horloge . . . . . . . . . . . . 63
4. Circuitsséquentiels synchrones et asynchrones:définitions . . . . 63
5. Graphesd’états . . . . . . . . . . . . . . . . . . . 64
6. Tables de transitions . . . . . . . . . . . . . . . . . 66
7. Basculessynchrones . . . . . . . . . . . . . . . . . 69
8. Synthèse d’un circuit séquentiel synchrone . . . . . . . . . . 77
9. Chronologie d’un circuit séquentiel synchrone . . . . . . . . 84
10. Circuitsséquentiels réutilisables . . . . . . . . . . . . . 85
11. Exercices corrigés . . . . . . . . . . . . . . . . . 92
1 / 251 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !