0% ont trouvé ce document utile (0 vote)
163 vues6 pages

Architecture des Ordinateurs

Transféré par

Balkis Dirahoui
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
163 vues6 pages

Architecture des Ordinateurs

Transféré par

Balkis Dirahoui
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Objectifs

Chapitre 8 : L’architecture de base des


ordinateurs

• Introduction
• Architecture de base d’une machine • Comprendre l’architecture d’une machine von newman.
• La Mémoire Centrale
• Comprendre les étapes de déroulement de l’exécution d’une
• UAL ( unité arithmétique et logique ) instruction.
• UC ( unité de contrôle ou de commande )
• Jeu d’instructions , Format et codage d’une instruction • Comprendre le principe des différents modes d’adressage.
• Modes d’adressage
• Étapes d’exécution d’un instruction

1 2

1. Introduction
1. Introduction
• Un programme est un ensemble d’instructions exécutées dans
un ordre bien déterminé.
• Pour exécuter un programme par une machine, on passe par les étapes
• Un programme est exécuté par un processeur ( machine ). suivantes :
• Un programme est généralement écrit dans un langage évolué 1. Édition : on utilise généralement un éditeur de texte pour écrire un
(Pascal, C, VB, Java, etc.). programme et le sauvegarder dans un fichier.
• Les instructions qui constituent un programme peuvent être 2. Compilation : un compilateur est un programme qui convertit le code
classifiées en 4 catégories : source ( programme écrit dans un langage donné ) en un programme
– Les Instructions d’affectations : permet de faire le transfert écrit dans un langage machine ( binaire ). Une instruction en langage
des données évolué peut être traduite en plusieurs instructions machine.
3. Chargement : charger le programme en langage machine dans
– Les instructions arithmétiques et logiques.
mémoire afin de l’exécuter .
– Les Instructions de branchement ( conditionnelle et
inconditionnelle )
– Les Instructions d’entrées sorties.

2. Architecture matérielle d’une machine


( architecture de Von Neumann )

L’architecture de Von Neumann est composée :


• Comment s’exécute un programme dans la machine ?
• D’une mémoire centrale,
• D’une unité centrale UC , CPU (Central Processing Unit), processeur ,
• Pour comprendre le mécanisme d’exécution d’un programme  il microprocesseur.
faut comprendre le mécanisme de l’exécution d’une instruction . •D’un ensemble de dispositifs d’entrées sorties pour communiquer avec
l’extérieur.
•Cette architecture est la base des architectures des ordinateurs.
• 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.
entrées
UC Mémoire
Processeur Centrale
sorties

5 6
2.1 La mémoire centrale
Une adresse
•La mémoire centrale peut être vu comme
un large vecteur ( tableau ) de mots ou 0001100 0000
• La mémoire centrale (MC) représente l’espace de travail de l’ordinateur . octets.
0011100 0001
• C’est l’organe principal de rangement des informations utilisées par le •Un mot mémoire stocke une information
processeur. sur n bits. 0111100 0002
• Dans un ordinateur pour exécuter un programme il faut le charger ( copier ) •Chaque mot possède sa propre adresse. 0001100 …….
dans la mémoire centrale . •La mémoire peut contenir des 0001100 …….
• Le temps d’accès à la mémoire centrale et sa capacité sont deux éléments programmes et les données utilisées par
……..
qui influent sur le temps d’exécution d’un programme ( performances les programmes.
d’une machine ). Contenu d’une case
(un mot)mémoire

FFFF
7 8

Structure d’un programme en MC 2.2 L’Unité Centrale ( UC)


1000000 • L’unité centrale (appelée aussi processeur , microprocesseur) à
1111111

Addition
0000000
11110000
11000001
} Partie données
( variables )
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.
Soustraction 11100001
11000001 - L’unité arithmétique et logique réalise les opérations
11100001 élémentaires (addition, soustraction, multiplication, . . .) .
11100001 Partie instructions
…………. - 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.

10

Architecture matérielle d’une 2.2.1 L’UAL


machine Von Neumann
• 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


UC
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.

