Telechargé par ADIB

Cours Architecture Des Ordinateurs

publicité
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
1. Comprendre les concepts de base de
l’informatique.
2. Se familiarisez avec la terminologie de
l’architecture des ordinateurs.
Objectifs du chapitre
: 3. Connaître les différentes générations des
ordinateurs.
4. S’initier avec les principes de base de
fonctionnement d’un ordinateur.
Informatique, Traitement, Information, Donnée,
Ordinateur,
Instruction,
Programme,
Matériel,
Logiciel, Système informatique, Calculateur, Tube à
vide, Transistor, Circuit intégré, Microprocesseur,
Mots clés du chapitre : 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
: §3
§4
: 1,5 heures
: 3 heures
: 1,5 heure
Page 3
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.
Année
1980
Taux de natalité  Sens
5%
 Données
Information
Figure 1 : Exemple de données et d’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
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
Architecture et maintenance des ordinateurs
ISET Mahdia
Écran
Scanner
Imprimante
Lecteur
CD/DVD
Disque dur
magnétique
Unité centrale
MC + UCT
Lecteur
disquette
Haut parleur
Modem
Clavier
Souris
Figure 7 : Configuration de base d’un PC
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.
UCT
MC
bus
Figure 8: Modèle de Von Neumann
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.
Unité centrale de
traitement
Unité de contrôle ou
unité de commande
Mémoire centrale
ou principale
Unité arithmétique et
logique
Unité
d’entrée/sortie
Ou unité d’I/O
Contrôleurs de
périphériques
Unités périphériques
Figure 9 : Principe de fonctionnement d’un ordinateur.
Page 11
Architecture et maintenance des ordinateurs
ISET Mahdia
Chapitre II :
Représentation de l’information
1. Connaître comment sont-ils représentés les
différents types de données dans un ordinateur.
Objectifs du chapitre
: 2. Appliquer l’arithmétique binaire pour résoudre des
opérations dans le système usuel.
Représentation interne, Représentation externe,
Mots clés du chapitre : 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
: §3
§ 1 et 2
Travaux dirigés
: 1,5 heures
: 4,5 heures
: 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
000000
0110000
11110000
1
000001
0110001
11110001
2
000010
0110010
11110010
…
...
...
...
9
001001
0111001
11111001
...
...
...
...
A
010001
1000001
11000001
B
010010
1000010
11000010
C
010011
1000011
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 :
N = a n p n + a n − 1 p n − 1 + ..... + a 1 p + a 0
avec
ai ∈
{0 ,1 ,.....,
p − 1 }et a n ≠ 0
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
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
binaire
octal
Hexadécimal
0
0
0
1
1
1
10
2
2
11
3
3
100
4
4
101
5
5
110
6
6
111
7
7
1000
10
8
1001
11
9
1010
12
A
1011
13
B
1100
14
C
1101
15
D
1110
16
E
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.
N p = ( a n a n −1 ...... a 1 a 0 ) p = a n p n + a n −1 p n −1 + ..... + a 1 p + a 0 = N 10
Exemple :
( AE ) 16 = 10 × 16 1 + 14 × 16 0 = (174 ) 10
( 0101 ) 2 = 2 2 + 2 0 = ( 5 ) 10
• 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
0
2
11
1
 (44)10 = (101100)2
2
5
1
2
2
0
2
1
2
1
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)2
2. (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
1001
+
0101
-----------1110
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
0111
7
5
------2
+
0101
-----------0010
Figure 4: Exemple de soustraction en base binaire.
• Multiplication :
Table de multiplication élémentaire :
0x0=0
0x1=0
1x0=0
1x1=1
Exemple :
Multiplication sur 6 bits :
3
x
6
------18
011
x
110
-----------000
011
011
------------10010
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
Etape 1
11’0
011
1
Etape 2
11’0
-11
00
011
1
Etape 3
000’ 011
10
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 <2N peuvent être représentés. Cela peut introduire des
problèmes au niveau des opérations arithmétiques. En effet, une addition peut donner
un résultat dépassant la valeur maximale possible.
Exemple :
Addition binaire sur 4 bits
1
1111
+
0101
-----------10000
Figure 7: Exemple de dépassement suite à une addition.
La valeur obtenue ne peut pas être représentée sur 4 bits, on parle de débordement ou
de dépassement de capacité (Overflow). Quand un débordement se produit, un
indicateur est mis à 1. Dans certains ordinateurs, les calculs continuent, dans d’autres,
le traitement s’arrête. Dans les deux cas, le problème est signalé.
4.2. Entiers négatifs
Les entiers négatifs peuvent être codés avec l’une des trois méthodes :
• Signe et valeur absolue ;
• Complément à 1 ;
• Complément à 2.
Signe et valeur absolue :
Les nombres sont codés de la façon suivante +/-valeur absolue ; on sacrifie un bit pour
représenter le signe. Normalement 0 est le signe positif, 1 est le signe négatif. Ainsi,
avec k bits, on peut coder des entiers positifs et négatifs tel que :
-(2k – 1 – 1) ≤ N ≤ 2k – 1 - 1.
Page 20
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
0111
+
1101
-----------0010
-8
11000
+
+
6
------- 2
00110
-----------10010
-3
+
-6
-------9
10011
+
10110
-----------11001
Figure 8 : Exemples d’additions en signe et valeur absolue.
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.
| -6 | = 6
-6 <0
Représentation en
base 2 sur 4 bits
Opération
complément à 1
Représentation
complément à 1 de -6
1001
0110
Représentation
complément à 1 de 7
=
Représentation en
base 2 sur 4 bits
=
0111
7≥0
Exemple 2:
+7
+
-6
------1
1
0111
+
1001
-----------0000
+
1
----------0001
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.
Page 22
Architecture et maintenance des ordinateurs
ISET Mahdia
Exemple 1:
Représentation de -7 et de 7 en complément à 2 sur 4 bits.
Représentation en
base 2 sur 4 bits
| -7 | = 7
-7 <0
0111
Opération
complément à 1
Représentation
complément à 1 de -7
1001
Représentation
complément à 1 de -7
1000
+1
Représentation
complément à 2 de 7
=
Représentation en
base 2 sur 4 bits
=
0111
7≥0
Exemple 2 :
+7
1
0111
+
+
-7
------1
1001
-----------0000
Figure 10 : Exemple d’addition en complément à deux.
4.3. Les nombres fractionnaires
Les nombres fractionnaires sont les nombres qui comportent une partie décimale
(après la virgule) non nulle. Dans la machine, tout nombre est codé avec un nombre
fini de chiffres ; il n’est pas possible de représenter tout les rationnels, et à fortiori tout
les réel.
a) Changement de base :
Passage d’une base p à la base décimale :
Pour la partie purement fractionnaire, le passage se fait par l’addition de puissances
négatives de p.
N p = ( a n a n −1 ...... a 1 a 0 , a −1 a − 2 .. a − m ) p =
a n p n + ... + a 1 p + a 0 + a −1 p −1 + ... + a − m p − m
Page 23
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 x 2 = 0.8 = 0
0.8 x 2 = 1.6 = 1
0.6 x 2 = 1 .2 =1
+ 0.4
+ 0.8
+ 0.6
+ 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 :
2
1
0
-1
-2
N = . . . n2B + n1B + n0B + n-1B + n-2B + ...
En binaire on aura donc :
2
1
0
-1
-2
N = . . . n22 + n12 + n02 + n-12 + n-22 + ... ,
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 :
m : mantisse
N = M * BE
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
Exposant biaisé :
1 bit : signe
de la mantisse 8 bits : simple précision
11 bits : double
M
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 :
3
1
Soit A = 1,11010112 ⋅ 2 et B = 1,100101102 ⋅ 2 . Puisque q < p, on effectue la correction B
3
= 0,01100101102 ⋅ 2 avant d'effectuer l'addition : A + B = (1,11010110002 +
3
0,01100101102) ⋅ 2 .
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 :
p
q
p+q
(a ⋅ 2 ) ⋅ (b ⋅ 2 ) = a b ⋅ 2
. 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
p
q
p-q
procède de la même façon pour la division puisque (a ⋅ 2 ) ÷ (b ⋅ 2 ) = (a ÷ b) ⋅ 2 .
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
3
Pour effectuer la conversion d'un nombre décimal tel que 3,65625
10 à la
représentation en virgule flottante IEEE, on trouve d'abord la représentation de la
1
mantisse 3,65625 en binaire, soit 1,1101012 2 . Ceci donne, en format de virgule
flottante IEEE : 406A0000IEEE. On multiplie ensuite cette valeur par la représentation
3
de 10 en virgule flottante IEEE, qui est 447A0000IEEE. Le produit donne finalement
3
45648400IEEE. On peut calculer la valeur de 10 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
8
précédente 43D80000IEEE, l'exposant est 8, et 2 = 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
-126
nombres dits “dénormalisés”, dont la valeur est donnée par 0,f 2 , mais avec une
précision réduite.
Exemple :
-126
00100000IEEE = 0,0012 . 2
-23
dénormalisé est donc : 00000001IEEE = 2
-39
= 1,4693679 . 10 . Le plus petit nombre
-126
.2
-45
= 1,4012985 . 10 .
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
Suite de caractères
numériques
Codage
Décodage
Représentation
numérique
Résultat
numérique
Traitement
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
Données
Non numériques
Codage par tables
BCD
(6 bits)
ASCII
(7 bits)
EBCDIC
(8 bits)
UNICODE
(16 bits)
Instructions
Numériques
Nombres entiers positifs
(Conversion directe
décimal → binaire)
Signe +
valeur
absolue
Nombres entiers
négatifs
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
Etablissement : ISET-Mahdia
Matière : Architecture des ordinateurs
ISET Mahdia
Département : Informatique
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
0
1
10
100
101
1101101
11111
Base 8 Base 10
0
1
10
100
101
516
7777
Base 16
0
1
10
100
101
3AD
FFFF
Ex.4
Convertir en base 10 sous forme décimale les nombres suivants :
Base 10 Base 2 Base 10
0,1
0,01
0,001
0,101
Base 8 Base 10
0,1
0,01
0,001
0,101
Base 16
0,1
0,01
0,001
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
10111
Base 8
Base 16
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 75432 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.
1 1 0 0 0 0
N1 :
A1 : +
1 0 1 1 1 1
N2 :
0 1 1 1 1 1
N3 :
1 1 0 0 0 0
M1 :
A2 : +
0 1 1 0 0 0
M2 :
0 0 1 0 0 1
M3 :
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
0
48
1
49
2
50
3
51
4
52
5
53
6
54
7
55
8
56
9
57
1.
Base 2
00110000
00110001
00110010
00110011
00110100
00110101
00110110
00110111
00111000
00111001
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
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.
Objectifs du chapitre
:
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.
Mémoire centrale, Mot mémoire, Accès, Lecture,
Mots clés du chapitre : Ecriture, Bloc mémoire, Module (Carte) mémoire.
CHAPITRE VI :
LA MEMOIRE CENTRALE
Eléments de contenu :
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 o t n° : 0
M o t n° :1
M o t n° : 2
...
...
...
M o t n° : m -1
M o t n° : m
D ispo sitif de
sélectio n
et d'adressage
CS
R /W
k
n
R@
RM
M émo ire
centrale
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 cidessous 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.
I3
I2
I1
I0
D
Q
CK
D
D
Q
CK
Q
CK
D
D
Q
CK
Q
CK
D
D
Q
CK
Q
CK
D
Q
CK
A1
A0
Registre
d'adresses
D
Q
CK
D
CK
D
Q
CK
Q
D
CK
D
Q
CK
Q
D
CK
D
Q
CK
Q
D
Q
CK
CS
R/W
O3
O2
O1
O0
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é.
Ligne E/S
Oi
Ii
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
1Φ
1k
1M
1G
1T
Préfixe
Octet
Kilo
Méga
Giga
Tera
Capacité
2 3 = 8 bits
2 10 = 1024
2 20 = 1048576
2 30 = 1073741824
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
D=
TMM
CM
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
(60000)16
DRAM
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.
Page 47
Architecture et maintenance des ordinateurs
ISET Mahdia
Chapitre V :
Unité centrale de traitement
1. Expliquer les phases d’exécution d’une instruction.
2. S’initier avec la programmation en langage
assembleur simple.
Objectifs du chapitre
:
3. Apprendre à effectuer la trace d’un programme en
langage assembleur.
Registre de la CPU, Jeu d’instructions, Cycle
instruction, Cycle machine, Cycle de recherche, Cycle
Compteur
ordinal,
Mots clés du chapitre : d’exécution, Séquenceur,
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
§ 5 et 6
: §7
TD ………
: 1,5 heures
: 1,5 heures
: 3 heures
: 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.
Registres
d’entrée de
Micro
commande
s
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
Cycle machine
Impulsions
d’horloge
1
2
Cycle de
recherche
3
4
5
Cycle
d’exécutio
n
6
7
8
Cycle de
recherche
Cycle instruction
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
2
RA
Mémoire
RM
3
1
CO
RI
4
Décodeur
5
4
Séquenceur
Horloge
Figure 3 : Cycle de recherche d’une instruction
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.
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.
RA
2
Mémoire
RM
1
Accumulateur
3
Séquenceur
UAL
Figure 4 : cycle d’exécution d’une instruction
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écifiée.
3) L’opération est effectuée sous le contrôle du séquenceur.
Un cycle d'instruction peut se décomposer en un cycle de recherche (instruction et
opérandes) et un cycle d'exécution.
Page 55
Architecture et maintenance des ordinateurs
ISET Mahdia
7. Exemple de jeu d’instructions à une adresse
L’exécution d’un programme consiste à donner à la machine une séquence
d’instructions directement interprétables par elle. Obligatoirement les premiers
programmes étaient écrits en binaire. C’était une tâche difficile est exposée aux erreurs
car il fallait aligner des séquences de bits, dont la signification n’est toujours évidente.
Par la suite, pour faciliter le travail, les programmes ont été écrits en donnant
directement les noms (abrégés) des opérations. On les a appelés les codes
mnémoniques, car on pouvait facilement les mémoriser (par exemple ADD, DIV,
SUB, MOV, etc.). Les adresses des instructions et des variables pouvaient aussi être
données sous forme symbolique. Pour pouvoir utiliser ce genre de langage dit
d’assemblage, il fallait trouver le moyen de les convertir en langage machine. Le
programme qui assure la traduction d’un programme en langage d’assemblage (ou
assembleur), en un programme en langage machine, s’appelle assembleur.
Par la suite nous allons, considérer le jeu d’instruction suivant présenté en assembleur
et en langage machine :
Code Instruction
Langage
Langage
assembleur
assembleur
LOAD id_var
0E
ADD id_var
1E
SUB id_var
2E
MUL id_var
3E
NOT id_var
4E
STORE id_var
5E
JMP Etiquette
3F
CMP id_var
FE
JZ Etiquette
EF
JG Etiquette
EE
JB Etiquette
FF
Signification
Charge la valeur de la variable id_var dans le registre
accumulateur
Additionne le contenu de l’accumulateur à la valeur de
la variable id_var
Réalise l’opération (contenu accumulateur –
valeur(id_var))
Réalise l’opération (contenu accumulateur *
valeur(id_var))
Effectue le complément logique de valeur(id_var)
Stocke le contenu de l’accumulateur dans la variable
id_var
Effectue un saut inconditionnel à l’emplacement de
l’étiquette
Compare le contenu de l’accumulateur à la variable
id_var et met à un l’un des indicateurs du registre
d’état :
• Z est mis à un si la comparaison mène à
l’égalité.
• G est mis à un, si le contenu de l’accumulateur
est strictement supérieur au contenu de la
variable.
• B est mis à un, si le contenu de l’accumulateur
est strictement inférieur au contenu de la
variable.
Effectue un saut à l’emplacement de l’étiquette, si le bit
Z du registre d’état est égal à 1
Effectue un saut à l’emplacement de l’étiquette, si le bit
G (Greater than) du registre d’état est égal à 1
Effectue un saut à l’emplacement de l’étiquette, si le bit
B (Below) du registre d’état est égal à 1
Page 56
Architecture et maintenance des ordinateurs
ISET Mahdia
Application 1 :
Ecrire en langage assembleur, un programme qui permet de permuter cycliquement le
contenu de trois variables A, B, C en utilisant une variable intermédiaire D.
Exemple :
A
5
12
B
10
5
C
12
10
Avant exécution
Après exécution
Application 2 :
Soit le programme en langage assembleur suivant, utilisant trois variables A, B et C :
1. LOAD
A
2. STORE C
3. LOAD
B
4. STORE A
5. LOAD
C
6. STORE B
Sachant que :
• Chaque variable est de taille deux octets.
• La taille d’un mot mémoire est de 2 octets.
• La taille d’une instruction est de 2 octets (code opération sur 1 octet et adresse
opérande sur 1 octets).
• Les données sont rangées dans la mémoire centrale à partir de l’adresse (1F)16 .
• Les instructions sont rangées à partir de l’adresse (F2)16.
1. Compléter le schéma suivant qui reflète le contenu de la mémoire centrale avant
l’exécution de ce programme:
Adresses
(1F)16
…….
…….
(F2)16
…….
…….
…….
…….
…….
Mémoire centrale
Commentaire
(0010)16
Variable A
(0022)16
Variable B
...
Variable C
...
Instruction 1
...
Instruction 2
...
Instruction 3
...
Instruction 4
...
Instruction 5
...
Instruction 6
2. on se propose de réaliser la trace du programme :
Page 57
Architecture et maintenance des ordinateurs
ISET Mahdia
a- Expliquer pourquoi juste après le chargement de ce programme et avant son
exécution, le compteur ordinal doit être initialisé par la valeur (F2)16
b- Compléter le tableau suivant :
Après chargement du
programme
Après l’instruction 1
Après l’instruction 2
Après l’instruction 3
Après l’instruction 4
Après l’instruction 5
Après l’instruction 6
c- Que fait ce programme ?
Registres du CPU
CO
ACC
(F2)16
Mémoire centrale
A
B
C
(0010)16 (0022)16
Page 58
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 5 : Unité centrale de traitement
Exercice 1 :
Ecrire un programme en assembleur, qui permet de calculer le produit de deux
variables A et B et de ranger le résultat dans une variable C.
Exercice 2 :
Ecrire en langage assembleur, les instructions qui permettent de réaliser le même
traitement que le l’algorithme suivant :
Tantque I ≥ 1
Faire
II–1
Fintantque
Exercice 3 :
Ecrire en assembleur, un programme qui permet de calculer n ! avec n > 0.
Exercice 4 :
Soit le cas d’une machine avec un jeu d’instructions à une seule adresse donné en annexe.
Soit le programme en langage assembleur suivant, utilisant trois variables A, B et RES :
LOAD
1.
CMP
2.
JB
3.
JMP
4.
5. Etq1: LOAD
6. Etq2: STORE
A
B
Etq1
Etq2
B
RES
Sachant que :
- Chaque variable est de taille trois octets.
- La taille d’un mot mémoire est de 3 octets.
- La taille d’une instruction est de 3 octets (code opération sur 1 octet et adresse
opérande sur 2 octets).
- Les données sont rangées dans la mémoire centrale à partir de l’adresse (11FE)16 .
- Les instructions sont rangées à partir de l’adresse (F21C)16.
Q1 :
Elaborer un schéma qui reflète le contenu de la mémoire centrale avant l’exécution
de ce programme.
Q2:
on se propose de réaliser la trace du programme :
a- Expliquer pourquoi juste après le chargement de ce programme et avant son
exécution, le compteur ordinal doit être initialisé par la valeur (F21C)16
b- Faire la trace du programme en se concentrant sur les registres et les variables les
plus importants.
c- Quel serait le contenu de la variable RES si la valeur de A était (000022)16 et la valeur
de B était (000015)16 ?
d- Que fait ce programme ?
Page 59
Architecture et maintenance des ordinateurs
ISET Mahdia
Chapitre VI :
Les entrées/sorties
1. Se familiariser avec les bus.
2. Comprendre l’intérêt des contrôleurs de bus.
Objectifs du chapitre
: 3. Connaître les modes d’échange, ainsi que l’intérêt
des DMA et des Canaux d’E/S.
Bus, Maître, Esclave, Arbitrage, Contrôleur de
Mots clés du chapitre : périphérique, Interruption, Scrutation, DMA, Canal
d’E/S.
LES ENTREES/SORTIES
Eléments de contenu :
1. INTRODUCTION
2. LES BUS ET LEUR FONCTIONNEMENT
2.1. Classification des signaux qui circulent sur les bus
2.2. Types de bus et nécessité de standardisation
2.3. Les caractéristiques d’un bus
2.4. Arbitrage
3. LES CONTROLEURS D’E /S
3.1. Rôle
3.2. Constituants des unités d’échange
3.3. L’dressage des unités d’échange
4. ARCHITECTURE ET PROCEDURES D’ECHANGE
4.1. Mode d’échange
4.2. Accès directe à la mémoire (DMA)
4.3. Canaux d’E/S
Volume horaire total
: 6 heures
Timing approximatif
§ 1 et 2
: 1,5 heures
§3
: 1,5 heure
: §4
: 1,5 heures
Correction TD : 1,5 heure
1. Introduction
Parmi, les tâches confiées à l’ordinateur, on trouve l’acquisition de l’information (à
partir de ses périphériques), son stockage et sa restitution après traitement (vers aussi
des périphériques).
Il est donc indispensable d'être capable de fournir l'information à traiter à un ordinateur
et de récupérer les résultats. Le système informatique doit pouvoir communiquer avec
l'extérieur. Ces opérations d'échange constituent les Entrées/Sorties (E/S ou I/O :
Input/Output).
SM &MEE
Page 60
Architecture et maintenance des ordinateurs
ISET Mahdia
A l'origine, l'opérateur entrait les informations à l'aide de clefs ou interrupteurs. On a
ensuite utilisé les rubans et les cartes perforés dont l'invention est largement antérieure
à celle de l'informatique. Un ruban perforé, en papier résistant, pouvait contenir des
trous sur 5 ou 7 pistes parallèles. D'emploi facile, les rubans étaient cependant fragiles
et difficiles à modifier. C'est pourquoi les rubans ont progressivement été remplacés
par les cartes perforées. De nos jours, on passe vers l’utilisation de périphériques qui
assurent la manipulation de données sous forme multimédia (image, son séquence
vidéo, etc…).
Jusque là on a vu que les entrées et les sorties mette en jeu d’une part l’unité centrale
de l’ordinateur, et d’autre part les périphériques. Leurs liaisons se fait par
l’intermédiaire du bus et du contrôleur de périphérique. Le bus est un support
d’acheminement d’informations entre l’unité centrale et les autres unités de
l’ordinateur. Les contrôleurs de périphériques ne sont autres que les unités qui
permettent l’adaptation entre les périphériques et l’unité centrale.
Dans ce chapitre on va voir, de manière détaillée, ces unités d’échanges et comment
elles fonctionnent.
2. Les bus et leur fonctionnement
2.1. Classification des signaux qui circulent sur les bus
Pour obtenir une instruction qu'il va exécuter, le processeur commence par
placer l'adresse de cette dernière sur le bus. Il active ensuite un signal pour spécifier à
la MC une opération de lecture. En réponse, la mémoire place le mot demandé
(instruction) sur les lignes de données, et par exemple prévient le processeur en
activant un signal spécifique de validation de lecture. A la réception du signal de
validation de lecture, le processeur ramène l'instruction dans le registre instruction.
D'où la classification des signaux qui s'échangent entre le processeur et l'extérieur en
trois catégories :
• Les signaux d'adresses : qui identifient d'une façon unique le mot mémoire ou un
périphérique et qui sont acheminés depuis le processeur vers l'extérieur sur les
lignes d'adresses du bus;
• Les signaux de données : ce sont les informations utiles à s'échanger. Ils circulent
sur les lignes de données du bus;
• Les signaux de commandes : qui permettent d'assurer la synchronisation et la
régulation des échanges entre le processeur et l'extérieur via les lignes de
commandes du bus.
2.2. Types de bus et nécessité de standardisation
Selon leur localisation on distingue trois types de bus :
• Bus internes : qui sont utilisés pour interconnecter les composantes internes du
processeur;
• Bus locaux : qui sont dédié à une fonction ou à un ensemble de circuits spécifique,
comme le racordement d’un processeur à un coprocesseur;
SM &MEE
Page 61
Architecture et maintenance des ordinateurs
ISET Mahdia
• Bus externes : ces bus sont mis à la disposition de tous les dispositifs d'E/S et aux
cartes mémoires. De tels bus sont munis de connecteurs permettant l'adjonction de
nouvelles interfaces d'E/S et circuits mémoires supplémentaires.
UC
Registres
Bus
intenes
Bus
Local
Coprocesseur
Bus
intene
Bus
Externe
Unités d'E/S
MC
Figure 1 : Exemple de divers bus d'un ordinateur
Les architectes des processeurs définissent les bus selon leurs propres besoins; sans
contraintes à priori pour les bus internes. Toutefois, pour les bus externes ils doivent
penser à l'intégration de leurs processeurs dans des systèmes existants. De ce fait, ils
sont obligés de se plier à des règles précises qui définissent:
• La procédure de fonctionnement : tel que le cadencement des échanges;
• Les caractéristiques électriques des signaux;
• Les caractéristiques mécaniques des connecteurs;
SM &MEE
Page 62
Architecture et maintenance des ordinateurs
ISET Mahdia
2.3. Les caractéristiques d’un bus
Un bus peut être caractérisé par plusieurs paramètres permettant de définir des normes
de bus. Ces normes servent à contrôler et à standardiser la fabrication des bus, mais
aussi des autres équipements pour les ordinateurs. Ainsi, un utilisateur peut rassembler
sur sa machine des équipements provenant de différents fabricants sans risque de
conflit ni d’altération dans les performances de sa machine.
Le nombre de lignes d’adresses
Le nombre de lignes que comporte un bus désigne sa largeur. La largeur d’un bus est
un paramètre très important dans l’architecture d’un ordinateur, surtout celle du bus
d’adresses. Plus la largeur du bus d’adresses est grande, plus la capacité d’adressage
du processeur est importante. Ainsi, avec n lignes d’adresses, le processeur peut
adresser 2n mots mémoire différents.
Le nombre de lignes de données
Le bus d’un ordinateur peut avoir une seule ligne pour transférer les données, comme
il peut en avoir plusieurs.
Quand un bus ne comporte qu’une seule ligne pour transmettre les données, ces
dernières (les données) sont transmises bit par bit, l’un après l’autre et on parle de
transmission en série.
Dans le cas d’un bus avec plusieurs lignes de données, celles-ci sont transmises par
caractère et les bits d’un ou de plusieurs caractères sont transmises en même temps sur
plusieurs lignes. On parle, alors de liaison parallèle. Ainsi, un bus avec 16 lignes de
données peut véhiculer 16 bits en même temps.
Le Débit
C’est le nombre de bits ou de mots maximums que le bus est capable de transférer par
seconde.
Le sens de transfert des données
Un bus relie deux extrémités : un organe émetteur et un organe récepteur. Le transfert
de données entre ces deux extrémités peut s’effectuer dans un seul sens ou dans les
deux sens. Selon le cas, le bus est dit unidirectionnel ou bidirectionnel.
Modes de transmission de données
L’échange d’information entre un organe A et un organe B peut se faire à n’importe
quel instant. L’organe émetteur initialise l’échange et pour que l’organe récepteur
puisse comprendre et interpréter le message envoyé, il doit être informé de l’instant du
début et de la fin de la transmission. Cette transmission peut se faire de deux
manières :
• transmission synchrone (on parle de bus synchrone) : ils disposent d’une ligne
spécifique d’horloge piloté par un oscillateur à quartz. Toute opération sur ce
bus est effectuée en un nombre entier de périodes d’horloge. La période de
l’horloge du correspond généralement au cycle dus bus.
• Transmission asynchrone (on parle de bus asynchrone) : Le déclenchement des
diverses actions sur le bus se réalise par l'intermédiaire d'un signal particulier
SM &MEE
Page 63
Architecture et maintenance des ordinateurs
ISET Mahdia
MSYN (synchronisation maître). Lorsque le circuit esclave est sollicité, il
perçoit l'activation de MSYN; il effectue alors l'opération demandée à sa vitesse
propre. Ensuite l'esclave active à son tour un signale SSYN (synchronisation
esclave). Quand le maître voit l'activation de SSYN, il comprend que la donnée
sollicitée se trouve sur le bus de données. Il la charge dans un registre interne,
puis il place à l'état de repos les signaux CS, R/W et MSYN. Lorsque l'esclave
voit MSYN passé au repos, il sait que le cycle est terminé et il place SSYN au
repos également.
Cycle de lecture
T1
T2
T3
Horloge
Adresse
Adresse du mot mémoire à lire
mot à lire
Donnée
CS
R/W
Figure 2 : Chronogrammes d'une opération de lecture sur un bus synchrone
Cycle de lecture
Adresse
Adresse du mot mémoire à lire
M REQ
R/W
M SYN
Donnée
M ot à lire
SSYN
Figure 3 : chronogrammes d’une opération de lecture mémoire sur un bus asynchrone
SM &MEE
Page 64
Architecture et maintenance des ordinateurs
ISET Mahdia
Forme de connecteur
Un bus permet aux composantes internes de l’ordinateur (mémoire, processeur) de
communiquer entre eux. Il permet également à ces composantes internes de
communiquer avec les équipements périphériques. A cet effet, le bus comporte un
certain nombre de connecteurs sur lesquels seront raccordées les cartes d’interface
indispensables à cette communication.
Chaque bus possède son propre connecteur. Ainsi, on peut reconnaître un bus grâce à
son connecteur.
Sur le schéma ci-dessous, on distingue deux types de connecteurs :
• Un connecteur de couleur noire propre au bus 1.
• Deux connecteurs de couleur blanche propres au bus 2.
Ces deux types de connecteurs diffèrent sur plusieurs points (couleur, nombre de
broches,…). En conséquence, les cartes d’interface pouvant s’y raccorder, sont aussi
différentes. Sur un coté de la carte d’interface, il y a des contacts en cuivre doré
permettant d’assurer des contacts mécaniques et électriques avec ceux du connecteur.
Connecteur
du bus
Carte mère
bus
Contact
Carte
d'extension 2
Composante
UC et autres
composantes
Connecteur 1
Connecteur 2
Carte
d'extension 1
Figure 4 : Exemple de connecteurs de bus.
SM &MEE
Page 65
Architecture et maintenance des ordinateurs
ISET Mahdia
2.4. Arbitrage
Parmi les unités (ou) circuits, connectées au bus, certains sont actives donc de type
maître et peuvent prendre l'initiative de communiquer sur le bus. D’autre sont passifs
donc de type esclave.
Maître
Esclave
Unité centrale Mémoire
Exemple de dialogue
Acquisition des instructions et des données
Unité centrale Circuit d'E/S Réalisation d'un transfert
Unité centrale Coprocesseur Sous-traitance d'instructions en virgule flottante
Circuit d'E/S
Mémoire
Coprocesseur Mémoire
Accès direct à la mémoire (DMA)
Acquisition d'opérandes
Une architecture à un seul maître ne pose aucun problème, alors qu'une architecture à
plusieurs maîtres nécessite une gestion d'accès au bus pour résoudre le problème de
demande de communications simultanées. Cette gestion de bus s'appelle arbitrage. Elle
est gérée par un circuit spécial appelé contrôleur de bus.
3. Les contrôleurs d’E /S
3.1. Rôle
Chaque unité périphérique doit être reliée à une unité d’échange (contrôleur). Son rôle
est d’adapter la diversité des périphériques (débit, temps de réponse, format des
données, signaux de commande) aux caractéristiques du bus. Ce contrôleur est donc
une boite à double faces, l’une spécifique aux caractéristiques du périphérique et
l’autre adaptée aux spécifications du bus utilisé.
Les fonctions assurées par une interface peuvent se décomposer comme suit :
• Adaptation matérielle : ceci consiste en l’adaptation des caractéristiques
électriques et logiques des signaux (niveau de tension, puissance électrique,
etc.) émis et reçu par les unités périphériques à celles véhiculés sur le bus. Par
exemple, dans un système de régulation de température d’un four, on a besoin
d’acquérir la température et de la transformer en signaux électriques
compatibles avec ceux utilisés par un ordinateur, à savoir entre 0 et 5 volts. On
peut considérer aussi l’exemple des modems assurant la transformation des
signaux analogiques transmis sur les lignes téléphonique en informations
numériques, véhiculés sur le bus d’un ordinateur pour subir un traitement.
• Adaptation fonctionnelle : ceci consiste en un ensemble de règles prédéfinies
assurant la reconnaissance et le traitement des informations émis ou reçus par
des périphériques. Cette adaptation concerne le type de données (mot, bloc,
etc.), la vitesse de transfert, la synchronisation des informations, le respect des
règles d’échange. Telles que la procédure de vérification des informations
transmises, qui nécessite l’ajout de bits de contrôle (généralement à base de
parité) aux messages transmis.
SM &MEE
Page 66
Architecture et maintenance des ordinateurs
ISET Mahdia
3.2. Constituants des unités d’échange
L’unité d’échange offre plusieurs services répondant chacun à une commande. Elle
dispose pour ce faire d’un ensemble de registres, d’une unité de contrôle et de deux
interfaces.
Les registres
• Un ou plusieurs registres de données dans lesquels l’unité centrale écrit ou
lit les données échangées ;
• Un registre de commandes dans lequel l’unité centrale décrit le travail à
effectuer : initialisation de l’unité d’échange, choix et lancement d’une
tâche, etc.
• Des registres de paramètres servant à fournir les paramètres descriptifs de la
tâche : numéro de piste et de secteur sur un disque, vitesse de transmission,
adresses de transfert en mémoire, nombre de bits stop, etc.
• Un registre d’états où on indique l’état de l’unité d’échange (échange
terminé correctement, type d’erreur, prêt à émettre ou à recevoir,…).
Chacun des bits de ce registre possède une signification bien précise telle
que transmetteur prêt, récepteur prêt, erreur de parité, etc.
Unité de contrôle
Elle permet le décodage des ordres et commandes envoyés par l’unité centrale et les
traduit en opérations élémentaires. Lesquelles sont transmises au périphérique pour
exécution.
Deux interfaces
La première sert pour dialoguer avec l’unité centrale et la deuxième avec les
périphériques.
La première prévoit quatre types de lignes :
• Les lignes de sélection permettant de sélectionner le contrôleur qui va effectuer
l’opération d’E/S. il est unidirectionnel (UC  Contrôleur).
• Les lignes de données pour véhiculer les données concernées par l’échange
entre l’unité centrale et le périphérique.
• Les lignes de commandes pour indiquer au contrôleur l’opération à effectuer
(lecture/écriture).
• Les lignes d’état, pour informer l’unité centrale sur l’état du contrôleur et du
périphérique.
La deuxième possède aussi quatre types de lignes :
• Les lignes de sélection permettant de sélectionner le périphérique, quant le
contrôleur est relié à plusieurs périphériques. Il est unidirectionnel (Contrôleur
 périph.).
• Les lignes de données pour véhiculer les données : le nombre de lignes et le
sens de transfert dépend du type de périphérique. Ainsi pour un disque on
trouve deux lignes : une pour la lecture et une pour l’écriture (transmission
série), mais pour une imprimante, il faut 8 lignes en écriture.
• Les lignes de commandes pour indiquer au périphérique l’opération à effectuer.
SM &MEE
Page 67
Architecture et maintenance des ordinateurs
ISET Mahdia
• Les lignes d’état, pour informer le contrôleur sur l’état du périphérique.(dans le
cas d’une unité de disque : unité prête, secteur défectueux, etc.)
Unité centrale
Processueur
Mémoire
Données
Sélection
Etat
Commandes
Interface avec
l'unité centrale
Unité contrôle
+
registres
Contrôleur
Interface avec
périphériques
Périphérique
Figure 5 : Composants d’un contrôleur de périphériques.
3.3. L’dressage des unités d’échange
Comme les cases mémoire, les registres des unités d’échange sont identifiés par leurs
adresses. On peut considérer que ces registres sont des éléments de l’ensemble des
adresses mémoire (espace d’adressage unique) ou bien qu’elles constituent un
ensemble distinct (espace d’adressage séparé).
Espace d’adressage unique
Les registres de l’unité d’échange sont gérés comme des cellules mémoire. Le
processeur envoi des commandes, des paramètres ou des données à l’unité d’échange
en écrivant dans ses registres à l’aide d’instructions d’écritures mémoire. De la même
façon, la lecture de données ou du registre d’état se fait par des opérations de lecture
en mémoire.
Pour éviter tout problème de conflit d’accès, il faut évidemment qu’il n’y est pas de
mémoire installée aux adresses prévues pour les registres des unités d’échange.
Espace d’adressage séparé
Dans ce cas, l’espace d’adressage pour les E/S est, comme son nom l’indique, séparé
de l’espace mémoire. En fait, les contrôleurs d’E/S et la mémoire partage le bus
d’adresses et celui de données. Par contre il existe des lignes de commandes distinctes
sur le bus de contrôle. On dote la machine d’instructions spéciale d’entrées/sorties
permettant d’agir sur ces lignes de commandes.
4. Architecture et procédures d’échange
Comme architecture d’échange, on peut trouver :
SM &MEE
Page 68
Architecture et maintenance des ordinateurs
ISET Mahdia
• L’architecture à bus unique : où le microprocesseur, la mémoire centrale et
les contrôleurs de périphériques sont tous reliés par le même bus ce qui ne
permettra à plus d’un couple d’unités d’échanger des données. De telles
architectures arrivent très rapidement à saturation.
• L’architecture à deux bus : dans laquelle un premier bus est réservé pour
l’échange entre le processeur, la mémoire et les périphériques rapides. Le
deuxième sert comme moyen de communication entre le processeur et les
périphériques lents.
Processueur
Mémoire
Bus
CP1
...
P1
CPn
Pn
Figure 6 : Architecture à un seul bus.
Interface disque
M icroprocesseur
Bus 1ocal
M émoire
Contrôleur
de bus
Interface vidéo
Bus externe
CP1
P1
...
CPn
Pn
Figure 7 : Architecture à deux bus.
4.1. Mode d’échange
Pour effectuer une opération d’E/S, il faut exécuter une instruction d’E/S dans le CPU.
C’est donc le CPU qui prend l’initiative de toute opération d’E/S. il décide de l’instant
et la nature de l’échange. Le mode de transfert le plus simple est le transfert sans
condition au périphérique. Il s’agit par exemple, de l’allumage systématique d’une
lampe de signalisation ou l’ouverture et la fermeture d’un interrupteur. Dans ce cas, le
CPU n’a pas à consulter l’état du périphérique (en accédant aux registres d’état du
contrôleur).
Il existe deux types ou modes d’échange :
SM &MEE
Page 69
Architecture et maintenance des ordinateurs
ISET Mahdia
• Echange par attente active : le CPU teste périodiquement l’état du
périphérique. Ce mode est appelé échange par interrogation, aussi désigné par
le terme polling ou scrutation. Dans ce cas le problème majeur est l’énorme
différence entre la vitesse du CPU et celle du périphérique. En effet la CPU
reste bloquée durant toute la durée de l ‘échange, il doit par conséquent
travailler au rythme du périphérique.
• Echange par interruption : la méthode consiste dans l’introduction d’un
signal dit d’interruption envoyé au CPU par le périphérique concerné à l’instant
ou il est prêt à effectuer un échange élémentaire, par exemple transférer un
octet. Ce signal provoque la suspension du programme en coures d’exécution.
Le CPU s’occupe alors de l’échange en exécutant un programme spécial appelé
gestionnaire de l’interruption. Après avoir effectué le transfert, la CPU reprend
l’exécution du programme suspendu.
L e c tu re d u
re g is tre
d 'é ta t
Faux
P é r ip h é r iq u e p r ê t
V ra i
L e c tu re o u
é c ritu re d e
données
Figure 8 : Mode d’échange par scrutation
P gm 1
P gm d'in terruption
Interruption
Fin pgm d 'interruptio n
Fin pgm 1
Figure 9 : Mode d’échange par interruption.
SM &MEE
Page 70
Architecture et maintenance des ordinateurs
ISET Mahdia
4.2. Accès directe à la mémoire (DMA)
Il consiste à donner à une unité d’échange la possibilité de lire ou d’écrire directement
dans la mémoire sans passer par l’unité centrale. Utilisé surtout dans les ordinateurs de
petite et de moyenne taille, cette méthode permet :
• De gagner minimiser le temps de transfert entre l’unité d’échange et la
mémoire.
• De soulager l’unité centrale du travail de transfert.
Ce mode d’échange est adapté aux périphériques qui ont des débits élevés, comme le
disque ou l’écran. Le dispositif de contrôle d’accès direct à la mémoire s’intercale
entre l’unité centrale et le contrôleur de l’unité périphérique comme le montre la figure
ci-dessous.
Processueur
Mémoire
Bus
CP1
P1
...
CPn
DMA
Pn
CP
P
Figure 10 : Exemple d’accès par DMA.
Le contrôleur DMA dispose d’un compteur de mots, d’un registre d’adresse qui peut
être décrémenté à chaque transfert et de registres de contrôle d’échange qui sont
initialisés à partir du processeur lors du lancement de l’échange.
Un problème est soulevé pour ce mode de transfert : il peut y avoir un conflit d’accès
aux bus. En effet, lorsque le contrôleur DMA doit accéder à la mémoire, l’unité
centrale doit obligatoirement s’abstenir de le faire. Deux solutions sont possibles à ce
problème :
• Le mode bloqué (appelé aussi suspension continue ou mode transparent de
l’activité de l’unité centrale : Halt Burst Mode) : le DMA étant prioritaire, il
réserve l’utilisation du bus durant toute la durée du transfert. Le contrôleur
DMA ne rend le contrôle au processeur que lorsque le compteur de mots
transmis repasse à zéro. Ce mode autorise des taux de transfert importants.
L’inconvénient réside dans le blocage du processeur lorsqu’il a besoin du bus
pour continuer son travail.
• Le mode par vol de cycle (appelé aussi suspension temporaire : Halt State
Mode) : Le DMA effectue son transfert en une séquence de transfert
élémentaires. Durant chaque séquence, le DMA réserve un cycle d’utilisation
du bus. La suspension est qualifiée de temporaire car après le transfert d’un mot
l’unité centrale reprend son activité. Ainsi, le processeur et le DMA se
partagent les cycles d’utilisation du bus (voir figure ci-dessous).
SM &MEE
Page 71
Architecture et maintenance des ordinateurs
C
P
U
C
P
U
ISET Mahdia
C
P
U
D
M
A
C
P
U
C
P
U
C
P
U
D
M
A
Temps
D
M
A
Figure 11 : Vols de cycle.
4.3. Canaux d’E/S
Les E/S des gros ordinateurs posent des problèmes bien plus difficiles, à cause du
grand nombre de périphériques et de l’énorme volume de données qui doivent être
échangées à tout instant, si possible sans trop dégrader la performance du système.
Pour permettre à plusieurs périphériques de travailler simultanément, on a inventé des
canaux d’entrée/sortie. Par rapport au DMA des mini-ordinateurs, les canaux sont
beaucoup plus performants.
Ils sont programmables et peuvent enchaîner des opérations d’entrées/sorties. Ils ont
un accès prioritaire à la mémoire par la technique du vol de cycle et ils s’occupent
entre autre la vérification de l’intégrité des informations échangées.
Il existe plusieurs types de canaux :
• Les canaux sélecteurs qui sont particulièrement adapté aux échanges avec des
unités rapides, telles que les unités de disques. Pendant l’échange, le canal est
totalement réservé au périphérique concerné. Il offre un accès direct à la
mémoire et il se charge des échanges en toute indépendance de la CPU, dont le
rôle se limite au lancement des E/S.
• Les canaux multiplexés qui sont utilisés dans le cas des périphériques à faible
débit. Dans ce cas de figure un canal se partage entre plusieurs périphériques.
Le temps est divisé en tranches entre les périphériques. Un seul parmi ces
derniers est activé par tranche de temps. On distingue deux sous types de
canaux :
o Les canaux multiplexé par octets, où chaque sous canal est activé à tour
de rôle pour le transfert d’un octet.
o Les canaux multiplexé par blocs, où chaque tranche de temps est utilisée
pour échanger des blocs d’octets.
Un canal est programmable et son programme réside en mémoire centrale. Il consiste
en une suite d’instructions spécialisées dans les E/S. Pour mettre un canal en
conditions de travail, il faut lui fournir les informations suivantes :
• L’adresse dans la mémoire associée au premier mot à transférer.
• Le nombre total de mots à transférer.
• L’adresse logique du contrôleur branché sur l’unité périphérique intéressée par
l’échange.
• Le sens du transfert.
• Les instructions quant à la conduite à tenir en cas d’erreur de transmission.
SM &MEE
Page 72
Architecture et maintenance des ordinateurs
ISET Mahdia
Un processeur E/S peut être connecté directement à plusieurs contrôleurs de
périphériques ou indirectement par l’intermédiaire d’un bus dit d’E/S.
CP
CP
CPU
Processeur I/O
(canal)
CP
Processeur I/O
(canal)
MC
CP
Figure 12 : connexions entre canaux et périphériques.
SM &MEE
Page 73
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 6 : Les entrées/sorties
Exercice 1 :
Expliquer l’opération de lecture de 32 caractères à partir du clavier (dont l’adresse est
6). Le rangement de ces caractères dans la mémoire centrale doit se faire à partir de
l’adresse 180 et cela dans le cas d’une instruction d’E/S par accès direct.
Exercice 2 :
Le dialogue entre le CPU et le contrôleur (UART 8250) du port série (périphérique),
s'effectue à travers des registres, et ce par des opérations d'écritures et de lectures
successives dans ces derniers. On distingue essentiellement les registres suivants :
• Registre d'émission : Avant d'être émi, un caractère doit être chargé dans ce
registre.
• Registre de réception : Ce registre joue le rôle d'intermédiaire entre l'UART
et la CPU. La lecture des données reçues passe obligatoirement par la lecture
de ce registre.
• Registre état de la ligne : Ce registre permet d'informer le CPU sur l'état de
transfert de données. Si le bit 0 est à 1 ceci indique la fin de la réception d'un
caractère et que ce dernier est disponible dans le registre buffer de réception,
ce bit peut être remis à zéro par une opération de lecture du buffer de
réception par le CPU ou par une opération d'écriture directe dans le registre
état de la ligne. Le bit 5 est mis à "1" pour indiquer que le registre d’émission
est vide et que l'UART est capable de recevoir un autre caractère dans ce
buffer.
On suppose que ces trois registres portent successivement les adresses : 3F8, 3F9 et
3FD en hexadécimal. On dispose de deux instructions, une d’entrée et une de sortie.
IN et OUT
1. Ecrire un programme assembleur qui permet d’envoyer 3 caractères successifs
vers le port série.
2. Ecrire un programme assembleur qui permet de recevoir 2 caractères successifs
depuis le port série.
SM &MEE
Page 74
Architecture et maintenance des ordinateurs
ISET Mahdia
Bibliographie
• Cours Architecture des ordinateurs
Réalisé par : Malloug Issa technologue à Iset de mahdia
Email : [email protected]
• Cours Maintenance des systèmes informatiques
Réalisé par : Jellad tarek technologue à Iset de mahdia
Email : [email protected]
SM &MEE
Page 75
Téléchargement