Tak podme pekne poporiadku odzaciatku:
Citace Původně odeslal Petrik
V cellu ani tak nejde o to, ze ma vice vektorovych jednotek (SPE) nez dnesni CPU, ale jde predevsim o to, jak pracuje s pameti. Cell je vpodstate NUMA (Non Uniform Memmory Architecture), ovsem ne na urcovni systemu, ale CPU. Jen dodam, ze NUMA je naprosta vetsina superpocitacu, vcetne viceprocesorovych systemu K8.
Ano to je pravda a u superpocitacov je to jaksi nevyhnutnost. Nevydohou NUMA je, ze programy musia byt pisane s tym, ze su si toho vedome a teda to vedia vyuzivat (ina vec je ked na pracu s pamatou pouziju funkcie OS, ktory moze vyhody NUMA vyuzivat, ale skutocny program pre superpocitac, aby bol dostatocne vykonny, musi byt sam pre NUMA pisany)
Citace Původně odeslal Petrik
Cell nema zadne cache (Jen PPE ma 512kB L2), ale misto toho ma kazda SPE svoji vlastni malou pamet (256kB), ktera je primo u nej a je mega rychla. Muze se zdat, ze to je totez jako cache, ovsem to je jen zdani. U klasicke cache musi byt pomerne slozita logika, ktera hlida konzistenci dat v cache s daty v RAM, v pripade vice jader to je jeste mnohem horsi a kdyz se ktomu pripoctou dalsi "vychytavky" dnesnich CPU, jako je predpoved vetveni kodu, register renaming,prefetch, speculation a podobny veci, zjistis, ze vetsi cast CPU zabira tato logika a na vypocetni cast zbyva stale mene a mene mista.
Ano je to tak, na itaniu je samotne vypocetne jadro velmi male, dokonca sa objavili plany ze v pripade intelu, by tymto DSP koprocesorom mohlo byt prave itaniove "jadierko" bez logiky, ktore by malo vyuzitie iba ako koprocesor (na streamove spracovanie).
Logika konzistentnosti cache je sucastou cpu, co je problem, ze zoziera prenosove pasmo, napr. u 8cpu AMD opteronov som pocul ze to dokaze zozrat cele jedno hypertransport rozhranie. U intela je to o to horsie, ze po rovnakej zbernici prenasa data z pamate. Riesenie intelu su (aj) velke cache (ale to hlavne koli tomu, ze nemoze rychlo citat z ram koli zahlteniu zbernice).
Toto je ale zasadna vec, ktora nesuvisi s cache a necache ale s tym ze udaje nie su na jednom mieste v pamati, ale na roznych procesoroch uz bud v cache, alebo v ich lokalnych pamatiach a musi sa to riesit tak ci tak. Takze u cellu v MP systemoch to bude tak ci tak, lebo bez toho to skratka nefunguje, mozno ze ta logika nebude implementovana HW do cpu ale bude softwareova (aj ked toto sa mi trocha nezda, skor by som tipol ze na tom cpu fakt bude).