12
Schéma d’une UAL
• 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.

13 14

2.2.2 Unité de contrôle


• L’unité de contrôle comporte :
• Le rôle de l'unité de contrôle (ou unité de commande ) est de : – Un registre instruction (RI) : contient l’instruction en cours
– coordonner le travail de toutes les autres unités ( UAL , d’exécution. Chaque instruction est décoder selon sont code
mémoire,…. ) opération grâce à un décodeur.
– et d'assurer la synchronisation de l'ensemble. – 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
• Elle assure :
programme à exécuter.
– la recherche ( lecture ) de l’instruction et des données à partir de
– Un séquenceur : il organise ( synchronise ) l’exécution des
la mémoire,
instruction selon le rythme de l’horloge, il génère les signaux
– le décodage de l’instruction et l’exécution de l’instruction en
nécessaires pour exécuter une instruction.
cours
– et prépare l’instruction suivante.

15 16

Schéma d’une UC Schéma détaillé d’une machine

UC

17 18
Remarque Une machine avec des registres de travail

• Le microprocesseur peut contenir d’autres registres autre que


CO,RI et ACC.
• Ces registres sont considérés comme une mémoire interne ( registres
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

19 20

3.1 Codage d’une instruction


3.Jeu d’instructions
• Les instructions et leurs opérandes ( données ) sont stocké dans la
mémoire.
• Chaque microprocesseur possède un certain nombre limité d’instructions • La taille d’une instruction ( nombre de bits nécessaires pour la représenter
qu’il peut exécuter. Ces instructions s’appelles jeu d’instructions. en mémoire ) dépend du type de l’instruction et du type de l’opérande.
• Le jeu d’instructions décrit l’ensemble des opérations élémentaires que le • L’instruction est découpée en deux parties :
microprocesseur peut exécuter.
– Code opération ( code instruction ) : un code sur N bits qui indique
• Les instructions peuvent être classifiées en 4 catégories : quelle instruction.
– Instruction d’affectation : elle permet de faire le transfert des données – La champs opérande : qui contient la donnée ou la référence ( adresse
entre les registres et la mémoire ) à la donnée.
• Écriture : registre  mémoire
• Lecture : mémoire  registre Code opération Opérande
– Les instructions arithmétiques et logiques ( ET , OU , ADD,….)
N bits K bits
– Instructions de branchement ( conditionnelle et inconditionnelle )
– Instructions d’entrées sorties. •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
21 22

Machine à 3 adresses Machine à 2 adresses


• Dans ce type de machine pour chaque instruction il faut préciser :
• Dans de type de machine pour chaque instruction il faut préciser :
– l’adresse du premier opérande
– l’adresse du premier opérande
– du deuxième opérande
– du deuxième opérande ,
– et l’emplacement du résultat
• l’adresse de résultat est implicitement l’adresse du deuxième
opérande .
Code opération Opérande1 Opérande2 Résultat

Exemple :
ADD A,B,C ( CB+C ) Code opération Opérande1 Opérande2

•Dans ce type de machine la taille de l’instruction est grand . Exemple :


• Pratiquement il n’existent pas de machine de ce type. ADD A,B ( BA +B )

23 24
4. Mode d’adressage
Machine à 1 adresses
• La champs opérande contient la donnée ou la référence ( adresse )
à la donnée.
• Dans de type de machine pour chaque instruction il faut préciser
uniquement l’adresse du deuxième opérande. • Le mode d’adressage définit la manière dont le microprocesseur va
accéder à l’opérande.
• Le premier opérande existe dans le registre accumulateur. • Le code opération de l’instruction comportent un ensemble de bits
• Le résultat est mis dans le registre accumulateur. pour indiquer le mode d’adressage.

• Les modes d’adressage les plus utilités sont :


Code opération Opérande2 – Immédiat
– Direct
Exemple : – Indirect
ADD A ( ACC(ACC) + A ) – Indexé
– relatif

Ce type de machine est le plus utilisé.

25 26

4.1 Adressage immédiat 4.2 Adressage direct


• Le champs opérande de l’instruction contient l’adresse de l’opérande (
• L’opérande existent dans le champs adresse de l’instruction emplacement en mémoire )
• Pour réaliser l’opération il faut le récupérer ( lire ) l’opérande à partir
Code opération Opérande
de la mémoire. ACC  (ACC)+ (ADR)

Exemple :
ADD 150 ADD 150 Exemple :
On suppose que l’accumulateur
continent la valeur 20 .
Cette commande va avoir l’effet suivant : ACC(ACC)+ 150 ADD 150

Si le registre accumulateur contient la valeur 200 alors A la fin de l’exécution nous


après l’exécution son contenu sera égale à 350 allons avoir la valeur 50 ( 20 +
30 ) 30 150

27 28

4.3 Adressage indirect


• La champs adresse contient l’adresse de
l’adresse de l’opérande.
4.4 Adressage indexé
• Pour réaliser l’opération il faut :
• L’adresse effectif de l’opérande est relatif à une zone mémoire.
– Récupérer l’adresse de l’opérande à partir de la
mémoire. • L’dresse de cette zone se trouve dans un registre spécial ( registre
indexe ).
– Par la suite il faut chercher l’opérande à partir ADD 150
de la mémoire. • Adresse opérande = ADR + (X)
ACC (ACC)+ ((ADR))
Registre d’indexe
• Exemple :
150 200
• Initialement l’accumulateur contient la valeur 50
20 ADD 150
• Il faut récupérer l’adresse de l’adresse (150).
200 40 +
• Récupérer l’adresse de l’opérande à partir de
l’adresse 150 ( la valeur 200 )
30
• Récupérer la valeur de l’opérande à partir de 200
l’adresse 200 ( la valeur 40 ) Remarque : si ADR ne contient pas une valeur
Additionner la valeur 40 avec le contenu de immédiate alors
l’accumulateur (20) et nous allons avoir la 29 30
Adresse opérande = (ADR )+ (X)
valeur 60
4.5 Adressage relatif 5. Cycle d’exécution d’une instruction
• L’adresse effectif de l’opérande est relatif a une zone mémoire.
• Le traitement d’une instruction est décomposé en trois phases :
• 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. – Phase 1 : rechercher l’instruction à traiter et décodage
Adresse = ADR + (base) – Phase 2 : rechercher de l’opérande et exécution de l’instruction
– Phase 3 : passer à l’instruction suivante
Registre de base

• Chaque phase comporte un certain nombre d’opérations


100 élémentaires ( microcommandes ) exécutées dans un ordre bien
BR 150 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
ADD d’adressage
250

31 32

• Exemple1 : déroulement de l’instruction d’addition en mode immédiat • Exemple 2 : déroulement de l’instruction d’addition en mode direct
ACC(ACC)+ Valeur ACC(ACC)+ (ADR)

– Phase 1 : ( rechercher l’instruction à traiter ) – Phase 1 : ( rechercher l’instruction à traiter )


• Mettre le contenu du CO dans le registre RAM RAM (CO) • Mettre le contenu du CO dans le registre RAM RAM (CO)
• Commande de lecture à partir de la mémoire • Commande de lecture à partir de la mémoire
• Transfert du contenu du RIM dans le registre RI RI (RIM) • Transfert du contenu du RIM dans le registre RI RI (RIM)
• Analyse et décodage • Analyse et décodage
– Phase 2 : (traitement ) – Phase 2 : ( décodage et traitement )
• Transfert de l ’opérande dans l’UAL UAL  (RI).ADR • Transfert de l’adresse de l ’opérande dans le RAM RAM (RI).ADR
• Commande de lecture
• Commande de l’exécution de l’opération ( addition )
• Transfert du contenu du RIM vers l’UAL UAL (RIM)
– Phase 3 : ( passer à l’instruction suivante )
• Commande de l’exécution de l’opération ( addition )
• CO  (CO )+ 1
– Phase 3 : ( passer à l’instruction suivante )
• CO  (CO )+ 1

33 34

• 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 35

Vous aimerez peut-être aussi