La Loi de Moore

 À  la suite d'une discussion sur le progrès où j'évoquais la (plus ou moins) « fameuse » “Loi de Moore” que je connaissais vaguement sans me rappeler le nom de son auteur, je lance mon bon vieux Google, et en avant pour la recherche sur Internet. Cela me permit donc de savoir que l'auteur était un certain Moore, membre fondateur d'Intel, mais surtout je découvris que si beaucoup en parlent, peu la connaissent. Avant d'aller plus loin, je vous signale le papier original, disponible ici, ainsi qu'une tentative de traduction. plus ou moins heureuse, mais qui du moins donne à peu près correctement la partie “loi de Moore” concernant le supposé « doublement de […] tous les […] ».

L'intervalle de temps entre deux doublements est divers, 12 à 36 mois, en moyenne 18 mois ; on a en général une mention du style « la loi de Moore dit que [qqch] double tous les [tant] ». La « vraie » valeur est, tous les ans. Même un document apparemment sérieux, qu'on trouvera ici, donne : « Ainsi Gordon Moore, cofondateur de la société Intel avait affirmé en 1965 pour une conférence de presse, que "le nombre de transistors par ci[r]cuit de même taille va doubler tous les 18 mois" ». Sans détailler mes recherches, il apparaîtrait que le plus souvent on ne se réfère pas à la “loi de Moore” de 1965, mais à une révision à la baisse faite vers 1990, probablement sans auteur spécifique, et s'appuyant plus ou moins sur certaines évolutions moyennes entre 1971 et 1985 environ ; entretemps, en 1975, à l'occasion d'une vérification de la prédiction de 1965, Moore, reformula son hypothèse et détermina cette fois un doublement tous les deux ans. Finalement, La “loi de Moore” dont on parle n'est donc ni l'originale ni la révisée mais une troisième projection due cette fois à un anonyme.


Avant de poursuivre, voici le passage où l'on trouve notre supposée loi :

« La complexité pour un coût minimum par composant a progressé à un taux d'en gros un facteur de deux par année (voir le graphique ci-après). À coup sûr, pour le court terme on peut s'attendre à ce que ce taux se maintienne, s'il ne progresse pas. Sur le long terme c'est un peu plus incertain, bien qu'il n'y ait pas de raisons de croire qu'il ne restera pas constant pour au moins une dizaine d'années. Ce qui implique qu'en 1975, le nombre de composants par circuit intégré pour un coût minimum sera de 65.000 ».

On le voit — j'y reviendrai —, Moore s'intéresse moins à je ne sais quel « doublement de […] tous les « …] », qu'à une division par deux tous les ans ; il ne s'agit donc pas d'un commentaire technique sur l'évolution des transistors depuis cinq ans, mais d'une discussion sur l'intérêt d'investir dans le domaine ; l'idée est : mettez de l'argent dans mon entreprise car je vous certifie un très haut rendement pour au moins dix ans. Il y a certes une vague partie technique abordant la question de la densité des transistors, mais le point central reste : chaque année pour les dix ans à venir le coût unitaire des transistors sera divisé par un facteur de deux à quatre ; en sens inverse les industriels auront de plus en plus intérêt à remplacer les systèmes à lampes par ceux à transistors ; ergo vos investissements seront pérennes.

Incidemment, en 1975 la prévision de Moore se révéla fausse, le nombre de transistors sur un composant étant de 6.000, soit le onzième de la projection…


Bien des pages parlent d'une “loi de Moore”, mais chaque fois différente. Hormis le papier même de 1965, j'ai retrouvé mention de la seconde “loi de Moore” qui s'énonce ainsi (citation de citation) :

D'après la loi de Moore sur le site d'Intel, c'est le nombre de transistors qui est doublé tout les deux ans
http://www.intel.com/research/silicon/mooreslaw.htm
Moore's Law, the doubling of transistors every couple of years, has been maintained, and still holds true today [Loi de Moore, le doublement [du nombre] de transistors tous les deux ans, s'est maintenue, et reste vraie aujourd'hui].

Je ne certifie pas le lien vers le site Intel[1] (et même, ceci étant une incise tardive, je l'infirme[2]). On remarquera l'aspect très soviétique de cette “loi” de 1975, les rédacteurs réécrivant l'histoire sans honte : le texte original parle bel et bien d'un doublement tous les ans. Ma citation vient d'une page symptomatique du flou sur “la loi” : un « fil », mi-forum mi-chat, qu'on trouvera ici, et qui, partant d'une considération sur la fréquence — et le prix — de deux « nouveaux » processeurs (en fait, les mêmes à plus haute fréquence) d'AMD, va vers une discussion autour de “la loi de Moore”. Le premier contributeur rapporte une définition de la loi sur hardware.fr, site reprenant une légende sur la naissance de la loi que j'ai trouvée par ailleurs :

« Cette loi est en réalité une constatation de Gordon Moore […] qui, lors de la préparation d'un discours a tracé la courbe d'évolution de la puissance des microprocesseurs. Il s'est alors aperçu que la puissance de ceux-ci était multipliée par deux à chaque nouvelle génération (c'est-à-dire tous les 18 à 24 mois) ».

Cette discussion est intéressante, parce que les contributeurs ne se fient pas à des on-dit, l'un recadre en précisant,

« Mais bon attention d'après la définition de la loi de Moore d'Hardware.fr, c'est le doublement la puissance des procs et pas la fréquence qui est multipliée par 2 tous les 18 à 24 mois ! » ;

Un autre encore, celui qui rapportait la définition de 1975, qui a fait sa propre recherche, retombe sur la supposition initiale :

« D'après la loi de Moore sur le site d'Intel, c'est le nombre de transistors qui est doublé tout les deux ans ».

Souligné par moi. Le précédent contributeur émet ceci :

« Ah ben moi au départ je croyais que la Loi de Moore c'était le doublement de la fréquence tous les ans...
bon alors doublement du nombre de transistors tous les 2 ans ou doublement de la puissance des procs tous les 18 à 24 mois ?!? »

