Vous êtes sur la page 1sur 87

Angora AMAN

Maître de Conférences
UFHB Cocody – LAPA MF
angora.aman@gmail.com
Tel: +22507827752 1
2
3
4
5
QU’EST-CE QU’UN PROCESSEUR ?

Le processeur ou CPU (Central Processing Unit) est


le composant de votre ordinateur qui exécute les
instructions qui lui sont données par votre système
d’exploitation (Windows). Quand vous lancez un
logiciel, regardez une vidéo Haute Définition ou
lorsque vous jouez à un jeu vidéo, vous faites
travailler en priorité le processeur ! Pour répondre à
vos demandes les plus exigeantes, le processeur
peut être doté des plusieurs cœurs.

6
Qu’est-ce qu’un cœur ?
Un processeur standard possède un cœur (on dit
qu’il est single-core). Un processeur avec un seul
cœur ne peut traiter qu’une seule instruction à la
fois. Une instruction est une tâche qu’on demande
au processeur d’exécuter

Qu’est-ce qu’un processeur multi-cœurs ?


Un processeur multi-cœur est composé de deux ou
plusieurs cœurs indépendants, chacun étant
capable de traiter des instructions individuellement.
Un processeur dual-core contient deux cœurs, un
processeur quad-core quatre cœurs, un
processeur hexa-core six cœurs…
7
Un processeur multi-coeur permet à
l’utilisateur d’exécuter plusieurs tâches en
même temps sans subir de ralentissements !

 Les cœurs sont utiles si vous utilisez plusieurs


logiciels à la fois. Quand un programme est en
cours d’exécution et traité par un cœur, vous
pouvez solliciter un autre cœur pour utiliser
votre navigateur internet ou écrire un document.

8
Pour pouvoir comparer les processeurs d’une même
gamme (Core i3, Core i5 et Core i7), voici les points
essentiels que vous devez consulter : la fréquence,
le nombre de cœurs, la mémoire cache et si les
processeurs possèdent ou non les technologies
Hyper-Treading et Turbo Boost.

La fréquence
La fréquence correspond à la vitesse du processeur,
elle détermine la vitesse à laquelle une tâche peut être
effectuée La fréquence est mesurée en gigahertz (Ghz).
Plus la fréquence du processeur est élevée, plus
rapide sera votre ordinateur pour effectuer toute sorte
d’opération !
9
Le nombre de cœurs
 Il correspond au nombre de «moteurs» qu’il y a à
l’intérieur du processeur. Un processeur à quatre
cœurs (quad-core) est plus rapide qu’un processeur
à deux cœurs (dual-core) quand vous exécutez
plusieurs programmes en même temps (on parle
alors de multitâche) ou lorsque vous exécutez des
logiciels qui demandent beaucoup de ressources
comme Photoshop (retouche photo) ou Adobe
Première (montage vidéo).

 Un processeur multi-coeur est indispensable si


vous avez tendance à utiliser plusieurs logiciels en
même temps.
10
Hyper-Threading
Pour comprendre le fonctionnement de la
technologie Hyper-Threading, il faut d’abord
comprendre la notion de thread
Qu’est-ce qu’un thread ?
Un thread est un fil d’exécution, une
tâche que doit exécuter le processeur.

Be Careful! Un cœur ne peut exécuter qu’une seule


tâche à la fois. Donc, si un processeur a deux cœurs,
deux threads (deux tâches) peuvent être exécutées
simultanément et ainsi de suite.

11
Intel a créé une technologie appelée Hyper-
Threading qui permet de créer deux processeurs
logiques sur une seule puce : un cœur va pouvoir
exécuter deux threads à la fois au lieu d’un seul.

Par exemple, un Core i3, qui a seulement deux


