Technologies et concepts… - Freen.grassa.free.fr/sysrezo/architecture/cours_architecture.pdf ·...

75
Direction Générale des Etudes Technologiques ---*--- Institut Supérieur des Etudes Technologiques de Mahdia Architecture Des Ordinateurs Technologies et concepts… Année Universitaire 2009-2010 i

Transcript of Technologies et concepts… - Freen.grassa.free.fr/sysrezo/architecture/cours_architecture.pdf ·...

  • Direction Générale des Etudes Technologiques

    ---*--- Institut Supérieur des Etudes Technologiques de

    Mahdia

    Architecture Des Ordinateurs

    Technologies et concepts…

    Année Universitaire 2009-2010

    i

  • Table des matières

    CHAPITRE I : HISTORIQUE ET INTRODUCTION A L’INFORMATIQUE....................................................................... 3

    1. INTRODUCTION ............................................................................................................................................... 4 2. CONCEPTS ET DEFINITIONS ............................................................................................................................. 4 3. HISTORIQUE DES ORDINATEURS...................................................................................................................... 6 4. ORGANISATION ET FONCTIONNEMENT D’UN ORDINATEUR.............................................................................. 8 4.2. STRUCTURE D’UN ORDINATEUR ................................................................................................................. 10

    CHAPITRE II : REPRESENTATION DE L’INFORMATION................................................................................................. 12

    1. INTRODUCTION ............................................................................................................................................. 12 2. REPRESENTATION DES INSTRUCTIONS........................................................................................................... 13 3. DONNEES NON NUMERIQUES......................................................................................................................... 14 4. DONNEES NUMERIQUES : .............................................................................................................................. 14 5. RECAPITULATIF DES DIFFERENTES REPRESENTATIONS RELATIVES AUX DONNEES : ...................................... 30

    CHAPITRE III :

    LA MEMOIRE CENTRALE............................................................................................................................. 37 1. INTRODUCTION ............................................................................................................................................. 38 2. LE FONCTIONNEMENT DE LA MEMOIRE CENTRALE........................................................................................ 38 3. ORGANISATION INTERNE DE LA MEMOIRE CENTRALE ................................................................................... 41 4. CARACTERISTIQUES DE LA MEMOIRE CENTRALE........................................................................................... 42 5. HIERARCHIE DE LA MEMOIRE CENTRALE ...................................................................................................... 43 6. ASSEMBLAGE DE BLOCS MEMOIRES POUR CONSTITUER LA MEMOIRE CENTRALE .......................................... 43

    CHAPITRE IV :

    UNITE CENTRALE DE TRAITEMENT ........................................................................................................ 48 1. INTRODUCTION ............................................................................................................................................. 48 2. JEU D’INSTRUCTIONS .................................................................................................................................... 49 3. REGISTRES DE LA CPU : ............................................................................................................................... 49 4. UNITE DE COMMANDE................................................................................................................................... 51 5. UNITE ARITHMETIQUE ET LOGIQUE ............................................................................................................... 52 6. CYCLE INSTRUCTION..................................................................................................................................... 53 7. EXEMPLE DE JEU D’INSTRUCTIONS A UNE ADRESSE ...................................................................................... 56

    CHAPITRE V :

    LES ENTREES/SORTIES ................................................................................................................................. 60 1. INTRODUCTION ............................................................................................................................................. 60 2. LES BUS ET LEUR FONCTIONNEMENT............................................................................................................. 61 3. LES CONTROLEURS D’E /S ............................................................................................................................ 66 4. ARCHITECTURE ET PROCEDURES D’ECHANGE ............................................................................................... 68

  • Architecture et maintenance des ordinateurs ISET Mahdia

    Chapitre I :

    Historique et introduction à l’informatique

    Objectifs du chapitre :

    1. Comprendre les concepts de base de l’informatique.

    2. Se familiarisez avec la terminologie de l’architecture des ordinateurs.

    3. Connaître les différentes générations des ordinateurs.

    4. S’initier avec les principes de base de fonctionnement d’un ordinateur.

    Mots clés du chapitre :

    Informatique, Traitement, Information, Donnée, Ordinateur, Instruction, Programme, Matériel, Logiciel, Système informatique, Calculateur, Tube à vide, Transistor, Circuit intégré, Microprocesseur, Configuration, Unité centrale, Périphérique, Entrées/Sorties, Mémoire centrale, Unité centrale de traitement, Modèle de Von Neumann, Unité de commande, Unité arithmétique et logique.

    Eléments de contenu :

    1. INTRODUCTION 2. CONCEPTS ET DEFINITIONS 3. HISTORIQUE DES ORDINATEURS

    3.1. La génération zéro (1642-1945) 3.2. La première génération (1945-1955) 3.3. La deuxième génération (1955-1965) 3.4. La troisième génération (1965-1980) : 3.5. La quatrième génération (à partir de 1980) :

    4. CONFIGURATION ET STRUCTURE D’UN ORDINATEUR 4.1. Configuration 4.2. Structure d’un ordinateur 4.3. Principe de fonctionnement d’un ordinateur

    Volume horaire total : 6 heures

    Timing approximatif : § 1 et 2 : 1,5 heures § 3 : 3 heures § 4 : 1,5 heure

    Page 3

    http://www.physics.umd.edu/robot/neumann.html

  • Architecture et maintenance des ordinateurs ISET Mahdia

    1. Introduction L’Homme a toujours eu besoin de compter. Au cours de la préhistoire, il ne savait calculer qu’a l’aide de cailloux (en latin : calculi) ou de ses mains qui furent sans doute, les premières calculatrices de poches. On trouve des traces de symboles et de chiffres dans certaines civilisations de l’antiquité. Chinois, égyptiens, sumériens, babyloniens, grecs ou romains, tous avaient des symboles numériques et des méthodes pour compter et calculer. Ces systèmes de numération s’inspiraient naturellement du nombre de doigts, des mains et des pieds et des articulations correspondantes d’où on trouve les bases 10, 12, 14, 15, 24, 30, 60…etc. La plus naturelle et la plus répandue des numérations était celle qui comptait en base 10 et elle nous est parvenue au cours des siècles. Parallèlement à cette évolution des symboles, chiffres, calculs mentaux et manuels, on assistait au développement d’outils, de systèmes, de machines pour simplifier et accélérer les calculs nécessaires.

    2. Concepts et définitions Architecture d’un ordinateur : C’est la description de ses unités fonctionnelles ainsi que leur interconnexion et coopération pour réaliser son fonctionnement global. Informatique : Terme employé pour la première fois en 1962 et provenant de la contraction de mots « information » et « automatique ». Il a connu rapidement un grand succès et a été adopté définitivement, dès 1966. L’académie française publia en 1965 la définition suivante de l’informatique « la science du traitement rationnel de l’information, considérée comme le support de connaissances dans les domaines scientifiques, économiques et sociaux, notamment à l’aide de machines automatiques ». Information et donnée : Une donnée est un ensemble de chiffres et de lettres (symboles) qui n’a ni un sens ni une interprétation précise. Une information est un ensemble de données qui a un sens précis.

    Figure 1 : Exemple de données et d’information

    Année Taux de natalité

    1980 5%

    Sens

    Données

    Information

    Page 4

  • Architecture et maintenance des ordinateurs ISET Mahdia

    Ordinateur (computer) : Machine de traitement de l’information. Le terme anglais computer signifiait au départ calculateur numérique électronique. Le terme français « ordinateur » est mieux adapté car il s’éloigne de la connotation numérique. Un ordinateur est capable de

    • Acquérir des informations ; • Les sauvegarder d’une façon permanente ; • Effectuer sur eux des traitements ; • Les restituer.

    Instruction et programme : Une instruction est une opération de base qu’un ordinateur est capable d’exécuter. Exemple : l’addition de deux nombres. N’importe quel traitement revient à exécuter une séquence d’instruction dans un ordre précis. Par exemple le calcul de la moyenne de deux nombres. Un programme est constitué de deux parties :

    • Une partie contenant les données. • Une partie code qui représente la séquence des instructions à exécuter.

    Hardware (Matériel) : Ensemble de composantes matérielles constituant l’ordinateur. Software (Logiciel) : Ensemble de programmes (de taille importante) permettant de combler en terme de traitement un besoin spécifique. Exemple le logiciel de traitement de texte « Microsoft Word ». Il y a deux types de logiciels :

    • Logiciel standard qui peut être utilisé par un grand nombre d’utilisateurs sans qu’il soit modifié.

    • Logiciel spécifique qui correspond aux besoins particuliers de certains utilisateurs.

    Système informatique : C’est l’ensemble de matériels et de logiciels nécessaires pour satisfaire les besoins informatiques d’un ensemble d’utilisateurs. Système d’exploitation : Première couche logicielle permettant d'utiliser un ordinateur. Il supervise et coordonne les différents modules qui le composent. Il joue le rôle d'interface indispensable entre les différentes ressources matérielles et les applications logicielles. Exemples : Linux, Windows, Mac Os, Unix, Etc. Cycle de traitement de l’information : Pour tout type d’ordinateurs et pour tout type d’applications, le principe fondamental de l’informatique repose sur un processus comportant généralement 3 phases :

    • Entrée des données. • Leur traitement et/ou leur sauvegarde. • Sortie des résultats.

    Page 5

  • Architecture et maintenance des ordinateurs ISET Mahdia

    3. Historique des ordinateurs

    3.1. La génération zéro (1642-1945) Les calculateurs de cette époque étaient à base mécanique. En 1642 : Pascal a construit une machine entièrement mécanique à base d’engrenages. Cette machine n’effectuait que les additions et les soustractions (voir figure 1). En 1728 : Leibniz a développé une machine basée sur celle de pascal, qui fait en plus la multiplication et la division Vers 1833 : Charles Babbage a proposé une machine analytique comportant quatre parties.

    o Magasin : (mémoire) o Moulin (unité de calcul) o Entrée (lecteur de carte perforé) o Sortie (sous forme d’impression de perforation).

    Cette machine était irréalisable avec les outils et les techniques de son temps. Vers 1838 : Geoge Boole a crée l’algèbre de Boole. Fin 19eme siècle : Hollerith (américain) construit un calculateur de statistique fonctionnant avec des cartes perforées et inventa un système de codage qui porte son nom. En 1936 : Alain Turing énonce le principe d’une machine purement imaginaire « la machine de Turing » qui préfigure les caractéristiques de l’ordinateur moderne. En 1940 : Le premier ordinateur, appelé ABC (Atanasoff And Berny Computer), est apparu. Il était non programmable. Pendant la deuxième guerre mondiale, les deux ordinateurs ENIGMA (Allemagne) et COLOSSUS (Bretagne), ont vues le jours, pour déchiffrer les messages codés.

    Figure 2: Vues de la machine de Pascal connue sous le nom de « Pascaline ».

    Page 6

  • Architecture et maintenance des ordinateurs ISET Mahdia

    3.2. La première génération (1945-1955) C’était la génération des tubes à vide. Elle est caractérisée par la naissance du premier ordinateur programmable au USA (voir figure 3) appelé ENIAC (Electrical Numerical Integrator And Calculator). Cet ordinateur est une sorte de calculatrice électronique s’appuyant sur la technologie des lampes. Il comportait presque 20 000 lampes, pesait 30 tonnes, consommait 140 kw et occupait une surface de plusieurs dizaines de m2. Cette machine possède les inconvénients suivants :

    Peu fiable. Durée de vie des lampes très limitée. Sa programmation nécessite le branchement et le débranchement de plusieurs

    dizaines de câbles (pour passer d’un calcul à un autre).

    Figure 3 : Photo de l’ENIAC avec ses concepteurs/programmeurs.

    3.3. La deuxième génération (1955-1965) C’était la génération des composants à base de semi conducteurs (diodes et transistors). La fiabilité, le temps de réponse ainsi que la taille se sont améliorés. Les machines de cette génération sont caractérisées par la multiprogrammation et l’apparition de disques durs et de langages de programmation notamment algol et PL1. COBOL est devenu dans cette époque, un standard pour la programmation en gestion sous l’impulsion du DoD (DEPARTMENT of DEFENCE).

    Figure 4 : Transistor.

    Page 7

    http://histoire.info.free.fr/eniac.html

  • Architecture et maintenance des ordinateurs ISET Mahdia

    3.4. La troisième génération (1965-1980) : Cette génération est caractérisée par l’apparition des techniques d’intégration des transistors. On pouvait intégrer deux transistors sur une plaque en silicium d’un cm2, puis dix jusqu’à quelques centaines et ce pour réaliser les circuits de calcul. La fiabilité, le temps de réponse ainsi que la taille ont connu des améliorations de plus en plus importantes.

    Figure 5 : Photo de quelques circuits intégrés.

    3.5. La quatrième génération (à partir de 1980) : Elle concerne l’intégration à large échelle (Large Scale Integration) dans laquelle un calculateur complet tient sur 2 à 3 plaques de 20 à 30 cm2 de coté. Elle est caractérisée par l’apparition des processeurs (UCT sur une seule puce), ainsi que leur utilisation pour fabriquer des petits ordinateurs qui utilise des systèmes d’exploitation faciles à manipuler tel que le système DOS.

    Figure 6 : Photo d'un microprocesseur « AMD DURON ».

    4. Organisation et fonctionnement d’un ordinateur

    4.1. Configuration La configuration d’un ordinateur est l’ensemble des éléments matériel qui le constitue ainsi que leur performance. De nos jours plusieurs configurations sont possibles et qui dépendent de la finalité du système mis en œuvre. Une des plus simples est celle d’un ordinateur personnel (PC : Personal Computer) :

    Page 8

    http://www.estheriault.com/profs/jlroy/ice4m/unite1/un1_act1/micropro.htm

  • Architecture et maintenance des ordinateurs ISET Mahdia

    Figure 7 : Configuration de base d’un PC

    Unité centrale MC + UCT

    Disque dur magnétique

    Modem

    Scanner Imprimante Écran

    Haut parleur

    Clavier Souris

    Lecteur disquette

    Lecteur CD/DVD

    L’unité centrale : Permet de conserver (généralement d’une façon temporaire) les programmes (traitement et les données) et de les exécuter. Les périphériques : Sont des éléments matériels capables d’introduire ou d’extraire des informations, vers ou depuis l’unité centrale. On distingue 3 types de périphériques :

    • Les périphériques d’entrée : qui permettent d’introduire des données à partir de l’extérieur, vers l’unité centrale. Exemples : clavier, souris, lecteur CD, etc.

    • Les périphériques de sortie : qui restituent les données à partir de l’UCT, vers l’extérieur. Exemple : écran, haut parleur, etc.

    • Les périphériques d’entrée/sortie : qui assurent un échange bidirectionnel entre l’UCT, et l’extérieur. Exemples : lecteur de disquette, disque dur, modem, etc.

    Page 9

  • Architecture et maintenance des ordinateurs ISET Mahdia

    4.2. Structure d’un ordinateur Modèle de Von Neumann : Cette structure est caractérisée par un processeur (unité centrale de traitement) et une mémoire reliés par un bus.

    • La mémoire centrale (MC) : contient les programmes et les données • L’unité centrale de traitement (UCT) : exécute les programmes. • Bus : support d’acheminement de l’information entre la mémoire centrale et

    l’unité centrale de traitement.

    Figure 8: Modèle de Von Neumann

    UCT

    MC

    bus

    Modèle de Von Neumann avec unité d’E/S : La machine de Von Neumann que nous venons de décrire ne présente aucun intérêt sans un dispositif d’E/S (Entrée/Sortie) permettant l’échange d’information entre l’unité centrale et les périphériques.

    UCT

    MC

    bus

    Unités d’E/S

    Figure 9 : Modèle de Von Neumann avec E/S

    Page 10

  • Architecture et maintenance des ordinateurs ISET Mahdia

    4.3. Principe de fonctionnement d’un ordinateur L’unité arithmétique et logique (UAL) : Elle exécute les opérations élémentaires comme l’addition, la soustraction et les opérations logiques (et, ou, non…). L’unité de contrôle (UCom) : Dite aussi unité de commande, elle charge les instructions depuis la mémoire centrale et les décode pour envoyer les ordres appropriés vers les unités responsables de l’exécution. Par exemple s’il s’agit d’une opération arithmétique ou logique alors l’UCom envoi l’ordre d’exécution à l’UAL. L’exécution d’un programme se déroule selon le mode suivant :

    • Le programme et les données sont rangés dans la mémoire centrale, d’ou le nom de machine à programme enregistré.

    • Les instructions du programme sont amenées séquentiellement au niveau de l’unité de contrôle (unité de commande) qui les analyse et déclenche le traitement approprié en envoyant des signaux d’ordres à l’unité arithmétique et logique, le passage à l’instruction suivante est automatique.

    • Le traitement peut nécessiter de faire appel aux unités d’E/S ou à la mémoire centrale.

    Figure 9 : Principe de fonctionnement d’un ordinateur.

    Unités périphériques

    Unité de contrôle ou unité de commande

    Unité arithmétique et logique

    Mémoire centrale ou principale

    Unité d’entrée/sortie Ou unité d’I/O

    Contrôleurs de périphériques

    Unité centrale de traitement

    Page 11

  • Architecture et maintenance des ordinateurs ISET Mahdia

    Chapitre II :

    Représentation de l’information

    Objectifs du chapitre : 1. Connaître comment sont-ils représentés les

    différents types de données dans un ordinateur. 2. Appliquer l’arithmétique binaire pour résoudre des

    opérations dans le système usuel.

    Mots clés du chapitre : Représentation interne, Représentation externe, Codage, Décodage, Transcodage, Bit, Caractère, Débordement, Virgule fixe, Virgule flottante.

    Eléments de contenu :

    1. INTRODUCTION 2. DONNEES NON NUMERIQUES 3. DONNEES NUMERIQUES :

    3.1. Entiers positifs ou nuls : 3.2. Entiers négatifs 3.3. Les nombres fractionnaires

    4. RECAPITULATIF DES DIFFERENTES REPRESENTATIONS RELATIVES AUX DONNEES :

    Volume horaire total : 9 heures

    Timing approximatif : § 1 et 2 : 1,5 heures § 3 : 4,5 heures Travaux dirigés : 3 heures

    1. Introduction Les informations traitées par l’ordinateur sont de différents types (nombres, instructions, images, séquences d’images animées, sons, etc…) mais pour des raisons technologiques (reliées à la réalisation de l’ordinateur), elles sont toujours représentées à la base sous forme binaire. Une information élémentaire correspond à un chiffre binaire (0 ou 1) appelé bit. Une information plus complexe tels qu’une lettre, un nombre, …, se ramène à un ensemble de bits. Le codage d’une information revient à établir une correspondance entre la représentation externe de l’information (exemple : lettre A) et sa représentation interne sous forme de suite de bits. Pour les informations manipulées au niveau de l’ordinateur, on distingue les instructions et les données.

    Page 12

  • Architecture et maintenance des ordinateurs ISET Mahdia

    Instructions Ecrites en langage machine, les instructions représentent les opérations que l’ordinateur est capable d’effectuer. Données Ce sont les opérandes sur lesquels portent les instructions ou produites par celle-ci. Une addition par exemple s’applique à deux opérandes donnant un résultat qui est leur somme.

    2. Représentation des instructions Une instruction machine renseigne le processeur sur la nature de l’opération à exécuter et sur les données qui vont participer à l’exécution de l’opération. Représentée sur une taille fixe, elle est composée de plusieurs parties de taille fixe (champs) qui sont les suivantes :

    • Le code de l’opération à effectuer ; • Les opérandes impliqués dans l’opération.

    Code opération : Il représente un nombre fixe de bits. Chacune parmi les instructions que l’ordinateur est capable d’exécuter se voit attribuée une suite binaire différente des autres (d’ou l’appellation code opération). On distingue les données numériques pouvant être l’objet d’une opération arithmétique et les données non numériques comme par exemple les données constituant un texte. Les opérandes : Ils se partagent généralement d’une façon équitable le reste de l’instruction (taille de l’instruction – taille code opération). Elles représentent en binaire, les valeurs des données concernées par cette opération, ou bien leur emplacement dans la mémoire (appelé aussi adresse). D’une instruction à une autre et dans le même ordinateur, le nombre d’opérandes peut changer. Par exemple, l’opération d’addition demande deux opérandes et l’opération opposé d’un nombre demande une seule opérande. Le nombre maximum d’opérandes autorisé peut changer, d’un ordinateur à un autre. Selon le nombre d’opérandes, on distingue les ordinateurs avec des :

    Instructions à un seul opérande appelées aussi à une seule adresse (car généralement l’opérande est une adresse).

    Instructions à deux adresses. Instructions à trois adresses.

    Code opération Opérande 1 Opérande 2

    M bits N bits N bits Figure 1 : Cas d’un ordinateur avec des instructions à 2 adresses.

    Page 13

  • Architecture et maintenance des ordinateurs ISET Mahdia

    Remarque : Avec des processeurs à trois adresses, le traitement renferme

    moins d’instruction, car il permet d’effectuer l’opération demandée et de ranger en même temps, le résultat dans l’adresse fournie dans le troisième opérande.

    De même les processeurs à deux adresses sont meilleurs que ceux à une seule adresse.

    3. Données non numériques Elles correspondent aux caractères alphanumériques : A, B…Z, a,b…z, 0, 1…9 et aux caractères spéciaux : ?, !, $, etc.

    Caractère BCD (6 bits) ASCII (7 bits) EBCEDIC (8 bits)

    0 1 2 … 9 ... A B C ...

    000000 000001 000010

    ... 001001

    ... 010001 010010 010011

    ...

    0110000 0110001 0110010

    ... 0111001

    ... 1000001 1000010 1000011

    ...

    11110000 11110001 11110010

    ... 11111001

    ... 11000001 11000010 11000011

    ... Tableau 1 : Extrait des tables de correspondance de certains codes.

    Le codage est réalisé par une table de correspondance, propre à chaque code utilisé (Voir tableau 1). Parmi les systèmes de codage les plus connus, on peut citer :

    BCD (Binary Code Decimal), où un caractère est codé sur 6 bits. ASCII (Americain Standard Code for Information Interchange), sur 7 bits; EBCDIC (Extended Binary Coded Decimal Internal Code), sur 8 bits; UNICODE, sur 16 bits ; ISO/IEC 10646 (International Standards Organization/International Electronic

    Commission), sur 32 bits. Les deux derniers codes ont été créés récemment (début des années 90). En effet, 128 ou 256 valeurs ne suffisent pas pour représenter l’ensemble de tous les caractères de toutes les langues de la planète. L’opération de passage de la représentation d’une donnée dans un code à une autre dans un deuxième code, s’appelle transcodage.

    4. Données numériques : Avant qu’ils subissent des traitements, elles vont subir une opération de codage qui permet de déduire leur représentation interne. Ensuite, les opérations demandées sont

    Page 14

  • Architecture et maintenance des ordinateurs ISET Mahdia

    effectuées, généralement en arithmétique binaire. Une opération de décodage (passage de la représentation interne vers la représentation externe) est nécessaire pour les restituer vers l’extérieur. Les données numériques sont de différents types :

    Nombres entiers positifs ou nul : 0, 1, 1254.. Nombre entiers négatifs :-1, -1245… Nombre fractionnaires : 3.1457, -0.514 Nombre en notation scientifique : 1.5 107

    Page 15

  • Architecture et maintenance des ordinateurs ISET Mahdia

    4.1. Entiers positifs ou nuls : a) Systèmes de numération : Les systèmes de numération font correspondre, à un nombre N, une suite de symboles. Une base dans un système de numération est le nombre de symboles à utiliser dans ce système. Dans une base p>1, les nombres 0,1, …, p-1 sont appelés chiffres. Tout nombre N entier positif peut être représenté, dans la base p, par une expression de la forme :

    { } 0 1,.....,1,0a .....

    i

    011

    1

    ≠−∈++++= −−

    n

    nn

    nn

    aetpavecapapapaN

    La notation condensée N = anan-1an-….a1a0 est équivalente à la forme ci-dessus. Exemple : Le nombre 21 dans la base 10 (21 = 2 x 101 + 1 x 100) est représenté en binaire (p=2) par 10101, car 21 = 1 x 24 + 0 x 23 + 1 x 22 + 0 x 21 + 1 x 20. Ce qui s’écrit 2110 = 101012. Les systèmes de numération les plus utilisés sont :

    • Base 2 ou binaire avec les chiffres {0, 1}. • Base 8 ou octale avec les chiffres {0,1,2,3,4,5,6,7}. • Base 10 ou décimale avec les chiffres {0,1,2,3,4,5,6,7,8,9}. • Base 16 ou hexadécimale avec les chiffres : {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}.

    Décimal binaire octal Hexadécimal 0 0 0 0 1 1 1 1 2 10 2 2 3 11 3 3 4 100 4 4 5 101 5 5 6 110 6 6 7 111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F

    Tableau 2 : Correspondance entre les systèmes les plus utiles.

    Page 16

  • Architecture et maintenance des ordinateurs ISET Mahdia

    b) Changement de base : • Passage d’une base p vers la base 10 :

    La conversion se fait en additionnant les puissances de p.

    1001

    11011 .....)......( NapapapaaaaaN

    nn

    nnpnnp =++++==

    −−−

    Exemple :

    10

    022

    1001

    16

    )5(22)0101(

    )174(16141610)(

    =+=

    =×+×=AE

    • Passage de la base 10 vers une base p : Soit un nombre entier N représenté dans la base 10. on effectue des opérations de division euclidienne successive de ce nombre par la base p jusqu’à l’obtention d’un quotient nul. Le nombre est obtenu en lisant les restes du dernier vers le premier.

    Exemple : convertir 44 dans la base 10 vers la base 2

    44 2

    0 22 2

    0 11 2

    1 5 2

    1 2 2

    0 1 2

    1

    (44)10 = (101100)2

    Figure 2: Exemple de passage de la base décimale vers la base binaire.

    Applications : 1. Convertir 19 en base 4. 2. Convertir (2f8)16 en base 10.

    • Passage de la base 8 (respectivement 16) vers la base 2 :

    La conversion correspond à l’éclatement de chaque chiffre octal (respectivement hexadécimal) en son équivalant binaire sur 3 (respectivement 4) bits.

    Exemples : 1. (6F5)16 = ( 0110 1111 0101)22. (135)8 = (001 011 101)2

    Page 17

  • Architecture et maintenance des ordinateurs ISET Mahdia

    • Passage de la base 2 vers la base 8 (respectivement 16) : La conversion revient à effectuer un remplacement, de droite à gauche, de 3 (respectivement 4) bits par le chiffre octal (respectivement hexadécimal) correspondant. Si le nombre de bits n’est pas multiple de 3 (respectivement 4) compléter à gauche par des zéros.

    Exemple : 1. (0110 1111 0101)2 = (6F5)16 2. (01 011 101)2 = (135)8

    c) Opérations arithmétiques binaires : L’arithmétique binaire possède les mêmes règles de calcul que l’arithmétique décimale. La seule différence entre eux, c’est qu’elles possèdent des tables d’opérations élémentaires différentes.

    • Addition : Table d’addition élémentaire : 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 1 avec une retenu.

    Exemple :

    Addition binaire sur 4 bits :

    9 +

    5 ------- 14

    1 0 0 1 +

    0 1 0 1 ------------

    1 1 1 0

    Figure 3 : Exemple d’addition en base binaire.

    • Soustraction : Table de soustraction élémentaire : 0 - 0 = 0 0 - 1 = 1 Avec déduction si possible. 1 - 0 = 1 1 - 1 = 0

    Exemple : Soustraction sur 4 bits:

    Page 18

  • Architecture et maintenance des ordinateurs ISET Mahdia

    7 -

    5 -------

    2

    0 1 1 1 +

    0 1 0 1 ------------ 0 0 1 0

    Figure 4: Exemple de soustraction en base binaire.

    • Multiplication :

    Table de multiplication élémentaire : 0 x 0 = 0 0 x 1 = 0 1 x 0 = 0 1 x 1 = 1

    Exemple : Multiplication sur 6 bits :

    3 x

    6 -------

    18

    0 1 1 x

    1 1 0 ------------

    0 0 0 0 1 1 0 1 1

    ------------- 1 0 0 1 0

    Figure 5: Exemple de multiplication en base binaire.

    • Division :

    Table de division élémentaire : 0 ÷ 0 = Impossible 0 ÷ 1 = 0 1 ÷ 0 = Impossible 1 ÷ 1 = 1 Exemple : Division : 6/3 =2

    Page 19

  • Architecture et maintenance des ordinateurs ISET Mahdia

    Figure 6: Exemple de division en base binaire.

    d) Dépassement de capacité : Au niveau de l’ordinateur, on représente les nombres entiers positifs par un nombre fixe de bits (d’où l’appellation : représentation en champs fixe). Si N est le nombre de bits utilisés au niveau de l’ordinateur pour représenter les nombres alors seuls, les nombres Nbr tel que 0 ≤ Nbr

  • Architecture et maintenance des ordinateurs ISET Mahdia

    Remarque : Cette méthode a les inconvénients suivants :

    0 a deux représentations 0000000 et 1000000 (k=7).

    Les tables de multiplication et d’addition sont compliquées à cause du bit de signe qui doit être traité à part.

    Exemples : 7

    + - 5

    ------- 2

    0 1 1 1 +

    1 1 0 1 ------------

    0 0 1 0

    - 8 +

    6 ------- - 2

    1 1 0 0 0 +

    0 0 1 1 0 ------------ 1 0 0 1 0

    - 3

    + - 6

    ------- - 9

    1 0 0 1 1 +

    1 0 1 1 0 ------------ 1 1 0 0 1

    : Exemples d’additions en signe et valeur absolue. Figure 8

    Complément logique (complément à 1) : On calcule le complément logique en remplaçant pour les valeurs négatives, chaque bit à 0 par 1 et vice versa. Pour représenter un nombre négatif, on représente sa valeur absolue en binaire puis on détermine son complément à 1. Il y a toujours un bit consacré pour le signe et le nombre négatif se voit toujours accordé un 1 dans son dernier bit à gauche. Avec k bits, on peut coder des entiers positifs et négatifs tel que :

    -(2k – 1 – 1) ≤ N ≤ 2k – 1 - 1. Remarque :

    Cette méthode a l’inconvénient suivant : 0 a deux représentations 0000000 et 1111111 (k=7)

    Mais elle a l’avantage suivant : L’addition devient simple. En effet, si une retenue est générée par le bit de signe alors elle doit être ajoutée au résultat obtenu.

    Page 21

  • Architecture et maintenance des ordinateurs ISET Mahdia

    Exemple 1: Représentation de -6 et de 7 en complément à 1 sur 4 bits.

    Exemple 2:

    +7 +

    - 6 -------

    1

    1 0 1 1 1 +

    1 0 0 1 ------------ 0 0 0 0

    + 1 ----------- 0 0 0 1

    Figure 9: Exemple d’addition en complément à un.

    Complément arithmétique (complément à 2) : On obtient le complément à 2 d’un nombre en remplaçant chaque bit par son complément à 1 puis on ajoute 1 au résultat obtenu. On représente un nombre négatif en considérant sa valeur absolue et en la représentant en complément à 2. Sur k bits on peut représenter : -2k – 1 ≤ N ≤ 2k – 1 - 1.

    Remarque : Cette méthode a les avantages suivants :

    Une seule représentation pour 0. Les additions deviennent de plus en plus simples.

    -6

  • Architecture et maintenance des ordinateurs ISET Mahdia

    Exemple 1: Représentation de -7 et de 7 en complément à 2 sur 4 bits.

    Opération complément à 1

    -7

  • Architecture et maintenance des ordinateurs ISET Mahdia

    Exemple : Représentation de 1.01 en base 10 : (1.01)2 = 1 x 20 + 0 x 2-1 + 1 x 2-2 = (1.25)10

    Passage de la base Décimale à une base P: La conversion se fait, ici par des multiplications successives par la base des nombres purement fractionnaires. Cet algorithme doit s’arrêter dès qu’on obtient une partie fractionnaire nulle ou bien quand le nombre de bits obtenues correspond à la taille de la mémoire dans lequel on va stocker la valeur. Le nombre, correspondant à la partie fractionnaire, cherché s’obtient en lisant les parties entières de la première vers la dernière obtenue. Exemple : (12.2)10= ( ?)2

    On prend la partie fractionnaire. 0.2 x 2 = 0.4 = 0 + 0.4 0.4 x 2 = 0.8 = 0 + 0.8 0.8 x 2 = 1.6 = 1 + 0.6 0.6 x 2 = 1 .2 =1 + 0.2 (12.2)10 = (1100.0011…0011)2

    0.2 x 2 = ……boucle

    (12)10 = (1100)2

    Figure 11 : Exemple de conversion d’un nombre fractionnaire de la base décimale vers

    la base binaire. Dans les nombres fractionnaires, on distingue la représentation en virgule fixe et la représentation en virgule flottante. b) Représentation en virgule fixe : Les premières machines utilisaient une représentation en virgule fixe ou chaque nombre était séparé en deux parties contenant les chiffres avant et après la virgule. Les ordinateurs n’ont pas de virgule, on traite les nombres fractionnaires comme des entiers avec une virgule virtuelle gérée par le programmeur. Ce dernier doit donc connaître et faire évoluer, au cours des opérations la place de la virgule. (De façon à conserver le maximum de chiffres significatifs). Un nombre réel en code pondéré dans une base B peut être exprimé comme suit :

    N = . . . n2B2 + n1B

    1+ n0B

    0 + n-1B

    -1 + n-2B

    -2 + ...

    En binaire on aura donc :

    N = . . . n222 + n12

    1 + n02

    0 + n-12

    -1 + n-22

    -2 + ... ,

    soit : N = . . . n2 ⋅ 4 + n1 ⋅ 2 + n0 + n-1 ⋅ 0,5 + n-2 ⋅ 0,25 + ... , où les ni sont évidemment 0 ou 1.

    Page 24

  • Architecture et maintenance des ordinateurs ISET Mahdia

    Pour la conversion décimal-binaire d'un nombre avec une partie fractionnaire, par

    exemple 128,8965, on commence par convertir la partie entière, exactement comme

    d’habitude. Pour la partie fractionnaire, on procède comme suit : on multiplie par 2 la

    partie fractionnaire, on prend la partie entière du résultat (qui ne peut être que 0 ou 1)

    comme résultat binaire, et on recommence jusqu'à épuisement des chiffres

    fractionnaires du nombre décimal :

    Conversion décimale binaire d’une partie fractionnaire

    Pour la conversion binaire-décimal, on peut procéder exactement comme d’habitude

    pour la partie entière. Pour la partie fractionnaire, on décale toute la fraction à gauche

    du point décimal. À chaque décalage, on incrémente n, une puissance de 2. À la fin, il

    suffit de diviser l'entier qui en résulte par 2n pour obtenir la fraction décimale

    cherchée.

    Exemple : 10000000,1110010112. La conversion de la partie entière donne 128. On traite ensuite la partie fractionnaire : 0,111001011 = 111001011 / 29. Comme 29 = 51210 et que 1110010112 = 45910, on obtient finalement comme partie fractionnaire : 459 ÷ 512 = 0,896484375.

    Page 25

  • Architecture et maintenance des ordinateurs ISET Mahdia

    c) Représentation en virgule flottante : Norme IEEE 754 : Elle consiste à représenter les nombres sous la forme : N = M * BE m : mantisse B : base (2, 8, 10, 16…) E : exposant Un flottant est stocké selon la norme IEEE 754 d’une façon analogue à la représentation scientifique des nombres fractionnaires (tel que 2.5 10-5).

    SM Eb M

    1 bit : signe de la mantisse

    Exposant biaisé : 8 bits : simple précision 11 bits : double

    Mantisse : 23 bits : simple précision 52 bits : double précision

    Figure 12 : représentation en virgule flottante.

    Ceci représente une précision décimale de l'ordre de 7 chiffres significatifs et peut exprimer des nombres allant d’environ 10-38 à 10+38. La valeur du nombre est donc donnée par l’expression :

    • L’exposant est un entier sans signe mais biaisé de 127. (E = Eb – 127). Avec E est compris entre -126 et 127.

    • l’exposant maximum est 127 et non pas 128 qui est réservé pour des configurations spéciales

    0 1111 1111 000…000 = + ∞ 1 1111 1111 000…000 = - ∞

    On l’utilise pour signaler des erreurs (exemple : division par 0).

    • La mantisse est un nombre purement fractionnaire (n’ayant pas de chiffres significatifs à gauche de la virgule). Celle-ci est normalisé au sens ou elle est

    Page 26

  • Architecture et maintenance des ordinateurs ISET Mahdia

    toujours de la forme 0.1…..C’est à dire que le premier bit à droite de la virgule est toujours à 1.

    Exemple : représentation de -1.75 en IEEE754 Traduire 1.75 en base 2 : 1.75 = (1.11)2 Ecriture normalisée : (1.11)2 = (0.111 * 21)2 Eb = 1+127 = 128.

    1 10000000 111 000…00000 Opérations sur les nombres en virgule flottante :

    Addition : Pour l’addition et la soustraction, il faut que les exposants aient la même

    valeur. Avant d'effectuer l'opération, il faut aligner les deux nombres, c.-à-d. les

    ramener au même exposant, celui du nombre le plus grand en valeur absolue. Ainsi, si

    A = a . 2p et B = b . 2q, alors pour effectuer A + B, si q est inférieur à p, il faut décaler

    b vers la droite tout en augmentant q jusqu'à ce que les deux exposants soient égaux.

    On effectue ensuite l'addition des mantisses et on normalise la mantisse résultante s'il y

    a lieu.

    Exemple1 : 0.3 x 104 +0.998 x 106 Dénormaliser : 0.3 x 104 = 0.003 x 106 Additionner les mantisses : 0.003 +0.998 =1.001 Normaliser : 1.001 x 106 = 0.1001 x 107

    Exemple2 : Soit A = 1,11010112 ⋅ 2

    3 et B = 1,100101102 ⋅ 2

    1. Puisque q < p, on effectue la correction B

    = 0,01100101102 ⋅ 23 avant d'effectuer l'addition : A + B = (1,11010110002 +

    0,01100101102) ⋅ 23.

    En simple précision, si |p-q| > 25, il n'est pas nécessaire d'effectuer le calcul, car l'un

    des opérandes est tellement petit par rapport à l'autre qu'on peut le négliger.

    • Multiplication : (On additionne les exposants et on multiplie les mantisses) La multiplication et la division en virgule flottante s'effectuent sans difficulté : on

    multiplie les mantisses entre elles et on additionne les exposants.

    Page 27

  • Architecture et maintenance des ordinateurs ISET Mahdia

    En effet :

    (a ⋅ 2p) ⋅ (b ⋅ 2

    q) = a b ⋅ 2

    p+q . On normalise ensuite la mantisse résultante et on donne

    un signe négatif au résultat si les deux opérandes ne sont pas de même signe. On

    procède de la même façon pour la division puisque (a ⋅ 2p) ÷ (b ⋅ 2q) = (a ÷ b) ⋅ 2p-q.

    Exemple : 0.2 x 10-3 +0.3 x 107 -3 + 7 = 4 0.2 x 0.3 = 0.06 Résultat normalisé : 0.06 x 104 = 0.6 x 103

    • Division : On soustrait les exposants et on divise les mantisses puis on normalise si c’est nécessaire.

    • soustraction : Elle s’effectue comme l’addition sauf que l’on doit faire la soustraction et non plus l’addition des mantisses. Pour chacune des opérations arithmétiques, il peut être nécessaire de tronquer la mantisse (ne pas prendre tous les chiffres après la virgule).

    d) Conversion

    Pour effectuer la conversion d'un nombre décimal tel que 3,65625 � 103 à la

    représentation en virgule flottante IEEE, on trouve d'abord la représentation de la mantisse 3,65625 en binaire, soit 1,1101012 � 2

    1. Ceci donne, en format de virgule

    flottante IEEE : 406A0000IEEE. On multiplie ensuite cette valeur par la représentation

    de 103 en virgule flottante IEEE, qui est 447A0000IEEE. Le produit donne finalement

    45648400IEEE. On peut calculer la valeur de 103

    directement ou par multiplications successives de 10,0 en virgule flottante ou encore la prendre dans une table.

    Les calculs en virgule flottante présentent des problèmes d'arrondi dans de nombreux cas. Par exemple, le nombre 0,110 ne s'exprime pas de façon finie en virgule flottante binaire et donne 0,00011001100110011... 2 , ou, en virgule flottante IEEE de simple précision : 3DCCCCCCIEEE. Pour éviter que la conversion inverse ne donne 0,099999...., on arrondit à 3DCCCCCDIEEE. .

    La conversion inverse s'effectue d'une façon similaire : on transforme l'exposant binaire en nombre décimal à l'aide d'une table; on convertit ensuite la mantisse binaire en décimal par la méthode habituelle de conversion binaire-décimal pour les entiers; on effectue enfin le produit de ces deux quantités. Dans l'exemple de la page précédente 43D80000IEEE, l'exposant est 8, et 2

    8 = 25610. La mantisse binaire est

    1,10112, soit 1,687510. Le produit des deux, soit 256 . 1,6875 = 432 donne le résultat décimal. Page 28

  • Architecture et maintenance des ordinateurs ISET Mahdia

    e) NaN et nombres dénormalisés Dans la norme IEEE, les nombres avec exposant 0xFF (+128) et fraction f non nulle

    sont appelés NaN (Not a Number). Ils peuvent être utilisés comme messages d’erreur de la part du coprocesseur arithmétique, dépendant de la valeur de f.

    Les nombres avec exposant nul (-127) et fraction f non nulle représentent des nombres dits “dénormalisés”, dont la valeur est donnée par 0,f � 2

    -126, mais avec une

    précision réduite.

    Exemple : 00100000IEEE = 0,0012 . 2-126

    = 1,4693679 . 10-39

    . Le plus petit nombre dénormalisé est donc : 00000001IEEE = 2

    -23 . 2

    -126 = 1,4012985 . 10

    -45.

    f) Unité de calcul en virgule flottante

    Les calculs en virgule flottante sont assez complexes et ont tendance à être lents s’ils sont programmés de façon conventionnelle avec des processeurs optimisés pour les calculs sur des entiers. Les micro-ordinateurs modernes utilisent donc une unité spécialisée appelée FPU (Floating-Point Unit) qui exécute ces calculs très rapidement.

    g) Les nombres codés en BCD : Les données numériques sont entrées à l’unité centrale à partir du clavier sous forme d’une suite de caractères. Elles sont ensuite converties en leur représentation numérique. Par exemple, pour saisir le nombre 91, l’utilisateur doit entrer les caractères : ‘9’ et ‘1’. Ces caractères sont convertis ensuite sous forme d’une représentation numérique. Après avoir effectuer un traitement sur les nombres dans leur représentation numérique, il faut convertir le résultat en une suite de caractères qui seront affichés sur le moniteur de l’ordinateur.

    Suite de caractères numériques

    Représentation numérique

    Traitement

    Résultat numérique

    Suite de caractères numériques

    Codage Décodage

    Figure 13 : Etapes de conversion et de traitement des caractères saisie au clavier. Pour faciliter les opérations de conversion réalisées pendant les opérations d’entrée/sortie, on peut utiliser le codage des décimaux en BCD ou chaque chiffre est codé sur 4 bits. En effet on a besoin de 4 bits pour coder les 10 chiffres décimaux. Mais les valeurs représentables sur 4 bits sont au nombre de 16. Il y a donc 6 configurations non utilisées et qu’il faut en tenir compte pour les opérations

    Page 29

  • Architecture et maintenance des ordinateurs ISET Mahdia

    arithmétiques. Pour l’addition, il faut ajouter 6 chaque fois que le résultat est supérieur à 9. Pour la soustraction, il faut retrancher 6 chaque fois que le résultat est négatif. Exemple :

    758 0 1 1 1 0 1 0 1 1 0 0 0 + 263 + 0 0 1 0 0 1 1 0 0 0 1 1 = 1021 1 0 1 0 1 1 0 0 1 0 1 1 + 0 1 1 0 0 1 1 0 0 1 1 0 = 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 1 0 2 1

    5. Récapitulatif des différentes représentations relatives aux données :

    Informations

    Instructions Données

    Non numériques Numériques

    Codage par tables BCD (6 bits) ASCII (7 bits) EBCDIC (8 bits) UNICODE (16 bits)

    Nombres entiers positifs (Conversion directe décimal → binaire)

    Nombres entiers négatifs

    Signe + valeur absolue

    C1

    C2

    Nombres fractionnaires Virgule fixe

    Virgule flottante

    Figure 14 : Récapitulatif des différentes représentations relatives aux données

    Page 30

  • Architecture et maintenance des ordinateurs ISET Mahdia

    Etablissement : ISET-Mahdia Département : Informatique Matière : Architecture des ordinateurs Classes : TI1.x

    Série n° 1 : Représentation de l’information

    Représentation

    Ex.1 Parmi ces suites de chiffres, quelles sont celles qui peuvent représenter un nombre en base 2, 8, 10 ou 16 ? 11001 21011 1o01 50841 0xe 0377 0X5FF IF 01AK1 ISET EX1 eeeeE Donner la plus petite base dans laquelle chaque nombre peut être représenté. Ex.2 Convertir en base 2, 8 et 16 les nombres suivants (donnés en base 10) : 100 125 400 666 1999 2002 Quel est l’algorithme de conversion ? Ex.3 Convertir en base 10 les nombres suivants :

    Base 10 Base 2 Base 10 Base 8 Base 10 Base 16 0 0 0 1 1 1 10 10 10 100 100 100 101 101 101 1101101 516 3AD 11111 7777 FFFF

    Ex.4 Convertir en base 10 sous forme décimale les nombres suivants :

    Base 10 Base 2 Base 10 Base 8 Base 10 Base 16 0,1 0,1 0,1

    0,01 0,01 0,01 0,001 0,001 0,001 0,101 0,101 0,101

    Page 31

  • Architecture et maintenance des ordinateurs ISET Mahdia

    Ex.5 Convertir respectivement en binaire, octal et hexadécimal les nombres suivants :

    Base 2 Base 8 Base 16 10111

    1DF 726

    0,110 BAC

    101,101111 Ex.6 Utiliser la méthode des divisions successives pour convertir en hexadécimal, en octal, puis en binaire les nombres suivants écrit dans la base 10 : 23 255 35.55 Ex.7 En Informatique, on parle souvent de Kilos (1 Kilo, noté 1 K = 210 = 102410) Convertir en hexadécimal les valeurs suivantes : 1 K 2 K 4 K 7 K Ex.8 Calculer le nombre NB(x) de chiffres nécessaires pour représenter x dans la base B.

    Codage

    Ex.9 Quel est l’intervalle des entiers naturels que l’on peut coder sur N bits. Ex.10 Coder sur 8 bits (si possible) puis sur 16 bits les entiers naturels suivants (donnés en base 10) : 1 127 128 99 136 1024 32769 32768 32767 Ex.11 Quel est l’intervalle des entiers relatifs que l’on peut coder en complément à 2 (resp. en complément à 1 et en signe+valeur absolue) sur N bits. Ex.12 Utiliser le codage (+- val abs) puis en complément à 1 puis en complément à 2 pour coder sur 8 bits (si possible) puis sur 16 bits les entiers relatifs suivants (donnés en base 10) : +1 -1 +127 -128 -99 -136 +1024 +32769 -32768 +32767 Ex.13 Donner la valeur décimale de 10110111 dans les codages " entiers naturels " et " entiers relatifs en complément à 2 " et "entiers relatifs en complément à 1"

    Page 32

  • Architecture et maintenance des ordinateurs ISET Mahdia

    Ex.14 Calculer (en complément à 2 sur 8 bits) les additions suivantes : 00101101 + 01101111 ; 11111111 + 11111111 ; 00000001 + 11111111 ; 11110111 + 11101111 En déduire les règles de dépassement de capacité en complément à 2. Codage "réels – IEEE 754" Ex.15 Coder les réels suivants (sur 32 bits) selon la norme IEEE 754 : 1 2 4 9 1,5 -1 -2 6,125 5/32 -5/32 Ex.16 Trouver le plus grand et le plus petit réel représentable avec la norme IEEE 754 simples précisions Ex.17 Convertir en décimal les nombres hexadécimaux réels donnés ici au format IEEE 754-32 bits 42E48000 3F880000 00800000 C7F00000 Codage des chaînes de caractères Ex.18 En utilisant la table ASCII, coder les chaînes suivantes : ‘fin du td’ ‘+128’ ‘-255’

    Page 33

  • Architecture et maintenance des ordinateurs ISET Mahdia

    Problèmes Problème 1 :

    Deux ordinateurs PC1 et PC2 désirent échanger des informations, ils utilisent deux standards de codage différents. PC1 utilise le standard A et PC2 utilise le standard B.

    Standard A Caractère Code en décimal Code en binaire

    A 65 01000001 B 66 C 67 D 68 01000100 E 69 F 70 G 71 H 72 I 73 J 74 K 75 L 76 M 77 N 78 O 79 P 80 Q 81 R 82

    Standard B Caractère Code en décimal Code en binaire

    A 68 01000100 B 01000101 C 01000110 D 01000111 E 01001000 F 01001001 G 01001010 H 01001011 I 01001100 J 01001101 K 01001110 L 01001111 M 01010000 N 01010001 O 82 01010010 P 65 01000001 Q 01000010 R 01000011

    Page 34

  • Architecture et maintenance des ordinateurs ISET Mahdia

    a- Completer les deux tables de correspondances b- L’utilisateur de l’ordinateur PC1 veut envoyer, à l’utilisateur de l’ordinateur

    PC2 la suite de caractères suivante : "BONJOUR", déterminez la suite binaire que va envoyer PC1 à PC2 et déduire la suite de caractères reçue par PC2.

    c- Les deux messages (émis et reçu) sont t-ils identiques ? Proposer une solution s’ils ne le sont pas.

    Problème 2 :

    Soient les nombres suivants : N1, N2, M1 et M2 qui représentent des nombres entiers signés. Chacun parmi eux est représenté sur 6 bits dans l’un des systèmes de représentations suivants :

    Signe et valeur absolue; Complément à 1; Complément à 2.

    N1 : 1 1 0 0 0 0 M1 : 1 1 0 0 0 0A1 : + A2 : + N2 : 1 0 1 1 1 1 M2 : 0 1 1 0 0 0N3 : 0 1 1 1 1 1 M3 : 0 0 1 0 0 1 1. Faire les deux additions A1 et A2 dans les trois systèmes. 2. Déduire les systèmes dans lesquels sont représentés les termes et les résultats de

    chacune de ces deux opérations. 3. Déduire les valeurs dans la base décimale, des termes N1, N2, M1 et M2 et des

    résultats N3 et M3. 4. Déterminer les intervalles de valeurs possibles à représenter dans les trois

    systèmes. Calculer dans la base décimale la somme des deux termes N1 et N2. Le résultat coïncide t-il avec celui trouvé au paravent ? Pourquoi ?

    Page 35

  • Architecture et maintenance des ordinateurs ISET Mahdia

    Problème 3 : Soit une machine dans laquelle les caractères sont codés sur 8 bits, utilisant une

    table de code dont une partie est fournie ci-dessous. Elle représente les nombres entiers en signe et valeur absolue sur 12 bits.

    Code Caractère Base 10 Base 2

    0 48 001100001 49 001100012 50 001100103 51 001100114 52 001101005 53 001101016 54 001101107 55 001101118 56 001110009 57 00111001

    1. Expliquer qu’est ce qui se passe exactement lorsque l’utilisateur saisit à partir

    du clavier un nombre entier. 2.

    a/ Dans le cas ou l’utilisateur veut saisir le nombre 2043, donner la suite binaire générée à la saisie, donner la suite binaire qui sera stockée dans la mémoire centrale pour représenter ce nombre.

    b/ Comparer la taille de la première suite par rapport à la deuxième.

    3. On désire stocker un texte (une suite de caractères) constitué uniquement de

    caractères numériques dans un disque dur de cette machine, pour ce faire et dans le but d’économiser l’espace mémoire on range sur ce périphérique une représentation sous forme de nombres entiers signés qui lui sont équivalents (par exemple au lieu de stocker les caractères : ‘1’, ‘0’, ‘2’ on stocke la représentation de 102 en tant que nombre entier signé).

    a/ Expliquer sur l’exemple de la suite : ‘1’, ‘ 0’, ‘2’ et ‘4’ comment le stockage

    de son équivalent sous forme d’un nombre entier signé (1024) permet une économie de l’espace disque.

    b/ Quel est le nombre entier maximal qu’on peut représenter sur cet ordinateur. Quelle est la suite binaire réellement stockée lorsqu’on désire ranger la suite de caractère suivante : ‘2’, ‘5’, ‘8’, ‘1’, ‘0’, ‘2’, ‘4’, ‘3’, ‘6’.

    Page 36

  • Architecture et maintenance des ordinateurs ISET Mahdia

    Chapitre VI :

    La mémoire centrale

    Objectifs du chapitre :

    1. Comprendre le principe de fonctionnement de la mémoire centrale.

    2. Connaître l’organisation interne de la mémoire centrale.

    3. Enumérer les caractéristiques de la mémoire centrale.

    4. Recenser les types de mémoire qui constituent la mémoire centrale.

    5. Se familiariser avec la manière d’assembler les blocs mémoires pour constituer la mémoire centrale.

    Mots clés du chapitre : Mémoire centrale, Mot mémoire, Accès, Lecture, Ecriture, Bloc mémoire, Module (Carte) mémoire.

    Eléments de contenu :

    CHAPITRE VI : LA MEMOIRE CENTRALE

    1. INTRODUCTION 2. LE FONCTIONNEMENT DE LA MEMOIRE CENTRALE

    2.1. Terminologie et définition 2.2. Schéma de principe de la mémoire centrale

    3. ORGANISATION INTERNE DE LA MEMOIRE CENTRALE 4. CARACTERISTIQUES DE LA MEMOIRE CENTRALE 5. HIERARCHIE DE LA MEMOIRE CENTRALE 6. ASSEMBLAGE DE BLOCS MEMOIRES POUR CONSTITUER LA MEMOIRE CENTRALE

    6.1. Augmentation de la longueur des mots 6.2. Augmentation du nombre de mots 6.3. Modules mémoire

    Volume horaire total : 6 heures

    Timing approximatf : § 1 et 2 : 1,5 heures § 3 et 4 : 1,5 heures § 5 et 6 : 1,5 heures Correction TD : 1,5 heures

    Page 37

  • Architecture et maintenance des ordinateurs ISET Mahdia

    1. Introduction Jusqu’à présent on a parlé de la mémoire centrale comme étant une sorte de « boite noire » dans laquelle le processeur peut placer des suites binaires pour les retrouver ultérieurement. Tout au long de l’histoire de l’informatique, la mémoire centrale a été réalisée selon plusieurs principes. On trouve les tubes à vide, les tores magnétiques et les mémoires à semi conducteurs. Dans toutes ces technologies, on cherchait à mémoriser l'information élémentaire ou le bit, en lui attribuant une composante matérielle capable d’avoir deux états stables. Commençant par un tube à vide, passant vers un tore magnétique et finissant par les bascules, on parle toujours d’une cellule ou point mémoire. Nous avons déjà rencontré les registres de mémorisation, mais ceux-ci ne sont pas adaptés aux grandes capacités de stockage. On a aussi définit la mémoire comme étant la capacité de maintenir des valeurs binaires en sortie des circuits logiques et ce même si on élimine les valeurs appliquées à leurs entrées.

    2. Le fonctionnement de la mémoire centrale

    2.1. Terminologie et définition Mémoire centrale Appelée aussi mémoire principale, elle contient les instructions et les données, donc des programmes que l’on désire exécuter. Accès en lecture et écriture L’accès en entrée vers la mémoire centrale s’appelle écriture (on raisonne par rapport à la mémoire centrale). De même l’accès en sortie s’appelle lecture. Point mémoire C’est un circuit à deux états stables, capable de stocker l’un des deux chiffres binaires 1, 0 (digits). Mot mémoire Pour accéder à la mémoire centrale, on doit lire ou écrire un ensemble de bits de taille fixée à l’avance. Ce lot de bits à accéder soit lecture ou en écriture, s’appelle mot mémoire. La mémoire centrale n’est donc qu’une suite de mots. Chaque mot est identifié par un numéro unique appelé adresse.

    2.2. Schéma de principe de la mémoire centrale Extérieurement, et en ne tenant compte que des signaux logiques, un bloc mémoire peut être représenté comme sur la figure 1. Pour pouvoir identifier individuellement chaque mot on utilise k lignes d'adresse. La taille maximale d'un bloc mémoire est donc 2k mots, le premier mot se situant à l'adresse 0 et le dernier à l'adresse 2k - 1. Une ligne de commande (R/W) indique si la mémoire est accédée en écriture (l'information

    Page 38

  • Architecture et maintenance des ordinateurs ISET Mahdia

    doit être mémorisée) ou en lecture (l'information doit être restituée). Les accès en entrée et en sortie peuvent être confondus en un seul canal bidirectionnel. La ligne de validation ou de sélection du bloc (CS) n’est autre que la commande d’autorisation de la mémoire.

    M ot n° : mM ot n° : m -1

    M ot n° : 0M ot n° :1M ot n° : 2

    ...

    ...

    ...

    D ispositif desélection

    et d 'adressage

    RMR@

    CSR/W M émoire

    centrale

    k n

    Figure 1 : Schéma de principe de la mémoire centrale.

    Dispositif d’adressage et de sélection Ce circuit permet de localiser un mot mémoire étant donnée son adresse dans le registre d’adresses, puis d’effectuer l’opération d’accès (en lecture ou en écriture) depuis ou vers le registre mot. Registre d’adresses Le registre d’adresse qui appartient à l’unité centrale de traitement, sert comme renseignement pour le dispositif de sélection et d’adressage, pour localiser le mot à lire ou à écrire. Registre mot Il doit contenir la valeur du mot à écrire dans la mémoire centrale (MC) et ce avant une opération d’écriture. Il contiendra aussi la valeur du mot après une opération de lecture. Lecture d’un mot mémoire Pour lire un mot mémoire, l’unité centrale de traitement doit mémoriser l’adresse de ce mot dans le registre d’adresses, ensuite elle donne l’ordre d’accès en lecture au dispositif de sélection et d’adressage (CS à 1 et R/W à 1). Celui-ci va faire sortir la valeur du mot considéré vers le registre mot.

    Page 39

  • Architecture et maintenance des ordinateurs ISET Mahdia

    Ecriture d’un mot mémoire L’unité centrale de traitement va mémoriser l’adresse du mot à écrire dans le registre d’adresses. En même temps, elle va passer la valeur à écrire dans le registre mot. Elle donne ensuite un ordre d’écriture au dispositif de sélection et d’adressage. Celui-ci va transférer la valeur du registre mot vers le mot mémoire concernée.

    Remarques La taille du registre mot doit être identique à la taille

    du mot mémoire. La taille du registre d’adresses détermine le nombre

    maximum de mots dans la mémoire centrale. Application : Déterminer la taille minimale du registre d’adresses sachant que :

    • La taille de la mémoire centrale est : TMC (bits). • La taille d’un mot mémoire est : TMM (bits). • Le nombre de mot mémoire est : N.

    Page 40

  • Architecture et maintenance des ordinateurs ISET Mahdia

    3. Organisation interne de la mémoire centrale Le dispositif de sélection et d’adressage est conçu à base d’un décodeur. Une adresse en entrée du décodeur n’active à sa sortie qu’une seule ligne à la fois. Chaque ligne de sortie du décodeur nous permettra de sélectionner un mot mémoire. La figure ci-dessous nous montre, comment réaliser une mémoire de quatre mots, chacun de quatre bits. Ce raisonnement peut être applicable à n’importe quel bloc mémoire indépendamment de sa taille.

    D Q

    CK

    Registred'adresses

    D Q

    CK

    D Q

    CK

    D Q

    CK

    D Q

    CK

    D Q

    CK

    D Q

    CK

    D Q

    CK

    D Q

    CK

    D Q

    CK

    D Q

    CK

    D Q

    CK

    D Q

    CK

    D Q

    CK

    D Q

    CK

    D Q

    CK

    I0I1I2I3

    CS

    R/W

    O0O1O2O3

    A0

    A1

    Figure 2 : Organisation d'une mémoire de 4 mots de 4 bits chacun.

    On sait qu’une lecture et une écriture ne peuvent pas être effectuées simultanément. Il est donc possible d'utiliser les mêmes lignes pour lecture et pour l’écriture. Ce qui permettra de diminuer le nombre de broches dans les circuits de mémoire. Le fait de lier une entrée et une sortie sur la même ligne, cause un problème d’interférence. Pour le résoudre, on fait appel à des portes "3 états". Cet interrupteur électronique appelé aussi « buffer », comprend une entrée, une sortie et une commande. Quant cette

    Page 41

  • Architecture et maintenance des ordinateurs ISET Mahdia

    dernière est a 0, ce circuit se comporte comme un interrupteur ouvert. Dans le cas contraire, il se comporte comme un interrupteur fermé.

    Ii

    OiLigne E/S

    CS

    R/W

    Figure 3 : Réalisation de lignes bidirectionnelles.

    4. Caractéristiques de la mémoire centrale Capacité : Dite aussi taille de la mémoire, elle correspond au nombre d’informations qu’elle peut contenir. Elle est généralement exprimée en bits ou en nombre de mots mémoire. La table suivante résume les préfixes utilisés pour exprimer les capacités des mémoires :

    Symbole Préfixe Capacité 1 Φ Octet 2 3 = 8 bits 1 k Kilo 2 10 = 1024 1 M Méga 2 20 = 1048576 1 G Giga 2 30 = 1073741824 1 T Tera 2 40 = 1099511627776

    Table des unités de mesure de la capacité.

    Temps d’accès C’est le temps qui sépare le début de l’opération d’accès et sa terminaison. Dans la pratique et pour plusieurs types de mémoire centrale, le temps que demande une opération de lecture peut être différent de celui d’une opération d’écriture. Dans ce cas on compte le temps le plus long.

    Cycle mémoire C’est le temps minimal s’ecoulant entre deux accès successifs à la mémoire. Théoriquement, le cycle mémoire est égal au temps d’accès. Mais pratiquement le premier est plus long que le deuxième, car le bon fonctionnement de la mémoire nécessite quelques opérations de maintient et de stabilisation des signaux dans le circuit. Débit C’est le nombre d’informations (exprimé en bits) lues ou écrites par seconde. Il est exprimé en fonction du cycle mémoire (CM) et de la taille du mot mémoire (TMM) comme suit :

    Page 42

  • Architecture et maintenance des ordinateurs ISET Mahdia

    CMTMMD =

    Volatilité Elle caractérise la permanence des informations dans la mémoire centrale. Une mémoire volatile perd son contenu lorsqu’on coupe le courant. Celle ci a donc besoin d’un apport constant d’énergie électrique pour conserver ses informations. La mémoire à base de transistors est volatile. On peut réaliser des mémoires non volatiles avec les transistors moyennant un générateur de courant électrique (batterie). Tel est le cas pour la mémoire CMOS qui contient les paramètres de configuration de l’ordinateur. Il y a une autre catégorie de mémoire, à base de résistances électriques, qui constitue une mémoire permanente. C’est le cas de la mémoire centrale qui contient le bios.

    5. Hiérarchie de la mémoire centrale RAM (Randon Access Memory) Appelée aussi, mémoire à accès aléatoire, ou encore à accès direct, c’est une mémoire où, tous les mots sont accessibles directement moyennant leur adresse. RWM, ROM (Read Write Memory, Read Only Memory): Les points mémoires, décrits jusqu’ici ont la particularité de pouvoir être lus et écrits. Il constituent une mémoire RWM, appelé aussi mémoire vive par opposition à la mémoire morte qui ne permet que des opérations de lecture et qui est appelé aussi ROM. Dans le cas d’une mémoire ROM les opérations d’écriture sont soit impossibles, soit possibles sous des conditions particulières non existantes au niveau d’un ordinateur (Avec un dispositif spécial appelé programmateur). SRAM, DRAM (Static RAM, Dynamic RAM) La première est une mémoire vive statique (stable) c'est-à-dire, qui ne nécessite aucune stabilisation et aucun maintient des signaux électriques. Ce type de mémoire est conçu à base de transistors uniquement. La deuxième est une mémoire vive dynamique, qui doit être rafraîchie périodiquement (par exemple tous les millisecondes), ce type de mémoire est conçu à base de transistors et de condensateurs. PROM, EPROM (Programmable ROM, Erasable Programmable ROM) La mémoire de type PROM est une mémoire morte programmable une seule fois (avec une machine spéciale) et ce d’une manière irréversible. Les mémoires EPROM, sont des mémoires mortes, qui offrent la possibilité d’être effaçables et programmables un certain nombre de fois.

    6. Assemblage de blocs mémoires pour constituer la mémoire centrale Les techniques d'intégration ne permettent pas d'obtenir des boîtiers ayant des capacités ou des formats suffisants pour toutes les applications. Il est alors nécessaire d'associer plusieurs boîtiers pour augmenter la longueur des mots ou le nombre de mots. L'association de plusieurs blocs peut permettre d'améliorer les performances temporelles de la mémoire en faisant fonctionner plusieurs blocs en parallèle.

    Page 43

  • Architecture et maintenance des ordinateurs ISET Mahdia

    6.1. Augmentation de la longueur des mots La figure suivante montre qu'il est aisé d'associer deux boîtiers de 2k mots de n bits pour obtenir un bloc de 2k mots de 2 n bits. L'adressage doit être appliqué simultanément aux deux circuits, l'un fournissant les n bits de bas poids et l'autre les n bits de haut poids.

    Figure 4 : Augmentation de la longueur des mots.

    6.2. Augmentation du nombre de mots La figure suivante montre la réalisation d'un bloc de 4 x 2k mots de n bits à l'aide de 4 boîtiers de 2k x n bits. Il faut k+2 lignes d'adresses. Les k bits de bas poids de l'adresse sont appliqués simultanément sur les 4 boîtiers. Les deux bits de haut poids attaquent un décodeur à quatre sorties. Chacune de ces quatre lignes permet de sélectionner un boîtier (entrée de validation du boîtier : CS). Un seul boîtier est alors connecté aux lignes de sortie.

    Figure 5 : Augmentation du nombre de mots.

    6.3. Modules mémoire La plupart des micro-ordinateurs actuels offrent la possibilité d’étendre facilement leur mémoire centrale RAM. Pour cela, ils ont un certain nombre d’emplacements réservés pour accueillir des modules de mémoire, appelés SIMM (Single In-line Memory Module). Une carte SIMM est un groupe de chips RAM généralement monté sur un petit circuit imprimé de forme rectangulaire, appelé barrette, que l’on installe sur la carte principale d’un micro-ordinateur. Les SIMM fonctionnent en 32 bits. De

    Page 44

  • Architecture et maintenance des ordinateurs ISET Mahdia

    nouvelles barrettes mémoire 64 bits sont apparues, ce sont les DIMM (Dual In-line Memory Module).

    Figure 5 : Barrettes Mémoire de type SIMM et DIMM.

    Page 45

  • Architecture et maintenance des ordinateurs ISET Mahdia

    Etablissement : ISET-Mahdia Département : Informatique Matière : Architecture et maintenance des ordinateurs Classes : I11, I12,I13, I14, I15 et I16

    Série 4 : La mémoire centrale

    Exercice 1 : Si le registre d’adresse d’une mémoire comporte 32 bits, calculer :

    1. Le nombre de mots adressables si 1 mot= 1byte ; 2. La plus haute adresse possible pour ces mots de 1 byte ; 3. Le nombre de mots adressables si 1 mot = 32 bits ; 4. La plus haute adresse possible pour ces mots de 32 bits.

    Exercice 2 : On considère une mémoire centrale de 2 Mbytes, où chaque byte est adressable séparément :

    1. Calculer l’adresse, en octal, du sixième élément d’un tableau dont l’adresse du premier élément est 778, et dont tous les éléments sont composés de 16 bits.

    2. Calculer, en décimal, le nombre de bytes précédent l’adresse 778. Exercice 3 :

    On considère une machine avec la configuration suivante : - mémoire centrale de taille 1Moctets - mot mémoire de taille 2 octets - bus d’adresse (ou registre adresse) de taille 20 bits. 1- Calculer la taille minimale du bus d’adresse qui permet d’accéder à cette

    mémoire. 2- Déterminer la plage d’adressage de cette mémoire (adresse minimale et adresse

    maximale). 3- En fait, cette mémoire est constituée de deux blocs séparés (2 puces différentes)

    comme le montre la figure ci dessous. Le premier est une DRAM de taille 512 Koctets adressable à partir de l’adresse (00000)16 et le deuxième est une SRAM de taille 512Koctets adressable à partir de l’adresse (60000)16 .

    a. Déterminer les deux plages d’adressage respectivement de la DRAM et la SRAM.

    b. Quelle est la taille maximale que peut avoir la mémoire centrale sur cette machine ?

    c. Justifier pourquoi la mémoire centrale de cet ordinateur est extensible ? Déterminer la taille de la mémoire d’extension ?

    d. Justifier pourquoi la mémoire d’extension doit être organisée en au moins deux blocs mémoires (c.a.d. deux puces différentes).

    4- Le cycle mémoire de la SRAM vaut 50 ns et celui de la DRAM vaut 250 ns a) Justifier pourquoi le cycle mémoire de la SRAM est plus court que celui

    de la DRAM. b) Sachant que le cycle de recherche d’une instruction revient à deux accès

    à la mémoire centrale et que le cycle d’exécution est négligeable devant

    Page 46

  • Architecture et maintenance des ordinateurs ISET Mahdia

    le premier, déterminer le cycle moyen d’instruction dans le cas où le programme est chargé en mémoire statique puis dans le cas où il est chargé en mémoire dynamique.

    (00000)16 SRAM

    Exercice 4 : Soit une mémoire centrale de 1 Mmots de 32 bits réalisée avec des puces de 16 Kbits. Cette mémoire peut être organisée plusieurs principes ; nous considérons les trois suivants :

    • Un bit par puce : un mot est constitué de 32*1bit provenant chacun d’une puce différente, donc 32 puces sont nécessaires pour réaliser un mot ;

    • 16 bits par puce : un mot est constitué de 2*16 bits. Deux puces, fournissant chacune 16 bits, sont nécessaires pour former un mot de 32 bits ;

    • 32 bits par puce : un mot est constitué de 1*32 bits provenant de la même puce.

    Calculer : 1. Le nombre de bits nécessaires pour adresser toute la mémoire dans

    chacun des cas ; 2. Le nombre de pattes de chaque puce utilisées pour l’adressage et pour les

    données dans chacun des cas. 3. Proposer un montage pour cette mémoire dans les trois cas de figure.

    DRAM

    (60000)16

    Page 47

  • Architecture et maintenance des ordinateurs ISET Mahdia

    Chapitre V :

    Unité centrale de traitement

    Objectifs du chapitre :

    1. Expliquer les phases d’exécution d’une instruction.2. S’initier avec la programmation en langage

    assembleur simple. 3. Apprendre à effectuer la trace d’un programme en

    langage assembleur.

    Mots clés du chapitre :

    Registre de la CPU, Jeu d’instructions, Cycle instruction, Cycle machine, Cycle de recherche, Cycle d’exécution, Séquenceur, Compteur ordinal,Accumulateur, Registre instruction. Branchement conditionnel et inconditionnel.

    Eléments de contenu :

    1. INTRODUCTION 2. REGISTRES DE LA CPU : 3. JEU D’INSTRUCTION

    3.1. Définitions 3.2. Typologie des instructions

    4. UNITE DE COMMANDE : 5. UNITE ARITHMETIQUE ET LOGIQUE 6. CYCLE INSTRUCTION 7. EXEMPLE DE JEU D’INSTRUCTIONS A UNE ADRESSE

    Volume horaire total : 7,5 heures

    Timing approximatif : § 1, 2, 3 et 4 : 1,5 heures § 5 et 6 : 1,5 heures § 7 : 3 heures TD ……… : 1,5 heures

    1. Introduction L’unité centrale de traitement se compose de deux unités fonctionnellement séparées : l’unité arithmétique et logique (UAL) et l’unité de commande ou de contrôle. L’UAL est la zone du CPU où les opérations arithmétiques et logiques sont réalisées. L’unité de commande dirige le fonctionnement de toutes les autres unités (UAL, mémoire, entrées/sorties) en leur fournissant les signaux de cadence et de commande ; ses circuits génèrent les signaux nécessaires à l’exécution de chaque instruction d’un programme.

    Page 48

  • Architecture et maintenance des ordinateurs ISET Mahdia

    Le fonctionnement peut être décrit de la façon suivante : l’unité de commande va chercher en mémoire centrale une instruction en envoyant une adresse et une commande à la mémoire. L’instruction, enregistrée sous forme binaire à l’adresse donnée, est transférée vers l’unité de commande, où son décodage permet de déterminer l’opération demandée. Cette information est utilisée pour générer les signaux nécessaires à l’UAL pour déclencher l’exécution de l’instruction. Les données à traiter seront aussi cherchées en mémoire par l’unité de contrôle et transférées directement à l’UAL.

    2. Jeu d’instructions

    2.1. Définitions Jeu d’instruction (Instuction Set) : Il représente l’ensemble des instructions qu’un processeur est capable d’exécuter. Architecture RISC et CISC : Selon que le nombre d’instructions, on distingue deux types d’architectures :

    • Les Architectures RISC (Reduced Instruction Set Computer) préconisent un petit nombre d’instructions élémentaires dans un format fixe, faciles à réaliser dans le matériel et d’exécution rapide (typiquement, une instruction par cycle machine).

    • Les architectures CISC (Complex Instruction Set Computer), qui sont basées sur des jeux d’instructions très riches de taille variable offrant aussi des instructions composées telles la racine carrée ou la multiplication en virgule flottante avec double précision.

    2.2. Typologie des instructions Les instructions qu’on trouve dans les répertoires de toutes les machines, peuvent être classées en six groupes :

    • Transfert de données : tels que les transferts de registre à registre ou de mémoire (MC) à registre, etc.

    • Opérations arithmétiques : comme les quatre opération en virgule fixe ou flottante en simple ou double précision.

    • Opérations logiques : telles que AND, OR, NOT, Comparaison de bits, etc. • Contrôle de séquence : comme les branchements impératifs et conditionnels,

    boucle, etc. • Entrée/Sortie : instruction de dialogue avec les périphériques. • Manipulations diverses : telles que les décalages, conversions de format,

    incrémentation de registres, etc.

    3. Registres de la CPU : Lorsque le processeur exécute les instructions, il a besoin de stocker temporairement certaines informations (telle que l’adresse d’un mot mémoire à lire) dans des registres

    Page 49

  • Architecture et maintenance des ordinateurs ISET Mahdia

    mémoire qui ont la particularité d’avoir un temps d’accès plus rapide que celui de la mémoire. Suivant le type du processeur, le nombre de registre peut varier d’une entre une dizaine et plusieurs centaines. Les registre les plus importants sont détaillés dans ce qui suit. Compteur ordinal (CO) : Le registre CO (Program Counter = PC) Contient toujours l’adresse en mémoire de la prochaine instruction à exécuter. Le CO est automatiquement incrémenté après chaque utilisation. Le programme est ainsi exécuté en séquence à moins qu’il ne contienne une instruction modifiant la séquence, par exemple, une instruction de saut ou un branchement. Dans ce cas, la nouvelle adresse remplacera le contenu du CO. La taille du CO dépend du nombre de positions de mémoire adressables. Par exemple avec un CO de 16 bits on peut adresser une mémoire de 216 mots. Le programmeur n’a pas accès au CO directement. Registre instruction (RI) : Lorsque la CPU va chercher une instruction en mémoire, il la place dans le RI. La taille du RI correspond à la taille du mot-mémoire. Le programmeur n’a pas accès au RI. Les bits correspondant à la zone « code opération », sont envoyés au décodeur pour qu’il détermine l’opération à exécuter. Registre Temporaire (RT) : C’est un registre qui peut être utilisé comme registre intermédiaire. Il sert surtout, comme espace de rangement d’opérandes. Dans un processeur on peut trouver plusieurs registres temporaires. Accumulateur (ACC) : L’accumulateur est registre très important de l’UAL. Dans la plupart des opérations arithmétiques et logiques, l’ACC contient un des opérandes avant l’exécution et le résultat après. Il peut aussi servir de registre tampon dans les opérations d’entrée/sortie. Il est accessible par programmation. Registre d’état (RE, PSW = Program Status World) : Appelé aussi registre condition, le registre d’état contient différents bits appelés drapeaux (flags) indiquant l’état d’une condition particulière dans la CPU. Par exemple, le bit indicateur Z indique si le résultat de l’opération effectuée est égal à zéro ; le bit indicateur C indique un dépassement de capacité dans l’ACC, etc. Ces bits peuvent être testés par programme et ainsi déterminer la séquence d’instructions à suivre. Ils sont aussi utilisés par la CPU pour tester, par exemple, l’indicateur Z pour l’exécution d’un branchement conditionnel saut si zéro (jump on zero).

    Page 50

  • Architecture et maintenance des ordinateurs ISET Mahdia

    4. Unité de commande Les principaux dispositifs de l’unité de commande qui entrent en jeu lors de la recherche en mémoire et du décodage d’une instruction, sont :

    • Le compteur ordinal (CO) ; • Le registre instruction (RI) ; • Le décodeur de code opération ; • Le séquenceur ;

    Le décodeur : On connaît déjà les circuits décodeurs, ils permettent d’activer pour chaque état de ses lignes d’entrées, une ligne en sortie différente. Le décodeur de code opération, détermine quelle opération doit être effectuée, parmi toutes les opérations possibles. Ses sorties seront passées vers le séquenceur.

    Séquenceur : On sait qu’une instruction se fait généralement en plusieurs étapes (avec une séquence précise), par un ensemble de sous circuits de l’unité centrale. Seul est le séquenceur qui connaît cette séquence. Il génère et dis tribut les signaux de commande qui permette d’actionner en séquence les circuits concernés. Le séquenceur ne peut être qu’un circuit séquentiel (à mémoire) et il a donc lui même une entrée de commande, qui doit être par une horloge.

    Page 51

  • Architecture et maintenance des ordinateurs ISET Mahdia

    5. Unité arithmétique et logique On à déjà réaliser une UAL, dans le chapitre circuits de base. Elle possède un ensemble d’entrées de commande qui lui parviennent du séquenceur. Les opérandes sur lesquelles doivent se faire les instructions sont mis à sa disposition via des registres temporaires (parmi ces registre on peut trouver l’ACC). Ces registres sont nommés registre d’entrée de l’UAL. Le registre de sortie de l’UAL qui va accueillir le résultat de l’opération est généralement le registre accumulateur (bien sur après ordre de mémorisation provenant du séquenceur. Elle génère aussi les bits indicateurs de débordement et de comparaison et qui seront rangés dans le registre d’état.

    Micro commande

    s

    Registres d’entrée de

    Registre d’état

    Registres de sortie de

    Figure 1 : Schéma de principe d’un UAL.

    Page 52

  • Architecture et maintenance des ordinateurs ISET Mahdia

    6. Cycle instruction Le cycle d’instruction n’est autre que le temps nécessaire que prennent les différentes phases d'une instruction pour s’exécuter.

    6.1. Cycle machine versus cycle instruction

    Impulsions d’horloge

    1 2 3 4 5 6 7 8

    Cycle de recherche

    Cycle d’exécutio

    n

    Cycle de recherche

    Cycle instruction

    Cycle machine

    Figure 2 : Cycle machine versus cycle instruction.

    Les signaux périodique générés par l’horloge définissent le cycle de base ou cycle machine, durée élémentaire régissant le fonctionnement de la machine. Un cycle instruction est composé d’un cycle de recherche et d’un cycle d’exécution et peut s’étendre sur plusieurs cycles machine.

    6.2. Cycle de recherche et cycle d’exécution Un cycle d'instruction peut se décomposer en un cycle de recherche et un cycle d'exécution. Cycle de recherche : La circulation des informations pendant un cycle de recherche est illustrée dans la figure suivante :

    Page 53

  • Architecture et maintenance des ordinateurs ISET Mahdia

    1) Transfert de l’adresse de la nouvelle instruction à exécuter, du CO vers le RA. 2) Lecture de l’instruction à exécuter à partir de la mémoire et son rangement dans

    le registre mot. 3) Transfert de l’instruction dans le RI. 4) Le code de l’opération est transmis au décodeur qui détermine le type

    d’opération demandée et le transmet au séquenceur. Ce dernier génère par suite le signal de commande nécessaire pour envoyer l’adresse de l’opérande à partir du RI vers RA si nécessaire.

    5) Sous l’ordre du séquenceur et s’il ne s’agit pas d’opération de branchement, le compteur ordinal (CO) est incrémenté en vue de préparer le cycle de recherche suivant.

    R A Mémoire 2

    R M

    C O R I

    Décodeur

    Séquenceur

    3

    1

    4

    4

    Horloge

    5

    Figure 3 : Cycle de recherche d’une instruction

    Page 54

  • Architecture et maintenance des ordinateurs ISET Mahdia

    Le cycle d’exécution : Le cycle de recherche est suivi par le cycle d’exécution durant lequel l’opération spécifiée dans l’instruction est effectuée.

    2R A Mémoire R M

    1) le séquenceur commence à envoyer les signaux de commandes vers la mémoire

    pour qu’elle copie l’opérande vers le registre mot RM et ce s’il s’agit d’une opération arithmétique et logique.

    2) Dans le cas d’une opération arithmétique et logique il y aura transfert du contenu du RM vers l’UAL, et plus précisément vers l’accumulateur ou tout autre registre affecté à l’opération spé