0% ont trouvé ce document utile (0 vote)
39 vues55 pages

Opérations arithmétiques en binaire

Transféré par

منير بعكة
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
39 vues55 pages

Opérations arithmétiques en binaire

Transféré par

منير بعكة
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Architecture des systèmes informatiques

CHAPITRE

5
Opérations arithmétiques

I- Les opérations arithmétiques en binaire


1. Addition binaire
2. multiplication binaire
3. Division binaire
4. Soustraction binaire
II- Les opérations arithmétiques en Hexadécimal

1. Addition des nombres en Hexadécimal

2. Soustraction des nombres en Hexadécimal

Hedhli & Gafsi Page 1


Architecture des systèmes informatiques

I- Les opérations arithmétiques en binaire :

1. Addition binaire :

L’addition binaire se base sur les trois opérations élémentaires suivantes :

0+0=0

0+1=1

1 + 1 = 0 avec une retenue = 1

Exemple1 :

Dans la base décimale :

51 + 23 = 74

Dans la base binaire sur 8 bits :

51 = (00110011)

23 = (00010111)

La somme est :
1
00 1100 11
+
00 0101 11
Retenue de 1
= 01 0010 10

27 26 25 24 23 22 2120

(01001010) = 26 + 23 + 21 = 74

Exemple2 :

Effectuer les opérations suivantes en binaire :

63 + 35 = 00111111 + 00100011 = 01100010

19 + 40 = 010011 + 101000 = 111011

2. Multiplication binaire :

La multiplication binaire se base sur les opérations élémentaires suivantes :

Hedhli & Gafsi Page 2


Architecture des systèmes informatiques

0*0=0

0*1=0

1*1=0

Elle est identique à la multiplication des nombres décimaux.

Exemple1 :

Dans la base décimale :

15 * 6 = 90

Dans la base binaire sur 8 bits :

15 = (00001111) 1111

6 = (00000110) *
110

0000
+ 1111
1 1111

=1011010 26 + 24 +23 +21 = 90

Exemple2 :

Effectuer les opérations suivantes en binaire :

(43) 10 * (3)10 = 101011 * 11 = 10000001

(F1)16 * (10) 16 = 11110001 * 00010000 = 111100010000

3. Division binaire :

La division binaire est identique à la division des nombres décimaux.

Exemple :

On considère la division entière suivante dans la base décimale :

92 / 5 = 18 avec un reste =2

Dans la base binaire, on obtient :

92 = (1011100)

5 = (101)

Hedhli & Gafsi Page 3


Architecture des systèmes informatiques

101 1 10 0 101
101 Le quotient =10010 = (18)10
000 1 10 10010 Le reste = 10 = (2)10
1 01
0 01 0

4. Soustraction binaire :

La soustraction binaire se ramène à une addition de la première opérande avec le complément


de la deuxième opérande .D’ou l’écriture suivante :

Soit X et Y deux entiers, l’opération X-Y est équivalente à X +(-Y) . Il suffit de trouver
donc le complément de Y.

Considérant la soustraction en complément à 2, qui se base sur ces principes :

 Représenter les opérandes sur le même nombre de bits.

 Représenter l’opérande négative en complément à 2

 Faire la somme des nombres obtenus

 Ignorer la retenue finale si elle existe

 Interpréter le résultat

Exemple :

Effectuer la soustraction décimale suivante (9 – 6) en complément à 2, sur 5 bits :

9 = 01001

6 = 00110

Le complément à 2 de 6 : C2(6) = C1(6) +1

C1 (6)= 11001

C2 (6) = 11001 + 1 = 11010

La soustraction devient : 9 + C2 (6) = 01001 + 11010 = 100011 (3)10

Retenue à ignorer

Hedhli & Gafsi Page 4


Architecture des systèmes informatiques

II- Les opérations arithmétiques en Hexadécimal :

5. Addition des nombres en Hexadécimal :

Un nombre hexadécimal signé exprimé sur un nombre n de bits est jugé positif, si le chiffre de
plus fort poids est inférieure ou égale à 7. Il sera négatif si ce chiffre est supérieur à 8.

Exemple :

6A0 > 0 011010100000 >0

FD3 < 0 111111010011 <0

L’addition de deux nombres hexadécimales se ramène à une simple addition par niveau, en
convertissant chaque chiffre en son équivalent décimale et en effectuant l’addition, si le
résultat obtenu par niveau est inférieure ou égale à 15, alors on le convertit en hexadécimal,
sinon on retranche la valeur de 16 du résultat puis on fait la conversion du reste en hexa, en
passant une retenue au niveau suivant.

Exemple :
82 10000010
(82)16 = (10000010)2 + +
98 10011000
(98)16 = (10011000)2 = 11 A = 1 00011010

6. Soustraction des nombres en Hexadécimal :

Dans une soustraction hexadécimale, on peut procéder de deux manières :

Soit on convertit les opérandes en binaires et on effectue la soustraction binaire déjà


présentée, soit on travaille avec le complément à 16.

Définition du complément à 16 :

On appelle complément à 16 d’un nombre hexa n1, le nombre hexa n2 vérifiant

n2 = complément à 15 de n1 + 1

Le complément à 15 d’un nombre n est le nombre n' vérifiant : n + n' = FF….F avec la taille
du résultat = sup(n,n').

Exemple :

Effectuer la soustraction décimale suivante en hexadécimal : 10 -19

Hedhli & Gafsi Page 5


Architecture des systèmes informatiques

10 = (0A)16

19 = (13)16

Le résulta décimal = (-9)

Le complément à 15 de (13)16 est EC, vue que 13


+
EC

FF
Le complément à 16 de (13)16 est EC +1 = ED
D’où :
10 -19 = (0A)16 + (ED) 16 = (F7) 16

On remarque que F7 est un nombre négatif. Pour trouver sa valeur, il faut récupérer sa valeur
absolue en lui appliquant le complément à 16.

On a: F7
+ C15 (F7) = (08) C16 (F7) = (09)
08
= FF

En conclusion, F7 représente la valeur -9 trouvé en décimal.

Hedhli & Gafsi Page 6


Architecture des systèmes informatiques

CHAPITRE

6
Les mémoires

I- Introduction
II- Définition
III- Caractéristiques des mémoires
IV- Organisation de la mémoire
V- Accès mémoire
1. Accès séquentiel
2. Accès direct
3. Accès semi-séquentiel
VI- Opérations sur la mémoire centrale
VII- Les bus mémoire
VIII- Connexion de la mémoire avec le processeur
IX- Les différents types de mémoires
X- Récapitulatif sur les différentes mémoires

Hedhli & Gafsi Page 1


Architecture des systèmes informatiques

I- Introduction :

Dans un ordinateur, toutes les informations qu’elles soient textuelles, numériques ou


multimédias sont manipulées sous une forme binaire. Ces informations doivent souvent être
conservées pendant un certain temps pour permettre leur exploitation immédiate ou ultérieure.
Pour cette raison, les mémoires ont vu le jour.

II- Définition :

Une mémoire est tout dispositif capable de stocker et de restituer des informations, de sorte
que le composant qui les utilise, puisse accéder à l'information dont il a besoin ultérieurement.

Une mémoire se caractérise par plusieurs aspects pouvant mettre en avant ses performances
telles que sa capacité, son temps d’accès, son cycle mémoire, son débit et sa volatilité.

III- Caractéristiques des mémoires :

 La capacité :

la taille d'une mémoire est le nombre total d’informations qu'elle peut contenir. Elle s'exprime
en nombre de bits, d'octets (bytes) ou de mots (words). Les capacités des mémoires sont
généralement exprimées en puissances de deux ou en multiples de 210. Les ordres de
grandeurs les plus utilisés sont :

1K (Kilo) =210,

1M (Méga)=220,

1G (Giga)=230).

Exemple :

Une mémoire peut occuper 128Mmots de 32 bits = 512 M octet = (512 * 220) octet.

 Le temps d’accès :

Est le temps séparant le lancement d’une opération d’accès et son accomplissement. Cette
opération peut être une lecture d’information existante dans la mémoire ou une écriture d’une
nouvelle information (enregistrement).

 Le débit :

Est le nombre maximum d’informations lues ou écrites par secondes.

Hedhli & Gafsi Page 2


Architecture des systèmes informatiques

 Le cycle mémoire :

Représente l'intervalle minimum qui doit séparer deux accès successifs à la mémoire. Le
temps de cycle est égal ou supérieur au temps d'accès.

 La volatilité :

Caractérise la permanence des informations dans la mémoire. Une mémoire est dite volatile si
sa durée de mémorisation dépend de la présence d'alimentation électrique.

IV- Organisation de la mémoire :