cœurs, peut exécuter deux threads par cœur (au
lieu d’un seul normalement) s’il possède l’Hyper-
Threading, soit un total de quatre threads (au lieu
de deux) ! Ainsi, même si les processeurs Core i5
sont quad-core, s’ils n’ont pas la technologie Hyper-
Threading, le nombre de threads qu’ils peuvent
traiter en même temps est à peu près égal à celui
des Core i3 disposant de l’Hyper-Threading.
12
Le gain de la technologie Hyper-Threading est
d’environ 30% pour un même processeur sans Hyper-
Threading.
C’est l’une des nombreuses raisons pour
lesquelles les processeurs Core i7 sont si
performants. Non seulement ils ont quatre cœurs
mais ils prennent également en charge la
technologie Hyper-Threading. Ainsi, un total de 8
threads peut être exécuté en même temps !
Combinez cela avec 8 Mo de cache et la
technologie Intel Turbo Boost et vous
comprendrez pourquoi le Core i7 est aussi
puissant

13
Turbo Boost
Turbo Boost est une autre technologie d’Intel qui
est utilisée pour permettre au processeur
d’augmenter dynamiquement sa fréquence
chaque fois que le besoin s’en fait sentir.

Par exemple, un processeur avec une fréquence de


2,4 GHz peut fonctionner aussi rapidement qu’un
processeur à 2.93GHz si les outils de surveillance
(incorporés dans le processeur) estiment que les
tâches demandées par l’utilisateur nécessitent une
vitesse de traitement plus rapide.

14
La taille de la mémoire cache

Si le processeur constate qu’il continue d’utiliser


les mêmes données encore et encore, il stocke ces
données dans son cache. Le cache agit comme la
mémoire vive (RAM), mais plus rapidement car il est
intégré dans le processeur. La mémoire vive et le
cache servent en fait de zone de stockage pour les
données fréquemment utilisées. Sans eux, le
processeur devrait continuer à lire les données à
partir du disque dur, ce qui prendrait beaucoup plus
de temps.

15
On différencie plusieurs niveaux de caches,
souvent au nombre de trois :
•Le cache de premier niveau (L1), plus rapide et
plus petit ;
•Le cache de second niveau (L2), moins rapide et
plus gros ;
•Le cache de troisième niveau (L3), encore moins
rapide et encore plus gros.

16
LES BUS

17
Caractéristiques d'un bus
Un bus est caractérisé par le volume d'informations
transmises simultanément.
Une nappe de 32 fils permet ainsi de transmettre
32 bits en parallèle. On parle ainsi de « largeur »
pour désigner le nombre de bits qu'un bus peut
transmettre simultanément.
D'autre part, la vitesse du bus est également
définie par sa fréquence (exprimée en Mhz),
De cette façon, il est possible de connaître
le débit maximal du bus (ou taux de transfert
maximal), c'est-à-dire la quantité de données qu'il
peut transporter par unité de temps, en multipliant
sa largeur par sa fréquence.
18
On retrouve trois types de bus:
- un bus de données : bidirectionnel qui assure le
transfert des informations entre le microprocesseur
et son environnement, et inversement.
- un bus d'adresses: unidirectionnel qui permet la
sélection des informations à traiter dans un espace
mémoire (ou espace adressable)
- un bus de commande: constitué par quelques
conducteurs qui assurent la synchronisation des flux
d'informations sur les bus des données et des
adresses.

19
GENERALITES SUR LES MEMOIRES

Définition: Une mémoire est un circuit à semi-


conducteur permettant d’enregistrer, de conserver et
de restituer des informations (instructions et variables).
Organisation d’une mémoire
Une mémoire peut être représentée comme une armoire
de rangement constituée de différents tiroirs. Chaque
tiroir représente alors une case mémoire qui peut contenir
un seul élément : des données. Le nombre de cases
mémoires pouvant être très élevé, il est alors nécessaire
de pouvoir les identifier par un numéro. Ce numéro est
appelé adresse. Chaque donnée devient alors accessible
grâce à son adresse.
20
21
Caractéristiques d’une mémoire
La capacité :
C’est le nombre total de bits que contient la mémoire.
Mais elle s’exprime souvent en Mo ou Go
Le format des données :
C’est le nombre de bits que l’on peut mémoriser par
case mémoire. On dit aussi que c’est la largeur du mot
mémorisable.

Le temps d’accès
C’est le temps qui s'écoule entre l'instant où a été
lancée une opération de lecture/écriture en mémoire et
l'instant où la première information est disponible sur le
bus de données.
22
Le débit :
C’est le nombre maximum d'informations lues
ou écrites par seconde.

