• dez
    #445
    Na, akkor amit tegnap írni akartam BiroAndrasnak még.

    A.
    Azt írta(d), szerinted, az ismet tulajdonságai (in-order, gyengébb branch prediction, kis méret) alapján a Cell PPE-je egy 386 v. 486-osnak felel meg, csak magasabb órajelen, de vélhetően hosszú pipeline-okkal (ami miatt az effektív sebesség nem arányos az órajellel).

    Én nem értettem egyet, de nem fejtettem ki bővebben. Most megteszem.

    1. Az in-order működési mód nem szinonímája a gyenge teljesítménynek! Csak annyit jelent, hogy nincs automatikus run-time reordering (a utasításvégrehajtási sorrend cserélgetése, az optimálisabban végrehajtható sorrend érdekében). De ez nem olyan nagy baj, ezt a fajta optimizácóit a compiler is közel ugyanolyan hatékonyan elvégezheti.
    2. Az out-of-order rendszer működéséből adódóan sokkal kifinomultabb és összetettebb branch predictiont igényel. Az in-order meg nem. Tehát nem kisprórolták az összetett branch predictiont, hanem egyszerűen nem volt rá szükség.
    3. Ugyancsak több pipeline lépcsőfokot igényel az out-of-order rendszer, hiszen végrehajtás előtt át kell rendezni a sorrendet. Ezzel szemben az in-order rendszerhez rövid pileline kell.
    4. Az out-of-order rendszer és a hozzá tartozó bonyolult branch prediction (és a hosszabb pipeline egyéb elemei) sok tranzisztort igényel. Így nem csoda, hogy egy in-order rendszerű mag sokkal kisebb lehet.
    5. A kisebb mag által sokkal kisebb a fogyasztás is.
    6. A Pentium(1) is in-order volt, és az Itanium is az.

    Egyszóval arról van szó, hogy egy optimizálási eljárás itt a compilerre (v. asm programozóra) van bízva, és ezáltal sokkal egyszerűbb lehet a mag.

    Tehát, attól, hogy a PPE egy kicsi in-order mag, még lehet nagy teljesítményű, főleg hogy 3.2GHz-en megy. A compileren múlik, és vannak is hozzá jó compilerek.

    (Adódik a kérdés, miért álltak át x86-on out-of-order rendszerre?
    - Nehezebb igazán optimális kódot generáló compilert készíteni hozzá.
    - Minden proci-típushoz/-generációhoz külön meg kell írni az ide vonatkozó részt.
    - Márpedig x86 vonalon gyorsan cserélődnek a procik.
    - Amúgy sem akarták, hogy a compilereken múljon a teljesítmény.
    - Továbbá maguk a tervezők ismeri igazán a procijuk pontos belső felépítését (főleg ha titok), ők tudják a legoptimálisabbra tervezni a reorderinget.)

    B.
    Azt is írta(d), egy PS3-mal most dolgozni kezdő fejlesztő azt mondta neked, a Cell "szar", és 'minden fejlesztő ezt gondolja'. Akkor bemutatom neked Mike Actont, aki a High Moon Studios egyik vezető programozója, akinek egy kissé más a véleménye, és az ő szavára kicsit jobban adok (de halkan megjegyzem, amúgy is nagyjából azt gondolja, amit én). Itt olvashatsz vele egy interjút. Egy külön website-ot is létrehozott, ami a Cellel foglalkozik: