Fermer le menu

64 bits : kézako?

Nonoche | | 12:35 |  71
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.
Catégories: 
Tags : 

Les derniers dossiers

Ailleurs sur le Web


71 Commentaires

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

avatar iMax 23/06/2009 - 16:13

Yep. :)

avatar Philactere 23/06/2009 - 16:31

[i]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).[/i] Pour faire moins précis mais plus lisible j'ajouterais que ça nous fait [b]18,4x10[sup]18[/sup][/b] valeurs différentes...


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

avatar Nordlaser 23/06/2009 - 16:36

De même, dans quelle mesure un iMac Intel Core Duo prendra part au 64 bits ?

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

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

avatar 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 =).

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

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

avatar treizep 23/06/2009 - 17:02

@Nordlaser Le Core Duo c'est un 32 bits, faut repasser à la caisse !

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

avatar 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 :)

avatar 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

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

avatar sebasto72 23/06/2009 - 18:11

@francois bayrou ça dépend à qui tu parles... Dans le domaine de l'astrophysqiue par exemple, on estime le nombre d'atomes dans l'univers à 10^80, ce qui laisse rêveur sur le nombre de particules élémentaires cachées dans ces atomes (neutrons, protons et électrons, puis quarks...), sans compter les autres particules, anti-particules associées et autres quantas exotiques qui sortent régulièrement de l'imagination fertiles de nos (astro)physiciens. Le 64 bits n'est donc pas vu comme quelque chose de suffisant, mais juste comme un petit pas vers un peu plus de puissance pour appréhender la modélisation de notre réalité. ça me rappelle avec émotion un de mes premiers TD en Turbo-Pascal qui devait permettre de manipuler des nombres en base 100, afin de traiter sous forme d'entiers (i.e. sans approximation en puissance de 10) de "grands" nombres (une centaine de chiffres) :)

avatar Ninety 23/06/2009 - 18:28

Y'a des erreurs au niveau des unités ... "giga" est un préfix qui vaut 10[sup]9[/sup] donc 4 giga-octets ça vaut : 4 000 000 000 octets Que ça soit en informatique ou autres, ceci depuis 1998, d'ailleurs (11 ans plus tard ...) Snow Leopard comptent désormais en base de dix pour la capacité des DD et autres. De plus, on écrit gigaoctet (Go) sans "-". Donc 4 294 967 296 octets vaut à peu près : 4,294 . 10[sup]9[/sup] gigaoctets (je vous laisse deviner la valeur exacte). En passant, 4 gigaoctets (Go) vaut la même chose aux States même s'ils préfèrent le terme GB (B majuscule) pour "gigabyte". En fait, 1 byte c'est un groupe de bit mais pas forcement 8. Le mot "byte" existe aussi en français. bit (b), octet (o) et byte (B) existe dans les deux langues. Source : Wikipedia ;). EDIT : [quote]La conséquence directe d'une telle capacité se retrouve dans l'adressage mémoire du processeur. Les processeurs 32 bits pouvaient exploiter jusqu'à [b]4,294 gigaoctets[/b] de mémoire vive (2[sup]32[/sup]), de même, les processeurs 64 bits peuvent, théoriquement du moins, utiliser jusqu'à [b]18,446 exaoctets[/b] (2[sup]64[/sup] - soit [b]18,446 millions de teraoctets[/b], ou encore [b]18,446 milliards de gigaoctets[/b], ou un peu plus de [b]4 milliards (2[sup]64[/sup] / 2[sup]32[/sup] = 2[sup]32[/sup])[/b] 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.[/quote]

avatar Hindifarai 23/06/2009 - 18:59

@ Ninety +1, bien que cette précision ne va pas arranger la compréhension de tout le monde :). Pour ce qui est de l'architecture 64 bits il ne faut pas en attendre des miracles non plus. La seule différence qui pourra être visible de l'utilisateur lambda sera un léger gain de performances du à l'utilisation des registres supplémentaires(et la gain pourra se transformer en perte suivant les processeurs). Pour les scientifiques ça sera un gros gain en terme de complexité mémoire et du travail pour le portage des applis. Pour les développeurs...des habitudes à changer face à des utilisateurs qui ne comprendront pas que leurs applis ne peuvent pas passer en 64bits du jour au landemain. Ceci étant, je travaille sur des archis 8bits à virgule fixe et donc 64bits mis à dispo ça me fait rêver :D .

avatar oil77 23/06/2009 - 19:00

Qui c'est qui veux une bonne biére?

avatar Psylo 23/06/2009 - 19:24

@Hindifarai [i],Pour les développeurs...des habitudes à changer face à des utilisateurs qui ne comprendront pas que leurs applis ne peuvent pas passer en 64bits du jour au l[b]e[/b]ndemain.[/i] Alors qu'on trouve depuis des années des Linux et des BSD intégralement compilées en 64 bits, (applis, drivers, libs & kernels) ? Un truc m'échappe là....