Volatilité :
Elle caractérise la permanence des informations
dans la mémoire. L'information
stockée est volatile si elle risque d'être altérée par
un défaut d'alimentation électrique et non volatile
dans le cas contraire.

23
LES DIFFERENTS TYPES DE MEMOIRE
Les mémoires vives (RAM)
Une mémoire vive sert au stockage temporaire de données.
Les mémoires vives sont en général volatiles : elles perdent
leurs informations en cas de coupure d'alimentation. Il
existe deux grandes familles de mémoires RAM (Random
Acces Memory : mémoire à accès aléatoire) :
Les RAM statiques SRAM
Les RAM dynamiques DRAM
DRAM
Les mémoires dynamiques (DRAM, Dynamic Random
Access Module), peu coûteuses. Elles sont principalement
utilisées pour la mémoire centrale de l'ordinateur.

24
25
SRAM
Les mémoires statiques (SRAM, Static Random
Access Module), rapides et onéreuses. Les SRAM sont
notamment utilisées pour les mémoires cache
du processeur

26
Les mémoires mortes (ROM)
Pour certaines applications, il est nécessaire de
pouvoir conserver des informations de façon
permanente même lorsque l'alimentation électrique
est interrompue. On utilise alors des mémoires
mortes ou mémoires à lecture seule (ROM : Read
Only Memory). Ces mémoires sont non
volatiles
La ROM est programmée par le fabricant et
son contenu ne peut plus être ni modifié, ni
effacé par l'utilisateur

27
AUTRES MEMOIRES
Les registres sont les éléments de mémoire les plus
rapides. Ils sont situés au niveau du processeur et servent
au stockage des opérandes et des résultats intermédiaires.
La mémoire cache est une mémoire rapide de faible
capacité destinée à accélérer l’accès à la mémoire centrale
en stockant les données les plus utilisées.
La mémoire d’appui sert de mémoire intermédiaire
entre la mémoire centrale et les mémoires de masse. Elle
joue le même rôle que la mémoire cache.
La mémoire de masse est une mémoire périphérique
de grande capacité utilisée pour le stockage permanent ou
la sauvegarde des informations.

28
INTERFACES D’E/S
Les mémoires secondaires (mémoire de masse)
Le disque dur qui stocke les informations des
programmes et données de base de la machine.
Le disque dur est constitué de
plusieurs plateaux empilés,
entre lesquels se déplace un
bras comptant plusieurs têtes
de lecture. Chaque plateau est
recouvert d'une surface
magnétique sur ses deux faces
et tourne à une vitesse
comprise entre 4000 et 15000
tr/min.
29
Caractéristiques techniques Hitachi Travelstar 7K1000 1 To
Capacité : 1 To
•Vitesse de rotation : 7200 tpm
•Mémoire tampon : 32 Mo
•Interface : Serial-ATA 6 Gb/s
•Technologie deux plateux
•Consommation (lecture/écriture) : 1.8W
•Hauteur du disque : 9.5mm
•Densité par plateau : 500 Go
•Temps de latence moyen : 4.2 ms
•Temps d’accès moyen : 12 ms
Applications : PC portables, Consoles de jeux, Disques durs
30
externes...
Le disque dur externe

C’est un disque dur conventionnel embarqué dans un


boitier solide facilement transportable qui se connecte à
un ordinateur en USB. Le but est de pouvoir transporter
un très grand nombre de données ou faire une
sauvegarde complète de son ordinateur pour protéger
ses données.
Caractéristiques :
Type de lecteur : disque dur portable alimenté
par bus;
Options du connecteur : USB 3.0, USB, 2.0;
Vitesse d'entraînement interne : 5400 rpm;
Capacité de l'unité de révision : 2 TB;

31
Le marché des disques durs externes était jusqu'ici
scindé en deux, avec une offre 3,5" et une autre
2,5« . Ceux en 2,5" s'alimentent par leur port USB
et tiennent dans une main.
Depuis peu, a été mis sur le marché le SSD
externe(Solid-state drive). Souvent bien plus petit
que le HDD externe 2,5", il se veut beaucoup plus
rapide, propose un temps de réponse incomparable
et, sans pièce mécanique, il est plus résistant au
transport et aux chutes.

