Comprendre la mémoire cache
par Jean-François Maquiné

 

La mémoire cache ou mémoire tampon est devenue en quelques années le compagnon indispensable des microprocesseurs ou disques durs. Quand je dis indispensable c´est un euphémisme, elle peut carrément transformer un processeur en fin de carrière en un jeune premier fringant (ex : le Pentium Katmai transformé en Coppermine).

Mais voilà, il n´existe pas une seule mémoire cache, mais plusieurs qui se différencient par leur architecture, leur taille ou encore leur vitesse de fonctionnement. C´est pour vous aider à faire un peu mieux la part des choses que nous allons voir ces différents aspects.

C´est quoi la mémoire cache ?

La mémoire cache a pour fonction d´accélérer les communications entre un microprocesseur (Pentium, Athlon, ...) et un composant servant à stocker les données (RAM, disque dur).

Attention, la mémoire cache n´accélère pas la vitesse de la RAM ou du disque dur, c´est plus subtil et l´article va vous éclaircir tout ça.

Pourquoi a-t-on besoin de mémoire cache ?

Un microprocesseur a besoin d´informations pour exécuter ses instructions. Celles-ci sont situées dans une unité de stockage. Or les microprocesseurs sont devenus si performants qu´aucune unité de stockage n´est capable de fournir autant d´informations que le microprocesseur peut en traiter. La mémoire cache permet en partie de palier à cette insuffisance.

Comment ça marche ?

Lorsque le microprocesseur a besoin d´une donnée, il regarde si elle est disponible dans la mémoire cache, si ce n´est pas le cas, il va la chercher dans l´unité de stockage et en même temps la dépose dans la mémoire cache. Ainsi la prochaine fois qu´il aura besoin de cette information, il y accédera directement par la mémoire cache et donc plus rapidement.

Quel composant ce sert de mémoire cache ?

Toute unité de stockage peut servir de mémoire cache. Il suffit juste qu´elle soit plus rapide que l´unité de stockage principale. Voici trois exemples :

1 - Microprocesseur -> mémoire cache -> RAM
2 - Microprocesseur -> mémoire cache -> Disque dur
3 - Microprocesseur -> mémoire cache -> Internet

Dans le premier exemple, la mémoire cache sera une mémoire RAM ultra rapide (intégrée au microprocesseur ou mémoire SRAM par exemple), dans le second exemple, de la mémoire RAM traditionnelle fera très bien l´affaire, dans le troisième cas, c´est votre disque dur qui fera office de mémoire cache.

Pourquoi ça marche ?

Les capacités de stockage de la mémoire cache peuvent être 100 fois (ou plus) plus petites que celles de l´unité de stockage principale. On ne peut donc pas tout mettre en mémoire cache.

Question : Alors comment ce fait-il que cela permette d´accélérer les communications entre la mémoire principale et le microprocesseur et donc la vitesse de traitement du microprocesseur.

Réponse : Un microprocesseur exécute un programme fonction par fonction. Chacune de ces fonctions correspond à une ou deux tâches, rarement plus. Or en général chacune de ces tâches n´utilise qu´une petite quantité de données qui peut être contenue en grande partie en mémoire cache.

Question : Mais quand le microprocesseur a besoin d´une nouvelle donnée, elle ne se trouve pas en mémoire cache, il faut bien aller la chercher dans l´unité de stockage et cela prend le même temps avec ou sans mémoire cache.

Réponse : C´est vrai, mais l´intérêt même de l´informatique c´est d´être capable d´exécuter des tâches répétitives, c´est d´ailleurs à ça qu´un microprocesseur passe le plus clair de son temps. C´est donc lorsqu´il voudra accéder une deuxième, troisième, ... fois que le traitement sera accéléré.

Mémoire cache en cascade

