Vous êtes sur la page 1sur 6

Architecture Séquentielle

Sur un processeur séquentiel les instructions s’exécutent séquentiellement


l’une après l’autre.

Exemple :
Dans ler processeur MIPS, l’instruction passe par 5 étages. Chaque étage dure
un cycle. Le temps d’exécution de N instructions dure :

Te = N*Tc

1C = T = 1/f

Recherche decodage Execution Aacces memoire Ecriture

4
Npc

Mux1
+

Comp Cond
Control

ctx2
ctx3
aluo

ctpc
p

ctrf
MUX2

ctmr
ctx4
RegFile
I-Memory

Pc A
D-Memory

IR
Alu

Alu
lmd
Mux4

B
Mux3

out

16 32
Sign
Im
extend

Exécution de 5 Instructions par le processeur MIPS

F D E M WF D E MWF D E M WF D E MWF D E MW

Te = 5 * 5 cycles = 25 cycles
Architecture Pipelinée
 La technique de pipeline constitue la caractéristique d'optimisation des
performances la plus importante des microprocesseurs modernes.
 Cette technique permet à plusieurs instructions de chevaucher en exécution
 Ce chevauchement est appelé : Parallélisme au niveau instruction
En anglais : Instruction level parallelism : ILP
 La technique de pipeline permet d'augmenter la capacité de traitement du
processeur central (throughput) en réduisant le nombre de cycles par
instruction (CPI).
 Le CPI idéal dans une architecture pipeline est égale à un (1) : CPI = 1
 Cela signifie qu'a chaque cycle d'horloge, le processeur exécute une
instruction

Pour atteindre cet objectif, les architectures pipelines étendent les


architectures multi cycles séquentielles par :
 l'addition des registres pipelines entre les étages successifs pour
sauvegarder l’état de chaque étage
 Une logique de contrôle appropriée pour faire fonctionner ces étages
en parallèle.
 les signaux de contrôle sont sauvegardés dans les registres pipelines et
suivent chaque instruction jusqu'à sa terminaison
 La structure modulaire des architectures RISC simplifie énormément la
conception des machines pipelines

La figure 2 montre l’architecture d’un processeur pipeliné

Fetch Decode Execute M- access W-Back

FD D E E M MW
4
+
Controe

Mux0
Mux2
Memory

RegFile
I-

Pc
D-Memory
Alu

Mux4
Mux3

16 Sign 32

Fig 21: Bloc Diagram of the MIPS Pipelined Microarchitecture


Une Execution pipelinée de 5 ininstructions est illustrée ci-après

F D E M W
F D E M W
F D E M W
F D E M W
F D E M W

L’exécution pipelinée demande beaucoup moins de cycles horloges par rapport


à l’exécution séquentielle: 9 cycles contre 25 cycles pour le séquentiel

Te = K + N-1
(K : Nombre d’étages, N : Nombre d’Instructions)

Limites du pipeline
Il existe des situations, appelées aléas (hasards) qui empêchent la technique de
pipeline de réaliser des performances idéales.

 Certains hasards peuvent être traités en temps réel pour laisser le pipeline
continuer son fonctionnement régulier. Alors que d'autres hasards,
malheureusement, interrompent le pipeline (situation appelée: stalling). Par
conséquent, la vitesse d'exécution attendue se dégrade
 Il existe trois types de hasards qui peuvent se provoquer dans les
architectures pipelines.
 Les Hasards structuraux : Proviennent du conflit des ressources hardwares :
Ex : Tentatives d’acces simultanés à la mémoire
 les hasards de données : Apparaissent quand une instruction dépendant
des résultats d'une autre instruction précédente se trouvant encore dans
le pipe. Il existe trois types de hasards de données dépendant de l'ordre
des opérations de lecture/écriture dans le programme.
Soient i et j, deux instructions telle que l'instruction i s'exécute avant
l'instruction j, alors les différents hasards de données qui peuvent se
produire sont les suivants:

 les hasards de contrôle (ou de branchement). Ces types de hasards se


provoquent quant le compteur ordinal change d'adresse. L'instruction
suivante ne peut pas être recherchée jusqu'à ce que la valeur du compteur
ordinal soit calculée.

Architecture Superscalaire
Les machines superscalaires étendent les machines pipelines, en mettant
plusieurs pipelines en parallèle. Cela signifie que ces machines peuvent initier
plusieurs instructions durant le même cycle d'horloge.

la technique des superscalaires permet de réduire encore le CPI, en le rendant


inférieur à un (1) : CPI < 1

La Figure ci-après montre l’architecture d’un processeur suprscalaire avec deux


pipelines symetriques (bati sur le processeur pipeliné). Chaque pipeline possède
cinq étages. A chaque cycle deux instructions sont recherchées en parallèle. En
absence de hasards, dix instructions peuvent être traitées en parallèle.
Fetch Decode Execute M-Access W-Back
F D D E EM MW
8
Mux2

+
Controle

ALU

Mux1
Mux3
Memory

RegFile
I-

D-Memory

Pc
Mux4
Mux3

ALU

Sign

Sign

Bloc Diagram of the MIPS dual-Issue Microarchitecture


32

Execute
Decode

WBack
Memory Access
Fetch-64-Bit
Instruction
64

Dual Port
64

Execute
Decode
32

WBack
Logical Structure of the dual-Issue Microarchitecture

Un modèle d’exécution simple de 10 instructions est illustrépar le schéma c--après

I1 I2 F D E M W
F D E M W
F D E M W
I3 I4
F D E M W
F D E M W
I5 I6 F D E M W
F D E M W
I7 I8 F D E M W
F D E M W
I9 I10 F D E M W

Te = K+ N/P -1

Classification des machines superscalaires


Deux modèles de processeurs superscalaires se distinguent selon la stratégie d’ordonnancement : Les
superscalaires statiques (à exécution ordonnée) et les superscalaires dynamique (à exécution
désordonnée).

 Les superscalaires à exécution ordonnée

Ces processeurs sont construits par la réplication de plusieurs pipelines qui fonctionnent en parallèle. Ils
utilisent un ordonnancement statique (static sheduling) qui initie et exécute des instructions dans l'ordre
du programme. En absence de hasards, Le nombre d’instructions qui peuvent être exécutés
simultanément dépend du nombre de pipelines et la longueur de ces derniers
Un exemple d’architecture est donné ci-après

UF: Unite Fonctionnelle

UF1

Predicte Branchs
Lire Opérandes
Recherche

Décodage

Registres
DM
UF2

Recherche Decodage Execution Acces Memoire Ecriture


Le flux des instructions à travers les pipes suit l’ordre séquentiel des programmes

Microarchitecture d’un superscalaire a exécution ordonnée

 Les superscalaires à exécution désordonnée

Ces processeurs permettent une exécution désordonnée des instructions. Par


conséquent, un ordonnancement dynamique (dynamic sheduling) des instructions
est nécessaire. Une microarchitecture typique de ce genre de superscalaire est
donnée par la figure ci-après

UM: Unite Mémoire


Station1

UF: Unite Fonctionnelle


UM
Logique d’issue

Reorganisation

Reorder-Buffer
Station2

des resultats
Recherche

Decodage

UF3
Rgistres
Station3

UF2
Station4

UF1

Recherche Decodage Issue Execution Reorganisation Ecriture

En ordre En désordre En ordre

Microarchitecture d’un superscalaire à exécution désordonnée

Vous aimerez peut-être aussi