Вы находитесь на странице: 1из 6

10/03/2010

ASSEMBLEUR_UEF2.2 OBJECTIFS
Pré-requis : UEF1.2 :algorithmique et
architecture des ordinateurs 1
Compréhension du fonctionnement du
microprocesseur.
Crédits: 3
Cours: 25h TD/TP : 20h Programmation en langage machine.

Mme YAHIAOUI
Mme HASSINI
Mr AMROUCHE

Evaluation PLAN DU MODULE


Rappel:
NP: Note de participation L’architecture de base des ordinateurs
 assiduité + participation
TP: Contrôle intermédiaire sur machine Première partie:
CI: Contrôle intermédiaire écrit Le Microprocesseur Intel 8086

ES: Examen Semestriel Deuxième partie:


Le LANGAGE ASSEMBLEUR du 8086
Moy = [TP+CI+ NP + (2*ES)] / 5

BIBLIOGRAPHIE Architecture de base des


Livres et brochures du langage Assembleur de la ordinateurs
machine cible.
The IA-32 Intel Architecture Software Developer’s
Manual (3 volumes)
80286 Assembleur : H LILEN Edition radio 1987
P. Zanella, Y. Ligier : « Architecture et technologie
des ordinateurs », Ed Dunod, 2005
A. Tanenbaum : « Architecture de l’ordinateur »,
Ed. Dunod, 2001
W. Stallings : « Organisation et architecture de
l’ordinateur », Ed. Pearson Education

1
10/03/2010

Caractéristiques de la mémoire centrale La mémoire centrale


La mémoire centrale est réalisé a base de semi-conducteurs. La mémoire centrale (MC) représente l’espace de
La mémoire centrale est une mémoire vive : accès en lecture et travail de l’ordinateur .
écriture. C’est l’organe principal de rangement des
La mémoire centrale est dite à accès aléatoire (RAM : Random Acces informations utilisées par le processeur.
Memory) c'est-à-dire que le temps d'accès à l'information est Pour exécuter un programme il faut le charger (
indépendant de sa place en mémoire.
copier ) dans la mémoire centrale .
La mémoire centrale est volatile : la conservation de son contenu
nécessite la permanence de son alimentation électrique. Le temps d’accès à la mémoire centrale et sa capacité
La capacité d’une mémoire centrale est limitée mais il y a toujours une sont deux éléments qui influent sur le temps
possibilité d’une extension. d’exécution d’un programme ( performances d’une
Pour la communication avec les autres organes de l’ordinateur, la machine ).
mémoire centrale utilise les bus ( bus d’adresses et bus de données)
7 8

RAM (Registre d’adresse


Mémoire ) : stocke Structure physique de la Comment lire une information ?
l’adresse de l’information MC
à lire ou à écrire .
RIM ( Registre d’information R/W
mémoire ) : stocke
l’information lue ou à D
Pour lire une information en mémoire centrale il faut effectuer les
écrire dans la mémoire. E opérations suivantes:
C

Bus d’adresse R
O
Charger dans le registre RAM l’adresse du mot à lire.
Décodeur : sélectionneur A
D
E
Structure Lancer la commande de lecture ( R/W=1)
d’une case mémoire. U

M R
E
interne L’information est disponible dans le registre RIM au bout d’un certain
R/W : commande de
temps ( temps d’accès)
lecture/écriture
Bus d’adresses : taille k bits
RIM
Bus de données :taille n bits
Bus de données
10

Comment écrire une information ? Comment calculer la capacité d’une MC ?

Pour écrire une information en MC il faut effectuer les opérations Soit k la taille du bus d’adresses ( taille du registre RAM)
suivantes: Soit n la taille du bus de données ( taille du registre RIM ou la taille
d’une case mémoire )
• Charger dans le RAM l’adresse du mot où se fera l’écriture. On peut exprimer la capacité de la mémoire centrale soit en nombre
• Placer dans le RIM l’information à écrire. de mots mémoire ou en bits ( octets, kilo-octets,….)
La capacité = 2k Cases mémoire
• Lancer la commande d’écriture pour transférer le contenu du RIM
dans la mémoire . La capacité = 2k * n Bits
Exemple :
Dans une mémoire la taille du bus d’adresses K=14 et la taille du bus de
données n=4. Calculer la capacité de cette mémoire ?

C=214 = 16384 cases de 4 bits


C= 214 * 4 = 65536 Bits = 8192 Octets = 8 Ko
11 12

2
10/03/2010

Structure Logique de Programme en mémoire centrale


