11
Architecture des ordinateurs
‫الحاسوب‬ ‫هندسة‬
Taha Zerrouki
Taha.zerrouki@gmail.com
Module: Architecture des ordinateurs
1ère
MI S2
2
L’architecture de base des ordinateurs
‫للحواسيب‬ ‫الساسية‬ ‫البنية‬
• Introduction ‫مدخل‬
Architecture de base d’une machine ‫الساسية‬ ‫البنية‬
La Mémoire Centrale ‫المركزية‬ ‫الذاكرة‬
UAL ( unité arithmétique et logique ) ‫الحساب‬ ‫باسحلا ةدحوحدة‬
‫باسحلا ةدحوالمنطق‬
UC ( unité de contrôle ou de commande ) ‫التحكم‬ ‫باسحلا ةدحوحدة‬
Jeu d’instructions , Format et codage d’une instruction
‫التعليمات‬ ‫طقم‬
3
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.
‫العنونة‬ ‫أنماط‬ ‫فهم‬
4
Instruction ‫أمر‬ ،‫تعليمة‬
• Commande: Ordre donné par l'utilisateur
à l'ordinateur.
• Exemple:
Print "Hello"
‫للحاسوب‬ ‫المستخدم‬ ‫من‬ ، ‫بسيط‬ ‫أمر‬
5
commande et programme
‫باسحلا ةدحوبرنامج‬ ‫أمر‬
6
Programme ‫برنامج‬
• Un programme est un ensemble d’instructions
exécutées dans un ordre bien déterminé.
– Program
• avance 50
• droite 90
• avance 50
• droite 90
• avance 50
• droite 90
• avance 50
• droite 90
•‫لحل‬ ‫البسيطة‬ ‫الاوامر‬ ‫من‬ ‫متتابعة‬ ‫مجموعة‬
‫ما‬ ‫مسألة‬
7
Language ‫لغة‬
• Ensemble de commandes nécessaires
pour l'écriture d'un programme afin qu'il
soit compréhensible par l'ordinateur
( Pascal, Delphi, C++, JAVA,…etc).
•‫لتصميم‬ ‫باسحلا ةدحوامر‬‫ل‬‫ا‬ ‫من‬ ‫باسحلا ةدحودة‬‫د‬‫مح‬ ‫مجموعة‬
‫البرمجيات‬.
8
Types d’instructions
‫التعليمات‬ ‫أنواع‬
• Les instructions qui constituent un programme
peuvent être classifiées en 4 catégories :
– Les Instructions d’affectations
– Les instructions arithmétiques et logiques.
– Les Instructions de branchement ( conditionnelle
et inconditionnelle )
– Les Instructions d’entrées sorties.
،‫باسحلا ةدحوالمنطق‬ ‫الحساب‬ ،‫التخصيص‬ ‫أنواع‬ ‫أربعة‬ ‫التعليمات‬:
‫باسحلا ةدحوالخراج‬ ‫الدخال‬ ،‫باسحلا ةدحوط‬‫ر‬‫باسحلا ةدحواللمش‬ ‫باسحلا ةدحوط‬‫ر‬‫المش‬ ‫التفرع‬
9
Exécution d’un programme
‫برنامج‬ ‫تنفيذ‬
1.Édition. ‫الكتابة‬
2.Compilation. ‫الترجمة‬
3.Chargement dans mémoire
‫الذاكرة‬ ‫في‬ ‫باسحلا ةدحوضعه‬
4.Exécuter . ‫التنفيذ‬
10
Exécution d’un programme
‫تنفيذ‬
010010101000010101
print( ‘Hello’);
Hello
Edition ‫تحرير‬
Compilation ‫ترجمة‬
Exécution ‫تنفيذ‬
Chargeme,nt ‫تحميل‬ 010010
101000
010101
11
Comment s’exécute un
programme dans la machine ?
‫آلة‬ ‫على‬ ‫برنامج‬ ‫فذ‬‫ف‬ ‫ين‬‫ي‬ ‫كيف‬
12
• Comment s’exécute un programme dans la machine ?
• Exécution d’un programme
•  exécution d’une instruction .
•  il faut connaître l’architecture de la machine
( processeur ) sur la quelle va s’exécuter cette
instruction.
‫تعليمة‬ ‫تنفيذ‬ ‫آلية‬ ‫فهم‬ ‫علينا‬ ‫برنامج‬ ‫تنفيذ‬ ‫آلية‬ ‫لفهم‬
•‫فذ‬‫ف‬ ‫المن‬ ‫المعالج‬ ‫اللة‬ ‫بنية‬ ‫باسحلا ةدحوفهم‬( )
13
2. Architecture matérielle d’une machine
( architecture de Von Neumann )
‫نيومن‬ ‫فون‬ ‫معمارية‬
14
Architecture de Von Neumann ‫نيومن‬ ‫فون‬ ‫معمارية‬
Mémoire
Centrale
UC
Processeur
entrées
sorties
15
Architecture matérielle d’une machine
( architecture de Von Neumann ) .
1616
Unité de traitement
‫المعالجة‬ ‫اوحدة‬
Entrées:
‫مداخل‬
Sorties
‫مخارج‬
Mémoires
UAL
U.C
PROGRAMMES
‫برامج‬
17
La mémoire
‫الذاكرة‬
18
Mémoires ‫ذاكرة‬
Unité de traitement
‫المعالجة‬ ‫اوحدة‬
Internes‫داخلية‬Externes‫خارجية‬
Auxiliaires‫ثانوية‬ Principales‫أساسية‬RAM
ROM
Disque dure
Carte mémoire
Cd-ROM
Flash Disque
19
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.
• ‫للحاسوب‬ ‫العمل‬ ‫مساحة‬ ‫تمثل‬
–‫البيانات‬ ‫لحفظ‬ ‫الساسي‬ ‫الجزء‬
–‫المعالج‬ ‫يستعملها‬ ‫التي‬
20
2.1 La mémoire centrale
• C’est l’organe principal de rangement des
informations utilisées par le processeur.
‫المعالج‬ ‫يستعملها‬ ‫التي‬ ‫البيانات‬ ‫لحفظ‬ ‫الساسي‬ ‫الجزء‬
21
0001100
0011100
0111100
0001100
0001100
0000
0001
0002
…….
…….
……..
FFFF
Une adresse
Contenu d’une case
(un mot)mémoire
•La mémoire centrale peut être
vu comme un large vecteur
( tableau ) de mots ou octets.
•‫الخانات‬ ‫من‬ ‫كبير‬ ‫جدول‬ ‫الذاكرة‬
Mémoire centrale
22
0001100
0011100
0111100
0001100
0001100
0000
0001
0002
…….
…….
……..
FFFF
Une adresse
Contenu d’une case
(un mot)mémoire
•Un mot mémoire stocke une
information sur n bits.
•‫بت‬ ‫ن‬ ‫فيها‬ ‫خانة‬ ‫كل‬
•Chaque mot possède sa
propre adresse.
•‫خاص‬ ‫عنوان‬ ‫لها‬ ‫خانة‬ ‫كل‬
Mémoire centrale
Structure d’un programme en MC
Partie données
( variables )
‫البيانات‬ ‫قسم‬
Partie instructions
‫التعليمات‬ ‫قسم‬
………….
……….
}
11100001
11100001
11000001
11100001
11000001
11110000
1111111
1000000
0000000
Addition
Soustraction
•La mémoire peut contenir
des programmes et les
données utilisées par les
programmes.
•‫باسحلا ةدحوبياناتها‬ ‫البرامج‬ ‫تحوي‬ ‫الذاكرة‬
24
Exercice
• Quelles est la taille de l’adresse pour
adresser d’une mémoire de 4 Go
‫ذاكرة‬ ‫بعنونة‬ ‫يسمح‬ ‫الذي‬ ‫العنوان‬ ‫طول‬ ‫هو‬ ‫ما‬
‫بحجم‬4‫بايت‬ ‫جيغا‬
25
Solution
• 4 Go = 4 x 230 = 22x 230 = 232
• La taille de l’adresse est 32 bits
26
Question
• Si une adresse de 32 bits suffit pour
adresser 4 Go,
• Pourquoi un système d’exploitation
Windows 32 bits ne reconnaît pas une
RAM de 4 Go.
•‫باسحلا ةدحو‬‫ذ‬ ‫عنوان‬ ‫كان‬ ‫إذا‬32‫عنونة‬ ‫على‬ ‫قادرا‬ ‫بت‬4
‫باسحلا ةدحوز‬‫د‬‫باسحلا ةدحون‬ ‫يستطيع‬ ‫ل‬ ‫لماذا‬ ،‫جيغا‬32‫على‬ ‫التعرف‬
‫بحجم‬ ‫حية‬ ‫ذاكرة‬4‫جيغا؟‬
27
2828
Unité de traitement
entrées: Sortie
s
Mémoires
UAL
U.C
PROGRAMMES
29
Unité de traitement ‫اوحدة‬
‫المعالجة‬
• c’est un organe principal ou le cerveau de
l’ordinateur (microprocesseur).
• Il traite les informations introduites dans la
mémoire. Il contient:
– une unité de commande U.C
– une unité arithmétique et logique U.A.L
‫يعالج‬ ‫المعالج‬ ‫الحاسوب‬ ‫دماغ‬ ‫باسحلا ةدحو‬‫أ‬ ‫الهم‬ ‫العضو‬ ‫هي‬( )
‫يحوي‬ ‫الذاكرةـ‬ ‫في‬ ‫المدخلة‬ ‫البيانات‬:
–‫باسحلا ةدحوالمنطق‬ ‫الحساب‬ ‫باسحلا ةدحوحدة‬‫باسحلا ةدحو‬ ‫التحكم‬ ‫باسحلا ةدحوحدة‬
UAL
U.C
30
Unité de traitement ‫اوحدة‬
‫المعالجة‬
•
31
Unité de Command U.C. ‫باسحلا ةدحوحدة‬
‫التحكم‬
• c’est la partie intelligente du microprocesseur.
• Elle permet de chercher les instructions d’un
programme se trouvant dans la mémoire,
• de l’interpréter pour ensuite
• acheminer les données vers l’U.A.L afin de les
traiter
•‫المعالج‬ ‫في‬ ‫الذكي‬ ‫القسم‬
•‫الذاكرة‬ ‫في‬ ‫التعليمات‬ ‫عن‬ ‫يبحث‬
•‫يفسرها‬
•‫لمعالجتها‬ ‫م‬ ‫ح‬ ‫باسحلا ةدحو‬ ‫إلى‬ ‫البيانات‬ ‫يحول‬. .
32
une unité arithmétique et logique
U.A.L ‫اوالمنطق‬ ‫الحساب‬ ‫اوحدة‬
• qui est composée d’un ensemble de circuits
(registres mémoires) chargés d’exécuter les
opérations arithmétiques/
– Addition
– Soustraction
– Multiplication
– Division
– Opérations logiques.
–
،‫طرح‬ ،‫جمع‬ ‫الحسابية‬ ‫العمليات‬ ‫تنجز‬ ‫دارات‬ ‫مجموعة‬:
‫فصل‬ ،‫باسحلا ةدحوصل‬ ،‫قسمة‬ ،‫ضرب‬
33
U.A.L
• L’UAL regroupe les circuits qui assurent
les fonctions
– logiques ET,OU
– Arithmétiques de bases
• ADD
• SUS.
•
‫الساسية‬ ‫العمليات‬ ‫تنجز‬ ‫درات‬ ‫باسحلا ةدحوالمنطق‬ ‫الحساب‬ ‫باسحلا ةدحوحدة‬
34
U.A.L
• L’UAL comporte un registre accumulateur
( ACC ):
• c’est un registre de travail qui sert a stocker
un opérande (données )
• au début d’une opération et le résultat à la fin.
•‫يحفظ‬ ‫للعمل‬ ‫سجل‬ ‫باسحلا ةدحوهو‬ ،‫المركم‬ ‫سجل‬ ‫م‬ ‫ح‬ ‫باسحلا ةدحو‬ ‫تضم‬. .
‫نهايتها‬ ‫في‬ ‫باسحلا ةدحوالنتيجة‬ ‫العملية‬ ‫بداية‬ ‫في‬ ‫العوامل‬
35
Schéma d’une UAL
Accumulateur ‫مركم‬‫م‬
• c’est un registre de travail qui sert a
stocker un opérande (données )
• au début d’une opération
• et le résultat à la fin.
•‫في‬ ‫العوامل‬ ‫يحفظ‬ ‫للعمل‬ ‫سجل‬ ‫باسحلا ةدحوهو‬ ،‫المركم‬ ‫سجل‬ ‫م‬ ‫ح‬ ‫باسحلا ةدحو‬ ‫تضم‬. .
‫نهايتها‬ ‫في‬ ‫باسحلا ةدحوالنتيجة‬ ‫العملية‬ ‫بداية‬
36
Accumulateur
• 4*3 + 5 +(-6)
37
Acc
0
12
17
11
38
Code Opération ‫العملية‬ ‫رمز‬
39
Codes Opération
CODE DESCRIPTION
0 0 0 ADD A + (B + Cin)
0 0 1 SUB A - (B + Cin)
0 1 0 MUL A * B
0 1 1 DIV A / B
1 0 0 EQ 1 si A == B
sinon 0
1 0 1 CMP 1 si A < B
sinon 0
1 1 0 LSH A << B
1 1 1 RSH A >> B
40
Registre d'état ‫الحالة‬ ‫سجل‬
41
Registre d’état
Registre d’état
• 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’appels indicateurs (drapeaux ou
flags).
•‫تنفيذ‬ ‫حالة‬ ‫إلى‬ ‫تشير‬ ‫بتات‬ ‫يحوي‬ ‫الحالة‬ ‫سجل‬
‫أعلم‬ ‫خلل‬ ‫من‬ ‫العملية‬
42
Registre d’état
• Ce registre est composé d’un ensemble
de bits:
• Ces bits s’appellent indicateurs
(drapeaux ou flags).
43
Indicateurs
• Les principaux indicateurs sont :
– Retenue : mis à 1 si l’opération génère une
retenue. ‫الحتفاظ‬
– Signe : mis à 1 si l’opération génère un
résultat négative. ‫الاشارة‬
– Débordement : mis à 1 s’il y a un
débordement. ‫الطفح‬
– Zero : mis à 1 si le résultat de l’opération est
nul. ‫باسحلا ةدحوم‬‫د‬‫مع‬
44
45
46
Exercice
• Réaliser un additionneur
complet à l’aide d’une UAL
•‫م‬ ‫ح‬ ‫باسحلا ةدحو‬ ‫بواسطة‬ ‫كامل‬ ‫جامعا‬ ‫اصنع‬. .
47
Solution
48
A
B
Retenue
out
Somme
Retenue In000 : code opération
Solution
49
Exercice
Réaliser un comparateur de deux nombres
avec une UAL
. .‫م‬ ‫ح‬ ‫و‬ ‫بواسطة‬ ‫لعددين‬ ‫مقارنا‬ ‫صمم‬
5151
Unité de traitement
5252
Unité de traitement
entrées: Sortie
s
Mémoires
UAL
U.C
PROGRAMMES
Unité de commande
53
54
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,…. )
– et d'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
– et prépare l’instruction suivante.
55
Unité de Command U.C. ‫باسحلا ةدحوحدة‬
‫التحكم‬
• c’est la partie intelligente du
microprocesseur.
• Elle permet de chercher les instructions
d’un programme se trouvant dans la
mémoire,
• de l’interpréter pour ensuite
• acheminer les données vers l’U.A.L afin
de les traiter
56
• 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 qui s’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 le 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.
57
Schéma d’une UC
58
Schéma détaillé d’une machine
UC
59
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 rapide que la mémoire centrale , mais le
nombre de ces registre 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
60
Une machine avec des registres de travail
registres
61
3.Jeu d’instructions
• Chaque microprocesseur possède un certain nombre limité d’instructions
qu’il peut exécuter. Ces instructions s’appelles 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.
62
3.1 Codage d’une instruction
• Les instructions et leurs opérandes ( données ) sont stocké 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.
– La champs opérande : qui contient la donnée ou la référence ( adresse )
à la donnée.
Code opération Opérande
•Le format d’une instruction peut ne pas être le même pour toutes les
instructions.
•Le champs opérande peut être découpé à sont tours en plusieurs champs
N bits K bits
63
Machine à 3 adresses
• Dans ce type de machine pour chaque instruction il faut préciser :
– l’adresse du premier opérande
– du deuxième opérande
– et l’emplacement du résultat
Code opération Opérande1 Opérande2 Résultat
Exemple :
ADD A,B,C ( CB+C )
•Dans ce type de machine la taille de l’instruction est grand .
• Pratiquement il n’existent pas de machine de ce type.
64
Machine à 2 adresses
• Dans de type de machine pour chaque instruction il faut préciser :
– l’adresse du premier opérande
– du deuxième opérande ,
• l’adresse de résultat est implicitement l’adresse du deuxième
opérande .
Code opération Opérande1 Opérande2
Exemple :
ADD A,B ( BA +B )
65
Machine à 1 adresses
• Dans de 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.
Code opération Opérande2
Exemple :
ADD A ( ACC(ACC) + A )
Ce type de machine est le plus utilisé.
66
4. Mode d’adressage
• La champs 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
67
4.1 Adressage immédiat
• L’opérande existent dans le champs adresse de l’instruction
Code opération Opérande
Exemple :
ADD 150
Cette commande va avoir l’effet suivant : ACC(ACC)+ 150
Si le registre accumulateur contient la valeur 200 alors
après l’exécution son contenu sera égale à 350
ADD 150
68
4.2 Adressage direct
• Le champs 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. ACC  (ACC)+ (ADR)
ADD 150
30
Exemple :
On suppose que l’accumulateur
continent la valeur 20 .
A la fin de l’exécution nous
allons avoir la valeur 50 ( 20 +
30 ) 150
69
4.3 Adressage indirect
• La champs 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.
ACC (ACC)+ ((ADR))
• Exemple :
• Initialement l’accumulateur contient la valeur
20
• Il faut récupérer 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
ADD 150
200
40
150
200
70
4.4 Adressage indexé
• L’adresse effectif de l’opérande est relatif à une zone mémoire.
• L’dresse de cette zone se trouve dans un registre spécial ( registre
indexe ).
• Adresse opérande = ADR + (X)
ADD 150
30
50
Registre d’indexe
+
Remarque : si ADR ne contient pas une valeur
immédiate alors
Adresse opérande = (ADR )+ (X)
200
71
4.5 Adressage relatif
• L’adresse effectif de l’opérande est relatif a une zone mémoire.
• L’dresse de cette zone se trouve dans un registre spécial ( registre de base ).
• Ce mode d’adressage est utilisée pour les instructions de branchement.
Adresse = ADR + (base)
BR 150
ADD
100
Registre de base
+
250
72
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 ( elle sont générées par le séquenceur ).
• La phase 1 et 3 ne change pas pour l’ensemble des instructions ,
par contre la phase 2 change selon l’instruction et le mode
d’adressage
73
• Exemple1 : déroulement de l’instruction d’addition en mode immédiat
ACC(ACC)+ Valeur
– Phase 1 : ( rechercher l’instruction à traiter )
• Mettre le contenu du CO dans le registre RAM RAM (CO)
• Commande de lecture à partir de la mémoire
• Transfert du contenu du RIM dans le registre RI RI (RIM)
• Analyse et décodage
– Phase 2 : (traitement )
• Transfert de l ’opérande dans l’UAL UAL  (RI).ADR
• Commande de l’exécution de l’opération ( addition )
– Phase 3 : ( passer à l’instruction suivante )
• CO  (CO )+ 1
74
• Exemple 2 : déroulement de l’instruction d’addition en mode direct
ACC(ACC)+ (ADR)
– Phase 1 : ( rechercher l’instruction à traiter )
• Mettre le contenu du CO dans le registre RAM RAM (CO)
• Commande de lecture à partir de la mémoire
• Transfert du contenu du RIM dans le registre RI RI (RIM)
• Analyse et décodage
– Phase 2 : ( décodage et traitement )
• Transfert de l’adresse de l ’opérande dans le RAM RAM (RI).ADR
• Commande de lecture
• Transfert du contenu du RIM vers l’UAL UAL (RIM)
• Commande de l’exécution de l’opération ( addition )
– Phase 3 : ( passer à l’instruction suivante )
• CO  (CO )+ 1
75
• Exemple 3 : Déroulement de l’instruction d’addition en mode indirect
ACC(ACC)+ ((ADR))
– Phase 1 : ( rechercher l’instruction à traiter )
• Mettre le contenu du CO dans le registre RAM RAM (CO)
• Commande de lecture à partir de la mémoire
• Transfert du contenu du RIM dans le registre RI RI (RIM)
• Analyse et décodage
– Phase 2 : ( décodage et traitement )
• Transfert de l’adresse de l ’opérande dans le RAM  (RI).ADR
• Commande de lecture /* récupérer l’adresse */
• Transfert du contenu du RIM vers le RAM RAM(RIM)
• Commande de lecture /* récupérer l’opérande */
• Transfert du contenu du RIM vers l’UAL UAL  (RIM )
• Commande de l’exécution de l’opération ( addition )
– Phase 3 : ( passer à l’instruction suivante )
• CO  (CO )+ 1
76
Mémoire centrale
‫مركزية‬ ‫ذاكرة‬
Dans un ordinateur pour exécuter un programme 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 ).

