Vous êtes sur la page 1sur 35

Chapitre 8 : Larchitecture de base des

ordinateurs
Introduction
Architecture de base dune machine
La Mmoire Centrale
UAL ( unit arithmtique et logique )
UC ( unit de contrle ou de commande )
Jeu dinstructions , Format et codage dune instruction
Modes dadressage
tapes dexcution dun instruction

Objectifs

Comprendre larchitecture dune machine von newman.


Comprendre les tapes de droulement de lexcution dune
instruction.
Comprendre le principe des diffrents modes dadressage.

1. Introduction

Un programme est un ensemble dinstructions excutes dans


un ordre bien dtermin.

Un programme est excut par un processeur ( machine ).

Un programme est gnralement crit dans un langage volu


(Pascal, C, VB, Java, etc.).

Les instructions qui constituent un programme peuvent tre


classifies en 4 catgories :
Les Instructions daffectations : permet de faire le transfert
des donnes
Les instructions arithmtiques et logiques.
Les Instructions de branchement ( conditionnelle et
inconditionnelle )
Les Instructions dentres sorties.

1. Introduction

Pour excuter un programme par une machine, on passe par les tapes
suivantes :
1. dition : on utilise gnralement un diteur de texte pour crire un
programme et le sauvegarder dans un fichier.
2. Compilation : un compilateur est un programme qui convertit le code
source ( programme crit dans un langage donn ) en un programme
crit dans un langage machine ( binaire ). Une instruction en langage
volu peut tre traduite en plusieurs instructions machine.
3. Chargement : charger le programme en langage machine dans
mmoire afin de lexcuter .

Comment sexcute un programme dans la machine ?


Pour comprendre le mcanisme dexcution dun programme il
faut comprendre le mcanisme de lexcution dune instruction .
Pour comprendre le mcanisme de lexcution dune instruction il
faut connatre larchitecture de la machine ( processeur ) sur la
quelle va sexcuter cette instruction.

2. Architecture matrielle dune machine


( architecture de Von Neumann )
Larchitecture de Von Neumann est compose :
Dune mmoire centrale,
Dune unit centrale UC , CPU (Central Processing Unit), processeur ,
microprocesseur.
Dun ensemble de dispositifs dentres sorties pour communiquer avec
lextrieur.
Cette architecture est la base des architectures des ordinateurs.

entres

UC
Processeur

Mmoire
Centrale

sorties

2.1 La mmoire centrale

La mmoire centrale (MC) reprsente lespace de travail de lordinateur .


Cest lorgane principal de rangement des informations utilises par le
processeur.
Dans un ordinateur pour excuter un programme il faut le charger
( copier ) dans la mmoire centrale .
Le temps daccs la mmoire centrale et sa capacit sont deux lments
qui influent sur le temps dexcution dun programme ( performances
dune machine ).

Une adresse

La mmoire centrale peut tre vu


comme un large vecteur ( tableau ) de
mots ou octets.
Un mot mmoire stocke une information
sur n bits.
Chaque mot possde sa propre adresse.
La mmoire peut contenir des
programmes et les donnes utilises par
les programmes.

0001100

0000

0011100

0001

0111100

0002

0001100

0001100

.
..
Contenu dune case
(un mot)mmoire

FFFF
8

Structure dun programme en MC


1000000
1111111
0000000
Addition
Soustraction

11110000
11000001
11100001
11000001
11100001
11100001

.
.

Partie donnes
( variables )

Partie instructions

2.2 LUnit Centrale ( UC)


Lunit centrale (appele aussi processeur , microprocesseur)
pour rle dexcuter les programmes.
LUC est compose dune unit arithmtique et logique (UAL) et
dune unit de contrle.
- Lunit arithmtique et logique ralise les oprations
lmentaires (addition, soustraction, multiplication, . . .) .
- Lunit de commande contrle les oprations sur la mmoire
(lecture/criture) et les oprations raliser par lUAL selon
linstruction en cours dexcution.

10

Architecture matrielle dune


machine Von Neumann

UC

2.2.1 LUAL
Lunit arithmtique et logique ralise une opration lmentaire
(addition, ,soustraction, multiplication, . . .).
LUAL regroupe les circuits qui assurent les fonctions logiques et
arithmtiques de bases ( ET,OU,ADD,SUS,..).
LUAL comporte un registre accumulateur ( ACC ) : cest un registre
de travail qui sert a stocker un oprande (donnes )au dbut dune
opration et le rsultat la fin.

12

LUAL comporte aussi un registre dtat : Ce registre nous indique


ltat du droulement de lopration .
Ce registre est compos dun ensemble de bits. Ces bits sappels
indicateurs (drapeaux ou flags).
Ces indicateurs sont mis jours ( modifis )aprs la fin de lexcution
dune opration dans lUAL.
Les principeaux indicateurs sont :
Retenue : ce bit est mis 1 si lopration gnre une retenue.
Signe :ce bit est mis 1 si lopration gnre un rsultat ngative.
Dbordement :ce bit est mis 1 sil y a un dbordement.
Zero : ce bit est mis 1 si le rsultat de lopration est nul.