La mémoire centrale est la mémoire principale servant au stockage des programmes et des
données à traiter. L’organisation de cette mémoire est importante vu son influence sur les
performances de l’ordinateur.

En effet, La mémoire est vue comme une bibliothèque de rangement formée par un ensemble
de casiers destinés à stocker les informations. Pour la mémoire, ces casiers sont l’ensemble
des cases mémoires (appelées encore cellules ou mots mémoire).

Chacune de ces cases pouvant retenir un nombre binaire. L'élément atomique dans
l'organisation de la mémoire d'un ordinateur est l'octet. Les cellules mémoire sont toutes de
même taille et peuvent contenir un ensemble d'octets (1, 2, 4 ou 8 octets).

Ces cellules peuvent être accessibles à tout moment et sont repérées à l’aide d’une
numérotation séquentielle de 0, 1 ... N-1, où N est le nombre total des cellules. Ces numéros
de cases sont appelés adresses mémoire. Pour stocker (écrire) ou lire les données d'une case
mémoire, le processeur a besoin de connaître l'adresse de la case correspondante.

L'adresse d'une cellule mémoire peut être constituée de plusieurs bits. Une adresse est le plus
souvent écrite en hexadécimal.

On appelle espace adressable l'ensemble des cellules qui peuvent être référencées à l'aide
d'une adresse physique.

Exemple:

Sur le schéma de mémoire ci-dessous, l’adresse est écrite sur 16 bits et la donnée d’une
cellule mémoire est écrite sur un octet. La case mémoire à l'adresse numéro 0 contient un
octet qui est le code du nombre 7; l'adresse numéro 3 contient le code du caractère A…

Hedhli & Gafsi Page 3


Architecture des systèmes informatiques

Adresse mémoire Mémoire

1 = (0000 0000 0000 0001)2 0000 0111

2 = (0000 0000 0000 0010)2 1010 0101

3 = (0000 0000 0000 0011)2 0100 0001

4 = (0000 0000 0000 0100)2 1111 1000

5 = (0000 0000 0000 0101)2 0000 0000

… …

Puisque chaque bit peut prendre 2 valeurs possibles (la valeur 0 ou la valeur 1) alors une
adresse de N bits permet de repérer 2N cases.

Dans l’exemple précédent, nous avons 16 bits pour l’écriture d’une adresse donc on peut avoir
jusqu’à 216 adresses possibles, c'est-à-dire 65536 adresses.

Application :

Soit une mémoire de taille 32 Kø, combien il nous faut de bits pour représenter l’adresse
d’une case de cette mémoire sachant qu’elle est adressable par octet ?

32 kø = 32 * 1024 ø

= 25 *210 ø

= 215 ø

Il nous faut 15 bits pour écrire une adresse.

Ces adresses peuvent être numérotées de 0 à 215-1.

Remarque :

Pour que chaque combinaison de bits d’adresse puisse avoir son adresse correspondante en
mémoire, il est important que la taille de la mémoire soit une puissance de 2.

V- Accès mémoire :

Pour accéder à une information contenue en mémoire, différents types d’accès mémoire sont
possibles selon le type de la mémoire utilisée:

Hedhli & Gafsi Page 4


Architecture des systèmes informatiques

1. Accès séquentiel :

C’est l’accès le plus lent. Pour accéder à une information particulière, on est obligé de
parcourir toutes celles qui précèdent.

Exemple : les bandes magnétiques.

2. Accès direct :

Est l’accès le plus rapide. Les informations ont une adresse propre. On y accède directement.

Exemple : Mémoire centrale.

3. Accès semi-séquentiel :

Est la combinaison des accès direct et séquentiel.

Exemple : Pour un disque magnétique par exemple l'accès à la piste est direct, puis l'accès au
secteur est séquentiel.

VI- Opérations sur la mémoire centrale :

Avant son exécution tout programme doit être d’abord chargé en mémoire centrale par le
système d’exploitation. Ensuite l’exécution par l’unité centrale (UCT) de traitement nécessite
une communication avec la mémoire qui se résume principalement dans les deux étapes
suivantes :

4. Opération de lecture :

Cette opération consiste en la recherche d’une donnée ou d’une instruction stockée dans la
mémoire pour en transférer une copie vers l’UCT afin de l’utiliser dans un traitement. Pour
pouvoir effectuer cette opération, l’UCT doit informer la mémoire de l’emplacement auquel
il veut accéder.

5. Opération d’écriture :

Cette opération consiste à attribuer une valeur à une case mémoire. Dans ce cas l’UCT doit
fournir l’adresse de la case où il veut stocker cette information.

Exemple :

Hedhli & Gafsi Page 5


Architecture des systèmes informatiques

(1)
Soit un programme où l’on a déclaré deux variables entières : X et Y .

Le programme contient la portion de code suivante :

X=5;

Y=X+2 ;

- La première instruction consiste en une opération d’écriture de l’entier 5 dans la case


mémoire destinée à la variable X.

- La deuxième instruction consiste en une lecture de la variable X, ensuite après addition de


son contenu avec la valeur 2, il s’agit d’une opération d’écriture du résultat 7 dans la case Y.

Pour effectuer ces opérations de lecture et d’écriture, il est nécessaire d’avoir un moyen de
connexion entre la mémoire et le microprocesseur. Ce moyen est les bus.

VII- Les bus mémoire:

Un bus est un moyen de communication entre les différents éléments constituants une
machine. Il s'agit en général d'un ensemble de n fils électriques utilisés pour transporter n
signaux binaires.

Les bus qui relient la mémoire au microprocesseurs sont de trois types : le bus de données, le
bus d'adresse et le bus de commande.

6. Le bus d’adresse:

Lors d’une opération de lecture ou d’écriture d’une information, le microprocesseur doit


indiquer l’adresse de la case mémoire à lire ou celle où il doit écrire la donnée. Le passage de
l'adresse est effectué par le bus d'adresses. Le bus d'adresse est un bus unidirectionnel c'est-à-
dire, seul le processeur envoie des adresses.

7. Le bus de données:

Il sert comme support d’acheminement des données du microprocesseur vers la mémoire lors
d’une opération d’écriture ou de la mémoire vers le microprocesseur lors d’une opération de
lecture. Il est donc un bus bidirectionnel. Le nombre de fils de ce bus varie suivant les
microprocesseurs.

8. Le bus de commande:
1
La déclaration d’une variable consiste à lui donner un nom, lui associer un type de donnée et lui allouer un
emplacement mémoire.

Hedhli & Gafsi Page 6


Architecture des systèmes informatiques

Le bus de commande est celui responsable de l’acheminement des signaux de commande tels
que les ordres de lecture et écriture entre le processeur et la mémoire.

VIII- Connexion de la mémoire centrale avec le processeur :

Le principe de la communication entre le microprocesseur et la mémoire, peut être présenté


par le schéma suivant qui illustre les opérations de lecture et d’écriture dans la mémoire.

MC MC
Ordre Lecture Ordre Ecriture
Adresse Adresse
processeur processeur

Donnée Donnée

Opération de lecture Opération d’écriture

: bus de commandes
: bus d’adresses
: bus de données

Figure8 : Connexions mémoire-processeur

La durée de conservation des informations, la quantité de donnée pouvant être stockée et la


manière d’accès aux données dépendent du type de la mémoire.

IX- Les différents types de mémoires :

On distingue trois groupes de mémoires : la mémoire centrale, les mémoires périphériques


et les mémoires cache.

Hedhli & Gafsi Page 7


Architecture des systèmes informatiques

9. La mémoire centrale :

[En anglais : main memory] sert à stocker le ou les programmes en cours d'exécution et les
données en cours de traitement. C’est une mémoire à accès direct et à temps d'accès faible.
Elle est subdivisée en deux parties :

- Les mémoires vives RAM

- Les mémoires mortes ROM.

 La mémoire RAM : [en anglais Random Access Memory]

C’est une mémoire vive àaccès direct à l'opposition de la mémoire à accès séquentiel comme
les bandes magnétique ou les cassettes par exemple. Cette partie de la mémoire centrale est à
la disposition du programmeur, qui dans laquelle peut déposer des données élémentaires.

Cette mémoire est volatile, c'est-à-dire, elle est effacée dès la coupure du courant. On peut y
mémoriser (écrire) des nombres binaires pour les relire plus tard mais tant que le courant n’a
pas été coupé. La taille d’une mémoire RAM est de l’ordre de 64, 128 ou 512 Mo

Il existe deux types de RAM : les mémoires statiques et les mémoires dynamiques.

