Newsgroup: it.comp.hardware.video-3d
Titolo: Confronto PS3 e Xbox 360

http://www.anandtech.com/video/showdoc.aspx?i=2453
Buon divertimento!
-- 
Ciao mine
http://metropolis.blogs.com/
Chrysler Classe A: Dispiacere di Guida
La Ciabatta logora chi non ce l'ha.

 Buon divertimento!
l'ho letto stamani
sinceramente non mi è piaciuto, avrei preferito un esame tecnico ed invece 
anandtech ha riassunto tutte le cose che già erano state abbondantemente 
dette e ripetute
inoltre si sbilancia in pareri improbabili, infatti secondo l'articolo, dato 
che il codice sarà single-threaded, girerà su ps3 come su x360 non 
sfruttando i tre core di x360, inoltre dice che 7 spe son sufficienti per 
calcolare la fisica nonostante la mancanza di cache e di branch prediction 
(come?) e che lo saranno non meno del x360, inoltre dice che 7 spe son 
sufficienti a fare vertex shading, e che 7 spe son sufficienti ad elaborare 
un audio complesso e 3d
ma si son dimenticati che:
a) ogni core della cpu del x360 può essere abbinato ad una funzione diversa, 
anzi ognuno dei 6 thread può avere un compito diverso, non per forza 
eseguire una applicazione divisa in 6 multi-thread, ma gestire 6 thread 
single-threaded concorrenti (general purpose, fisica, audio, procedural 
synthesis, intelligenza artificiale, altro)
b) son contento che 7 spe bastino per questo o per quello, ma non ci sono 4 
gruppi di 7 spe ognuno con un compito, ci son solo 7 spe per tutto, vertex 
shading, fisica, IA, audio, etc
secondo me anche se tutti e 7 gli spe si dedicassero al vertex shading, 
essendo dsp non specifici, sarebbero notevolmente meno efficenti di una gpu 
studiata appositamente, e già sarebbero saturi di lavoro, ma se oltre a 
questo carico da 90, gli sbattiamo sul groppone la fisica del gioco, che è 
una bella mole di lavoro, come se la cavano?
ok, secondo voi cosi non crepa? mettiamogli sopra anche l' elaborare e 
decomprimere l'audio, calcolarne la posizione nello spazio, applicare 
riverberi ed echo, doppler
e la memoria a disposizione per fare tutte queste cose son 256K di registro 
dati, dato che gli spe non hanno la capacità di indirizzare memoria esterna 
e non hanno nemmeno una cache, come faranno??
non vedo niente di buono in questo modo di affrontare i problemi e le spe 
hanno un gran clamore per le cifre teoriche sulle operazioni semplici e 
senza senso, ma quando si tratta di implementare un algoritmo bisogna 
pensare che mancano totalmente del branch prediction
questo significa che quando ci si troverà ad un bivio se eseguire queste 
1000 righe di codice se si verifica la condizione (1) o quelle altre 1000 
linee di codice se si verifica la condizione (2)
anche le 1000 linee scartate verranno passate dagli spe, anche se non 
saranno eseguite
questo pare un incubo, non una soluzione potente

 saranno eseguite
Sei sicuro di aver chiaro il concetto di "branch prediction" ?
IMHO pur non conoscendo l'architettura di cui si sta parlando non mi 
pare possibile che "le 1000 linee scartate verranno passate dagli spe" 
al limite ci sara` uno svuotamento della cache ad ogni branch se manca 
l'unita` di "branch prediction".
-- 
Giovanni
www.tiburcc.it
 

"Giovanni" <gio2...@yahoo.it.invalid> ha scritto nel messaggio 
news:LOeve.28976$bc.2...@tornado.fastwebnet.it...

forse è il caso che ti informi meglio su quello di cui stiamo parlando 
invece di postare con la fretta di dover per forza dire la tua, ok?
gli spe non hanno alcuna cache e son dsp in order, quindi le "1000" 
istruzioni vengono tutte passate anche se non eseguite

 istruzioni vengono tutte passate anche se non eseguite
toh, ma guarda, se ne lamenta anche chi ci lavora, in questo caso uno 
sviluppatore ACTIVISION
"
 The **bleep** for the SPE is VERY deep - a jump statement may or may NOT be 
taken but regardless the SPE WILL read ahead those instructions that would 
be executed should the jump NOT take place. Each instruction will be at a 
different point in the execution **bleep**... so lets say there 21 
instructions... 0 being the jump on condition, the next 10 being the NONE 
jump code the last 10 being the code ran when a jump is executed.
it might take say 5 cycles (arbitrary for examples sake) to actually execute 
the jump on condition command... during which time the dual issue SPE has 
begun processing on the next 10 instructions (assuming no dependancy 
issues). The result of the jump on condition comes in and eh voila - all 
those instructions (1-10) are suddenly WRONG... we don't need them to 
execute any more.... here comes a NICE flush of the **bleep**... removing 
ALL the new code and returning to the state BEFORE the read ahead was done. 
It then starts reading from instruction 11 - 21 and execution continues. "
come puoi vedere le istruzioni vengono passate ma contrariamente a quanto 
pensavo vengono pure eseguite, salvo poi buttare via dati e risultati per 
ripartire dalle linee relative al codice determinato dalla condizione 
all'inizio.
evitiamo di fare i precisini su 1000 o 10 perchè chiaramente dipende da caso 
a caso, non per nulla chi sta sviluppando su cell (e non giovanni di 
tiburcc) specifica "arbitrary for examples sake"

 specifica "arbitrary for examples sake"
