ChoixPC + LDLC = cadeau    /    Les sponsors : rôles et fonctionnements

[S'inscrire]  [Aide (FAQ)]  [Rechercher]
[Connexion]  [Posts récents]  [Messages privés]
[Votre profil]  [Vos préférences]  [Sujets déplacés]
[Liste des membres]  [Stats]  [Accueil Site]  [Générateur]
[Accueil Forum] - Datation serveur (UTC+1) : 09:04
Forum ChoixPC » » Archives : matériel PC - dépannage et technologie - » » question sur les GPU
Aller directement à la page : ( 1 | 2 | 3 | 4 | 5 | 6 Page suivante )  Bas de page
Rechercher dans ce topic :
Mot clé :       Auteur :
Auteur Sujet : question sur les GPU
Hydracolonna
''En quête de stabilité sur le mont Asus''


Inscrit: Jun 21, 2001
Messages: 293
Posté le: 07-03-2002 à 09:12  | N° d'ordre sur la page en cours : 1 / 15 | N° d'ordre sur le topic : 1 / 88
Bonjour, je voudrais savoir quelle différence il y a entre un proc d'ordi et un proc graphique. Pourquoi sont-ils en 256 bits avec une ram en 128 bits ? Qu'est-ce que cela implique les 256 bits ? Pourquoi en 256 et pas en 32 comme les proc d'ordi ? Quelle différence dans le fonctionnement ? Plus rapide ?
La question me viens aussi car je remarque que les proc pour Mac sont en 128 bits et ceux des pc en 32 (sauf pour certains proc pour serveur), or il me semble que plus le proc traite de bits d'un coup plus il est efficace. Pourquoi cette différence ? Merci.


                           --> Fct Warning : lire la FAQ svp.
buzzz
''Chevalier pourfendeur d'écrans bleus''


Inscrit: Jul 09, 2001
Messages: 5490
De: ux point zéro
Posté le: 08-03-2002 à 04:05  | N° d'ordre sur la page en cours : 2 / 15 | N° d'ordre sur le topic : 2 / 88
hum
je tente une reponse,

tout d'abord les procs graphiques sont des procs dedies, cad qu'ils sont specialisees dans le calcul en flottant.

Ainsi en 256 bits, ils entendent en fait (je pense) un calcul parallele sur 32 bits * 8. Soit des operations sur 8 nombres flottants en parallele, et pas un seul nombre de 256 bits. Le proc fait cela aussi avec les instructions SSE mais en 64 bits... mais !! ils y a 8 registres SSE donc 512 bits au final...

La carte graphique etant specialisee uniquement dans cela, elle peut se permettre de cabler sa ram sur 128 bits, et d'occuper la puce de calcul sur les calculs flottants en sur 256 bits. Mais en contrepartie, le memoire ram est de 64 MO

ainsi pour 64 MO et calcul 256 tu paies 2000fr

pour un proc 32/64 bits et 64Mo de RAM tu paies prix Duron 800 + prix barrete128/2 = 400+30 430fr

Ben oui, faut il s'en rendre compte tu paies 5 * plus cher ta puce video... il est normal qu'elle soit en 256 bits

pour avoir un proc 256bits, le duron vaudrait 3000fr et la ram idem... donc voila pourquoi
_________________


                           --> Fct Warning : lire la FAQ svp.
Hydracolonna
''En quête de stabilité sur le mont Asus''


Inscrit: Jun 21, 2001
Messages: 293
Posté le: 08-03-2002 à 16:46  | N° d'ordre sur la page en cours : 3 / 15 | N° d'ordre sur le topic : 3 / 88
Merci, je pense avoir pigé, tu es calé dis-donc !

                           --> Fct Warning : lire la FAQ svp.
buzzz
''Chevalier pourfendeur d'écrans bleus''


Inscrit: Jul 09, 2001
Messages: 5490
De: ux point zéro
Posté le: 08-03-2002 à 18:24  | N° d'ordre sur la page en cours : 4 / 15 | N° d'ordre sur le topic : 4 / 88
pour etre franc, je fais plutot des suppositions par rapport au "peu" que je sais sur le sujet. Je peux me tromper... mais je pense que ca doit tourner autours de cela.

Oui de plus l'interet de monter en 256 bits et de faire du calcul parallele et alors ? pourquoi pas prendre 32 bits avec une frequence 8 * plus elevee !! hors il me semble que les procs actuels 3D ont une frequence de 250Mhz. S'ils etaient donc construit sur une architecture non parallele un seul calcul en flottant par cycle il faudrait qu'il tourne a 250*8 = 2 GHz, avec de la memoire a 133*8 = 1Ghz. Techniquement c'est limite, les procs seraient graves pour du 2ghz ce qui couteraient beaucoup plus cher et ca chaufferait pas possible. De plus la memoire ne suivrait pas cette cadence

donc au final pour eux 256bits c'est comme 8 processeurs 32 bits a 200Mhz
_________________


                           --> Fct Warning : lire la FAQ svp.
Favern
''Prince des sockets''


Inscrit: Jun 04, 2001
Messages: 14699
Posté le: 08-03-2002 à 18:54  | N° d'ordre sur la page en cours : 5 / 15 | N° d'ordre sur le topic : 5 / 88
Bonjour buzzz,

Il y a quelques chose que je ne comprend pas bien:

"Tu nous à dit qu'un proc graphique fait un calcul parallele sur 32 bits * 8."

Puis tu nous à dis:
"Le proc fait cela aussi avec les instructions SSE mais en 64 bits... mais !! ils y a 8 registres SSE donc 512 bits au final... "

Et pour finir:
"d'occuper la puce de calcul sur les calculs flottants en sur 256 bits."

Ca signifie quoi physiquement ? Ce que je ne comprend pas c'est que tu face intervenir une notion d'occupation du processeur (software).
Donc avec un processeur aussi on pourrait lui faire occuper ses 512Bits pour faire de la virgule flottante ?

Donc puisque que c'est simplement une différence d'occupation software j'avoue ne pas comprend la différence entre un GPU et un CPU

Favern
_________________
o----[::::::::::::::>®L©
ChoixPC+ LDLC =Cadeau


                                 --> Fct Warning : lire la FAQ svp.
buzzz
''Chevalier pourfendeur d'écrans bleus''


Inscrit: Jul 09, 2001
Messages: 5490
De: ux point zéro
Posté le: 08-03-2002 à 19:05  | N° d'ordre sur la page en cours : 6 / 15 | N° d'ordre sur le topic : 6 / 88
il y a 8 registres SSE de 64 bits
mais on n'a uniquement le droit de faire une operation sur l'un deux a la fois

chacun de ces registres permet cependant de faire un calcul paralle sur deux floats de 32 bits.

il y a 512 bits de registres et seulement un registre utilsable a la fois

pour le GPU, je ne sais pas combien il y a de registres mais, par cycle il travaille sur 256 bits... donc qqc comme 8 en paralle ou plus si ses float sont en 20 bits...


_________________


                           --> Fct Warning : lire la FAQ svp.
Favern
''Prince des sockets''


Inscrit: Jun 04, 2001
Messages: 14699
Posté le: 08-03-2002 à 19:11  | N° d'ordre sur la page en cours : 7 / 15 | N° d'ordre sur le topic : 7 / 88
A oui d'accord j'ai comprit. Sauf une petite chose. Tu a dis:
Quote:

Le 2002-03-08 19:05, buzzz a écrit:
pour le GPU, je ne sais pas combien il y a de registres mais, par cycle il travaille sur 256 bits... donc qqc comme 8 en paralle ou plus si ses float sont en 20 bits...


Des float de 20bits ?

Les processeurs travailles souvent à 20 bits ????????

Ca ferait du 20 x 2 x 8 = 320bits ?

Favern
_________________
o----[::::::::::::::>®L©
ChoixPC+ LDLC =Cadeau


                                 --> Fct Warning : lire la FAQ svp.
Elbarto
''Futur installateur de barrettes de RAM''


Inscrit: Mar 08, 2012
Messages: 6
Posté le: 08-03-2002 à 19:34  | N° d'ordre sur la page en cours : 8 / 15 | N° d'ordre sur le topic : 8 / 88
interessant ce topic
_________________
Adore les péplums


                           --> Fct Warning : lire la FAQ svp.
buzzz
''Chevalier pourfendeur d'écrans bleus''


Inscrit: Jul 09, 2001
Messages: 5490
De: ux point zéro
Posté le: 08-03-2002 à 21:34  | N° d'ordre sur la page en cours : 9 / 15 | N° d'ordre sur le topic : 9 / 88
...
en fait chacun choisi sa precision... sauf pour l'architecture x86, ou un float fait forcement 32 bits... dans d'autres puces c'est pas toujours le cas, souvent 32 mais aussi 5 de + chez HP et maintenant sur les 3Dnow, ils ont (il me semble) un format reduit

en effet, 23 bits pour les digits 1 pour le signe et 8 pour la mantisse cela fait beaucoup pour la mantisse. Car pour un jeu 3D si tu representes ton repere en cm, tu n'as pas besoin de connaitre les cordonnees a 10^256 cm de la camera, en general les faces au dela de 50m sont effaces donc cela ferait de 0 a 50000m soit un ordre de grander de 10^5, une mantisse 3 bis serait largement suffisante dans ce cas , pareil au niveau de la precision des digits

Inutile de savoir qu'un point se situe a 132cmde toi ou 132.1324354354 cm. donc on peut aussi reduire les 23bits facilement




                           --> Fct Warning : lire la FAQ svp.
Favern
''Prince des sockets''


Inscrit: Jun 04, 2001
Messages: 14699
Posté le: 08-03-2002 à 21:42  | N° d'ordre sur la page en cours : 10 / 15 | N° d'ordre sur le topic : 10 / 88
Bonjour buzzz,

Je t'avoue comprend seulement trés superficielment tout ceci.

Car il me manque toutes les bases sur les processeur.

Juste une question: C'est quoi un registre ?

Favern
_________________
o----[::::::::::::::>®L©
ChoixPC+ LDLC =Cadeau


                                 --> Fct Warning : lire la FAQ svp.
buzzz
''Chevalier pourfendeur d'écrans bleus''


Inscrit: Jul 09, 2001
Messages: 5490
De: ux point zéro
Posté le: 10-03-2002 à 01:04  | N° d'ordre sur la page en cours : 11 / 15 | N° d'ordre sur le topic : 11 / 88
....

effectivement je pensais que pour toi l'electronicien c'etait de l'acquis.

Bon pour expliquer succintement

Sur la pauvre calculette d y a 10 ans, il y avait une touche M+ M- CM RM. Bref une memoire qui stockait un resultat. Quand tu appuyais sur M+ cela ajoutait le resultat affiche a chiffre stocke en memoire et RM : afficher le contenu, CM (clear memory) la remetter a 0.

le processeur ne sait effectuer que quelques instructions types, addition/soustraction */division comparaison saut (goto) eventuellement suivant le resultat d'une comparaison, appel d une sous procedure (CALL, GOSUB...), Transfert d'octet. Toutes les autres fonction sont des sous-cas de celle la. Donc un proc pourrait ne fonctionner qu'en effectuant que des operations sur la memoire, on est bien d'accord. Ainsi on peut ecrire si [2423] designe l'octet a l'adresse 2423 ADD [2423],2. ( [2423]=[2423]+2 ) Malheureusement, ceci mettrait toutes operations dependantes de la bande passante de la memoire, et tous les pcs seraient restes a 133Mhz en clock CPU. La SDRAM a une vitesse 10 * plus rapide qu'un disque dur, le registre est encore 10* rapide d'acces lui que le HD car directement loge dans le proc. En contrepartie ils sont moins nombreux
exemple pour les x86:
DD debit : 30MO/s capacite 30GO
memoire : 133Mo/s capacite 256 Mo
registre : < 1cycle proc capacite 16 octects

dans le chipset des PC il y a 4 registres standard, AX,BX,CX,DX de 32 bits ( 4 * 4 octects = 16). Toutes les commandes du jeu d'instruction s'effectuent entre un registre et une memoire ou une constante : 4, 6 8...

ainsi on ne peut pas trouver
ADD [563],4
ADD [436],[5454]
mais on trouvera
ADD AX,[5454]
ADD [444],AX
ADD AX,8

c'est les herirages de l'architecture intel. D'autres puces existent avec +++ de registres ( + 64 parfois ) et en contrepartie ont un nombre d'instruction machine faible RISC. Les CISC ont par contre beaucoup plus d'instructions mais en contrepartie ont moins de registre.

Cela vient que la taille des instructions du langage est limite a quelques octects. Ainsi pour stocker une instruction stype ADD [444],[444] il faut stocker ADD (1 octect pour 256 instructions), deux adresses sur 32 bits cela ferait 32*2+8 = 72 bits, c'est plus gros que le bus, donc pas faisable rapidement. Donc intel prefere ADD AX,[444] code "ADD AX", comme une instruction et [444] sur 32 bits, ainsi cela fait plus que 40 bits .

Si tu as beaucoup de registre, cela mutiplie le nomnbre d'instructions : ADD numeroregistre,[444], il faudra plus de bit pour stocker le numero du registre et globalement il y aura moins d'instruction au final. Par exemple pour un intel ADD ?X,...
ce code sur 6 bits pour ADD, et 2 bits pour AX,BX,CX et DX.

Bref les 4 registres ont plutot des taches precises, AX resultat de calcul, BX addresse, CX compteur de boucle et DX deuxieme adresse.

en langage machine, ecrire un programme c'est donc comme faire un programme dans un langage quelconque sauf que tu as droit qu'a 4 variables et tous le restent c'est des adresses.

je te laisse digere tout cela

si qqc de flou ne pas hesiter a en redemander

ps il existe bien d'autre registre dans un proc mais tu n'est pas sense les manipuler directement . Ainsi il existent CS et IP qui indique la position dans la memoire de la prochaine instruction a executer. Tu n'es as sense toucher a ce registre toi meme surtout pas,

un dernier detail en memoire tout est bits, je veux dire les instructions machines comme les autres donnees. Ainsi le proc ne sais a quoi il a affaire que par rapport a ce qu'il fait. Ainsi si il doit executer l'instruction qui est a l'adresse xxx, il lira 4 octects a cette adresse et recherchera l'instruction machine correspondante. Si on lui dit d'ajouer a AX le nombre a l'adresse xxx, il considera que xxx est cette fois un nombre et s'en servira pour une addition. Pourtant, a l'adresse xxx il n'y avait que des bits

[ Ce message a été édité par: buzzz le 2002-03-10 01:17 ]


                           --> Fct Warning : lire la FAQ svp.
Favern
''Prince des sockets''


Inscrit: Jun 04, 2001
Messages: 14699
Posté le: 10-03-2002 à 07:22  | N° d'ordre sur la page en cours : 12 / 15 | N° d'ordre sur le topic : 12 / 88
Bonjour Buzzz,

merci pour tout ca. Effectivement je vais digérer tout ca, et aprés je poserais les question si besoin

Au fait je ne suis pas électronicien. Mais plutot électrotechnicien. Donc pour moi c'est plutot les moteurs et les transformateurs.......

Favern
_________________
o----[::::::::::::::>®L©
ChoixPC+ LDLC =Cadeau


                                 --> Fct Warning : lire la FAQ svp.
Favern
''Prince des sockets''


Inscrit: Jun 04, 2001
Messages: 14699
Posté le: 10-03-2002 à 07:50  | N° d'ordre sur la page en cours : 13 / 15 | N° d'ordre sur le topic : 13 / 88
Quote:

Le 2002-03-10 01:04, buzzz a écrit:
le processeur ne sait effectuer que quelques instructions types, addition/soustraction */division comparaison saut (goto) eventuellement suivant le resultat d'une comparaison, appel d une sous procedure (CALL, GOSUB...), Transfert d'octet. Toutes les autres fonction sont des sous-cas de celle la. Donc un proc pourrait ne fonctionner qu'en effectuant que des operations sur la memoire, on est bien d'accord. Ainsi on peut ecrire si [2423] designe l'octet a l'adresse 2423 ADD [2423],2. ( [2423]=[2423]+2 )


Là par contre j'arrive pas à te suivre
Ca arrive souvent que le contenue de la mémoie à le méme nombre que l'adresse ?

Et que signifie le "+2" ?

Quote:

Malheureusement, ceci mettrait toutes operations dependantes de la bande passante de la memoire, et tous les pcs seraient restes a 133Mhz en clock CPU.


Je ne vois pas vraiment pourquoi je t'avoue ?

Quote:

ADD [563],4
ADD [436],[5454]
mais on trouvera
ADD AX,[5454]
ADD [444],AX
ADD AX,8


Oui, mais dans le 1er cas, il y a avait les données. Et maintenant il n'y a plus les données ?

Quote:

Cela vient que la taille des instructions du langage est limite a quelques octects. Ainsi pour stocker une instruction stype ADD [444],[444]


Je ne comprend plus trop non plus. Tu m'as dis au début que le 1er nombre désigné les données et aprés que l'on avais l'adresse non ?
Et maintenant tu me dis que ce sont 2 adresse ?



En fais pour toutes les questions que je t'ai posé jusqu'a maintenant on peu la résumer en:
Pour ce genre d'instruction:
"ADD [444],[444]". Que signifie le 1er chiffre et le second ?


Par contre j'ai bien compris le reste

Merci

Favern

_________________
o----[:::::::::::::>®©

[ Ce message a été édité par: Favern le 2002-03-10 07:50 ]

[ Ce message a été édité par: Favern le 2002-03-10 08:00 ]


                                 --> Fct Warning : lire la FAQ svp.
buzzz
''Chevalier pourfendeur d'écrans bleus''


Inscrit: Jul 09, 2001
Messages: 5490
De: ux point zéro
Posté le: 11-03-2002 à 04:23  | N° d'ordre sur la page en cours : 14 / 15 | N° d'ordre sur le topic : 14 / 88
la aussi il s'agit de notation, donc je te la donne :

quand tu ecris un nombre sans autre signe quel que soit l ecriture : octal,decimal ou hexa, cela represente une valeur, au sens un nombre qui va participer a une operation arithmetique.

Des que l'on pose les [], il s'agit alors d'une adresse, et j'ai oublie, [444] designe la valeur contenue dans la case memoire numero 444...

Ainsi
MOV BX,1234 (de droite a gauche toujours, donc 1234 dans BX)
MOV AX,[BX] (et maintenant [1234] dans AX

ainsi le registre AX contient la valeur contenue dans la case memoire 1234.

Alors quand j'ecrit la sequence suivante
MOV AX,[1234];
ADD AX,10;
CMP AX,50 (compare AX a 50)
JE toto (si egal allez a toto)

La premiere instruction est une bloquante, car elle accede a la memoire. Donc le proc attend le bus. Les trois suivantes s'effectuent sur des registres internes au proc, donc ne dependent plus du bus memoire, peuvent etre optimise. Grosso modo, aujourdh'ui elles doivent etre execute en moins d'un cycle, deux au plus.

Bon, alors si tu n'as pas de registre tu es oblige d'ecrire
MOV [1235],[1234]
ADD [1235],10
CMP [1235],50
JE toto

donc la toute tes operations dependent du bus memoire, puisque le proc n'a plus moyen de souvenir d'un resultat, tout chiffre est lue en memoire et le resultat n'est pas stocke dans un registe mais reecrit en memoire... donc a part le jump tout passe par des lectures/ecritures memoire


voila, dis moi ce qui te manques



_________________
perdu dans la thèse ou dans l'espace intergalactique... (depend des jours)

[ Ce message a été édité par: buzzz le 2002-03-11 04:25 ]


                           --> Fct Warning : lire la FAQ svp.
kirin
''Enchanteur de config''


Inscrit: Jun 04, 2001
Messages: 79150
Posté le: 11-03-2002 à 21:08  | N° d'ordre sur la page en cours : 15 / 15 | N° d'ordre sur le topic : 15 / 88
Salut Buzzz,

Quote:
pour etre franc, je fais plutot des suppositions par rapport au "peu" que je sais sur le sujet. Je peux me tromper... mais je pense que ca doit tourner autours de cela.



Modeste va ou très bon en suppositions

C tout bon

Amities buzzz

Seb

PS : le fait de construire un processeur 256 bits de large est un pb d'architecture, de surface, de dissipation thermique comme tu l'as dis mais je crois que c aussi un peu un pb d'hyperfréquence... plus les bus sont larges plus ca "bourdonne" et plus il y a risques de pb de parasitages et propagations d'ondes notamment ...


                                 --> Fct Warning : lire la FAQ svp.
Forum ChoixPC » » Archives : matériel PC - dépannage et technologie - » » question sur les GPU Haut de page | Posts récents

Aller directement à la page : ( 1 | 2 | 3 | 4 | 5 | 6 Page suivante )