You are on page 1of 41

Universit Saad Dahleb de Blida

Facult des Sciences


Dpartement dInformatique

Licence Gnie des Systmes Informatique (GSI)


Semestre 3 (2me anne)

CHAPITRE II
ARCHITECTURE INTERNE
DES

PROCESSEURS

Cours n2: 23 Octobre 2013

AROUSSI Sana
Disponible sur https://sites.google.com/a/esi.dz/s-aroussi/

PLAN DU CHAPITRE II
Introduction
Unit

Arithmtique et Logique (UAL)

Unit

de Commande (U.C)

Jeu

dinstruction

tapes

dexcution dun instruction

INTRODUCTION

Un programme est un ensemble dinstructions excutes


dans un ordre bien dtermin.

Un programme est excut par un processeur (machine).

Pour

comprendre

le

mcanisme

dexcution

dun

programme il faut comprendre le mcanisme de


lexcution

dune

instruction

il

faut

connatre

larchitecture du processeur sur lequel va sexcuter cette

instruction.

INTRODUCTION
ARCHITECTURE DE VON NEUMANN (1946)

Unit Centrale

INTRODUCTION
VU DTAILL DE LARCHITECTURE DUN PROCESSEUR
BUS dAdresse
BUS dAdresse interne

Unit de
Traitement

Bus de
commande

Unit de
Commande

Bus de
commande

BUS de donnes interne

BUS de Donnes

INTRODUCTION
REGISTRES

Pour assurer leur fonctionnement lunit de traitement (Partie

oprative) et lunit de commande (Partie contrle), on utilise des


mmoires trs rapides appels registre

En rgle gnral, dans le contexte dun processeur particulier, les


registres sont associs des noms court (ou mnmonique) indiquant
leur rle dans une architecture de processeur
Nom

Dsignation

RI

Registre Instruction

ACC

Registre Accumulateur

RAM

Registre Adresse Mmoire

PC

Compteur Programme

RE

Registre dEtat

INTRODUCTION
REGISTRES DU TRAVAIL

Le microprocesseur peut contenir dautres registres autre que

RI, ACC, RAM, PC et RE.

Ces registres, appels registres de travail, sont considrs

comme une mmoire interne du microprocesseur.

Les registres de travail sont plus rapide que la mmoire


centrale , mais leur nombre 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

INTRODUCTION
EXEMPLE DE MICRO ARCHITECTURE

INTRODUCTION

Registres de
travail

LA MACHINE PDAGOGIQUE MIASM

Unit de
traitement

Unit de
commande

UNIT DE TRAITEMENT
Est ddi contenir le rsultat dune
opration ralise par lUAL
ACCUMULATEUR

Registre dtat
UAL

Bus de
contrle

Registres de travail

Bus de Donnes

10

UNIT DE TRAITEMENT
U.A.L

Lunit Arithmtique et Logique (UAL) est un circuit


complexe assurant:

les fonctions logiques (ET, OU, XOR, Comparaison, Dcalage).

les fonctions arithmtique (Addition, soustraction)

Les oprandes sont dans les registres de travail

Les rsultats sont mis dans laccumulateur


11

UNIT DE TRAITEMENT
U.A.L

Reoit deux oprandes A (An . . . A1 A0) et B (Bn . . . B1 B0)


et produit le rsultat S (Sm . . . S1 S0) selon l'indication
applique sur l'entre C (Ck . . . C1 C0).

12

UNIT DE TRAITEMENT
REGISTRE DTAT

Le registre dtat est compos de quelque bits (8 bits en


gnral):

Les bit sont considrs individuellement.

Chaque bit est un indicateur de l'tat du rsultat de la dernire

opration effectue par lUAL.

Les bits sont appels: indicateur dtat, flag, drapeaux.


Le rsultat du test de leur tat conditionne le droulement de la
13

suite dun programme

UNIT DE TRAITEMENT
EXEMPLE DINDICATEURS DU REGISTRE DTAT
C

Bit

Indication

C (Carry)

Bit de la retenue

S (Sign)

Bit du signe

O (Overflow)

Bit de dbordement

Z (Zero)

Rsultat nul

P ( Parity)

Bit de Parit

14

UNIT DE COMMANDE
Bus dadresse
Compteur Programme (PC)

UAL

Squenceur
Dcodeur

Registre dInstruction (RI)

Horloge

Bus de Donnes

15

UNIT DE COMMANDE
COMPTEUR DE PROGRAMME

Le compteur de programme, appel aussi Compteur


Ordinal (CO), est un registre contenant toujours
ladresse de la prochaine instruction excuter:
Initialis avec l'adresse de la premire instruction excuter du

programme.

Mis jour avec incrmentation dune valeur ou chargement dune


valeur

16

UNIT DE COMMANDE
REGISTRE DINSTRUCTION

Le registre dinstruction contient linstruction en cours


dexcution

Squenceur
Dcodeur
Code Instruction

Informations pour linstruction

Registre dInstruction (RI)


17

UNIT DE COMMANDE
SQUENCEUR