E` vero sono giovanni di tiburcc, pero` non sono stato un bieco commerciante 
tutta la vita, prima ero un tecnico e  precisamente scrivevo firmware per 
l'industria, programmavo esclusivamente in assembler, per i microprocessori/ 
microcontrollori che si usavano all'epoca 6502, 6800, 6809, 8051, 68000 per 
scelta non ho mai programmato per Z80 e 8086 poi invecchiando ho smesso, 
programmare in assembler e` molto faticoso, la passione per i computer c`e` 
sempre stata e mi sono reso conto che la gente che operava nella 
distribuzione informatica era tecnicamente inconsistente, quindi potevo 
facilmente crearmi un mio spazio. Ovviamente sono intervenuto in questa 
discussione non perche` titolare di tiburcc che non vende ne' xbox ne' 
playstation, ma cosa ex programmatore in assembler e ti assicuro che pur non 
conoscendo l'architettura di Cell quello che hai detto NON puo` essere 
neanche verosimile, comunque analiziamo quello che dice Paul Z. :
"...it might take say 5 cycles (arbitrary for examples sake) to actually 
execute
the jump on condition command... during which time the dual issue SPE has
begun processing on the next 10 instructions...."
io lo traduco con :
".... attualmente puo` prendere  5 cicli (numero arbitrario)  per eseguire 
l'istruzione di jump condizionata, tempo durante il quale il dual (pipeline) 
SPE ha incominciato il processo delle successive 10 istruzioni "
ovvero 10 e' dato dalla moltiplicazione del numero di cicli del jump, (preso 
a 5 per esempio) moltiplicato per le unita` di prefetching ovvero 2 e non 
come tu hai ERRONEAMENTE interpretato dal displacement della istruzione di 
jump, per arrivare alle tue fantasmagoriche 1000 istruzioni in prefetch 
bisognerebbe che per eseguire l'istruzione di jump occorressero 500 cicli 
neanche la MUL ai tempi dell' 8088 durava questa enormita`, e` evidente che 
hai preso lucciole per lanterne e questo era chiaro fin dal tuo primo post 
non c'era bisogno di conoscere il Simmetric Processor Element per poterlo 
dire bastava avere una infarinatura dei microprocessori.
-- 
Giovanni
www.tiburcc.it
 

 poterlo dire bastava avere una infarinatura dei microprocessori.
guarda, basta avere un minimo di intelligenza e di lucidità e sopratutto 
capire l'italiano, DATO che era ben specificato che quei numeri erano SOLO 
d'esempio
a volte mi meraviglio della poca elasticità mentale di certe persone, già ti 
immagino chiamare l'ambulanza ogni volta che senti qualcuno dire che si è 
rotto le balle, oppure correggerlo dicendo "ma come, hai detto che volevi 
fare quattro passi mentre ne avremo fatto almeno duecento!"
a questo servono i tuoi interventi? a ripetere continuamente le cose già 
dette nella speranza che in qualche modo tu prima o poi le faccia tue? 

 della sua vecchia  auto?
Comunque per elevarti dal tuo stato di profonda ignoranza sono andato a 
prendere la documentazione ufficiale :
http://www-306.ibm.com/chips/techlib/techlib.nsf/techdocs/D9439D04EA9B080B87256FC00075CC2D/$file/MPR-Cell-details-article-021405.pdf
dove c'e' scritto :
" and a relatively long branch-mispredictpenalty in the SPE (18 cycles), "
quindi la penalita` per un branch e` 18 cicli e non dipende dalla lunghezza 
del displacement come nella tua contorta fantasia avevi ipotizzato.
-- 
Giovanni
www.tiburcc.it

 ipotizzato.
allora visto che continui a non capire una benedetta fava, apri il 
dizionario e cerca la parola "arbitrario", opi cerca "numero" abbina i 
concetti se ci riesci, e finora non sei proprio riuscito, e fatti aiutare a 
terminare il concetto con il significato della parola "esempio"
se non ci arrivi non so più che fare, puoi provare un iniezione di fosforo 
sui lobi frontali, non ho mai visto una persona più ottusa di te, nè su 
usenet nè nella vita reale, ma per alzare il telefono e dire "no, niente 
6600gt, abbiamo però le 6800LE ad un ottimo prezzo" per quello la tua 
capacità limitata di cogliere il contesto va bene. 

 degli sviluppatori, il 90% della velocità,
parlo nel dettaglio, della perdita di velocità in virgola mobile dalla 
DOPPIA PRECISIONE (spalancare le lenti e leggere bene, prego) alla singola 
precisione


Quello che trovo sconcertante, e' solo come una persona quale e'
Giovanni, abbia perso tempo con uno arrogante e disinformato come te. 
I tuoi numeri "d'esempio" VANNO criticati e corretti, sono del puro
terrorismo fanta-informatico. 1000 non e' 10 e porta risultati
differenti (sembri pagato da microsoft, ma non credo che sborserebbe 20
cent di dollaro per te). 
Le SPE del Cell sono architetture dual issue in ordine senza branch
prediction  che supportano istruzioni di "suggerimento" per i branch,
con 128 registri da 128 bit e 256 KB di memoria locale. Dunque molto
sara' dipeso dalla bravura dei programmatori che vi lavoreranno sopra,
tra i quali, fortunatamente, non sarai mai annoverato. 
Non continuero' la discussione qui, perche ne sto conducendo di molto
piu' costruttive altrove. 
Byez.
P.S. Ovviamente, secondo te, la demo delle paperelle e dei bicchieri
manovrati in tempo reale non esiste e non e' stata fatta con un Cell
downcloccato ed una sola SPE (forse due). Agli occhi del mondo e' una
prova di potenza sia grafica che fisica.
-- 
Catapumblamblam
------------------------------------------------------------------------
Visualizza questa discussione: 
http://www.freenfo.net/usenet/thread227684.html
Profilo di Catapumblamblam: 
http://www.freenfo.net/usenet/member.php?userid=297