SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
1
Chapitre 8 : 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
• Modes d’adressage
• Étapes d’exécution d’un instruction
2
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.
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é
(Pascal, C, VB, Java, etc.).
• 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.
4
1. Introduction
• Pour exécuter un programme par une machine, on passe par les étapes
suivantes :
1. Édition : on utilise généralement un éditeur de texte pour écrire un
programme et le sauvegarder dans un fichier.
2. 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.
3. Chargement : charger le programme en langage machine dans
mémoire afin de l’exécuter .
5
• 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 la
quelle va s’exécuter cette instruction.
6
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.
Mémoire
Centrale
UC
Processeur
entrées
sorties
7
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.
• 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 ).
8
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.
•Un mot mémoire stocke une information
sur n bits.
•Chaque mot possède sa propre adresse.
•La mémoire peut contenir des
programmes et les données utilisées par
les programmes.
Structure d’un programme en MC
Partie données
( variables )
Partie instructions
………….
……….
}
11100001
11100001
11000001
11100001
11000001
11110000
1111111
1000000
0000000
Addition
Soustraction
10
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.
Architecture matérielle d’une
machine Von Neumann
UC
12
2.2.1 L’UAL
• 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 un opérande (données )au début d’une
opération et le résultat à la fin.
13
• 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).
• Ces indicateurs sont mis à jours ( modifiés )après la fin de l’exécution
d’une opération dans l’UAL.
• Les principeaux 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é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.
14
Schéma d’une UAL
15
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,…. )
– 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.
16
• 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.
17
Schéma d’une UC
18
Schéma détaillé d’une machine
UC
19
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
20
Une machine avec des registres de travail
registres
21
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.
22
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
23
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.
24
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 )
25
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é.
26
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
27
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
28
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
29
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
30
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
31
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
32
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
33
• 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
34
• 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
35
• 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

Contenu connexe

Similaire à ch8_architecture.ppt

FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmohamedsaidi212001
 
cours_AzabouMaha_GIINF_chap1-2020-2021.pptx
cours_AzabouMaha_GIINF_chap1-2020-2021.pptxcours_AzabouMaha_GIINF_chap1-2020-2021.pptx
cours_AzabouMaha_GIINF_chap1-2020-2021.pptxGhorbelOmar2
 
DSP FPGA.pdf
DSP FPGA.pdfDSP FPGA.pdf
DSP FPGA.pdfHouBou3
 
Chapitre 2- Présentation Structure de base d_un ordinateur
Chapitre 2- Présentation Structure de base d_un ordinateurChapitre 2- Présentation Structure de base d_un ordinateur
Chapitre 2- Présentation Structure de base d_un ordinateurYounesAziz3
 
Exposé Le Microprocesseur
Exposé   Le MicroprocesseurExposé   Le Microprocesseur
Exposé Le MicroprocesseurTheCrazyMan
 
Chapitre 3-architecture-des-dsp
Chapitre 3-architecture-des-dspChapitre 3-architecture-des-dsp
Chapitre 3-architecture-des-dspgharbisalah
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).pptAbdo Brahmi
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).pptAbdo Brahmi
 
Chapitre 1 l'ordinateur
Chapitre 1 l'ordinateurChapitre 1 l'ordinateur
Chapitre 1 l'ordinateurMansour Dieng
 
Chapitre 2 - Structure de base d_un ordinateur.pdf
Chapitre 2 - Structure de base d_un ordinateur.pdfChapitre 2 - Structure de base d_un ordinateur.pdf
Chapitre 2 - Structure de base d_un ordinateur.pdfYounesAziz3
 
Cours Info1- ST/SM/MI : introduction à l'informatique
Cours Info1- ST/SM/MI : introduction  à l'informatiqueCours Info1- ST/SM/MI : introduction  à l'informatique
Cours Info1- ST/SM/MI : introduction à l'informatiquelinuxscout
 
Technologies du Web - Architectures matérielles et logicielles
Technologies du Web - Architectures matérielles et logiciellesTechnologies du Web - Architectures matérielles et logicielles
Technologies du Web - Architectures matérielles et logiciellesFrédéric Simonet
 
Architecture des ordinateurs 3
Architecture des ordinateurs 3Architecture des ordinateurs 3
Architecture des ordinateurs 3coursuniv
 
resume-theorique-m106-2004-6261bb9556a66.pdf
resume-theorique-m106-2004-6261bb9556a66.pdfresume-theorique-m106-2004-6261bb9556a66.pdf
resume-theorique-m106-2004-6261bb9556a66.pdfFootballLovers9
 
