• [^] # Re: Position d'Intel sur les processeurs 64 bits grand public

    Posté par . En réponse à la dépêche Position d'Intel sur les processeurs 64 bits grand public. Évalué à 1.

    Si ton programme n'utilise que du relative 32 bits sur un os 64 bits (par exemple) alors tu ne peux pas utiliser de librairie (comme expliqué plus haut).

    Je ne vois pas le rapport entre le fait qu'un OS soit 64 bits, qu'on utilise des adressages relatifs en 16 ou 32 bits, et qu'on ne puisse pas utiliser de librairie. A l'heure actuelle, la librairie C (tu parles bien de ça je suppose) est en 32 bits sous Linux x86, mais ça n'empêche pas d'avoir des programmes qui ne contiendraient que des offset relatifs sur 16 bits. Sur Amiga tu pouvais bien avoir des programmes qui n'utilisaient que des sauts relatifs, alors que l'OS était 32 bits.

    La question était de savoir s'il était possible d'économiser le cache en ne copiant que les octets "significatifs". J'ai répondu que non en prenant comme exemple un int de 8 octets.

    Tu te poses de drôles de questions. Remarque, si tu utilises un int pour une variable, c'est que tu comptes utiliser un bonne partie des valeurs possibles, tu ne vas pas prendre un int si tes valeurs vont de 1 à 100 par exemple. Ta question "d'optimiser le cache" n'a même pas de sens à mon avis. Si tu manipule un int (sur 32 bits ou 64 bits) et que tu modifies sa valeur dans le CPU, une fois que tu sauvegarde en mémoire, tu es obligé d'aller écrire tous les bits, qu'ils soient à zéro ou à un ! Le CPU ne sait pas ce qu'il y avait en mémoire avant.

    Et dans le cas d'un cache, la granularité du cache est bien supérieure à la taille d'un mot mémoire.