avatar Hindifarai 23/06/2009 - 19:40

@Psylo Depuis des années c'est légèrement éxagéré. Le mouvement commence tout juste à s'accélerer avec le passage forcé au i586 et x86_64 initié par fedora il y a...deux semaines. Pendant des années nombres d'applis n'étaient dispos qu'en 32bits et la gestion de la dualité des libs étaient un cauchemar, et ça l'est encore pour les bsd. Certes les kernels sont dispos depuis longtemps en x86_64, mais pour ce qui est des applis(hors applis serveurs prod) c'est une autre histoire.

avatar sekaijin 23/06/2009 - 19:58

le sujet est abordé depuis longtemps dans le sforum nous en avions parlé ici http://forums.macg.co/reagissez/logiciels-compiles-32-ou-64-bits-74327.html et par la suite j'étais revu sur un sujet connexe là http://forums.macg.co/reagissez/toujours-plus-vite-toujours-plus-loin-123917.html il faut comprendre que même si les application sont en 32bits elle bénéficie du fait que le système est en 64bits. nous savons tous que nos appli manquent toujours de mémoire et que s'il est un facteur pénalisant c'est bien celui-là. qui n'a pas eut un jour à fermer des applications pour rendre son système plus réactif ? en quoi un système 64bit peut avantager des application 32bits. ? c'est un peut contradictoire car il va passer son temps à boucher les trous. simple par sa capacité d'adressage. je ne saurait dire quelle est l'empreinte du système sur la mémoire mais nous alons prendre une valeur au hasard. disons 400Mo dans un système 32bits mon système adresse 4Go de Ram j'ai visé large et justement ma machin en est équipée. mon système occupe 400 Mo il me reste donc 4000 - 400 Mo soit 3600Mo environ pour mon application. au delà de cette valeur plus de ram donc utilisation du disque. si plusieurs applications tournent elles devront se partager ces 3,6 Go c'est relativement confortable mais pas toujours par exemple dans le traitement video c'est plutôt délicat. maintenant passons à notre système 64bits. lui aussi à un impact sur la ram qui est généralement plus important mais pas double (c'est ainsi) disons 600Mo cette fois je peux adresser 16 Exo Octets de ram je ne suis pas fortuné mais j'ai tout de même mis 8 Go de ram dans ma machine. mon application 32bit peut elle adresser seulement 4Go avec mon système 64bit elle pourra effectivement adresser 4Go de ram ce qui lui fait déjà l'espace de l'impact système en plus. mieux si j'ai plusieurs application ouverte elle utiliseront moins le disque pour la mémoire virtuelle. A+JYT

avatar Hindifarai 23/06/2009 - 20:24

Plutôt rare que Madame Michu ait 3Go de film sur le heap.(3,5 le max en 32bits mois les 500mo du système). Pour les professionnels je ne dis pas, pour l'utilisateur lambda qui ne joue pas au Spielberg raté ça ne va pas révolutionner sa vie. Vous connaissez beaucoup de retour d'utilisateurs se pleignant d'être limité à 3,5go de ram? Ils ne se rendent pas compte quand leur système swappe. La plupart pensent que leurs 4Go de ram sont bien gérés comme étant 4Go et n'imaginent pas une seconde qu'ils sont limités à moins. Le 64 bits c'est une priorité pour les professionnels et pour les geeks(voir les deux), pour le reste ça servira mais il ne fait pas crier de joie en attendant une révolution.

avatar Psylo 23/06/2009 - 20:32

@Hindifarai Je proteste vigoureusement. Ca fait "des années" que le support des architectures 64 bits est opérationnel.niveau exotisme commencçon avec les SPARC, la V9 64 bits date de 1994. Gentoo Linux fut la première distribution à offrir un système Linux 64 bits (espace utilisateur et noyau) pour l'architecture PowerPC 970. Debian 64 bits date de woody 2002 (IA64, AMD64 viendra avec Etch) En ce qui concerne Fedora, je pige pas trop quand tu parles de 2 semaines.... la version 1 était déja disponible en 64 bits et date de 2003 ! Certes l'utilité du 64 bits et les performances, sont à prendre avec des pincettes, dans certains cas on observe même une dégradation par rapport au 32 bits. Il n'empêche que mon MacBook core2duo à toujours fait fonctionné du noyal et des applis 64 bits depuis le début...

avatar Goldmember 23/06/2009 - 20:40

Très bon article qui éclaire sur le 64 bits, mais y a un truc que j'ai pas trop compris, D'après NordLazer le Core2Duo est un 32 bits donc lors de la sortie de SnowLéopard les mac vont devoir adopter de nouveaux processeurs non ?

Pages