Leksioni-5-ILP2.ppt

download Leksioni-5-ILP2.ppt

of 41

Transcript of Leksioni-5-ILP2.ppt

  • Paralelizimi ne nivel instruksioni Pjesa IIArkitektura e avancuar e Kompjuterit

    Leksioni 5

  • Algoritmi i TomasuloLeksioni 5 *Per IBM 360/91 rreth 3 vjet pas CDC 6600 (1966)Qellimi: Performance e larte pa kompilues specialeDiferencat ndermjet IBM 360 & CDC 6600 ISAIBM ka vetem 2regjsitra specifikues /instruksione vs. 3 ne CDC 6600IBM ka 4 rtegjistra FP vs. 8 neCDC 6600Pse studiohet? Sipas tij jane projektuar Alpha 21264, HP 8000, MIPS 10000, Pentium II, PowerPC 604,

    Leksioni 5

  • Algortimi i Tomasulo vs. ScoreboardLeksioni 5 *Kontrolli dhe buferat te shperndare me njesite funksionale (FU) vs. Te qenderzuar ne scoreboard; Bufera FU te quajtur stacione rezervimi; kane operande pezullRegjistrat ne Ins zevendesohen nga vlera ose pointera ne stacionet e rezervimit(RS); te quajtur riemertim regjistrash; Eviton rreziqet WAR, WAW Me shume stacione rezervimi se regjistra, => realizohen optimizime qe kompiluesit nuk mund ti bejneRezultate ne FU nga RS, jo permes regjsitrave, permes Bus te dhenash te zakonshem te cilet transmetojne rezultatet ne FULoad dhe Store trajtohen si FUs me RSs mjaft mireIns Integer mund t ekalojne pas degeve, duke i lejuar operacioneve FP te tejklalojne blloqet baze ne rradhen e FP

    Leksioni 5

  • *Organizimi i TomasuloFP addersAdd1Add2Add3FP multipliersMult1Mult2From MemFP RegistersReservation StationsCommon Data Bus (CDB)To MemFP Op QueueLoad BuffersStore BuffersLoad1Load2Load3Load4Load5Load6

  • Komponentet e RSLeksioni 5 *OpOperacioni qe duhet kryer ne njesi (e.g., + or )Vj, VkVlera e operandeve BurimBuferat Storekane V fusha, rezultate per te ruajtur.Qj, QkRS qe prodhojne regjsitra burim(vlera per tu shkruar)Kujdes: Pa flamuj gjendje si ne Scoreboard; Qj,Qk=0 => gatiBuferat Store kane vetem Qi per te prodhuar rezultatet RS BusyTregon qe stacioni i rezervimit ose FU eshte i zeneRegjsitri i statusit te rezultatitTregon cila FU do te shkruaj cilin regjsiter, nese ekziston nje. ndicates which functional unit will write each register, if one exists. Bosh kur nuk ka instruksione ne pritje per te shkruar ne ate regjister.

    Leksioni 5

  • Tre fazat e Algortimit te Tomasulo Leksioni 5 *1.Veprime (Issue) Merr ins nga rradha e operacioneve FP Nese RS eshte i lire (ska rrezik strukturor), kontroli sinjalizon nisjen e Ins dhe dergon operandet (riemerton regjistrat).2.Ekzekutimioperon tek operandet (EX) Kur te dy operandet jane gati atehere ekzekutohen; nese jo kontrollojne CDB per rezultate3.Shkrimi i rezultateveperfundon ekzekutimin (WB) Shkruan ne CDB per te gjitha njesite ne pritje; shenjon RS si te gatshme (available)Bus te dhenash normal (NDB): data + destinacion (shko ne bus)Bus te dhenash te zakonshme (CDB): data + burim (vjen nga bus)64 bite te dhenash + 4 bite te adreses burim te FU.Shkruan nese perfundon FU (prodhohet rezuktat)Kryhet transmetimi

    Leksioni 5

  • Shembull i Tomasulo *

  • Shembull Tomasulo, Cikli 1*

  • Shembull Tomasulo, Cikli 2*

  • Shembull Tomasulo, Cikli 3*Vini re: emrat e regjstiravge jane hequr (riemertuar) ne RS; kryhet MULTLoad1 perfundon;per cfare po pret Load1?

  • Shembull Tomasulo, Cikli 4*Load2 perfundon; per cfare po pret Load2?

  • Shembull Tomasulo, Cikli 5*Koha fillon te bjere per Add1, Mult1

  • Shembull Tomasulo, Cikli 6*Veprojme ADDD ne kete rast pavaresisht varesise se emrit ne F6?

  • Shembull Tomasulo, Cikli 7*Add1 (SUBD) po perfundon;kush po pret per te?

  • Shembull Tomasulo, Cikli 8*

  • Shembull Tomasulo, Cikli 9*

  • Shembull Tomasulo, Cikli 10*Add2 (ADDD) po perfundon; kush po pret per te?

  • Shembull Tomasulo, Cikli 11*A ti shkruajme rezultatet e ADDD ketu?Te gjithe ins e shpejte perfundojne ne kete cikel!

  • Shembull Tomasulo, Cikli 12*

  • Shembull Tomasulo, Cikli 13*

  • Shembull Tomasulo, Cikli 14*

  • Shembull Tomasulo, Cikli 15*Mult1 (MULTD) po perfundon; kush po pret per te?

  • Shembull Tomasulo, Cikli 16*Ne pritje te perfundimit te Mult2 (DIVD)

  • Llogaritje me te shpejta se shpejtesia e drites(le ti anashkalojme ca cikle)*

  • Shembull Tomasulo, Cikli 55*

  • Shembull Tomasulo, Cikli 56*Mult2 (DIVD) po perfundon; cfare po pret per te?

  • Shembull Tomasulo, Cikli 57*Edhe nje here: Veprim sipas rradhes, ekzekutim jashte rradhe dhe perfundim jashte rradhe.

    Tomasulo sheet start

    Instruction status:ExecWrite

    InstructionjkIssueCompResultBusyAddress

    LDF634+R2134Load1No

    LDF245+R3245Load2No

    MULTDF0F2F431516Load3No

    SUBDF8F6F2478

    DIVDF10F0F655657

    ADDDF6F8F261011

    Reservation Stations:S1S2RSRS

    TimeNameBusyOpVjVkQjQk

    Add1No

    Add2No

    Add3No

    Mult1No

    Mult2YesDIVDM*F4M(A1)

    Register result status:

    ClockF0F2F4F6F8F10F12...F30

    56FUM*F4M(A2)(M-M+M)(M-M)Result

    &F

    Page &P

  • Permbledhje: TomasuloLeksioni 5 *Parandalon regjistrat nga bottleneckEviton rreziqet WAR, WAW te ScoreboardLejon zberthim cikli ne HWJo e limitiar ne blloqe baze (ofron parashikim dege)Kontribbute permanenteSkedulim DinamikRiemertim regjistrashKthjellim Load/store 360/91 pasardhesit jane PowerPC 604, 620; MIPS R10000; HP-PA 8000; Intel Pentium Pro

    Leksioni 5

  • Parashikimi statik i degesPr t Rirenditur kodin perreth degve, nevojitet t parashikojme degn statikisht gjat kompilimit. Skema me e thjeshte: Supozojme se dega ndiqet. Gabimi mesatar i parashikimit (misprediction) = frekuenca e deges qe nuk merret = 34% SPEC

    * Skema te tjera parashikojne permes mbledhjes info profili mbi ekzekutime te meparshme, IntegerFloating Point

    Leksioni 5

    Chart1

    0.12

    0.22

    0.18

    0.11

    0.12

    0.04

    0.06

    0.09

    0.1

    0.15

    Misprediction Rate

    Sheet1

    Benchmark

    compress12%

    eqntott22%

    espresso18%

    gcc11%

    li12%

    doduc4%

    ear6%

    hydro2d9%

    mdljdp10%

    su2cor15%

    Sheet1

    Misprediction Rate

    Sheet2

    Sheet3

  • Parashikimi dinamik i degesLeksioni 5 *Performance = f(saktesi, kosto e parashikimit gabim)Tabela e historise se deges: Bitet e ulta t PC adresojn tabelen e indeksimit me vlera 1 biteshe.Tregon nese nje dege eshte marre apo jo heren e funditNuk kontrollohet adresaProblem: ne nje cikel, 1-bit BHT shkakton 2 keq parashikime:Iteracioni i fundit, vazhdon iteracioni ne vend qe te dalim nga cikliIteracioni i paret, dalim nga cikli ne vend qe te rikryejme iteracioninBits 13 - 201023Parashikim31 1Adresa

    Leksioni 5

  • Parashikimi dinamik i deges*Zgjidhje: Skeme me 2-bite ku ndryshojme parashikimin vetem nese keq parashikojme 2 here.

    E Kuqe: stop, mos e merrJeshile: vazhdo, merre

  • Saktesia e BHT Leksioni 5 *Keqparashikim sepse:Supozim i gabuar per ate degeKemi marre historine e deges se gabuar gjate indeksimit te tabelesProgramet me tabele 4096 regjstrimesh variojne nga 1% keqparashikim (nasa7, tomcatv) deri ne 18% (eqntott),.4096 operon po aq mire sa nje tabele e pafundme por i nevojiten shume HW. Branch Prediction Buffers

    Leksioni 5

  • Parashikimi i korreluar i deges*Ideja: regjsitrojme m deget e fundit te ekzekutuara si te marra ose jo dhe prdorim kete model per te ndertuar tabelen e historikut te deges me N- bitet e duhura

    Ne pergjithesi, parashikues (m,n) dmth qe regjistrohne m deget e fundit per te zgjedhur ndermjet 2m tabela historiku, seicili me numerues n-biteshKeshtu, BHT 2-bit i vjeter eshte, parashikues (0,2)

    Historiku global i deges: regjsitra rreshqites m-bitesh qe ruajne gjendjen M/JM te m degeve te fundit.

  • Deget e korreluaraLeksioni 5 *Parashikues (2,2) Sjellja e degeve te fundit perzgjedh midis 4parashikimeve te deges pasasrdhese, duke update-uar vetem ate parashikim Branch Prediction Buffers

    Leksioni 5

  • Saktesia e skemave te ndryshme*0%Frekuenca e keqparashikimit0%1%5%6%6%11%4%6%5%1%2%4%6%8%10%12%14%16%18%20%4096 regjstrime 2-bit BHTRregjistrime pa limit 2-bit BHT1024 rregjistrime (2,2) BHTnasa7matrix300doducdspicefppppgccexpressoeqntottlitomcatv

  • Parashikuesit konkurues (Tournament )*Parashikues dege MultiniveleshPerdorim numrator n-bitesh per te zgjedhur mes parashikuesve

  • Parashikuesit konkurues (Tournament )*Parashikues konkurues qe perdor psh. Numrator 2-bit,4K,te indeksuar nga adresa e degeve lokale. Zgjedh midis:Parashikuesit global4K regjistrime te indeksuara, nga historiku i 12 degeve te fundit(212 = 4K)Cdo regjistrim eshte nje parashikues standard 2-biteshrParashikuesit LokaleTabele historiku lokale: 1024, regjsitrime me 10 bite, per 10 deget e fundit, indeksuar mbi adresen e degesModeli i 10 ngjarjeve te fundit per nje dege te caktar perdoret per te indeksuar tabelen me 1K regjistrime dhe numrator me 3 bite.

  • Krahasimi i Parashikuesve*Avantazhi i Parashikuesve konkurues eshta aftesia per te perzgjedhur parashikimin e sakte per nje dege te caktuarVecanerisht kritik per performancen e int. Nje Parashikues tipik konkurues do te zgjedhe Parashikuesin global pothuaj 40% te kohes per SPEC integer dhe me pak se 15% te kohes per SPEC FP

  • Buferi i deges objektivLeksioni 5 *Branch Target Buffer (BTB): Perdorin adresen e deges si indeks per te parashikuar dhe adresen e deges ( nese merrret)Kujdes: duhet kontrolluar per dege tani, sepse nuk mund te perdoren adresa te gabuara degesh.Kthen adresat e degeve te parashikuara me stakParashikimi i deges:E marre apo jo

    Leksioni 5

  • ShembullLeksioni 5 *Percaktoni penalitetin total te deges per nje BTB duke perdorur penalitet e mesiperme. Supozoni gjithashtu se:Saktesia e parashikimit= 80%Hit rate ne bufer = 90%Frekuenca e marrjes se deges =60%. InstruksioneParashikimiDegaCikleNe BuferAktualePenalitetiPoE marreE marre0PoE marreJoE marre2JoE marre2Penaliteti i deges = Perqindja e buffer hit rate X Perqindja e prarashikimit te gabuar X 2 + ( 1 perqindja e buffer hit rate) X deget e marra X 2Penaliteti i deges = ( 90% X 10% X 2) + (10% X 60% X 2)Penaliteti i deges = 0.18 + 0.12 = 0.30 cikle ore

    Leksioni 5

  • Parashikimi dinamik i deges Permbledhje*Parashikimi eshte pjese e rendesishme e ekzekutimitTabela e Historikut te degeve (BHT): 2 bite per saktesi cikliKorrelimi: Deget e ekzekutuara se fundmi te korreluara me degen e ardhshmeOse dege te ndryshme(GA)Ose ekzekutime te ndryshme per te njejtat dege (PA)Parashikuesit konkurues marrin njohuri per nivelin pasardhes duke perdorur parashikues te shumfishte. Zakonisht njeri i bazuar ne informacion global dhe nje ne informacion lokal, te kombinuar sipas nje selektuesiNe 2006, Parashikuesit konkurues perdornin 30K bit, ne procesoret si Power5 dhePentium 4Branch Target Buffer:perfshin adresen e deges dhe parashikimin

    *Resolve RAW memory conflict? (address in memory buffers)Integer unit executes in parallel*What you might have thought1. 4 stages of instruction executino2.Status of FU: Normal things to keep track of (RAW & structura for busyl):Fi from instruction format of the mahine (Fi is dest)Add unit can Add or SubRj, Rk - status of registers (Po means ready)Qj,Qk - If a no in Rj, Rk, means waiting for a FU to write result; Qj, Qk means wihch FU waiting for it3.Status of register result (WAW &WAR)s:which FU is going to write into registersScoreboard on 6600 = size of FU6.7, 6.8, 6.9, 6.12, 6.13, 6.16, 6.17FU latencies: Add 2, Mult 10, Div 40 clocks