Le PC a 30 ans : évolution technique

Original IBM PC de 1981
L'IBM PC original

Introduit le 12 août 1981 en réaction à l'Apple II sorti quatre ans plus tôt, l'IBM PC (que l'on n'appelle pas encore Compatible PC) est construit autour d'un microprocesseur d'architecture x86 : le Intel 8088 cadencé à 4,77 MHz, lui-même accompagné d'une mémoire vive de 16 ko.

Il pouvait disposer, selon les modèles, d'un ou deux lecteurs de disquettes 5 pouces 1/4 d'une capacité allant de 160 à 512 ko (en double face et double densité) et comportait 5 ports ISA 8 bits pour des cartes d'extension (carte d'extension mémoire, carte vidéo) ainsi qu'un port parallèle pour brancher une imprimante (mais rien pour brancher une clé USB ;-)

À cela s'ajoutent les périphériques d'entrée/sortie habituels (à l'exception notable de la souris qui viendra plus tard, avec les interfaces graphiques) : clavier doté de 88 touches, écran CRT.

Deux modes d''affichage sont proposés :

  • Texte, monochrome : 25 lignes de 80 caractères,
  • Graphique, "CGA" : 320x200 en 4 couleurs ou 640x200 en 2 couleurs.

Il faudra attendre son successeur deux ans plus tard, le PC/XT, pour bénéficier d'un disque dur (de 10 Mo), technologie inventée par IBM 25 ans plus tôt. Avec ce modèle, le clavier sera étendu à 102 touches.

L'architecture de l'IBM PC étant ouverte, toute une industrie de fabrication de composants et d'assembleurs a pu se développer sur cette base, notamment à Taiwan, et l'on parle volontiers de « PC taiwainais » pour désigner les clones qui fleurissent sur les étals.

Les deux acteurs qui tirèrent le plus avantage de cette situation furent Intel, et Microsoft qui fournissait le système d'exploitation des premiers PC d'IBM. Ces deux acteurs finirent d'ailleurs par reprendre le standard à leur compte : dorénavant ils fixeraient ensemble le cahier des charges de ce que devrait être un PC.

Finalement IBM abandonnera l'industrie de fabrication des PC en 2005, soit 24 ans après le lancement du premier PC.

Évolution technique

L'évolution technique du PC est celle de ses composants. Commençons avec le processeur central (j'expédierai brièvement les autres composants à la suite, je m'en excuse par avance).

Le processeur central

Caractéristiques principales

Le processeur central est un microprocesseur. Celui-ci, inventé par Intel dix ans plus tôt, regroupe en un seul composant (appelé circuit intégré) plusieurs parties. Schématiquement citons l'unité de calculs proprement dite d'une part, et l’unité de contrôle (qui envoie les instructions à traiter à l'unité de calculs) et les registres d'autre part.

Le microprocesseur de l'IBM PC est un microprocesseur synchrone, c'est à dire qu'il est cadencé par une horloge. Bien qu'ils nous soient moins familiers et que le concept puisse du coup nous paraître obscur, il existe hors du monde PC des microprocesseurs asynchrones (par exemple certains de la famille ARM que l'on retrouve dans les périphériques mobiles : l'absence d'horloge les rend très économes lorsqu'ils ne sont pas sollicités).

Enfin, le microprocesseur de l'IBM PC est conçu pour exécuter un jeu d'instructions spécifique nommé x86.

Ces trois caractéristiques essentielles resteront inchangées avec les modèles suivants, et encore aujourd'hui.

À noter que, depuis qu'Apple s'est tourné vers les processeurs x86 en 2005 pour ses machines de bureau (après le 68000 de Motorola et PowerPC d'IBM, Apple et Motorola), quasiment tous les micro-ordinateurs produits à travers le monde utilisent la même famille d'instructions (alors que, dans le monde des consoles de jeux, le PowerPC règne en maître puisqu'il équipe à la fois la Nintendo Wii, la Xbox 360 et la PlayStation 3).

Un concurrent issu de la mobilité pourrait toutefois menacer prochainement l'architecture x86 sur les machines de bureau et les serveurs : les puces conçues par ARM et produites sous licence par différents fabricants (lire ici et ).

Raffinements

Le 8088 est suivi par les 80286, 80386 et 80486 (ou 286, 386 et 486). Le 486 est le dernier processeur qu'Intel accepte de licencier à d'autres fabricants. Dorénavant AMD et Intel se partageront l'essentiel du marché des processeurs x86, chacun déclinant ses propres architectures.

Pour être justes, signalons qu'IBM (avec notamment son POWER4) et Digital (avec ses versions successives du DEC Alpha) ont été à l'origine de beaucoup d'innovations dans ce domaine, dont beaucoup des perfectionnements qui vont suivre.

ALU vs FPU
Les premiers microprocesseurs comprenaient une unité de calculs en nombres entiers (ou ALU). Les calculs liés au multimédia et à la 3D s'effectuant principalement sur des nombres flottants, une unité de calculs en nombres flottants a été ajoutée au 486 (dans sa version DX sortie en 1989). On parlait alors de coprocesseur arithmétique. Aujourd'hui c'est l'acronyme FPU qui est le plus souvent utilisé.
Le Pentium (P5) et Pentium II (P6) se distinguaient par leur FPU très performante qui leur donnait l'avantage dans les jeux sur les processeurs concurrents d'AMD : les K5 et K6. La réputation d'AMD auprès des joueurs en pâtit durablement alors même que, par la suite, la FPU de l'Athlon (K7) s'avérera plus performante que celle des processeurs Intel de même génération.

Vitesse interne décuplée
L'Intel 486 DX2 atteint la fréquence de 66 Mhz au prix d'une gymnastique qui se poursuivra par la suite : la cadence interne du processeur est décuplée.
Il faut savoir que le microprocesseur dialogue avec les autres composants via des bus système qui sont, comme lui, cadencés. Le FSB est le bus qui relie le microprocesseur au contrôleur mémoire déporté sur la carte mère, nommé Northbridge (le Northbridge étant épaulé par un Southbridge gérant les ports série et parallèle, PCI, ATA, USB, etc., tous deux formant le chipset de la carte mère). À partir du 486 DX2, la fréquence des microprocesseur sera déterminée en appliquant un coefficient multiplicateur à la fréquence du FSB (2 x 33 MHz en l'espèce). Idéalement il vaut mieux privilégier un microprocesseur doté d'un coefficient multiplicateur entier : il se synchronisera plus fréquemment avec le FSB.
À noter que, à l'issue d'une course acharnée, AMD sera le premier à lancer un microprocesseur x86 atteignant la barre symbolique du GHz (un Athlon (K7), lancé avec quelques jours d'avance sur son concurrent Pentium 3 (P6) !).

Superscalaire à la rescousse
Les premiers microprocesseurs ne savaient traiter qu'une instruction par cycle d'horloge. Pour améliorer les performances, d'autres unités de calculs ont été intégrées, permettant de traiter plusieurs instructions en même temps : on parle alors d'architecture superscalaire. Les microprocesseurs ont d'abord intégré plusieurs unités de calculs en nombres entiers (qui restent les plus utilisées) puis plusieurs unités de calculs en nombres flottants.
L'Intel Pentium (P5) est le premier processeur x86 superscalaire, suivi par l'AMD K5, chacun comportant 2 ALU. Par la suite l'Athlon (K7) a été le premier processeur x86 a offrir une FPU superscalaire (il embarquait 3 FPU). À noter que 3 ALU équipent l'AMD Athlon (K7), qui seront rejoints en cela par l'Intel Core 2 (P9).

Pas de pétrole mais des pipelines
L'architecture pipeline a été véritablement exploitée avec le 486 : elle consiste à découper les opérations à effectuer et à les charger sur une « chaîne de montage » afin d'utiliser au maximum et simultanément les capacités de traitement disponibles. Alors que que le 8088 ne commençait le traitement de l'instruction suivante que lorsqu'il avait terminé celle en cours, l'utilisation d'une structure pipeline va permettre le traitement de plusieurs instructions en même temps. Le pipeline peut être plus ou moins long.

L'avenir est déjà écrit
Une unité de prédiction est ajoutée pour permettre de charger le pipeline avec les instructions suivantes sans attendre le résultat d'une opération. Pour être efficace, ce mécanisme doit avoir un taux de réussite élevé. Car si la prédiction échoue, le pipeline doit être vidé et d'autres instructions doivent être chargées, ce qui occasionne une perte de temps proportionnelle à la longueur du pipeline.

Désordre organisé
L'architecture du microprocesseur de l'IBM PC original et de ses successeurs jusqu’au 486 inclus était de type CISC, c'est à dire qu'il est conçu pour manipuler des instructions évoluées, par opposition aux architectures RISC qui ne proposent qu'un jeu d'instruction réduit permettant de produire des puces plus simples et généralement plus efficaces. À partir du Pentium Pro (P6) (suivi par le K5 l'année suivante), les instructions CISC vont être découpées en micro-instructions permettant un traitement plus efficace. De sorte que si le processeur continue d'accepter de l'extérieur des instructions CISC x86 pour des raisons de compatibilité, en interne son fonctionnement se rapproche des microprocesseurs RISC.
Ce système est complété d'un mécanisme d'exécution dans le désordre de ces micro-instructions afin de remplir au mieux la « chaîne de montage ». Les résultats sont assemblés à la sortie de la chaîne.
À noter que l'Atom, microprocesseur x86 récemment conçu par Intel avec l'idée de réduire la consommation électrique, exécute (encore pour le moment) les instructions dans l'ordre.

Une machine à cache
De la mémoire cache est ajoutée avec le 486 pour stocker les données et instructions au plus près du microprocesseur afin d’accélérer les traitements (la mémoire cache étant beaucoup plus rapide que la mémoire vive, mais aussi beaucoup plus coûteuse). Avec le Pentium Pro (P6), de la mémoire cache de niveau 2 est ajoutée au sein même du microprocesseur pour des performances optimales. Plus tard le Pentium II (P6) externalisera le cache de niveau 2 sur une carte fille où il tournera à mi-vitesse afin de réduire les coûts, avant de réintégrer le microprocesseur avec les Pentium 3 Coppermine (P6).
Des unités de contrôle du cache vont être ajoutées au microprocesseur chargées de prédire les prochains accès à la mémoire centrale afin de précharger les données et instructions correspondantes en mémoire cache.

16, 32 et 64 bits
L'Intel 8088 de 1981 était un processeur 16 bits (que nous appellerons x86-16). Cinq ans plus tard, en 1986, l'Intel 80386 étrenne la première architecture 32 bits (dite IA-32, et que nous appellerons x86-32). Mais il faudra ensuite patienter dix-sept ans pour voir débarquer en 2003, avec l'AMD Athlon 64 (K8), la première architecture x86 64 bits (dite AMD64, et que nous appellerons x86-64), qui sera également proposée par Intel l'année suivante avec le Pentium 4 Prescott (P7 ou Netburst) (sous le nom EM64T puis Intel 64).
À noter que Linux est le premier OS à supporter l’architecture x86-64, et ce dès 2001 (avec la série 2.4 du noyau), soit avant même la disponibilité du matériel !

Multiplication des processus et des cœurs
Au début des années 2000, la course à la performance des processeurs par l'intermédiaire de la hausse régulière des fréquences atteint ses limites. Intel et AMD décident alors d'adopter une nouvelle stratégie basée sur la multiplication des cœurs avec respectivement le Pentium 4D (P7 ou Netburst) et l'Athlon 64 X2 (K8) (lequel sera le premier vrai bi-cœurs x86).
Le multithreading peut être vu comme une forme inachevée du multi-cœurs puisque plusieurs processus simultanés se partagent les mêmes ressources du microprocesseur (pipelines, caches et registres). Les deux technologies peuvent se cumuler.
Quoi qu'il en soit, les logiciels doivent être adaptés pour tirer profit de ces technologies voisines.

Hybridation
Dans une logique voisine, des cœurs graphiques ont récemment été ajoutés au sein du microprocesseur avec, côté Intel, les processeurs Clarkdale mais surtout Sandy Bridge où l'hybridation est réelle alors qu'il s'agissait plus d'une juxtaposition dans le premier cas et, côté AMD, la gamme des AMD Fusion permis par le rachat d'ATI par AMD en 2006.

Le Southbridge perd le nord
Les dernières évolutions témoignent d'une intégration de plus en plus poussée au niveau du microprocesseur, lequel se dote d'un contrôleur mémoire afin de réduire les latences du système. Ce rôle étant précédemment dévolu au Northbridge via le FSB, cette évolution se traduit par la disparition de ces deux derniers, et le chipset se réduit dorénavant au seul Southbridge c'est-à-dire un contrôleur d'entrées/sorties (ATA, USB, etc.). Le centre du PC se déplace donc du chipset vers le microprocesseur.
C'est AMD, avec l'Athlon 64 (architecture K8), qui amorce cette évolution en intégrant le contrôleur mémoire et en remplaçant le FSB par un dispositif de connections point à point (reliant le microprocesseur à la mémoire d'une part, et au Southbridge d'autre part) nommé HyperTransport. Intel suivra en proposant, avec les processeurs de génération Nehalem/Westmere, un dispositif similaire nommé QPI. Puis, à partir des déclinaisons Clarkdale du Westmere, le contrôleur PCI-Express est à son tour intégré au microprocesseur, et le QPI, à présent quelque peu surdimensionné, est remplacé par le DMI (notez que le Southbridge est rebaptisé ICH au passage).

Révolution vs évolution
Les processeurs actuellement produits par Intel sont des déclinaisons de l'architecture P6 inaugurée avec le Pentium Pro en 1995... Entre les deux, Intel a bien essayé de lancer une architecture révolutionnaire, nommée Netburst (P7), mais celle-ci s'est révélée suboptimale (en témoignent les errements du Pentium 4 qui culminèrent avec le modèle Prescott qui fut vite rebaptisé PresHot : son faible rendement était compensé par une fréquence élevée qui n'allait pas sans poser des problèmes de refroidissement) et Intel dû revenir à l'architecture précédente (même si un certain nombre d'innovations du P7 se retrouvèrent dans les processeurs qui suivirent). Sans parler des architectures Itanium et Larrabee...
AMD qui, ces dernières années, a décliné son architecture K7 inaugurée en 1999 (avec un indéniable succès s'agissant des K7 Athlon, K8 Athlon 64 et Athlon 64 X2), est à son tour sur le point de lancer, avec la gamme AMD FX, une architecture révolutionnaire, nommée Bulldozer, mais dont les performances ne semblent pas non plus au rendez-vous... Verra t-on l'histoire se répéter ?
Peut-on reprocher dans ces circonstances à AMD et Intel d'avoir relativement peu innové ces quinze dernières années malgré une la concurrence acharnée à laquelle ils se livraient indéniablement ? Ces derniers mois Intel semble avoir pris l'avantage en proposant, à force d'optimisations, une architecture diablement efficace déclinée dans ses processeurs Sandy Bridge. Mais l'intégration du contrôleur mémoire et d'un circuit graphique sont sans doute les seules réelles innovations depuis l'ancêtre Pentium Pro.

Je suis convaincu que l'avance actuelle d'Intel est d'avantage due à sa grande maîtrise des procédés de fabrication plutôt qu'à l'architecture de ses puces finalement peu révolutionnaire (Intel garde la double casquette de concepteur et de fabricant alors qu'AMD sous-traite la fabrication depuis fin 2008). Les capacités de miniaturisation assez exceptionnelles du fondeur lui ont permis de proposer des processeurs toujours plus rapides et plus efficaces (hier en intégrant d'avantage de mémoire cache et demain en multipliant les cœurs, y compris graphiques). Notons également qu'Ivy Bridge, qui succédera à Sandy Bridge début 2012, inaugurera un nouveau procédé de fabrication à base de transistors 3D qu'Intel est le premier à industrialiser (lire ici et ).

Plus que jamais, le microprocesseur reste le produit manufacturé le plus complexe au monde.


Synthèse chronologique des principales innovations :

1981 - Intel 8088 : microprocesseur 16 bits CISC équipant les 1ers PC

1985 - Intel 386 : 1er microprocesseur x86 32 bits

1989 - Intel 486DX : exécution pipelinée, intégration de la mémoire cache et d'une FPU

1992 - Intel 486DX2 : fréquence interne doublée

1993 - Intel Pentium (P5) : 1er microprocesseur x86 superscalaire sur les nombres entiers

1995 - Intel Pentium Pro (P6) : 1er microprocesseur x86 à architecture interne RISC

Pentium Pro (P6) : architecture majeure pour Intel (1995)

AMD K5 : 1er microprocesseur compatible x86 conçu par AMD (1996)

1999 - AMD Athlon (K7) : 1er microprocesseur x86 superscalaire sur les nombres flottants

Athlon (K7) : architecture majeure pour AMD (1999)

2000 - AMD Athlon (K7) : fréquence symbolique d'1 GHz atteinte pour la 1ère fois

Pentium 4 « NetBurst » (P7) : architecture majeure pour Intel (2000)

2003 - AMD Athlon 64 (K8) : 1er microprocesseur x86 64 bits, ainsi qu'à intégrer le contrôleur mémoire

2005 - AMD Athlon 64 X2 : 1er microprocesseur x86 double cœur

Intel abandonne l'architecture Pentium 4 « NetBurst » (2006)

2011 - AMD Fusion et Intel Sandy Bridge intègrent un circuit graphique. Le 2nd intègre aussi un contrôleur PCI-Express

Bulldozer : architecture majeure pour AMD (2011)


Lire aussi :

Le processeur graphique

Celui-ci peut se trouver sur une carte fille ou à même la carte mère (il fait alors partie du chipset). Récemment les processeurs graphiques embarqués au sein du chipset ont été remplacés par des cœurs graphiques au sein même du processeur central (lire ci-dessus).

Les débuts : calcul du rendu de la scène.

L'accélération 3D est relativement récente. Partie de rien, elle s'est étoffée en prenant en charge petit à petit les différentes étapes du rendu.

Je me souviens (cf le précédent billet) que la Matrox Millenium dessinait les primitives et que la Matrox Mystique proposait en outre le placage de textures. Il s'agissait de cartes d'affichage gérant la 2D et la 3D.

Les cartes 3dfx Voodoo Graphics en 1996 et Voodoo 2 en 1998 étaient des cartes 3D pures à coupler à une carte d'affichage 2D. Les performances 3D firent un bond de géant et le public n'en crut pas ses yeux. Outre le placage de textures, le lissage de texture et la correction de perspectives étaient prise en charge. Le rendu était effectué sur 16 bits.

On revient ensuite aux cartes complètes 2D/3D : ATI propose alors les cartes Rage 128 GL puis Pro (1998) mais c'est surtout NVIDIA qui renverse le marché et étouffe la concurrence en sortant à un rythme effréné les Riva TNT (1998) et TNT2 (1999) puis la GeForce 256 la même année. Sans compter que toutes ces cartes supportent le rendu 3D sur 32 bits, un coup dur supplémentaire pour 3dfx qui ne s'en remettra pas.

La maturité : calcul de la géométrie de la scène.

Pour faire simple, les calculs nécessaires pour produire une animation 3D peuvent se scinder en deux groupes : les calculs de géométrie et les calculs de rendu.

La GeForce 256 est la première carte grand public à inclure un moteur de géométrie (le fameux T&L).

Depuis la GeForce 3 qui implémente les Pixels shaders 1.1, les processeurs graphiques disposent d'une unité de géométrie programmable.

Avec le Radeon R300 qui implémente les Pixels shaders 2.0, le calcul se fait sur des nombres flottants et plus seulement sur des nombres entiers.

Les processeurs graphiques qui étaient jusque là conçus pour exécuter certaines fonctions spécialisées propres au calcul 3D deviennent capables de calculs généralistes grâce à leurs unités programmables, et certains fabricant imaginent déjà le processeur central cantonné dans un rôle de simple chef d'orchestre. Sans aller jusque là, le processeur graphique gagne un rôle de coprocesseur programmable multi usages et massivement parallèle (on parle alors de GPGPU).

Lire aussi : Trousse de secours pour comprendre les Pixel shader 2.0 (JF Maquiné) partie 1 et partie 2.

Disparition du moteur 2D

Une autre évolution notable est la disparition dans les processeurs graphiques les plus récents du moteur 2D ! Dorénavant le moteur 3D est utilisé y compris pour le rendu 2D...

Les autres composants, en vrac

En 1994 arrive le bus PCI et ses promesses de plug and play, c'est à dire de configuration automatique (communication bilatérale, attribution automatique d'IRQ pour éviter les conflits matériels).

L'USB fait le ménage à l'arrière des PC (au revoir les port série RS-232, port parallèle, port PS/2, port joystick ou MIDI...) et la clé USB supplante avantageusement les disquettes, limitées en capacité et peu fiables comme support de stockage amovible.

La souris perd sa boule (gain de confort énorme !).

Les écrans LCD font de la place sur les bureaux et la taille des écrans augmente.

Les connexions filaires passent au haut débit et celles sans fil (WiFi) se généralisent.

Le prix du matériel chute dramatiquement (quand celui du système d'exploitation ultra-dominant Microsoft Windows, au mieux, stagne, de sorte que son poids relatif dans la facture d'un PC s'envole).

Une alternative au disque dur et ses temps d'accès colossaux à l'échelle des autres composants, apparaît enfin : le SSD.

Prochaine étape ?

1 commentaire

#1 mercredi 20 février 2013 @ 00:50 mika a dit :

Bonsoir,
30 ans seulement,
mais qui est le véritable précurseur de l'Ordinateur,
ne serait-il pas un soviétique,
un certain Sergei A. lebdetev, en 1950 ?

Oui je vous l'accorde ce premier faisait 72 m² et pesait plusieurs tonnes..

Écrire un commentaire

NB : en publiant votre commentaire, vous acceptez qu'il soit placé sous la licence CC BY-SA comme indiqué aux conditions d'utilisation du site

Quelle est la première lettre du mot tsvo ? :