Vous êtes sur la page 1sur 30

Chapitre 3:

Architecture des Systèmes à P


Architecture des Systèmes à P et C
Troisième Année Génie Informatique
Lien support de cours: shorturl.at/HINU6
Dr. Samer Lahouar (samer.lahouar@crmn.rnrt.tn)
2
Introduction
 Un système informatique a essentiellement 2 composantes:
 Le matériel (Hardware): aspect physique: unité centrale, mémoire,
écran, clavier, etc.
 Le logiciel (Software): ensemble d’instructions organisées en
programmes exécutés sur le Hardware
 L’architecture d’un ordinateur: c’est l’organisation des
différentes unités du Hardware et l’interconnexion entre eux
 Le choix de l’architecture présente des compromis entre:
 Performances du système et coûts de construction
 Performances du système et facilité de programmation
 Efficacité et facilité de construction

S. Lahouar
3
Architecture de base d’un ordinateur
Les ordinateurs se basent généralement sur
l’architecture suivante:

Unité
Centrale Mémoire Interface
Horloge de principale entrées/
Traitement sorties
(CPU)

Bus

S. Lahouar
4
L’unité centrale de traitement (CPU)

Composée par le Le microprocesseur est


Le microprocesseur se
microprocesseur qui cadencé par une
caractérise par:
se charge de: horloge
• interpréter et • Source de signal • sa fréquence
exécuter les carré périodique de d’horloge (en MHz ou
instructions du période T et GHz)
programme, fréquence f=1/T • le nombre
• lire/sauvegarder les d’instructions qu’il
résultats dans la peut exécuter par
mémoire seconde: en MIPS
• communiquer avec (Million d’Instructions
les autres unités. Par Seconde)
• la taille des données
qu’il est capable de
traiter: en bits

S. Lahouar
5
Mémoire principale
 Contient les instructions et les données des programmes en
cours d’exécution
 Deux familles principales:
 Mémoire morte (ROM=Read Only Memory):
 elle est à lecture seule
 permet de stocker les programmes
 les données sont conservées à la mise hors tension.
 Mémoire vive (RAM=Random Access Memory):
 permet la lecture et l’écrire
 permet de stocker les données et les résultats de calcul.
 les données sont perdues à la mise hors tension
Remarque: Les disques durs, clés USB, CDROM, etc… sont des périphériques
de stockage considérés comme des mémoires secondaires.
S. Lahouar
6
Interface Entrées/Sorties
Permet d’assurer la communication entre le
microprocesseur et les périphériques, tels que:
Clavier, souris
Moniteur
Imprimante
Disque dur, CD/DVD ROM
Unité Clavier
Centrale Mémoire Interface Souris
Horloge de principale entrées/
Moniteur
Traitement sorties
(CPU) Imprimante

S. Lahouar Bus
7
Les Bus
 C’est un ensemble de fils (ou conducteurs) qui assure la
transmission de l’information en parallèle (tous les bits en même
temps) entre les différents composants de l’ordinateur.
 Il y a trois types de bus:
 Bus de données:
 Il est bidirectionnel: assure le transfert des informations entre le
microprocesseur et son environnement et inversement.
 Nombre de lignes: égal à la capacité de traitement du microprocesseur
(8bits, 16bits, 32bits, 64bits, etc.)

Unité
Centrale de Mémoire Interface
Horloge
Traitement principale entrées/
(CPU) sorties

S. Lahouar Bus de données


8
Les Bus
Bus d'adresses
Unidirectionnel: du microprocesseur vers les autres
composants
Il permet la sélection de l’emplacement de l’information à
traiter dans les différents composants
Un bus d’adresse de n conducteurs (n bits) permet la
sélection de 2n emplacements différents
Bus d’adresses
Nombre
n 2n
d’emplacements
8 28 256 Unité
Horloge Centrale de Mémoire Interface
16 216=26*210 64*1024=64k Traitement principale entrées/
(CPU) sorties
20 220=210*210 1024*1024=1M
32 232=22*210*210*210 4*1024*1024*1024=4G
S. Lahouar Bus de données
9
Les Bus
Bus de commande:
Constitué par quelques conducteurs
Il assure la synchronisation des flux d'informations (lecture
ou écriture) qui transitent sur les bus de données et
d’adresses
Exemples de linges de commande: Read (RD), Write (WR)

Bus d’adresses
Bus de Commande