13

Schma dune UAL

14

2.2.2 Unit de contrle


Le rle de l'unit de contrle (ou unit de commande ) est de :
coordonner le travail de toutes les autres units ( UAL ,
mmoire,. )
et d'assurer la synchronisation de l'ensemble.

Elle assure :
la recherche ( lecture ) de linstruction et des donnes partir de
la mmoire,
le dcodage de linstruction et lexcution de linstruction en
cours
et prpare linstruction suivante.
15

Lunit de contrle comporte :


Un registre instruction (RI) : contient linstruction en cours
dexcution. Chaque instruction est dcoder selon sont code
opration grce un dcodeur.
Un registre qui sappel compteur ordinal (CO) ou le compteur de
programme (CP ) : contient ladresse de la prochaine instruction
excuter (pointe vers la prochaine instruction excuter ).
Initialement il contient ladresse de le premire instruction du
programme excuter.
Un squenceur : il organise ( synchronise ) lexcution des
instruction selon le rythme de lhorloge, il gnre les signaux
ncessaires pour excuter une instruction.

16

Schma dune UC

17

Schma dtaill dune machine


UC

18

Remarque
Le microprocesseur peut contenir dautres registres autre que
CO,RI et ACC.
Ces registres sont considrs comme une mmoire interne
( registre de travail ) du microprocesseur.
Ces registres sont plus rapide que la mmoire centrale , mais le
nombre de ces registre est limit.
Gnralement ces registres sont utiliss pour sauvegarder les
donnes avant dexcuter une opration.
Gnralement la taille dun registre de travail est gale la taille
dun mot mmoire

19

Une machine avec des registres de travail

registres

20

3.Jeu dinstructions

Chaque microprocesseur possde un certain nombre limit dinstructions


quil peut excuter. Ces instructions sappelles jeu dinstructions.

Le jeu dinstructions dcrit lensemble des oprations lmentaires que le


microprocesseur peut excuter.

Les instructions peuvent tre classifies en 4 catgories :


Instruction daffectation : elle permet de faire le transfert des donnes
entre les registres et la mmoire
criture : registre mmoire
Lecture : mmoire registre
Les instructions arithmtiques et logiques ( ET , OU , ADD,.)
Instructions de branchement ( conditionnelle et inconditionnelle )
Instructions dentres sorties.

21

3.1 Codage dune instruction

Les instructions et leurs oprandes ( donnes ) sont stock dans la


mmoire.

La taille dune instruction ( nombre de bits ncessaires pour la reprsenter


en mmoire ) dpend du type de linstruction et du type de loprande.

Linstruction est dcoupe en deux parties :


Code opration ( code instruction ) : un code sur N bits qui indique
quelle instruction.
La champs oprande : qui contient la donne ou la rfrence ( adresse )
la donne.
Code opration
N bits

Oprande
K bits

Le format dune instruction peut ne pas tre le mme pour toutes les
instructions.
Le champs oprande peut tre dcoup sont tours en plusieurs champs
22

Machine 3 adresses
Dans ce type de machine pour chaque instruction il faut prciser :
ladresse du premier oprande
du deuxime oprande
et lemplacement du rsultat
Code opration

Oprande1

Exemple :
ADD A,B,C

Oprande2

Rsultat

( CB+C )

Dans ce type de machine la taille de linstruction est grand .


Pratiquement il nexistent pas de machine de ce type.

23

Machine 2 adresses
Dans de type de machine pour chaque instruction il faut prciser :
ladresse du premier oprande
du deuxime oprande ,

ladresse de rsultat est implicitement ladresse du deuxime


oprande .

Code opration
Exemple :
ADD A,B

Oprande1

Oprande2

( BA +B )

24

Machine 1 adresses
Dans de type de machine pour chaque instruction il faut prciser
uniquement ladresse du deuxime oprande.
Le premier oprande existe dans le registre accumulateur.
Le rsultat est mis dans le registre accumulateur.
Code opration

Oprande2

Exemple :
ADD A

( ACC(ACC) + A )

Ce type de machine est le plus utilis.


25

4. Mode dadressage
La champs oprande contient la donne ou la rfrence ( adresse )
la donne.
Le mode dadressage dfinit la manire dont le microprocesseur va
accder loprande.
Le code opration de linstruction comportent un ensemble de bits
pour indiquer le mode dadressage.
Les modes dadressage les plus utilits sont :
Immdiat
Direct
Indirect
Index
relatif

26

4.1 Adressage immdiat


Loprande existent dans le champs adresse de linstruction
Code opration

Exemple :
ADD 150