32
Une clé USB est un support de stockage amovible,
inventé dans les années 2000, qui se branche sur
le port Universal Serial Bus d'un ordinateur, ou, plus
récemment, de certaines chaînes Hi-Fi, lecteurs de
DVD de
salon, autoradios, radiocassettes, téléviseurs. Un clé
USB contient une mémoire flash et ne possède pas
ou très peu d'éléments mécaniques, ce qui la rend
très résistante aux chocs.
Elle permet de copier facilement des fichiers d'un
appareil, ayant des capacités d'écriture, à un autre

33
Les périphériques d’entrée

On y retrouve principalement : clavier (frappe de


texte), souris (pointage), scanner (numérisation de
documents papier), micro, webcam, etc.
Clavier : Permet d’écrire (AZERTY, QWERTY)

Souris : Permet de déplacer sur l’écran le curseur


de pointage

34
Scanner: Permet l’acquisition d’images, de textes
sur un ordinateur

Micro : Permet de capter une source sonore

Webcam : Permet de capter une source animée

35
•Les périphériques de sortie
Les périphériques de sortie servent à faire sortir des
informations du système informatique : écran, imprimante,
haut-parleur, etc
Écran : Permet de visualiser les informations venant de l’ordinateur

Il permet l'affichage de l'interface (graphique ou texte) qui


permet à l'utilisateur d'interagir avec sa machine via le
système d'exploitation.
L'écran est relié à l'unité centrale de l'ordinateur par un
câble connecté à la sortie de la carte graphique. Le
transfert se fait par un signal analogique ou numérique
suivant la technologie supportée par la carte graphique et
l'écran.
36
•Taille
Mesurée en pouces (1.7 cm à peu près) elle détermine la taille
de la surface d'affichage de l'image en donnant la longueur de la
diagonale du rectangle que forme l'écran. On retrouve les tailles
standards suivantes : 15, 17, 19, 20, 21, 22, 24...
•Résolution
Elle s'exprime en "nombre de lignes verticales" x "Nombre de
lignes horizontales" et donne une indication sur la finesse de la
représentation de l'image. Une résolution de 1024*768 (la
résolution standard actuellement) permet d'afficher plus de
détails et offre donc plus d'espace de travail qu'une résolution
800*600 (Basse résolution). En contrepartie de leur niveau de
détail, les résolutions élevées peuvent affecter la vue et causer
une fatigue du fait de la taille réduite des caractères affichés
37
Imprimante: permet de mettre sur support d’impression (papier,
carton, plastique, …) des images, des textes, … provenant de
l’ordinateur (jet d’encre, laser)

38
Exemple des principaux ports de connexion :
•Ports USB, Série, Parallèle : qui permettent de
connecter facilement des périphériques à l’ordinateur
tels qu’une imprimante, une souris, un clavier, un
disque dur externe, une webcam, un scanner, …
•Les ports PCI, PCI Express : qui permettent de
connecter facilement à la carte mère des cartes
additionnelles telles que la carte son, la carte vidéo, la
carte réseau.
•Les ports Séries ou Sérial-Ata : Pour connecter le(s)
disque(s) dur(s) interne à l’unité centrale, le(s)
lecteur(s) de disque(s) (Cd-Rom, Dvd-Rom, Blue
Ray), …

39
•Prise écouteurs, prise micro : Relié en générale à
la carte son qui nous permettent de connecter un micro
et des écouteurs (haut-parleur) à notre ordinateur.
•Port réseau (ou LAN) : Relié à la carte réseau et qui
nous permet de nous brancher notre ordinateur au réseau
internet (Intranet) ou externe (exemple : Internet).
•Les ports VGA ou DVI : relié à la carte graphique et
qui nous permettent de relier notre ou nos écrans à
l’ordinateur.

40
41
42
LA COUCHE CIRCUITS LOGIQUES
VARIABLE LOGIQUE
Un ordinateur ne manipule que des données
binaires, on appelle donc variable logique une
donnée binaire, c'est-à-dire une donnée ayant deux
états possibles: 0 ou 1.

