• dez
    #33
    Elég alacsony színvonalú "elemzés". Ami nem jutott el az agyáig (bár tiédig sem, mert ugye hiába is írtam már le ezeket neked, de most hátha):
    - Az egy dolog, hogy a közvetlen memóriacímzés által egy átlag C kód fordítható és futtatható rajta, de ha ezt tesszük, nagyon gyorsan beleütközünk a memória-sávszélesség korlátaiba. És akkor ugyanúgy neki kell állni optimalizálni, a minimumra csökkenteni a memóriahozzáférések számát. De mivel itt cache van, tele kell tenni a kódot prefetchekkel, flushokkkal, stb. stb. Akkor már sokkal átláthatóbb, ha van minden maghoz egy belső, címezhető ramunk...
    - Cache memóriából 256 KB sokkal kevesebb hasznos adatot v. kódot tud tárolni (mert egy adat-szót tartalmazó és azonosító cache-line sok szó önmagában), mint 256 KB lokális RAM.
    - Mindkettő in-orderes, de a Larrabee-nél ez jóval többször jelenthet várakozást, mivel az SPU-k alapvetően a cache-sebességű lokális memóriába dolgoznak, ahol ez nem számít.
    - Nem hátrány, hogy az SPU-kban 128 bites vektoregység van: 1. kevesebb párhuzamos műveletre esik 1-1 ugrási egység, így kevesebbet is fog vissza, ha ugorni kell, 2. így kisebb is a mag.
    - Az SPU-k kisebbek: több fér el. Azonos csíkszélességen mindig több SPU fog elférni.

    Persze lehetnek feladatok, ahol az egyik, és olyanok, ahol a másik alkalmazása a hatékonyabb.

    Egyébként a GPU-k blokkjait ne nevezd magoknak, mert a processzor mag fogalmába jóval többminden tartozik, mint ami 1-1 ilyen blokkban van. Azok csak "egyszerű" ALU-k blokkjai. Az ütemező, és sokminden más külön funkcionális egységben van.