• kvp
    #62
    ""ami mindossze egy regiszter keszlet valtast igenyel"
    Ez pl. a Cell SPE-i esetén 128db 128 bites regiszter váltását igényelné (2KB), de a mai DX10-komp. GPU-knál már ilyen 1024-es számok figyelnek... Bár valószínű a Larrabee magjaiban kevesebb lesz, és a shader-compilerre hárul majd a feladat ennek elfedésére."

    Ha smt-s a cpu, akkor nem kell elmenteni a regisztereket, csak select vonalat valtani a magban a regiszter blokkok kozott. Ezt utasitasonkent is meg lehet tenni. (tehat egyet innen egyet onnan, egyet amonnan alapon, lasd sun cpu-k vagy xerox parc alto)

    "Éppen azért van local storage ram az SPE-kben, és nem cache, mert előbbinél egy 32 bites adat vagy utasítás word a tényleg 32 bit, nem egy egész cache-line, ami a többszöröse. Ezt értsd már meg, hogy ha cache lenne, sokkal kevesebb lenne belőle.
    Úgy tűnik, kevered a cache-es rendszer karakterisztikáját a local storage-esével. Utóbbinál nincs kiszámíthatatlan memória-művelet (tehát hogy nem tudhatjuk, hogy a cache-ből jön-e az adat, vagy a rendszer-memóriából). Ha a local storage-et címzed meg, akkor onnan jön, ha meg DMA-zol, akkor nem."

    Ha van cache, akkor nem szabalyos az eleresi ido, viszont ha van smt akkor a hosszu eleresek alatt egy masik szal fut. Az eredmeny, hogy a hardver futas kozben optimalizalja a kodot, tehat nem a forditonak vagy a programozoknak kell gondolkodniuk. Ez fejlesztes szempontjabol jo, es az osszteljesitmeny is megfelelo. Ha negyszeresen pechje van a magnak meg mindig csak annyira lassul le, mintha nem lenne smt, tehat egy cell spe sebessegere. A cell lehet gyorsabb, de csak akkor ha az adott magra optimalizalnak. Ez addig jo, amig mindenki azt a magot hasznalja. Az x86-os architektura pont azert jo, mert a legvaltozatosabb hardvereken is elfut a kod es egy fejlettebb rendszeren is kepes kihasznalni a nagyobb teljesitmenyt. Ha van egy program ami 256KB-os local store-ra van irva, akkor nem tud mit kezdeni egy 512KB-ossal. Cache eseten automatikusan javul a teljesitmeny. Ha egy spe-s programnak nem eleg a gep ereje vagy a local store, akkor ujra kell irni az elejetol. X86-os programnal viszont eleg venni egy nagyobb gepet. Az utobbi olcsobb es kenyelmesebb is. Ezert van az, hogy a vista alatt futnak a regi 386-os idokben irt win32-es programok is. Senki nem orulne, ha egy pc-s jatek csak egy bizonyos cpu-n futna. Mondjuk az oblivion csak P4-en, a cysis csak core2 quad-on es minden gepbol tartani kellene egyet hogy felvaltva jatszhassunk a ket jatekkal. Mondjuk a sony ezt megjatszotta, ott vehetsz egy ps2-est es egy ps3-ast is ha mindennel jatszani akarsz... Pc-n meg eleg egy darab gepet otthon tartani. Ez is jol mutatja az x86-os architektura elonyeit. Es ez csak az intel es az amd tervezoinek koszonheto, akik komolyan vettek a kompatibilitast. A cell meg sajat ujabb verzioival sem kompatibilis.