linux user group brescia

immagine del castello

Archivio della mailing list

VERO bitmap

Marcello Urbani murbani a libero.it
Lun 12 Maggio 2003 22:55:20 UTC


Vernia Damiano wrote:

>>Per gli intel compatibili 32 bit e' sempre 32 bit.
>>    
>>
>
>	Scusa, ma un PII e' compatibile anche con un 8086 che di bit ne ha
>16. Secondo questo ragionamento un [ipotetico] intel a 64 bit compatibile
>con uno a 32 girerebbe a 32 bit e basta anche con i long. (Una volta gli
>int non erano a 16 bit?)
>  
>
Alt! la dimensione degli interi non dipende dal processore ma dal 
compilatore, che tipicamente è progettato in modo da usare per gli int 
il formato più veloce sul processore che dovrà eseguire il codice: un 
vecchio compilatore per DOS tipicamente userà int a 16 bit e long a 32 
(anche se alcuni generano codice per 386 con int a 32 bit), mentre un 
compilatore moderno avrà sia int che long a 32 bit, mentre uno per 
processori a 64 bit avrà gli int a 64 bit, ma un programma compilato 
sotto dos molto probabilmente avrà gli int a 16 bit indipendentemente 
dal processore su cui gira.

>  
>
>>>cosi' standard C)? Io ci devo fare solo operazioni binarie: AND e OR (e
>>>forse XOR).
>>>      
>>>
>>Non ne ho idea. Ma ti servono certi numeri?
>>    
>>
>
>	Non mi servono numeri, mi servono stringhe di bit. Se le librerie,
>il compilatore, il processore e _la_memoria_ puo' gestire direttamente
>numeri a 64 o 128 bit (larghezza del bus!) riduco proporzionalmente anche
>tutte le operazioni che devo fare.
>
La larghezza del bus non c' entra, è quella dei registri che conta (es. 
il 386sx aveva il bus a 16 bit ed i registri a 32).

>	Ovviamente SE. Mi e' stato fatto notare che non dovrebbero esserci
>differenze di tempo di esecuzione, ma SE il bus processore-memoria e' piu'
>ampio si dovrebbe poter migliorare.
>
Non ho seguito l'inizio del thread, ma se devi lavorare su grandi 
quantità di RAM ci sono altri fattori importanti, come ampiezza e 
velocità delle cache, ma soprattutto la quantità di memoria virtuale che 
è necessario swappare su disco: è _qualche_ ordine di grandezza più 
lenta della RAM.

>
>	Grazie a tutti.
>
>  
>




Maggiori informazioni sulla lista Lug