Je vous ai dit plus haut qu´une mémoire cache est une unité de stockage plus petite mais plus rapide qui s´interpose entre le microprocesseur et l´unité de stockage. Rien ne nous empêche de répéter cette opération et d´ajouter une autre mémoire cache, même une troisième, etc ... On parle dans ce cas de niveaux de cache.

On peut associer actuellement jusqu´à trois niveaux de cache (L1, L2, L3) entre un microprocesseur et la mémoire RAM. C´est souvent le cas des serveurs haut de gamme. Pour les microprocesseurs équipant les PC ou Apple, on en compte généralement deux. Voyons chacun de ces niveaux de cache en détail.

Remarque :
Le L de L1, L2, L3 vient de l´abréviation anglaise Level qui signifie niveau.

Cache de niveau 1 (ou cache L1) :
Ce cache a été l´un des premiers à être mis en oeuvre et a plusieurs particularités. D´une part, il est intégré au microprocesseur et sa taille est essentiellement fonction de l´architecture du microprocesseur. AMD a toujours privilégié des caches L1 de grande taille, 64 Ko pour le K6 et 128 Ko pour l´Athlon, tandis qu´Intel privilégie des caches L1 de petite taille, 32 Ko pour les Pentium II/III. D´autre part, il est scindé en deux parties de taille égale. L´une stocke les instructions des programmes, l´autre les données des programmes. Les autres caches ne font pas cette distinction.

Cache de niveau 2 (ou cache L2) :
Cette mémoire cache sert d´intermédiaire entre le cache L1 et la mémoire RAM. Il ne différencie pas données et programmes, il est moins rapide que le cache L1, mais sa taille est plus importante de 256 Ko à 2 Mo, voire plus pour les années à venir.

Ce cache a subit de nombreuses évolutions, et se retrouve aujourd´hui intégré dans le microprocesseur. Toutefois s´il est intégré, il n´est pas imbriqué comme le cache L1. Cela veut dire que changer la taille du cache L1 implique souvent une modification de l´architecture du processeur, ce n´est pas le cas du cache L2. Ceci permet de proposer des microprocesseurs disposant de différentes tailles de cache L2.

Cache de niveau 3 (ou cache L3) :

Si ce type de cache est aujourd´hui courant sur des machines haut de gamme (Sun, HP, IBM, Alpha, ....), dans le monde des PC, il n´a existé qu´un seul exemple de microprocesseur utilisant une mémoire cache de niveau 3. Il s´agit du K6-3 de la société AMD. Jusqu´à présent, ce type de cache a toujours été composé de mémoire SRAM, et implanté sur la carte mère. Sa taille varie de 1 Mo à 8 Mo (valeur généralement constatée mais il n´y a pas de limitation technique).

Cache exclusif et inclusif :

Exclusif et inclusif désignent la manière dont vont coopérer les caches entre eux, en particulier les caches L1 et L2.

Inclusif : C´est la méthode la plus ancienne et la plus courante. Elle est utilisée sur tous les microprocesseurs équipant les ordinateurs individuels (sauf Duron et Thunderbird d´AMD).

Exclusif : Ce mode est apparu pour les microprocesseurs grand public en 2000 avec les Duron et Thunderbird d´AMD. Les caches L1 et L2 vont fonctionner comme s´il n´y avait qu´un seul cache.

Avantages et désavantages :

Avec un cache inclusif , lorsqu´une donnée part de la mémoire RAM vers le microprocesseur, elle passe d´abord par le cache L2 qui la stocke, ensuite par le cache L1 qui la stocke aussi. Parce qu´une donnée peut se situer à la fois dans le cache L1 et L2, il y a perte d´espace. Formule du cache inclusif :

Espace cache disponible = Taille (L2+L1) - Taille L1.

La méthode exclusive résout la redondance d´informations que génère la méthode de gestion de cache exclusif. Et on obtient la formule :

Espace cache disponible = Taille L2 + Taille L1.

La supériorité de la méthode de cache exclusif sur le cache inclusif est de permettre au microprocesseur de disposer de plus d´espace pour le cache. Or qui dit plus de cache dit aussi que le microprocesseur a plus de chance de trouver une information qui lui est nécessaire dans le cache et donc d´exécuter les programmes plus rapidement. Cependant, pour qu´une même donnée ne se retrouve pas à la fois dans le cache L1 et L2, il faut comparer en permanence le contenu du cache L1 et L2. Cela prend du temps.

Au final, le cache exclusif est donc plus lent que le cache inclusif, et cela est d´autant plus vrai que le cache est grand. Toutefois cette lenteur toute relative est rattrapée par l´absence de redondance d´informations entre L1 et L2.

Organisation des données dans une cache

La méthode d´organisation permet de définir comment les données provenant de la mémoire RAM doivent être stockées par la mémoire cache. De la méthode utilisée dépendent :

- la quantité de mémoire RAM que le cache pourra gérer (avec 256 Ko de cache on ne peut pas gérer efficacement voire pas du tout, selon la méthode employée, 4 Go de mémoire RAM).
- la rapidité avec laquelle le processeur pourra accéder à ces données.
- le % de chance qu´a le microprocesseur de trouver l´information dans le cache. Plus ce pourcentage est élevé, plus le traitement est rapide.

Direct mapped :

On découpe la mémoire cache en ligne et chacune contient n octet (n pouvant être égal à 4, 8, ..., 128, ...). Pour être plus clair, prenons 16384 lignes de 32 octets chacune. Ceci nous fait une mémoire cache d´une taille de 16384 * 32 octets = 512 Ko (ici 1 Ko = 1024)

Comment faire à présent pour que notre mémoire cache de 512 Ko gère 128 Mo. On va affecter à chaque ligne de notre mémoire cache une zone de mémoire RAM fixe et de taille fixe. Ainsi notre mémoire cache découpe la RAM en 16384 zones et chaque zone à une taille de 128 Mo / 16384 = 134217728 octets / 16384 = 8192 octets.

Avantage :
Lorsque le microprocesseur cherche à savoir si une information dont il a besoin est dans le cache ou pas, il sait de suite dans quelle ligne il doit chercher. Il y a une correspondance directe entre mémoire RAM et mémoire cache.
Inconvénient :

Si le microprocesseur doit travailler sur toute une zone mémoire correspondant à une ligne de mémoire cache, alors seule une petite partie des données utilisées pourra être dans la mémoire cache. Dans notre exemple, les 8192 octets d´une zone RAM ne seront gérés que par 32 octets. Il est évident dans ce cas que le processeur fera beaucoup plus appel à la mémoire RAM qu´au cache.

N-way set associative :

Cette méthode est une évolution de la méthode direct mapped. Au lieu d´affecter une seule ligne de mémoire cache à une zone, on va en affecter plusieurs. Le N de N-way set associative correspond au nombre de lignes utilisées pour une zone de mémoire RAM. Si on reprend notre mémoire RAM de 128 Mo et notre cache de 512 Ko, alors 4 lignes de cache couvrent une zone RAM de 8192*4 = 32768 Octets soit 32 Ko.

Bon d´accord, mais où est la différence entre quatre lignes de cache indépendantes de la méthode direct mapped et quatre lignes de cache associées avec la méthode 4-way set associative ? La réponse est la flexibilité. N´importe quelle ligne de cache peut couvrir la zone mémoire de 32 Ko de RAM.

Relisez le paragraphe sur l´inconvénient du direct mapped. Une zone de 8192 octets pourra être gérée par quatre lignes de cache au lieu d´une seule. Bien sûr, si le processeur a besoin de 32 Ko ou plus d´un coup, on retombe dans l´inconvénient de la méthode direct mapped, mais ce que fait la méthode n-way set associative, c´est de diminuer le nombre de fois où ce cas arrivera. En moyenne, c´est plus efficace.

Inconvénient :
Le processeur devra consulter non pas une ligne de cache mais quatre pour savoir si l´information recherchée est dans le cache ou pas.

