• dez
    #351
    "Hogyan?"

    Hát úgy, hogy kiolvassa a memóriából azt a párszáz, párezer kis adatcsomagot, és átadja valamelyik SPE-nek (egy tízezred mp alatt).

    "Úgy értem, hogy ő szervezi a feladatokat. Megmondja, hogy melyik SPE mit csináljon"

    Ez semmiből sem áll, pár utasítás, a többit meg már az SPE csinálja (beolvassa a programját, aztán szépen nekiáll végrehajtani, már ő olvassa be az adatokat [ha blokkos, de általában az]).

    "meg előkészíti nekik az adatokat."

    Csak ha kimondottan szükséges - csak bizonyos feladatoknál.

    "A tapasztalat szerint nem igazán. Nem véletlen, hogy a PC-n is rengeteg tranzisztort áldoznak erre."

    Ezt gondolom az in-orderre és a branchra írod. Olvasgattam már megoldásokról. Nem tökéletesek, de a másik megoldás sem mindig az.

    "Igen, de a PPE eleve sokkal gyengébb, és plusz adminisztrációs feladatokat is kap."

    Azért figyeljünk oda az arányokra is...

    "Emiatt nem biztos, hogy sokkal több marad a gamelogic-nak, mint PC-n."

    Ez egy igen elhamarkodott következtetés, lásd arányok.

    "A gamelogic tipikusan az a fajta kód, ami igényli az alacsony memória késleltetést, a rövid futószalagot, a fejlett branch-prediction-t, és a többit."

    Oké, de mivel közben alig kell mással foglalkoznia a PPE-nek (más csinálja párhuzamosan), ez nem feltétlenül gond.

    "Egyébként az AI-t nem is biztos, hogy át tudják venni, az nem olyan egyszerű."

    Kicsit besegíthet a PPE, de a számítások nagy része mehet az SPE-ken.

    "Igen, de sajnos manapság nem az az elvárás. Ha nem kéne ultra csúcs 3D grafika, akkor sokkal jobb játékokat lehetne írni, ez tény."

    Na de hát ez az, hogy sok 3D grafikával kapcsolatos műveletet (amit PC-n a CPU csinál) átvehet 1-2 SPE, így a PPE-nek több ideje marad.

    "De azért nem csak ezen múlik. Azokban a játékokban pl. AI sem volt, csak egyszerű szkriptek."

    Melyik játékban van ma "igazi" AI? Szerintem ma is eléggé behatároltak és előreprogramozottak, csak már kicsit összetettebb vezérlésűek.

    " "Miért lenne lassabb egy SPE másolásban?"
    Mert nem fér hozzá közvetlenül a PPE memóriájához, így még plusz másolgatás is kell."

    Nem értem, milyen plusz másolgatásra gondolsz.
    Én blokkos másolásra gondoltam. Azt nem tudom, arra képesek-e az SPE-k, hogy egy blokkot a külső memórián belül átmásoljanak, de ha nem, akkor megtehetik, hogy bemásolnak maguknak egy blokkot, és aztán vissza máshova. A main és a vram között így is valószínű ez a leggyorsabb.

    "A gamelogic-ban nem jellemző akkora másolgatás, amit érdemes külön kezelni.
    Inkább olyan feladatokra jellemző, amiket egyébként is az SPE-k csinálnak."

    Ki beszél itt a PPE-ről és gamelogicról? Az SPE-k másolgatásban való részvételéről van szó.

    "A gamelogic még mindíg 1 szálú, és egy ideig az is marad. Egyébként a többszálúsításnak van nem kevés adminisztrációs költsége, ami nem biztos, hogy megtérül."

    Na de a másik/többi szálon más feladat is futhat.

    "Pl. az Intel féle HT egyes esetekben lassította a szoftvert emiatt."

    A true HW SMP és a HT nem ugyanaz. Az utóbbinál nincsenek megduplázva egységek (esetleg 1-2 dolog), csak a meglévők között osztja el a feladatokat. Két egyforma feladatnak várnia kell egymásra. Az elsőnél viszont jópár dolog meg van duplázva. (Látszik a dye-fotón.)

    "Tévedsz, a PPE apránként is küldhet adatot az SPE-knek, mivel hozzáfér a ramjukhoz."

    "És ennek mennyi a késleltetése? Mert ha jóval több, mint a SPE belső RAM-jáé, akkor szart se ér. Arról nem is beszélve, hogy ez esetben a PPE jelentős időt pazarol az SPE-k etetésére. És még valahogy értesülnie is kell arról, hogy az SPE adatot kér. Kizárt, hogy ez így elég gyors legyen."

    Ha párszáz, vagy párezer quadwordről van szó, nem hiszem, hogy különösebb problémát jelent. (És ugye közben a 2. threadben más feladat is futhat a PPE-n.)