Intro archi

  • 1.
    11 Architecture des ordinateurs ‫الحاسوب‬‫هندسة‬ Taha Zerrouki Taha.zerrouki@gmail.com Module: Architecture des ordinateurs 1ère MI S2
  • 2.
    2 L’architecture de basedes ordinateurs ‫للحواسيب‬ ‫الساسية‬ ‫البنية‬ • Introduction ‫مدخل‬ Architecture de base d’une machine ‫الساسية‬ ‫البنية‬ La Mémoire Centrale ‫المركزية‬ ‫الذاكرة‬ UAL ( unité arithmétique et logique ) ‫الحساب‬ ‫باسحلا ةدحوحدة‬ ‫باسحلا ةدحوالمنطق‬ UC ( unité de contrôle ou de commande ) ‫التحكم‬ ‫باسحلا ةدحوحدة‬ Jeu d’instructions , Format et codage d’une instruction ‫التعليمات‬ ‫طقم‬
  • 3.
    3 Objectifs • Comprendre l’architectured’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. ‫العنونة‬ ‫أنماط‬ ‫فهم‬
  • 4.
    4 Instruction ‫أمر‬ ،‫تعليمة‬ •Commande: Ordre donné par l'utilisateur à l'ordinateur. • Exemple: Print "Hello" ‫للحاسوب‬ ‫المستخدم‬ ‫من‬ ، ‫بسيط‬ ‫أمر‬
  • 5.
    5 commande et programme ‫باسحلاةدحوبرنامج‬ ‫أمر‬
  • 6.
    6 Programme ‫برنامج‬ • Unprogramme est un ensemble d’instructions exécutées dans un ordre bien déterminé. – Program • avance 50 • droite 90 • avance 50 • droite 90 • avance 50 • droite 90 • avance 50 • droite 90 •‫لحل‬ ‫البسيطة‬ ‫الاوامر‬ ‫من‬ ‫متتابعة‬ ‫مجموعة‬ ‫ما‬ ‫مسألة‬
  • 7.
    7 Language ‫لغة‬ • Ensemblede commandes nécessaires pour l'écriture d'un programme afin qu'il soit compréhensible par l'ordinateur ( Pascal, Delphi, C++, JAVA,…etc). •‫لتصميم‬ ‫باسحلا ةدحوامر‬‫ل‬‫ا‬ ‫من‬ ‫باسحلا ةدحودة‬‫د‬‫مح‬ ‫مجموعة‬ ‫البرمجيات‬.
  • 8.
    8 Types d’instructions ‫التعليمات‬ ‫أنواع‬ •Les instructions qui constituent un programme peuvent être classifiées en 4 catégories : – Les Instructions d’affectations – Les instructions arithmétiques et logiques. – Les Instructions de branchement ( conditionnelle et inconditionnelle ) – Les Instructions d’entrées sorties. ،‫باسحلا ةدحوالمنطق‬ ‫الحساب‬ ،‫التخصيص‬ ‫أنواع‬ ‫أربعة‬ ‫التعليمات‬: ‫باسحلا ةدحوالخراج‬ ‫الدخال‬ ،‫باسحلا ةدحوط‬‫ر‬‫باسحلا ةدحواللمش‬ ‫باسحلا ةدحوط‬‫ر‬‫المش‬ ‫التفرع‬
  • 9.
    9 Exécution d’un programme ‫برنامج‬‫تنفيذ‬ 1.Édition. ‫الكتابة‬ 2.Compilation. ‫الترجمة‬ 3.Chargement dans mémoire ‫الذاكرة‬ ‫في‬ ‫باسحلا ةدحوضعه‬ 4.Exécuter . ‫التنفيذ‬
  • 10.
    10 Exécution d’un programme ‫تنفيذ‬ 010010101000010101 print(‘Hello’); Hello Edition ‫تحرير‬ Compilation ‫ترجمة‬ Exécution ‫تنفيذ‬ Chargeme,nt ‫تحميل‬ 010010 101000 010101
  • 11.
    11 Comment s’exécute un programmedans la machine ? ‫آلة‬ ‫على‬ ‫برنامج‬ ‫فذ‬‫ف‬ ‫ين‬‫ي‬ ‫كيف‬
  • 12.
    12 • Comment s’exécuteun programme dans la machine ? • Exécution d’un programme •  exécution d’une instruction . •  il faut connaître l’architecture de la machine ( processeur ) sur la quelle va s’exécuter cette instruction. ‫تعليمة‬ ‫تنفيذ‬ ‫آلية‬ ‫فهم‬ ‫علينا‬ ‫برنامج‬ ‫تنفيذ‬ ‫آلية‬ ‫لفهم‬ •‫فذ‬‫ف‬ ‫المن‬ ‫المعالج‬ ‫اللة‬ ‫بنية‬ ‫باسحلا ةدحوفهم‬( )
  • 13.
    13 2. Architecture matérielled’une machine ( architecture de Von Neumann ) ‫نيومن‬ ‫فون‬ ‫معمارية‬
  • 14.
    14 Architecture de VonNeumann ‫نيومن‬ ‫فون‬ ‫معمارية‬ Mémoire Centrale UC Processeur entrées sorties
  • 15.
    15 Architecture matérielle d’unemachine ( architecture de Von Neumann ) .
  • 16.
    1616 Unité de traitement ‫المعالجة‬‫اوحدة‬ Entrées: ‫مداخل‬ Sorties ‫مخارج‬ Mémoires UAL U.C PROGRAMMES ‫برامج‬
  • 17.
  • 18.
    18 Mémoires ‫ذاكرة‬ Unité detraitement ‫المعالجة‬ ‫اوحدة‬ Internes‫داخلية‬Externes‫خارجية‬ Auxiliaires‫ثانوية‬ Principales‫أساسية‬RAM ROM Disque dure Carte mémoire Cd-ROM Flash Disque
  • 19.
    19 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. • ‫للحاسوب‬ ‫العمل‬ ‫مساحة‬ ‫تمثل‬ –‫البيانات‬ ‫لحفظ‬ ‫الساسي‬ ‫الجزء‬ –‫المعالج‬ ‫يستعملها‬ ‫التي‬
  • 20.
    20 2.1 La mémoirecentrale • C’est l’organe principal de rangement des informations utilisées par le processeur. ‫المعالج‬ ‫يستعملها‬ ‫التي‬ ‫البيانات‬ ‫لحفظ‬ ‫الساسي‬ ‫الجزء‬
  • 21.
    21 0001100 0011100 0111100 0001100 0001100 0000 0001 0002 ……. ……. …….. FFFF Une adresse Contenu d’unecase (un mot)mémoire •La mémoire centrale peut être vu comme un large vecteur ( tableau ) de mots ou octets. •‫الخانات‬ ‫من‬ ‫كبير‬ ‫جدول‬ ‫الذاكرة‬ Mémoire centrale
  • 22.
    22 0001100 0011100 0111100 0001100 0001100 0000 0001 0002 ……. ……. …….. FFFF Une adresse Contenu d’unecase (un mot)mémoire •Un mot mémoire stocke une information sur n bits. •‫بت‬ ‫ن‬ ‫فيها‬ ‫خانة‬ ‫كل‬ •Chaque mot possède sa propre adresse. •‫خاص‬ ‫عنوان‬ ‫لها‬ ‫خانة‬ ‫كل‬ Mémoire centrale
  • 23.
    Structure d’un programmeen MC Partie données ( variables ) ‫البيانات‬ ‫قسم‬ Partie instructions ‫التعليمات‬ ‫قسم‬ …………. ………. } 11100001 11100001 11000001 11100001 11000001 11110000 1111111 1000000 0000000 Addition Soustraction •La mémoire peut contenir des programmes et les données utilisées par les programmes. •‫باسحلا ةدحوبياناتها‬ ‫البرامج‬ ‫تحوي‬ ‫الذاكرة‬
  • 24.
  • 25.
    Exercice • Quelles estla taille de l’adresse pour adresser d’une mémoire de 4 Go ‫ذاكرة‬ ‫بعنونة‬ ‫يسمح‬ ‫الذي‬ ‫العنوان‬ ‫طول‬ ‫هو‬ ‫ما‬ ‫بحجم‬4‫بايت‬ ‫جيغا‬ 25
  • 26.
    Solution • 4 Go= 4 x 230 = 22x 230 = 232 • La taille de l’adresse est 32 bits 26
  • 27.
    Question • Si uneadresse de 32 bits suffit pour adresser 4 Go, • Pourquoi un système d’exploitation Windows 32 bits ne reconnaît pas une RAM de 4 Go. •‫باسحلا ةدحو‬‫ذ‬ ‫عنوان‬ ‫كان‬ ‫إذا‬32‫عنونة‬ ‫على‬ ‫قادرا‬ ‫بت‬4 ‫باسحلا ةدحوز‬‫د‬‫باسحلا ةدحون‬ ‫يستطيع‬ ‫ل‬ ‫لماذا‬ ،‫جيغا‬32‫على‬ ‫التعرف‬ ‫بحجم‬ ‫حية‬ ‫ذاكرة‬4‫جيغا؟‬ 27
  • 28.
    2828 Unité de traitement entrées:Sortie s Mémoires UAL U.C PROGRAMMES
  • 29.
    29 Unité de traitement‫اوحدة‬ ‫المعالجة‬ • c’est un organe principal ou le cerveau de l’ordinateur (microprocesseur). • Il traite les informations introduites dans la mémoire. Il contient: – une unité de commande U.C – une unité arithmétique et logique U.A.L ‫يعالج‬ ‫المعالج‬ ‫الحاسوب‬ ‫دماغ‬ ‫باسحلا ةدحو‬‫أ‬ ‫الهم‬ ‫العضو‬ ‫هي‬( ) ‫يحوي‬ ‫الذاكرةـ‬ ‫في‬ ‫المدخلة‬ ‫البيانات‬: –‫باسحلا ةدحوالمنطق‬ ‫الحساب‬ ‫باسحلا ةدحوحدة‬‫باسحلا ةدحو‬ ‫التحكم‬ ‫باسحلا ةدحوحدة‬ UAL U.C
  • 30.
    30 Unité de traitement‫اوحدة‬ ‫المعالجة‬ •
  • 31.
    31 Unité de CommandU.C. ‫باسحلا ةدحوحدة‬ ‫التحكم‬ • c’est la partie intelligente du microprocesseur. • Elle permet de chercher les instructions d’un programme se trouvant dans la mémoire, • de l’interpréter pour ensuite • acheminer les données vers l’U.A.L afin de les traiter •‫المعالج‬ ‫في‬ ‫الذكي‬ ‫القسم‬ •‫الذاكرة‬ ‫في‬ ‫التعليمات‬ ‫عن‬ ‫يبحث‬ •‫يفسرها‬ •‫لمعالجتها‬ ‫م‬ ‫ح‬ ‫باسحلا ةدحو‬ ‫إلى‬ ‫البيانات‬ ‫يحول‬. .
  • 32.
    32 une unité arithmétiqueet logique U.A.L ‫اوالمنطق‬ ‫الحساب‬ ‫اوحدة‬ • qui est composée d’un ensemble de circuits (registres mémoires) chargés d’exécuter les opérations arithmétiques/ – Addition – Soustraction – Multiplication – Division – Opérations logiques. – ،‫طرح‬ ،‫جمع‬ ‫الحسابية‬ ‫العمليات‬ ‫تنجز‬ ‫دارات‬ ‫مجموعة‬: ‫فصل‬ ،‫باسحلا ةدحوصل‬ ،‫قسمة‬ ،‫ضرب‬
  • 33.
    33 U.A.L • L’UAL regroupeles circuits qui assurent les fonctions – logiques ET,OU – Arithmétiques de bases • ADD • SUS. • ‫الساسية‬ ‫العمليات‬ ‫تنجز‬ ‫درات‬ ‫باسحلا ةدحوالمنطق‬ ‫الحساب‬ ‫باسحلا ةدحوحدة‬
  • 34.
    34 U.A.L • L’UAL comporteun registre accumulateur ( ACC ): • c’est un registre de travail qui sert a stocker un opérande (données ) • au début d’une opération et le résultat à la fin. •‫يحفظ‬ ‫للعمل‬ ‫سجل‬ ‫باسحلا ةدحوهو‬ ،‫المركم‬ ‫سجل‬ ‫م‬ ‫ح‬ ‫باسحلا ةدحو‬ ‫تضم‬. . ‫نهايتها‬ ‫في‬ ‫باسحلا ةدحوالنتيجة‬ ‫العملية‬ ‫بداية‬ ‫في‬ ‫العوامل‬
  • 35.
  • 36.
    Accumulateur ‫مركم‬‫م‬ • c’estun registre de travail qui sert a stocker un opérande (données ) • au début d’une opération • et le résultat à la fin. •‫في‬ ‫العوامل‬ ‫يحفظ‬ ‫للعمل‬ ‫سجل‬ ‫باسحلا ةدحوهو‬ ،‫المركم‬ ‫سجل‬ ‫م‬ ‫ح‬ ‫باسحلا ةدحو‬ ‫تضم‬. . ‫نهايتها‬ ‫في‬ ‫باسحلا ةدحوالنتيجة‬ ‫العملية‬ ‫بداية‬ 36
  • 37.
    Accumulateur • 4*3 +5 +(-6) 37 Acc 0 12 17 11
  • 38.
  • 39.
  • 40.
    Codes Opération CODE DESCRIPTION 00 0 ADD A + (B + Cin) 0 0 1 SUB A - (B + Cin) 0 1 0 MUL A * B 0 1 1 DIV A / B 1 0 0 EQ 1 si A == B sinon 0 1 0 1 CMP 1 si A < B sinon 0 1 1 0 LSH A << B 1 1 1 RSH A >> B 40
  • 41.
    Registre d'état ‫الحالة‬‫سجل‬ 41 Registre d’état
  • 42.
    Registre d’état • L’UALcomporte 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’appels indicateurs (drapeaux ou flags). •‫تنفيذ‬ ‫حالة‬ ‫إلى‬ ‫تشير‬ ‫بتات‬ ‫يحوي‬ ‫الحالة‬ ‫سجل‬ ‫أعلم‬ ‫خلل‬ ‫من‬ ‫العملية‬ 42
  • 43.
    Registre d’état • Ceregistre est composé d’un ensemble de bits: • Ces bits s’appellent indicateurs (drapeaux ou flags). 43
  • 44.
    Indicateurs • Les principauxindicateurs sont : – Retenue : mis à 1 si l’opération génère une retenue. ‫الحتفاظ‬ – Signe : mis à 1 si l’opération génère un résultat négative. ‫الاشارة‬ – Débordement : mis à 1 s’il y a un débordement. ‫الطفح‬ – Zero : mis à 1 si le résultat de l’opération est nul. ‫باسحلا ةدحوم‬‫د‬‫مع‬ 44
  • 45.
  • 46.
  • 47.
    Exercice • Réaliser unadditionneur complet à l’aide d’une UAL •‫م‬ ‫ح‬ ‫باسحلا ةدحو‬ ‫بواسطة‬ ‫كامل‬ ‫جامعا‬ ‫اصنع‬. . 47
  • 48.
  • 49.
  • 50.
    Exercice Réaliser un comparateurde deux nombres avec une UAL . .‫م‬ ‫ح‬ ‫و‬ ‫بواسطة‬ ‫لعددين‬ ‫مقارنا‬ ‫صمم‬
  • 51.
  • 52.
    5252 Unité de traitement entrées:Sortie s Mémoires UAL U.C PROGRAMMES
  • 53.
  • 54.
    54 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,…. ) – et d'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 – et prépare l’instruction suivante.
  • 55.
    55 Unité de CommandU.C. ‫باسحلا ةدحوحدة‬ ‫التحكم‬ • c’est la partie intelligente du microprocesseur. • Elle permet de chercher les instructions d’un programme se trouvant dans la mémoire, • de l’interpréter pour ensuite • acheminer les données vers l’U.A.L afin de les traiter
  • 56.
    56 • L’unité decontrô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 qui s’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 le 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.
  • 57.
  • 58.
  • 59.
    59 Remarque • Le microprocesseurpeut 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 rapide que la mémoire centrale , mais le nombre de ces registre 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
  • 60.
    60 Une machine avecdes registres de travail registres
  • 61.
    61 3.Jeu d’instructions • Chaquemicroprocesseur possède un certain nombre limité d’instructions qu’il peut exécuter. Ces instructions s’appelles 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.
  • 62.
    62 3.1 Codage d’uneinstruction • Les instructions et leurs opérandes ( données ) sont stocké 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. – La champs opérande : qui contient la donnée ou la référence ( adresse ) à la donnée. Code opération Opérande •Le format d’une instruction peut ne pas être le même pour toutes les instructions. •Le champs opérande peut être découpé à sont tours en plusieurs champs N bits K bits
  • 63.
    63 Machine à 3adresses • Dans ce type de machine pour chaque instruction il faut préciser : – l’adresse du premier opérande – du deuxième opérande – et l’emplacement du résultat Code opération Opérande1 Opérande2 Résultat Exemple : ADD A,B,C ( CB+C ) •Dans ce type de machine la taille de l’instruction est grand . • Pratiquement il n’existent pas de machine de ce type.
  • 64.
    64 Machine à 2adresses • Dans de type de machine pour chaque instruction il faut préciser : – l’adresse du premier opérande – du deuxième opérande , • l’adresse de résultat est implicitement l’adresse du deuxième opérande . Code opération Opérande1 Opérande2 Exemple : ADD A,B ( BA +B )
  • 65.
    65 Machine à 1adresses • Dans de 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. Code opération Opérande2 Exemple : ADD A ( ACC(ACC) + A ) Ce type de machine est le plus utilisé.
  • 66.
    66 4. Mode d’adressage •La champs 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
  • 67.
    67 4.1 Adressage immédiat •L’opérande existent dans le champs adresse de l’instruction Code opération Opérande Exemple : ADD 150 Cette commande va avoir l’effet suivant : ACC(ACC)+ 150 Si le registre accumulateur contient la valeur 200 alors après l’exécution son contenu sera égale à 350 ADD 150
  • 68.
    68 4.2 Adressage direct •Le champs 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. ACC  (ACC)+ (ADR) ADD 150 30 Exemple : On suppose que l’accumulateur continent la valeur 20 . A la fin de l’exécution nous allons avoir la valeur 50 ( 20 + 30 ) 150
  • 69.
    69 4.3 Adressage indirect •La champs 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. ACC (ACC)+ ((ADR)) • Exemple : • Initialement l’accumulateur contient la valeur 20 • Il faut récupérer 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 ADD 150 200 40 150 200
  • 70.
    70 4.4 Adressage indexé •L’adresse effectif de l’opérande est relatif à une zone mémoire. • L’dresse de cette zone se trouve dans un registre spécial ( registre indexe ). • Adresse opérande = ADR + (X) ADD 150 30 50 Registre d’indexe + Remarque : si ADR ne contient pas une valeur immédiate alors Adresse opérande = (ADR )+ (X) 200
  • 71.
    71 4.5 Adressage relatif •L’adresse effectif de l’opérande est relatif a une zone mémoire. • L’dresse de cette zone se trouve dans un registre spécial ( registre de base ). • Ce mode d’adressage est utilisée pour les instructions de branchement. Adresse = ADR + (base) BR 150 ADD 100 Registre de base + 250
  • 72.
    72 5. Cycle d’exécutiond’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 ( elle sont générées par le séquenceur ). • La phase 1 et 3 ne change pas pour l’ensemble des instructions , par contre la phase 2 change selon l’instruction et le mode d’adressage
  • 73.
    73 • Exemple1 :déroulement de l’instruction d’addition en mode immédiat ACC(ACC)+ Valeur – Phase 1 : ( rechercher l’instruction à traiter ) • Mettre le contenu du CO dans le registre RAM RAM (CO) • Commande de lecture à partir de la mémoire • Transfert du contenu du RIM dans le registre RI RI (RIM) • Analyse et décodage – Phase 2 : (traitement ) • Transfert de l ’opérande dans l’UAL UAL  (RI).ADR • Commande de l’exécution de l’opération ( addition ) – Phase 3 : ( passer à l’instruction suivante ) • CO  (CO )+ 1
  • 74.
    74 • Exemple 2: déroulement de l’instruction d’addition en mode direct ACC(ACC)+ (ADR) – Phase 1 : ( rechercher l’instruction à traiter ) • Mettre le contenu du CO dans le registre RAM RAM (CO) • Commande de lecture à partir de la mémoire • Transfert du contenu du RIM dans le registre RI RI (RIM) • Analyse et décodage – Phase 2 : ( décodage et traitement ) • Transfert de l’adresse de l ’opérande dans le RAM RAM (RI).ADR • Commande de lecture • Transfert du contenu du RIM vers l’UAL UAL (RIM) • Commande de l’exécution de l’opération ( addition ) – Phase 3 : ( passer à l’instruction suivante ) • CO  (CO )+ 1
  • 75.
    75 • Exemple 3: Déroulement de l’instruction d’addition en mode indirect ACC(ACC)+ ((ADR)) – Phase 1 : ( rechercher l’instruction à traiter ) • Mettre le contenu du CO dans le registre RAM RAM (CO) • Commande de lecture à partir de la mémoire • Transfert du contenu du RIM dans le registre RI RI (RIM) • Analyse et décodage – Phase 2 : ( décodage et traitement ) • Transfert de l’adresse de l ’opérande dans le RAM  (RI).ADR • Commande de lecture /* récupérer l’adresse */ • Transfert du contenu du RIM vers le RAM RAM(RIM) • Commande de lecture /* récupérer l’opérande */ • Transfert du contenu du RIM vers l’UAL UAL  (RIM ) • Commande de l’exécution de l’opération ( addition ) – Phase 3 : ( passer à l’instruction suivante ) • CO  (CO )+ 1
  • 76.
    76 Mémoire centrale ‫مركزية‬ ‫ذاكرة‬ Dansun ordinateur pour exécuter un programme 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 ).