Cours de PIC Généralités.pdf
Cours de PIC Généralités.pdfCours de PIC Généralités.pdf
Cours de PIC Généralités.pdfAliRami3
 
Systeme d’exploitation embarqué eCOS
Systeme d’exploitation embarqué eCOSSysteme d’exploitation embarqué eCOS
Systeme d’exploitation embarqué eCOSAfaf MATOUG
 
Architecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseurArchitecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseurAbdoulaye Dieng
 
Cours de microcontrôleurs
Cours de microcontrôleursCours de microcontrôleurs
Cours de microcontrôleurssarah Benmerzouk
 

Similaire à ch8_architecture.ppt (20)

FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
 
cours_AzabouMaha_GIINF_chap1-2020-2021.pptx
cours_AzabouMaha_GIINF_chap1-2020-2021.pptxcours_AzabouMaha_GIINF_chap1-2020-2021.pptx
cours_AzabouMaha_GIINF_chap1-2020-2021.pptx
 
DSP FPGA.pdf
DSP FPGA.pdfDSP FPGA.pdf
DSP FPGA.pdf
 
Chapitre 2- Présentation Structure de base d_un ordinateur
Chapitre 2- Présentation Structure de base d_un ordinateurChapitre 2- Présentation Structure de base d_un ordinateur
Chapitre 2- Présentation Structure de base d_un ordinateur
 
Exposé Le Microprocesseur
Exposé   Le MicroprocesseurExposé   Le Microprocesseur
Exposé Le Microprocesseur
 
Chapitre 3-architecture-des-dsp
Chapitre 3-architecture-des-dspChapitre 3-architecture-des-dsp
Chapitre 3-architecture-des-dsp
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
 
Chapitre 1 l'ordinateur
Chapitre 1 l'ordinateurChapitre 1 l'ordinateur
Chapitre 1 l'ordinateur
 
Structure_Des_Ordinateurs
Structure_Des_OrdinateursStructure_Des_Ordinateurs
Structure_Des_Ordinateurs
 
Chapitre 2 - Structure de base d_un ordinateur.pdf
Chapitre 2 - Structure de base d_un ordinateur.pdfChapitre 2 - Structure de base d_un ordinateur.pdf
Chapitre 2 - Structure de base d_un ordinateur.pdf
 
Cours Info1- ST/SM/MI : introduction à l'informatique
Cours Info1- ST/SM/MI : introduction  à l'informatiqueCours Info1- ST/SM/MI : introduction  à l'informatique
Cours Info1- ST/SM/MI : introduction à l'informatique
 
Technologies du Web - Architectures matérielles et logicielles
Technologies du Web - Architectures matérielles et logiciellesTechnologies du Web - Architectures matérielles et logicielles
Technologies du Web - Architectures matérielles et logicielles
 
Architecture des ordinateurs 3
Architecture des ordinateurs 3Architecture des ordinateurs 3
Architecture des ordinateurs 3
 
resume-theorique-m106-2004-6261bb9556a66.pdf
resume-theorique-m106-2004-6261bb9556a66.pdfresume-theorique-m106-2004-6261bb9556a66.pdf
resume-theorique-m106-2004-6261bb9556a66.pdf
 
Cours de PIC Généralités.pdf
Cours de PIC Généralités.pdfCours de PIC Généralités.pdf
Cours de PIC Généralités.pdf
 
Systeme d’exploitation embarqué eCOS
Systeme d’exploitation embarqué eCOSSysteme d’exploitation embarqué eCOS
Systeme d’exploitation embarqué eCOS
 
Architecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseurArchitecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseur
 
Cours de microcontrôleurs
Cours de microcontrôleursCours de microcontrôleurs
Cours de microcontrôleurs
 
Amira stage2012
Amira stage2012Amira stage2012
Amira stage2012
 

Plus de amine17157

doranum_07_fiche_synthetique_formats_ouverts_fermes.pdf
doranum_07_fiche_synthetique_formats_ouverts_fermes.pdfdoranum_07_fiche_synthetique_formats_ouverts_fermes.pdf
doranum_07_fiche_synthetique_formats_ouverts_fermes.pdfamine17157
 
docker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyugdocker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyugamine17157
 
SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhv
SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhvSOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhv
SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhvamine17157
 
cours soa partie 1 dfvfvfdbgfbvdfhbvhdfbvhdbvhjdv
cours soa partie 1 dfvfvfdbgfbvdfhbvhdfbvhdbvhjdvcours soa partie 1 dfvfvfdbgfbvdfhbvhdfbvhdbvhjdv
cours soa partie 1 dfvfvfdbgfbvdfhbvhdfbvhdbvhjdvamine17157
 
