You are on page 1of 9

UUniversit de Bouira Facult des sciences

Cours Module Structure Machine


Chapitre: Architecture de Base Filire MI 1re Anne S2

Architecture de base d'un ordinateur


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.
Pour excuter un programme par une machine, on passe par les tapes suivantes :
dition : on utilise gnralement un diteur de texte pour crire un programme et le sauvegarder dans un
fichier.
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.
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.

Octobre 2013 1/9


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 ).

Structure dun programme en MC

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.

Octobre 2013 2/9


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.
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 principaux 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.
Oprations
C0 C1 C2 Code Rsultat

0 0 0 ADD A + (B + Cin) La retenue Cout =1 si il y a une retenue

La retenue en entre Cin

0 0 1 SUB A - (B + Cin) Cout =1 si il y a une retenue

0 1 0 MUL A*B Cout = 0

0 1 1 DIV A/B Cout = 0

1 0 0 EQ 1 si A == B sinon 0 Cout = 0

1 0 1 CMP 1 si A < B sinon 0 Cout = 0

1 1 0 LSH A << B A est dcal gauche par (B et Cin)

Cout est le dernier bit dcal gauche de A

1 1 1 RSH A >> B (A est dcal droite par B et Cin


Cout est le dernier bit dcal droite de A

Octobre 2013 3/9


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.
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.

Schma dtaill dune machine

Octobre 2013 4/9


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
Une machine avec des registres de travail

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.

Octobre 2013 5/9


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

--- N bits -- --- K bits --

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 Oprande Oprande Rsultat
1 2

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.

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 Oprande Oprande2


1

Exemple :

ADD A,B ( BA+B )

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 Oprande1

Exemple :

ADD A ( ACC(ACC) + A )

Ce type de machine est le plus utilis.

Octobre 2013 6/9


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
4.1 Adressage immdiat
Loprande existent dans le champs adresse de linstruction
Exemple :

ADD 150 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

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 .

A la fin de lexcution nous allons avoir la valeur 50 ( 20 + 30 )

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
4.4 Adressage index
Ladresse effectif de loprande est relatif une zone mmoire.

Octobre 2013 7/9


Ldresse de cette zone se trouve dans un registre spcial ( registre indexe ).
Adresse oprande = ADR + (X)
Remarque : si ADR ne contient pas une valeur immdiate alors

Adresse oprande = (ADR )+ (X)

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)

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

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

Octobre 2013 8/9


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

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

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

Octobre 2013 9/9

You might also like