Ce qui cadre bien le débat : qu'est-ce qui double ou diminue tous les [x] mois ? Les postulats initial de Moore et secondaires d'Intel sont que le nombre de transistors, à surface égale et à prix constant, double tous les [x] mois, d'abord 12, puis 24, enfin 18. Ce qui a depuis perdu de sa pertinence : en 1998 la finesse de gravure était de l'ordre de 0,18µ, fin 2002 de 0,13µ, soit un gain de 50% en surface, mais sur cinq ans, donc très en-dessous des prévisions. Le nombre de transistors a suivi semblait-il la “loi de Moore”, mais en volume : le nombre de couches par processeur (soit, dit proprement, le nombre de puces) a augmenté considérablement. Inversement, entre 1995 et 1998, la “loi de Moore” fut pulvérisée, car on passa de 0,6µ à 0,18µ, soit, sur trois ans, non pas le quadruplement prévu mais un rapport de 1 à 11.

Ce qui ramène aux causes de la fluctuation de la “loi”, de 12 à 18 mois en passant par 24 : selon toute vraisemblance, après six ans de progression respectant la première évaluation (un an), il y eut, à l'apparition des microprocesseurs, un net tassement les quatre années suivantes, expliquant la révision à 24 mois (considèrant l'évolution sur dix ans, il y a en gros la progression plus tard invoquée de 18 mois, d'où l'on en peut conclure que la révision à deux ans vient du ralentissement sur la période 1971-1975). Ensuite, on assiste bien à une progression du nombre de transistors par puce de l'ordre prévu, qui ne s'explique pourtant plus par la prévision « légale » du doublement d'éléments à surface égale, mais par un changement de pratique, les puces multicouches : en 1985, la gravure est de 0,8µ, et en 1993, elle est toujours la même, par contre on est passé de 280 à 3100 transistors, ergo ce n'est pas la densité des transistors mais le volume des processeurs qui augmente. Donc, au moins depuis 1985, la partie « technique » de la “loi de Moore” stricto sensu n'est plus vérifiée, soit que la densité n'augmente pas, soit qu'elle le fasse encore plus vite que dans le postulat. À considérer que le saut quantitatif entre 1985 et 1993 n'est pas dû à Intel, mais à un consortium rival regroupant principalement IBM, Apple et Motorola, Intel ne faisant alors que rattraper son retard.


Donc, une même “loi”, mais plusieurs rédactions dans le Journal officiel, semble-t-il. La majeure partie des pages indiquent que « [selon la loi de Moore] la puissance des processeurs double tous les dix-huit mois », avec comme principale variante, « la puissance des ordinateurs double tous les dix-huit mois », ce qui n'est pas exactement — et même, pas du tout — la même chose. Question : peut-on déduire du doublement du nombre de transistors (par la densité ou par l'augmentation du nombre de couches) un doublement de la puissance du processeur ? Non. Nous y reviendrons, mais tout d'abord, un florilège de quelques-unes de ces « citations » présentées comme étant “la loi de Moore”, comprises celles déjà citées :

« Loi de Moore : Le nombre de transistors sur une puce de circuit intégré double tous les dix-huit mois ».

À remarquer que sur la même page, on trouve un peu plus loin l'énoncé réel :

« [Moore] écrit : "The complexity (of cheap integrated circuits) has increased at a rate of roughly a factor of two per year ..." La complexité a augmenté à un taux d'à peu près un facteur de deux par an. Il n'y à pas de raison de ne pas vérifier cette tendance dans la prochaine décennie, au moins ».

Quant à moi, j'ai traduit ainsi la deuxième phrase par : « À coup sûr, pour le court terme on peut s'attendre à ce que ce taux se maintienne, s'il ne progresse pas » ; original : « Certainly over the short term this rate can be expected to continue, if not to increase » Toujours sur cette page, présentation de la version 1975 :

« Moore reprend sa loi lors d'une réunion de l'Institute of Electrical and Electronics Engineers. Il corrige : la complexité double tous les deux ans ».

Et ce n'est qu'après qu'on apprend que :

« Aujourd'hui, certains admettent le compromis de 18 mois ».

