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