Unité
Centrale de Mémoire Interface
Horloge
Traitement principale entrées/
(CPU) sorties

S. Lahouar
Bus de données
10
Les Bus
 Puisque le Bus de données est partagé par tous les composants, il peut y
avoir des conflits (2 composants envoient les données en même temps!)
 Pour éviter les conflits, le Bus d’adresses est utilisé par la CPU pour choisir
avec quel composant elle communique  Chaque composant a une
plage d’adresses propres
 Seule le composant sélectionné par la CPU peut utiliser le Bus de
données (pour lire ou écrire), les autres se trouvent en un état de haute
impédance (High Z: déconnectés du bus)

Bus d’adresses
Bus de Commande

Unité
Centrale de Mémoire Interface
Horloge
Traitement principale entrées/
(CPU) sorties

S. Lahouar
Bus de données
11
La Mémoire
Une mémoire est un circuit à base de transistors
Elle permet d’enregistrer, de conserver et de
restituer des informations (programmes et données)
 mémorisation
Dans une mémoire, les informations peuvent être:
écrites: enregistrement des informations en mémoire
lues: récupération des informations précédemment
enregistrées
Les opérations d’écriture/lecture des informations
de la mémoire sont initiées par la CPU
S. Lahouar
12
Structure d’une mémoire
 Une mémoire est semblable à une armoire constituée
de différents tiroirs
 Chaque tiroir représente une case mémoire qui peut
contenir une donnée sur plusieurs bits
 Le nombre de cases mémoires est généralement très
élevé  il est nécessaire de pouvoir les identifier par des
numéros
 Ces numéros sont appelés adresses  Chaque case
mémoire est accessible grâce à son adresse unique
 Un décodeur est utilisé pour sélectionner la case
mémoire souhaitée selon son adresse

S. Lahouar
Structure d’une mémoire: Exemple mémoire
13
de 32 octets Circuit Mémoire
Case mémoire =
@0 8 bits = 1 octet
0 1 1 0 1 1 0 0
Bus d’adresses: @1
1 0 0 1 1 1 1 0
5 lignes pour pouvoir @2
adresser 25=32 cases 1 1 1 1 1 1 1 1

Décodeur d’adresse
@3
A0 0 0 0 0 0 0 0 0
@4 CS
A1 1 0 1 0 0 1 0 1
Bus d’adresses

@5 R/W
A2 … … … … … … … …
A3 @6 Bus de commande:
… … … … … … … …
A4 @7 * CS: Chip select
… … … … … … … … (sélection du circuit)
CS
Mémoire R/W … … … … … … … … * R/W: lecture(1)/
écriture(0)
@31
1 1 0 0 1 1 0 1
Bus de données
A4A3A2A1A0=000002  @0  D=01101100
D D D D D D D D Bus de données (8 bits)
A4A3A2A1A0S.=00100
Lahouar 2  @4  D=10100101 7 6 5 4 3 2 1 0
14
Différents types de mémoires RAM
Il y a deux familles de RAM:
RAM Statique (SRAM): le bit mémoire est composé
d’une bascule qui contient entre 4 et 6 transistors.

Bistable

S. Lahouar
15
Différents types de mémoires RAM
RAM Dynamique (DRAM): le bit mémoire est
composé d’un condensateur qui se charge pour
mémoriser « 1 » et se décharge pour mémoriser « 0 ».

Condensateur

S. Lahouar
16
Avantages/Inconvénients SRAM-DRAM
SRAM DRAM
▪ Moins volumineuse (1transistor/bit)
▪ Consommation faible
Avantages ▪ Rapide
▪ Peut avoir une grande capacité
(quelques GBytes)
▪ Plus lente car elle nécessite un
▪ Volumineuse (jusqu’à 6 rafraichissement périodique (le
transistors/bit) condensateur perd sa charge après
▪ Consommation électrique un certain temps à cause des fuites)
Inconvénients plus élevée ▪ La lecture décharge le condensateur
▪ Ne peut pas avoir une  il faut une réécriture après chaque
grande capacité (quelques lecture
MBytes) ▪ Nécessite un circuit complexe de
rafraichissement
▪ Registres
Utilisation ▪ Mémoire principale
▪ Mémoire cache

S. Lahouar
17
Différents types de mémoires ROM
 ROM: programmée par le constructeur lors de la fabrication  ne
peut pas être reprogrammée
 PROM (Programmable ROM): programmée 1 seule fois par