Conclusion, la base de 18 mois ne vient pas de Moore… Sinon, et en vrac, on a les versions suivantes de la “loi” :

  1. « Il y a deux ou trois ans, Intel se préoccupait publiquement de la fin possible de la loi de Moore, cette règle qui voudrait que tous les dix-huit mois la puissance des circuits intégrés double. Il s'agit en fait, à coût égal, du doublement du nombre de transistors sur un circuit intégré » ;
  2. « Selon la loi de Moore, le nombre de transistors d'un processeur devrait doubler tous les 18 mois » ;
  3. « “Le nombre de transistors intégré dans une puce doublera tous les deux ans”. C'est la loi de Gordon Moore » ;
  4. « Gordon Moore, le cofondateur d'Intel, avait prévu en 1965 déjà que le nombre de transistors montés sur une puce (et par conséquent les performances de celle-ci) doublerait tous les 18 à 24 mois et ce, à prix constant » ;
  5. « Loi de Moore. Cette loi est en réalité une constatation de Gordon Moore (un des cofondateurs de Fairchild SemiConductors et Intel), qui, lors de la préparation d'un discours a tracé la courbe d'évolution de la puissance des microprocesseurs. Il s'est alors aperçu que la puissance de ceux-ci était multipliée par deux à chaque nouvelle génération (c'est-à-dire tous les 18 à 24 mois) » ;
  6. « L'axiome posé par Gordon Moore d'Intel Corp. établit que le nombre de transistors dans un processeur doit doubler tous les 18 mois » ;
  7. « La loi de Moore. Gordon Moore, cofondateur d'Intel, a prédit en 1965 que la puissance des ordinateurs doublerait tous les 18 mois. Cette loi s'est avérée exacte jusqu'en 1998. Pour les dix prochaines années, la puissance doublera tous les 3 ans » ;
  8. « Depuis bien longtemps maintenant, la fameuse "Loi de Moore" instaure son rythme aux générations successives de processeurs. Une belle prédiction, d'abord technologique, puis marketing. Car le simple fait de pouvoir fabriquer des processeurs qui vont de plus en plus vite n'implique pas forcément de devoir le faire. Par bien des côtés, cette loi est davantage un diktat, imposé aux utilisateurs par les fabricants de processeurs, dont la finalité inavouée - mais facile à comprendre - est de faire acheter des ordinateurs, en réduisant leur durée de vie » ;
  9. « La loi de Gordon Moore, qui "veut" que la puissance d'un processeur soit doublée tous les dix-huit mois, aura bien du mal à tenir la route au cours de la prochaine décennie » ;
  10. « Jusqu'à présent la fameuse loi de Moore affirmant que la puissance de calcul double tous les 18 mois a toujours été vérifiée. Chaque nouvelle génération de processeur est ainsi cadencée plus vite, avec une technologie de gravure plus fine et un nombre de transistors toujours plus grand » ;
  11. « La loi de Moore établit la progression de la puissance des microprocesseurs selon une relation inverse avec leur prix » ; [ce passage renvoie vers la “définition” qui suit :]
  12. « La "loi de Moore" a joué un rôle important dans l'histoire de l'informatique. Formulée pour la première fois par Gordon E. Moore dans un article de 1965, elle postule le doublement annuel des performances des circuits intégrés (mémoires et processeurs) […]. Moore a revu son estimation en 1975 : le doublement aurait lieu tous les 18 mois et non tous les ans » ;
  13. « Le comportement du monde informatique est régi par la “Loi de Moore”, selon laquelle la puissance des processeurs est multipliée par deux tous les 18 mois » ;
  14. « La loi de Moore (un des fondateurs d'Intel) : la multiplication par deux de la capacité de calcul des micro-processeurs tous les dix-huit mois » [ceci provient d'un corrigé d'examen en informatique, ce qui fait s'interroger sur les compétences et le sérieux de certains enseignants…] ;
  15. « LA LOI DE MOORE. Formulée pour la première fois en 1965 par Gordon Moore, co-fondateur d’Intel, cette affirmation n’a jamais été démentie depuis et a acquis force de loi de par sa vérification par les faits. Elle prédit le doublement de capacité exprimée en nombre de transistors pour une surface donnée, donc au même coût, sur une durée de 18 mois environ » ;
  16. « Selon la loi de Moore, le nombre de transistors d'un processeur devrait doubler tous les 18 mois. A l'heure actuelle, cette loi n'est plus vérifiée. La technologie des processeurs avance à une vitesse phénoménale » ;
  17. « La loi de Moore. Tous les dix-huit mois, la capacité des microprocesseurs double » [ceci est une “entrée de dictionnaire”…] ;
  18. « Semi-conducteurs et loi de Moore. La "loi de Moore" est une prédiction du futur basée sur l'observation du passé. Elle stipule que, à coût constant et surface constante, le nombre de transistors gravables (et pas la vitesse) double « vite » (tous les 18-24 mois). Ce n'est pas une loi scientifique, mais une observation de Gordon Moore (Intel) en 1965 (c'est pas récent), qui s'est à peu près vérifiée depuis » ;
  19. « La loi de Moore. Loi économique formulée par Gordon Moore, cofondateur d'Intel, selon laquelle la puissance des composants double tous les dix-huit mois environ, à coût identique. En somme, à prix minimal, puissance maximale » (tiré de “L'Expansion”) ;
  20. « Loi de Moore. Loi empirique énoncée par Gordon Moore, l'un des cofondateurs d'Intel, au milieu des années 1960, selon laquelle la puissance des microprocesseurs double tous les dix-huit mois à coût constant. Cette loi s'est constamment vérifiée jusqu'à ce jour, même si la tendance s'est un peu infléchie depuis quelques années » ;

J'en ai d'autres en stock, et en cherchant "loi de moore" (avec les guillemets) avec Google, vous trouverez environ 1600 entrées. J'imagine qu'en essayant

« +"moore law" OR "law of moore" +processor OR processors »
on dépassera les 30.000 mentions. De cela ressort un quasi consensus, déjà évoqué, le “doublement” tous les 18 mois. Par contre, on ne s'entend pas sur ce qui double. La tendance va vers « la puissance », avec un avantage pour celle des processeurs, déclinés en microprocesseurs et circuits intégrés, la « puissance des ordinateurs » et la « puissance de calcul » figurant aussi assez bien. Évidemment, on trouve bon nombre d'approximations et quelques perles.

La première approximation est la rengaine selon laquelle, comme le dit la dernière citation, « cette loi s'est constamment vérifiée jusqu'à ce jour », tout en concédant que « la tendance s'est un peu infléchie depuis quelques années ». Considèrant la loi « moyenne » de doublement tous les 18 mois, et partant d'un transistor en 1959 (ou de 64 en 1965, ce qui revient au même, puisque de fait “la loi” s'est “vérifiée” jusqu'en 1969), on arrive, dans les années où mes citations furent écrites, respectivement à 106, 268 et 426 millions de transistors pour 1999, 2001 et 2002. C'est assez loin du compte. Corrigeant avec la valeur réelle de 1971, c'est pire, puisqu'on obtient 0,6, 1,5 et 2,4 milliards de transistors. N'évoquons même pas l'hypothèse de la progression annuelle, où dès 1999 on aurait 1.100 milliards d'éléments, excusez du peu… En sens inverse, l'hypothèse bisannuelle partant de 1959 aboutit à 1,05, 2,10 et 4,19 millions pour 1999, 2001 et 2003, et là, c'est trop peu. Bref, de quelque manière qu'on l'envisage, depuis 1972, aucune des hypothèses n'a été vérifiée. Par contre, de 1965 à 1972, l'hypothèse 1 (annuel) se vérifie à-peu-près, puis de 1972 à 1985 l'hypothèse 2 (bisannuel), enfin de 1985 à 2001, c'est l'hypothèse « standard » des 18 mois qui fonctionne, à peu de choses près — à quelques millions de transistors près en plus ou en moins…