Fully associative :

Cette méthode s´oppose au direct mapped en ce sens que n´importe quelle ligne de cache peut gérer n´importe quelle zone de la mémoire RAM. En même temps, on peut considérer la méthode n-way associative comme un compromis entre ces deux méthodes.

Avantage :
Elle assure un remplissage maximal de la mémoire cache. Les deux autres méthodes citées, dans la mesure où leur ligne de cache couvre une zone déterminée de la mémoire RAM, peuvent ne plus accepter de données dans le cache, même s´il y a encore de la place. Pour cela, il suffit que le microprocesseur travaille sur une seule zone de la mémoire RAM (voir inconvénient de la méthode direct mapped).

Inconvénient :
Il est de taille ! Comme on n´affecte pas de zone de mémoire RAM à une ligne de cache (direct mapped) ou à un groupe de ligne (n-way associative), le microprocesseur n´a pas d´autre choix que de consulter toutes les lignes de cache pour savoir si l´information qu´il cherche est dans la mémoire cache. La méthode fully associative est donc à écarter dès que la mémoire cache doit avoir une grande taille et donc un grand nombre de lignes, ou qu´elle doit travailler à très grande vitesse comme le doit un cache L1 intégré au microprocesseur.

Indicateurs de performance de la mémoire cache

Pour pouvoir comparer les performances respectives de chaque méthode d´organisation, on utilise deux informations :

Ratio de réussite :

C´est le rapport entre le nombre total d´accès au cache sur le nombre d´accès ayant permis de trouver l´information dans le cache. Cette valeur s´exprime en pourcentage. Autrement dit, c´est la chance qu´a le microprocesseur de trouver une information dans la mémoire cache.

Plus cette chance est grande, moins le microprocesseur fait appel à la mémoire RAM et donc plus le traitement d´un programme sera fait rapidement. Ce ratio mesure l´efficacité du cache. Sans tenter d´entrer dans des détails de calcul statistique, on considère les ratios suivants pour les différentes méthodes d´organisation :

Direct Mapped : 60-80%
N-way associative : 80% - 90%
Fully associative : 90% - 95%

remarques :
Les valeurs données le sont à titre indicatif. Si vous disposez d´informations plus précises, faites le moi savoir.

Temps de latence :

C´est le temps moyen que le microprocesseur met pour consulter les lignes de cache. Autrement dit, c´est le temps qu´il faut au microprocesseur pour savoir si l´information qu´il cherche est ou n´est pas dans la mémoire cache. En fait, il s´agit plutôt d´une durée relative car ce qui nous intéresse, c´est la différence de temps entre chaque méthode.

La formule est : 1 + ((nombre de lignes de cache - 1) / 2)

Temps de latence pour les différentes méthodes :

Direct mapped : 1
N-way associative : 1 + ((N -1)/2), pour N = 4 on obtient 2,5
Fully associative : On arrondit en disant que le temps de latence correspond à la moitié du nombre total de lignes de cache soit : nombre de lignes de cache / 2.

On voit que le temps de latence est fortement défavorable à la méthode fully associative et cette différence avec les autres méthodes n´est pas compensée par un meilleur taux de réussite. Cette méthode est à réserver pour cacher de petites quantités de mémoire, afin que le nombre de lignes de cache soit le plus petit possible. La méthode direct mapped apparaît par contre comme un cas idéal. Si la taille des blocs de mémoire RAM que couvre chaque ligne de cache n´est pas trop importante, elle se révèle assez efficace, d´autant plus que sa conception (du point de vue électronique) reste simple et donc moins coûteuse à fabriquer.

Pour conclure ce paragraphe, on peut constater que la mémoire N-way associative récupère le meilleur des deux autres méthodes. Ceci explique pourquoi c´est la plus employée actuellement. Mais ce qu´il y a de plus intelligent dans cette méthode est sa flexibilité. En faisant varier N on peut soit améliorer le taux de réussite (en augmentant N), soit le temps de latence (on diminue N). Les valeurs généralement constatées aujourd´hui vont de N = 2 à N = 16.

