Architecture Avance´e 2003/2004Florent de Dinechin TD 4 Nous sombrons dans le superscalaire
On parle de processeur superscalaire lorsque –lejeud’instructionaunes´emantiques´equentielle(paropposition,parexemple,au VLIW) ; – l’architecturedispose de plusieurs unite´s fonctionnelles (UF) qui peuvent fonction nerenparall`ele; –unem´ecaniquecomplique´efaitsonpossiblepourexploiterceparalle´lismeaumaxi mumtoutenmaintenantl’illusionquelas´emantiques´equentielleestrespect´ee (coh´erencese´quentielle). DansceTDnousallonsessayerd’inventerlesstructuresdedonn´eeetlame´canique ne´c´essairesaufonctionnementd’unprocesseursuperscalaire. Surlafinceseran´ecessairementunpeuconfusetpleinderatures.DansleTDsuivant, onrepartirasurdesbasessainesavecunem´ecaniqueparachut´ee,etonsecontentera de prouver qu’elle fonctionne (ou de la bricoler jusqu’a` ce qu’on puisse prouver qu’elle fonctionne).
1 Pipelinesimple, lancement dans l’ordre PourquelesexemplessoientlesmˆemesquedansleCAQA,onconsid`ereiciqu’on auneunite´dechargementm´emoirepipeline´eload(en deux cycles quand tout va bien), uneunit´ed’additionpipelin´ee(endeuxcycles)addu,ennuipltcali´eitmude´nileenoitepip (en 10 cycles)mul, et une unite´ de division (en 40 cycles)div. Unite´ latencepipeline FPadd 2oui FPmul 10oui FPdiv 40non LD/STR 2oui Auvudecetableau,ilestclairquelesr´esultatspeuventarriverdanslede´sordre mˆemesilesop´erationsont´ete´lance´esdansl’ordre.Quefautilfairepourquelesexcep 1 tions soient pre´cises? Proposez une architecture qui lance les instructions dans l’ordre, et ge`re les d´ependancespourmaintenirlacoh´erencese´quentiellesiellesterminentdansled´esordre. Int´eressezvous`alacomplexit´edecettearchitectureenfonctiondelatailledupipeline, du nombre de registres, etc. De´sordre pour de´sordre, on veut a` pre´sent permettre lelancementdes instructions danslede´sordre.Quefautilsurveillerenplusducaspr´ec´edent? ´ Danslesprocesseurscomme`al’EducationNationale,ilyadeuxapprochespourg´erer led´esordre:uneapprochecentralis´ee,etuneapprochede´centralise´e. 1 Et au fait qu’estce qu’une exception pre´cise ?