Enfin, pas vraiment : j'en ai parlé, la prédiction de Moore, la vraie, qui énonce que « La complexité pour un coût minimum par composant a progressé à un taux d'en gros un facteur de deux par année [et] pour le court terme on peut s'attendre à ce que ce taux se maintienne, s'il ne progresse pas », induit que sur une même surface on met deux fois plus de transistors pour le même prix. Or, au moins pendant la période 1982-1993 le gain s'est fait non par une densité plus grande mais par l'accumulation de couches, donc au moins pendant cette période la “loi de Moore” ne se vérifia plus, et l'on vit plutôt une division annuelle des coûts par un facteur 6 à 10 pour une densité équivalente ou légérement supérieure. Réduction en grande partie annulée pour le prix des processeurs du fait du développement du multicouche.


J'apprécie beaucoup la citation numérotée 8, qui évoque « une belle prédiction, d'abord technologique, puis marketing », bien que n'étant pas vraiment d'accord avec son auteur : cette “loi” ne fut en rien « d'abord technologique », et se positionna dès 1965 dans un optique marketing. Ayant lu l'article de Moore, vous aurez constaté que l'aspect technique importe peu et que sa valeur scientifique est douteuse. Ça ne signifie pas que les idées techno-scientifiques et les descriptions techniques développées sont nulles, mais ça intéresse sensiblement peu l'auteur qui, au long de son article, essaie de démontrer trois choses : l'avantage financier que les fabricants de systèmes automatiques asservis ont à opter pour de l'électronique intégrée ; l'intérêt que trouveront les vendeurs de ces systèmes en fournissant à leurs clients de instruments moins lourds, plus fiables, plus puissants et/ou moins chers ; les fait que les uns et les autres peuvent avoir confiance ne doivent pas hésiter car les techniques sont sûres et ce n'est qu'une question d'amélioration des procédés actuels, donc il n'y aura pas de coûts cachés dûs à la recherche et au développement. L'avantage de Moore par rapport au démarcheur habituel vient de la cohérence de la partie « technique » de son discours : effectivement, il connaît bien la question, mais on ne peut pas dire que cet aspect domine ; il insiste surtout sur un autre point, le développant de trois ou quatre manières différentes : vous en aurez plus pour moins cher.


À quoi voit-on qu'une opération de marketing a bien fonctionné ? Au fait qu'elle devient un lieu commun, une évidence. Parmi mes vingt citations cinq spécifient que « jusque-là cette loi s'est vérifiée » et dans huit autres elle est implicitement confirmée (dont la citation 8, même si l'auteur met ça sur le compte du volontarisme industrialo-commercial plutôt que sur de la technique). Et parmi les 7 restantes, plusieurs proviennent d'un texte où l'auteur considère que la loi — au moins « jusque-là » — est confirmée. J'ai récupéré une quinzaine d'autres mentions de la “loi de Moore” et parcouru une bonne vingtaine d'autres, et la proportion reste assez constante : plus de 75% des auteurs acceptent sa validité, au moins « jusqu'ici », les uns pour prévoir un tassement, les autres un emballement. Le site le plus intéressant est celui-ci, déjà cité. L'auteur nous donne cette formule :

2300*2[(a-1972)*2/3]
dont je me suis servi, et où 2300 est le nombre de transistors de départ et 'a' l'année finale. L'auteur en arrive bien sûr au même point que moi : il y a loin entre l'idée et le fait, l'hypothèse et la réalité ; malgré ce qu'affirment de 75% à 80% de ceux qui en parlent, la “loi de Moore”, quelle que soit la version qu'on en retient et les date et fréquence de départ, ne s'est jamais vérifiée…

Je m'excuse, amie lectrice, ami lecteur, de radoter un peu, mais il me semble bon de mettre tout ça en évidence, pour ceci : même dans des sites a priori sérieux et documentés où on ne devrait pas vous raconter n'importe quoi, on trouve des informations non vérifiées, même quand c'est possible. La majorité des citations provient de sites de périodiques (L'expansion, Libération), d'encyclopédies en lignes, de sites « scientifiques » ou techniques dont plusieurs à visée pédagogique, de forums pour techniciens, et parmi tous ces sites, un et un seul s'est donné la peine, de vérifier si l'assertion commune selon laquelle la “loi de Moore” fut valide au moins entre 1971 et 2001 est exacte. Ni pour la densité, ni pour la fréquence elle ne se vérifie : pour la fréquence, entre 1971 et 1978 elle est trop basse (hypothèse : 2,44Mhz ; réel : 5Mhz) ; entre 1982 et 2001, trop haute (hypothèse : de 13,8Mhz à 7,1Ghz ; réel : de 6Mhz à 1,4Ghz). Et si les annonces d'IBM pour 2004 se révèlent vraies, de nouveau elle sera invalidée vers le bas, puisque cette entreprise annonce un processeur à 100Ghz. Incidemment, la citation la plus amusante est celle numérotée 16, que voici dans son intégralité :

« Selon la loi de Moore, le nombre de transistors d'un processeur devrait doubler tous les 18 mois. A l'heure actuelle, cette loi n'est plus vérifiée. La technologie des processeurs avance à une vitesse phénoménale. Vous pensez que vous êtes à l'abri avec votre PII 450 ? Eh bien non ! AMD, notamment, va bouleverser le marché avec son K7 tandis qu'INTEL sortira son Katmai.

Cet enthousiasme à l'abri des faits se relie à ce que j'appelle les « illusions » : on n'évalue pas les faits en extension spatio-temporelle large, mais sur un segment court de la réalité : pour un domaine « jeune » comme l'informatique, et plus encore comme la micro-informatique, le segment sera court de beaucoup, six à douze mois. Notre auteur considère en fait l'état de l'art entre fin 1998 et début 1999 ; là, sur une période de six mois environ on passe d'un processeur à 10 millions de transistors à un autre de quelques 24 millions, et d'un processeur à moins de 500Mhz à un de plus de 700Mhz. Sur un segment de temps très court, « l'actualité », ça semble donc « accélérer ». Le même enthousiaste, écrivant un an plus tard, se plaindrait de ce que la “loi de Moore” ne se vérifie plus mais cette fois vers le bas (« NND ! Les processeurs n'évoluent plus ! ») ; par contre, écrivant fin 2000, début 2001, il s'esbaudirait du « fabuleux bond en avant de la technologie ». Bref, l'optimisme ou le pessimisme relativement à “la loi” dépendent plus du moment où on l'apprécie que de sa validité à long terme…

