Pour faire simple et se mettre au niveau (et dans le désordre):
Une puce dispose globalement d'un nombre d'entrée sortie limité, un gros packaging, cela coute chère (BGA vs tqfp). Donc, pour un cout donné, tu es limité en nombre de pin.
Si tu utilises un cross-bar une mémoire même plusieurs banque et 1 CPU + 1 GPU, il te faut : 3 chips, le cross-bar -> 1 entrée GPU, 1 entrée CPU (2*64 bits mini (lien hypertransport 32 bits)), + nentrée par banques si on prend l'archi des GPU, 4 banques de 64 bits soit 4*64+4*25+4*4 (data/adresse/contrôle) =128+372 = 500 pin.
Sachant que vu la conso, il y a 1/3 de pin d'alim, on un cross-bar de 700 pin. Cela fait donc une puce énorme. Soit bien plus que les north bridge actuel.
(Pour rappelle le north bridge PC fait le lien entre le CPU avec le bus FSB, la mémoire avec un bus DDSDRAM, le GPU avec l'AGP et le south bridge avec le pci ou l'hypertransport ou un truc proprio, c'est donc en fait un gros switch...)
Quand l'athlon 64/opteron est arrivé, il utilise un controleur mémoire dans le cpu à la place du northbridge ainsi la latence mémoire passe de 150/180 à 100/120 cycle. C'est la principale raison des performances de ses puces en comparaison des puces précédentes.
L'opteron est connecter par hypertransport à une autre puce qui est elle-même connecté à l'agp connecté au GPU connecté à sa mémoire.
Le GPU utilise 372 pins pour la mémoire (256 bits, 4 banques) et 100 pour l'agp. (472 pin)
Un opteron utilise 180 pins pour la mémoire (128 bits) et 1 ou 3 hypertransports à 2*16 bits. (276 pins)
Le "south bridge" entre les 2 ne fait que de la recopie et n'est même pas un switch.
Pour une version cross bar, il faut le cross-bar au milieu. En plus, avec plus de 700 pins. Plus ? Ben oui, il faut avoir la même bande passante il faut donc rajouter 180 pins... et les pins d'alim associé... et on arrive tranquillement à 1000 pins. Et pour faire quoi ?
Certe on évite les dialogues par bus agp. Mais très peu de donnés sont en faite partagé entre le cpu et le GPU. Et le cross bar rajoute de la latence.
En fait ton archi existe déjà : la plus part des chip graphique intégré, utilise la mémoire central. Les premier n-force utilisait ainsi un bus de 128 bits pour ne pas trop pénalisé le cpu qui se voyait bouffer sa bande passante mémoire. Bref, je ne crois pas que cela soit les solutions les plus rapide...
Il vaut mieux mettre 2 puces ayant chacune leur mémoire, que 2 puces passant par une troisième surtout quand il y a une si grande localité d'acces.
Et puis franchement, tu as vu les perf des stations de travail à comparrer avec un x86 haut de gamme ? A part en calcul flottant, les stations hyper chère se font complètement distancer.
[^] # Re: details
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche La spécification de OpenGL 2.0 enfin en version finale. Évalué à 1.
hum comment dire...
Pour faire simple et se mettre au niveau (et dans le désordre):
Une puce dispose globalement d'un nombre d'entrée sortie limité, un gros packaging, cela coute chère (BGA vs tqfp). Donc, pour un cout donné, tu es limité en nombre de pin.
Si tu utilises un cross-bar une mémoire même plusieurs banque et 1 CPU + 1 GPU, il te faut : 3 chips, le cross-bar -> 1 entrée GPU, 1 entrée CPU (2*64 bits mini (lien hypertransport 32 bits)), + nentrée par banques si on prend l'archi des GPU, 4 banques de 64 bits soit 4*64+4*25+4*4 (data/adresse/contrôle) =128+372 = 500 pin.
Sachant que vu la conso, il y a 1/3 de pin d'alim, on un cross-bar de 700 pin. Cela fait donc une puce énorme. Soit bien plus que les north bridge actuel.
(Pour rappelle le north bridge PC fait le lien entre le CPU avec le bus FSB, la mémoire avec un bus DDSDRAM, le GPU avec l'AGP et le south bridge avec le pci ou l'hypertransport ou un truc proprio, c'est donc en fait un gros switch...)
Quand l'athlon 64/opteron est arrivé, il utilise un controleur mémoire dans le cpu à la place du northbridge ainsi la latence mémoire passe de 150/180 à 100/120 cycle. C'est la principale raison des performances de ses puces en comparaison des puces précédentes.
L'opteron est connecter par hypertransport à une autre puce qui est elle-même connecté à l'agp connecté au GPU connecté à sa mémoire.
Le GPU utilise 372 pins pour la mémoire (256 bits, 4 banques) et 100 pour l'agp. (472 pin)
Un opteron utilise 180 pins pour la mémoire (128 bits) et 1 ou 3 hypertransports à 2*16 bits. (276 pins)
Le "south bridge" entre les 2 ne fait que de la recopie et n'est même pas un switch.
Pour une version cross bar, il faut le cross-bar au milieu. En plus, avec plus de 700 pins. Plus ? Ben oui, il faut avoir la même bande passante il faut donc rajouter 180 pins... et les pins d'alim associé... et on arrive tranquillement à 1000 pins. Et pour faire quoi ?
Certe on évite les dialogues par bus agp. Mais très peu de donnés sont en faite partagé entre le cpu et le GPU. Et le cross bar rajoute de la latence.
En fait ton archi existe déjà : la plus part des chip graphique intégré, utilise la mémoire central. Les premier n-force utilisait ainsi un bus de 128 bits pour ne pas trop pénalisé le cpu qui se voyait bouffer sa bande passante mémoire. Bref, je ne crois pas que cela soit les solutions les plus rapide...
Il vaut mieux mettre 2 puces ayant chacune leur mémoire, que 2 puces passant par une troisième surtout quand il y a une si grande localité d'acces.
Et puis franchement, tu as vu les perf des stations de travail à comparrer avec un x86 haut de gamme ? A part en calcul flottant, les stations hyper chère se font complètement distancer.
"La première sécurité est la liberté"