Architecture et Maintenance des Ordinateurs · ISET-SFAX 1 PLAN DU COURS: ARCHITECTURE ET...

204
Ministère de l’Enseignement Supérieur Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Sfax DEPARTEMENT INFORMATIQUE (Notes de cours, TD et TP) AUDITOIRE : Niveau 1, Informatique CHARGE HORAIRE : 45 Heures de Cours Intégré 45 Heures de Travaux Pratiques ENSEIGNANT : Mondher HADIJI [email protected] Année Universitaire : 2004-2005 Architecture et Maintenance des Ordinateurs

Transcript of Architecture et Maintenance des Ordinateurs · ISET-SFAX 1 PLAN DU COURS: ARCHITECTURE ET...

  • Ministère de l’Enseignement Supérieur

    Direction Générale des Etudes Technologiques

    Institut Supérieur des Etudes Technologiques de Sfax

    DEPARTEMENT INFORMATIQUE

    (Notes de cours, TD et TP)

    AUDITOIRE : Niveau 1, Informatique

    CHARGE HORAIRE : 45 Heures de Cours Intégré

    45 Heures de Travaux Pratiques

    ENSEIGNANT : Mondher HADIJI

    [email protected]

    Année Universitaire : 2004-2005

    Architecture et Maintenance

    des Ordinateurs

  • SOMMAIRE

    PARTIE I : PRESENTATION PEDAGOGIQUE…...1 Plan du cours : Architecture et Maintenance des

    Ordinateurs………………………….………………...1 1. Table de matière pédagogique……………………………………….…..1

    2. But du cours et objectifs généraux………………………………….…...4

    3. Décomposition des objectifs généraux en objectifs spécifiques…….5

    4. Evaluation du module……………………………………………………..8

    PARTIE II : PRESENTATION DU COURS…………...9

    Contenu du cours

    Chapitre1 : Introduction……………………………………….11 1. Historique…………………………...……………………………....13

    2. Les différentes générations …...…………………………….........15

    3. L’architecture de l’ordinateur et l’Homme ………………........17

    Chapitre2 : Les Systèmes de Numérations…………...….21 1. Introduction...……………………………………………………….23

    2. Codage des alphanumériques ……………………………...…….24

    3. Codage des nombres entiers………………………………...…....27

    4. Changement de base…………………………………….................31

    5. L’arithmétique binaire………………………………...…..............34

    6. Les nombres réels…………………………………….....................39

    Chapitre3 : Les Microprocesseurs……………………...….43 1. Introduction……………………………………………………...….45

    2. Définitions…………………………………………..…………...….45

    3. Caractéristiques des processeurs……………..……………....….47

    4. Les principales unités du Microprocesseur..………..………….48

    5. Exécution d'une instruction……………..……………....………..63

    6. Modèles de microprocesseur……………..……………...........….67

  • Chapitre4 : Les Mémoires…………..…………..…...........….69 1. Introduction……………..………………………………............….71

    2. Organisation des mémoires……………………………...............72

    3. Mémoire centrale……………………………............................….73

    4. Mémoire de masse ou mémoire auxiliaire............................….81

    5. Hiérarchie des mémoires............................……………………...81

    6. Conclusion............................……………………………………....82

    Chapitre5 : Les Bus…………..…………..….........................….83 1. Généralités…………..…………..…...........................................….85

    2. Caractéristiques d’un bus…………..…………..…..................….86

    3. Mode de fonctionnement…………..…………..…..................….86

    4. Modes de transmissions de l’information…..…..................…..86

    5. Exemples de Bus…..…..................……………………………….88

    Liste des Travaux Pratiques TP1 : Vue Externe des composants d’un Ordinateur….....….99

    TP2 : Vue Interne des composants d’un Ordinateur…….…111

    TP3 : Montage et démontage d’un ordinateur………………127

    TP4 : Configuration SETUP………………………………...…137

    TP5 : Installation et configuration d’un Système

    d’exploitation…………………………………………...…159

    TP6 : Installation et Configuration des Cartes d’Extensions et

    des Périphériques…………………..……………………...169

    TP7 : Installation, Configuration et gestion des disques…...179

    TP8 : Outils de sécurité et de maintenance informatique….187

    Liste des Travaux Dirigés TD1 : Les périphériques

    TD2 : Les systèmes de numération

    TD3 : Les microprocesseurs

    TD4 : Les mémoires

    Bibliographies

  • Partie 1 :

    Présentation Pédagogique

  • Cours Architecture et Maintenance des Ordinateurs

    ISET-SFAX 1

    PLAN DU COURS :

    ARCHITECTURE ET MAINTENANCE DES

    ORDINATEURS

    Le cours architecture et maintenance des Ordinateurs est destiné aux étudiants de l’ISET

    niveau 1, profil Informatique. Ce cours a comme volume horaire 45 heures de cours intégré

    et 45 heures de travaux pratiques en raison de 3 heures de cours intégré et 3 heures de TP

    par semaine.

    Dans cette première partie, je commence par présenter le plan de cours architecture et

    maintenance des systèmes informatiques, en second lieu les objectifs généraux, et enfin une

    décomposition des objectifs généraux en objectifs spécifiques.

    1. Table de matière pédagogique

    CHAPITRE1 : Introduction (3 heures) 1. Historique

    1.1. Les précurseurs de l'ordinateur

    1.2. La machine de Turing

    1.3. La machine de Von Neumann

    1.4. Les premiers micro-ordinateurs

    2. Les différentes générations 2.1. La première génération

    2.2. La deuxième génération

    2.3. La troisième génération

    2.4. La quatrième génération

    2.5. La cinquième génération

    2.6. Que nous réserve l’avenir ?

    3. L’architecture de l’ordinateur et l’Homme 3.1. Un corps dénommé hardware

    3.2. Une âme dénommée software ou logiciel

    CHAPITRE2 : Les Systèmes de Numérations (12 heures) 1. Introduction

    2. Codage des alphanumériques 2.1. Le code EBCDIC

  • 2 Mondher HADIJI

    Partie 1 Présentation pédagogique

    2.2. Le code ASCII

    3. Codage des nombres entiers 3.1. Système décimal

    3.2. Cas général : BASE B

    3.3. Numération binaire

    3.4. Numération octale

    3.5. Base seize (hexadécimal)

    3.6. Autres bases de représentation

    4. Changement de base 4.1. Passage de la base B vers la base DIX

    4.2. Passage de la base DIX vers la base B

    4.3. Passage de la base 2n vers la base 2 et de la base 2 vers base 2n

    4.4. Passage de la base i vers la base j

    5. L’arithmétique binaire 5.1. Les 4 opérations arithmétiques usuelles

    5.2. Les nombres négatifs

    6. Les nombres réels 6.1. Représentation en virgule fixe

    6.2. Représentation en virgule flottante

    CHAPITRE3 : Les Microprocesseurs (15 heures) 1. Introduction

    2. Définitions

    3. Caractéristiques des processeurs 3.1. Architecture

    3.2. La taille du bus externe

    3.3. La taille du bus d'adresses

    3.4. La fréquence interne et la fréquence externe

    3.5. Présence de mémoire Cache

    4. Les principales unités du Microprocesseur 4.1. Notions d’Horloge, Pipeline, Superscalaire

    4.2. Unité de commande ou unité de contrôle

    4.3. Unité de mémoire cache

    4.4. Unités d’exécutions

    4.5. Unités de Segmentation et de Pagination

    4.6. Unité d'interface de Bus

    4.7. Unité d'anticipation

    4.8. Unité queue

    4.9. Unité de décodage

    4.10. Les Registres

  • Cours Architecture et Maintenance des Ordinateurs

    ISET-SFAX 3

    5. Exécution d'une instruction 5.1. Exemple1

    5.2. Exemple2

    6. Modèles de microprocesseur

    CHAPITRE4 : Les Mémoires (9 heures) 1. Introduction

    2. Organisation des mémoires 2.1. Organisation interne

    2.2. Organisation externe

    3. Mémoire centrale 3.1. Mémoire vive

    3.2. Mémoire morte

    4. Mémoire de masse ou mémoire auxiliaire

    5. Hiérarchie des mémoires

    6. Conclusion

    CHAPITRE5 : Les Bus (1.5heures) 1. Généralités

    2. Caractéristiques d’un bus

    3. Mode de fonctionnement 3.1. Les Bus synchrones

    3.2. Les Bus asynchrones

    4. Modes de transmissions de l’information 4.1. Bus parallèle

    4.2. Bus série

    5. Exemples de Bus 5.1. Le Bus ISA ou PC-AT

    5.2. Le Bus MCA

    5.3. Le Bus EISA

    5.4. Le Bus VESA

    5.5. Le bus PCI

    5.6. Le Bus SCSI

    5.7. Le Bus USB

    5.8. Le Bus FireWire – iLink

    5.9. Le Bus graphique AGP

  • 4 Mondher HADIJI

    Partie 1 Présentation pédagogique

    2. But du cours et objectifs généraux

    BUTS DU COURS :

    Faire comprendre aux étudiants l’architecture d’un ordinateur et ses

    périphériques ainsi que les interactions qui existent entres ses différents

    composants.

    Maîtriser les différentes actions de maintenance des ordinateurs dans les

    TP.

    Objectifs généraux Conditions de réalisation de la

    performance

    Critères d’évaluation

    de la performance

    Présenter l’évolution

    de l’ordinateur

    depuis ses débuts.

    A partir des notes de cours et des

    références bibliographiques, l’étudiant

    devra savoir l’historique des ordinateurs.

    Aucune erreur n’est

    permise.

    Manipuler les

    systèmes de

    numération et de

    codage dans un

    ordinateur.

    A partir des notes de cours, des

    références bibliographiques ainsi que le

    TD2, l’étudiant devrait pouvoir effectuer

    la conversion vers les différentes bases,

    représenter les nombres et réaliser les

    différents types d’opérations

    arithmétiques.

    90 % des exercices

    devront être réussis.

    Comprendre

    l’architecture et le

    fonctionnement d’un

    microprocesseur.

    A partir des notes de cours, des

    références bibliographiques ainsi que le

    TD3, l’étudiant devrait pouvoir

    représenter les étapes élémentaires de

    l’exécution des instructions par un

    microprocesseur

    Aucun concept ne doit

    être omis.

    Distinguer les

    différents types de

    mémoires et leur

    fonctionnement.

    A partir des notes de cours, des

    références bibliographiques ainsi que le

    TD4, l’étudiant devrait distinguer les

    différents types de mémoires, leurs rôles

    et fonctionnements

    Aucun concept ne doit

    être omis.

    Comprendre le rôle,

    les différents types

    A partir des notes de cours, des

    références bibliographiques, l’étudiant

    Aucune erreur n’est

    permise.

  • Cours Architecture et Maintenance des Ordinateurs

    ISET-SFAX 5

    et le fonctionnement

    des bus dans un

    ordinateur.

    doit distinguer les différents types de bus,

    détailler leurs rôles et leur

    fonctionnement.

    3. Décomposition des objectifs généraux en objectifs

    spécifiques

    ENONCE DE L’OBJECTIF GENERAL :

    Présenter l’évolution de l’ordinateur depuis ses débuts.

    Objectifs spécifiques Eléments de contenu Méthodologies Durée

    Enumérer les étapes

    marquantes dans

    l’évolution des

    ordinateurs

    Les précurseurs de l'ordinateur

    La machine de Turing

    La machine de Von Neumann

    Les premiers micro-ordinateurs

    Les différentes générations

    Exposé informel

    (tableau,

    transparents)

    1.5 H

    Présenter une vue

    d’ensemble de

    l’organisation générale

    d’un ordinateur

    Présenter l’architecture de base

    d’un ordinateur et faire une

    comparaison entre l’architecture

    de l’ordinateur et l’Homme

    Exposé informel

    (tableau,

    transparents)

    1.5 H

    ENONCE DE L’OBJECTIF GENERAL :

    Manipuler les systèmes de numération et de codage dans un ordinateur.

    Objectifs spécifiques Eléments de contenu Méthodologies Durée

    Comprendre comment

    représenter les

    caractères et les

    nombres positifs et

    négatifs dans la

    mémoire

    Codage des alphanumériques

    Codage des nombres entiers

    Changement de base

    Exercices applicatifs

    Exposé informel

    (tableau,

    transparents)

    6 H

  • 6 Mondher HADIJI

    Partie 1 Présentation pédagogique

    Expliquer comment

    effectuer les

    opérations

    arithmétiques

    Les opérations arithmétiques :

    addition, soustraction,

    multiplication et division dans des

    différentes bases de numération

    Exercices applicatifs

    Exposé informel

    (tableau,

    transparents)

    6 H

    ENONCE DE L’OBJECTIF GENERAL :

    Comprendre l’architecture et le fonctionnement d’un microprocesseur.

    Objectifs spécifiques Eléments de contenu Méthodologies Durée

    Définir le

    microprocesseur et

    présenter ses

    caractéristiques

    Définition du microprocesseur

    Le rôle du microprocesseur dans

    l’ordinateur

    Les caractéristiques des

    microprocesseurs

    Exposé informel

    (tableau,

    transparents)

    Schémas

    explicatifs

    3 H

    Expliquer le rôle des

    principales unités du

    Microprocesseur et

    présenter leurs

    interactions

    Unité de commande

    Unité de mémoire cache

    Unité de calcul

    Unité de segmentation et de

    pagination

    Unité d’interface de bus

    Unité d’anticipation

    Unité de Queue

    Unité de décodage

    Les registres

    Exposé informel

    (tableau,

    transparents)

    Schémas

    explicatifs

    7.5 H

    Comprendre les étapes

    d’exécutions d’une

    instruction

    Exécution d’une instruction

    Exercices applicatifs

    Exposé informel

    (tableau,

    transparents)

    Schémas

    explicatifs

    3 H

  • Cours Architecture et Maintenance des Ordinateurs

    ISET-SFAX 7

    Présenter les modèles

    de microprocesseur

    les plus répondus

    Evolutions rapides des

    microprocesseurs

    Famille Intel, Famille AMD

    Exposé informel

    (tableau,

    transparents)

    1.5 H

    ENONCE DE L’OBJECTIF GENERAL :

    Distinguer les différents types de mémoires et leur fonctionnement.

    Objectifs spécifiques Eléments de contenu Méthodologies Durée

    Connaître les

    différents types de

    mémoires et leur

    hiérarchie.

    Les caractéristiques des différents

    types de mémoires et leur

    hiérarchie dans un ordinateur

    Exposé informel

    (tableau,

    transparents)

    3 H

    Comprendre

    l’organisation de la

    mémoire centrale

    Présentation de l’organisation de

    la mémoire centrale

    Exposé informel

    (tableau,

    transparents)

    Schémas

    explicatifs

    3 H

    Comprendre le

    fonctionnement de la

    mémoire centrale

    Fonctionnement interne de la

    mémoire centrale

    Exposé informel

    (tableau,

    transparents)

    Schémas

    explicatifs

    1.5 H

    Connaître les

    différents types de

    mémoires

    Présentation des différents types

    de mémoires vives et mémoires

    mortes

    Exposé informel

    (tableau,

    transparents)

    1.5 H

    ENONCE DE L’OBJECTIF GENERAL :

    Comprendre le rôle, les différents types et le fonctionnement des bus dans un

    ordinateur.

    Objectifs spécifiques Eléments de contenu Méthodologies Durée

    Distinguer les Bus de données Exposé informel 0.5 H

  • 8 Mondher HADIJI

    Partie 1 Présentation pédagogique

    différents types de bus Bus d’adresses

    Bus de commandes

    (tableau,

    transparents)

    Connaître le mode de

    fonctionnement d’un

    bus

    Bus synchrones

    Bus asynchrones

    Exposé informel

    (tableau,

    transparents)

    0.5 H

    Connaître quelques

    exemples de bus dans

    un ordinateur

    Présenter les bus les plus connus

    dans un ordinateur : PCI, ISA,

    AGP, USB..

    Exposé informel

    (tableau,

    transparents)

    0.5 H

    4. Evaluation du module

    Test : 10 %

    Devoir : 20%

    TP : 20 %

    Examen : 50%

  • Partie 2 :

    Présentation du Cours

  • INTRODUCTION

    Objectifs

    A la fin de ce chapitre, vous saurez :

    Enumérer les étapes marquantes dans l’évolution des ordinateurs

    Présenter une vue d’ensemble de l’organisation générale d’un ordinateur

    Durée approximative de ce chapitre : 3heures

    Eléments de contenu

    1. Historique…………………………...……………………...…....13 1.1. Les précurseurs de l'ordinateur...………………….………....13 1.2. La machine de Turing ...……………………...…………….....13 1.3. La machine de Von Neumann...…………………….......…....13 1.4. Les premiers micro-ordinateurs...……………………....…....15 2. Les différentes générations …...………………………........15 3. L’architecture de l’ordinateur et l’Homme ………........17

  • 12 Mondher HADIJI

    Chapitre 1 Introduction

  • Cours Architecture et maintenance des Ordinateurs

    ISET-SFAX 13

    1. Historique

    1.1. Les précurseurs de l'ordinateur

    Les premières machines à calculer mécaniques étaient les machines à roues dentées de

    Wilhelm Schickard (1592-1635), de Blaise Pascal (1623-1662) et de Gottfried Wihelm

    Leibniz (1646-1716). Fragiles et peu maniables, elles ne furent guère utilisées. Le

    premier véritable précurseur de l'informatique est l'anglais Charles Babbage (1792-1871).

    Sa «machine analytique», qui utilise, au XIXe siècle, des cartes perforées indiquant les

    données et les opérations à effectuer, était théoriquement novatrice mais techniquement

    tellement complexe qu'elle n'a jamais fonctionné.

    1.2. La machine de Turing

    Alan Turing (1912-1954) est un mathématicien britannique qui a étudié des problèmes de

    logique et de fondement des mathématiques qui le conduisent à définir, en 1936, ce que

    l'on appelle maintenant «machine de Turing» et qui est un des concepts de base de

    l'informatique. C'est un pur objet mathématique abstrait, qui permet de formaliser

    rigoureusement la notion de calcul et de délimiter la frontière entre problèmes

    «calculables» et problèmes non «calculables». La notion introduite par Turing de

    «machine universelle» préfigure le principe de l'ordinateur. Par ailleurs, pendant la

    Seconde Guerre mondiale, Turing a travaillé pour les services secrets alliés en participant

    à l'équipe de scientifiques qui ont utilisé des moyens automatiques de calcul pour

    déchiffrer les codes secrets de l'armée allemande.

    1.3. La machine de Von Neumann

    John Von Neumann (1903-1957), mathématicien américain d'origine hongroise, est l'un

    des plus brillants scientifiques du XXe siècle. Pendant la Seconde Guerre mondiale, Von

    Neumann participe, entre autres, aux calculs nécessaires à la mise au point de la bombe

    atomique américaine. Pour faire ces calculs, il cherche à utiliser les calculateurs

    disponibles aux États-Unis. En 1944, il rencontre à l'université de Pennsylvanie J. P.

    Eckert et J. W. Mauchly qui construisent un très gros calculateur: l'ENIAC (Electronic

    Numerical Integrator, Analyser and Computer) :machine universelle, programmable,

    numérique, basée sur le système décimal, et entièrement électronique. Avec ses 18000

    tubes et ses 30 tonnes, l’ENIAC pouvait multiplier deux nombres de 10 chiffres en 3

    millisecondes !

  • 14 Mondher HADIJI

    Chapitre 1 Introduction

    Bien que très puissante, cette machine n'est pas encore un ordinateur. Son usage est très

    fastidieux et Von Neumann cherche à améliorer sa conception. Avec Eckert, Mauchly et

    une équipe d'ingénieurs, il conçoit, en 1945, les plans d'une nouvelle machine qu'il

    appelle l'EDVAC (Electronic Discrete Variable Automatic Computer). Cette machine est

    fondamentalement nouvelle dans son architecture. L'innovation fondamentale est que

    dans sa mémoire centrale sont placés non seulement les données mais aussi le

    programme. Une unité de commande interne permet d'organiser le travail de la machine

    et les échanges avec l'extérieur.

    La machine de Von Neumann met cinq principes qui figurent dans les ordinateurs

    actuels :

    - Une unité effectuant les opérations arithmétiques élémentaires (addition, soustraction,

    multiplication et division) : c’est l’unité arithmétique et logique

    - Une Unité pour le contrôle logique de la machine et l’ordonnancement correct de ses

    opérations : c’est l’unité de commande.

    - Une unité pour la sauvegarde de l’information : c’est la mémoire centrale.

    - Des organes pour transférer l’information du médium d’enregistrement externe de la

    machine vers la partie arithmétique centrale, la partie de contrôle centrale et la

    mémoire : ce sont les unités d’entrées.

    - Des organes pour transférer l’information de la partie arithmétique centrale, la partie

    de contrôle centrale et la mémoire vers le médium d’enregistrement externe : ce sont

    les unités de sorties.

    -

    Unités

    d’entrées

    Unités de

    sorties

    Unité

    Arithmétique

    et logique

    Unité de

    commande

    Unité de

    sauvegarde

    Figure1.1. Machine de Van Neumann

  • Cours Architecture et maintenance des Ordinateurs

    ISET-SFAX 15

    1.4. Les premiers micro-ordinateurs

    La micro-informatique se développe à partir de 1975. Les immenses progrès dans la

    miniaturisation des circuits conduisent à l'invention du microprocesseur, qui est l'organe

    de base du micro-ordinateur.

    2. Les différentes générations

    2.1. La première génération : tubes à vide (1945-1958)

    C’est l’époque de la technologie des tubes à vides (lampes ou des relais). L’organisation

    de l’ordinateur était simple avec peu d’unités différentes. Le nombre d’éléments logiques

    était de l’ordre de 104 environ

    Au niveau logiciel, la programmation se faisait en langage machine, grâce à l’assembleur

    symbolique.

    La plupart des concepts architecturaux que l’on trouve dans les ordinateurs modernes ont

    été inventés à cette époque : les registres d’indexation (1949), la microprogrammation

    (1951), la représentation des nombres avec virgule flottante (1954), les interruptions de

    programme (1954), les registres à usage non spécialisé (1956), les entrées-sorties

    asynchrones (1956) et l’adressage indirect (1958).

    2.2. La deuxième génération : le transistor (1958-1964)

    D’un point de vue technologie, le passage à la seconde génération correspond à

    l’utilisation du transistor dans la conception des éléments de l’ordinateur. Cela permet

    d’augmenter d’un ordre de grandeur, le nombre d’éléments logiques (105). Les systèmes

    étaient composés d’un petit nombre d’unités assez complexes. Le premier ordinateur à

    transistor, appelé TRADIC (800 transistors) est apparu en 1964.

    Coté logiciel, les premiers langages évolués de programmation voient le jour (COBOL,

    FORTRAN, ALGOL, LISP).

    2.3. La troisième génération : les machines à circuits intégrés

    (1964-1978)

    La troisième génération est celle du passage du traitement de données au traitement de

    l’information. La donnée possède une sémantique et pas seulement une syntaxe.

  • 16 Mondher HADIJI

    Chapitre 1 Introduction

    Au niveau technologique, elle est marquée par l’utilisation de circuits intégrés SSI (Small

    Scale Integration) puis MSI (Medium Scale Integration), c’est à dire des circuits

    contenant environ une dizaine de composants élémentaires, puis quelques centaines. Le

    nombre d’éléments logiques constituant une machine a encore augmenté d’un ordre de

    grandeur (106).

    Au niveau de l’architecture des machines, c’est l’avènement de la notion de famille, avec

    la série 360 d’IBM, l’apparition de la génération des mini-ordinateurs et c’est aussi la

    génération des premiers microprocesseurs avec le circuit 4004 d’INTEL, apparu en 1972.

    Côté logiciel, le système d’exploitation devient la ressource la plus importante et aussi la

    plus complexe. Au niveau des langages de programmation, on voit apparaître PL1, Algol

    68, Simula 67, Pascal, Basic, APL.

    2.4. La quatrième génération : LSI, machines spéciales, réseaux

    (1978-1985)

    Cette génération est caractérisée principalement par la notion de réseaux de machines.

    Au niveau technologique, l’utilisation de circuits LSI (Large Scale Integration) contenant

    plusieurs centaines d’éléments logiques, permet d’augmenter, encore d’un ordre de

    grandeur, le nombre de composants logiques élémentaires (107)

    Face à la stagnation de la sémantique des jeux d’instructions et à la complexité

    grandissante des langages de programmation qui entraîne une forte augmentation de la

    complexité des compilateurs, l’époque charnière entre la troisième et la quatrième

    génération voit l’apparition d’un nouveau concept architectural : les machines langages

    ou multi-langages.

    2.5. La cinquième génération : VLSI, parallélisme 1985 -…

    La dernière génération est celle des systèmes distribués interactifs.

    Niveau technologique, les progrès sont immenses, par rapport aux premières générations.

    On parle de niveau d’intégration VLSI (Very Large Scale Integration) voire même de

    WSI (Wafer Scale Integration), ce qui a permis d’augmenter de plusieurs ordres de

    grandeurs, le nombre de composants logiques élémentaires dans une machine (108). Un

    processeur complet de plusieurs millions de transistors se trouve dorénavant dans un seul

    circuit intégré.

  • Cours Architecture et maintenance des Ordinateurs

    ISET-SFAX 17

    Côté architecture, c’est le retour à des jeux d’instructions beaucoup plus simples

    (architecture RISC : Reduced Instruction Set Computers), permettant des organisations

    plus performantes (processeurs multi-scalaires). La cinquième génération est aussi la

    génération des architectures à parallélisme massif (plusieurs milliers ou millions de

    processeurs élémentaires).

    On distingue donc cinq générations d’ordinateurs :

    Génération Date Technologie

    1 1945 Tubes à vide

    2 1958 Transistors

    3 1964 Circuits Intégrés

    4 1978 LSI

    5 1985 VLSI

    2.6. Que nous réserve l’avenir ?

    La technologie électronique actuelle semble obéir à la loi de Moore (Gordon Moore de

    Intel) : le nombre de transistors qu’on peut placer sur une puce augmente par quatre à

    tous les trois ans parce que la taille des traits dans les circuits intégrés diminue de 10 %

    chaque année.

    3. L’architecture de l’ordinateur et l’Homme

    L’ordinateur a été conçu par l’Homme et comme son nom l’indique pour ordonner des

    informations, des données. Cette capacité d’ordonner présuppose des fonctions, qui sans

    être une intelligence, telle que celle de l’homme, en constitue une partie.

    L’Homme créa l’ordinateur à son image : c’est pour cette raison que l’ordinateur est

    constitué principalement :

    - d’un corps (hardware ou matériel)

    - d’une âme (software ou logiciel)

    Tableau 1.1. Les cinq générations d’ordinateur

  • 18 Mondher HADIJI

    Chapitre 1 Introduction

    Ordinateur Homme M

    até

    riel

    ou

    ha

    rdw

    are

    Un

    ité

    cen

    tra

    le Mémoire centrale

    Le

    corp

    s

    La

    co

    lon

    ne

    ver

    téb

    rale

    La mémoire pour garder les souvenirs,

    les informations …

    L’horloge Le cœur pour rythmer son travail

    Le microprocesseur Le cerveau pour réfléchir

    Les bus Les nerfs pour relier ces composantes

    Autres… Autres…

    Pér

    iph

    ériq

    ues

    Clavier, scanner…

    Org

    an

    es D’entrées : l’œil, l’oreille…

    Imprimante, écran… De sorties

    Modems… D’entrées-sorties : le nez, la bouche…

    Mémoires de masses

    (disques durs, disquettes…)

    Documents (blocs-notes…)

    Logiciel ou software L’âme

    3.1. Un corps dénommé hardware ou matériel

    Le hardware de l’ordinateur c’est son corps. A l’image de celui de l’homme, il est

    composé d’une colonne vertébrale et d’organes. Mais comme la mémoire de l’homme

    est insuffisante pour tout retenir, il fut obligé de créer des supports extérieurs comme les

    blocs-notes, les carnets d’adresses, les livres … l’ordinateur, de même, fut doté de

    supports extérieurs (mémoires auxiliaires ou mémoires de masses) servant de

    complément à la mémoire limitée dont il est pourvu dans son cerveau.

    3.1.1. Une colonne vertébrale dénommé unité centrale

    La colonne vertébrale de l’ordinateur est dénommée unité centrale (U.C.) du fait que

    tous les autres organes sont situés autour de lui, à sa périphérie. Celle-ci constituée

    principalement d’une carte électronique sur laquelle sont soudées ou enfichées d’autres

    composantes. La carte principale est appelée la carte-mère.

    Tableau 1.2. Comparaison entre l’ordinateur et l’Homme

  • Cours Architecture et maintenance des Ordinateurs

    ISET-SFAX 19

    A l’image de la colonne vertébrale de l’Homme, l’unité centrale de l’ordinateur contient

    d’un côté la mémoire (pour ne pas oublier l’information) et de l’autre le

    microprocesseur (le cerveau pour réfléchir) qui est composé d’un ensemble d’éléments

    dédiés aux fonctions logiques et de réflexion mais aussi de contrôle des organes.

    Mais l’ordinateur comporte aussi dans son unité centrale une horloge (un cœur) qui

    rythme le travail du microprocesseur et de tous les organes qui sont reliés à l’unité

    centrale.

    Enfin, un ordinateur est comme l’être humain a besoin de relier toutes ces composantes

    pour qu’elles puissent communiquer : c’est le rôle dans le corps humain des nerfs et dans

    l’ordinateur des bus.

    3.1.2. Des organes dénommés périphériques

    Les organes de l’ordinateur sont dénommés « périphériques », car ils sont

    schématiquement placés autour de l’unité centrale. Ces périphériques vont permettre à

    l’ordinateur de communiquer avec son monde extérieur comme le fait l’homme avec les

    mains, les oreilles, le nez ou la bouche.

    3.1.3. Des mémoires externes dénommées mémoires de masses

    L’ordinateur a certes, une mémoire interne située dans l’unité centrale, mais elle est

    insuffisante et surtout temporaire car on ne peut y garder de l’information que s’il est

    alimenté en électricité. Comme l’ordinateur ne peut fonctionner en continu, on lui a créé

    des mémoires externes (disques durs, disquettes, CD…) où l’on peut stocker les

    informations auxquelles on a recours.

    3.2. Une âme dénommée software ou logiciel

    Le software ou logiciel est la partie immatérielle de l’ordinateur c’est son âme puisqu’il

    le fait vivre. Un logiciel est une suite d’instructions données à l’ordinateur dans un

    langage informatique.

  • LES SYSTEMES DE NUMERATION

    Objectifs

    A la fin de ce chapitre, vous saurez :

    Représenter les caractères et les nombres positifs et négatifs dans la mémoire

    Effectuer les opérations arithmétiques

    Durée approximative de ce chapitre : 12 heures

    Eléments de contenu

    1. Introduction...…………………………………………………….23 2. Codage des alphanumériques …………………………...….24 3. Codage des nombres entiers………………………………....27 4. Changement de base………………………………...................31 5. L’arithmétique binaire………………………………..............34 6. Les nombres réels……………………………….......................39

  • 22 Mondher HADIJI

    Chapitre 2 Systèmes de numération

  • Cours Architecture et maintenance des Ordinateurs

    ISET-SFAX 23

    1. Introduction

    Les systèmes informatiques actuels étant construits à l’aide de circuits intégrés,

    composants électroniques qui rassemblent sur une puce de silicium quelques millions

    de transistors, ils ne peuvent fonctionner que selon une logique à deux états telle que,

    de façon schématique, le courant passe ou ne passe pas dans le transistor.

    Ces deux états logiques, conventionnellement notés 0 et 1, déterminent une logique

    dite binaire qui correspond à deux niveaux électriques que nous donnerons, pour

    simplifier, comme étant équivalents à 0 volt et à 5 volts.

    Toute information à traiter devra donc pouvoir être représentée sous une forme

    assimilable par la machine, et donc sous une forme binaire. Que ce soit en interne

    dans la machine, comme nous venons de le signaler, ou sur les fils permettant de faire

    circuler l’information entre tous les composants d’un ordinateur.

    Le passage d’une information, d’un langage compréhensible par l’homme à un

    langage compréhensible par le système informatique, s’appelle codage ou

    codification.

    En effet, le codage d’une information consiste à établir une correspondance entre la

    représentation externe de l’information et sa représentation interne dans la machine

    qui est une suite de bits. Plusieurs types de codifications sont mises au point pour

    représenter les chiffres et les lettres.

    Etat 0

    Etat 1

    Un interrupteur ouvert : Etat logique 0

    Un interrupteur fermé : Etat logique 1

  • 24 Mondher HADIJI

    Chapitre 2 Systèmes de numération

    2.Codage des alphanumériques (textes)

    Les caractères alphanumériques sont des données non numériques, on ne peut pas

    donc effectuer des opérations arithmétiques (addition, multiplication,…) sur des

    caractères. Par contre, il est souvent utile de comparer deux caractères, pour une

    opération de trie ou autre.

    Ils sont composés de :

    - Les lettres majuscules : A, …, Z ;

    - Les lettres minuscules : a, …, z ;

    - Les symboles de ponctuations : , . ; ! ? « …

    - Les chiffres : 0, …, 9

    Un texte, ou chaîne de caractères, sera représenté comme une suite de caractères. Le

    codage des caractères est fait par une table de correspondance indiquant la

    configuration binaire représentant chaque caractère.

    Les deux codes les plus connus sont :

    - Le code EBCDIC

    - Le code ASCII

  • Cours Architecture et maintenance des Ordinateurs

    ISET-SFAX 25

    2.1. Le code EBCDIC

    Le code EBCDIC (Extended Binary Coded Decimal Interchange Code) est utilisé

    principalement par IBM, représenté sur 8 bits et il est en voie de disparition.

    0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

    0000 NUL DLE DS SP & - { } \ 0

    0001 SOH DC1 SOS / A J a j 1

    0010 STX DC2 FS SYN B K S b k s 2

    0011 ETX TM C L T c l t 3

    0100 PF RES BYP PN D M U d m u 4

    0101 HT NL LF RS E N V e n v 5

    0110 LC BS ETB UC F O W f o w 6

    0111 DEL IL ESC EOT G P X g p x 7

    1000 CAN H Q Y h q y 8

    1001 EM I R Z i r z 9

    1010 SMM CC SM ! ::

    1011 VT CUI CU2 CU3 $ , #

    1100 FF IFS DC4 < * % @

    1101 CR IGS ENQ NAK ( ‘

    1110 SO IRS ACK + ; > =

    1111 SI IUS BEL SUB | ? "

    Tableau 2.1. Table EBCDIC

  • 26 Mondher HADIJI

    Chapitre 2 Systèmes de numération

    2.2. Le code ASCII

    Le code ASCII (American Standard Code for Information Interchange) est l’un des

    codes les plus utilisés en informatique. L’ASCII standard représente chaque caractère

    sur 7 bits, on peut donc avoir seulement 128 caractères possibles et on ne peut

    représenter ni les caractères accentués ( é, è, à, ê, ù…), ni d’autres caractères de

    contrôles (NUL, STX, …) ce qui a fait naître le code ASCII étendu utilisant 8 bits.

    Déc. Binaire Carac. Déc. Binaire Carac. Déc. Binaire Carac. Déc. Binaire Carac.

    0 0000000 32 0100000 ESPACE 64 1000000 @ 96 1100000 `

    1 0000001 33 0100001 ! 65 1000001 A 97 1100001 a

    2 0000010 34 0100010 “ 66 1000010 B 98 1100010 b

    3 0000011 35 0100011 # 67 1000011 C 99 1100011 c

    4 0000100 36 0100100 $ 68 1000100 D 100 1100100 d

    5 0000101 37 0100101 % 69 1000101 E 101 1100101 e

    6 0000110 38 0100110 & 70 1000110 F 102 1100110 f

    7 0000111 39 0100111 ‘ 71 1000111 G 103 1100111 g

    8 0001000 40 0101000 ( 72 1001000 H 104 1101000 h

    9 0001001 41 0101001 ) 73 1001001 I 105 1101001 i

    10 0001010 42 0101010 * 74 1001010 J 106 1101010 j

    11 0001011 43 0101011 + 75 1001011 K 107 1101011 k

    12 0001100 44 0101100 , 76 1001100 L 108 1101100 l

    13 0001101 45 0101101 - 77 1001101 M 109 1101101 m

    14 0001110 46 0101110 . 78 1001110 N 110 1101110 n

    15 0001111 47 0101111 / 79 1001111 O 111 1101111 o

    16 0010000 48 0110000 0 80 1010000 P 112 1110000 p

    17 0010001 49 0110001 1 81 1010001 Q 113 1110001 q

    18 0010010 50 0110010 2 82 1010010 R 114 1110010 r

    19 0010011 51 0110011 3 83 1010011 S 115 1110011 s

    20 0010100 52 0110100 4 84 1010100 T 116 1110100 t

    21 0010101 53 0110101 5 85 1010101 U 117 1110101 u

    22 0010110 54 0110110 6 86 1010110 V 118 1110110 v

    23 0010111 55 0110111 7 87 1010111 W 119 1110111 w

    24 0011000 56 0111000 8 88 1011000 X 120 1111000 x

    25 0011001 57 0111001 9 89 1011001 Y 121 1111001 y

    26 0011010 58 0111010 : 90 1011010 Z 122 1111010 z

    27 0011011 59 0111011 ; 91 1011011 [ 123 1111011

    28 0011100 60 0111100 < 92 1011100 \ 124 1111100 |

    29 0011101 61 0111101 = 93 1011101 ] 125 1111101

    30 0011110 62 0111110 > 94 1011110 ^ 126 1111110 ~

    31 0011111 63 0111111 ? 95 1011111 _ 127 1111111

    Notons encore que pour d’autres langues (arabes, chinois,…), d’autres codages

    existent utilisant 16 bits par caractères tel que le code UNICODE (UNIversal CODE).

    Tableau 2.2. Table ASCII Standard (sur 7 bits)

  • Cours Architecture et maintenance des Ordinateurs

    ISET-SFAX 27

    3.Codage des nombres entiers

    Dans la vie courante, nous utilisons différents types de nombres : les nombres

    naturels, les nombres relatifs, les nombres rationnels, les nombres réels, ainsi que

    différentes formes de représentations de ceux-ci.

    3.1. Système décimal

    Pour ce système, on a besoin des chiffres de 0 à 9 pour écrire tous les naturels. On dit

    que DIX est la BASE de ce système de numération.

    Il s’agit d’un code PONDERE c’est à dire chaque chiffre décimal acquiert un POIDS

    lié à sa position dans l’écriture du nombre.

    Le POIDS vaut : 10r, où r est le RANG du chiffre (r=0 à droite, chiffre des unités).

    Exemple :

    1997 = 1x103 + 9x102 + 9x101 + 9x100

    N° RANG : 3 2 1 0 Correspond à l’exposant

    POIDS : 1000 100 10 1 Valeur du chiffre

    3.2. Cas général : BASE B

    Soit B un entier naturel dans N* \ {1}

    On appelle système de numération pondérée à base B, la donnée de B symboles

    différents appelés CHIFFRES, affectés à la notation des premiers naturels de 0 à B-1.

    L’adoption de la règle d’écriture des naturels à partir de B par pondération suivant les

    puissances, définie par :

    Le chiffre de droite, de rang 0, a le poids B0 = 1

    Tout chiffre à gauche d’un chiffre I a un poids B fois supérieures à celui de I

    Exemple :

    Trouver l’écriture décimale du nombre : 123 (B)

    123 (B) = 1xB2 + 2xB1 + 3xB0 (10)

  • 28 Mondher HADIJI

    Chapitre 2 Systèmes de numération

    3.3. Numération binaire

    Chaque information traitée par l’ordinateur est définie par un ensemble fini

    d’informations simples à deux états possibles, représentées par un chiffre 1 ou 0 : des

    bits (BIT : Binary digIT).

    Avec 1 bit, on a 2 valeurs possibles : 0 et 1 ;

    Avec 2 bits, on a 4 valeurs possibles : 00, 01, 10 et 11 ;

    Avec 3 bits, on a 8 valeurs possibles : 000, 001, 010, 011, 100, 101, 110 et 111 ;

    les unités employées

    Préfixe Symbole Valeur en

    octets

    Valeur possible Valeur

    approximative

    Quartet Quartet ½

    Octet (Byte) O 1

    Kilo octet K 10 210 103

    Méga octet M 20 220 106

    Giga octet G 30 230 109

    Tétra octet T 40 240 1012

    Péta octet P 50 250 1015

    Exa octet E 60 260 1018

    Tableau de conversion binaire-décimale

    Binaire Décimale

    0 0 1 1

    10 2 11 3

    100 4 101 5 110 6 111 7

    1000 8 1001 9

    Tableau 2.3. Unités employées

    Tableau 2.4. Conversion binaire-décimale

  • Cours Architecture et maintenance des Ordinateurs

    ISET-SFAX 29

    3.4. Numération octale

    Pour ce système de numération, on a besoin des chiffres de 0 à 7

    Exemple

    53(8) = 5x81 + 3x80 = 43(10)

    Tableau de conversion octale-décimale

    Octale Décimale

    0 0

    1 1

    2 2

    3 3

    4 4

    5 5

    6 6

    7 7

    10 8

    11 9

    3.5. Base seize (hexadécimal)

    Pour ce système de numération on a besoin de 16 symboles qui sont :

    0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F où

    A est égale à 10 dans la base décimale ;

    B est égale à 11 dans la base décimale ;

    C est égale à 12 dans la base décimale ;

    D est égale à 13 dans la base décimale ;

    E est égale à 14 dans la base décimale et

    F est égale à 15 dans la base décimale .

    Exemple

    B7(16) = 11x161 + 7x160 = 183(10)

    Tableau 2.5. Conversion octale-décimale

  • 30 Mondher HADIJI

    Chapitre 2 Systèmes de numération

    Table de correspondance

    Binaire Hexadécimale Décimale

    0000 0 0

    0001 1 1

    0010 2 2

    0011 3 3

    0100 4 4

    0101 5 5

    0110 6 6

    0111 7 7

    1000 8 8

    1001 9 9

    1010 A 10

    1011 B 11

    1100 C 12

    1101 D 13

    1110 E 14

    1111 F 15

    3.6. Autres bases de représentation

    3.6.1. Code DCB (Décimal Code en Binaire)

    Le code DCB ou BCD (Binary Coded Decimal) consiste à remplacer chaque chiffre

    décimal du nombre par sa codification sur 4 bits en binaire

    Exemple

    1 9 7 5 en décimal

    0001 1001 0111 0101 en DCB

    Le code DCB 8-4-2-1 permet une implémentation des additions simples à l’aide de

    l’addition duale présentée ci-dessous : les bits de même Quartet sont additionnés dans

    un premier temps comme s’il s’agissait d’un nombre binaire. Ensuite, on contrôle les

    valeurs des Quartets et on ajoute la valeur 6 chaque fois que la valeur d’un Quartet

    dépasse 9.

    Tableau 2.6. Table de correspondance

  • Cours Architecture et maintenance des Ordinateurs

    ISET-SFAX 31

    Exemple

    125 0001 0010 0101

    +

    628 0110 0010 1000

    0111 0100 1101

    = + 0000 0000 0110

    753 0111 0101 0011

    3.6.2. Code majoré de trois

    Le code majoré de trois d’un nombre décimal se trouve de la même manière que le

    code DCB, sauf qu’on ajoute 3 à chaque chiffre décimal avant d’opérer la conversion.

    Exemple

    On veut convertir le nombre décimal 48 en code majoré de 3. Tout d’abord, on ajoute

    3 aux deux chiffres 4 et 8, on obtient 7 et 11. Puis, on convertit ces deux chiffres en

    décimal sur 4 positions. Le résultat calculé est :

    48(10) = 0111 1011 en code majoré de 3

    4. Changement de base

    4.1. Passage de la base B vers la base DIX

    Soit N(10) = an-1…a1a0 (B)

    N(10) = an-1xBn-1 + … + a1xB1 + a0xB0

    Exemples

    B=2 : 100101(2) = 1x25 + 0x24 + 0x23 + 1x22 + 0x21 + 1x20

    = 37(10)

    B=16 : A3D(16) = 10x162 + 3x161 + 13x160

    = 2621(10)

  • 32 Mondher HADIJI

    Chapitre 2 Systèmes de numération

    4.2. Passage de la base DIX vers la base B

    4.2.1. Première méthode

    Elle consiste à soustraire successivement la plus grande puissance de B :

    Exemples

    De la base 10 vers base 2

    363(10) = 1x28 + 1x26 + 1x25 + 1x23 + 1x21 +1x20

    = 101101011(2)

    De la base 10 vers base 16

    363(16) = 1x162 + 6x161 + 11x160

    = 16B(16)

    4.2.2. Deuxième méthode

    Elle consiste à diviser par B autant de fois que cela est nécessaire pour obtenir un

    quotient nul, on écrit les restes dans l’ordre inverse où ils sont obtenus.

    Exemples

    De la base 10 vers base 2

    145(10) = 10010001(2)

    De la base 10 vers base 16

    145(10) = 91(16)

    145 2 1 72 2 0 36 2 0 18 2 0 9 2 1 4 2 0 2 2 0 1 2 1 0

    145 16 1 9 16 9 0

  • Cours Architecture et maintenance des Ordinateurs

    ISET-SFAX 33

    4.3.Passage de la base 2n vers la base 2 et de la base 2 vers

    base 2n

    A l’aide de n (sur n positions), on convertit chaque chiffre en base 2 et on juxtapose

    les résultats.

    Exemples

    De la base 16 = 24 vers la base 2

    3 A 9 dans la base 16

    0011 1010 1001 dans la base 2

    Donc 3A9(16) = 001110101001(2)

    De la base 8 = 23 vers la base 2

    2 6 4 dans la base 8

    010 110 100 dans la base 2

    Donc 264(8) = 010110100(2)

    Dans la conversion inverse, on découpe le nombre binaire en tranches de n chiffres

    que l’on convertit.

    Exemples

    n = 4 (24 =16) 0011 1010 1001 dans la base 2

    3 A 9 dans la base 16

    n = 3 (23 = 8) 010 110 100 dans la base 2

    2 6 4 dans la base 8

    4.4. Passage de la base i vers la base j

    Si i et j sont tous les deux des puissances de 2, on utilise la base 2 comme base

    intermédiaire pour la conversion : i 2 j

    Si i et j ne sont pas tous les deux des puissances de 2, on utilise la base 10 comme

    base intermédiaire pour la conversion : i 10 j

  • 34 Mondher HADIJI

    Chapitre 2 Systèmes de numération

    5.L’arithmétique binaire

    5.1. Les 4 opérations arithmétiques usuelles

    Elles s’effectuent selon les mêmes règles que dans le système décimal. Ces règles

    caractérisent en fait la numération de position.

    Il suffit de connaître les tables d’addition, de soustraction, de multiplication et de

    division :

    Addition Retenue Soustraction Retenue Multiplication Division Quotient Reste

    0 +0 = 0

    0 +1 = 1

    1 +0 = 1

    1 +1 = 0

    0

    0

    0

    1

    0 – 0 = 0

    0 – 1 = 1

    1 – 0 = 1

    1 – 1 = 0

    0

    1

    0

    0

    0 x 0 = 0

    0 x 1 = 0

    1 x 0 = 0

    1 x 1 = 1

    0 : 0

    0 : 1

    1 : 0

    1 : 1

    Imp.

    0

    Imp.

    1

    0

    0

    5.2. Les nombres négatifs

    5.2.1. Représentation avec la valeur absolue et le signe

    On sacrifie d’un bit dont le poids et le plus fort pour représenter le signe.

    Normalement, 0 est le code du signe +, 1 est celui du signe -.

    On peut ainsi, avec un mot de k bits, coder les entiers positifs ou négatifs N tels que :

    -(2k-1 -1)

  • Cours Architecture et maintenance des Ordinateurs

    ISET-SFAX 35

    Remarque

    Cette représentation a plusieurs inconvénients :

    - Deux codages différents pour le nombre 0 : 00000000 et 10000000, soit +0 et –0 ;

    - On est obligé de bien distinguer les 4 cas différents pour le nombre avec signe (+/+,

    +/-, -/+, -/-). Il n’est pas possible, entre autre, de réaliser une soustraction comme une

    addition de la négation du deuxième opérande.

    Exemple Sur un octet :

    45-35 : [00101101] 45

    +[10100011] -35

    [11010000] -80 ???

    5.2.2. Représentation par le complément restreint (complément à 1)

    - On calcule le complément logique (complément à 1) d’un nombre X noté CR(X), en

    remplaçant, pour les valeurs négatives, chaque bit à 0 par 1 et vice versa.

    Exemple

    Par exemple sur un octet :

    +1 = 00000001 -1 = 11111110

    +0 = 00000000 -0 = 11111111

    Remarques

    - On a deux représentations de zéro

    - Si n est le nombre de bit de X, on a X + CR(X) = 2n –1

    Exemple

    Si X = 1101

    CR(X) = 0010

    X+CR(X) = 1101+0010=1111=(15)10 = 24 –1

    On en déduit que -X = CR(X) + 1 – 2n

    5.2.3. Représentation par le complément vrai (complément à 2)

    C’est la représentation la plus utilisée, on l’obtient en ajoutant +1 au complément

    restreint. Elle simplifie l’addition et la soustraction et donne une seule représentation

    de zéro.

  • 36 Mondher HADIJI

    Chapitre 2 Systèmes de numération

    Un nombre positif de n bits, les n-1 bits de poids faible représente la valeur en binaire

    naturel comme un nombre sans signe. Le nième bit de poids fort est à 0 et représente le

    signe +. Par définition, le nombre opposé d’un nombre positif donné, s’obtient en

    prenant le complément à 2 du nombre positif. Avec n bits, on peut représenter les

    nombres positifs de 0 à 2n-1 –1 et des nombres négatifs de –1 à –2n-1. les nombres

    négatifs se caractérisent par un bit de signe à 1.

    CV(X) = CR(X) + 1

    Exemple

    La valeur de code en complément à 2 pour –35 sur un octet:

    35 00100011

    CR(00100011) : 11011100

    CV(00100011) = CR(00100011) +1=11011101 -35

    D’un point de vue mathématique, on représente les nombres entiers par une

    arithmétique modulo 2n, où les représentants sont choisis dans l’intervalle [-2n-1, 2n-1[

    Exemple

    sur 4 bits l’intervalle est [-23, 23[ en complément à 2

    Chaîne de bits Entier positif Complément à 2

    0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

    0 1 2 3 4 5 6 7 8 9

    10 11 12 13 14 15

    0 1 2 3 4 5 6 7 -8 -7 -6 -5 -4 -3 -2 -1

    Remarque

    De la relation X + CR(X) = 2n – 1, on déduit CV(X) = 2n – X et CV(CV(X)) = X

  • Cours Architecture et maintenance des Ordinateurs

    ISET-SFAX 37

    5.2.4. Problèmes liés à la longueur des nombres

    5.2.4.1.Addition de deux nombres positifs

    Soit deux nombres A et B à quatre éléments binaires, la somme de a1 et b1 donne un

    résultat partiel S1 et une retenue r1. On forme alors la somme de r1, a2 et b2 pour

    obtenir la somme partielle S2 et la retenue r2 et ainsi de suite.

    Exemple

    Addition de +7 et +5 sur 5 bits :

    1 retenue 1 1 1 retenues

    + 7 0 0 1 1 1

    + 5 0 0 1 0 1

    +12 0 1 1 0 0

    Remarque

    En ajoutant 2 nombres positifs (bit de signe est égal à 0) on peut obtenir un résultat

    dont le bit de signe est 1 bien que le résultat soit positif , si le résultat est hors de

    l’intervalle autorisé.

    Par exemple si on effectue l’opération de l’addition de +49 et +88 sur 8 bits on

    obtient : 00110001 + 01011000 = 1001001

    On remarque que le 8ème bit est à 1 : donc il y a un dépassement de capacité. Pour

    cela, les calculateurs utilisent un indicateur de dépassement de capacité (Overflow

    Flag) .

    Nombre A a4 a3 a2 a1

    Nombre B b4 b3 b2 b1

    Somme A+B s4 s3 s2 s1

    Retenues r4 r3 r2 r1

  • 38 Mondher HADIJI

    Chapitre 2 Systèmes de numération

    5.2.4.2.Addition des entiers signés

    5.2.4.2.1. Avec le complément restreint

    La soustraction est obtenue par simple addition des deux opérandes mais la retenue du

    poids le plus fort est ensuite ajoutée au résultat

    Exemples

    - Sur 5 bits : +7-14

    +7 0 0 1 1 1

    -14 1 0 0 0 1 complément à 1 de 01110

    -7 1 1 0 0 0 qui est –7 en complément à 1

    - Sur 5 bits : -4-3

    -4 1 1 0 1 1 complément à 1 de 00100

    -3 1 1 1 0 0 complément à 1 de 00011

    -7 1 1 0 1 1 1

    1

    1 1 0 0 0 qui est –7 en complément à 1

    On note que si la retenue de signe apparaît, il faut l’ajouter au résultat de l’addition

    algébrique pour obtenir le résultat correct.

    5.2.4.2.2. Avec le complément vraie

    La soustraction est obtenue par simple addition des deux opérandes en ne tenant pas

    compte de la retenue du poids le plus fort.

    Exemples

    - Sur 5 bits : +7-14

    +7 0 0 1 1 1

    -14 1 0 0 1 0 complément à 2 de 01110

    -7 1 1 0 0 1 qui est –7 en complément à 2

    - Sur 5 bits : -4-3

    -4 1 1 1 0 0 complément à 2 de 00100

    -3 1 1 1 0 1 complément à 2 de 00011

    -7 1 1 1 0 0 1

    à rejeter

  • Cours Architecture et maintenance des Ordinateurs

    ISET-SFAX 39

    6.Les nombres réels

    En base B, un nombre réel qui s’écrit abc,def vaut :

    abc,def (B) = a x B2 + b x B1 + c x B0 + d/B1 + e/B2 + f/B3(10)

    Exemples

    - 12,31(5) = 51 + 2x50 +3/51 + 1/52 = 7,64(10)

    - 1101,11(2) = 23 + 22 + 20 + 1/21 + 1/22 = 13,75(10)

    Inversement, exemple de conversion en système octal :

    634,328125(10) = ? (8)

    634(10) = 1172(8)

    0,328125 x 8

    2 , 625 2 0,625

    x 8 5 , 0 5

    0,328125 (10) = 0,25 (8) d’où 634,328125(10) = 1172,25(8)

    6.1. Représentation en virgule fixe

    Un nombre de n bits est partagé en deux parties dont l’une correspond aux valeurs

    entières, l’autre aux valeurs fractionnaires. La virgule n’est pas matérialisée

    réellement comme le signe, mais se trouve fictivement entre les deux zones entières et

    fractionnaires. La position de la virgule est fixée par l’utilisateur en fonction de ses

    besoins.

    634 8 2 79 8 7 9 8 1 1 8 1 0

  • 40 Mondher HADIJI

    Chapitre 2 Systèmes de numération

    Exemple

    Supposons que sur 8 bits : 1 bit pour le signe, 5 bits pour la zone entière et 2 bits pour

    la zone fractionnaire

    Signe Valeur entière(CR) Valeur fractionnaire(CV) Valeur décimale

    0

    0

    0

    0

    1

    1

    1

    00111

    00110

    00000

    00000

    11111

    00110

    11000

    11

    10

    01

    00

    11

    10

    01

    7,75

    6,5

    0,25

    0

    -0.25

    -25,5

    -7,75

    6.2. Représentation en virgule flottante

    Elle s’écrit sous la forme N = M x BE

    Où B : est la base du système numérique utilisé

    M : est la mantisse qui est de la forme 0,d1d2d3…..dm avec d1 0

    E : est l’exposant

    Les codages utilisés par différents ordinateurs et langage de programmation ne sont

    pas uniformisés. Ce n’est que dans les tout derniers temps que l’on observe une

    convergence vers le standard IEEE74 (Institute of Electrical and Electronics

    Engineers 74). On va étudier un peu plus en détail ci-dessous la version « single

    precision » de ce standard qui est utilisée par les processeurs d’Intel.

    Dans la version de précision simple, on utilise 32 bits pour la représentation d’un

    nombre réel. 23 bits sont réservés pour la mantisse, un bit pour le signe et les 8 bits

    restants sont utilisés pour l’exposant.

    Signe : 1 bit

    Exposant : 8 bits Mantisse : 23 bits

  • Cours Architecture et maintenance des Ordinateurs

    ISET-SFAX 41

    Exemple

    Représenter selon le standard IEEE74 le nombre 0,0001011101101(2)

    0,0001011101101 = 0,1011101101 x 2-3

    D’où la représentation de 0,0001011101101(2) selon le standard IEEE74 est :

    1 1 1 1 1 1 1 0 0 1 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0

  • LES MICROPROCESSEURS

    Objectifs

    A la fin de ce chapitre, vous saurez :

    Définir le microprocesseur et présenter ses caractéristiques

    Expliquer le rôle des principales unités du Microprocesseur et présenter leurs

    interactions

    Présenter les modèles de microprocesseur les plus répondus

    Durée approximative de ce chapitre : 15 heures

    Eléments de contenu

    1. Introduction………………………………………………..………….45 2. Définitions………………………..………………………………..….45 3. Caractéristiques des processeurs……….................................….47 4. Les principales unités du Microprocesseur..………………...48 5. Exécution d'une instruction………………………………............63 6. Modèles de microprocesseurs………..............................……….67

  • 44 Mondher HADIJI

    Chapitre 3 Microprocesseurs

  • Cours Architecture et maintenance des Ordinateurs

    ISET-SFAX 45

    1. Introduction

    Dans ce chapitre nous aborderons un des plus importants composants de l'ordinateur, il

    s'agit du microprocesseur, qui interagit avec d'autres éléments de l'unité centrale pour

    exécuter les programmes utilisateur.

    Quand on parle du microprocesseur d´un ordinateur, on pense au Pentium II,et III,.. d´Intel,

    au K6, ATHLON,… d´A.M.D, mais en réalité, il existe de nombreux microprocesseurs

    dans votre ordinateur. Ils gèrent votre carte son, votre carte graphique ou encore réseau.

    Ces microprocesseurs-là sont dits spécialisés ou gestionnaire de carte.

    2. Définitions

    Le microprocesseur (L’unité centrale de traitement (UCT) ou processeur central [

    Central Processing Unit = CPU] ) :

    C'est l’organe (le circuit) qui se charge de manipuler les données (i.e. calculer) mais c'est

    aussi le " chef d'orchestre " de la machine : Il pilote et distribue les tâches

    Il est capable de recevoir des informations de n’importe quel élément de l’ordinateur, de

    les traduire et de les renvoyer vers un autre.

    Il permet : d’exécuter les instructions, d’effectuer des calculs et de contrôler le

    fonctionnement de l’ordinateur.

    Il est composé principalement d´un seul élément de base, le transistor découvert en 1948.

    C´est en les assemblant par million, selon une organisation précise, que l´on peut créer des

    commandes qui exécuteront une addition, une comparaison entre deux données, etc.

    La mémoire centrale (Instructions , Données)

    Le microprocesseur

    La mémoire auxiliaire (Disque, CD, DVD…)

    Les Interfaces d’entrées

    Les Interfaces de sorties

    Bus

    Bus

    Bus

    Bus

    Figure 3.1. Microprocesseur et composants associés

    Entrées Sorties

  • 46 Mondher HADIJI

    Chapitre 3 Microprocesseurs

    Il est connecté à la carte mère par le biais d’un slot ou d’un socket.

    Mémoires :

    Les mémoires représentent tous dispositifs capable de sauvegarder une information

    Bus :

    Les différentes unités de l’ordinateur sont interconnectés par un système de câblage qui

    transporte les signaux électriques. Ce système est appelé bus par analogie avec le transport

    public.

    Instructions :

    Ecrites en langage machine, les instructions représentent les opérations effectuées par un

    ordinateur. Une instruction est composée de :

    Code de l’opération à effectuer

    Opérandes impliqués dans l’opération.

    On peut distinguer différents types d’instructions :

    - Instruction de manipulation de l’information ou de traitement : opération arithmétiques et

    logiques

    - Instruction de rupture de séquence : opération pour exécuter un branchement

    conditionnel, une répétition, saut de programme ou de traitement, appel de fonction

    - Instruction d’échange et d’E/S: dialogue entre le microprocesseur et l’unité périphérique

    sélectionner : par exemple imprimer

    - Instruction de contrôle système : réservées à un mode d’exécution privilégié

    ( pour l’utilisation du Système d’Exploitation)

    Données :

    Les données sont les opérandes sur lesquels portes les opérations (traitements), ou

    produits par celles-ci.

    Une addition, par exemple, peut s’appliquer à 2 opérandes, donnant un résultat qui est la

    somme des 2 opérandes.

    On distingue les données numériques, pouvant être l’objet d’une opération arithmétique,

    des données non numériques, par exemple, les symboles constituant un texte.

    a. Données non numériques

    Les données non numériques correspondent aux caractères alphanumériques: A, B, C, ...Z,

    a, b, c,...z, 0, 1, 2,...9... et aux caractères spéciaux : ?,!, »;...

  • Cours Architecture et maintenance des Ordinateurs

    ISET-SFAX 47

    b. Données numériques

    Les données numériques sont de différents types:

    - nombres entiers positifs ou nuls: 0, 1,315...

    - nombres entiers négatifs: -1.-1255...

    - nombres fractionnaires: 3.1415, -0.5...

    - nombres en notation scientifiques : 4.9x 107, 1023

    Etapes de création et d’exécution d’un programme :

    3. Caractéristiques des processeurs Les processeurs se distinguent essentiellement par les critères suivants:

    3.1. Architecture

    Son architecture change d’un microprocesseur à un autre

    Exemples :

    Présence ou non d'une mémoire cache ainsi que sa taille,

    Présence ou non d'une unité de calcul numérique en virgule flottante, etc.

    3.2. La taille du bus externe

    c’est la taille des données qu'ils manipulent

    Exemple :

    Un caractère est représenté sur 8bits donc avec un bus externe de 64 bits, 8 caractères

    peuvent être envoyés simultanément, alors qu'avec un bus de 16 bits il faudra quatre

    opérations pour effectuer le même transfert.

    3.3. La taille du bus d'adresses

    C’est l'espace mémoire adressable

    Algorithme & description des données

    Programme en langage évolué (Basic,Pascal..)

    Programme exécutable

    Résultats

    Le programmeur Le programme compilateur

    Le microprocesseur

    Traduction Compilation Exécution

  • 48 Mondher HADIJI

    Chapitre 3 Microprocesseurs

    Exemple : pour un bus d'adresses de 20 bits, on peut avoir (adresser) 220 de mémoire

    physique

    3.4. La fréquence interne et la fréquence externe

    La fréquence externe :

    Elle correspond à la fréquence de la carte mère.

    La fréquence interne :

    La vitesse à laquelle il peut communiquer avec ses composants. Elle correspond à la

    fréquence externe multipliée par un coefficient. Cette fréquence est obtenue en multipliant

    celle de la carte mère par un facteur compris entre 1.5 et k (k est une constante qui change

    d’une carte mère à une autre) avec des valeurs intermédiaire ayant un pas de 0.5.

    Quand on parle d'un microprocesseur de 1.6 Giga Hertz (GHz), on veut dire par là que le

    processeur exécute 1600 millions d'instructions par seconde et que sa fréquence interne

    égale à 1.6GHZ

    3.5. Présence de mémoire Cache

    La mémoire cache a pour rôle d'optimiser l'accès aux informations que le processeur a

    besoin.

    La présence et la taille d'une mémoire cache interne est l'un des critères de performance

    les plus importants d'un microprocesseur.

    4. Les principales unités du Microprocesseur

    Le microprocesseur est composé de plusieurs unités qui travaillent en parallèle : c’est le

    principe de pipeline.

    Toutes les unités ne sont pas présentes sur tous les modèles.

    Exemples :

    L'unité de calcul en virgule flottante (l'unité chargée des calculs arithmétiques

    complexes) n'est pas active sur les processeurs 486SX.

    L’unité de Multimédia n'a fait son apparition qu'avec le Pentium.

  • Cours Architecture et maintenance des Ordinateurs

    ISET-SFAX 49

    4.1. Notions d’Horloge et Pipeline

    4.1.1. Le rôle de l’horloge

    L’horloge est pilotée par des oscillateurs à quartz. Elle envoie des signaux (des impulsions

    électriques) pour enchaîner les commandes élémentaires au microprocesseur. L’intervalle

    de temps entre deux impulsions consécultifs représente le temps de cycle ou la période de

    l’horloge.

    Le microprocesseur est chargé d’exécuter les diverses instructions d’un programme le plus

    rapidement possible. Afin d’augmenter ces performances la solution consiste à augmenter

    la fréquence d’horloge du microprocesseur : c’est pour cela la fréquence de l’horloge a

    passé de 4.77Mhz pour les premiers microprocesseurs à plus que 3Ghz.

    4.1.2. Pipeline

    La technique pipeline (ou anticipation dans le processeur) repose sur le découpage de

    l’instruction en sous ensembles logiques élémentaires ou micro-opérations de longueur

    fixe, de type chargement, décodage, exécution, rangement. Par exemple avec Intel Pentuim,

    on distinque 5 phases :

    Dans un tel pipêline on peut traiter cinq instructions simultanément. Ainsi, pendant que

    l’on traite la phase de rangement, on peut exécuter en même temps la phase d’exécution de

    f1 f2 f3 f4

    1 cycle pour f1

    Oscillateurs à Quartz

    Horloge

    Fréquence destinée au processeur central

    Figure 3.2. L’horloge

    Chargement Décodage Adressage Exécution Rangement

    Chargement Décodage Adressage Exécution Rangement

    Chargement Décodage Adressage Exécution Rangement

    Chargement Décodage Adressage Exécution Rangement

    Chargement Décodage Adressage Exécution Rangement

    En cours d’exécution

  • 50 Mondher HADIJI

    Chapitre 3 Microprocesseurs

    l’instruction suivante, la phase de génération des adresses de la troisième instruction, la

    phase de décodage de la quatième instruction et la phase de chargment de la cinquième

    instruction…

    A chaque cycle d’horloge, le processeur fait ainsi avancer l’instruction en cours d’une

    action élémentaire et commence une nouvelle instruction

    Exemple : Pour comparer le fonctionnement d’une laverie en mode séquentiel et pipeline

    A, B, C et D ont chacun du linge à Nettoyer(30mn), Sécher(40mn), Repasser(20mn)

    La laverie est composée donc de 3unités : une unité pour nettoyer le linge, une deuxième

    unité pour sécher le linge et une troisième pour le repasser.

    Fonctionnement séquentiel :

    Linge A N S R Linge B N S R Linge C N S R Linge D N S R

    Durée : (30mn + 40mn + 20mn)*4 =360mn

    Fonctionnement parallèle :

    Durée : 30mn + 40mn + 40mn+40mn+40mn+20mn =210mn

    30 40 20

    30 40 20

    30 40 20

    30 40 20

    Linge A

    Linge B

    Linge C

    Linge D N S R

    N S R

    N S R

    N S R

    Les

    Tac

    hes

    30 40 20 30 40 20 30 40 20 30 40 20

    Les

    Tac

    hes

    Temps

    Temps

  • Cours Architecture et maintenance des Ordinateurs

    ISET-SFAX 51

    4.2. Unité de commande ou unité de contrôle

    Ensemble de dispositifs coordonnant le fonctionnement de l’ordinateur afin de lui faire

    exécuter la suite d’opérations spécifiées dans les instructions du programme.

    Séquenceur : c’est le composant essentiel de cette unité génère les signaux de commande

    nécessaire pour actionner et contrôler les unités participantes à l’exécution d’une

    instruction donnée.

    Registre : est une mémoire temporaire rapide se trouvant dans le processeur et il est

    composé de un ou plusieurs cases mémoire.

    Registre d’instruction : Contient l’instruction en cours d’exécution

    Compteur ordinal : Indique l’adresse de la prochaine instruction a exécuté

    Registre d’état : c’est un registre indicateur d’état du programme

    4.3. Unité de mémoire cache

    La mémoire cache a pour fonction de stocker les instructions ou données les plus

    souvent utilisées. La raison est qu´elle est plus rapide que la mémoire R.A.M. Grâce à cette

    mémoire, l’exécution des programmes est plus rapides.

    Registre d’état Séquenceur

    Horloge Registre

    d’instruction Compteur

    ordinal

    Mémoire

    Partie du processeur

    bus de données bus d’adresse

    décodage

    Figure3.3. Interaction entre l’unité de commande et la mémoire

  • 52 Mondher HADIJI

    Chapitre 3 Microprocesseurs

    Les performances du processeur sont étroitement liées à la mémoire cache de niveau1

    (Level1), puisqu'il y a une autre (de niveau2 et de niveau3) sur la carte mère.

    La taille de la mémoire cache de niveau 1 est de l'ordre des kilo octets ( de 32 ko à 256 ko

    en fonction du microprocesseur).

    4.4. Unités d’exécutions

    4.4.1. L´unité arithmétique et logique U.A.L

    C´est la plus importante unité : tous les programmes l´utilisent ,elle existe depuis que les

    ordinateurs existent. Mais elle ne s´occupe que des calculs simples et sur des nombres

    entiers.

    Généralement on trouve au moins deux (à partir du Pentium), ce qui permet de traiter

    jusqu’à deux instructions par cycle d’horloge. L’UAL contient tous les circuits

    électroniques qui réalisent effectivement les opérations désirées.

    C’est en effet, l’UAL qui exécute les additions, les soustractions et toutes les opérations

    simple sur ses entrées, et qui produit un résultat placé dans le registre de sortie.

    1er opérande

    A B

    UAL

    A+B

    Registre d ’entrée de l’UAL 2ème

    opérande

    Commandes

    Registre d’état

    Registre de sortie de l’UAL

    Registre Accumulateur

    Figure 3.4. L’unité arithmétique et logique

  • Cours Architecture et maintenance des Ordinateurs

    ISET-SFAX 53

    4.4.2. L´unité de calcul flottant (ou F.P.U Floating Point Unit)

    A l´origine, c´était un processeur indépendant (série des 8087, 80287, 80387). Elle a été

    intégrée au microprocesseur en 1989 pour optimiser les calculs.

    Cette unité est capable de calculer non seulement des entiers mais aussi des nombres à

    virgule (des réels).

    De plus, elle réalise des opérations sur les racines carrées, les sinus, etc.

    4.4.3. L´ unité multimédia

    Il n´y a pas de standardisation. Les microprocesseurs pour PC ont vu la première unité

    multimédia avec le MMX, puis le 3DNow d´A.M.D, le SSE sur les Pentium IV. Elles ont

    pour fonction d´optimiser les programmes multimédia (son, graphique 3D, audio, vidéo).

    4.5. Unités de Segmentation et de Pagination

    Elles traduisent les adresses logiques(telles qu'elles sont manipulées par les programmes)

    en adresses physiques(correspondants à des adresses réelles en mémoire).

    4.6. Unité d'interface de Bus

    Elle gère tous les échanges entre le microprocesseur et tous les autres composants reliés

    par l'intermédiaire de bus.

    4.7. Unité d'anticipation

    Elle s'occupe d'aller tout d’abord chercher en mémoire cache interne du processeur les

    instructions à exécuter. Si elles ne s'y trouvent pas, l'unité d'anticipation s'adresse à l'unité

    d'interface du bus afin qu'elles soient lus dans la mémoire centrale.

    Adresses logiques

    Unités de Segmentation

    et de Pagination

    Adresses physiques

    Figure 3.5. Rôle des unités de segmentation et de pagination

  • 54 Mondher HADIJI

    Chapitre 3 Microprocesseurs

    Lors de cette opération, le contenu de l’adresse cherchée en mémoire est lu également et

    placé dans la mémoire cache du processeur.

    De cette façon, les prochaines instructions recherchées seront disponibles plus

    rapidement(à condition que le contenu ne pas modifié d'ici là).

    4.8. Unité queue (File d ‘Attente)

    L'unité d'anticipation place l'instruction dans une queue et s'occupe d'aller chercher la

    suivante. Grâce à ce dispositif, les unités d'exécutions n'ont pratiquement jamais d'attendre

    que les instructions à exécuter leurs soient amenées(cela peut cependant se produire si une

    série d'instructions très rapides à exécuter se présente).

    A l'inverse, si les instructions demandent un temps d'exécution important, la queue se

    remplie. Dans ce cas l'unité d'anticipation cesse de travailler jusqu'à ce que de l'espace se

    libère pour de nouvelles instructions.

    4.9. Unité de décodage

    Elle traduit les instructions se trouvant dans la queue, en une forme compréhensible par

    l'unité d'exécution puis les passe à l'unité de contrôle.

    Exemple :

    Soit un microprocesseur dont le format d’une instruction à deux adresses est le suivant :

    Unité de

    mémoire

    cache

    Unité

    d’anticipation

    Unité

    d’interface

    bus

    Mémoire

    centrale

    Recherche dans la cache

    Réponse négative

    Aller chercher à partir de la MC

    Contenu des adresses(Bus de données)

    Partie du microprocesseur

    Figure 3.6. Rôle de l’unité d’anticipation

  • Cours Architecture et maintenance des Ordinateurs

    ISET-SFAX 55

    Code opération (8bits) , 1ére adresse mémoire (16bits) et 2ème adresse mémoire

    (16bits)

    Le code d’une instruction d’addition de deux nombres en mémoire rassemblera à celui-ci

    1 0 1 0 1 1 1 0 1 0 1 1 0 1 0 1 0 1 0 1 1 1 1 0 1 1 0 1 0 1 0 1 0 1 1 0 1 1 0 1

    4.10. Les Registres

    Un registre est un dispositif capable de mémoriser une information

    Le nombre et le type des registres que possède le CPU sont une partie déterminante de

    son architecture et ont une influence importante sur la programmation.

    La structure des registres du CPU varie considérablement d’un constructeur à l’autre.

    Nous allons décrire les registres les plus importants ainsi que leurs fonctions :

    4.10.1. Registre tampon d’adresse

    Il contient l’adresse mémoire de l’instruction qui est encours d’exécution. La taille du

    registre d’adresse dépend de la taille du bus d'adresses qui détermine par conséquent le

    nombre de cellules mémoire.

    Exemple :

    Avec 8 bits on peut adresser 28 (égale à 256) cellules mémoire.

    Adresse mémoire de la première valeur à additionner

    Adresse mémoire de la deuxième valeur à additionner

    Unité de décodage

    Addition des contenu De deux cases mémoire

  • 56 Mondher HADIJI

    Chapitre 3 Microprocesseurs

    4.10.2. Registre mot mémoire ou registre de données

    Le mot mémoire : est composé d’une ou plusieurs case mémoire. Toute opération de

    lecture ou d'écriture porte sur un mot mémoire.

    Le registre de données contient le contenu du mot mémoire. La taille du registre mot

    mémoire est égale à la taille du mot mémoire. La lecture et l'écriture dans la mémoire se

    fait de la façon suivante :

    Pour la lecture : on met dans le registre adresse l’adresse du mot mémoire.

    Le dispositif de sélection et d’accès permet de transférer le contenu du mot mémoire dans

    le registre mot mémoire.

    Pour l’écriture : le registre d’adresse contient l’adresse du mot dans lequel on va écrire

    le contenu du registre mot mémoire.

    L’opération de lecture ne détruit pas le contenu de l’emplacement, par contre l’écriture

    détruit l’emplacement de l’information précédente.

    4.10.3. Le Compteur ordinal C.O (pointeur de programme PC)

    Il contient l'adresse en mémoire de la prochaine instruction à exécuter. L'unité de

    commande incrémente le compteur ordinal (PC) du nombre d'octets sur lequel l'instruction,

    en cours d'exécution, est codée. Le compteur ordinal contiendra alors l'adresse de

    l'instruction suivante.

    Registre d’adresse

    Dispositif de sélection et d’accès

    à la mémoire

    mot 0

    mot 1

    mot 2

    Registre mot mémoire ou registre de données

    Adresse Sélection

    Ecriture Lecture

    Mémoire

    Figure 3.7. Rôle du registre mot mémoire

  • Cours Architecture et maintenance des Ordinateurs

    ISET-SFAX 57

    Exemple :

    Hypothèses : La mémoire est organisée en octet (cellule mémoire)

    Le bus d’adresses est de 20 bits

    Le bus de données est de 16bits (mot mémoire)

    Le compteur ordinal contient l’adresse (PC)=10000H ;

    Il pointe la mémoire a l’adresse 10000H qui contient l'instruction MOV C,B

    MOV C,B est codée sur deux octets (89 D9H) ;

    L'unité de commande incrémentera de deux le contenu du PC : (PC) = 10002H (la

    mémoire sera supposée être organisée en octets).

    Le RI contient l’instruction 89D9H

    4.10.4. Registre instruction (RI)

    Il contient l’instruction en cours d’exécution. Lorsque le CPU cherche une instruction il la

    place dans RI. Une instruction est composée par :

    Code opération : représente la nature de l’opération à effectuer par le microprocesseur.

    Zone adresse : contient les adresses en mémoire des opérandes (0, 1 et 2) qui

    participent dans une opération, dans certains cas elle contient l’opérande même. Il

    existe plusieurs modes d’adressages pour accéder aux données.

    PC RI

    MOV C,B

    Instruction suivante :

    (PC) + 2 = 10002H

    …. 10000H 10001H 10002H 10003H …

    89 MOV C,B D9

    Programme

    Microprocesseur Mémoire

    Bus d’adresses

    Bus de données

    10000H 89D9H

  • 58 Mondher HADIJI

    Chapitre 3 Microprocesseurs

    Format des instructions :

    On distingue six groupes d’instructions :

    Transferts de données : de mémoires à registre, de registre à registre, de registre à

    mémoires

    Opérations arithmétiques : addition, soustraction, multiplication et division

    Opérations logiques : ET, OU, NON, etc.

    Contrôle de séquence : branchements conditionnels, appel de procédure, etc.

    Entrées/sorties.

    Manipulation diverses : incrémentation, etc.

    Les modes d’adressage :

    Un champ adresse peut permettre de référencer un registre ou un mot en mémoire. Il peut

    contenir le numéro du registre ou