- Les mémoires statiques (SRAM) : Les bits de ces mémoires sont à base de transistors.
Elles mémorisent les nombres aussi longtemps qu'elles sont alimentées. Elles sont simples
d’utilisation mais occupent beaucoup de place dans le circuit intégré.Le coût de ces mémoire
est assez élevé par rapport à celui des DRAM.

- Les mémoires dynamiques (DRAM) : Les bits de ces mémoires sont à base de
condensateurs (capacités). Un bit à 1 est représenté par un condensateur chargé et un bit à 0
est représenté par un condensateur déchargé. Les mémoires DRAM nécessitent un
rafraîchissement périodique de l’information qui consiste à générer des ordres de lecture et de
réécriture du signal toutes les deux milliseconde afin que les bit à 1 ne soient pas
déchargé[Link] mémoires sont plus rapides et leurs capacités sont supérieures.

 La mémoire ROM [en anglais Read Only Memory] :

C’est une mémoire morte permanente (non volatile). Son contenu ne peut pas être effacé et
réécrit ordinairement par programme. Elle est en général de faible capacité, mais de très
grande fiabilité. Cette mémoire contient dès la mise au point de l'ordinateur le savoir

Hedhli & Gafsi Page 8


Architecture des systèmes informatiques

nécessaire au démarrage et au bon fonctionnement de la machine comme par exemple le


BIOS.

Ce type de composant est fabriqué de manière à donner toujours les mêmes valeurs même
après coupure d'alimentation.

La ROM est généralement moins rapide que la RAM, alors souvent une technique particulière
est appelée shadow ou mirror est utilisée avec la ROM et consiste à copier son contenu dans
la RAM afin de l'utiliser par la suite uniquement à partir de la RAM. Cette technique
provoque un gaspillage de RAM, mais elle permet de gagner en vitesse d’accès.

Il existe plusieurs types de ROMs :

-Les ROM programmables (PROM) qui peuvent être écrites, seulement une fois, hors de
l'ordinateur. La fabrication des ROM est faite dans des usines de fabrication de puces à l'aide
d'un appareil spécial (programmateur de PROM). Elles servent pour la réalisation de
programmes identiques en faibles exemplaires.

- Les ROM effaçables (EPROM, Erasable PROM) qui peuvent être réinitialisées pour pouvoir
être réécrites (a peu près 10 fois). Elles sont utilisées pour la mise au point de programmes
nécessitant des modifications intenses. Les EPROM coûtent plus chères que les PROM,
cependant il est possible de réutiliser une EPROM un certain nombre de fois. La différence
entre la RAM et le EPROM se manifeste lors de l’écriture, le PROM nécessite un cycle 1000
fois plus long que celui d’une RAM.

