211service.com
La question 64 bits
Un ordinateur 64 bits est-il dans votre futur ?
Avec tout le battage médiatique entourant les processeurs 64 bits, vous supposez probablement que ma réponse serait un oui sans équivoque et très bientôt aussi ! Mais mettez de côté les fanfaronnades marketing sur les puces comme l'Athlon64 d'AMD ; en fait, avoir 64 bits compte beaucoup moins que ce que l'industrie informatique voudrait vous faire croire. En effet, à moins que vous ne soyez un utilisateur de Macintosh, vous ne vous retrouverez peut-être pas à acheter un ordinateur 64 bits avant une décennie, si, en fait, vous en achetez un.
Tout d'abord, un petit historique. Les processeurs de la grande majorité des ordinateurs de bureau et portables actuels sont des puces 32 bits. La plupart d'entre eux sont basés sur l'architecture IA32 incroyablement réussie d'Intel, également connue sous le nom de x86 (comme dans 286, 386, 486). Les machines Celeron et Pentium d'Intel sont toutes IA32, tout comme les puces Athlon d'AMD.
Mais tout d'un coup, les machines 64 bits ont une sorte de cachet. Depuis deux ans, AMD vend des processeurs capables d'exécuter simultanément du code 32 bits et 64 bits ; les ordinateurs construits avec ces puces peuvent exécuter Linux ou une version spéciale 64 bits de Windows XP que Microsoft a publiée plus tôt cette année. Apple, quant à lui, embarque tous ses ordinateurs Power Mac avec le microprocesseur G5, un cerveau 64 bits créé par IBM. Et d'une certaine manière, tous ces systèmes de bureau sont en train de rattraper leur retard : Nintendo a fait la transition vers le 64 bits en 1996 lorsqu'il a livré sa console de jeu Nintendo64.
Pour comprendre pourquoi tout cela est important, vous devez d'abord comprendre que l'expression 32 bits est une sorte de raccourci que les concepteurs informatiques utilisent. Ce nombre fait référence à deux choses à l'intérieur de l'architecture de l'ordinateur. Premièrement, cela signifie combien de bits ces ordinateurs utilisent lorsqu'ils spécifient l'emplacement en mémoire où une information est stockée. Deuxièmement, il indique la taille des registres à l'intérieur du microprocesseur qui sont utilisés pour faire des mathématiques. Chaque bit peut être un 1 ou un 0, donc 32 bits peuvent être utilisés pour représenter 232 ou 4 294 967 296 valeurs différentes. Ainsi, la différence évidente entre les machines 32 bits et les machines 64 bits est que les systèmes 64 bits sont des machines beaucoup plus grosses : elles peuvent adresser plus de mémoire, et elles peuvent faire des maths avec des nombres plus grands.
Mais plus ne signifie pas nécessairement mieux - cela dépend de ce que vous obtenez le plus.
La voie du souvenir
Le passage de 32 bits à 64 bits est le plus important lorsqu'il s'agit de la capacité de ces ordinateurs à adresser la mémoire. Un programme exécuté sur un ordinateur 32 bits peut facilement traiter 4 gigaoctets de mémoire de rappel, 232 équivaut à environ 4,3 milliards. D'un autre côté, un programme exécuté sur une machine 64 bits peut en adresser 264, soit 4 milliards de fois 4 milliards d'octets, un nombre étonnamment élevé. Faites simplement les chiffres et il est clair qu'il y a beaucoup plus de marge sur un système 64 bits. Mais ces deux faits sont en réalité responsables de beaucoup de confusion, comme nous allons le voir.
L'ordinateur personnel d'origine d'IBM utilisait le microprocesseur Intel 8088, une petite puce amusante remplie de compromis techniques étranges. À la base, le 8088 était un processeur 16 bits : il avait des registres mathématiques 16 bits, lui permettant de représenter facilement des nombres entre 0 et 65 535 (ou entre -32 768 et 32 767) et des registres d'adresses 16 bits, lui permettant de communiquer facilement avec 64 kilo-octets de mémoire principale. Maintenant, 64K n'étaient pas suffisants pour faire grand-chose, même en 1981 lorsque le PC a été livré pour la première fois, donc le 8088 avait un ensemble de registres de segments qui ont été décalés vers la gauche de 4 bits et ajoutés au registre d'adresses avant que les adresses mémoire ne soient réellement lu ou écrit. En conséquence, le 8088 pouvait facilement accéder jusqu'à un mégaoctet de mémoire. Un mégaoctet représentait beaucoup de RAM en 1981. En effet, les concepteurs d'ordinateurs à l'époque ne pouvaient pas imaginer qu'un utilisateur domestique ou professionnel typique aurait besoin d'autant de mémoire, sans parler de pouvoir se l'offrir, pendant de nombreuses années à venir. Les concepteurs d'IBM ont donc tracé une ligne sur la carte mémoire de l'ordinateur et placé la mémoire pour l'affichage vidéo au milieu de la moitié supérieure, limitant ainsi les premiers PC à pas plus de 640 kilo-octets de RAM. Ce fut la genèse de la limite de 640K imposée par l'ordinateur d'IBM à son système d'exploitation DOS.
Quelques années plus tard, Intel a présenté son prochain microprocesseur, le 80286. (Le 80186 n'a jamais vraiment été intégré aux ordinateurs personnels.) Le 286 était la base du PC/AT d'IBM. Il avait un mode d'émulation (appelé mode réel) qui permettait au 286 d'exécuter le même logiciel que le 8088, mais il avait également un mode avancé et protégé qui lui permettait de fonctionner avec jusqu'à 16 mégaoctets de RAM. La grande majorité de ces machines fonctionnaient en mode réel afin de pouvoir exécuter le DOS de Microsoft et tous les autres programmes écrits pour le PC IBM d'origine. En effet, le 286 était beaucoup plus populaire pour exécuter le logiciel 8088 que le 8088 ne l'a jamais été, car le 286 était tellement plus rapide. Au fond, très peu de puces 286 étaient réellement exécutées dans leur mode protégé.
En 1985, Intel a introduit la puce 80386, le premier processeur 32 bits de la famille x86. Encore une fois, ce microprocesseur avait un mode dit réel afin qu'il puisse exécuter DOS et le reste de la base logicielle 8088. Ces machines pouvaient tourner autour du 8088 d'origine, non pas parce qu'il s'agissait de machines 32 bits, mais parce qu'elles avaient des fréquences d'horloge plus rapides et une conception interne plus sophistiquée. Il y avait aussi un certain nombre de sociétés vendant des extensions DOS qui permettaient aux programmes chargés sous DOS de profiter de l'espace d'adressage 32 bits complet. Ces extensions ont basculé l'ordinateur en mode 32 bits pour les mathématiques, mais ont ramené la machine en mode 16 bits chaque fois que le programme avait besoin d'accéder au disque dur de l'ordinateur. Néanmoins, les programmes 32 bits exécutés sur ces processeurs 32 bits étaient l'exception et non la règle.
Ce n'est que lorsque les machines 32 bits sur le terrain étaient largement plus nombreuses que celles à 16 bits que Microsoft a commencé à commercialiser son premier véritable système d'exploitation 32 bits, Windows 95. À ce moment-là, Intel avait sorti deux autres générations de processeurs x86. machines-le 80486, et le Pentium. Oui, Microsoft aurait pu fournir un système d'exploitation 32 bits des années avant la sortie de Windows 95. Mais cela aurait probablement été une erreur : pourquoi vendre un système d'exploitation qui ne fonctionnera pas sur la majorité des PC du marché ?
Toute cette histoire est à nouveau d'actualité alors que nous considérons le prochain grand saut dans l'architecture PC - le passage de l'informatique 32 bits à l'informatique 64 bits. Mais alors que le gain en passant d'un espace d'adressage de 16 bits (ou 20 bits, si vous considérez l'architecture segmentée du 8088) à 32 bits était énorme, le passage de 32 bits à 64 bits sera à peine remarqué par la plupart des utilisateurs d'ordinateurs. La raison en est que 32 bits est en fait assez grand pour résoudre la grande majorité des tâches informatiques, pas seulement celles d'aujourd'hui, mais aussi celles de demain.
Le passage de 32 bits à 64 est peu susceptible d'apporter le même type de saut quantique de vitesse ou de capacités que nous avons passé de 16 bits à 32. Oui, 64 bits d'adresse est vraiment énorme, mais 32 bits n'est pas négligeable.
Aujourd'hui, rares sont les applications qui nécessitent réellement plus de 4 gigaoctets de mémoire. Si vous faites du traitement de texte, des feuilles de calcul, du courrier électronique et de la navigation Web, 32 bits fourniront suffisamment d'espace d'adressage pour l'avenir imaginable. Mon ordinateur de bureau Windows est une mémoire gourmande en mémoire, sa copie d'Internet Explorer gonfle régulièrement jusqu'à 64 mégaoctets. Mais cela représente toujours un soixante-quatrième de la taille de la carte mémoire de 4 gigaoctets de la machine. Je ne peux pas imaginer que je puisse exécuter un navigateur Web qui nécessiterait une carte mémoire de 4 gigaoctets : cela prendrait près de 10 heures juste pour télécharger autant d'informations sur ma ligne DSL !
Vous pourriez penser que le multitâche avec d'autres applications surdimensionnées de la même manière entraînerait une pression mémoire toujours croissante, au point que l'on Est-ce que se préoccuper de l'utilisation de l'espace d'adressage. Mais ce n'est pas le cas. Windows, Unix et d'autres systèmes d'exploitation modernes utilisent une technique appelée mémoire virtuelle pour donner à chaque programme sa propre carte de mémoire isolée. Sur un ordinateur 32 bits, cela signifie que chaque programme en cours d'exécution dispose de ses propres 4 gigaoctets de mémoire virtuelle pour jouer. Ainsi, alors qu'une seule instance d'un programme en cours d'exécution ne peut pas accéder à plus de 4 gigaoctets, une machine 32 bits exécutant Windows XP avec 10 ou 20 gigaoctets de mémoire n'aurait aucun problème à partager cette mémoire entre un navigateur pléthorique, une copie pléthorique de Word 2003, et une copie pléthorique d'Access.
Là où cet espace d'adressage de 64 bits fait la grande différence, c'est lorsqu'un seul programme doit accéder à plus de 4 gigaoctets de mémoire à la fois. Par exemple, si vous exécutez un entrepôt de données pour une société multinationale avec 10 téraoctets de stockage en ligne, votre serveur de base de données peut grandement bénéficier de 10 ou 20 gigaoctets de fichiers d'index stockés en mémoire. Une simulation à grande échelle pourrait également bénéficier de beaucoup de RAM à disposition pour faire des choses comme la modélisation de la météo pour après-demain.
Avec des entreprises comme Dell qui livrent des ordinateurs personnels avec 512 Mo de RAM et des ordinateurs Windows XP utilisant régulièrement 1,5 Go de mémoire pour contenir tous leurs programmes, les spécialistes du marketing qui poussent l'informatique 64 bits vont dire que vous avez besoin d'une machine 64 bits. pour franchir la limite de 4 gigaoctets qui approche rapidement. Ne le croyez pas. En fait, Dell vend déjà des ordinateurs 32 bits avec 8, 16 et 32 gigaoctets de RAM. Les spécialistes du marketing veulent que vous achetiez des machines 64 bits, car ces systèmes coûtent plus cher.
L'autre façon dont les machines 64 bits surpassent les systèmes 32 bits d'aujourd'hui est lorsqu'il s'agit de faire des mathématiques. Alors que les machines 32 bits d'aujourd'hui ont des processeurs qui peuvent représenter n'importe quel entier entre 0 et 4 294 967 295 (c'est 232-1), une machine 64 bits peut représenter des entiers entre 0 et 18 446 744 073 709 551 615 (264-1).
Encore une fois, être capable de faire des mathématiques avec ces énormes nombres en une seule instruction peut être un énorme avantage dans un petit nombre d'applications scientifiques. Mais il s'avère que pour la plupart des tâches bureautiques quotidiennes, les calculs d'entiers 64 bits ne sont pas très utiles. Pour commencer, c'est parce que nous avons déjà des machines qui peuvent faire du 64 bits : les machines d'aujourd'hui le font simplement avec des unités de traitement à virgule flottante spécialisées, ou bien elles le font avec plusieurs instructions 32 bits. Pour la plupart des opérations, un matériel mathématique 64 bits spécial n'est tout simplement pas nécessaire.
Vous n'avez pas besoin de me croire sur parole. Il suffit de regarder l'historique des autres architectures 64 bits. Alors que le 64 bits est nouveau dans le monde du x86, d'autres microprocesseurs sont passés au 64 bits dans les années 1990. L'Alpha, le MIPS64 et le Sparc64 sont tous des machines 64 bits. Pourtant, la plupart des programmes exécutés sur ces ordinateurs ignorent effectivement les 32 bits supérieurs de chaque nombre, car ces chiffres sont invariablement 0.
La vraie récompense 64 bits : conceptions plus récentes
Tous ces arguments contre les machines 64 bits se fondent dans le bois, cependant, lorsque vous vous asseyez devant le nouvel ordinateur G5 d'Apple : que vous éditiez une vidéo ou que vous naviguiez simplement sur le Web, la machine semble considérablement plus rapide qu'en 32 bits. cousins G4. Alors qu'est-ce qui donne ?
À l'exception notable du processeur Itanium d'Intel, les machines 64 bits d'aujourd'hui exécutent généralement le code 32 bits plus rapidement que leurs cousins 32 bits pour la même raison que l'Intel 80386 32 bits exécutait le code 16 bits plus rapidement que le 8088 et le 80286 La raison en est que les processeurs 64 bits sont simplement des appareils plus modernes. Ces puces sont fabriquées avec des processus de silicium plus avancés, elles ont des fréquences d'horloge plus élevées et elles contiennent plus de transistors. L'Athlon64 d'AMD et le G5 d'IBM n'ont pas seulement des registres plus larges : ils ont aussi plus d'unités fonctionnelles à l'intérieur de leur cerveau en silicium. Ces puces font un meilleur travail pour des choses comme l'exécution de plusieurs instructions en même temps, l'exécution dans le désordre et la prédiction de branche. Ce PowerMac G5 64 bits exécuté dans l'Apple Store exécute en grande partie du code 32 bits. La vitesse impressionnante de la machine provient de la combinaison de deux processeurs, de fréquences d'horloge plus rapides, d'un cache plus important et d'un meilleur bus mémoire.
Oui, AMD et IBM auraient pu intégrer cette même technologie dans une nouvelle conception 32 bits. Mais de nos jours, la conception d'une nouvelle puce coûte des milliards de dollars. Un processeur 64 bits peut coûter plus cher qu'un processeur 32 bits, il est donc dans le meilleur intérêt de ces entreprises de mettre leur technologie la plus récente et la plus performante dans leurs produits 64 bits.
À l'avenir, l'informatique 64 bits va vraiment se répandre parce que les machines 64 bits feront un meilleur travail en exécutant le code 32 bits d'aujourd'hui que les processeurs 32 bits d'aujourd'hui. Mais le marché pourrait facilement évoluer dans une autre direction. Ces 32 bits supplémentaires consomment beaucoup d'énergie, de sorte que les entreprises qui fabriquent des processeurs pour ordinateurs portables et ordinateurs de poche pourraient simplement intégrer les astuces développées pour les machines 64 bits dans leurs appareils 32 bits.
La même chose s'est produite dans les consoles de jeux. Bien qu'il y ait eu beaucoup d'enthousiasme il y a quelques années lorsque Nintendo a décidé d'utiliser le processeur 64 bits R4300i pour son système Nintendo 64, les joueurs de jeux vidéo n'ont pas vraiment profité des 32 bits supplémentaires d'adresse ou de mathématiques. Le R4300i était une puce rapide à l'époque car il implémentait de nombreuses autres techniques de pointe pour accélérer l'exécution des programmes. Il aurait pu fournir le même niveau de performances si ces astuces avaient été appliquées à un processeur 32 bits. Ce sont les astuces qui ont apporté la vitesse, pas les bits.
128 bits lié ?
Après avoir vécu le passage de 8 à 16 bits, puis de 16 à 32, et maintenant de 32 à 64, il est tout à fait naturel de penser que dans un avenir lointain, nous passerons des systèmes 64 bits à 128 bits. Ne retenez pas votre souffle.
La chose importante à retenir ici est que les bits sont exponentiels. Un système 32 bits peut adresser 65 mille fois plus de mémoire qu'un système 16 bits, alors qu'un système 64 bits a un espace d'adressage mémoire théorique 4 milliards fois plus grand que celui d'un système 32 bits. Vous pourriez en fait construire un seul système de mémoire qui contiendrait 264 octets de stockage avec le matériel d'aujourd'hui, mais vous auriez besoin d'utiliser plus de 200 millions de disques durs, chacun contenant 256 gigaoctets d'informations. C'est plus de stockage que celui fourni par l'industrie mondiale des disques durs en 2003. Ainsi, même s'il est concevable que vous puissiez créer un système de mémoire contenant 264 octets de stockage aujourd'hui, vous devrez probablement utiliser tous les ordinateurs du monde connectés à Internet. .
Bien qu'il soit possible d'envisager un avenir où les ordinateurs accéderont à des bases de données de 264 octets, il est difficile de concevoir un seul problème qui obligerait un programme à avoir autant de mémoire accessible dans un seul espace d'adressage. L'une des raisons pour lesquelles un système aussi incroyablement grand n'a pas de sens est que vous ne construirez pas un tel système avec un seul processeur et un seul espace d'adressage unifié : vous utiliseriez à la place des millions ou des milliards d'éléments de traitement, tous avec une mémoire qui se chevauche et responsabilité. De cette façon, si un processeur ou un bloc de mémoire tombait en panne, les autres systèmes prendraient le relais de manière transparente.
Compte tenu de tels arguments, il est assez déraisonnable d'imaginer que vous auriez besoin de 2128 bits de stockage, pas de notre vivant, pas de quiconque.
D'un autre côté, je peux me tromper complètement sur tout cela : 64 bits pourraient être exactement ce qu'il faut pour faire de la réalité virtuelle du corps entier avec des capacités de morphing mental-meets-mind. Ou plus probablement, des entreprises comme Dell pourraient choisir de suivre l'exemple d'Apple et d'arrêter de vendre des machines bas de gamme avec des processeurs 32 bits, s'appuyant plutôt sur le battage publicitaire des machines 64 bits pour justifier les marges bénéficiaires plus élevées.
Mais rappelez-vous, il y a toujours de la place en bas. Et puisque les machines 32 bits sont susceptibles d'être utiles pendant au moins une décennie à venir, sinon plus, je serais surpris de voir Dell céder ce marché à une autre entreprise. Il suffit de regarder Apple : alors que toutes les machines de bureau PowerMac vendues par Apple sont équipées de processeurs G5, la société utilise toujours des G4 dans ses ordinateurs iMac, eMac et PowerBook.
Personnellement, je pense que les systèmes 32 bits seront avec nous encore longtemps.