Bande passante :

Tout comme la bande passante d'une mémoire, la bande passante du cache est conditionnée par deux valeurs, à savoir la taille et la fréquence de son bus externe !

Algorithme de gestion du cache mémoire.

Après avoir vu l´organisation externe des caches (exclusif, inclusif), l´organisation interne (direct mapped, N-way associative, fully associative), il ne nous reste plus qu´à voir comment est gérée la lecture ou l´écriture des données par le microprocesseur. Pour la lecture, il n´y a qu´une seule technique, le microprocesseur demande à la mémoire cache une information, si elle ne la contient pas, il lit directement la mémoire. Pour l´écriture, c´est différent (voir les techniques write-through et write-back).

Il existe deux techniques :

Write-through cache :
Toutes les écritures des données allant du microprocesseur à la mémoire se font aussi dans la mémoire cache.

Write-back cache :
Toutes les écritures se font dans la mémoire cache. Les données ne sont écrites en mémoire RAM qu´au moment où celles-ci ne sont plus utilisées par le microprocesseur et deviennent inutiles à conserver dans la mémoire cache.

Ces deux définitions ne sont pas longues et leur compréhension ne pose pas de difficultés majeures. Pourtant, il convient d´y regarder de plus près. Il existe une subtile mais importante différence entre le write-through et write-back. Pour désigner la caractéristique principale de ces deux méthodes, on parle de cohérence ou d´intégrité de la méthode. Write-through est une méthode intègre alors que write-back ne l´est pas.

Pour bien vous faire comprendre les subtilités des deux techniques, nous allons voir comment elles fonctionnent à travers deux exemples.

Disque dur

Aujourd´hui, tous les disques commercialisés disposent de mémoire cache, jusqu´à 2 Mo pour les disques IDE et 16 Mo pour les disques SCSI. Cette mémoire cache sert de tampon entre le disque dur et le microprocesseur. De cette façon, lorsque le microprocesseur a besoin d´une information située sur le disque, il lit d´abord la mémoire cache.

Dans le cas d´écriture sur le disque, l´information est soit écrite en mémoire cache et immédiatement sur le disque (write-through), soit dans la mémoire cache (write-back) puis sur le disque dur mais en différé.

Admettons que vous sauvegardiez un document saisi avec votre traitement texte et que juste après, l´ordinateur s´éteint brusquement, ou qu´un blocage vous oblige à l´éteindre. Si la mémoire cache de votre disque dur fonctionne en mode write-through, vous devriez pouvoir récupéré votre document, s´il fonctionne en mode write-back, votre document est perdu car les dernières informations contenues dans le cache n´ont pas été écrites sur le disque dur.

On dit de la technique write-back qu´elle n´est pas intègre, elle ne vous assurera pas l´intégrité de vos données sur le disque. Pour les disques durs, on parle plus couramment de write cache au lieu de write-back cache, mais c´est la même chose.

Multiprocesseur

Prenons deux microprocesseurs P1 et P2. Chacun de ces microprocesseurs dispose de son propre cache L2. Si le processeur P1 modifie une zone mémoire, les informations seront d´abord stockées en mémoire cache. Or si le microprocesseur P2 souhaite y accéder, il devra attendre que le microprocesseur veuille bien vider la mémoire cache ce qui provoquera l´écriture dans la mémoire RAM. Il n´existe pas de communication entre les mémoires cache des deux microprocesseurs.

Ce problème est connu sous le nom de ´cohérence des caches´. Pour le résoudre, on peut soit utiliser la technique 'write-through´ pour les mémoires cache, soit utiliser une architecture spéciale, c´est-à-dire la façon dont communique chaque composant d´une carte mère (chipset, microprocesseur, bus de communication, mémoire, ...). C´est généralement ce dernier choix que font les constructeurs de machine multiprocesseur.

Pourquoi choisir la méthode write-back si elle a autant d´inconvénients ? Parce que des composants comme le microprocesseur et le disque dur atteignent aujourd´hui de tels niveaux de performances que l´utilisation de la technique de mémoire cache 'write-through´ deviendrait elle-même un goulot d´étranglement alors que sa fonction est d´améliorer les performances. Mais la technique write-back a un avantage décisif, elle permet de réduire le nombre d´écriture qui se fond en mémoire RAM, et libère donc du temps d´accès à celle-ci pour d´autres composants comme la carte graphique. D´une manière plus générale, on dit que la technique write-back réduit le flux d´entrée/sortie.

Résumé

- Une mémoire cache permet d´augmenter la vitesse moyenne de communication entre un processeur et des composants de stockage, comme la RAM ou un disque dur.

- On peut utiliser plusieurs caches en cascade. Celui qui est le plus près du microprocesseur est le plus rapide et le plus petit. Pour un microprocesseur, on parle de cache L1,L2 et L3.

- Quand on dispose de plusieurs niveaux de cache, on peut soit les faire fonctionner de façon indépendante (inclusif) soit de concert (exclusif), comme s´il ne s´agissait que d´un seul cache.

- Il existe trois méthodes d´organisation des informations dans les mémoires cache : Direct mapped où chaque ligne de cache correspond à un bloc déterminé (= fixe de la mémoire RAM) ; Fully associative où chaque ligne de cache peut gérer n´importe quel bloc de la RAM ; N-way associative, qui est un compromis des deux autres méthodes. On regroupe N lignes de cache pour les affecter à un bloc déterminé.

- Le fonctionnement normal entre une mémoire cache et un composant de stockage (RAM, disque dur) implique que toute écriture qui se fait dans le cache se fasse aussi en mémoire, c´est la technique write-through. Pour l´améliorer, on utilise la méthode write-back (écriture différée).

- la cohérence de cache, c´est quand les données contenues dans le cache correspondent à celles situées dans le composant de stockage (RAM, disque dur). Si ce n´est pas le cas, l´intégrité des données n´est pas assurée.

Exercices

A - Remplacez le X par le nom de l´unité de stockage faisant fonction de mémoire cache.

Microprocesseur -> X -> Disque dur
Microprocesseur -> X -> RAM
Microprocesseur -> X -> Internet

B - A votre avis, quel dessin représente le mieux chacun des modes inclusif et exclusif.

C - Pour finir voilà une question fil rouge. Si vous avez un esprit de chercheur, elle risque de vous plaire. La méthode Direct Mapped présentée est la version de base, mais il existe une évolution qui permet d´augmenter son taux de réussite. Si vous avez une idée faites vous connaître.

Une session de rattrapage aura lieu à Noël. Je blague, si vous m´écrivez, vous recevrez un corrigé type.

Cas pratique : Le Duron

L´utilisation d´un cache de type exclusif dans les derniers microprocesseurs AMD n´est pas un hasard. Cela a permit à AMD de résoudre un cas unique dans l´histoire des microprocesseurs (à ma connaissance). Le Duron dispose d´un cache L1 (128 Ko) plus grand que son cache L2 (64 Ko).

Nous allons essayer d´utiliser une partie des connaissances que nous avons acquises pour voir comment AMD en est arrivé à cette situation et comment il l´a résolue. Ce faisant, vous devriez mieux comprendre les imbrications entre architecture d´un microprocesseur, cache L1 et L2.

Le problème :