l’utilisateur (par destruction)  ne peut pas être reprogrammée
 EPROM (Erasable Programmable ROM): programmée par
l’utilisateur. Peut être effacée par rayons UV  peut être
reprogrammée plusieurs fois
 EEPROM (Electrically Erasable Programmable ROM): programmée
par l’utilisateur. Peut être effacée et reprogrammée
électriquement peut être reprogrammée plusieurs fois
 FLASH EPROM: programmée par l’utilisateur. Peut être effacée et
reprogrammée électriquement. Elle est plus rapide que l’EEPROM
et possède une capacité supérieure  peut être reprogrammée
plusieurs fois

S. Lahouar
18 Les microprocesseurs

 Le microprocesseur est le « cerveau » de l’ordinateur


 C’est un circuit intégré complexe caractérisé par un
très grand taux d’intégration (grand nombre de
transistors sur une petite puce)
 Fonctions:
 interpréter et exécuter les instructions d'un
programme
 prendre en compte les informations extérieures
au système et assurer leur traitement (ex. clavier,
souris, etc.)
 Il regroupe sur quelques millimètre carré des
fonctionnalités très complexes
 La puissance des microprocesseur continue de
s’accroître et leur taille diminue régulièrement!

S. Lahouar
19 Les microprocesseurs: Architecture de base
Un microprocesseur est composé
de:
 Unité de commande: permet
Microprocesseur de séquencer le déroulement
des instructions. Elle effectue:
Mémoire
 La lecture des instructions
 Le décodage des instructions
ALU
 La préparation des instructions
suivantes
 Unité de traitement: assure le
traitement et l’exécution des
instructions préparées par
l’unité de commande
 Registre d’adresse: contient
Unité de Unité de
l’adresse de l’info à chercher
traitement commande
en mémoire
 Registre de données: contient
l’info lue de la mémoire
S. Lahouar
20 Les microprocesseurs: Unité de commande
L’unité de commande est
composée de:
 Compteur de programme (PC):
contient l’adresse de l’instruction
Microprocesseur à exécuter. Il est incrémenté
après chaque instruction
Mémoire
 Registre d’instruction: contient
l’instruction à exécuter (lue de la
mémoire)
ALU
 Décodeur d’instruction: permet
de décoder (interpréter)
l’instruction stockée dans le
registre d’instruction
 Bloc logique de commande:
 Il organise l'exécution du
programme (synchronisée par le
Unité de Unité de signal d’horloge)
traitement commande
 Il génère les signaux de
synchronisation internes au
microprocesseur ou externes
(bus de commande) en fonction
S. Lahouar des instructions du programme
21 Les microprocesseurs: Unité de traitement
L’unité de traitement est composée de:
 Unité Arithmétique et Logique (ALU):
assure l’exécution des opérations
logiques (ET, OU, NON, Décalage, etc.)
ou arithmétique (Addition, soustraction,
Microprocesseur etc.)
 Accumulateurs: sont des registres qui
Mémoire servent à stocker les opérandes d'une
opération arithmétique ou logique et le
résultat à la fin de l'opération
 Registre d'états:
ALU
 Composé par plusieurs bits
 Chaque bit est un indicateur dont l'état
dépend du résultat de la dernière
opération effectuée par l’ALU.
 Les bits sont appelés indicateurs d’état
ou flags.
 Le test de l’état des flags conditionne le
déroulement du programme. On trouve:
 dernière retenue (Carry Flag: CF)
Unité de Unité de  retenue intermédiaire sur 4ième bit
(Auxiliary-Carry flag: AC)
traitement commande
 signe (Sign Flag: SF)
 débordement (Overflow Flag: OF)
 zéro (Zero Flag: ZF)
 parité (Parity Flag: PF)
S. Lahouar
Jeu d’instructions: Types d’instructions
22

C’est l’ensemble d’opérations élémentaires que le


microprocesseur peut exécuter. Les instructions
peuvent être classées en 4 groupes:
Instructions de Transfert de données, permettent de:
transférer les données entre registres et mémoire
effectuer des transferts de registre à registre
Opérations arithmétiques: addition, soustraction,
division, multiplication, etc.
Opérations logiques: ET, OU, NON, NAND, etc.
Contrôle de séquence: permettent l’exécution de
branchement (sauts), test, etc.
S. Lahouar
Jeu d’instructions: Codage des instructions
23

 Les instructions et les opérandes sont stockés en mémoire principale


 La taille totale d’une instruction (nombre d’octets pour la représenter en
mémoire) dépend du type de l’instruction et du type de l’opérande
 Chaque instruction est codée sur un nombre entier d’octets pour faciliter