Ils dépendent d'autre chose : ce à quoi on s'attache. Que l'on s'occupe de la densité des transistors, de leur nombre, de la fréquence du processeur, des MIPS (millions d'instructions par seconde) nominaux ou effectifs, de la puissance des processeurs ou des ordinateurs, de celle des systèmes ou des logiciels, etc., on n'aura pas toujours la même perception. Prenez les MIPS : j'ai lu plusieurs fois cette équivalence, MIPS=fréquence. D'où, (x)hertz=(x)IPS. Ce qui est faux. Considérant qu'un hertz correspond à un « temps d'horloge » ou « tic », il se trouve que nombre d'instructions requièrent plusieurs tics : dans un tableau sur la question, le nombre moyen de tics par instruction est entre 23 et 24 pour les processeurs Intel de la série x86 antérieurs aux Pentiums. À partir du Pentium, et plus encore du Pentium II, le nombre de MIPS augmente plus vite que la fréquence, parce que de nouvelles méthodes permettent d'anticiper des instructions, de réduire le nombre de tics nécessaires à leur exécution, voire d'en traiter plusieurs en un tic. Donc, cette équivalence entre MIPS et fréquence est fausse. D'ailleurs, dans la même page on trouve cette “définition” et la mention de ce que les Pentium “cadencés” à 200Mhz ont un débit de 100 MIPS… En fait, depuis le Pentium, le PowerPC et tous les processeurs développés au milieu de la décennie 1990, cette évaluation des MIPS n'a plus de sens, pour la raison simple qu'une même instruction, suivant la manière dont elle s'insérera dans un chaîne de traitement, pourra durer entre 1 et (n) tics, la valeur (n) pouvant varier de 2 à 30 environ.

Positivement, la “loi de Moore” ne s'applique qu'à la densité planaire de transistors sur un composé électronique intégré (une « puce ») ; elle vaut donc pour les processeurs et les mémoires à base de transistors planaires et les systèmes de contrôle et de réglage par « circuits intégrés semiconducteurs », comme dit Moore. Ou plutôt, est censée valoir : on l'a vu, aucun de ses trois énoncés ne fut jamais vérifié. Donc, toute extension de cette “loi” à une particularité d'un composant ou d'un ensemble informatique n'ayant pas une caractéristique de densité planaire est abusive ou fausse, notamment pour ce qui concerne la fréquence ou le nombre de MIPS. Un point reste obscur : qu'entendent la majeure partie des personnes parlant de la “loi de Moore” par “puissance” quand ils écrivent que « la puissance des processeurs (ou des ordinateurs) double tous les (x) mois » ? J'ai mon idée là-dessus : un processeur « deux fois plus puissant » qu'un autre devrait être capable, à valeur constante, de faire deux fois plus de choses que le précédent. La valeur fixée par Gordon Moore était le coût, et l'échelle de puissance, le nombre de transistors : `t’ représentant un intervalle de temps donné, `n’ le nombre de transitors et `c’ le coût, on devrait avoir non pas la formule évoquée, 2300*2[(a-1972)*2/3], mais quelque chose comme :

c = 2300*((x*2)[(n-1972)*2/3])

Ou bien, considérant l'hypothèse initiale :

c = (x*2)(n-1959)

Ou, considérant les trois hypothèses :

c = (x*2)[(n-m)*t]

Avec `n’ supérieur ou égal à 1959 (ou 1972) et `t’ variant de 1 à ½.

Dans cette formule ‘x’ vaudrait, bien évidemment, ½, puisque la théorie de base de Moore est, hors considérations techniques, que le coût des transistors est inversements proportionnel à la durée `t’, dit autrement, que chaque année ou deux années ou dix-huit mois, le transistor coûte deux fois moins cher. L'autre hypothèse, le doublement annuel (ou bisannuel, ou par trois semestres) de densité des transistors sur un circuit intégré, n'est selon lui-même qu'une évaluation à court ou moyen terme, à horizon de dix ans environ, et n'a somme toute qu'une importance secondaire — il imagine même des systèmes où « les mémoires faites à base de circuits intégrés pourront être réparties partout dans la machine plutôt qu'être concentrées dans des unités centrales », ergo que l'on ait un composant avec de nombreux transistors, ou plusieurs composants répartis avec un nombre plus ou moins grand de transistors importe modérément. Lisant bien le texte de Moore, on voit — j'en parlais — que les questions importantes sont économiques : mettez des circuits intégrés dans vos machines, car leur coût à la production baissera plus vite que celui des transistors classiques ; ne craignez pas l'obsolescence des circuits intégrés, car les techniques sont sûres, et n'évolueront pas dans l'avenir, sinon pour la fiabilité et le niveau d'intégration ; investissez sans crainte dans l'industrie des circuits intégrés, c'est un marché pérenne destiné à se développer. Bref, un argumentaire beaucoup plus commercial que technique. En fait, ça ressemble fort à tous les discours qui se développèrent d'abondance entre 1995 et 2000 environ sur « la Nouvelle Économie » : la validité du discours a moins d'importance que la conviction de celui qui l'émet.

Par le fait, l'industrie des circuits intégrés fut pérenne, par contre, à partir de 1972 les industriels qui avaient fait des investissements pour des lignes de production avec les anciens composants durent considérer qu'il leur fallait refaire, cinq ou six ans après, de nouveaux investissements pour s'adapter aux microprocesseurs. La promesse de Gordon Moore en 1965 (« it is not even necessary to do any fundamental research or to replace present processes. Only the engineering effort is needed » ; « il n'est pas non plus nécessaire de faire quelque recherche fondamentale ou de remplacer les procédés actuels. Seul un effort d'ingénierie est requis ») se révéla erronnée cinq ans plus tard seulement. Incidemment — je l'évoquais —, la seconde promesse, que la division par deux chaque année du coût de production des transistors durerait jusqu'en 1975, se révéla fausse en même temps, puisqu'on passa alors au mieux à un rythme bisannuel. Bref, cela invalida les deux premières propositions (pérennité, baisse constante des coûts). Par contre, pour ceux qui investirent dans l'industrie des circuits intégrés, le fait est qu'au moins jusqu'à la moitié de la décennie 1980 ce fut une bonne chose pour eux.


Et on en revient à la citation 8 : « Par bien des côtés, cette loi est davantage un diktat, imposé aux utilisateurs par les fabricants de processeurs, dont la finalité inavouée - mais facile à comprendre - est de faire acheter des ordinateurs, en réduisant leur durée de vie ». Là non plus je ne suis pas d'accord avec l'auteur : il n'y a rien d'inavoué. Moore est même très explicite et ne s'adresse pas aux potentiels utilisateurs ni aux effectifs fabricants de processeurs, mais aux industriels qui sont intéressés à réduire leurs coûts de production pour vendre leurs produits à un moindre prix et avec une plus grande marge. Que ceci ne soit pas tenable à moyen ou long terme n'a jamais posé problème aux propagandistes de la dernière nouveauté technologique en date. Gordon Moore n'est pas malhonnête : il ne promet pas que ça durera toujours, juste que ça marchera une dizaine d'années à ce rythme, et peut-être encore quelques années à un rythme moins soutenu mais encore gratifiant. La théorie qu'il développe sur les coûts des circuits,

« Mais d'autant que des composants sont ajoutés, les réductions de rendements sont plus que compensées par les augmentations de complexité, ce qui tend à faire monter le coût par composant. Ainsi on parvient à un coût minimum à n'importe quel moment dans l'évolution de la technologie […]. Mais le le minimum est atteint rapidement dans le temps où la courbe de coût s'abaisse » [« But as components are added, decreased yields more than compensate for the increased complexity, tending to raise the cost per component. Thus there is a minimum cost at any given time in the evolution of the technology […]. But the minimum is rising rapidly while the entire cost curve is falling »]

est généralisable à l'industrie de haute technologie : diminuant les coûts de production unitaire, on augmente le rendement, mais on doit, pour des raisons de concurrence, baisser les prix à la vente ; la courbe des gains à la production est donc vite annulée par la courbe des pertes à la vente. J'admire que Moore, dans ce passage, contredise en partie son discours rassurant sur « les coûts réduits [qui] sont l'une des grandes attractivités de l'électronique intégrée », et sur son idée que « les avantages de coûts continuent de s'accroître au fur et à mesure que la technologie évolue » ; c'est vrai et c'est faux : vrai en amont (réduction des coûts), faux en aval du fait de l'effondrement des marges. D'ailleurs, c'est ce à quoi l'on assiste depuis en gros une décennie. Et c'est aussi ce qu'on peut lire en filigrane dans le texte de Moore. Entre la date de son article et aujourd'hui (mai 2003), on a eu quatre phases : dans la première, qui correspond à ses prévisions (1965-1975), les gains de productivité furent assez importants pour, non pas rester constants, mais se réduire par rapport aux marges à la vente ; dans la décennie suivante, l'avantage sur les marges se réduisit peu à peu, tout en augmentant toujours relativement au gains de productivité ; de 1985 à 1995, pour diverses raisons dont la concurrence accrue sur tous les segments du marché des produits à base de circuits intégrés (informatique, hi-fi, téléphonie…), les deux courbes convergèrent progressivement pour en arriver, depuis 1995, à se croiser, les coûts augmentant plus vite que les marges. Il est amusant (ou logique ?) de voir que le délire boursier et financier sur « la Nouvelle Économie » s'est produit au moment même où les industries et service à la base de cette “Nouvelle Économie”, après avoir vécu leurs « trente glorieuses », étaient en voie d'essoufflement.


M'intéresse le plus ici de voir que, contre le sens, tant de personnes affirment que la “loi de Moore” fut vérifiée entre 1965 et 2001 : c'est qu'elles n'en retiennent que la première partie (si on ne tient pas compte de ce que ce doive être à surface égale), posant que le nombre de transistors par circuit intégré double tous les (x) mois — quelque valeur que l'on retienne. Mais la « vraie loi » est quand même :

« La complexité pour un coût minimum par composant [progresse] à un taux d'en gros un facteur de deux par année ».

Or, depuis une quinzaine d'années, ça n'est plus vrai : les industriels ne parviennent plus à faire progresser ni même à maintenir leur marge par rapport au coût minimum par composant, quel que soit son niveau de complexité. Vous connaissez le “principe de Peter” ? Le voici :

« Dans une hiérarchie, tout employé a tendance à s’élever à son niveau d’incompétence ».

Et la “loi de Murphy” ? La voici :

« Si quelque chose peut mal tourner, alors ça tournera mal » (« If it can go wrong, it will »).

On comprendra le rapport de la “loi de Murphy” avec mon propos : une industrie à succès est l'objet type destiné à mal tourner. On trouve des circuits intégrés dans à-peu-près tout objet comportant une partie électrique nécessitant un contrôle ou un réglage, de la montre-bracelet et la machine à café jusqu'au porte-avion ou au système de circulation d'une ville. Si un petit segment de cette industrie, surtout les processeurs centraux des ordinateurs et les systèmes inclus dans du matériel militaire ou ceux des installations industrielles sensibles, ont encore un rapport coût / bénéfice intéressant (et encore : dans l'industrie, où l'on est plus sensible à la question du rapport coût / performance, on utilise souvent des générations de processeurs réputés obsolètes, au rendement financier peu évident), la majorité d'entre eux vaut à peine plus que le prix où on les vend (une montre, pile incluse, peut se négocier moins de deux euros, une calculette se trouve pour trois ou quatre euros), ergo, le marché des circuits intégrés est d'un rendement financier pratiquement nul quand il ne devient pas négatif. Je ne sais si ce phénomène a un nom, mais il correspond pour la valeur d'échange à l'obsolescence pour la valeur d'usage : de même qu'un objet obsolète vaut moins pour son usage que sa valeur effective, qu'il est « dépassé », le circuit intégré, pour sa valeur d'échange, tend de plus en plus à valoir moins que ce qu'il coûte à produire. Malheureusement, il y a un petit problème : pour fonctionner dans son état actuel, la société a besoin qu'on continue à les produire. Toute chose peut mal tourner, donc, toute chose tourne mal. Et c'est là qu'intervient le “principe de Peter”, mais à un niveau supra-individuel.

Il y a quelques temps, une cinquantaine d'années ou peut-être un peu plus, le groupe qui dirige la société (je parle de cette société globale que forme l'humanité depuis à-peu-près la moitié du XIX° siècle) a atteint son niveau d'incompétence. Ça n'a rien à voir avec les individus, le problème est structurel : les pays actuellement les plus développés, soit ceux d'Europe atlantique et méditerranéenne plus quelques pays d'Europe centrale et orientale, et la majorité des anciennes colonies britanniques d'Amérique et d'Océanie, et sauf le Japon, rattaché tardivement à cet ensemble, donc ces pays se sont engagés dans une certaine voie il y a quelques siècles — entre le XII° siècle pour les premiers et le XVIII° pour les derniers. Comme pour nos circuits intégrés, ça a démarré lentement pour s'accélérer toujours plus et avoir un rendement croissant. Il y a un problème : les sociétés n'ont qu'un temps. Un temps assez long, certes, mais fatalement, la réussite même d'une société induit sa fin : une civilisation qui “réussit”, du fait qu'elle réussit se condamne à disparaître, elle a achevé son cycle, mené à bien le projet implicite ou explicite à l'œuvre depuis ses débuts. Quand un projet est réalisé, la logique commande que l'on change de projet. Malheureusement, une société pas plus qu'un individu n'apprécie de devoir abandonner son projet. Et comme un individu elles tentera de le continuer au-delà de sa péremption. Atteindre son niveau d'incompétence, c'est ça : continuer d'appliquer, à un niveau où elle ne fonctionne plus, une méthode qui a fait ses preuves aux niveaux précédents.

