next up previous
Next: Dispatch/Execute Unit Up: Structure interne d'un Pentium II Previous: Structure interne d'un Pentium II

Fetch/Decode Unit

Cette unité est fortement pipeliné avec 7 étages au total.

\epsfig{file=exam-sco-4-47.eps}


(IFU = Instruction Fetch Unit, ID = Instruction Decode, RAT = Register Allocator and Translator et ROB = ReOrder Buffer)

Quel est à votre avis le fonctionnement de la Fetch/Decode Unit ? Aidez vous du schéma précédent sachant que les instructions x86 décodées sont de longueur variables,

IFU0 : récuperation de la ligne dans le cache
IFU1 : détermination des frontières d'instructions (peut regarder
       jusqu'a 30 instructions en avance) 
IFU2 : alignement des instructions

et peuvent être traduite en une à quatre micro-instructions par trois unités de décodages.

ID0 : 3 decodeurs pour tranfformer l'instruction traitée 
      en micro-instruction de 118 bits
ID1 : mise en attente des micro-instructions et prédiction 
      de branchement

Un renommage final vers des registres internes est nécessaire pour éviter les interdépendances entre micro-instructions.

Les Pentium récents, avec leurs très longs pipelines, utilisent la prédiction de branchement pour savoir quelles instructions charger à l'avance et ainsi maintenir le pipeline remplis. Ne pas tenir compte de cette optimisation dans votre réponse.



Olivier Fourmaux
2000-04-19