linux user group brescia

immagine del castello

Archivio della mailing list

VERO bitmap

Bauno bauno a inwind.it
Mar 13 Maggio 2003 10:33:55 UTC
On Tuesday 13 May 2003 11:18, Marcello Urbani wrote:
> >I registri degli x86 (dal 386 in poi, athlon compreso) sono a 32 bit.
> >Saprai senz'altro (almeno, lo spero! :) che, prima di eseguire una
> >qualunque operazione, devi caricare gli operandi nei registri. Ne
>
> Scusa la pedanteria, ma questo avviene nei processori RISC, su x86 si
> può indirizzare direttamente la memoria (e spesso i compilatori lo
> fanno, anche perchè questa architettura soffre di una cronica carenza di
> registri).

? Non credo che sia FISICAMENTE possibile, x come è "pensato" l'x86,
agire direttamente sulla memoria. Può darsi che non ci sia bisogno di
una LOAD esplicita (è veramente tanto che non smanetto con l'asm) ma
dubito fortissimamente che i dati non transitino in qualche registro del
processore.

> >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 ne sarei così sicuro: se non ricordo male il vecchio Z80, che aveva
> i registri ad 8 bit, era in grado di fare alcune operazioni a 16 bit
> accoppiandone due; comunque per lavorare su stringhe di bit la cosa è
> irrilevante.

Sì, come accennavo nella mail precedente, queste cose sono possibili, mi
sembra che usando MMX/SSE e i registri della FPU si riescano a fare
operazioni su 64 o 128 bit x volta. Mi sembrava xò un discorso del tutto
fuori contesto rispetto alla domanda iniziale.


-- 
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