Téléchargez l'application
Tom's Hardware sur l'App Store
Toute l'actu informatique de référence sur votre iPhone
Oui Non

QuickPath Interconnect

par

L’architecture Core avait beau être remarquablement efficace, certains détails de conception commençaient à accuser le poids des années. En particulier le système de Front Side Bus (FSB), ce bus connectant les processeurs au Northbridge était un véritable anachronisme dans une architecture par ailleurs très moderne. Le principal défaut se remarquait notamment dans les configurations multiprocesseurs où cette architecture avait du mal à suivre la montée en charge : les processeurs doivent se partager ce bus non seulement pour accéder à la mémoire mais aussi pour assurer la cohérence des données contenues dans leurs mémoires caches respectives.

Dans ce genre de situations l’afflux de transactions sur ce bus peut conduire à sa saturation. Pendant longtemps Intel s’est contenté d’esquiver le problème en se reposant sur un bus plus rapide ou sur des mémoires caches plus importantes mais il était désormais temps de s’attaquer à la cause sous jacente en revoyant complètement la façon dont son processeur communique avec la mémoire et avec l’extérieur.

La solution choisie par Intel n’a rien de nouvelle : un contrôleur mémoire intégré est un bus série point-à-point extrêmement rapide, cette technologie est apparue il y a maintenant 5 ans dans les processeurs AMD mais en réalité elle est encore plus ancienne que ça. Ces concepts que l’on retrouve aujourd’hui chez AMD et bientôt chez Intel résultent en effet de travaux menés il y a dix ans par les ingénieurs de DEC lors de la conception de l’Alpha 21364 (EV7). Sachant que de nombreux anciens ingénieurs de DEC se sont retrouvés chez le géant de Santa Clara il n’est pas étonnant de voir ces concepts resurgir dans la dernière architecture d’Intel.

D’un point de vue technique un lien QPI est bidirectionnel, il est ainsi constitué de deux voies de 20-bit, une dans chaque direction, dont 16 sont réservés aux données, les 4 autres étant utilisés pour des codes de détection d’erreurs ou réservés à des fonctions du protocole. Avec un débit maximum de 6.4 GT (milliards de transferts) par seconde on obtient donc une bande passante utilisable de 12.8 Go/s aussi bien en lecture qu’en écriture. A titre de comparaison le FSB des derniers processeurs Intel fonctionnait avec une fréquence d’horloge de 400MHz au maximum, le transfert d’adresse nécessitait deux cycles (200MT/s) alors que le transfert de données fonctionnait en mode QDR offrant ainsi un débit de 1.6 GT/s. Avec une largeur de 64-bit le FSB offrait donc une bande passante totale de 12.8 Go/s également, mais utilisable en écriture ou en lecture.

Un lien QPI offre donc une bande passante théorique pouvant être jusqu’à deux fois plus importante dans le cas où les lectures et écritures mémoires sont bien équilibrées, et dans le cas pathologique constitué uniquement de lectures ou d’écritures la bande passante sera identique à celle du FSB. Cependant il faut préciser que le FSB était utilisé à la fois pour les accès mémoire mais aussi pour tous les transferts de données vers les périphériques ou entre les processeurs. Avec le Nehalem un lien QPI sera entièrement dédié aux transferts de données aux périphériques, les transferts mémoires étant opérés par le contrôleur intégré et les communications inter-CPU dans les configurations multi-sockets disposant d’un autre lien QPI. Dans la pratique, même dans le pire des cas un lien QPI devrait donc se montrer nettement plus performant que le FSB.

Comme nous l’avons vu le Nehalem a été conçu pour être une architecture flexible, le nombre de liens QPI disponibles sera donc variable en fonction du marché adressé : de 1 lien vers le chipset pour les configurations simple socket jusqu’à quatre pour les configurations serveurs 4 sockets permettant de réaliser des systèmes 4 processeurs entièrement connectés, c’est-à-dire que chaque processeur peut accéder à n’importe quelle position en mémoire en une seule traversée de lien QPI au maximum (chaque CPU est connecté directement aux trois autres).

Partager:
9
Commentaires
X
Valider