Concernant spécifiquement les circuits intégrés, et plus spécifiquement encore parmi eux les microprocesseurs, ils subissent le même sort que les autres produits industriels : leur réussite est avérée, ce qui a comme “effet pervers” (vu du côté du fabricant) qu'ils n'ont plus la valeur d'échange qu'ils avaient il y a encore quinze ou vingt ans ; pour se prémunir de l'obsolescence de leurs produits les fabricants s'épuisent à les « améliorer », mais si un nombre suffisant de personnes s'aperçoit que « le simple fait de pouvoir fabriquer des processeurs qui vont de plus en plus vite n'implique pas forcément de devoir le faire » — ce dont peuvent s'apercevoir les utilisateurs de systèmes d'exploitation sachant gérer la programmation parallèle (la gestion de machines comportant plusieurs processeurs) ou multitâches (qui optimisent la gestion des ressources pour les diverses tâches en cours d'exécution), tels que les systèmes de type UNIX — ; si l'on considère par exemple un processeur comme le Pentium IV, c'est en gros l'équivalent de quatre processeur Pentium II mis ensemble (avec 40% de transistors en plus à surface égale — et non 200% comme le veut la loi de Moore), plus la reprise et l'amélioration de techniques développées pour le Pentium III (qui ne sont pas des techniques nouvelles, d'ailleurs, des puces concurrentes comme les PowerPC et autres Sparc ou Mips les exploitaient déjà) sur un support permettant de faire avec un seul composant ce qu'on ne pouvait faire auparavant qu'avec quatre — disons, c'est l'inclusion sur un seul support de quatre processeurs de type Pentium II améliorés.