FONCTIONS LOGIQUES
On appelle «fonction logique» une entité
acceptant plusieurs valeurs logiques en entrée et
dont la sortie (il peut y en avoir plusieurs) peut
avoir deux états possibles : 0 ou 1 43
PORTES LOGIQUES
Les fonctions logiques de bases sont appelées portes
logiques. Fonctions ayant une ou deux entrées et
une sortie:

•La fonction OU (en anglais OR) : sortie à 1 si l'une ou


l'autre de ses entrées est à 1
•La fonction ET (en anglais AND) : sortie à 1 si ses deux
entrées sont à 1
•La fonction OU EXCLUSIF (en anglais XOR) : sortie à
1 si l'une ou l'autre de ses entrées est à 1 mais pas les
deux simultanément

44
•La fonction NON (inverseur) positionne sa sortie à 1 si son
entrée est à 0, et vice-versa
On définit généralement les fonctions NON OU (couramment
appelée NOR) et NON ET (NAND) comme étant la
composition respective d'un NON avec un OU et un ET.

45
46
47
48
49
50
51
Architecture de base d'un ordinateur
Objectifs

• Comprendre l’architecture d’une machine Von


Newman.

• Comprendre les étapes de déroulement de


l’exécution d’une instruction.

• Comprendre le principe des différents modes


d’adressage.
52
1. Introduction

• Un programme est un ensemble d’instructions


exécutées dans un ordre bien déterminé.

• Un programme est exécuté par un processeur


(machine ).

• Un programme est généralement écrit dans un


langage évolué (Fortran, Pascal, C, Java, Matlab,
etc.).

53
Constitution d’une instruction

• Une instruction est une opération élémentaire


d’un langage de programmation, c’est-à-dire qu’il
s’agit du plus petit ordre que peut comprendre un
ordinateur.
Ex en Basic: Let C= A+B (faire une addition entre
le contenu de la donnée A et celui de B).

Toutes les instructions présentent en fait 2 types


d’information:
-Ce qu’il faut faire comme action (add, affichage…)
- Avec quelles données réaliser cette action (A, B..)
54
Une instruction peut se décomposer en 2 champs.

Code operation Opérande


Ce qu’il faut faire Avec quoi le faire?

Les instructions machines sont propres à chaque


microprocesseur mais sont toujours construites de
la même manière : un code opération qui définit
l’opération à exécuter, le champ opérande qui
définit la ou les données sur lesquelles portent
l’opération :

55
– le code opération est codé sur un nombre de bits qui caractérise un
microprocesseur. Ce nombre de bits définit en fait le nombre
d’opérations possibles avec cet ordinateur: un code opération sur 3
bits admet 8 combinaisons permettant la définition de 8 opérations
différentes (instructions machine) possibles. La taille du code
opération est donc un facteur déterminant qui caractérise
complètement le nombre d’instructions qu’est capable d’exécuter un
processeur ;
le champ opérande est une suite de bits qui permet de caractériser
l’adresse de la ou des donnée(s) que manipule(nt) l’instruction
machine définie par le code opération. Il existe plusieurs types
d’instructions machines qui peuvent manipuler une ou plusieurs
données selon la « puissance » du langage machine du
microprocesseur utilisé. Il existe également plusieurs manières de
définir, à partir du champ opérande, l’adresse d’une donnée: cela
repose sur le mécanisme d’adressage d’un microprocesseur qui définit
les différentes manières de calculer une adresse de données. On
parle également de modes d’adressages du microprocesseur.
56
Le problème

57
58
59
• Les instructions qui constituent un
programme peuvent être classifiées en 4
catégories :

– Les Instructions d’affectations : permet de


faire le transfert des données

– Les instructions arithmétiques et logiques.

– Les Instructions de branchement


(conditionnelle et inconditionnelle)

– Les Instructions d’entrées sorties. 60


Pour exécuter un programme par une machine,
on passe par les étapes suivantes :
– Édition : on utilise généralement 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 la mémoire afin de l’exécuter .


61
Comment s’exécute un programme dans la
machine ?

• Pour comprendre le mécanisme d’exécution