Commentaires
Lire les commentaires sur le forum
Aimame 25/09/2008 10:59
Masquer
-0+

Et la tu prend un dolipran.

Article très complet qui rejoins bien l'article d'Hardware.fr
Je suis pressé de le voir en fonctionnement ;)

Merci!

Pinkuik 25/09/2008 12:16
Masquer
-2+

Après plus de dix ans à vouloir faire mieux que les autres avec une architecture "innovante", Intel revient aux conclusions des ingénieurs de Digital Equipment Corporation : plutôt amusant...

solistice 25/09/2008 13:12
Masquer
-0+

Aimame :
Et la tu prend un dolipran. Article très complet qui rejoins bien l'article d'Hardware.frJe suis pressé de le voir en fonctionnement Merci!


C'est rare mais personnellement, je suis pressé d'acheter :)

Caabale 25/09/2008 13:15
Masquer
-0+

Citation :on retrouve donc l’instruction POCNT apparue avec le Barcelona qui permet de compter le nombre de bits différent de 0 présents dans un registre.


Grosso merdo, c'est le meme nombre que les bits egaux a 1, quoi :o

Basilic et Pistou 25/09/2008 13:23
Masquer
-0+

En binaire, oui !! :lol:

Foudge 25/09/2008 14:01
Masquer
-1+

"tout d’abord le buffer est désormais plus important puisqu’il peut stocker 28 instructions"

Ce ne sont pas des instructions mais des µops. De plus, est-ce vraiment sûr qu'un buffer de 28 *ops soit plus gros qu'un buffer de 18 instructions ?
Je me doute que ça doit dépendre des instructions, mais en moyenne ça donnerait quoi ?

Zeross 25/09/2008 14:44
Masquer
-0+

Caabale :
Grosso merdo, c'est le meme nombre que les bits egaux a 1, quoi :o



Oui dans le cas du binaire, mais disons que POPCNT est une version un peu spécifique du poids de Hamming qui recherche dans une chaîne, le nombre de symboles différents du 0 de l'alphabet utilisé. Donc j'ai gardé la définition générique ;)

Foudge :
"tout d’abord le buffer est désormais plus important puisqu’il peut stocker 28 instructions"Ce ne sont pas des instructions mais des µops. De plus, est-ce vraiment sûr qu'un buffer de 28 *ops soit plus gros qu'un buffer de 18 instructions ?Je me doute que ça doit dépendre des instructions, mais en moyenne ça donnerait quoi ?



Tout à fait c'est une bonne remarque, je le précise un peu plus loin ("Le Loop Stream Detector du Nehalem ne stocke donc plus des instructions x86, mais des µop.") et je voulais souligner qu'effectivement le gain pratique était plus faible que ce qu'il semblait au premier abord mais c'était difficile à évaluer.

La grosse majorité des instructions x86 ne génèrent qu'une seule µop c'est la raison pour laquelle il y a 3 décodeurs simples qui ne peuvent traiter que ces instructions contre un seul pour les instructions générant de 2 à 4µop. Comme tu le notes le rapport instruction x86 / µop dépend fortement de l'application, la moyenne qui circule est de 1.36 µop générées par instruction x86. Dans ce cas le buffer est en fait à peine plus grand que celui du Core 2 duo (~20.6 instructions). Cependant ces chiffres sont assez anciens et datent du Pentium III, depuis il y a eu pas mal de progrès en la matière que ça soit au niveau des instructions SSE qui génèrent moins de µops, ou de la fusion (micro et macro) donc le rapport a du baisser. Je pense qu'on peut considérer que ce buffer est l'équivalent d'un buffer x86 de 22 instructions à la louche mais c'est qu'une grossière estimation.

Foudge 25/09/2008 15:14
Masquer
-0+

Et vue qu'en plus on évite l'étape de décodage, c'est effectivement tout benef :)

Wiiip 25/09/2008 18:25
Masquer
-0+

Moi, ça me rappelle le P4 cette histoire ...
Plus de puissance, plus de puissance, plus de puissance ... Au détriment de la vitesse.
Désolé

Les offres du moment

Newsletters


OK