|
|||||||||||||||||||||||||||||||||||||||||||||
|
Quand on dit "cache"... ...chacun pense à quelque chose de différent : paiement en espèces, géocaching ou peut-être le grand empire Kesh. Mais cet article ne traitera pas de tout cela. 1. Qu'est-ce que le cache dans cet article ? Le cache du processeur est une mémoire tampon, également appelée mémoire cache. On l'appelle ainsi car il se situe entre le coeur du processeur et la mémoire vive (RAM). Le cache est plus rapide que la mémoire vive, mais il est plus coûteux et donc généralement de taille nettement inférieure. Il n'existe pas un seul cache, mais une structure en couches. On en compte généralement deux ou trois, nommées L1, L2, L3 et parfois L4, en fonction de leur distance par rapport au coeur du processeur. Plus le numéro est élevé, plus le cache est éloigné, volumineux et lent. Jusqu'à présent, en évoquant les processeurs PowerPC des Amiga NG, nous nous sommes principalement intéressés à la fréquence. Mais comme la vitesse de transfert des données depuis les périphériques, et en particulier depuis la mémoire, est primordiale dans tout système, juste après la vitesse du processeur, nous allons également examiner de plus près le cache du processeur. 2. Les couches de cache Le cache L1 est le premier cache, le plus proche des registres du processeur. Depuis le Motorola 68040 (le premier 68k à architecture Harvard), le cache L1 est en réalité composé de deux caches : L1i pour les instructions et L1d pour les données. Le cache L1 fait toujours partie du coeur et est connecté par le bus le plus rapide. Les caches L1i et L1d n'ont pas nécessairement la même taille. Dans les processeurs multicoeurs, chaque coeur possède généralement son propre cache L1. Ce n'est que dans les processeurs à très grand nombre de coeurs que le cache L1i est parfois partagé entre deux coeurs. La taille du cache L1 dans les processeurs actuels varie de 64 à 256 ko et sa vitesse peut atteindre 100 fois celle de la mémoire vive. ![]() Comparaison de la taille du cache L1 dans les processeurs PowerPC G3-G5 et les processeurs modernes. Au cours des vingt dernières années, la taille du cache L1 n'a pas augmenté de façon spectaculaire. Aujourd'hui, le cache L2 est également intégré au processeur, mais dans les plus anciens processeurs (PowerPC 750 et MPC 755 de la génération G3, et MPC 7400 et MPC 7410 de la génération G4), il était externe, c'est-à-dire situé à l'extérieur du processeur, et connecté à celui-ci par un bus dédié, et non via le pont nord ("northbrige") comme la mémoire vive. La taille du cache L2 dans les processeurs actuels est le plus souvent exprimée en mégaoctets, mais peut atteindre 32 Mo, et sa vitesse est jusqu'à 25 fois supérieure à celle de la mémoire vive. ![]() Comparaison de la taille du cache L2 dans les processeurs PowerPC G3-G5 et les processeurs modernes. La taille du cache L2 a été multipliée par plusieurs ordres de grandeur, mais même aujourd'hui, celle des derniers processeurs Gx reste dans les valeurs habituelles. De nos jours, lorsqu'un processeur intègre un cache L3, celui-ci est intégré à la puce et partagé entre plusieurs coeurs, voire tous les coeurs. Cependant, la conception des puces actuelles est très variable. Certains processeurs sont dépourvus de cache L3 et privilégient des caches L2 plus importants. Le cache L3 peut également être partagé entre le processeur et la puce graphique au sein du même circuit. La taille du cache L3 dans les processeurs actuels varie généralement de 16 à 256 Mo, et sa vitesse est deux fois supérieure à celle de la mémoire. ![]() Comparaison de la taille du cache L3 des processeurs PowerPC G3-G5 et des processeurs modernes. Le cache L3, lorsqu'il est utilisé, est beaucoup plus important sur les processeurs actuels. Le PowerPC G4 745x était donc le choix idéal.
Niveaux de cache supplémentaires Je n'ai jamais rencontré plus de quatre niveaux de cache. Je parle bien du cache physique, dans la hiérarchie entre les registres du processeur et la mémoire principale. Cependant, vous pouvez aussi rencontrer les caches suivants :
Vous allez découvrir la raison d'être de cet article, créé de manière peu conventionnelle, seulement à ce chapitre. À l'origine, je n'avais pas l'intention d'écrire un article sur le cache, il n'y avait aucune raison particulière. En général, je ne m'intéresse pas beaucoup à la comparaison des caches des différents processeurs. Je savais vaguement que plus le cache est gros, mieux c'est, mais je ne cherchais pas à approfondir le sujet. Je m'intéressais davantage aux performances globales du processeur. Mais en avril 2023, j'ai acquis un Power Mac G4 1.42 DP et je me suis donc connecté au forum macrumors.com pour trouver la meilleure façon de l'optimiser. C'est là qu'une mesure de performance effectuée par l'utilisateur Ervus a attiré mon attention. Il avait constaté que le PowerPC G4 7457 à 1,6 GHz avec 2 Mo de cache L3 était plus rapide que le PowerPC G4 7447 à 2,0 GHz sans cache L3. J'ai donc examiné d'autres processeurs et leurs caches, et c'est ainsi qu'est né cet article. 4. Cache dans les processeurs PowerPC G4 Étant donné que c'est avec le processeur de génération G4 d'Ervus que l'importance de la taille du cache m'a sauté aux yeux, nous allons donc commencer par celui-ci. Concernant les processeurs PowerPC G4, le 745x est une puce identique au 744x, la seule différence résidant dans l'interface L3 ajoutée. Sur les Amiga de nouvelle génération (et j'inclus également tous les Power Mac compatibles avec MorphOS), le processeur PowerPC G4 se trouve dans les versions suivantes : Sans cache L3 :
Paramètres de base des processeurs PowerPC G4 Il est clair qu'à mesure que la gamme de processeurs s'allonge, la taille des caches L2 et L3 augmente également. Sur les premiers processeurs 7400 et 7410, le cache L2 était externe, avec une capacité maximale de 2 Mo et un bus dédié fonctionnant à la même fréquence que le processeur. En pratique, Apple n'utilisait cependant que 1 Mo de cache L2 externe à la moitié de la fréquence du processeur. Sur les modèles plus récents, le cache L2 était systématiquement intégré à la puce. Sur le PowerPC G4 745x, le cache L3 était toujours externe et son bus dédié était cadencé proportionnellement à la fréquence du processeur, dans un rapport de 1:4 à 1:6. Le cache L3 pouvait atteindre 2 Mo, mais certains Power Mac plus anciens ne disposaient d'un que de 1 Mo. De plus, le processeur 7457 pouvait avoir jusqu'à 4 Mo de SRAM connectés, dont 2 Mo maximum pouvaient être configurés en cache L3 et le reste en mémoire privée. À ma connaissance, cette configuration n'a été utilisée sur aucun ordinateur. Notes de mise à niveau du processeur PowerPC G4 Pour un éventuel remplacement du processeur de nos ordinateurs, les informations suivantes s'appliquent : les processeurs sans cache L3 (avec support 360 BGA) 7440, 7441, 7445, 7455, 7447 et, dans certains cas, le 7448, sont interchangeables et peuvent donc être remplacés par un modèle plus rapide. De même, les processeurs avec cache L3 (avec support 483 BGA) 7450, 7451, 7455 et 7457 peuvent être mis à niveau. Le fait que la fréquence du cache L3 soit dérivée de celle du processeur implique, entre autres, que pour surcadencer un processeur avec cache L3, il est nécessaire de tenir compte de la vitesse des puces de cache installées et, si besoin, de les remplacer par des puces plus rapides, ou de remplacer l'EPROM du module processeur par une version avec un rapport de fréquence différent. 5. L'effet de la taille des caches L2 et L3 sur la vitesse du processeur G4 Quel est donc l'impact du cache sur la vitesse ? Je tiens à préciser que ces résultats ne sont pas les miens, mais proviennent du graphique mentionné plus haut, fourni par Ervus. Je le remercie chaleureusement de m'avoir autorisé à utiliser ces résultats. Si cela vous intéresse, voici le lien vers la discussion. L'ensemble de la discussion est d'ailleurs très intéressant. ![]() Plutôt intéressant, non ? Examinons les trois premiers processeurs, c'est-à-dire les trois dernières versions du processeur PowerPC G4 :
Sans avoir à la quantifier précisément, on constate que l'impact global de la taille des caches L2 et L3 sur la vitesse est important. Bien sûr, cette mesure ne peut être généralisée à toutes les tâches, chacune ayant un comportement légèrement différent vis-à-vis de la mémoire, mais elle est très intéressante pour ceux qui envisagent une mise à niveau de leur processeur. Initialement, je pensais me procurer deux adaptateurs (en réalité, des adaptateurs pour support de processeur) et équiper mon Power Mac des processeurs les plus rapides de la famille PowerPC G4 : le 7448 à 2,0 GHz. Mais ces résultats m'ont convaincu qu'il serait préférable d'installer le type 7457 à une fréquence de 1,6 à 1,7 GHz. Et ce serait plus facile, un simple remplacement suffirait. 6. Cache dans les processeurs PowerPC G5 Et à quoi ressemblaient les caches dans la génération suivante de PowerPC ? Vous pouvez exécuter MorphOS sur toutes les versions fabriquées du PowerPC G5 :
![]() Caractéristiques techniques du PowerPC G5 Remarque : si vous comparez les vitesses de bus, sachez que les processeurs PowerPC G5 utilisent une logique d'horloge différente de celle des PowerPC G3 et G4. Sur le PowerPC G5, la fréquence du bus est proportionnelle à la fréquence du processeur. Le ratio peut être configuré en 2:1, 3:1 ou 4:1. La fréquence maximale du bus, et par conséquent le débit, dépendent de la fréquence du processeur. Les processeurs PowerPC G3 et G4 fonctionnent selon une logique inverse : la fréquence du bus est fixe et la fréquence du processeur est calculée par multiplication. L'influence de la taille du cache sur la vitesse du PowerPC G5 est négligeable. Il m'est impossible de comparer les performances sur une même machine. 7. Cache dans les processeurs PowerPC G3 Dans les Amiga NG, le processeur PowerPC G3 ne se trouve que dans les versions suivantes :
Paramètres de base des processeurs PowerPC G3 Le PowerPC G3 a toujours disposé de 32 ko de cache L1. Le cache L2 a connu une évolution complète, passant d'une absence totale de cache à 1024 ko hors puce (le bus fonctionnant à la moitié de la fréquence du processeur), puis à 1024 ko intégré. Le cache L2 du PowerPC G3 constitue donc un exemple type d'évolution de la taille des caches. Nos PowerPC G3 de bureau ne disposent pas de cache L3 ; celui-ci était probablement réservé à la puce personnalisée Espresso. Notes de mise à niveau du processeur PowerPC G3 Quelles sont les conséquences pour nous et pour une éventuelle mise à niveau du processeur ? Le 750CX est cadencé à seulement 600 MHz sur les Amiga NG, et malheureusement, il est difficile de le remplacer par un autre processeur. Son boîtier/support BGA 256 le rend incompatible avec ses successeurs, notamment le Pegasos G3 qui en bénéficierait. Les processeurs 750FX et GX, quant à eux, possèdent un boîtier/support identique (BGA 292) et sont interchangeables. Ils diffèrent par leur fréquence FSB maximale (167 MHz pour le 750FX et 200 MHz pour le GX), mais comme l'AmigaOne plafonne à 133 MHz (et l'iBook G3 d'Apple le plus rapide avec FX à seulement 100 MHz), cet avantage du GX est inexploitable en pratique. Le 750GX, lui, peut être cadencé à des fréquences plus élevées et dispose d'une mémoire cache L2 deux fois plus importante. La fréquence GX plus élevée ne suffirait probablement pas à elle seule pour me convaincre de remplacer le processeur de mon Micro A1 ; une accélération de 866 à environ 1000 MHz (soit 15%) n'est pas assez importante pour justifier le remplacement d'un module processeur fonctionnel. Cependant, les résultats d'Ervus avec le cache PowerPC G4 m'ont intriguée et je me suis dit que le gain de vitesse pourrait être bien supérieur à la différence de fréquence. Je vais donc essayer. Parenthèse : quel ordinateur de bureau équipé d'un processeur PowerPC G3 est réellement le plus rapide ? Lors de mes tests, j'ai tellement apprécié le processeur 750FX du Micro A1 que j'ai souhaité acquérir l'ordinateur le plus puissant possible équipé d'un processeur 750FX ou GX. Pour les PowerPC G4 et G5, le choix est simple : un Power Mac. Pour le PowerPC G5, le Quad d'origine, et pour le PowerPC G4, un XServe ou un MDD DP avec des processeurs mis à niveau à deux 7457 ou deux 7448. Mais Apple n'utilisait que d'anciennes versions de processeurs PowerPC G3 (PPC 750, 750CX, 750CXe), et à l'époque des 750FX et GX (à l'exception de l'iBook déjà mentionné), la marque n'utilisait que des processeurs PowerPC G4. La puce PowerPC G3 la plus rapide était l'Espresso de 2012, avec trois coeurs, une puce graphique intégrée et une fréquence de 1,24 GHz, mais ce processeur n'était disponible que dans les consoles Nintendo. Apparemment, Apple, bPlan/Genesi et MAI Logic/Eyetech étaient les seuls fabricants d'ordinateurs de bureau avec PowerPC G3. Dommage, je voulais tester le comportement du processeur 750GX avec une fréquence de bus de 200 MHz. L'AmigaOne XE se termine avec une fréquence FSB de 133 MHz et le successeur prévu de son pont nord (Articia Sa) était censé gérer jusqu'à 166 MHz de FSB et 333 MHz de DDR, mais il n'a jamais été commercialisé. J'ai donc poursuivi mes recherches et découvert que je possède probablement déjà l'ordinateur de bureau PowerPC G3 le plus rapide : malgré ses imperfections de conception, il s'agit de l'AmigaOne XE. Notre AmigaOne XE avec PowerPC G3 a ainsi décroché une première mondiale, certes insignifiante, mais néanmoins historique. 8. Effet de la taille du cache L2 sur la vitesse du processeur PowerPC G3 J'ai fait remplacer le processeur (toujours chez Megafix.cz) par une version 750GX avec 1024 ko de cache L2. Voici une vidéo du remplacement. C'est plutôt simple, non ? Passons maintenant à un test pratique. Pour observer l'impact de la taille du cache, j'ai effectué une comparaison avec la fréquence du processeur 750FX d'origine, à 866 MHz. Tous les tests ont été réalisés sur une carte Micro A1-C. De toute façon, je ne veux plus toucher à mon AmigaOne XE, il est fichu. ![]() Nouveau PowerPC 750GX, pour l'instant uniquement à 866 MHz, cache L2 de 1024 ko Tests dans lesquels l'impact du cache L2 plus grand ne s'est pas manifesté
9. Autre digression : un chapitre quelque peu superflu sur la conception des ordinateurs équipés de processeurs PowerPC G3-G5 Ce chapitre est présent car, en comparant les capacités des processeurs PowerPC à leurs applications concrètes dans les ordinateurs, j'ai constaté qu'ils n'étaient pas exploités à leur plein potentiel. Les processeurs PowerPC étaient initialement plus puissants et consommaient moins d'énergie que les i86, et ils conservaient une avance considérable lors de l'introduction des MPC7440/7450. Puis, le développement de la plate-forme i86 s'est considérablement accéléré et, finalement, avec les MPC7447/7457 et PPC970, les ordinateurs équipés de processeurs PowerPC étaient déjà à la traîne sur de nombreux points. Bien sûr, la conception du processeur était la principale responsable. Les PowerPC G3 et G4 disposaient déjà d'un bus lent pour le nouveau millénaire et le PowerPC G3 était également dépourvu de SIMD. Le PowerPC G5 était théoriquement très puissant et, si les performances théoriques annoncées s'étaient confirmées en pratique, il aurait certainement pu rivaliser avec l'i86. Malheureusement, les résultats concrets ont montré qu'à fréquence égale, il n'était pas plus rapide que le PowerPC G4. Il est impossible de déterminer la part de responsabilité respective du processeur, du jeu de composants et d'éventuels logiciels mal optimisés, mais cela importe peu aujourd'hui. Un autre point important, souvent négligé, est que les concepteurs des ordinateurs de l'époque ont également contribué de manière significative à la stagnation des performances des ordinateurs équipés de processeurs PowerPC G3 et G4, ou plus précisément du jeu de composants utilisé. Par exemple, le dernier processeur PowerPC G3 utilisé dans l'iBook G3 (PPC 750FX) était cadencé à sa fréquence maximale de 900 MHz, alors que l'iBook G3 disposait d'un bus système (et donc d'une fréquence mémoire) de seulement 100 MHz. Le processeur pouvait gérer jusqu'à 166 MHz. Or, comme le montrent les tableaux ci-dessus, le débit maximal du bus de l'iBook G3 n'était que de 640 Mo/s, au lieu des 1062 Mo/s possibles. Cela devrait être évident. Quant aux processeurs PowerPC G4, à partir du type 7440, ils possèdent un bus d'adressage 36 bits, ce qui leur permet d'adresser jusqu'à 64 Go de mémoire physique. Même en prévoyant la possibilité d'une affectation directe de la mémoire pour les périphériques, il serait toujours possible d'installer jusqu'à 32 Go de mémoire vive. La mémoire virtuelle pourrait atteindre 4 Po. Ainsi, avec une conception informatique appropriée, les processeurs 64 bits ne seraient pas nécessaires avant longtemps. Aucun des ponts nord utilisés par Apple ne pouvait gérer plus de 4 Go de mémoire physique, soit 2 Go de mémoire vive. Bien que le Pegasos 2 disposât du pont nord MV64361, offrant 8 Go d'espace d'adressage physique et une fréquence FSB maximale de 183 MHz, il n'en tirait pas pleinement parti. Dommage. Et je ne parle même pas de l'AmigaOne XE, dont le pont nord est un exemple flagrant de ce qu'il ne faut pas faire. ![]() "La Bête de Turin". Un moteur d'une cylindrée respectable de 28,3 litres, mais la stabilité et le freinage de la voiture ne favorisaient guère l'exploitation de sa vitesse maximale. 10. Conclusion Il est clair pour moi que lors du choix d'un processeur, on ne peut pas choisir la taille du cache. On prend donc celle recommandée par le fabricant. Cependant, il est évident que le cache a un impact important sur la vitesse de certaines tâches, notamment celles qui nécessitent beaucoup de calculs. De nos jours, les performances nécessaires à la lecture vidéo et aux jeux vidéo reposent en grande partie sur la puce graphique, et cet article n'en tient pas compte. Cependant, pour la conception d'un serveur ou d'une station de travail dédiée aux modèles mathématiques ou à la compilation de code source, par exemple, il est judicieux d'opter pour un processeur doté d'un cache L3, voire L4, important, même si sa fréquence est plus basse. Remerciements
|
||||||||||||||||||||||||||||||||||||||||||||