La question valide pour le doublement utile est la suivante : le gain global en performance est-il corrélé à la progression du nombre de transistors, à leur intégration, à la fréquence, à deux de ces données, aux trois ? On peut mettre de côté le nombre de transistors : entre le Pentium II et le Pentium III le nombre de transistors a plus que triplé, or les tests à fréquence égale montrent une différence en matière de calcul de moins de 50% en faveur du Pentium III ; ça dépend bien de la fréquence, mais la fréquence des processeurs ne suit pas la “loi de Moore” et progresse tantôt plus vite, tantôt moins vite que selon la loi (celle habituelle de 18 mois), et sur le long terme — 1974 à 2000 — tend à être très en-dessous, la projection pour 2000 étant 330Ghz, la réalité, ± 2Ghz, soit dans la projection la valeur pour 1989 — Mais rappelons que Moore n'a jamais prétendu que sa “loi” s'appliquerait à la fréquence — ; Même en partant du Pentium original de 1993 à 60Mhz, si en 2000 on a bien environ 1.5Ghz, pour 2003 on assiste déjà à un affaissement de la tendance, et on retrouve le même type de courbes qu'avec les situations précédentes, avec au début des valeurs sous la projection, puis des valeurs au-dessus, pour finir par un décroissance — bref, la progression n'est pas logarithmique mais sinusoïdale, ou un truc du genre (je ne suis pas trop matheux). L'intégration est une donnée importante pour la performance tant qu'on exécute des instructions linéaires (non dépendantes les unes des autres), simples et ne requérant pas d'accès à des éléments externes au processeur (mémoire, écran), or, le cas général des instructions ne tombe pas dans cette catégorie ; en fait, le cas général est l'exact contraire…

Lisant d'autres textes où je parle d'informatique, vous savez déjà que ma comparaison favorite est l'automobile ; sans parler d'une progression exponentielle, si les moteurs connaissaient chaque année une progression linéaire, partant d'un moteur de 5cv en 1965, on en aurait un de 200cv en 2004 ; serait-il 40 fois “plus puissant” ? Bien sûr que non ; on aurait une courbe décroissante : durant les premières années, de 1965 à 1971 ou 1972 environ, la courbe de progression réelle suivrait à-peu-près celle de la puissance nominale et, lentement d'abord puis de plus en plus vite, le rapport de gain entre puissances réelle et nominale décroîtrait, « toutes choses égales par ailleurs ». Les choses étant rarement « égales par ailleurs », la courbe décroissante serait moins marquée qu'on peut le prévoir tenant compte du seul moteur : la voiture serait plus légère à puissance égale, on améliorerait la résistance et la fluidité des systèmes de roulements, on diminuerait l'adhérence des pneus, etc. Cela dit, si une automobile de 5cv roule à une vitesse de pointe de, disons, 15 km/h, on imagine bien qu'une automobile “40 fois plus puissante” ne roulera pas à 600 km/h, ni même à 300 km/h…

