Vous êtes sur la page 1sur 29

Université Constantine 2 – Abdelhamid Mehri

Faculté des NTIC


Département MI

Electronique des Composants & Systèmes

Les Microprocesseurs partie2

Cours de L1 - TRONC COMMUN DOMAINE


MATHEMATIQUES – INFORMATIQUE
2015-2016

Dr. Kitouni I.
1. Introduction
2. Architecture d’un microprocesseur
1. Unité de commande
2. Unité de traitement
3. Les registres
4. Les mémoires cache
1. Les niveaux de mémoires cache
5. Niveaux de programmation
6. Les principales caractéristiques d’un microprocesseur
7. Amélioration des performances d’un microprocesseur
8. Le parallélisme
1. Architecture pipeline
2. Gain en performance
3. Les limites
9. La technologie superscalaire
10. Les multicores
11. Parallélisme des processeurs
28/11/2015 2
Pour augmenter les performances d’un
microprocesseur, on peut donc soit :
 augmenter la fréquence d'horloge (limitation
matérielle)
 soit diminuer le CPI (choix d'un jeu
d'instruction adapté).
 améliorer l’architecture de base (amélioration
technologique, les bus , les registres…..)

27/11/2015 3
 Actuellement l’architecture des
microprocesseurs se composent de deux
grandes familles : ƒ
 L’ architecture CISC (Complex Instruction Set
Computer)
 L’architecture RISC (Reduced Instruction Set
Computer)

28/11/2015 4
 vue que la mémoire travaillait très lentement par rapport au
processeur, il était plus intéressant de soumettre au
microprocesseur des instructions complexes (minimiser l’accès à
la mémoire)
 On a donc eu tendance à incorporer au niveau processeur des
instructions plus proches de la structure des langage de haut
niveau
 C’est une architecture avec un grand nombre d’instructions, le
microprocesseur exécute des tâches complexes par instruction
unique
 Pour une tâche donnée, une machine CISC exécute ainsi un petit
nombre d’instructions mais chacune nécessite un plus grand
nombre de cycles d’horloge
 Des instructions complexe et de longueurs variables afin de
répondre aux besoins des langages de haut niveau
 Le code machine de ces instructions varie d’une instruction à
l’autre et nécessite donc un décodeur complexe (micro-code)
28/11/2015 5
 Des études statistiques menées au cours des années 70 -80 ont montré
que les programmes se contentaient le plus souvent d'affectations,
opérations arithmétiques simples.
 Ainsi, 80% des traitements des langages de haut niveau faisaient appel à
seulement 20% des instructions du microprocesseur.
 D’où l’idée de réduire le jeu d’instructions à celles le plus couramment
utilisées et d’en améliorer la vitesse de traitement.
 C’est une architecture dans laquelle les instructions sont en nombre
réduit (chargement, branchement, appel sous-programme).
 Chacune de ces instructions s’exécutent ainsi en un cycle d’horloge.
 Les accès à la mémoire s’effectue seulement à partir de deux
instructions (Exemple: Load et Store).
Remarque
 Par contre, les instructions complexes doivent être réalisées à partir de séquences basées
sur les instructions élémentaires, ce qui nécessite un compilateur très évolué dans le cas de
programmation en langage de haut niveau.

28/11/2015 6
 Si on diminue le nombre d'instructions, on crée
des instructions complexes (CISC) qui
nécessitent plus de cycles pour être décodées et
 si on diminue le nombre de cycles par
instruction, on crée des instructions simples
(RISC) mais on augmente alors le nombre
d'instructions nécessaires pour réaliser le
même traitement.

28/11/2015 7
Architecture RISC Architecture CISC
1. instructions simples ne 1. instructions complexes
prenant qu’un seul prenant plusieurs cycles
cycle 2. instructions au format
2. instructions au format variable
fixe 3. décodeur complexe
3. décodeur simple (microcode)
(câblé) 4. peu de registres
4. beaucoup de registres 5. toutes les instructions sont
5. seules les instructions susceptibles d’accéder à la
LOAD et STORE ont mémoire
accès à la mémoire 6. beaucoup de modes
6. peu de modes d’adressage
d’adressage 7. compilateur simple
7. compilateur complexe
28/11/2015 8
 Aujourd’hui le « pur » RISC à évolué on trouve
dans ces architectures des instructions
complexes
 On trouve des architectures mixtes à noyau
RISC et extension CISC
 L’évolution des technologies définira et
imposera des compromis permettant d’aller
vers des machines plus efficaces

28/11/2015 9
 D’autres approches sont possibles, elles
portent sur la parallélisation des
opérations (faire plusieurs choses à la
fois):
 Au niveau des instructions
 Au niveau des processeurs

28/11/2015 10
 Un programme informatique est un ensemble d'instructions
exécutées par un processeur.
 Chaque instruction nécessite un à plusieurs cycles d'horloge,
 Les microprocesseurs séquentiels exécutent l'instruction suivante
lorsqu'ils ont terminé l'instruction en cours.
 Dans le cas du parallélisme d'instructions, le microprocesseur
pourra traiter plusieurs instructions dans le même cycle d'horloge,
à condition de ne pas utiliser simultanément une même ressource
interne.
 Autrement dit, le processeur exécute des instructions qui se
suivent, et ne sont pas dépendantes l'une de l'autre.

27/11/2015 11
 Principe L’exécution d’une instruction est décomposée en une
succession d’étapes et chaque étape correspond à l’utilisation
d’une des fonctions du microprocesseur.

 Lorsqu’une instruction se trouve dans l’une des étapes, les


composants associés aux autres étapes ne sont pas utilisés.

 Le fonctionnement d’un microprocesseur simple n’est donc pas


efficace. L’architecture pipeline (en file) permet d’améliorer
l’efficacité du microprocesseur.

 En effet, lorsque la première étape de l’exécution d’une instruction


est achevée, l’instruction entre dans la seconde étape de son
exécution et la première phase de l’exécution de l’instruction
suivante débute.
27/11/2015 12
 Le cycle d’exécution est composée de 4
étapes:
1. Recherche de l’instruction
2. décodage de l’instruction
3. exécution
4. sauvegarde des résultats

27/11/2015 13
28/11/2015 14
 Il peut donc y avoir une instruction en cours
d’exécution dans chacune des étapes et chacun des
composants du microprocesseur peut être utilisé à
chaque cycle d’horloge.
 L’efficacité est maximale. Le temps d’exécution d’une
instruction n’est pas réduit mais le débit d’exécution
des instructions est considérablement augmenté.
 Une machine pipeline se caractérise par le nombre
d’étapes utilisées pour l’exécution d’une instruction, on
appelle aussi ce nombre d’étapes le nombre d’étages
du pipeline

27/11/2015 15
 Dans la structure (fictive) précédant, la machine débute
l’exécution d’une instruction à chaque cycle et le pipeline
est pleinement occupé à partir du quatrième cycle
 Le gain obtenu dépend donc du nombre d’étages du
pipeline
 Pour exécuter n instructions, chaque instruction s’exécute
en k cycles d’horloge, il faut : n.k cycles d’horloge pour
une exécution séquentielle
 ƒvoir exemple: 4 étages, 1 cycle par étage, 3 instructions : temps exécution :
4(cycles) * 3(instr)=12 cycles,

 Avec un pipeline de k étages et k cycles d’horloge pour


exécuter la première instruction puis n-1 cycles pour les
n-1 instructions suivantes :
 voir exemple: 4 étages, 1 cycle par étage, 3 instructions : temps exécution :
4(cycles 1er instr.) +1(cycle 2é instr.) + 1(cycle 3é instr.) =6 cycles,

 Le gain obtenu est donc de :G=(n*k)/k+n-1


28/11/2015 16
 En pratique actuellement : autour de 12/15 étages
Exemples de profondeur de pipeline (nombre d'étages):
Pour processeurs actuels
 Processeurs Intel
 Core 2 Duo et Mobile : 14 et 12
 P4 Prescott : 30
 P4 (avant architecture Prescott) : 20
 Génération précédente : Intel P3 : 10
 Processeurs AMD
 Athlon 64 : 12
 Génération précédente : AMD Athlon XP : 10
 Processeurs de type RISC
 Sun UltraSparc IV : 14
 IBM Power PC 970 : 16

28/11/2015 17
 La mise en place d’un pipeline pose plusieurs
problèmes.
 plus le pipeline est long, plus le nombre de cas
où il n’est pas possible d’atteindre la
performance maximale est élevé.
 Les principaux cas où la performance d’un
processeur pipeliné peut être dégradé ;
1. Les instructions ont besoins d’une même ressource
de processeur (conflit de dépendance), ƒ
2. lorsqu’une instruction produit un résultat et que
l’instruction suivante utilise ce résultat avant qu’il
n’ait pu être écrit dans un registre, ƒ
27/11/2015 18
 La mise en place d’un pipeline pose
plusieurs problèmes.
 chaque fois qu’une instruction de branchement est
exécutée, il faut normalement attendre de connaître
l’adresse de destination du branchement pour
pouvoir charger l’instruction suivante.
 Les instructions qui suivent le saut et qui sont en
exécution dans les étages inférieurs, sont inutiles, il
faudra alors vider le pipeline.
 Pour atténuer l’effet des branchements, il existe des
technique et des algorithmes spécifiques

28/11/2015 19
 Une autre façon de gagner en performance est
d’exécuter plusieurs instructions en même temps.
 La technologie superscalaire (en anglais
superscaling) consiste à disposer plusieurs unités de
traitement en parallèle afin de pouvoir traiter
plusieurs instructions par cycle (appartenant à un
même programme)
 Les instructions sont alors réparties entre les
différentes unités d'exécution.
 Il faut donc pouvoir soutenir un flot important
d’instructions et pour cela disposer d’un cache
performant
28/11/2015 20
27/11/2015 21
 Le principe est d’exécuter les instructions de
façon pipelinée dans chacune des unités de
traitement travaillant en parallèle

27/11/2015 22
27/11/2015 23
 Un processeur multi-cœur est tout simplement un
processeur composé non pas de 1 mais de 2 (ou 4 ou 8)
unités de calcul (des UT ou des processeurs sur une
même puces).
 pour un processeur bi-cœur (ou DualCore) le
processeur dispose à fréquence d'horloge égale d'une
puissance de calcul deux fois plus importante.
 le gain n'est pas systématiquement visible. Il faut que
les logiciels et les systèmes d'exploitation sachent gérer
correctement ces processeurs
 Un processeur multicore va pouvoir aller chercher des
instructions dans plusieurs programmes.

28/11/2015 24
27/11/2015 25
Finesse de
Nombre de Fréquence Largeur
Date Nom gravure MIPS
transistors de l'horloge des données
(nm)
4 bits/4 bits
1971 Intel 4004 2 300 10 000 108 kHz 0,06
bus
8 bits/8 bits
1974 Intel 8008 6 000 6 000 2 MHz 0,64
bus
Pentium 60 à 32 bits/64
1993 3 100 000 800 à 250 100
(Intel P5) 233 MHz bits bus
1,3 à 32 bits/64
2000 Pentium 4 42 000 000 180 à 65 1 700
3,8 GHz bits bus
Core 2 Duo 2,4 GHz 64 bits/64
2006 291 000 000 65 22 000
(Conroe) (E6600) bits bus
Core 2
Quad 3 GHz 64 bits/64
2007 2*291 000 000 65 2*22 000 (?)
(Kentsfield (Q6850) bits bus
)
Intel Core
3,33 GHz
i7 64 bits/64
2008 731 000 000 45 (Core i7 ?
(Bloomfiel bits bus
975X)
d)
Intel Core
3,5 GHz
i3/i5/i7 64 bits/64
2012 1 400 000 000 22 (Core i7
(Ivy bits bus
3770K)
Bridge)
28/11/2015 26
Multi processeurs:
 Dans de tels systèmes les processeurs sont autonomes,
(leurs propres UC et UAL) ils se partagent la MC
 Plusieurs implantations possibles:
 Les processeurs se partagent la mémoire et les ressources
internes, nécessite gestion importante et résolution de conflits
 Les processeurs disposent de mémoires privées pour les
instructions qui n’ont pas à être partagées
Multi ordinateurs:
 Dits aussi architectures distribuées, la communication
se résume à des échanges de messages au travers des
réseaux de communications
 L’efficacité de l’ensemble du système dépond de la
qualité du réseau

28/11/2015 27
Flux Flux données designation Type de machine
instructions
1 1 SISD Von Neumann
Single Instruction
Single Data
1 Plusieurs SIMD Machine vectorielle
Single Instruction
Multiple Data
Plusieurs 1 MISD L'architecture rare
Multiple Instruction qui est généralement
Single Data utilisé pour la
tolérance aux pannes.
Plusieurs Plusieurs MIMID Multiprocesseur
Multiple Instruction Multi-ordinateurs
Multiple Data

28/11/2015 28
 La Loi de Moore (1965, par Gordon Moore, co-
fondateur d’Intel),
 décrit en partie l’augmentation de puissance des
microprocesseurs : elle stipule que le nombre de
transistors par pouce carré, pour les
microprocesseurs, double tous les deux ans (voir
http://fr.wikipedia.org/wiki/Loi_de_Moore pour
une illustration).
 Cette augmentation est permise grâce à
l’amélioration technologique des techniques
“d’écriture” des transistors à l’intérieur de silicone.
27/11/2015 29

Vous aimerez peut-être aussi