64 bits : kézako?

64 bits : kézako?

par Arnauld de La Grandière le Mardi 23 Juin 2009 à 12:35
Nous nous sommes longuement penchés sur deux des nouvelles technologies annoncées pour Snow Leopard, à savoir Grand Central et OpenCL, afin de vous aider à mieux comprendre leurs apports et leur fonctionnement. Mais il en est une autre qui pourrait vous laisser perplexe : le support du 64 bits.

Commençons par le commencement : un "bit" est la plus petite unité de mesure de l'information en informatique, les fameux 0 ou 1. Un octet est composé de 8 bits (d'où le nom). Les processeurs traitent les données différemment selon que leur architecture est en 8, 16, 32 ou 64 bits. Il en découle de nombreux effets, le premier d'entre eux est le nombre de données que le processeur est susceptible de traiter à chaque cycle de calcul : 1 octet sur un processeur 8 bits, 8 octets sur un processeur 64 bits. Un processeur 64 bits est donc à même de traiter beaucoup plus de données par cycle, mais cet avantage peut devenir un inconvénient pour les (nombreuses) données encodées en 8 bits, qu'il faut alors compléter avec des octets vides.

Le deuxième effet direct repose sur les valeurs maximales que le processeur est à même de traiter. Comme chaque bit peut avoir deux valeurs différentes (0 ou 1, donc), un processeur 32 bit peut donc traiter 232 valeurs différentes, soit 4 294 967 296 en tout. Concrètement, ça signifie qu'un processeur 32 bits est capable de "compter" de -2147483648 jusqu'à 2147483647 pour ce qui concerne les nombres entiers. Pour un processeur 64 bits, le nombre de valeurs différentes se monte à… 18.446.744.073.709.551.616! (dix huit trillions, quatre cent quarante six billiards, sept cent quarante quatre billions, soixante-treize milliards, sept cent neuf millions, cinq cent cinquante et un mille, six cent seize, rien que ça).

La conséquence directe d'une telle capacité se retrouve dans l'adressage mémoire du processeur. Les processeurs 32 bits pouvaient exploiter jusqu'à 4 giga-octets de mémoire vive (232), de même, les processeurs 64 bits peuvent, théoriquement du moins, utiliser jusqu'à 16 exa-octets (soit 16,8 millions de tera-octets, ou encore 17,2 milliards de giga-octets, ou encore dix milliards de fois plus que le seuil maximal de mémoire des processeurs 32 bits!)… de quoi voir venir avant d'atteindre de telles capacités.

Ces chiffres peuvent certes donner le tournis, mais surtout qui lèvent bien des contraintes. De nos jours, avec l'avènement de la vidéo numérique, il n'est plus si rare d'utiliser de très gros fichiers, gourmands en adressage mémoire. Les larges bases de données ainsi que le calcul scientifique s'en verront grandement améliorés. De manière général les gros fichiers seront plus faciles à manier (voir notre article Cocoa et 64 bits au menu de Photoshop CS5). L'architecture 64 bits règle également un certain nombre de problèmes de sécurité inhérents à l'adressage mémoire, qui reste encore le talon d'Achille de Leopard.

Cependant ces avancées ne se font pas sans contrepartie : les applications 64 bits utilisent plus de mémoire vive qu'en 32 bits. Sans parler du travail nécessaire de réécriture des logiciels pour exploiter cette architecture, bien peu de logiciels exploitent les processeurs 64 bits (voir notre article : Qui carbure au 64 bits?). Il faut également que le système d'exploitation puisse en tirer partie, et gère également les applications 32 bits. C'est ce qu'Apple avait déjà fait une première fois pour les processeurs G5, voilà donc qui sera de nouveau d'actualité pour Snow Leopard avec les processeurs Intel Core 2 Duo.

|  |  

OS X Mountain disponible ! Mettez à jour votre mac pour 15,99€
5
4
3
2
1
Vos réactions (71 réactions)
daphone [23/06/2009 15:57]

Ouais, ça a l'air beau tout ça...

concretement, un snow léopard sur mon macbook core2duo devrait être beaucoup plus fluide ?

Ou alors j'ai rien compris...
iMax [23/06/2009 16:13]

Yep. :)
Philactere [23/06/2009 16:31]