la MC
La mémoire centrale peut être esse 1000000
vue comme un tableau de 1111111
cases ou cellules 0001100
0000H

0001H adresses
0000000
11110000
11000001
} Partie données
( variables )

consécutives. 0011100
0002H
Addition
Soustraction 11100001
11000001
•Une case mémoire stocke 0111100
……
11100001
11100001 Partie instructions
0001100
une information sur n bits. ……. ………….
0001100 ……….
•Chaque case est repérée par contenu……..

un numéro unique: adresse


•La mémoire peut contenir
des programmes et les
données utilisées par les FFFFH
programmes. 13

Machine de Von Neumann


CPU (Central Processing Unit)
UC , processeur ,
microprocesseur, UCT
C’est un circuit intégré à très
haute intégration constitué de
plusieurs circuits LSI ou VLSI qui
réalisent des fonctions de
traitement.

A l'intérieur de l'ordinateur, il est


inséré sur la carte mère.

L’Unité Centrale L’Unité Arithmétique et Logique


UAL
A pour rôle d’exécuter les programmes:
Réalise les opérations élémentaires
effectue la séquence d’instructions stockée en mémoire. (addition, soustraction, multiplication,
...)
Grâce aux différentes Parties qui le constituent
UAL ou ALU (unité arithmétique et logique) Regroupe les circuits qui assurent les
UC (unité de contrôle et de commande) fonctions logiques ( ET,OU,,…..).

Chaque partie est constituée d’un ensemble de


L’UAL comporte un registre
portes logiques: composants semi-conducteurs accumulateur ( ACC ) : c’est un registre
(transistors, résistances ..) de travail qui sert à stocker un
opérande (données ) au début d’une
opération et le résultat à la fin.

17 18

3
10/03/2010

UAL REGISTRES
L’UAL comporte aussi un registre d’état : Ce registre nous indique
l’état du déroulement de l’opération .
Le microprocesseur peut contenir d’autres registres autre que
Ce registre est composé d’un ensemble de bits. Ces bits s’appels CO,RI et ACC.
indicateurs (drapeaux ou flags).
Ces registres sont considérés comme une mémoire interne du
Ces indicateurs sont mis à jours ( modifiés ) après la fin de microprocesseur.
l’exécution d’une opération dans l’UAL.
Ces registres sont plus rapides que la mémoire centrale , mais le
Les principaux indicateurs sont : nombre de ces registre est limité.
Retenue : ce bit est mis à 1 si l’opération génère une retenue.
Signe :ce bit est mis à 1 si l’opération génère un résultat négative.
Débordement :ce bit est mis à 1 s’il y a un débordement.
Zero : ce bit est mis à 1 si le résultat de l’opération est nul.

19 20

L’unité de contrôle L’unité de contrôle


L’unité de contrôle comporte :
Un registre instruction (RI) : contient l’instruction en cours Le rôle de l'unité de contrôle (ou unité de commande ) est de :
d’exécution. Chaque instruction est décodée selon son code Coordonner et synchroniser le travail de toutes les autres unités (
opération grâce à un décodeur. UAL , mémoire,…. )

Un registre qui s’appelle compteur ordinal (CO) ou compteur de


programme (CP ) ou Instruction Pointer (IP) : Elle assure :
Il contient l’adresse de la prochaine instruction à exécuter (pointe la recherche ( lecture ) de l’instruction et des données à partir de la
vers la prochaine instruction à exécuter ). Initialement il contient mémoire,
l’adresse de la première instruction du programme à exécuter. Le décodage de l’instruction et l’exécution de l’instruction en cours
et prépare l’instruction suivante.
Un séquenceur : il organise ( synchronise ) l’exécution des
instructions selon le rythme de l’horloge, il génère les signaux
nécessaires pour exécuter une instruction.

21 22

Schéma détaillé d’une machine Circulation de l’information


Selon l’architecture de Von Neumann:
UC Le microprocesseur échange des
informations avec la mémoire et l’unité
d’E/S, au moyen d’un ensemble de
connexions appelé bus.
Un bus permet:
de transférer des données sous forme
parallèle en faisant circuler n bits
simultanément.

23

4
10/03/2010

LES BUS Performances du processeur


