Sélectionner une page


Pourquoi faut-il viter la mmoire partage ?

Date: 13 mars 2002 à 11:44:25 CET
Sujet: TT-hardware



La mmoire partage se retrouve de plus en plus souvent au coeur des ordinateurs portables. Mais les constructeurs entretiennent un vritable flou artistique sur le sujet… Les utilisateurs sont alors noys sans un discours plus marketing que technique qui finit par faire passer la pilule. En pratique, ce type de mmoire offre des performances graphiques excrables et comme si cela ne suffisait pas, elle rduit les performances globales du systme. Le seul avantage de la mmoire partage est la rduction du cot total du portable…

Dans un ordinateur classique, le Northbridge se situe logiquement entre le processeur, la mmoire et la carte graphique et le Southbridge. Le rle du Northbridge est capital puisque toutes les informations y transitent. Le Northbridge est en liaison directe avec la mmoire SDR (boules rouges) 133MHz ou 100MHz pour les systmes plus lents ce qui offre un dbit maximum de 1000Mo/s (bus de 64bits). Plus ce dbit est important, plus le systme peut tre globalement rapide. En effet, le graphe montre clairement que le Northbridge est le coeur du systme. Les boules de diffrentes couleurs qui symbolisent les donnes passent toutes par le Northbridge. Les 1000Mo/s doivent donc tre rpartis entre le processeur, le Southbirdge (et tous les composants lents : PCI, IDE, Lan et audio), le processeur graphique. La liaison entre le chipset et la mmoire est donc un point de passage capital pour les informations. Il faut garder l’esprit que toutes les donnes traites par le processeur et tous les autres composants engendrent un passage par la mmoire. Le bus mmoire (boules rouges) est donc un bus hyper actif qui travaille toujours la limite de la saturation…
Le bus AGP qui relie la carte graphique au Northbridge (boules jaunes et vertes) reoit un trafic modr sous Windows mais devient lui aussi trs charg lors des scnes 3D. Tout comme un processeur classique, le processeur graphique a besoin de mmoire pour traiter les images et faire ses calculs intermdiaires. Il a donc besoin de nombreux accs une mmoire rapide pour soutenir une vitesse d’affichage leve. Les circuits 3D Mobiles comme le Radeon Mobility utilisent un bus DDR (Double Data Rate soit deux fois plus rapide qu’un bus SDR) de 128bits 166MHz ce qui offre un dbit de 5100Mo/s ! Le GeForce2 Go se contente d’un bus DDR de 64bits 166Mhz pour offrir un dbit de 2550Mo/s, un dbit dj largement suffisant. Le processeur graphique et sa mmoire peuvent travailler trs rapidement comme un sous-ensemble quasiment indpendant. En pratique, lors du chargement d’un jeu, les textures passent du disque dur la mmoire centrale o le processeur leur fait subir quelques oprations avant d’aboutir dans la mmoire de la carte graphique qui les utilisera quand elle en aura besoin. Le processeur graphique peut donc faire ses calculs dans la mmoire graphique et y traiter les textures sans avoir faire des accs dans la mmoire centrale. Si la texture fait 6Mo, il reste sur les 16Mo d’une Radeon Mobility, 10Mo pour les calculs intermdiaires et le frame buffer (espace mmoire o est stocke l’image avant l’affichage). La mmoire centrale est entirement libre pour le processeur et les autres composants.

Avec de la mmoire partage, les choses sont bien moins optimise. En effet, le processeur graphique ne dispose pas de sa propre mmoire. Il doit utiliser la mmoire centrale en faisant passer toutes ses requtes par le Northbridge avant d’arriver la mmoire centrale. Cette dernire opre en 64bits une frquence de 133MHz en Single Data Rate (une donne par cycle). En d’autres mots si la carte graphique venait s’accaparer tout le bus mmoire, elle disposerait au mieux de 1000Mo/s. Mais tous les autres composants seraient alors l’arrt car ils n’auraient plus de donnes traiter. Il est donc impossible que la carte graphique puisse accder 100% des ressources mmoires. La carte graphique doit alors partager la bande passante mmoire avec tous les autres composants. Mais comme nous venons de l’expliquer, le bus mmoire est dj trs charg sans avoir supporter les donnes additionnelles produites par le processeur graphique. Dans l’hypothse o la carte graphique mmoire partage utilise 50% du bus mmoire, elle dispose au maximum de 500Mo/s soit 5x moins qu’une GeForce2 Go ou 10x moins qu’un Radeon Mobility. Mais ce n’est pas tout ! Dans l’architecture classique, les composants (processeur, southbridge, etc.) ont droit 1000Mo/s. Avec de la mmoire partage (toujours en accord avec notre hypothse), il ne leur reste que 500Mo/s… Non seulement le processeur graphique n’est pas suffisamment aliment en donnes mais tous les autres lments en ptissent ! Le pire des cas se produit en 3D. La texture est charge du disque dur vers la mmoire, traite par le processeur central mais au lieu de prendre place dans la mmoire ddie, elle reste dans la mmoire centrale. Dans notre exemple, les 6Mo de texture restent alors dans la mmoire centrale. Le processeur graphique utilisera encore de 6Mo 10Mo de mmoire centrale pour ses calculs et le frame buffer. La mmoire centrale est donc ampute d’une bonne dizaine de Mo qui seront indisponibles pour les autres composants.

Il est maintenant ais de comprendre que l’utilisation de la mmoire centrale en remplacement d’une mmoire vido ddie est une aberration ! La mmoire centrale dont le dbit constitue dj un goulot d’tranglement se voit encore surcharge par des donnes qui pnalisent les performances du systme. De plus la lenteur relative de la mmoire central est totalement inadapte au traitement de donnes graphiques