Új hozzászólás Aktív témák

  • fLeSs

    nagyúr

    válasz kvp777 #46 üzenetére

    Hiszek neked, mert nem foglalkoztatott eddig az Itanium, úgyhogy nem is néztem utána, mit hogyan csinál. :D Egyelőre nem is lesz nagyon időm rá, éppen a K10-zel foglalkozom.
    Azért vicc, hogy már a P6-ban is volt elágazásbecslés.

    na, gyorsan utánanéztem: "Az egyik legfontosabb újítás az elágazások kezelésében történt. A hagyományos felépítésű processzorok csak statisztikai számításokon alapuló dinamikus programirány-előrejelzésre (elágazásjóslásra) képesek. Ha az adott elágazáson már máskor is végighaladtunk, akkor statisztikai módszerekkel próbálja a processzor eldönteni, hogy vajon most merre folytatódik a program iránya. Az elágazásjelzés az adott elágazás lefuttatása előtt történik, hogy az elágazás valós kiértékelése után már a végrehajtandó kód az L1 gyorsítótárban, illetve már előre betöltve - prefetch - legyen. Ha először halad végig a processzor egy elágazáson, akkor egyéb módszerekkel találgat, de ez a statisztikai módszernél nagyobb hibás találatot eredményez, így jelentős lesz a teljesítménycsökkenés. Az átlagos 10 százalékos hibás elágazásjóslás akár 30 százalékkal is csökkentheti a teljesítményt. Az új architektúra itt is új módszereket alkalmaz. A statikus programirány-előrejelzés, a fordítóra hagyja az egyszerűbb elágazások előre kiértékelését. A fordító a forráskód tárgykódra való fordítása során nagyrészt tudja, hogy adott elágazásból vajon az egyik vagy a másik irányba halad-e majd a vezérlés (ezzel a gyakoribb ágakat lehet valószínűsíteni, illetve a soha sem használt ágakat kiküszöbölni). Így a processzornak a dinamikus ág előrejelzéshez képest kevesebbet kell találgatnia, és az igazán bonyolult ágak kiértékelésével törődhet.
    A másik fontos technológia a futtatás folyamatosságát szolgálja. Ez a Predication nevű megoldás. Megszünteti az elágazást, és az utána következő mindkét ágat egyszerre, párhuzamosan kezdi el futtatni. Az elágazás kiértékelése után, amikor ténylegesen kiderült, melyik ágon kell folytatódnia a vezérlésnek, a hamis, szükségtelen ágat egyszerűen lekapcsolja a processzor. Így a szokványos négy órajel helyett egyetlen órajel alatt sikerül az elágazást végrehajtani. Összesen 64 darab 1 bites predicate regisztert használ az ágak állapotának - le, vagy bekapcsolt - tárolására. Az utolsó párhuzamosítási technológia a párhuzamos feltételvizsgálat, amely egy bonyolult feltételt rövidebb idő alatt tud kiértékelni a párhuzamosított kiértékelés által. "

    Eszerint ennek a módszernek neked örülnöd kéne, mert te eldöntheted, hogy a proci melyik ágat válassza többször, mivel te vagy a programozó, ezért valszeg tudod, hogy melyik ágat lesz érdemes választani, vagy nem? A fordítót te befolyásolhatod egyáltalán ilyen szinten? Ha nem, akkor bekussolok. :D

    [ Szerkesztve ]

    "I press keys on a keyboard all day and click a mouse in front of a glowing rectangle. Somehow that turns into food and shelter."

Új hozzászólás Aktív témák