d’un programme il faut comprendre le
mécanisme de l’exécution d’une instruction .

• Pour comprendre le mécanisme de l’exécution


d’une instruction il faut connaître
l’architecture de la machine (processeur) sur
laquelle va s’exécuter cette instruction.

62
2. Architecture matérielle d’une machine
(Architecture de Von Neumann)

L’architecture de Von Neumann est


composée:
• D’une mémoire centrale,
• D’une unité centrale UC , CPU (Central
Processing Unit), processeur
microprocesseur.
• D’un ensemble de dispositifs d’entrées
sorties pour communiquer avec l’extérieur.
• Cette architecture est la base des
architectures des ordinateurs.
63
64
2.1 La mémoire centrale
• La mémoire centrale (MC) représente l’espace
de travail de l’ordinateur
• C’est l’organe principal de rangement des
informations utilisées par le processeur.
• Pour exécuter un programme dans un
ordinateur, il faut le charger (copier) dans la
mémoire centrale
• Le temps d’accès à la mémoire centrale et sa
capacité sont deux éléments qui influent sur
le temps d’exécution d’un programme
(performances d’une machine ).
65
66
67
2.2 L’Unité Centrale (UC)
• L’unité centrale (appelée aussi processeur ,
microprocesseur) à pour rôle d’exécuter
les programmes.
• L’UC est composée d’une unité arithmétique et
logique (UAL) et d’une unité de contrôle.
- L’unité arithmétique et logique réalise les
opérations élémentaires (addition, soustraction,
multiplication, . . .) .
- L’unité de commande contrôle les opérations sur
la mémoire (lecture/écriture) et les opérations à
réaliser par l’UAL selon l’instruction en cours
d’exécution.
68
69
• L’unité arithmétique et logique réalise une opération
élémentaire (addition, ,soustraction, multiplication, . . .).
• L’UAL regroupe les circuits qui assurent les fonctions
logiques et arithmétiques de bases ( ET,OU,ADD,SUS,
…..).
• L’UAL comporte un registre accumulateur ( ACC ) : c’est
un registre de travail qui sert a stocker une opérande
(données )au début d’une opération et le résultat à la fin.
• L’UAL comporte aussi un registre d’état : Ce registre
nous indique l’état du déroulement de l’opération .
• Ce registre est composé d’un ensemble de bits. Ces
bits s’appellent indicateurs (drapeaux ou flags).
• Ces indicateurs sont mis à jour ( modifiés )après la fin
de l’exécution d’une opération dans l’UAL.
70
Les principaux indicateurs sont :

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égatif.
Débordement :ce bit est mis à 1 s’il y a un
débordement.
Zéro : ce bit est mis à 1 si le résultat de
l’opération est nul.

71
2.2.2 Unité de contrôle

• Le rôle de l'unité de contrôle (ou unité de


commande ) est de :
– coordonner le travail de toutes les autres unités
( UAL , mémoire,…. )
– assurer la synchronisation de l'ensemble.
• Elle assure :
– la recherche (lecture) de l’instruction et des
données à partir de la mémoire,
– le décodage de l’instruction et l’exécution de
l’instruction en cours
– prépare l’instruction suivante.
72
• L’unité de contrôle comporte :

– Un registre instruction (RI) : contient l’instruction en


cours d’exécution. Chaque instruction est décoder
selon sont code opération grâce à un décodeur.
– Un registre appelé compteur ordinal (CO) ou le
compteur de programme (CP ) : contient l’adresse de
la prochaine instruction à exécuter (pointe vers la
prochaine instruction à exécuter ). Initialement il
contient l’adresse de la première instruction du
programme à exécuter.
– Un séquenceur : il organise ( synchronise )
l’exécution des instruction selon le rythme de l’horloge,
il génère les signaux nécessaires pour exécuter une
instruction. 73
Schéma détaillé d’une machine

