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: www.cellperformance.com