Bus d’adresses permet au microprocesseur de
spécifier l’adresse de la case mémoire à lire ou à Fréquence et Largeur
écrire. Il est unidirectionnel, seul le La fréquence est un concept simple à comprendre, elle
microprocesseur peut délivrer des adresses. se mesure en mégahertz (MHz ou GHz) : nombre de
millions de cycles que le processeur est capable d’effectuer
Bus de données: Permet les transferts entre le par seconde.
microprocesseur et la mémoire ou les E/S. La largeur d’un processeur est un concept un peu plus
bidirectionnels complexe. Trois paramètres exprimés sous la forme d’une
Bus de commande: transmet les ordres de largeur :
lecture et d’écriture de la mémoire et les signaux ➠ le bus d’E/S de données;
de synchronisation en provenance de l’unité de ➠ les registres internes;
commande à destination des E/S. il transmet ➠ le bus d’adresses de mémoire.
également les signaux de réponse des éléments
matériels. directionnel

Comment améliorer les Amélioration de la performance


performances ?
Augmenter la vitesse de l’horloge Augmenter la largeur du bus
Réduction de la géométrie sur la puce minimiser les délais de
propagation et la consommation de puissance. Les processeurs modernes ont des bus de données de
~ 0,13 microns (µm).
plus en plus larges, ce qui augmente la quantité
d’informations (données et instructions) lues lors de
Les vitesses d’horloge atteignent présentement plus de 1 GHz
(2 GHz pour le Pentium 4). chaque accès à la mémoire.
La vitesse d’horloge à un impact important sur l’utilisation
des bus.
La durée d’un cycle d’horloge est de l’ordre de ns
Les temps d’accès à la mémoire est de l’ordre de
quelques dizaines de ns.

EXÉCUTION D’UNE INSTRUCTION EXÉCUTION D’UNE INSTRUCTION (microprocesseur 8086)

Le microprocesseur place le
Exécution séquentielle: contenu de PC (10000H) sur le
bus adresses
et met RD à 1 (cycle de lecture).
Chargement de l’instruction La mémoire met sur le bus
données le contenu de sa
Décodage de l’instruction mémoire numéro 10000H (ici
89D9H qui est le code de MOV
Chargement des opérandes s’il y a lieu C,B ).
Exécution Le microprocesseur place dans
son registre d’instruction le
Écriture du résultat contenu du bus données
(89D9H).
L’unité de commande décode et
exécute l’instruction MOV C,B

5
10/03/2010

Codage d’une instruction


Jeu d’instructions Les instructions et leurs opérandes ( données ) sont stocké dans la
mémoire.

Chaque microprocesseur possède un certain nombre limité d’instructions La taille d’une instruction ( nombre de bits nécessaires pour la représenter
qu’il peut exécuter. Ces instructions s’appelles jeu d’instructions. en mémoire ) dépend du type de l’instruction et du type de l’opérande.

Le jeu d’instructions décrit l’ensemble des opérations élémentaires que le L’instruction est découpée en deux parties :
microprocesseur peut exécuter. Code opération ( code instruction ) : un code sur N bits qui indique
Les instructions peuvent être classifiées en 4 catégories : quelle instruction.

Instruction d’affectation : elle permet de faire le transfert des données La champs opérande : qui contient la donnée ou la référence ( adresse
entre les registres et la mémoire ) à la donnée.
• Écriture : registre  mémoire
• Lecture : mémoire  registre Code opération opérande
Les instructions arithmétiques et logiques ( ET , OU , ADD,….)
Instructions de branchement ( conditionnelle et inconditionnelle )
•Le format d’une instruction peut ne pas être le même pour toutes
Instructions d’entrées sorties.
les instructions.
•Le champs opérande peut être découpé à sont tous en plusieurs
champs
31 32

Machine à 1 adresses Machine à 2 adresses


Dans de type de machine pour chaque instruction il faut préciser :
Dans de type de machine pour chaque instruction il faut préciser l’adresse du premier opérande
uniquement l’adresse du deuxième opérande. du deuxième opérande ,
Le premier opérande existe dans le registre accumulateur. l’adresse de résultat est implicitement l’adresse du deuxième
Le résultat est mis dans le registre accumulateur. opérande .

Code Operande 1 Opérande 2


opération
ExempleCode
: opération
opérande

Exemple : ADD A ( ACC(ACC) +A )


Exemple : ADD A,B ( BA +B )
ADD A ( ACC(ACC) + A )

Ce type de machine est le plus utilisé.


33 34

Machine à 3 adresses
Dans ce type de machine pour chaque instruction il faut préciser :
l’adresse du premier opérande
l’adresse du deuxième opérande
l’emplacement du résultat

Code Operande 1 Operande 2 Résultat


opération

Exemple : ADD A,B,C ( CB+C )

Dans ce type de machine la taille de l’instruction est


élevée. 35