Le Squenceur (contrleur) Organise l'excution des


instructions au rythme de lhorloge

Il labore tous les signaux de commande des diverses


parties du processeur en fonction du code de linstruction

18

Cours n3: 30 Octobre 2013

JEU DINSTRUCTIONS

Chaque processeur possde un certain nombre limit dinstructions


quil peut excuter. Ces instructions sappelles jeu dinstructions.

Le jeu dinstructions dcrit lensemble des oprations lmentaires


que le processeur peut excuter.

Les instructions peuvent tre classifies en 4 catgories :

Instruction daffectation

Instructions arithmtiques et logiques ( ET , OU , ADD,.)

Instructions de branchement ( conditionnelle et inconditionnelle )


20

Instructions dentres sorties.

JEU DINSTRUCTIONS

FORMAT DINSTRUCTION

Linstruction est compose de deux champs :

Code

dopration

reprsentant

l'action que le

processeur

doit

accomplir.

Champ des oprandes dfinissant les paramtres de l'action. Un

oprande peut s'agir d'une donne ou bien d'une adresse mmoire.


Code opration
N bits

Oprandes
K bits

La taille dune instruction dpend du type de linstruction et du type


de loprande.

Les instructions et leurs oprandes sont stocks dans la mmoire.


21

JEU DINSTRUCTIONS

EXEMPLE DU FORMAT DINSTRUCTION

Instruction trois oprandes: Il faut prciser le premier

oprande, le deuxime oprande et lemplacement du rsultat


Code opration

Exemple: ADD A,B, C

Oprande1

ADD

Oprande2

Rsultat

CA +B

La taille de linstruction est grand Pratiquement il


22

nexistent pas dinstruction de ce type.

JEU DINSTRUCTIONS

EXEMPLE DU FORMAT DINSTRUCTION

Instruction deux oprandes: Il faut prciser le premier

oprande et le deuxime oprande. Le rsultat est implicitement


mis dans le deuxime oprande .
Code opration

Exemple: ADD A,B

ADD

Oprande1

Oprande2

BA +B
23

JEU DINSTRUCTIONS

EXEMPLE DU FORMAT DINSTRUCTION

Instruction un oprande: il faut prciser uniquement le

deuxime oprande. Le premier oprande existe dans le registre


accumulateur. Le rsultat est mis dans le registre accumulateur.
Code opration

Exemple ADD B

ADD

Oprande

ACC ACC +B
24

Ce type dinstruction est le plus utilis.

JEU DINSTRUCTIONS

MODE DADRESSAGE
Code opration

N bits

Oprandes

K bits

Le mode dadressage dfinit la manire dont le


processeur va accder loprande.

Le code opration comporte un ensemble de bits pour


indiquer le mode dadressage.

Les modes dadressage les plus utiliss sont : immdiat,


direct, indirect, index et relatif.
25

JEU DINSTRUCTIONS

ADRESSAGE IMMDIAT

La valeur de loprande existe dans le champ oprande de


linstruction
Code opration

Exemple :

ADD

valeur
150

ADD 150
Cette commande va avoir leffet suivant :

ACCACC+ 150

Si le registre accumulateur contient la valeur 200 alors


aprs lexcution son contenu sera gale 350

26

JEU DINSTRUCTIONS

ADRESSAGE DIRECT

Le champs oprande contient ladresse de loprande (emplacement

en mmoire )

Code opration

adresse de loprande

Pour raliser lopration, il faut rcuprer (lire) loprande partir de la


mmoire.

Exemple :
ADD 150

ADD

150

Cette commande va avoir leffet suivant :


ACCACC+ (150)
ACCACC+ 30
Si le registre accumulateur contient la valeur 200
alors aprs lexcution son contenu sera gale 230

30

150
27

JEU DINSTRUCTIONS

ADRESSAGE INDIRECT

Le champs oprande contient ladresse de ladresse de loprande.


Code opration

adresse dadresse de loprande

Pour raliser lopration, il faut dabord rcuprer ladresse de loprande


partir de la mmoire, ensuite, chercher loprande partir de la mmoire.

Exemple :
ADD

ADD 150

150

Cette commande va avoir leffet suivant :

ACCACC+ ((150))
ACCACC+ (255)

150

255

255

40

ACCACC+ 40
Si le registre accumulateur contient la valeur 200

alors aprs lexcution son contenu sera gale 240

28

JEU DINSTRUCTIONS

ADRESSAGE INDEX

Le champs oprande contient ladresse absolue de loprande.

Ladresse effectif de loprande est relatif une zone mmoire. Ladresse


de cette zone se trouve dans un registre spcial appel registre index.

Adresse oprande = ADR + R_Index


Code opration

adresse absolue de loprande

Registre dindex

50
ADD

150

Adresse absolue

+
200

Adresse effectif

30

29

JEU DINSTRUCTIONS

ADRESSAGE RELATIF

Le champs oprande contient ladresse absolue de loprande.

Ladresse effectif de loprande est relatif une zone mmoire. Ladresse


