Vous êtes sur la page 1sur 6

1

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
2
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.
4
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 .
5
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.
6
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.
Mmoire
Centrale
UC
Processeur
entres
sorties
7
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 ).
8
0001100
0001100
0111100
0011100
0001100
FFFF
..
.
.
0002
0001
0000
Une adresse
Contenu dune case
(un mot)mmoire
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.
Structure dun programme en MC
Partie donnes
( variables )
Partie instructions
.
.
}
11100001
11100001
11000001
11100001
11000001
11110000
1111111
1000000
0000000
Addition
Soustraction
10
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.
Architecture matrielle dune
machine Von Neumann
UC
12
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.
13
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.
14
Schma dune UAL
15
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.
16
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.
17
Schma dune UC
18
Schma dtaill dune machine
UC
19
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
20
Une machine avec des registres de travail
registres
21
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.
22
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 Oprande
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
N bits K bits
23
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 Oprande2 Rsultat
Exemple :
ADD A,B,C ( CB+C )
Dans ce type de machine la taille de linstruction est grand .
Pratiquement il nexistent pas de machine de ce type.
24
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 Oprande1 Oprande2
Exemple :
ADD A,B ( BA +B )
25
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.
26
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
27
4.1 Adressage immdiat
Loprande existent dans le champs adresse de linstruction
Code opration Oprande
Exemple :
ADD 150
Cette commande va avoir leffet suivant : ACC(ACC)+ 150
Si le registre accumulateur contient la valeur 200 alors
aprs lexcution son contenu sera gale 350
ADD 150
28
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)
ADD 150
30
Exemple :
On suppose que laccumulateur
continent la valeur 20 .
A la fin de lexcution nous
allons avoir la valeur 50 ( 20 +
30 )
150
29
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.
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
ADD 150
200
40
150
200
30
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)
ADD 150
30
50
Registre dindexe
+
Remarque : si ADR ne contient pas une valeur
immdiate alors
Adresse oprande = (ADR )+ (X)
200
31
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)
BR 150
ADD
100
Registre de base
+
250
32
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
33
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
34
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
35
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