Le microprocesseur Duron repose sur le microprocesseur Athlon commercialisé en septembre 1999. L´Athlon dispose d´un cache L1 de 128 Ko et d´un cache L2 de 512 Ko au format SEC. Parce que le format SEC (voir le paragraphe 'mémoire cache de niveau 2´) limite le gain en performances que l´on peut obtenir en augmentant la fréquence de fonctionnement du microprocesseur, il devenait urgent d´intégrer la mémoire cache secondaire dans le microprocesseur. C´était d´autant plus important, qu´Intel venait de le réaliser pour son microprocesseur Pentium III Katmai, devenant le Coppermine.

Mais voilà, intégrer le cache L2 signifie ajouter plusieurs millions de transistors, et cela pose de nombreux problèmes :

- Plus un microprocesseur est gros plus son coût de production augmente.
- Plus un microprocesseur est gros plus il dégage de chaleur.
- ....

La solution consiste à diminuer la taille du cache L2. Mais cette solution pose un nouveau problème : le cache L2 doit être au moins deux fois plus important que le cache L1. Cette affirmation est vrai pour un cache de type inclusif, type de cache qu´on a toujours utilisé jusqu´à présent. On admet généralement que L2 doit au moins satisfaire l´équation taille L2 = 4 * L1.

On arrive là au coeur du problème qui poussa AMD à utiliser un cache de type exclusif, à la place du cache inclusif. Et cela est d´autant plus évident pour le Duron, que pour le Thunderbird qui aurait pu fonctionner avec un cache L2 de 256 Ko 'j´ai dit fonctionné, pas être performant´.

En résumé, si AMD avait utilisé la méthode de cache exclusif avec un cache L2 intégré au processeur, inférieur à 256 Ko, le gain aurait été ridicule. Certains d´entre vous pourraient penser qu´il aurait suffit de diminuer la taille du cache L1. Ce n´était pas possible. On trouve là une différence importante entre cache L1 et L2, le cache L1 est imbriqué dans l´architecture du microprocesseur. Modifier sa taille, c´est modifier l´architecture. Or, cela prend un temps considérable. Le cache L2, quant à lui, est implanté dans le microprocesseur mais pas comme le cache L1 dans l´architecture du microprocesseur.

La solution :

En utilisant une structure de cache de type associatif, AMD permet à l´Athlon non seulement d´intégrer un cache L2, mais aussi un léger gain de performance comparé à l´ancienne version à fréquence égale (également du à une baisse des temps de latences du fait de la proximité du cache).

Un autre élément qu´a adopté AMD pour résoudre l´augmentation de la taille du processeur du à l´intégration du cache L2, c´est de conserver un bus de communication de 64 bits au lieu des 256 bits du cache L2 du Coppermine. On peut prendre comme élément de comparaison la différence qu´il y aurait entre une autoroute à 64 voies et une à 256 voies. La première prend beaucoup moins de place, mais a un débit nettement inférieur.

On trouve dans cette dernière remarque, l´une des principales explications du 'faible´ gain en performance qui est réalisé en intégrant le cache L2, comparé au gain constaté entre un Pentium III Katmai et un Coppermine.

Conclusion

Que de technique ! N´hésitez pas à le relire car ce problème de cache mémoire est au coeur d´une guerre pour l´augmentation des performances. Pour preuve, Intel a annoncé un cache L2 pour son Pentium IV, deux fois plus rapide que pour le Pentium III Coppermine et AMD une augmentation importante allant jusqu´à 8 Mo.

J´espère que les moins techniciens d´entre vous auront appris quelque chose. Si c´est trop difficile, faites-le moi savoir, j´en tiendrai compte. Pour les plus techniciens, je vous invite à m´écrire pour tout conseil et vos arguments seront pris en compte.

J´ai écrit cet article un peu en avance sur le planning que je m´étais fait, car Marc m´a demandé de faire une suite à l´article 'Evolution et perspective des microprocesseurs´. Celui-ci traite essentiellement sur l´architecture des microprocesseurs, le coeur même des microprocesseurs. Or, la bataille des titans s´est déplacée vers d´autres terrains. Avec la sortie prochaine du Pentium IV, du Mustang, de la mémoire DDR-SDRAM, ... il y a matière à vous informer et vous former.

Tous droits réservés à Maquiné Jean-Francois