linux user group brescia

immagine del castello

Archivio della mailing list

VERO bitmap

Bauno bauno a inwind.it
Mar 13 Maggio 2003 10:40:31 UTC
On Tuesday 13 May 2003 11:53, Luca Giuzzi wrote:

> > >consegue che puoi operare al massimo su 32 bit x volta. Se usi
> > > variabili a 64 bit, queste vengono caricate e manipolate un pezzo
> > > alla volta. L'incremento prestazionale è nullo.
>
> Non e' del tutto corretto questo... le istruzioni SIMD (SSE1/2, 3DNOW,
> pure MMX in piccola misura) consentono di lavorare con blocchi di 64 o
> anche 128 bits... 

Sì, lo so, e infatti ho accennato ai registri della FPU e alla
possibilità di usarli x le operazioni in questione, ma capisci anche tu
che siamo completamente al di fuori dal contesto in cui ha fatto la
domanda Damiano.

> > >Un'eccezione in realtà c'è, puoi usare il coprocessore matematico
> > >che ha registri + lunghi (128 bit, se non mi ricordo male) x fare
> > >operazioni su interi, xò tieni presente che: 1) Caricare gli
> > >operandi nei registri della FPU è dispendioso in termini di cicli
> > >di CPU.  2) Devi forzare la cosa in assembly.
>
> Mah... la FPU disegnata per gli ia32 e' una cosa abbastanza
> agghiacciante... la cosa che suggerisci (senza usare le istruzioni SSE
> che sono su registri "aliasati" a quelli della FPU) e' fattibile anche
> a livello di compilatore (gcc 3.3), ma rende poco anche perche' il
> coprocessore matematico come presente sui PC non consente l'accesso
> diretto ai registri FPU ma solo tramite uno stack.

Giusto x puntualizzare, io non stavo affatto "suggerendo" questa
soluzione, che ritengo improba, ho solo fatto un appunto volante. Tra
l'altro stavo pensando proprio all'utilizzo di istruzioni
MMX/SSE/etc...ma continuo a pensare che in questo caso il gioco non
valga la candela...


-- 
Bauno - Eurydices, oro, properata retexite fata!
"Build a fire for a man, and he'll be warm for a day.
Set a man on fire, and he'll be warm for the rest of his life." (T. 
Pratchett)





Maggiori informazioni sulla lista Lug