de cette zone se trouve dans un registre spcial appel registre de
base.

Code opration

adresse absolue de loprande

Ce mode dadressage est utilise pour les instructions de branchement.


Adresse oprande = ADR + R_Base
Registre de base

100
BR

130

Adresse absolue

+
230

Adresse effectif

ADD

200

30

Cours n4: 6 Novembre 2013

TAPES DEXCUTION DUNE INSTRUCTION


Phase 1

Phase 2

Phase 3

Phase 4

Phase 5

Rechercher (ou charger) linstruction traiter

Dcoder linstruction charge


Rechercher (ou charger) loprande
Excuter linstruction
Passer linstruction suivante

32

TAPES DEXCUTION DUNE INSTRUCTION

PHASE 1 : CHARGER LINSTRUCTION TRAITER


1.

Mettre le contenu du CO dans le registre RAM : RAM CO

2.

Commande de lecture partir de mmoire

3.

Transfert du contenu du RIM dans le registre RI: RI RIM

1
CO

2001

Bus dadresse

Lecture
Bus de commandes

RAM

100

150

......
2001

Instruction 1

2002

Instruction 2

2003

Instruction 3
RIM
33

RI

Instruction 1

Bus de donnes

TAPES DEXCUTION DUNE INSTRUCTION

PHASE 2 : DCODER LINSTRUCTION

Le code dopration la nature de l'opration effectuer (addition,

soustraction,...) et le nombre de mots de l'instruction

A la base du code de linstruction le squenceur labore une suite de


commandes lmentaires
Les commandes labores chaque cycle
dhorloge

Squenceur

horloge
Rsultat du dcodage

Dcodeur
Code Opration

Registre dInstruction

34

TAPES DEXCUTION DUNE INSTRUCTION

PHASE 3 : CHARGER LOPRANDE

Si l'instruction ncessite une donne qui se trouve en mmoire, le

squenceur met les commandes pour rcuprer cette donne.


RAM RI. ADR

ACC
ADD

Squenceur

Lecture

Addition en
mode direct
Registre de
150
donnes (RD)

Dcodeur

RI

100
RAM

UAL

100

150
......

2001

Instruction 1

2002

Instruction 2

2003

Instruction 3
RIM

ADD 100

ACC ACC + (100)

35

UAL RIM

TAPES DEXCUTION DUNE INSTRUCTION

PHASE 4 : EXCUTER LINSTRUCTION


Les bits dtat sont positionns
S = 0, Z = 0, .....

Etat
Aprs lexcution: ACC =200

ACC ACC + RD

ACC = 50
UAL

RD = 150

ADD

36

TAPES DEXCUTION DUNE INSTRUCTION

PHASE 5 : PASSER LINSTRUCTION SUIVANTE

Le Compteur Ordinal (CO) est mis jour avec ladresse de


l'instruction suivante.

CO CO + 1
CO

2001
2002

UAL

Squenceur

Registre de
donnes (RD)

Dcodeur
RI

ADD (2002)

100
RAM

ACC

150
......

2001

Instruction 1

2002

Instruction 2

2003

Instruction 3
RIM

37

TAPES DEXCUTION DUNE INSTRUCTION


DROULEMENT DE LINSTRUCTION DADDITION EN MODE DIRECT

ADD ADR

Phase 1 : Charger linstruction


RAM CO
Lecture
RI RIM

Phase 2: Dcoder linstruction


Phase 3: Charger loprande
RAMADR
Lecture
RDRIM

Phase 4: Excuter linstruction


ACC ACC + RD

Phase 5: Passer linstruction suivante


COCO + 1

38

TAPES DEXCUTION DUNE INSTRUCTION


DROULEMENT DE LINSTRUCTION DADDITION EN MODE IMMDIAT

ADD VALEUR

Phase 1 : Charger linstruction


RAM CO
Lecture
RI RIM

Phase 2: Dcoder linstruction


Phase 4: Excuter linstruction
RDvaleur
ACC ACC + RD

Phase 5: Passer linstruction suivante


COCO + 1

39

TAPES DEXCUTION DUNE INSTRUCTION


DROULEMENT DE LINSTRUCTION DADDITION EN MODE INDIRECT

ADD ADR

Phase 1 : Charger linstruction


RAM CO
Lecture
RI RIM

Phase 2: Dcoder linstruction


Phase 3: Charger loprande
RAMADR
Lecture
RAMRIM
Lecture
RDRIM

Phase 4: Excuter linstruction


ACC ACC + RD

Phase 5: Passer linstruction suivante


COCO + 1

40

SOURCES DE CE COURS

Djamal BENNOUAR, Cours Architecture des Ordinateurs 1,


Dpartement Informatique, Facult des Sciences, USDB, 2012.

Amrouche Hakim, Cours dArchitecture des ordinateurs, cole


nationale

Suprieure

dInformatique

(ESI),

Alger,

Anne

universitaire 2011/2012. Disponible sur http://amrouche.esi.dz/

41

You might also like