ARCHITECTURE DES ORDINATEURS ET PROGRAMMATION 2009/2010 MEZAACHE SALAH EDDINE D

ARCHITECTURE DES ORDINATEURS ET PROGRAMMATION 2009/2010 MEZAACHE SALAH EDDINE DÉPARTEMENT D'ÉLECTRONIQUE CENTRE UNIVERSITAIRE DE BORDJ BOU ARRÉRIDJ Mez_salah@hotmail.com 1 PARTIE 1 INTRODUCTION À L’ÉLECTRONIQUE NUMÉRIQUE 2 Sommaire 1 REPRÉSENTATION DES DONNÉES...............................................................................................................5 1.1 INTRODUCTION...................................................................................................................................5 1.2 ÉLÉMENTS DE LOGIQUE COMBINATOIRE..................................................................................................5 1.2.1 CIRCUITS COMBINATOIRES : DÉFINITION...............................................................................................5 1.2.2 TABLES DE VÉRITÉ...........................................................................................................................5 1.2.3 ALGÈBRE ET OPÉRATEURS DE BASE.....................................................................................................6 1.2.4 DE LA TABLE DE VÉRITÉ À LA FORMULE ALGÉBRIQUE............................................................................7 1.2.5 THÉORÈMES DE L’ALGÈBRE DE BOOLE................................................................................................7 1.2.6 AUTRES PORTES LOGIQUES................................................................................................................8 1.2.7 LE MULTIPLEXEUR...........................................................................................................................9 1.3 MÉTHODES DE SIMPLIFICATION DES FONCTIONS COMBINATOIRES.................................................................9 1.3.1 TABLES DE KARNAUGH....................................................................................................................9 1.4 MÉTHODE DE QUINE-MC CLUSKEY....................................................................................................14 1.5 ÉLÉMENTS DE LOGIQUE SÉQUENTIELLE.................................................................................................16 1.5.1 NOTION D'ÉTAT.............................................................................................................................17 1.5.2 LATCH (BASCULE) RS..................................................................................................................17 1.5.3 GRAPHE D’ÉTATS...........................................................................................................................18 1.5.4 FRONTS ET NIVEAUX ; SIGNAUX D’HORLOGE......................................................................................18 1.5.5 CIRCUITS SÉQUENTIELS SYNCHRONES ET ASYNCHRONES : DÉFINITIONS....................................................18 1.5.6 BASCULES SYNCHRONES.................................................................................................................19 1.5.7 LATCH RS ACTIF SUR UN NIVEAU D’HORLOGE...................................................................................19 1.5.8 LES BASCULES D..........................................................................................................................19 1.5.9 LOGIQUE SUR FRONT......................................................................................................................20 1.5.10 ÉQUATION D’ÉVOLUTION...............................................................................................................20 1.5.11 BASCULE T................................................................................................................................20 1.5.12 BASCULE JK..............................................................................................................................21 1.6 SYNTHÈSE D’UN CIRCUIT SÉQUENTIEL SYNCHRONE.................................................................................22 1.6.1 GRAPHES D’ÉTATS.........................................................................................................................22 1.6.2 TRANSFORMATION D’UN GRAPHE DE MOORE EN GRAPHE DE MEALY......................................................24 1.6.3 TABLES DE TRANSITIONS.................................................................................................................24 1.6.4 SIMPLIFICATION DES TABLES DE TRANSITION.......................................................................................25 1.6.5 ÉTAPES DE LA SYNTHÈSE D’UN CIRCUIT SÉQUENTIEL SYNCHRONE...........................................................26 1.6.6 SYNTHÈSE DU DÉTECTEUR DE SÉQUENCE, VERSION MOORE...............................................................27 2 INTRODUCTION À L’ARCHITECTURE.........................................................................................................32 2.1 INTRODUCTION.................................................................................................................................32 2.2 ARCHITECTURE DE BASE D’UN ORDINATEUR..........................................................................................32 2.3 PRINCIPES DE FONCTIONNEMENT.........................................................................................................32 2.4 ORGANISATION DE LA MÉMOIRE CENTRALE...........................................................................................32 2.5 CIRCULATION DE L’INFORMATION DANS UN CALCULATEUR.......................................................................33 2.6 LE PROCESSEUR CENTRAL..................................................................................................................34 2.6.1 LES REGISTRES ET L’ACCUMULATEUR................................................................................................34 2.6.2 ARCHITECTURE D’UN PROCESSEUR À ACCUMULATEUR..........................................................................35 2.7 LES MÉMOIRES.................................................................................................................................36 2.7.1 SCHÉMA FONCTIONNEL D’UNE MÉMOIRE............................................................................................37 2.7.2 INTERFAÇAGE MICROPROCESSEUR/MÉMOIRE........................................................................................38 2.8 MICROPROCESSEUR INTEL 8086.........................................................................................................38 2.8.1 JEU D’INSTRUCTION.......................................................................................................................40 2.8.1.1 TYPES D’INSTRUCTIONS...............................................................................................................40 3 2.8.1.2 LES INSTRUCTIONS ARITHMÉTIQUES...............................................................................................41 2.8.1.3 LES INSTRUCTIONS LOGIQUES.......................................................................................................42 2.8.1.4 LES INSTRUCTIONS DE BRANCHEMENT............................................................................................43 2.9 LES INTERFACES D’ENTRÉES/SORTIES...................................................................................................44 2.9.1 GESTION DES PORTS D’E/S PAR LE 8086..........................................................................................45 3 ALGORITHMIQUE ET LANGAGE ÉVOLUÉS.................................................................................................47 3.1 ALGORITHMIQUE..............................................................................................................................47 3.2 ALGORITHMIQUE..............................................................................................................................47 3.3 PROGRAMMATION ET LANGAGE...........................................................................................................47 3.4 DÉFINITIONS....................................................................................................................................48 3.4.1 ALGORITHME................................................................................................................................48 3.4.2 ORGANIGRAMME...........................................................................................................................48 3.5 QUALITÉ D'UN ALGORITHME...............................................................................................................48 4 1 Représentation des données 1.1 Introduction Les informations traitées par un ordinateur peuvent être de différents types (texte, nombres, etc.) mais elles sont toujours représentées et manipulées par l’ordinateur sous forme binaire. Toute information sera traitée comme une suite de 0 et de 1. L’unité d’information est le chiffre binaire (0 ou 1), que l’on appelle bit (pour binary digit, chiffre binaire). Le codage d’une information consiste à établir une correspondance entre la représentation externe (habituelle) de l’information (le caractère A ou le nombre 36 par exemple), et sa représentation interne dans la machine, qui est une suite de bits. On utilise la représentation binaire car elle est simple, facile à réaliser techniquement à l’aide de bistables (système à deux états réalisés à l’aide de transistors). Enfin, les opérations arithmétiques de base (addition, multiplication etc.) sont faciles à exprimer en base 2 (noter que la table de multiplication se résume à 0x0 = 0, 1x0 = 0 et 1x1 = 1). 1.2 Éléments de logique combinatoire En 1854, Georges Boole publia son ouvrage séminal sur une algèbre manipulant des informations factuelles vraies ou fausses. Son travail a été redécouvert et développé sous la forme que nous connaissons maintenant par Shannon. Le nom de Boole est entré dans le vocabulaire courant, avec l’adjectif booléen qui désigne ce qui ne peut prendre que deux valeurs distinctes ’vrai’ ou ’faux’. 1.2.1 Circuits combinatoires : définition Un circuit combinatoire est un module tel que l’état des 8sorties ne dépend que de l’état des entrées. L’état des sorties doit être évalué une fois que les entrées sont stables, et après avoir attendu un temps suffisant à la propagation des signaux. On comprend intuitivement que les circuits combinatoires correspondent à des circuits sans état interne : face à la même situation (les mêmes entrées), ils produisent toujours les mêmes résultats (les mêmes sorties) . 1.2.2 Tables de vérité Une des contributions essentielles de Boole est la table de vérité, qui permet de capturer les relations logiques entre les entrées et les sorties d’un circuit combinatoire sous une forme tabulaire. Considérons par exemple un circuit inconnu possédant 2 entrées A et B et une sortie S. Nous pouvons analyser exhaustivement ce circuit en lui présentant les 22 = 4 jeux d’entrées différents, et en mesurant à chaque fois l’état de la sortie. Le tout est consigné dans un tableau qu’on appelle table de vérité du circuit (Figure 1. 2) Ici, on reconnaît l’opération logique ET : S vaut 1 si et seulement si A et B valent 1. 5 Figure 1. 1 Circuits combinatoires Figure 1. 2 Un circuit à deux entrées et une sortie, et sa table de vérité La construction d’une table de vérité est bien sûr généralisable à un nombre quelconque n d’entrées et un nombre m de sorties. Elle possédera alors 2n lignes, ce qui n’est praticable que pour une valeur de n assez petite. 1.2.3 Algèbre et opérateurs de base Plutôt que de décrire en extension la relation entre les entrées et une sortie, on peut la décrire en intention à l’aide d’une formule de calcul utilisant seulement trois opérateurs booléens : NON, ET, OU. Opérateur NON NON (NOT en anglais) est un opérateur unaire, qui inverse son argument. On notera généralement NOT(A)= A ; La table de vérité et le schéma représentatif sont donnés par la Figure 1. 3. A A 0 1 1 0 On a bien sur A=A . Opérateur ET ET (AND en anglais) est un opérateur à 2 entrées ou plus, dont la sortie vaut 1 si et seulement si toutes ses entrées valent 1. On le note algébriquement comme un produit, c’est à dire S = A × B ou S = AB. La table de vérité d’un ET à deux entrées, et le dessin usuel de la porte correspondante sont représentés par la Figure 1. 4. De par sa définition, le ET est associatif : A × B × C = (A × B) × C = A × (B × C). Il est également idempotent : A × A = A. Opérateur ET OU (OR en anglais) est un opérateur à 2 entrées ou plus, dont la sortie vaut 1 si et seulement si une de ses entrées vaut 1. On le note algébriquement comme une somme, c’est à dire S = A + B. La table de vérité d’un OU à deux entrées, et le dessin usuel de la porte correspondante sont représentés Figure 1. 5. De par sa définition, le OU est associatif : A + B + C = (A + B) + C = A + (B + C). Il est également idempotent : A + A = A. 6 Figure 3 Table de vérité du NON et dessin de la porte correspondante A A Figure 1. 5 Table de vérité du OU, et symbole de la porte correspondante Figure 1. 4 Table de vérité du ET, et symbole de la porte correspondante 1.2.4 De la table de vérité à la formule algébrique On peut automatiquement écrire la formule algébrique d’une fonction booléenne combinatoire dès lors qu’on a sa table de vérité. Il suffit de considérer seulement les lignes qui donnent une sortie égale à 1, d’écrire le minterm correspondant, qui code sous forme d’un ET la combinaison de ces entrées. Par exemple, le minterm associé au vecteur (A, B, C) = (1, 0, 1) est : A BC . La formule algébrique qui décrit toute la fonction est le OU de tous ces minterms. Considérons par exemple la table de vérité de la fonction majorité à 3 entrées, qui vaut 1 lorsqu’une majorité de ses entrées (2 ou 3) vaut 1 (Figure 1. 6). A B C MAJ(A,B,C) 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 La table de vérité contient 4 lignes avec une sortie S à 1, ce qui donne : S=A BCA BCABCABC Cette formule est simplifiable, comme on le verra dans une section ultérieure. Est-on sûr que la formule obtenue par cette méthode est correcte ? Pour une combinaison des entrées qui doit donner une sortie à 1, la formule possède le minterm correspondant, et donne aussi une valeur de 1. Pour toutes les autres combinaisons d’entrées, la table donne une sortie à 0, et la formule aussi, puisqu’aucun minterm n’est présent qui corresponde à ces combinaisons. La formule donne donc toujours le même résultat que la table. Corollairement, cela démontre le résultat fondamental suivant : N’importe quelle fonction combinatoire s’exprime sous forme d’une somme de minterms. 1.2.5 Théorèmes de l’algèbre de Boole Le tableau de la Figure 1. 6 résume les principaux théorèmes et propriétés de l’algèbre de Boole. On peut les démontrer de façon algébrique, ou en utilisant des tables de vérité. Les théorèmes de De Morgan permettent de transformer les ET en OU et vice-versa. Le couple (ET,NON) ou le couple (OU,NON) suffisent donc à exprimer n’importe quelle formule algébrique combinatoire. Le théorème d’absorption A + AB = A montre qu’un terme plus spécifique disparaît au profit uploads/Philosophie/ cours-architecture.pdf

  • 13
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager