Architecture
Architecture
Technologiques
---*---
Institut Supérieur des Etudes
Technologiques de
Mahdia
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. 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)
Eléments de contenu : 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
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.
2. Concepts et définitions
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.
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.
En 1940 : Le premier ordinateur, appelé ABC (Atanasoff And Berny Computer), est
apparu. Il était non programmable.
Page 6
Architecture et maintenance des ordinateurs ISET Mahdia
Figure 4 : Transistor.
Page 7
Architecture et maintenance des ordinateurs ISET Mahdia
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 Haut parleur
Lecteur
disquette
Modem
Clavier Souris
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
UCT MC
bus
Figure 8: Modèle de Von Neumann
UCT MC
bus
Unités d’E/S
Page 10
Architecture et maintenance des ordinateurs ISET Mahdia
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
Page 11
Architecture et maintenance des ordinateurs ISET Mahdia
Chapitre II :
Représentation de l’information
1. INTRODUCTION
2. DONNEES NON NUMERIQUES
3. DONNEES NUMERIQUES :
Eléments de contenu : 3.1. Entiers positifs ou nuls :
3.2. Entiers négatifs
3.3. Les nombres fractionnaires
4. RECAPITULATIF DES DIFFERENTES REPRESENTATIONS RELATIVES
AUX DONNEES :
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.
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.
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.
Le codage est réalisé par une table de correspondance, propre à chaque code utilisé
(Voir tableau 1).
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.
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
Page 15
Architecture et maintenance des ordinateurs ISET Mahdia
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.
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.
44 2
0 22 2
0 Æ (44)10 = (101100)2
11 2
1 5 2
1 2 2
0 1 2
1
Applications :
1. Convertir 19 en base 4.
2. Convertir (2f8)16 en base 10.
Exemples :
1. (6F5)16 = ( 0110 1111 0101)2
2. (135)8 = (001 011 101)2
Page 17
Architecture et maintenance des ordinateurs ISET Mahdia
Exemple :
1. (0110 1111 0101)2 = (6F5)16
2. (01 011 101)2 = (135)8
Exemple :
Addition binaire sur 4 bits :
9 1001
+ +
5 0101
------- ------------
14 1110
• Soustraction :
Table de soustraction élémentaire :
0-0=0
0 - 1 = 1 Avec déduction si possible.
1-0=1
1-1=0
Exemple :
Soustraction sur 4 bits:
Page 18
Architecture et maintenance des ordinateurs ISET Mahdia
7 0111
- +
5 0101
------- ------------
2 0010
• Multiplication :
Table de multiplication élémentaire :
0x0=0
0x1=0
1x0=0
1x1=1
Exemple :
Multiplication sur 6 bits :
3 011
x x
6 110
------- ------------
18 000
011
011
-------------
10010
• 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
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é.
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 0111
+ +
-5 1101
------- ------------
2 0010
-8 11000
+ +
6 00110
------- ------------
- 2 10010
-3 10011
+ +
-6 10110
------- ------------
-9 11001
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 <0 | -6 | = 6
Représentation en
base 2 sur 4 bits
Opération
Représentation complément à 1
complément à 1 de -6 0110
1001
Représentation
complément à 1 de 7
=
7≥0 Représentation en
base 2 sur 4 bits
=
0111
Exemple 2:
1
+7 0111
+ +
-6 1001
------- ------------
1 0000
+
1
-----------
0001
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 <0 | -7 | = 7 0111
Opération
complément à 1
Représentation Représentation
+1
complément à 1 de -7 complément à 1 de -7
1001 1000
Représentation
complément à 2 de 7
=
7≥0 Représentation en
base 2 sur 4 bits
=
0111
Exemple 2 :
1
+7 0111
+ +
-7 1001
------- ------------
1 0000
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
Exemple :
(12.2)10= ( ?)2
On prend la partie fractionnaire.
0.2 x 2 = ……boucle
(12)10 = (1100)2
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 :
Exemple :
Page 25
Architecture et maintenance des ordinateurs ISET Mahdia
SM Eb M
• 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 = - ∞
Page 26
Architecture et maintenance des ordinateurs ISET Mahdia
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
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.
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
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
Codage Décodage
Représentation Résultat
numérique numérique
Traitement
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
Informations
Données Instructions
C2
Virgule
Nombres fractionnaires fixe
Virgule
flottante
Page 30
Architecture et maintenance des ordinateurs ISET Mahdia
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 :
Ex.4
Convertir en base 10 sous forme décimale les nombres suivants :
Page 31
Architecture et maintenance des ordinateurs ISET Mahdia
Ex.5
Convertir respectivement en binaire, octal et hexadécimal les nombres suivants :
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.
Ex.15
Coder les réels suivants (sur 32 bits) selon la norme IEEE 754 :
1 2 4 9 1,5 -1 -2 6,125 5/32 -5/32
Ex.16
Trouver le plus grand et le plus petit réel représentable avec la norme IEEE 754
simples précisions
Ex.17
Convertir en décimal les nombres hexadécimaux réels donnés ici au format IEEE 754-
32 bits
42E48000 3F880000 00800000 C7F00000
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
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 :
9 Signe et valeur absolue;
9 Complément à 1;
9 Complément à 2.
N1 : 1 1 0 0 0 0 M1 : 1 1 0 0 0 0
A1 : + A2 : +
N2 : 1 0 1 1 1 1 M2 : 0 1 1 0 0 0
N3 : 0 1 1 1 1 1 M3 : 0 0 1 0 0 1
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.
Page 35
Architecture et maintenance des ordinateurs ISET Mahdia
Problème 3 :
Soit une machine dans laquelle les caractères sont codés sur 8 bits, utilisant une
table de code dont une partie est fournie ci-dessous. Elle représente les nombres entiers
en signe et valeur absolue sur 12 bits.
Code
Caractère Base 10 Base 2
0 48 00110000
1 49 00110001
2 50 00110010
3 51 00110011
4 52 00110100
5 53 00110101
6 54 00110110
7 55 00110111
8 56 00111000
9 57 00111001
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.
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
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.
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.
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.
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
CS D ispo sitif de
R /W sélectio n M émo ire
et d'adressage centrale
k n
R@ RM
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.
Page 39
Architecture et maintenance des ordinateurs ISET Mahdia
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
I3
I2
I1
I0
D Q D Q D Q D Q
CK CK CK CK
D Q D Q D Q D Q
CK CK CK CK
A1
Registre
A0 d'adresses
D Q D Q D Q D Q
CK CK CK CK
D Q D Q D Q D Q
CK CK CK CK
CS
R/W
O3
O2
O1
O0
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
Ligne E/S Oi
Ii
CS
R/W
La table suivante résume les préfixes utilisés pour exprimer les capacités des mémoires :
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
TMM
D=
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.
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).
Page 45
Architecture et maintenance des ordinateurs ISET Mahdia
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
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. INTRODUCTION
2. REGISTRES DE LA CPU :
3. JEU D’INSTRUCTION
3.1. Définitions
Eléments de contenu : 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
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
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.
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.
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.
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
Registres
d’entrée de
Micro Registre
commande d’état
s
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.
Cycle machine
1 2 3 4 5 6 7 8
Impulsions
d’horloge
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.
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
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.
2
RA Mémoire RM
1 Accumulateur
3
Séquenceur UAL
Page 55
Architecture et maintenance des ordinateurs ISET Mahdia
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 Signification
assembleur assembleur
Charge la valeur de la variable id_var dans le registre
LOAD id_var 0E
accumulateur
Additionne le contenu de l’accumulateur à la valeur de
ADD id_var 1E
la variable id_var
Réalise l’opération (contenu accumulateur –
SUB id_var 2E
valeur(id_var))
Réalise l’opération (contenu accumulateur *
MUL id_var 3E
valeur(id_var))
NOT id_var 4E Effectue le complément logique de valeur(id_var)
Stocke le contenu de l’accumulateur dans la variable
STORE id_var 5E
id_var
Effectue un saut inconditionnel à l’emplacement de
JMP Etiquette 3F
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é.
CMP id_var FE • 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
JZ Etiquette EF
Z du registre d’état est égal à 1
Effectue un saut à l’emplacement de l’étiquette, si le bit
JG Etiquette EE
G (Greater than) du registre d’état est égal à 1
Effectue un saut à l’emplacement de l’étiquette, si le bit
JB Etiquette FF
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 B C
Avant exécution 5 10 12
Après exécution 12 5 10
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 Mémoire centrale Commentaire
(1F)16
(0010)16 Variable A
…….
(0022)16 Variable B
…….
... Variable C
(F2)16
... Instruction 1
…….
... Instruction 2
…….
... Instruction 3
…….
... Instruction 4
…….
... Instruction 5
…….
... Instruction 6
Page 57
Architecture et maintenance des ordinateurs ISET Mahdia
Page 58
Architecture et maintenance des ordinateurs ISET Mahdia
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 :
1. LOAD A
2. CMP B
3. JB Etq1
4. JMP Etq2
5. Etq1: LOAD B
6. Etq2: STORE 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.
Page 59
Architecture et maintenance des ordinateurs ISET Mahdia
Chapitre VI :
Les entrées/sorties
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
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.
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
SM &MEE Page 62
Architecture et maintenance des ordinateurs ISET Mahdia
Le Débit
C’est le nombre de bits ou de mots maximums que le bus est capable de transférer par
seconde.
SM &MEE Page 63
Architecture et maintenance des ordinateurs ISET Mahdia
T1 T2 T3
Horloge
mot à lire
Donnée
CS
R/W
Cycle de lecture
M REQ
R/W
M SYN
M ot à lire
Donnée
SSYN
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.
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
Carte mère du bus bus Contact Carte
d'extension 2
Composante
UC et autres
composantes
Carte
Connecteur 1 Connecteur 2 d'extension 1
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.
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.
SM &MEE Page 66
Architecture et maintenance des ordinateurs ISET Mahdia
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.
SM &MEE Page 67
Architecture et maintenance des ordinateurs ISET Mahdia
Etat Données
Commandes Sélection
Interface avec
l'unité centrale
Unité contrôle
+ Contrôleur
registres
Interface avec
périphériques
Périphérique
SM &MEE Page 68
Architecture et maintenance des ordinateurs ISET Mahdia
Bus
P1 Pn
Figure 6 : Architecture à un seul bus.
Interface disque
M icroprocesseur
Bus 1ocal
M émoire
Contrôleur
de bus Interface vidéo
Bus externe
P1 Pn
Figure 7 : Architecture à deux bus.
SM &MEE Page 69
Architecture et maintenance des ordinateurs ISET Mahdia
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 1
SM &MEE Page 70
Architecture et maintenance des ordinateurs ISET Mahdia
Bus
P1 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 ISET Mahdia
C C C C C C
P P P P P P
U U U U U U Temps
D D D
M M M
A A A
Figure 11 : Vols de cycle.
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.
SM &MEE Page 72
Architecture et maintenance des ordinateurs ISET Mahdia
CP
Processeur I/O
(canal)
MC CP
SM &MEE Page 73
Architecture et maintenance des ordinateurs ISET Mahdia
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
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 : imalloug@[Link]
SM &MEE Page 75