74
Remarque
• Le microprocesseur peut contenir d’autres
registres autre que CO,RI et ACC.
• Ces registres sont considérés comme une
mémoire interne (registre de travail ) du
microprocesseur.
• Ces registres sont plus rapides que la mémoire
centrale , mais le nombre de ces registres est
limité.
• Généralement ces registres sont utilisés pour
sauvegarder les données avant d’exécuter une
opération.
• Généralement la taille d’un registre de travail est
égale à la taille d’un mot mémoire 75
3.Jeu d’instructions
• Chaque microprocesseur possède un certain nombre
limité d’instructions qu’il peut exécuter. Ces instructions
s’appellent jeu d’instructions.
• Le jeu d’instructions décrit l’ensemble des opérations
élémentaires que le microprocesseur peut exécuter.
• Les instructions peuvent être classifiées en 4 catégories :
– Instruction d’affectation : elle permet de faire le transfert
des données entre les registres et la mémoire
• Écriture : registre mémoire
• Lecture : mémoire registre
– Les instructions arithmétiques et logiques (ET , OU ,
ADD,….)
– Instructions de branchement (conditionnelle et
inconditionnelle)
– Instructions d’entrées sorties. 76
3.1 Codage d’une instruction
• Les instructions et leurs opérandes (données) sont
stockées dans la mémoire.
• La taille d’une instruction (nombre de bits nécessaires
pour la représenter en mémoire ) dépend du type de
l’instruction et du type de l’opérande.
• L’instruction est découpée en deux parties :
– Code opération (code instruction) : un code sur N bits qui
indique quelle instruction.
– Le champ opérande : qui contient la donnée ou la
référence (adresse) à la donnée.

77
78
Machine à 1 adresse
• Dans ce type de machine, pour chaque instruction il faut
préciser uniquement l’adresse du deuxième
opérande.
• Le premier opérande existe dans le registre
accumulateur.
• Le résultat est mis dans le registre accumulateur.

79
4. Mode d’adressage
• Le champ opérande contient la donnée ou la
référence (adresse) à la donnée.
• Le mode d’adressage définit la manière dont le
microprocesseur va accéder à l’opérande.
• Le code opération de l’instruction comportent un
ensemble de bits pour indiquer le mode d’adressage.
• Les modes d’adressage les plus utilités sont :
– Immédiat
– Direct
– Indirect
– Indexé
– relatif

80
4.1 Adressage immédiat
• L’opérande existe dans le champs adresse de
l’instruction
Exemple :

• Si le registre accumulateur contient la valeur


200 alors après l’exécution son contenu sera
égale à 350
81
4.2 Adressage direct
• Le champ opérande de l’instruction contient
l’adresse de l’opérande (emplacement en mémoire )

Pour réaliser l’opération il faut le récupérer (lire)


l’opérande à partir de la mémoire.

On suppose que l’accumulateur


continent la valeur 20 .
A la fin de l’exécution nous allons
avoir la valeur 50 (20 + 30)

82
4.3 Adressage indirect

• Le champ adresse contient l’adresse de


l’adresse de l’opérande.
• Pour réaliser l’opération il faut :
– Récupérer l’adresse de l’opérande à
partir de la mémoire.
– Par la suite, il faut chercher l’opérande à
partir de la mémoire.

83
Exemple :
• Initialement l’accumulateur contient la valeur 20
• Il faut récupérer de l’adresse de l’adresse (150).
• Récupérer l’adresse de l’opérande à partir de l’adresse
150 (la valeur 200)
• Récupérer la valeur de l’opérande à partir de l’adresse
200 ( la valeur 40 )
Additionner la valeur 40 avec le contenu de l’accumulateur
(20) et nous allons avoir la valeur 60

84
5. Cycle d’exécution d’une instruction
• Le traitement d’une instruction est décomposé en
trois phases :
– Phase 1 : rechercher l’instruction à traiter et
décodage
– Phase 2 : rechercher de l’opérande et exécution de
l’instruction
– Phase 3 : passer à l’instruction suivante
• Chaque phase comporte un certain nombre
d’opérations élémentaires (microcommandes) exécutées
dans un ordre bien précis (elles sont générées par le
séquenceur ).
• Les phases 1 et 3 ne changent pas pour l’ensemble
des instructions , par contre la phase 2 change selon
l’instruction et le mode d’adressage
85
86
Exemple 3 : Déroulement de l’instruction d’addition en mode
indirect

87

Vous aimerez peut-être aussi