Ad x86 - x86 tazi z toho, ze je kompatibilne, teda na novom procaku pustis programy starsich procesorov. Preto u x86 sa v podstate robi "procesor pre programy" ktory sa snazi, aby uz existujuce a skompilovane programy isli co najrychlejsie, preto obsahuje tu svoju logiku (superskalarnost, out of order, spekulativne predvidanie atd.), ktora mu pridava velmi znacnu cast vykonu. U cellu to funguje tak, ze sa program kompiluje priamo pre dany procesor, takze tato logika, predpokladanie vetvenia atd. je v podstate prenesena do kompilatora a do zlozitosti programovania pre dany procesor. U x86 kde ti s programom vyrobca doda iba exe subor to nie je mozne. Pod linuxom mozes ziskat vyhodu ak si napr. vsetko prekompilujes na 64bit dualcore. Pod win (co je velka vacsina x86 pocitacov) to tak proste nie je.
Co je dolezite, je to ze tato logika navyse ti pomaha vyuzit vypocetne schopnosti procesora (ktore aj tak nie su vyuzite naplno).
Citace Původně odeslal Petrik
Cell na to jde zcela jinak: SPE je vpodstate hodne hloupa, zato super nabusena vektrova jednotka s vysokym hrubym vykonem. Jeji 256kB SRAM ji nahrazuje L1 a nazyva se lokal store. Pristup do hlavni pameti rambus-XDR probiha pres DMA radic skrz sbernici o naprosto nemozne propustnosti 100GBps. Kazda SPE je tedy jakoby nezavisly maly pocitac. To je obrovsky rozdil oproti bezne FPU v dnesnich CPU, ktere museji cekat desitky cyklu (napr. P4) nez se dostanou k datum z L2 cahce, ktere potrebuji.
Rambus moze byt rychly, ale mat vysoku latenciu, nejde o to, tieto problemy ma prekonat u P4 spekulativne nacitavanie dat z pamate a u cellu vopred naprogramovane citanie. U dothana, K8 atd. je L2 latency tusim okolo 10 taktov cpu. Takze nie desiatky cylkov, ale okolo 10 cyklov. Data sa bezne citaju z L1 cache ktora ma latency niekolko (jednotiek) taktov (2-3).
Do L1 sa udaje mozu dostavat z L2 roznymi spekulativnymi predpokladmi.
Citace Původně odeslal Petrik
Protoze SPE nema zadnou cache, je jeji pristup do jeji vlastni pameti obrovsky rychly. Jediny problem tedy nastava v tom, ze je potreba zajistit, aby tam mela potrebna data. O to se musi postarat SW, stejne jako v transmeta CPU.
L1 a L2 cache su tiez velmi rychle, a tym myslim fakt rychle. Zaujimavy koncept procesoru bol HP PA risc, ktory nemal L2 cache, ale iba obrovsku (ale trocha pomalsiu) L1 cache. Pokracovania sa uz ale nedozil.
Citace Původně odeslal Petrik
Kdyz se tedy vratim k zacatku, cell je tedy vpodstate 9-ti procesorovy NUMA system s hlavnim ridicim general purpose 64-bit CPU a 8-vektorovymi procesory.
Iba 7 SPE koli vytaznosti.
Citace Původně odeslal Petrik
O vetveni kodu, prefetch a podobny zalezitosti se stara ridici CPU PPE,
Nie, ty pises ze sa o to stara kompilator, cpu iba tupo vykonava co mu pride.
Citace Původně odeslal Petrik
ale na spinavou praci ma vykonne delniky v podobe SPE.
SPE sa hodia iba na urcity druh vypoctov, da sa na nich pozerat ako napr. na SSE jednotky u pentia.
Citace Původně odeslal Petrik
Zdali je tento pristup stravny se ukaze myslim dost brzy, ale je mozne, ze to dopadne stejne jako se soubojem RISC vs. CISC architektur: vsechny dnesni superskalarni CPU, jako je i conroe, se zvenku tvari jako CISC, ale interne jedou jako RISC, proto musi obsahovat dekodery instrukci. Je tedy mozne, ze intel a AMD architekturu cell castecne zkopiruji a vysledkem bude jakysi hybrid.
Uz som pisal, ze intel toto normalne uvazuje, otazne je ci sa k tomu naozaj dostane.
Citace Původně odeslal Petrik
Na to, ze procesorum moc nerozumim, jsem to nastinil docela slusne, ne?

A kdyby zas nekdo chtel tvrdit, ze takovy vykon v plovouci carce neni treba, tak at si predstavi napr. nejakou vysoce kvalitni interpolaci kazdeho snimku pri prehravani videa. Ty nejlepsi profi interpolacni algoritmy dokazi zvetsit rozliseni o 50% aniz by si toho lidske oko vsimlo. Problem je v tom ze pri rychlosti 25, 30 nebo nedej boze 50fps v HDTV rozliseni neexistuje CPU, ktery by to utahl.
A preco by to mal tahat CPU? Co takto graficka karta? Pride DX10 a pride Vista driver model v ktorom napr. ma OS pristup do graficke ram a moze ju pouzit napr. ako cache filmu atd.
Nakoniec sa to mozno vyvinie tak, ze nebudu ziadne SPE koprocesory namiesto 4. jadra, mozno tam bude L3 cache alebo kto vie co, a vsetky taketo veci ohladom videa, spracovania obrazu atd. bude robit grafika, na ktorej bude mozno pripadne nejaky PPU atd.

Cell, ppu, dx10, vista driver model atd. su vsetko nove veci, ktore este len pridu na trh. Az tam sa ukaze aka bude ich realna uspesnost a podla toho sa budu dalej vyvijat veci...

btw. zalozil som thread v ostatnych procakoch, takze ak sa nejaky admin posnazi, moze to presunut tam