ADD

Cette commande va avoir leffet suivant :

Oprande

150

ACC(ACC)+ 150

Si le registre accumulateur contient la valeur 200 alors


aprs lexcution son contenu sera gale 350

27

4.2 Adressage direct


Le champs oprande de linstruction contient ladresse de loprande (
emplacement en mmoire )
Pour raliser lopration il faut le rcuprer ( lire ) loprande partir
de la mmoire. ACC (ACC)+ (ADR)

Exemple :
On suppose que laccumulateur
continent la valeur 20 .
ADD
A la fin de lexcution nous
allons avoir la valeur 50 ( 20 +
30 )

150

30

150

28

4.3 Adressage indirect

La champs adresse contient ladresse de


ladresse de loprande.

Pour raliser lopration il faut :


Rcuprer ladresse de loprande partir de la
mmoire.
Par la suite il faut chercher loprande partir
de la mmoire.

ADD

150

ACC (ACC)+ ((ADR))

Exemple :

Initialement laccumulateur contient la valeur


20

Il faut rcuprer ladresse de ladresse (150).

Rcuprer ladresse de loprande partir de


ladresse 150 ( la valeur 200 )

Rcuprer la valeur de loprande partir de


ladresse 200 ( la valeur 40 )

Additionner la valeur 40 avec le contenu de


laccumulateur (20) et nous allons avoir la
valeur 60

150

200

200

40

29

4.4 Adressage index


Ladresse effectif de loprande est relatif une zone mmoire.
Ldresse de cette zone se trouve dans un registre spcial ( registre
indexe ).
Adresse oprande = ADR + (X)
Registre dindexe

50
ADD

150

+
30
200
Remarque : si ADR ne contient pas une valeur
immdiate alors
Adresse oprande = (ADR )+ (X)

30

4.5 Adressage relatif

Ladresse effectif de loprande est relatif a une zone mmoire.


Ldresse de cette zone se trouve dans un registre spcial ( registre de base ).
Ce mode dadressage est utilise pour les instructions de branchement.
Adresse = ADR + (base)
Registre de base

100
BR

150

+
ADD
250
31

5. Cycle dexcution dune instruction


Le traitement dune instruction est dcompos en trois phases :
Phase 1 : rechercher linstruction traiter et dcodage
Phase 2 : rechercher de loprande et excution de linstruction
Phase 3 : passer linstruction suivante
Chaque phase comporte un certain nombre doprations
lmentaires ( microcommandes ) excutes dans un ordre bien
prcis ( elle sont gnres par le squenceur ).
La phase 1 et 3 ne change pas pour lensemble des instructions ,
par contre la phase 2 change selon linstruction et le mode
dadressage

32

Exemple1 : droulement de linstruction daddition en mode immdiat


ACC(ACC)+ Valeur
Phase 1 : ( rechercher linstruction traiter )
Mettre le contenu du CO dans le registre RAM RAM (CO)
Commande de lecture partir de la mmoire
Transfert du contenu du RIM dans le registre RI RI (RIM)
Analyse et dcodage
Phase 2 : (traitement )
Transfert de l oprande dans lUAL

UAL (RI).ADR

Commande de lexcution de lopration ( addition )


Phase 3 : ( passer linstruction suivante )
CO (CO )+ 1

33

Exemple 2 : droulement de linstruction daddition en mode direct


ACC(ACC)+ (ADR)

Phase 1 : ( rechercher linstruction traiter )


Mettre le contenu du CO dans le registre RAM RAM (CO)
Commande de lecture partir de la mmoire
Transfert du contenu du RIM dans le registre RI RI (RIM)
Analyse et dcodage
Phase 2 : ( dcodage et traitement )
Transfert de ladresse de l oprande dans le RAM RAM (RI).ADR
Commande de lecture
Transfert du contenu du RIM vers lUAL UAL (RIM)
Commande de lexcution de lopration ( addition )

Phase 3 : ( passer linstruction suivante )


CO (CO )+ 1
34

Exemple 3 : Droulement de linstruction daddition en mode indirect


ACC(ACC)+ ((ADR))
Phase 1 : ( rechercher linstruction traiter )
Mettre le contenu du CO dans le registre RAM RAM (CO)
Commande de lecture partir de la mmoire
Transfert du contenu du RIM dans le registre RI RI (RIM)
Analyse et dcodage
Phase 2 : ( dcodage et traitement )
Transfert de ladresse de l oprande dans le
RAM (RI).ADR
Commande de lecture /* rcuprer ladresse */
Transfert du contenu du RIM vers le RAM
RAM(RIM)
Commande de lecture /* rcuprer loprande */
Transfert du contenu du RIM vers lUAL
UAL (RIM )
Commande de lexcution de lopration ( addition )

Phase 3 : ( passer linstruction suivante )


CO (CO )+ 1

35