Il y a cette autre question : une automobile, en général, ne roule pas sur un circuit de course où elle peut démontrer tout son potentiel. Même si la courbe d'évolution de la performance des processeurs suivait le pronostic moorien, ils sont insérés dans un objet qui ne suit peut-être pas la même évolution : de 1993 à 2003, leur cadence a connu une progression de 1 à 40, mais dans le même temps les échanges entre processeur et autres composants ont progressé, selon les cas, d'un facteur de 1 à 4 jusqu'à 1 à 8 ; dans la même période, le principe ironiquement dénommé “Loi de Gates” (en rapport au fait que les logiciels de la société Microsoft sont réputés pour leur gourmandise exponentielle en ressources machines), qui s'énonce « La vitesse d'exécution des logiciels est divisée par deux tous les dix-huit mois. Heureusement, la loi de Moore compense », si elle ne se vérifie pas, est du moins proche de la vérité. C'est plus large que la seule inflation en taille des logiciels (en 1992, on installait MS-DOS 6 plus MS-Windows 3.1 avec 11 disquettes de 720Ko ; la version [19]98 de MS-Windows requérait déjà plus de quarante de disquettes 1.44Mo ; pour la version XP de MS-Windows, la chose n'est plus envisageable : le répertoire d'installation contient l'équivalent de 250 disquettes 1.44Mo) ; il y a aussi les images, par exemple : en 1992, un écran de base affichait au maximum 640x480 points en 256 couleurs, soit 307Ko ; en 2003, un écran de base affiche en général 1024x768 points en mode dit 32bits, soit 3.146Ko, d'où l'on peut inférer que si l'affichage nominal est 200 fois plus rapide, mais l'image 10 fois plus grosse, l'affichage ne sera que 20 fois plus rapide. Et le reste à l'avenant (par exemple quand un fichier HTML produit par mon brave HTMLEdit™ fera dans les 10ko, le même créé avec MS-Word™ fera plus de 30ko). Un ordinateur ne roule généralement pas sur un circuit où il donnera toute sa puissance, mais en ville, où il n'ira guère plus vite qu'un scooter, voire qu'un vélo.

Conclusion, plutôt que se faire les propagandistes d'une “loi de Moore” qui n'a jamais existé (celle du doublement de « la puissance », quoi que ça puisse être), les gens qui en parlent devraient à mon avis réfléchir à ce qu'est cette pulsion à vouloir rouler en Ferrari, voire en dragster, sur des routes où la vitesse autorisée varie de 30 à 130 km/h…


[1] Finalement, j'ai vérifié. Contrairement à ce que je pensais, il ne s'agit pas de la publication en ligne de la révision de 1975, mais d'une déclaration récente. Cette page vaut à plus d'un titre. D'abord, parce qu'on y pratique le même soviétisme qu'ailleurs, ses auteurs écrivant sans vergogne que « la loi de Moore, le doublement des transistors tous les deux ans, s'est maintenue, et reste toujours vraie aujourd'hui » (« Moore's Law, the doubling of transistors every couple of years, has been maintained, and still holds true today »), alors qu'une consultation de « the original paper » auquel renvoie la page permet de vérifier que l'hypothèse de Moore était, doublement chaque année (les auteurs semblent compter sur le fait prévisible que la plupart des gens n'iront pas voir l'article original, puis, ils se protègent — langue de bois toujours — en écrivant : « Moore observed an exponential growth in the number of transistors per integrated circuit and predicted that this trend would continue » [« Moore observa une progression exponentielle du nombre de transitor par circuit intégré et prédisit que cette tendance continuerait »], une formule évitant prudemment de rappeler quelle progression fut prédite) ; autre chose intéressante, ils nous mettent à disposition un autre texte prédictif que celui de Moore, et disponible ici au format PDF (si je peux je le HTMLise et le traduis), intitulé « Microprocessors circa 2000 », et ce texte fait quelque peu rire, moins de quinze ans après. Imaginez que ses quatre auteurs y font des prédictions à horizon d'à peine une décennie… et qu'aucune ne se vérifie. Autre chose amusante : après avoir affirmé que « la loi de Moore […] s'est maintenue et reste toujours vraie aujourd'hui » les auteurs de notre page nous produisent un joli graphique sur la période 1971-2000, où une jolie ligne transversale est censée je présume illustrer la “confirmation de la loi” ; en-dessous, on a le nombre effectif de transistors par modèle et par année, et si l'on compare, partant de l'année de publication de « Circa 2000 », ces valeurs réelles et celles de la “loi” version 18 mois, on obtient 190 millions, version 24 mois, 95 millions de transistors pour 2000, à comparer aux 42 millions effectifs. Pour le reste, je vous renvoie à l'article « Circa », fort intéressant pour montrer comment quatre personnes a priori compétentes se réunissant pour produire une prospective à court terme peuvent se tromper de beaucoup, tant vers le haut (en prévoyant plus de 50 millions de transistors) que vers le bas (en escomptant une fréquence d'environ 250Mhz), ou pour les caractéristiques des machines futures (ils prévoient la généralisation des multiprocesseurs). Remarquez, ça n'est pas totalement faux, vue la manière dont les processeurs actuels fonctionnent, on peut considérer que ce qu'en 2003 on considère être UN processeur est la combinaison de deux à quatre processeurs dans une “puce”, et que ce qu'on désigne “puce” n'a plus rien à voir avec ce qui portait ce nom en 1989.

[2] Tout change : depuis la rédaction de cette page le site d'Intel a évolué, et le lien est http://www.intel.com/technology/mooreslaw/index.htm désormais.