Sie sind auf Seite 1von 37

Chapitre 2 : 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 dune 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 )
John Von Neumann ,un mathmaticien hongrois est le premier mettre en
uvre la notion de la mmoire pour enregistrer un programme. Le premier
ordinateur fonctionnant selon ce principe tait en 1945
Cette architecture est la base de la conception des ordinateurs jusqu nos
jours .
Larchitecture de Von Neumann est compose :
Dune mmoire centrale,
Dune unit centrale UC , CPU (Central Processing Unit), processeur ,
microprocesseur.
unit dentre U/E
Unit de sortie U/S
priphriques dentres/sorties .
NB: les units de stockages font parties des priphriques .
6

2. Architecture matrielle dune machine


( architecture de Von Neumann )

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
9

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 et de commande (UCC).
- Lunit arithmtique et logique ralise les oprations lmentaires
(addition, soustraction, multiplication, . . .) .
- Lunit de contrle et de commande: commande les oprations sur la
mmoire (lecture/criture) et les oprations raliser par lUAL selon
linstruction en cours dexcution.

11

Architecture matrielle dune


machine Von Neumann

Mmoire

US

UE
UAL

UCC

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.
Les registres : sont les petites mmoires qui peuvent exister dans un
ordinateur ,ils permettent de mmoriser des instructions des
adresses des rsultats intermdiaires

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 UCC

Le rle de l'unit de contrle et de commande (UCC ) est de :


Contrle toutes les oprations dentres / sorties
Contrle le droulement de lexcution de programme dans LUAL
Commande toutes les units et les changes qui seffectuent entre elles
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

LUCC comporte :
Un registre instruction (RI) : contient linstruction en cours
dexcution. Chaque instruction est dcoder selon sont code opration
grce un dcodeur.
un dcodeur dtermine quelle opration doit tre effectuer
- 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 UCC

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 la taille dun registre de travail est gale la taille
dun mot mmoire

19

valuation
Quest ce quil caractrise la machine de Von Neumann

Citer les composants de cette machine

Cest quoi un registre ,CO,RI,ACC,dcodeur,seq

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 : ( 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 : ( 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

valuation
Citer les modes dadressage
Cycle dune instruction ?
Droulement de linstruction daddition en mode index
ACC(ACC)+ (ADR)

36

3-Les units dentres /sorties:


Les units dentres /sorties:
Chaque priphrique communique avec LUCC par les units E/S, quelles sont alors
ces units ?
Les bus: ce sont des transporteurs des donnes changes entre le processeur et les
autres unites

bus de donne: transporter les donnes et les instructions de la mmoire vers le


processeur pour leur excution ,une fois termine le rsultat est achemin vers la
mmoire
bus de commande : transporter les signaux de commandes mises par lUCC vers
les autre units (UAL,MC)
Bus dadresse: transporter des adresses
NB: il ya des bus externe et des bus interne.

37

Das könnte Ihnen auch gefallen