Pour ce qui concerne les nombres entiers. Pour un processeur 64 bits, le nombre de valeurs différentes se monte à… 18.446.744.073.709.551.616! (dix huit trillions, quatre cent quarante six billiards, sept cent quarante quatre billions, soixante-treize milliards, sept cent neuf millions, cinq cent cinquante et un mille, six cent seize, rien que ça).

Pour faire moins précis mais plus lisible j'ajouterais que ça nous fait 18,4x1018 valeurs différentes...
mad-gecko [23/06/2009 16:36]

En gros pour résumer, passer de 32 bits à 64, c'est comme si au lieu de s'envoyer des SMS, on s'envoyait des encyclopédies pour communiquer???

On envoie et traite beaucoup plus d'infos, mais il faut que ca suive derrière?

C'est bien ca?
Nordlaser [23/06/2009 16:36]

De même, dans quelle mesure un iMac Intel Core Duo prendra part au 64 bits ?
greensource [23/06/2009 16:38]

A priori si on utilise les bibliothèques de programmation d'Apple notre logiciel peut-être mis en version 32 bits ou 64 bits.
Qu'on me dise si je me trompe mais j'ai toujours vu dans ces bibliothèques des conditions qui permettent justement au logiciel de vérifié si il est sur un plate-forme 64 bit ou pas.
bigham [23/06/2009 16:40]

Il y a un ou deux points qui sont oubliés dans cet article :

- Les processeurs Intel 64-bit ont plus de registres qui seront utilisés lorsque l'application tournera en mode 64-bit. Ce qui garantit un gain de performance qui comble des pertes à d'autres endroits.

- D'autre part, certaines des fonctionnalités d'Objective-C 2.0 ne sont actives qu'avec le runtime 64-bit.
dark juju [23/06/2009 16:45]

J'ai eu la chance de tester la dernière version de snow leopard et je peux vous assurer que l'on voit vraiment la différence entre une application en 32 bits et une application en 64 bits.
Les appli en 64 bits se lancent vraiment plus vite (voir instantanément pour certaines). Face à elles les appli en 32 bits tel iLife 09 passent pour des grosses patates =).
rei_vilo [23/06/2009 16:48]

4 GB semblait beaucoup à l'époque...

Il suffit d'attendre quelques années et 18.446.744.073.709.551.616 semblera insuffisant !
studdywax [23/06/2009 16:50]

"Cependant ces avancées ne se font pas sans contrepartie : les applications 64 bits utilisent plus de mémoire vive qu'en 32 bits"

2 GO ça suffit ? sinon le gain de performance de SL va pattir du manque mémoire vive alors et donc ca servirait (pour moi) a rien...
treizep [23/06/2009 17:02]

@Nordlaser
Le Core Duo c'est un 32 bits, faut repasser à la caisse !
Joseph Papier [23/06/2009 17:13]

Pour l'instant, j'ai tenté 2 applications 64 bits: VLC 1.0 RC2, et AutoPano Pro 2.0.2.

Les deux crashent lamentablement en permanence.

=> retour forcé au 32 bits en ce qui me concerne...
françois bayrou [23/06/2009 17:13]

je me demande, pendant combien de temps on pourra s'en contenter, de ces "16,8 millions de tera-octets, ou encore 17,2 milliards de giga-octets, ou encore dix milliards de fois plus que le seuil maximal de mémoire des processeurs 32 bits!"

Souvenons nous, il n'y a pas si longtemps, on regardait le 32bits comme on regarde aujourd'hui le 64bits, en se disant, on n'aura jamais besoin de plus :)
yann [23/06/2009 17:14]

Pour un processeur 64 bits, le nombre de valeurs différentes se monte à… 18.446.744.073.709.551.616! (dix huit trillions, quatre cent quarante six billiards, sept cent quarante quatre billions, soixante-treize milliards, sept cent neuf millions, cinq cent cinquante et un mille, six cent seize, rien que ça)

Ca y est je peux même plus lire l'article jusqu'au bout tellement je suis fatigué d'avoir lu ce truc
houlala63 [23/06/2009 17:21]

Bill Gates avait bien dit en 1981 que 640 Ko étaient largement suffisants pour la plupart des applications XD
Alors, dans 25 ans ...
5
4
3
2
1



Réagir

attention Il n'est pas possible de réagir à cette dépêche. Si vous souhaitez toutefois réagir, n'hésitez pas à faire un tour dans nos forums.