- La RAM non volatile NOVRAM est une solution entre SRAM et EEPROM elle contient des
informations pouvant être stockées dans une SRAM mais sans perte de données après avoir
éteindre l’ordinateur. En effet, ils sont stockés sur une EEPROM (Electrically Erasable
Programmable ROM : Les EEPROM ont une durée de vie limitée. La possibilité de les
modifier ne dépasse pas quelques milliers (ou millions) de fois, ce qui vaut une durée de vie
de quelques secondes si elles étaient utilisées comme les RAM, quelques millions de
modifications. De plus les EEPROM nécessitent plus de temps à effacer que les RAM. Les
EEPROM sont excellentes pour conserver des paramètres et des préférences ou du code qui
ne changera qu'une à deux fois par jour (ou semaine), mais pas pour des données qui
requièrent des modifications plus fréquentes. Plusieurs modems possèdent des EEPROM (ou
des dispositifs semblables) permettant ainsi de sauvegarder des paramètres propres au
propriétaire de manière permanente.

Hedhli & Gafsi Page 9


Architecture des systèmes informatiques

- FLASHROM permettent d’effacer une ROM très rapidement (en une éclaire d'où le terme
anglais flash). C'est une sorte de EEPROM mais de conception différente. L'éffacement est
réalisé par banques de mémoire plutôt que caractère par caractère comme dans les EEPROM,
cela aide à diminuer leurs coûts de production. Ces mémoires se retrouvent en particulier sur
la carte mère (BIOS), sur la carte graphique (firmware) et sur le modem (firmware).

10. Les mémoires caches :

D'une façon générale, on définit le cache comme un dispositif matériel ou logiciel qui stocke
dans une zone d'accès rapide une copie de données en petite quantité. Ces données sont
choisies parmi les données qui sont stockées dans une zone d'accès plus lent.

On utilise pour les caches des mémoires statiques très rapides. Lorsque le processeur accède
plusieurs fois à la même location, tout se passe avec la mémoire cache sans avoir la nécessité
d’accéder à la mémoire centrale afin de réaliser un gain en terme de temps d’accès.

On trouve très souvent deux niveaux de mémoire cache.

 mémoire cache de Niveau I :

Le premier niveau de cache (L1) pour dire (level 1) est intégré au processeur et dispose d'un
temps d'accès équivalent au cycle de fonctionnement de celui-ci.

 mémoire cache de Niveau II :

Le second niveau (L2) est de plus grande taille mais plus lent.

L’accès aux différentes caches se fait selon le principe suivant :

La mémoire cache agit comme un tampon entre le microprocesseur et la mémoire centrale.

- Le microprocesseur émet une demande de données,

- Ces données sont recherchées au préalable dans la mémoire cache de premier niveau I
(L1).

- Si elles sont trouvées elles sont immédiatement communiquées au processeur.

- Sinon, la recherche se poursuit dans la mémoire cache de niveau II (L2).

- Si les données y sont localisées, elles sont communiquées au processeur à une


vitesse bien supérieure à celle de la mémoire RAM.

- Sinon, les données sont lues dans la mémoire centrale et mémorisées dans les
mémoires caches pour une éventuelle future utilisation.

Hedhli & Gafsi Page 10


Architecture des systèmes informatiques

MC
processeur Mémoire
cache II
Mémoire
cache I

Figure 9 : Principe de hiérarchisation des accès

11. Les mémoires de masse ou mémoires périphériques:

Elles permettent de stocker des informations (depuis la mémoire centrale), et de les récupérer
plus tard. Elles sont permanentes (les données y persistent voir même après coupure du
courant).

Exemple de mémoires périphériques : les disques durs, les disquettes, CD, DVD ...

Les avantages de ces mémoires résident dans leurs grandes capacités de stockage et leurs
coûts réduits mais leur inconvénient est qu’ils sont moins rapides que les autres mémoires.

Quelques capacités typiques de mémoires périphériques (Ces capacités varient et évoluent


dans le temps) :

 Disque : 4 Go - 120 Go

 Disquette : 1,4 Mo

 Mémoire flash : 128 –1G

 CD : 700 Mo

 DVD : 4,7 Go

X- Récapitulatif sur les différentes mémoires :

Type de Technologie Emplacement Accès Stockage Capacité


mémoire
Circuits Grande Stockage
registres intégrés Situées dans la CPU Faible capacité
vitesse volatil
Circuits Mémoire tampon
Stockage Faible capacité
mémoire cache intégrés entre : CPU et Rapide
volatil
mémoire centrale

Hedhli & Gafsi Page 11


Architecture des systèmes informatiques

Circuits Située dans l’unité Stockage


RAM Moins Capacité moyenne
intégrés centrale volatil
mémoire rapide
centrale Circuits Située dans l’unité Stockage
ROM intégrés Rapide Capacité moyenne
centrale permanent

mémoires Capacité de
Périphériques
auxiliaires Magnétique stockage
(internes ou externes lentes Stockage
ou Optique à l’unité centrale) permanent variable selon le
périphérique
mémoire de masse

Figure10 : tableau comparatif

Capacité

Mémoire Mémoire Mémoire Registres


cache
Coût
auxiliaire
auxillière centrale

Figure11 : hiérarchie des mémoires (Rapport capacité/coût)

Hedhli & Gafsi Page 12


Architecture des systèmes informatiques

CHAPITRE

7
Le Processeur

I- Introduction

II- Structure de l’unité centrale de traitement

III- Principe de fonctionnement d’un processeur

IV- Les critères de performance d’un microprocesseur

V- Exemples de microprocesseurs

Hedhli & Gafsi Page 1


Architecture des systèmes informatiques

I- Introduction:

Un processeur est un circuit électronique qui peut compter des millions de transistors.

L'unité centrale de traitement (UCT ou CPU : Central Processing Unit), encore dénommée
processeur ou microprocesseur, est l'élément de l'ordinateur qui interprète et exécute les
instructions d'un programme.

Les instructions à exécuter par le microprocesseur doivent être tout d’abord transférées de la
mémoire centrale pour être logées dans l’UCT.

Une instruction est composée de deux parties :l’action et les opérandes.

 L’action est l’opération à exécuter telle que l’addition, la soustraction…

 Les opérandes sont les données sur lesquelles l’action va opérer.

Le format d’une instruction est sa spécification pour un microprocesseur donné sous forme
de:

Action Opérandes

Exemple :

Un microprocesseur dispose d’une instruction d’addition dont le format est le suivant :

Add opérande1 opérande2

Et d’une instruction d’affichage dont le format est le suivant :

Aff opérande

Hedhli & Gafsi Page 2


Architecture des systèmes informatiques

L’ensemble des actions que peut exécuter le microprocesseur avec leurs formats spécifiques
est appelé jeu d’instruction de l’UCT. Le jeu d’instruction diffère d’un microprocesseur à un
autre : On peut trouver des actions exécutées par un microprocesseur et pas par un autre ou
possédant un format différent.

Le microprocesseur doit connaître l’action demandée par l’instruction afin de préparer tout le
nécessaire pour qu’elle soit bien exécutée.

II- Structure de l’unité centrale de traitement :

Le processeur se compose essentiellement des parties suivantes :

- L’ unité de commande

- L’unité arithmétique et logique

- Les registres

- Et éventuellement une mémoire cache


1. L’unité de commande (UC) :

L'unité de commande dirige le fonctionnement de tous les autres éléments de l'unité centrale
en leur envoyant des signaux de commande.

Elle gère le séquencement des étapes de l’exécution d’une instruction et elle active les lignes
de l’opération à exécuter.

Pour que l’instruction soit interprétable par le microprocesseur elle doit être codée. On appelle
codage d’une instruction la transformation d’une instruction d’un programme du format
texte vers un format binaire qui respecte le format d’une instruction machine (action +
opérandes). Cette opération est effectuée par le compilateur1.

Ensuite, L'unité de commande doit décoder l’instruction, c’est à dire connaître de quelle
opération s’agit il.

Exemple : S’il s’agit d’une opération d’addition, l’unité arithmétique et logique sera chargée
par les opérande de l’opération et l’unité de commande va activer les lignes responsables de
l’exécution de l’action d’addition.

1
Le compilateur transforme un fichier écrit en un langage de programmation évolué en en un fichier exécutable
en langage machine. Sous DOS, les fichiers exécutables portent l’extension .EXE

Hedhli & Gafsi Page 3


Architecture des systèmes informatiques

Le travail de l'unité de commande est réalisé à l’aide de plusieurs composants tels que le
décodeur, le séquenceur, l’horloge et différents registres tels que le compteur ordinal et le
registre d’instruction que nous détaillerons ultérieurement dans ce chapitre au dans les
sections circuits de l’UCT et registres de l’UCT.

2. L’unité arithmétique et logique (UAL) :

A l'origine, cette unité est chargée de l'exécution des opérations booléennes et des opérations
arithmétiques (addition, soustraction, multiplication, division, comparaison, etc.) pour des
entiers. En parallèle à cette unité, on peut trouver une unité de calcul sur les réels ainsi qu'une
unité de traitement dédiée aux opérations multimédia (traitement des images et du son).

L’UAL est alimentées par les registres généraux et le registre d’état. Le résultat d’une
opération est transmis au registre accumulateur.

L’UAL présente se présente comme suite :

Registre d’entrée Registre temporaire


Accumulateur de travail

Registre mot d’état


+
Lignes Commande
d’opération Décalage UAL
… …………

Registre de sortie

Figure 12 : Schéma de l’unité arithmétique et logique

3. Les registres:

Les registres sont des mémoires locales très rapides qui permettent de stocker des résultats
temporaires ou des informations de commande.

L'unité centrale comprend un certain nombre de registres pour stocker des données à traiter,
des résultats intermédiaires ou des informations de commande. Les registres ont une taille
réduite qui peut être de l’ordre de 1,2,4 ou 8 octets.

Hedhli & Gafsi Page 4


Architecture des systèmes informatiques

Chaque registre est dédié à un traitement particulier. Parmi ceux-ci on distingue les registres
suivants :

- Le registre instruction (RI) :

Il contient l'instruction à exécuter. Sa taille dépend du format des instructions machines. Le


programmeur n'a pas accès au registre instruction. Ce registre est accessible uniquement par le
microprocesseur.

- Le compteur ordinal (CO) ou encore Program Counter (PC):

Il contient l'adresse de la prochaine instruction à exécuter. Il est souvent noté par le symbôle
CØ.

Après chaque exécution d’une instruction, il est automatiquement incrémenté du nombre de


mots correspondant à la longueur de l'instruction traitée si le programme est exécuté en
séquence. En cas de rupture de séquence (branchement conditionnel 2ou non, appel à une
routine3,…), il est chargé avec la nouvelle adresse.

La taille du compteur ordinal dépend de l'espace adressable. Ce compteur n'est généralement


pas accessible directement au programmeur.

- Le registre d'état (PSW : Processor Status Word) :

Il contient des informations sur l'état du système (retenue, dépassement, etc.). Une partie des
bits de ce registre, aussi appelé registre condition, constitue des drapeaux (flags) qui indiquent
certains états particuliers.

Par exemple à la fin de chaque opération on peut y trouver le signe du résultat (Négatif, Zéro
ou Positif), ainsi qu'une éventuelle retenue (Carry) ou un dépassement de capacité (Overflow).

Ces bits indicateurs peuvent être testés pour déterminer la suite du déroulement du
programme lors des branchements conditionnels. Ces bits sont accessibles au programmeur.

Registre mot d’état : CF BF PF ZF SF OF IF

2
Le branchement conditionnel consiste à exécuter, si une certaine condition est vérifiée, une portion du
programme qui n’est située forcément à la suite de l’instruction courante.
3
L’appel à une routine ou traitement itératif est un traitement qui se répète et par la suite une fois le bloc
d’instruction est exécuté une fois, on retourne à l’instruction du début du bloc.

Hedhli & Gafsi Page 5


Architecture des systèmes informatiques

CF BF PF ZF SF OF IF
Carry Flag Borrow Flag Parity Flag Zero Flag Sign Overflow Interrupt
Flag flag Flag
Exprime Exprime un Exprime la Vérification Exprime Indique le Autorisation
une retenue emprunt lors parité de le signe dépassement ou non des
de la l’annulation si négatif de capacité interruptions
soustraction du résultat ou
d’une positif
opération.

- L’accumulateur (ACC) :

C’est un registre de l'unité arithmétique et logique. Il a de nombreuses fonctions. Il peut


contenir un des deux opérandes avant l'exécution et recevoir le résultat après. Il peut servir de
registre tampon pour les opérations d'entrées/sorties. Sa taille est égale à la longueur des mots
en mémoire.

Le registre ACC, appelé aussi registre AX pour les microprocesseur de type INTEL, est
accessible au programmeur et très sollicité. Certaines machines possèdent plusieurs
accumulateurs.

- Les registres généraux ou registres de travail :

Ils permettent de limiter les accès à la mémoire, ce qui accélère l'exécution d'un programme.
Ils peuvent conserver des informations utilisées fréquemment, des résultats intermédiaires,
etc. Ils sont accessibles au programmeur.

On peut citer par exemple pour les microprocesseur de type INTEL les registre de travail
suivants :

1. Le registre de base BX:

En général à l'intérieur d'un programme, on fait référence à des adresses relatives ou


virtuelles. L'unité centrale a besoin cependant de connaître les adresses physiques où se
situent réellement les instructions et les données. Celles-ci dépendent de l'endroit où a été
chargé le programme en mémoire. L'espace physique occupé par un programme peut ne pas
être contigu. Le rôle des registres de base est de permettre le calcul des adresses
effectives(réelles). Un registre de base contient une adresse de référence, par exemple
l'adresse physique correspondant à l'adresse virtuelle 0 du programme (première instruction
du programme). L'adresse physique est obtenue en ajoutant au champ adresse de l'instruction
le contenu du registre de base.

Hedhli & Gafsi Page 6


Architecture des systèmes informatiques

Il peut aussi venir en appui à l’accumulateur si ce dernier n’est pas disponible.

Exemple :

Soit l’instruction suivante :

Add AX, BX

Cette instruction veut dire additionner le contenu du registre BX à celui de AX et mettre le


résultet dans AX.

2. Le registre compteur CX:

Ce registre sert à stocker les compteurs dans une boucle, le nombre de positions lors d’une
opération de décalage…Il est accessible par le programmeur.

Exemple :
Algorithme Code
AX  2 mov AX,2 ;affectation de la valeur 2 à AX
Pour de 1 à 5 faire mov CX,5 ;affectation de la valeur 5 à CX
AX AX+1 boucle : ;etiquette de la boucle
Fin pour ADD AX,1 ;ajout de la valeur 1 à AX
Loop boucle ;Décrémentation de CX et retour au
niveau de l’étiquette de la boucle si
CX est non nul.

3. Le registre de données DX:

Ce registre est souvent utilisé pour manipuler les chaînes de caractères et pour l’affichage des
données.

- Le registres d'indice ou d'index (XR) :

Ils peuvent être utilisés comme des registres généraux mais ils ont une fonction spéciale
utilisée pour l'adressage indexé. Dans ce cas l'adresse effective d'un opérande est obtenue en
ajoutant le contenu du registre d'index à l'adresse contenue dans l'instruction. Ce type
d'adressage et de registre est très utile pour manipuler des tableaux. Le programmeur dispose
alors d'instructions permettant l'incrémentation ou la décrémentation du registre d'index. En
particulier les registres d'index peuvent être incrémentés ou décrémentés automatiquement
après chaque utilisation.

Hedhli & Gafsi Page 7


Architecture des systèmes informatiques

Dans les microprocesseur INTEL on trouve particulièrement 2 registres d’index : SI(Source


Index et DI : Destination Index) .

- Le registre pointeur de pile (PP) :

Une pile est une zone mémoire dans laquelle les informations sont rangées de façon contiguë.
Le pointeur de pile (Stack Pointer : SP) indique le sommet de la pile : la position de la
dernière information enregistrée. Dans certaines machines le pointeur de pile indique la
position où sera mémorisée la prochaine donnée. Le fonctionnement d'une pile est du type
Dernier Entré Premier Sorti (LIFO : Last In First Out). Les deux principales opérations liées à
la pile concernent l'ajout d'un élément dans la pile ou le retrait, souvent nommées
respectivement PUSH et PULL. Lorsqu'une donnée est enregistrée dans la pile elle est placée
à l'adresse qui suit celle du dernier mot stocké. Après l'opération le pointeur de pile est
incrémenté. Lorsque un mot est retiré de la pile il correspond à la dernière information qui y a
été entrée. Après l'opération le pointeur est décrémenté. Une pile est réservée à l'usage de
l'unité centrale, en particulier pour sauvegarder les registres et l'adresse de retour en cas
d'interruption ou lors de l'appel d'une procédure. Le pointeur de pile est accessible au
programmeur, ce qui peut engendrer souvent des erreurs faute de mauvaise manipulation.

4. Les circuits de l’unité centrale de traitement:

 Le décodeur :

il détermine quelle est l'opération à effectuer afin d’activer les circuits des microprogrammes
correspondants à l’action voulue et quels sont les opérandes nécessaire à son exécution.

Les microprogrammes sont définis par le constructeurs de la machines. Ils représentent un


ensemble de signaux câblées ayant pour rôle de commander l’exécution de l’action détectée
par le décodeur.

Exemple :

Soit l’instruction ADD AX,5

Le décodage de cette instruction va déterminer qu’il s’agit d’une opération d’addition et va


effectuer les instructions suivantes :

1. Activer les signaux de commandes relatifs au stockage de la valeur 5 dan un registre


temporaire,

2. Activer la ligne d’opération responsable de l’exécution de l’addition,

Hedhli & Gafsi Page 8


Architecture des systèmes informatiques

3. Active les signaux de commandes relatifs au stockage du résultat dans AX.

Tous ces signaux constituent le microprogramme associé à l’action ADD.

 L'horloge (interne ou externe) :

C’est un circuit qui émet des impulsions permettant la synchronisation de tous les éléments de
l'unité centrale.

L’horloge est souvent construite à base de quartz, substance qui émet naturellement des
signaux périodiques. Ces impulsions périodiques constituent le cycle de base ou cycle
machine. L’intervalle de temps entre deux impulsions représente le cycle ou la période de
l’horloge.

Une instruction peut consommer 1 ou plusieurs cycles machines. On rencontre parfois le


terme de cycle CPU (Central Process Unit) pour indiquer le temps d'exécution de l'instruction
la plus courte.
période

Horloge
temps

 Le séquenceur :

Il génère les signaux de commande aux différents composants. À partir de l’horloge, il


contrôle le fonctionnement des circuits de l'unité de calcul nécessaires à l'exécution de chaque
instruction et gère de cette façon de tous les signaux émis par l’unité de commande.

Exemple :

Après 2 top d’horloge, le séquenceur comprend que l’instruction d’addition est exécutée et
envoie un signe au compteur ordinal pour passer à l’instruction suivante.

II- Principes de fonctionnement d'un processeur :

1. Les étapes d’exécution d’une instruction:

Hedhli & Gafsi Page 9


Architecture des systèmes informatiques

Le schéma suivant illustre la communication de l’unité de commande avec la mémoire


centrale en vue d’exécuter une instruction.

BA BD
RA Mémoire RM

RA :Registre d’Adresse
CO RI
RM : Registre de Mot
RI : Registre d’instruction Décodeur Unité de
commande
CO : compteur Ordinal
BA :Bus d’Adresses Séquenceur

BD :Bus de Données Horloge

Figure 13 : les étapes d’exécutions d’une instruction

Cependant, l’exécution des instructions peut se découper en trois étapes qui :

1ère étape :Instruction Fetch (Recherche de l’instruction) :

- émettre un ordre de lecture du mot mémoire dont l’adresse se trouve dans le compteur
ordinal ;

- lire l’instruction fournie par la mémoire centrale ;

- placer l’instruction dans le registre d’instruction ;

- Incrémentation du compteur ordinal par l’adresse de la prochaine instruction ;

2ème étape : Analyse et décodage de l’instruction :

Le décodage de l’instruction se trouvant dans le registre d’instruction par le décodeur permet


de :

- connaître la nature de l’opération à réaliser et donc les circuits à activer;

- connaître la ou les adresses effectives des opérandes nécessaires à l’exécution de


l’instruction.

3ème étape : Exécution de l'instruction

- émettre un ordre de lecture de la donnée située en MC et dont l’adresse est fournie par
l’étape2;

Hedhli & Gafsi Page 10


Architecture des systèmes informatiques

- lire la donnée fournie par la MC;

- placer cette donnée dans un registre interne du CPU ou bien dans l’accumulateur selon le
travail demandé par l’instruction

- envoyer les microcommandes via le séquenceur;

- stocker le résultat dans un registre de sortie, l’accumulateur par exemple.

- affectation des bits du registre d’état en fonction du résultat obtenu.

Ensuite, l’adresse de la prochaine instruction étant dans le compteur ordinal, on reprend à la


première étape et ainsi de suite jusqu’à l’exécution de tout le programme.

Application :

Soit le pseudo-code d’une portion d’ un programme suivant :

Mul A,B ; multiplication de A et B

Ran C ; rangement du résultat dans la variable C

le processeur avec lequel nous travaillons possède le format d’instruction suivant :

Code opération adresse1 adresse2


(COP) ( @1 ) ( @2 )

- Une case mémoire est sur 4 octets et une adresse mémoire est sur 12 bits.

- COP ( multiplication ) = C6(hexa)

- COP ( rangement en mémoire centrale à partir de l’accumulateur ) = B3(hexa)

L’adresse de la variable A en mémoire est 64(hexa) et elle contient la valeur 2(10).

- L’adresse de la variable B en mémoire est 78(hexa) et elle contient la valeur 4(10).

- L’adresse de la variable C en mémoire est 79(hexa) .

- Le programme est stocké en mémoire à partir de l’adresse 14(hexa) .

Donner la forme hexadécimale de ce programme en mémoire centrale.

Quelle est la taille de ce programme ?

Hedhli & Gafsi Page 11


Architecture des systèmes informatiques

Citer les étapes d’exécution de ce programme en précisant le contenu du CO, RI, AX, BX et
la variable C en mémoire.

Solution :

Adresse de A = 64(hexa)

Adresse de B = 78(hexa)

Adresse de C = 79(hexa)
MC
14 C6 064 078
15 B3 079 000

64 00 00 00 02

78 00 00 00 04
79
… …

La taille de la première instruction est 4 octets, La taille de la deuxième instruction est 4


octets Ce programme a une taille de 8 octets.

Exécution de l’instruction (Mul A,B) :

 Première étape :

Mettre l’adresse de la première instruction dans le compteur ordinal.

CO 014

cette adresse sera transportée par le bus d’adresse pour lire une case mémoire et transmettre
son contenu au registre d’instruction.

RI C6 064 078

Ensuite incrémentation du compteur ordinal

Hedhli & Gafsi Page 12


Architecture des systèmes informatiques

CO 015

 Deuxième étape :

Décodage de l’instruction dans RI : Il s’agit d’une opération de multiplication sur les


opérandes d’adresses 064 et 078.

 troisième étape :

- lire la donnée de l’adresse 064 dans la MC;

- placer cette donnée dans l’accumulateur Ax

- lire la donnée de l’adresse 078 dans la MC;

- placer cette donnée dans un autre registre tel que BX vu que l’accumulateur est occupée.

AX 00 00 00 02

BX 00 00 00 04

- envoyer les microcommandes de multiplication via le séquenceur vers l’UAL;

- stocker le résultat dans un registre de sortie, l’accumulateur par exemple.

AX 00 00 00 08

Exécution de l’instruction (RAN C) :

 Première étape :

Le compteur ordinal contient l’adresse 015.

CO 015

Hedhli & Gafsi Page 13


Architecture des systèmes informatiques

Cette adresse sera transportée par le bus d’adresse pour lire une case mémoire et transmettre
son contenu au registre d’instruction.

RI B3 079 000

Ensuite le compteur ordinal contiendra l’adresse de la prochaine instruction.

CO 016

 Deuxième étape :

Décodage de l’instruction dans RI : Il s’agit d’une opération d’écriture de la valeur contenue


dans l’accumulateur à la case mémoire d’adresse 079.

 Troisième étape :

- lire le contenu de l’accumulateur;

- envoyer une microcommande d’écriture ;

- envoyer l’adresse 079 à travers le bus d’adresse ;

- envoyer la données de l’accumulateur via le bus de données.

- Ecrire la donnée 00 00 00 08 dans la case mémoire 078destinée à la variableC.

AX 00 00 00 08

MC
078 00 00 00 08

Hedhli & Gafsi Page 14


Architecture des systèmes informatiques

2. Le cycle d’exécution d’une instruction

Un cycle d'instruction est la période de temps nécessaire pour effectuer les trois étapes de
recherche, de décodage et d’exécution. Ce cycle peut se décomposer en un cycle de recherche
(instruction et opérandes), un cycle décodage et un cycle d'exécution .

Exemple :

Soit l’instruction suivante : ADD AX, 5 qui ajoute au contenu de l’accumulateur la valeur 5.

Supposons que cette instruction nécessite 3 tops d’horloges pour l’étape de recherche, 1 top
d’horloge pour le décodage et 2 tops pour l’exécution. Le chronogramme d’exécution de cette
instruction peut se présenter comme suit :

Horloge

Cycle d’exécution Temps


Cycle de recherche
Cycle de décodage

Cycle d’instruction

Figure14 :Le cycle d’exécution d’une instruction

3. La technique de pipeline :

Le microprocesseur est chargé d’exécuter les diverses instructions d’une programme le plus
rapidement possible. Face à un ensemble d’instructions le microprocesseur peut fonctionner
de deux manières possibles : séquentielle ou selon la technique de pipeline.

Hedhli & Gafsi Page 15


Architecture des systèmes informatiques

- Fonctionnement séquentiel :

Lors d’une exécution séquentielle, un microprocesseur exécute une seule instruction à la fois :
Il doit achever toutes les étapes relatives à l’exécution d’une instruction (Recherche, décodage
et exécution) pour pouvoir passer à l’instruction suivante.

Exemple :

Soit les trois instructions suivantes : I1, I2 et I3.

Le cycle de recherche ( R ) = 3 tops d’horloges,

Le cycle de décodage ( D ) = 1 top d’horloges,

Le cycle d’exécution ( E )= 2 tops d’horloges.

L’exécution séquentielle de ces instructions dans le microprocesseur se déroule de la façon


suivante :

R D E
I1
R D E
I2 R D E
I3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

Temps en tops d’horloges

 Durée totale = ( 3 +1 +2 ) * 3 = 18 tops d’horloges.

- Fonctionnement pipeliné ou parallèle :

La technique de pipeline consiste à faire fonctionner plusieurs instructions en parallèle. Une


fois, le microprocesseur achevé l’exécution d’une étape d’une instruction, il peut entamer son
exécution pour l’instruction suivante.

Hedhli & Gafsi Page 16


Architecture des systèmes informatiques

Remarque :

Le processeur ne peut pas exécuter la même étape (exemple le décodage) pour deux
instruction en même temps.

Exemple :

Si on reprend le même exemple précédant pris pour le fonctionnement séquentiel, l’exécution


pipelinée de ces instruction dans le microprocesseur se déroule de la façon suivante :

R D E
I1

I2 R D E

I3 R D E
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

Temps en tops d’ horloges

 Durée totale = 12 tops d’horloges.

III- Les critères de performance d’un microprocesseur

1. La fréquence d’horloge :

La durée d’exécution d’une instruction est mesurée en tops d’horloge. Donc plus la période de
cette horloge est réduite plus le temps d’exécution de l’instruction en secondes est court.

La fréquence de l’horloge est l’inverse de la période et elle est calculée en hertz (Hz).

Ce qui nous ramène à conclure que l’augmentation de la fréquence (C’est à dire la diminution
de la période) influence le nombre d’instructions exécutées par secondes devenant plus élevé
et ainsi rendre le microprocesseur plus performant.

Exemple :

Soit une instruction dont l’étape d’exécution nécessite 3 tops horloge, l’étape de décodage 1
top

et l’étape d’exécution 2 tops.

- En supposant la fréquence d’horloge de ce microprocesseur est 10MHz, quelle est la durée


d’exécution de cette instruction ?

Hedhli & Gafsi Page 17


Architecture des systèmes informatiques

La fréquence f = 10MHz = ( 10*106 )Hz

La période T = 1/f = 10-7s

La durée de l’instruction = ( 3 + 1 + 2 ) * 10-7s = 0.6 µs

Remarque :

 1ms (milli-seconde) = 10-3 s

 1µs (micro-seconde) = 10-6 s

 1ns (nano-seconde) = 10-9 s

- En supposant la fréquence d’horloge de ce microprocesseur est 20MHz, quelle est la durée


d’exécution de cette instruction ?

La fréquence f = 20MHz = ( 20*106 )Hz

La période T = 1/f = 0.05*10-6s = 0.05µs

La durée de l’instruction = 6 * 0.05µs = 0.3 µs

La durée d’exécution est inférieure pour une fréquence plus élevée.

2. La taille du bus de données :

Le temps le plus pénalisant au cours de l’exécution d’une instruction est le temps de recherche
de d’une instruction ou d’une données dans la mémoire centrale.

La taille du bus de données agit sur le nombre des accès mémoires effectués au cours d’une
instruction et par la suite il constitue l’un des critères de performance du microprocesseur les
plus importants

Pour cette raison, On distingue souvent les microprocesseurs par la taille de leurs bus de
données. Par exemple, on dit la famille des microprocesseurs INTEL 8 bits, la famille 16 bits
ou la famille 32 bits.

3. La mémoire cache :

On rappelle que la mémoire cache est une mémoire de petite taille (quelques kilos octets)
servant à stocker une portion du programme en exécution. Son rôle est minimiser les accès du
microprocesseur à la mémoire centrale en les remplaçant par l’accès à la mémoire cache dont
le temps d’accès est plus réduit. Plus la taille de la mémoire cache est grande moins on a

Hedhli & Gafsi Page 18


Architecture des systèmes informatiques

d’accès à la mémoire centrale et plus le gain en temps d’accès est important. Ce qui fait de la
taille de la mémoire cache un autre critère de performance du microprocesseur.

IV- Exemples de microprocesseurs :

Les microprocesseurs ont connu une évolution au cours du temps. Aujourd’hui les deux
grandes marques les plus commercialisés sur le marché sont : les processeur INTEL et AMD.

Le tableau ci-dessous présente certaines caractéristiques de ces processeurs :

Marque AMD INTEL

Processeur Athlon Pentium 3 Pentium 4

Fréquence 1GHz 450MHz1,2GHz 3GHz

Taille bus de données 64bits 64bits 64 bits

Figure

Figure 15 : caractéristique des processeurs

Hedhli & Gafsi Page 19


Architecture des systèmes informatiques

CHAPITRE

8
Les modes d’adressage

I- Introduction :

II- Les modes d’adressage

III- Influence du mode d’adressage sur le cycle d’exécution d’une instruction

Hedhli & Gafsi Page 1


Architecture des systèmes informatiques

I- Introduction :

Une instruction est formée d’une actions et des opérandes nécessaire à son exécution.
Cependant le programmeur doit indiquer au microprocesseur comment accéder aux données
des opérandes. La façon dont le microprocesseur doit suivre pour trouver la donnée en
mémoire s’appelle mode d’adressage.

L’adressage est une technique permettant la correspondance entre le contenu de la zone


d’adresse de l’instruction qui se trouve dans le registre d’instruction et l’adresse réelle qui
sera envoyée sur le bus d’adresse (adresse effective).

MC
RI Code Opération Adresse

Transformation

Donnée
Adresse effective

Les opérandes sont des données, devant être stockées en mémoire. Les manières d'accéder à
ces données sont multiples.

I- Les modes d’adressage :

1. Adressage immédiat:

On place les données directement dans l'instruction.

Exemple : BX
RI MOV BX 10 10

=>Pas besoin d’une adresse effective


Problème: on est limité en codage de donnée ;

Avantage : c’est le mode d’adressage le plus rapide vue qu’il ne nécessite pas un accès à la
mémoire.

Hedhli & Gafsi Page 2


Architecture des systèmes informatiques

2. Adressage direct:

On place dans l’instruction l'adresse d'une case de la mémoire principale qu'on va aller
chercher ensuite ;

Exemple : BX

MC
00
RI MOV BX 100 .
.
(1) .
.
BX (2) 99
10 100
10

:Pointer versl’adresse case 100.

:Ecrire dans BX.

=> 100 est l’adresse effective.

Avantage : c’est la façon l plus simple de spécifier une opérande en écrivant son adresse.

Adressage par registre:

On place la donnée dans un registre et on place l'adresse du registre dans l'instruction. Cet
adressage requiert un temps plus court car les registres étant plus petits et leur accès est plus
rapide;

3. Adressage indirect:

On place l'adresse d'un registre ou d’une case mémoire qui contient l’adresse effective de
l’opérande en mémoire principale ;

Exemple :

00
RI MOV BX 100 .
18 10
(1) .
.
100
Hedhli & Gafsi . Page 3
.
200
Architecture des systèmes informatiques
MC

BX 200
(2)
10 (3)
10

(1): Pointer vers l’adresse case 100.

(2): lire le contenu de la case d’adresse 100 et se déplacer suivant son contenue vers
l’adresse 200.

(3) : Ecrire dans BX le contenu de l’adresse 200.

=> [100] est l’adresse effective => 200 est l’adresse effective.

Remarque :

On peut avoir plusieurs niveaux d’indirections :

Exemple avec 2 niveaux d’indirections :

On a : [[100]] est l’adresse effective => [200] est l’adresse effective => 10 est l’adresse
effective.

BX

=> 18

Avantage : Cette méthode permet de garder la séquentialité des instructions pour que le
compteur ordinal garde son ordre.

4. adressage indexé:

On définit des plages d'adressage et on se contente de donner l'index de la donnée dans cette
plage (plus courte) ; Ce mode utilise un ou plusieurs registres spéciaux appelés registres
d’indexes.

Le déplacement fourni dans la zone adresse de l’instruction est ajouté au contenu du registre
d’index spécifié.

Hedhli & Gafsi Page 4


Architecture des systèmes informatiques

Exemple :

MC
00
RI MOV AX RX 100 .
10
(1) .
.
RX AX 100
. (2)
2 10 .
(3) 10 102

(1): Pointer vers l’adresse case 100.

(2): Se déplacer suivant le contenue du registre d’index de 2 cases vers l’adresse 102.

(3) : Ecrire dans AX le contenu de l’adresse 102.

 100 + [RX] est l’adresse effective => 102 est l’adresse effective.

5. Adressage basé:

La valeur indiquée dans la zone adresse de l’instruction constitue un déplacement par


rapport à ne adresse mémoire dont la valeur se trouve dans un registre spécial appelé
registre de base.

Exemple : BX
MC
00
RI MOV AX RB 2 .
10
(1) .
.
RB AX 100
. (2)
100 10 .
(3) 10 102

(1): Pointer vers l’adresse case 100.

(2): Se déplacer suivant le déplacement contenu dans la zone d’adresse = 2 cases.

(3) : Ecrire dans AX le contenu de l’adresse 102.

 [RB]+ 2 est l’adresse effective => 102 est l’adresse effective.

Hedhli & Gafsi Page 5


Architecture des systèmes informatiques

Exemple :

Ce mode d’adressage est utile pour rechercher les adresses des portions d’un programme.

6. Adressage relatif:

L’adresse effective est obtenue à partir de la somme du compteur ordinal avec une
consante qui se trouve dans l’instruction.

Exemple :
Instruction de branchement : RI JMP @

L’adresse effective = [CO] + /- @

7. Adressage implicite:

On peut trouver des action qui n’indiquent pas explicitement une opérande ou une donnée
car ils se réfèrent implicitement à l’un des registre de L’unité centrale de traitement.

La donnée à traiter doit être mise d’avance dans le registre correspondant.

II- Influence du mode d’adressage sur le cycle d’exécution d’une


instruction :

Lors de la compilation d’un programme, le code de l’instruction généré contient à part


l’action, le mode d’adressage employé pour accéder aux opérandes.

Ainsi une même action peut être codée différemment selon le mode d’adressage employé dans
l’instruction.

Exemple :

Opération d’addition :

Instruction Code de l’instruction


1 ADD A ,5 F9 A0B0 05
2 ADD AX ,5 F8 05

La première instruction est une addition immédiate avec une variable de la mémoire et la
deuxième instruction présente une addition immédiate avec un registre.

Il est clair que la première opération d’addition sera plus coûteuse en terme de temps vu
qu’elle nécessite un accès à la mémoire centrale.

Hedhli & Gafsi Page 6


Architecture des systèmes informatiques

D’où le mode d’adressage utilisé lors d’une opération influe le temps d’exécution de cette
instruction.

Hedhli & Gafsi Page 7


Architecture des systèmes informatiques

CHAPITRE

9
Les Périphériques

I- Introduction :

II- Les périphériques d’entrée-sortie :

III- Les périphériques de stockage :

IV- Architectures et procédures d’entrées/sorties :

Hedhli & Gafsi Page 1


Architecture des systèmes informatiques

I- Introduction :

Un périphérique est un organe complémentaire de l’unité centrale destiné à fonctionner en


relation avec celle-ci pour permettre le stockage, l’introduction de données, de programmes
et la sortie des résultats.

On distingue deux types de périphériques :

 Les périphériques d’entrée-sortie destinés à permettre les échanges homme / machine


ou environnement / machine.

 Les périphériques de stockage qui servent à stocker les informations de façon


permanente.

II- Les périphériques d’entrée-sortie :

Dans les ordinateurs de type PC, on trouve les périphériques d’E/S standard suivants :

 Le clavier: Périphérique d’entrée ayant pour rôle d’entrer les données vers l’UCT
moyennant son unité d’entrée standard.

 L’imprimante : Périphérique de sortie ayant pour rôle d’afficher les données sur papier
venant de l’UCT moyennant son unité d’entrée sortie standard.

 L’écran : Périphérique de sortie ayant pour rôle d’afficher les données, sur le
moniteur, venant de l’UCT moyennant son unité de sortie standard (carte VGA).

Les connecteurs qui connectent le périphérique avec ses unités d’E/S portent des noms
standards. A titre d’exemple les connecteurs nommés LPT1 et LPT2 pour l’imprimante et les
connecteurs COM1 et COM2 pour la souris.

Il existe d’autres périphériques permettant d’étendre les possibilités de la machine à savoir :

 Les périphériques de pointage : souris, tablettes graphiques.

 Les périphériques d’acquisition et de restitution du son : haut-parleur, microphone.

 Les périphériques d’acquisition et de restitution d’image : scanner, appareil photo.

Hedhli & Gafsi Page 2


Architecture des systèmes informatiques

III-Les périphériques de stockage :

Les périphériques de stockage servent à supporter des données, des textes pour les enregistrer
pendant un temps préétabli. A ces périphériques, on attribue souvent le nom mémoires de
masse vue la grande quantité d’informations qu’ils contiennent.

Selon leur organisation physique, on peut distinguer :

 Les supports magnétiques : bandes magnétiques, disques durs, disques amovibles,


disques souples (disquettes).

 Les supports optiques : disques optiques.

IV- Architectures et procédures d’entrées/sorties :

L’unité centrale communique avec les unités périphériques par l’intermédiaire du sous-
système d’entrée/sortie. Il existe une grande variété d’architectures. En effet, une opération
d’entrée sortie nécessite l’exécution d’une instruction d’E/S dans le CPU qui décide de
l’instant et de la nature de l’échange en établissant une liaison directe avec le périphérique ou
en choisissant un organe autonome pour la gestion de l’échange à savoir le canal
d’entrée/sortie ou l’accès direct à la mémoire (DMA : Direct Mémory Access).

Dans le cas de la liaison directe entre CPU et périphérique, le processeur se trouve bloqué
pendant toute la durée de l’échange : ce qui mène à un gaspillage du temps. Une technique
résolvant ce problème se base sur la suspension du programme d’exécution le temps d’un
cycle mémoire, ce qui permet aux unités périphériques de voler de temps en temps au CPU
cette durée considérée d’effet négligeable sur le temps d’exécution. Cette technique (vol-de-
cycle) est réalisée avec les DMA et les canaux.

1. Accès direct à la mémoire (DMA) :

Le DMA est utilisé dans les mini-ordinateurs, il peut être connecté entre un contrôleur de
périphérique et le bus mémoire ,permettant au périphérique d’accéder à la mémoire sans
passer par le CPU .Le DMA passe en priorité par apport au CPU en cas de demande
simultanée d’accès à la mémoire.

Il se charge entièrement du transfert d’un bloc de données, en terminant, il signale au


processeur la fin de l’opération. Le DMA ne se charge pas de vérifier si les information ont
été transmises correctement, c’est à la charge du contrôleur de périphérique de s’occuper des

Hedhli & Gafsi Page 3


Architecture des systèmes informatiques

erreurs qui peuvent avoir lieu. Dans la technique du vol-de-cycle, le DMA intervient dans les
cycles mémoires pendant le transfert.

Requête Requête prioritaire


Mémoire

Bus mémoire (très rapide)

Contrôle
CPU DMA
Interruption

Bus I/O

Contrôleur Contrôleur Contrôleur


Périphérique Périphérique Périphérique

Périphériques traités par le CPU périphériques traités par le DMA

Figure 15 : Exemple d’accès par DMA

2. Canaux d’entrée /sortie :

Pour permettre à plusieurs périphériques de travailler simultanément et d’échanger des grands


volumes de données, tout en gardant les performances de systèmes, on utilise les canaux
d’entrées sorties qui sont des véritables processeurs spécialisés pouvant exécuter des
programmes d’E/S.

Les canaux sont plus performants que les DMA. Ils sont programmables et ont un accès
prioritaire à la mémoire par la technique du vol-de-cycle. En plus ils s’occupent de vérifier
l’intégrité des informations échangées. Il existe trois types de canal :

Hedhli & Gafsi Page 4


Architecture des systèmes informatiques

 Le canal sélecteur :

Adapté aux échanges avec des unités rapides, telles les unités de disques.

 Le canal multiplexé :

Adapté pour les unités périphériques à faible débit, se basant sur le partage des canaux
multiplexés en sous-canaux rattachés aux différentes unités travaillant par tranche de temps.
On distingue :

o Le canal multiplexé par bytes :

Chaque sous-canal est activé à tour de rôle pour le transfert d’un octet.

o Le canal multiplexé par blocs :

Les tranches de temps sont utilisées pour échanger des blocs d’octets.

Dans un échange en mode canal, plusieurs organes de l’ordinateur entrent en jeu notamment
le CPU, la mémoire centrale, le canal, le contrôleur et son périphérique. En présence de
plusieurs canaux fonctionnant en parallèles, un énorme trafic de données apparaît entre la
mémoire et les unités périphériques, pendant que le CPU s’occupe du traitement des
informations.

3. Contrôleur de périphérique:

Chaque unité périphérique doit être reliée à un bus ou à un canal par l’intermédiaire d’une
électronique appropriée. Le rôle de cette unité appelée contrôleur est d’adapter la diversité des
périphériques (débit, temps de réponse, format des données) à une interface commune,
obéissant aux normes adoptées par le constructeur.

Cette unité assume un certain nombre important de taches, visant à décharger le canal ou tout
autre dispositif d’échange. Elle s’occupe de façon autonome des commandes détaillées de
chaque périphérique, de gestion des incidents et de la détection des erreurs.

Les cartes d’extensions et les bus d’interface possèdent un contrôleur intégré à la carte. On
cite à titre d’exemple :

Le bus d’interface SCSI (Small Computer System Interface) : un bus d’entrée/sorties


parallèle utilisé comme interface standard entre ordinateurs et périphériques. Il permet de
connecter en parallèle jusqu’à 8 unités physiques. Selon la vitesse du transfert supportée, on
distingue les Fast SCSI (10 Mbytes/s) et les Wide SCSI (40 Mbytes/s).
Hedhli & Gafsi Page 5
Architecture des systèmes informatiques

L’évolution du bus parallèle SCSI mène à SCSI-3 un bus série, pouvant utiliser la fibre
optique et une vitesse de transfert qui balance entre 51Mbits/s et 1 Gbits/s. A la différence à
une interface parallèle, l’interface série ne permet de transférer qu’un seul bit à la fois.

Hedhli & Gafsi Page 6


Architecture des systèmes informatiques

Série d’exercices

Hedhli & Gafsi


Architecture des systèmes informatiques

Exercice1 :

Soit une mémoire centrale de 16 Méga mots de 32 bits chacun, réalisée avec des puces de 64
kilo bits.
1/ Quelle est la taille de bus de donnée ?
2/Quelle est la taille en MO (mégaOctet) de la mémoire centrale ?
3/Quelle est la taille de bus d’adresse ?
4/Chercher l’adresse début et l’adresse fin de l’espace mémoire en octale.
5/Combien de puces mémoires nécessaires pour réaliser cette mémoire ?

Exercice2 :
Terminer l’annotation du schéma suivant en remplissant les espaces pointillés et expliquer les
étapes numérotées :

RA Mémoire 2

1 B2
RI
B1
3 …………..

CO Décodeur

4
5 Séquenceur

RA:Registre d’Adresse
RI: Registre d’Instruction
CO:Compteur Ordinal

B1 :………………….
B2 :..…………………

Exercice3 :
Etant donné le programme en assembleur suivant :

Assume cs :code
Code segment
Main :
Mov ah,1
Int 21h
Mov dl,al
Hedhli & Gafsi
Architecture des systèmes informatiques

Mov ah,2
Int 21h
Mov ah,4ch
Int 21h
Code ends
End main

1/Que permet de faire ce programme ? Préciser le rôle de chaque instruction.


2/Apporter les modifications nécessaires pour que ce programme lit et affiche les chiffres
entre 0 et 9.

Exercice4 :
Soit le chronogramme suivant :
Horloge

Recherche Décodage Exécution

Sachant que la durée totale d’exécution d’une instruction est 0,3 µs .


1/Chercher la fréquence du processeur.
2/Présenter des solutions pour assurer l’exécution d’un nombre plus élevés d’instructions.

Exercice5 :

1. Classer les nombres suivants en ordre décroissant :

(1110010)2 , (125)8 , (30)10 , (A0F) 16

2. Effectuer les opérations suivantes :

(3F51)16 + (563)8 = ( ) 8
0,125 * 105 + 0,953 *104 = le résultat doit être normalisé
(33. 24)10 + (28. 40)10 = ( ) 10 = ( ) 2 avec une précision de 4
Transformer ce résultat sous la forme de mantisse, exposant.

Exercice6 :

Indiquer la valeur décimale codée par le nombre suivant 01110101 si le nombre représente
un nombre en complément à 2.

Hedhli & Gafsi


Architecture des systèmes informatiques

Exercice7 :

Sachant que la taille de bus d’adresse est de 32 bits.


1. Déterminer la capacité de la mémoire en octet si :
- Un mot mémoire est de 1 octet
- Un mot mémoire est de 2 octets
2. Déterminer l’adresse minimale et l’adresse maximale en hexadécimal.

Exercice8 :

1. Donnez la taille en KO d’une image numérisée haute résolution (800*640) sachant que les
couleurs sont codées avec 16 bits ?
2. Donner la taille en MO d’un DVD vidéo (1024 pistes concentriques, 512 octets par
secteur, tête laser pouvant lire sur 8 couches différentes, 1024 secteurs par pistes) ?
3. Déterminer le nombre d’images que peut contenir un film compressé à 16 % sur le DVD
de la question 2.

Hedhli & Gafsi


Architecture des systèmes informatiques

Bibliographie

Architecture et technologie des ordinateurs


PAOLO ZANELLA
Edition DUNOD (3ème édition)
Architecture de l’ordinateur
Cours et exercices
ANDREW TANENBAUM
JAMES GOODMANN
Edition DUNOD (4ème édition)
Votre PC au TOP
JACKY MARQUET & SERGE VERBOIS
Edition ALYSS MULTIMEDIA (1ère édition)
Dépanner et optimiser son PC
MICHEL MARTIN
Edition CAMPUS PRESS
Cours pratique de logique pour microprocesseurs
[Link]
Edition RADIO

Hedhli & Gafsi

Vous aimerez peut-être aussi