ch7_memoires.ppt
ch7_memoires.pptch7_memoires.ppt
ch7_memoires.pptamine17157
 
ch4_circuitscombinatoires.ppt
ch4_circuitscombinatoires.pptch4_circuitscombinatoires.ppt
ch4_circuitscombinatoires.pptamine17157
 
CHAP 1 PRÉSENTATION GENERALE.pdf
CHAP 1 PRÉSENTATION GENERALE.pdfCHAP 1 PRÉSENTATION GENERALE.pdf
CHAP 1 PRÉSENTATION GENERALE.pdfamine17157
 
bigdata-25.pdf
bigdata-25.pdfbigdata-25.pdf
bigdata-25.pdfamine17157
 

Plus de amine17157 (8)

doranum_07_fiche_synthetique_formats_ouverts_fermes.pdf
doranum_07_fiche_synthetique_formats_ouverts_fermes.pdfdoranum_07_fiche_synthetique_formats_ouverts_fermes.pdf
doranum_07_fiche_synthetique_formats_ouverts_fermes.pdf
 
docker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyugdocker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyug
 
SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhv
SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhvSOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhv
SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhv
 
cours soa partie 1 dfvfvfdbgfbvdfhbvhdfbvhdbvhjdv
cours soa partie 1 dfvfvfdbgfbvdfhbvhdfbvhdbvhjdvcours soa partie 1 dfvfvfdbgfbvdfhbvhdfbvhdbvhjdv
cours soa partie 1 dfvfvfdbgfbvdfhbvhdfbvhdbvhjdv
 
ch7_memoires.ppt
ch7_memoires.pptch7_memoires.ppt
ch7_memoires.ppt
 
ch4_circuitscombinatoires.ppt
ch4_circuitscombinatoires.pptch4_circuitscombinatoires.ppt
ch4_circuitscombinatoires.ppt
 
CHAP 1 PRÉSENTATION GENERALE.pdf
CHAP 1 PRÉSENTATION GENERALE.pdfCHAP 1 PRÉSENTATION GENERALE.pdf
CHAP 1 PRÉSENTATION GENERALE.pdf
 
bigdata-25.pdf
bigdata-25.pdfbigdata-25.pdf
bigdata-25.pdf
 

ch8_architecture.ppt

  • 1. 1 Chapitre 8 : 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 • Modes d’adressage • Étapes d’exécution d’un instruction
  • 2. 2 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.
  • 3. 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é (Pascal, C, VB, Java, etc.). • 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.
  • 4. 4 1. Introduction • Pour exécuter un programme par une machine, on passe par les étapes suivantes : 1. Édition : on utilise généralement un éditeur de texte pour écrire un programme et le sauvegarder dans un fichier. 2. 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. 3. Chargement : charger le programme en langage machine dans mémoire afin de l’exécuter .
  • 5. 5 • 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 la quelle va s’exécuter cette instruction.
  • 6. 6 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. Mémoire Centrale UC Processeur entrées sorties
  • 7. 7 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. • 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 ).
  • 8. 8 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. •Un mot mémoire stocke une information sur n bits. •Chaque mot possède sa propre adresse. •La mémoire peut contenir des programmes et les données utilisées par les programmes.
  • 9. Structure d’un programme en MC Partie données ( variables ) Partie instructions …………. ………. } 11100001 11100001 11000001 11100001 11000001 11110000 1111111 1000000 0000000 Addition Soustraction
  • 10. 10 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.
  • 12. 12 2.2.1 L’UAL • 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 un opérande (données )au début d’une opération et le résultat à la fin.
  • 13. 13 • 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). • Ces indicateurs sont mis à jours ( modifiés )après la fin de l’exécution d’une opération dans l’UAL. • Les principeaux 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é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.
  • 15. 15 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,…. ) – 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.
  • 16. 16 • 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.
  • 19. 19 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
  • 20. 20 Une machine avec des registres de travail registres
  • 21. 21 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.
  • 22. 22 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
  • 23. 23 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.
  • 24. 24 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 )
  • 25. 25 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é.
  • 26. 26 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
  • 27. 27 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
  • 28. 28 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
  • 29. 29 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
  • 30. 30 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
  • 31. 31 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
  • 32. 32 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
  • 33. 33 • 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
  • 34. 34 • 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
  • 35. 35 • 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

Notes de l'éditeur

  1. 1