son décodage par le microprocesseur.
 Une instruction est composée de deux champs:
 le code instruction: il indique au microprocesseur quelle instruction à exécuter
 Le code de l’opérande: il contient soit la donnée soit la référence (adresse) à
une donnée en mémoire
 Le nombre d'instructions (du jeu d'instructions) est lié au format du code
instruction. Ainsi un code instruction de 1 octet permet de distinguer au
maximum 256 instructions possibles

Exemple: Instruction codée sur 2 octets


S. Lahouar
24 Les microprocesseurs: Exécution d’une instruction

Le microprocesseur peut exécuter un certain


nombre d’instructions (codées en binaire).
L’exécution d’une instruction se fait en trois
phases:
Phase 1: Recherche de l'instruction à traiter
(Fetch):
1. Le PC contient l'adresse de l'instruction
suivante du programme. Cette adresse
est placée sur le bus d'adresses par l'unité
de commande qui émet aussi un ordre de
lecture sur le bus de commande
2. Le contenu de la case mémoire
sélectionnée est disponible sur le bus des
données
3. L'instruction est stockée dans le registre
d’instruction du processeur

S. Lahouar
25 Les microprocesseurs: Exécution d’une instruction

Phase 2: Décodage de l’instruction et


recherche de l'opérande (Decode):
Le registre d'instruction contient le premier
mot de l'instruction (qui peut être codée sur
plusieurs mots). Ce mot contient le code
opératoire qui définit le type de l'opération à
effectuer (addition, soustraction, ET,. OU, etc.)
et le nombre de mots de l'instruction.
ALU 1. L'unité de commande envoi l’instruction à
l’ALU pour l’exécuter
2. Si l'instruction nécessite une donnée en
provenance de la mémoire, l'unité de
commande récupère sa valeur sur le bus
de données.
3. L’opérande est stockée dans un registre

S. Lahouar
26 Les microprocesseurs: Exécution d’une instruction

Phase 3 : Exécution de l'instruction (Execute):


1. L’instruction est exécutée par l’ALU.
ALU 2. Les indicateurs (Flags) sont positionnés
(registre d'état) selon le résultat.
3. L'unité de commande positionne le PC
pour l'instruction suivante.

S. Lahouar
27 Exemple: Microprocesseur Simple à 5 instructions

Jeu d’instructions:

Avec:
➢ A = Accumulateur.
➢ PC = Compteur programme (Program Counter).
➢ aaaa = 4 bits pour spécifier une adresse mémoire.
➢ x = valeur sans importance (don’t care).
➢ Encoding: Code Instruction
S. Lahouar
Exemple: Microprocesseur Programme exécuté:
@ Instruction Encoding Operation

28 Simple à 5 instructions 0 IN A 011 00000 Input to A


1 OUT A 100 00000 Output from A
Architecture du microprocesseur: 2 DEC A 101 00000 Decrement A
3 JNZ 2 110 00010 Jump to 2 (PC=2) if A!=0
Instruction 4 OUT A 100 00000 Output from A
Register IR 5 HALT 111 00000 HALT

Etapes d’exécution:
1. Charger instruction dans IR
Mémoire
à partir de la mémoire
selon la valeur PC (Fetch)
puis incrémenter PC
2. Décodage de l’instruction
par le bloc logique de
Program Counter PC
commande
3. Exécution de l’instruction
par le bloc unité de
traitement
Vers bloc
logique de Unité de
commande S. Lahouar traitement
Exemple: Microprocesseur
29 Simple à 5 instructions
Bloc logique de commande
(séquenceur): se fait à
l’aide d’une Machine à
états Finis
Exemple: Microprocesseur
30 Simple à 5 instructions

Architecture du microprocesseur:

Mots de contrôle:
Instruction
Register IR

Etapes d’exécution:
1. Charger instruction dans IR
Mémoire
à partir de la mémoire
selon la valeur PC (Fetch)
2. Décodage de l’instruction
par le bloc logique de
commande
Program Counter PC
3. Exécution de l’instruction
par le bloc unité de
traitement
4. Positionnement de PC sur
Vers bloc
Unité de
l’instruction suivante
logique de
commande S. Lahouar traitement

Vous aimerez peut-être aussi