Vous aurez peut-être du mal à comprendre cet article si vous n'avez pas lu les articles suivants:
Même si les ordinateurs ont à peu près toutes les mêmes fonctionnalités de base (ils se ressemblent tous en magasin), les différences de performance varient beaucoup, de la même manière que les performances varient d'une voiture à l'autre. Un PC exécute plusieurs applications en même temps, très souvent à des vitesses différentes, une bonne coordination est alors requise pour s'assurer qu'elles n'entrent pas en conflit.
Les problèmes de performance sont causés par des embouteillages résultants de l'utilisation de composantes qui ne sont pas nécessairement les meilleures pour une tâche précise, c'est le compromis entre la performance et le prix. Habituellement le prix le plus bas l'emporte et la performance écope.
Pour tirer le maximum d'un ordinateur, il faut s'arranger pour que toutes les composantes donnent le meilleur d'elles-mêmes, éliminant ainsi les embouteillages entre elles. Un embouteillage peut être crée facilement en utilisant un vieil équipement qui n'est pas destiné à fonctionner aux vitesses vertigineuses d'aujourd'hui: l'ordinateur est aussi rapide que la plus lente de ses composantes. Les embouteillages peuvent également être causés par des logiciels mal conçus.
L'horloge interne de l'ordinateur (ne confondez pas avec celle qui donne l'heure) détermine la vitesse à laquelle les instructions sont exécutées. C'est un signal électrique qui bascule constamment entre un haut et un bas voltage plusieurs millions de fois par seconde. L'horloge du système (System Clock, CLKIN) est la fréquence utilisée par le processeur; sur les cartes mères, c'est la moitié de la vitesse du cristal appelé également CLK2IN. Une puce d'horloge est utilisée pour synchroniser le signal dans l'ordinateur, le bus d'expansion, par exemple, tournera à une vitesse plus lente mais synchronisée avec celle du processeur.
En autant que la quincaillerie du PC soit concernée, le problème de l'an 2000 réside dans le RTC (Real Time Clock) et sa relation avec le pilote d'horloge interne DOS (CLOCK$), qui est en réalité un compteur et non pas une véritable horloge. Vous pouvez vérifier si votre ordinateur passera l'an 2000 en fixant la date juste avant minuit de l'an 1999 et en laissant l'ordinateur tourner pour voir ce qui se produit lorsqu'il atteint l'an 2000. Le DOS se charge du problème assez facilement. Cependant, si vous fermez l'ordinateur et redémarrez, vous pourriez obtenir une date dans les environs des années 1980 (ne vous connectez pas au réseau, car vous allez obtenir l'heure du serveur). La date 01/01/1980 est habituellement fixée si le contenu de votre CMOS est perdu et celle du 01/04/1980 si une date hors limite est rencontrée. La raison d'être de cette divergence est le résultat de l'interaction entre les deux horloges mentionnées auparavant. Le RTC est situé à l'intérieur de la puce CMOS qui conserve les paramètres du BIOS et qui est gardé en vie par une pile. Certains d'entre eux ne peuvent pas conserver le siècle actuel, alors un octet est utilisé dans le CMOS pour faire le travail. De plus, ils ont une tolérance fixée en usine de plus ou moins 2 secondes par mois.
Le pilote d'horloge du DOS (CLOCK$), d'autre part, n'interroge le RTC (via le BIOS) que lorsque l'ordinateur démarre, puis l'ignore totalement pendant tout le temps de fonctionnement du PC. La date obtenue est convertie en un nombre de jours depuis le 1er janvier 1980 et le nombre de secondes depuis minuit du jour courant. Ce dernier est conservé dans le compteur du BIOS, et lorsque le DOS a besoin de lire l'heure, le BIOS est appelé pour lire le compteur et le nombre de tics est reconverti en secondes. Si le compteur dépasse minuit, il est remis à zéro par le BIOS, et le demandeur est avisé que le jour a été avancé. La conséquence, c'est que si plus de 24 heures se sont écoulées entre les appels, il n'y a aucun moyen pour que le DOS sache le jour qu'il est. Voilà pourquoi il y a souvent une différence entre votre montre et l'heure de votre PC à la fin d'une journée. En résumé, puisque l'horloge répond lors d'interruptions, sa précision dépend de l'activité du système.
Tant que le DOS fonctionne entre 1980 et 2099, il peut dire que 00 équivaut à 2000, cependant il peut avoir des problèmes si le RTC lui remet une date de 1900, ou tout autre date non compatible. En pratique, le BIOS la convertie tout aussi bien; certains corrigeront l'heure automatiquement lors du démarrage, d'autres fourniront au DOS la date 2000 plutôt que la date 1900 codée dans la quincaillerie. Le meilleur moyen de corriger le problème de l'an 2000, c'est de changer votre carte mère.
C'est un gros circuit électronique sur lequel sont fixés le processeur central (CPU), le bus d'expansion, la mémoire et plusieurs puces spécialisées de support; comme ceux contrôlant le clavier par exemple. Le processeur fait tout le travail, les instructions contenues dans la mémoire lui dictent quoi faire. Des circuits électroniques supplémentaires appelés cartes d'expansion sont placés dans les fentes du bus d'expansion, ainsi les fonctionnalités de base de l'ordinateur peuvent être facilement étendues (par exemple, vous pouvez y ajouter une carte de son ou un modem).
Un coprocesseur peut être placé près du processeur central, permettant de travailler avec les nombres réels. Cependant certains processeurs modernes renferment eux-mêmes le coprocesseur mathématique (les deux sur la même puce).
La puce qui fut le cerveau du PC original d'IBM s'appelait le 8088 et était fabriquée par Intel. A l'époque où Intel produisait son 8088 les microprocesseurs étaient classés selon leur bus externe. Intel classifiait officiellement son 8088 comme un microprocesseur 8 bits HMOS. Même si à l'interne le processeur 8088 travaillait en 16 bits, il communiquait avec son bus extérieur et avec la mémoire 8 bits à la fois, cela permettait de diminuer le coût du processeur et d'être compatible avec les puces externes spécialisées de support. Lorsque le processeur désirait envoyer deux caractères à l'écran, il devait les envoyer un à la fois plutôt qu'ensemble, un temps d'arrêt était nécessaire chaque fois qu'un caractère était envoyé à l'écran.
De plus ce processeur ne pouvait pas accéder à plus de 1MB de mémoire à la fois.
Le 80286 fut introduit en réponse à la compétition des manufacturiers qui clonaient le PC d'IBM. Les connections entre les différentes composantes de la carte mère s'établissent sur un bus d'une largeur de 16 bits, multipliant ainsi l'efficacité par 4. Ce processeur peut accéder jusqu'à 16Mb de mémoire à la fois, cependant le système d'exploitation DOS n'a pas accès à autant de mémoire, car celle-ci doit être lue dans le mode protégé du processeur. Le DOS fonctionne dans le mode réel du processeur, il n'a accès ainsi qu'à 1Mb de mémoire, tout comme le 8088. Ainsi un Pentium sur lequel fonctionne le DOS n'est qu'un XT d'IBM ultra rapide. Tout comme le 8088, le processeur 80286 est limité à 1Mb de mémoire lorsqu'il est utilisé en mode réel. Le processeur 80286 doit être utilisé en mode protégé pour accéder à la mémoire au-delà de 1Mb, appelé mémoire étendu. Sur un ordinateur équipé d'un 80286, le gestionnaire de mémoire étendue du DOS (himem.sys) utilise une interruption du BIOS pour les déplacements de données dans la mémoire étendue; cette interruption du BIOS permet de basculer entre le mode réel et le mode protégé du processeur.
Compaq fut la première compagnie à utiliser le 80386 dans ses ordinateurs. Ce processeur utilise 32 bits pour communiquer avec la mémoire, mais n'utilise que 16 bits sur le bus de données, qui n'a pas vraiment été développé en concordance avec le reste de l'ordinateur, dans le but d'assurer une compatibilité avec les anciennes composantes et pour permettre l'utilisation d'un processeur et des mémoires très rapides sur un bus lent de 8MHz. Le 386 peut exécuter plusieurs programmes en mode réel, c'est à dire créer plusieurs processeurs 8088 virtuels. Ce processeur utilise une mémoire paginée et peut basculer entre le mode réel et le mode protégé plus élégamment que le 80286.
Ce processeur fonctionne en 32 bits à l'interne et en 16 bits à l'externe (bus de données et mémoire) augmentant les embouteillages. C'est une version réduite du 80386 créée pour diminuer les coûts et donner l'impression que le 80286 était devenu désuet, car à cette époque plusieurs manufacturiers fabriquaient le 80286 sous licence. Même si le processeur était en mesure d'exécuter des logiciels conçus spécifiquement pour le 80386, il apparaissait comme un 80286 pour l'ordinateur hôte, ce qui a permis aux cartes mères destinées spécifiquement au processeur 80286 d'utiliser le processeur 80386SX. A la même vitesse, le 80386SX est 25 pour-cent plus lent qu'un 80386.
Pour le commun des mortels, le 80486 est un 80386 rapide possédant un coprocesseur mathématique et une mémoire cache de 8K. Ce n'est pas vraiment une nouvelle technologie, cependant les fonctionnalités du processeur sont utilisées plus efficacement. Par exemple, des opérations identiques peuvent être faites en moins de temps, et il est optimisé pour faire le plus d'opérations possible à l'intérieur du processeur.
Ce processeur est identique au 80486, mais sans le coprocesseur mathématique; il n'y a presque pas de différences entre lui et un 80386. Un 80386 roulant à 40 MHz est à peu près l'équivalent d'un 80486SX roulant à 25 MHz.
Les puces DX2 roulent au double de la vitesse originale, cependant le bus de la carte mère demeure à la même vitesse. Malheureusement les cartes mères rapides sont très coûteuses car elles doivent être conçues pour empêcher l'émission d'ondes radio (RF). Les performances de ces processeurs dépendent largement du nombre d'accès résolu par la cache du processeur, plutôt que par les délais d'attente occasionnés par les autres composantes de l'ordinateur. Si le processeur ne trouve pas ce dont il a besoin dans sa cache, il devra aller chercher l'information à l'extérieure (du processeur) et tout le système ralentira selon la vitesse de la composante la plus lente utilisée pour trouver l'information. Les performances sont cependant excellentes car le taux de succès dans la recherche d'informations dans la cache atteint 90%. Le DX4 a une cache encore plus grande (16K) pour satisfaire l'accroissement en vitesse.
C'est essentiellement deux processeurs 80486 fonctionnant en parallèle (plus précisément un 80486SX et un 80486), ce processeur exécute encore plus d'instructions en même temps, presque toujours deux à la fois. Le logiciel doit cependant être conçu pour prendre avantage de ces caractéristiques spéciales du Pentium. Il possède deux caches de 8K, une cache pour les données et une pour les instructions. Il possède un bus interne d'une largeur de 64 bits.
C'est un processeur construit selon la technologie RISC (Reduced Instruction Set Computer) qui possède un émulateur de processeur 80486, car ce dernier et ses prédécesseurs sont construits selon la technologie CISC (Complex Instruction Set Computer). Plusieurs techniques sont utilisées pour que le processeur ait une performance beaucoup plus grande que ses prédécesseurs. Il possède une cache de 8K pour les données et une cache de 8K pour les instructions, de plus il est utilisé en coopération avec une cache L2 externe de 256K. Ce processeur a été optimisé pour exécuter des programmes 32 bits, les programmes 16 bits s'exécutent à la même vitesse que sur un Pentium.
Le 6x86 est une puce de type Pentium possédant les caractéristiques du Pentium Pro, puisqu'il est en mesure d'exécuter rapidement des instructions hors séquence. Il utilise un P-Rating pour déterminer la performance relative face au Pentium, ainsi un 6x86-166 est équivalent au Pentium 166 même s'il est cadencé à 133 MHz.
En principe, le meilleur processeur est celui qui est le plus rapide, mais uniquement si vos applications réalisent beaucoup de calculs et d'opérations logiques (localisant le travail au niveau du processeur) plutôt que d'écrire constamment sur le disque. Par exemple, lors d'une utilisation typique d'un traitement de texte, le remplacement d'un processeur 80386 de 16MHz pour un 32 MHz (le double de la vitesse) ne vous donnera qu'un gain réel en performance 5 à 10%. L'achat d'un disque rigide plus rapide est souvent la meilleure solution.
Avec 8Mb de mémoire dans votre ordinateur, il n'y aura pas de gain en performance si vous passez d'un 80486DX2 vers un DX4 ou un Pentium 75Mhz, il vous faudra changer pour un Pentium 90 Mhz pour voir une différence. Tout simplement parce que Windows 95 (ou Windows 3.11) utilise beaucoup le disque rigide comme mémoire virtuelle, ce qui signifie beaucoup d'activités sur le bus de données. Puisque les cartes mères avec un Pentium 90 MHz ont un bus roulant à 33MHz, l'embouteillage est créé par le disque rigide dont l'accès se fait à la vitesse de 33MHz et non pas à la vitesse du processeur de 90 MHz. Une carte mère avec un bus de 66MHz offrira un gain en performance deux fois plus élevée qu'avec une carte mère et un bus de 33MHz.
Avec 16MB de mémoire, par contre, la performance doublera peu importe le processeur, parce que le disque rigide sera beaucoup moins sollicité pour gérer la mémoire virtuelle. Le plus gros gain est obtenu en passant du 80486DX2 au DX4, ce gain diminue progressivement jusqu'au Pentium 90MHz.