Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3633 connectés 

 


Dernière réponse
Sujet : pipeline
Tetedeiench

w_o_moving a écrit a écrit :

quel rapport avec les ecrans??
 
Un pipeline c'est d'abord un gros tuyau pour transporter du petrole ou du gaz (oleoduc, gazoduc)
 
L'image a ete reprise en architecture des processeurs :
Ce n'est pas si le proc a une grosse tache, c'est pour chaque instruction que cela fonctionne.
 
Il faut expliquer en 2 mots le fonctionnement d'un processeur.
 
Un processeur comme son nom l'indique execute des instructions. Or une instruction prend en general 3 à 5 cycles (ou plus).  
Un cycle pour decoder l'instruction, un pour faire l'operation, un pour rendre le resultat, etc.
Donc la puissance du processeur (sa capacité à executer N instructions / seconde => IPS) ne va pas etre identique à sa frequence d'horloge. On a beau augmenter la frequence du proc, on gagne pas beaucoup en puissance de calcul.
 
On a donc chercher à ameliorer l'execution d'une instruction, en essayant d'obtenir 1 instruction / cycle. L'architecture pipeline est née.
En gros le processeur ne pouvait pas executer une 2e instruction tant qu'il n'avait pas fini la 1ere.
L'idée est donc de decouper l'execution d'une instruction en etages (typiquement 5). On commence la 1er instruction par le 1er etage, puis quand celle ci passe dans le 2e etage, on peut en commencer une autre par le 1er etage, et ainsi de suite.
Certes on met tjs le meme temps pour executer une instruction, mais pdt ce laps de temps on en a commencé 4 autres.
 
Vala je sais pas si c'est bien clair... :)
 
En tout cas... je vois pas bien le rapport avec les ecrans
 
w_o_moving




 
Dans le cas d'un processeur a Pipeline, on ne met pas le meme temps que si la tache se faisait en une fois.
 
On met du temps a inserer les "buffers" intermediaires, et mettre des valeurs dans un buffer prends du temps.
 
La meilleure image du pipeline que j'aie est celle ci.
 
Imagine deux usine de construction de bagnole.  
 
-Dans la premiere, tu mets tout ce qu'il faut pour bosser dans une seule machine. La machine bosse 20 heures, et te rends une bagnole toute prete.  
 
Maintenant que la machine est libre, elle peux commencer une nouvelle bagnole.
 
Rendement : 1 Bagnole/20h.
 
-Dans la seconde, tu as 4 machines independantes, chacune faisant une etape de l'operation.
 
Tu mets tout ce qu'il faut a la machine #1 pour qu'elle demarre. Elle bosse 5h, et te rends une carosserie. Un employe va ensuite diriger la carrosserie vers la seconde machine (il lui faut une heure).
 
La seconde machine prendra la carosserie, et y mettra le moteur. Mais pendant ce temps la... ben la premiere machine est libre. Donc tu peux lui faire faire une seconde carosserie.
 
Elle la fera pendant que la seconde place le moteur sur la premiere carosserie, y a pas de souci.
 
Ensuite, la seconde machine aura termine, au bout disons de 5h... et attendra que la seconde carosserie arrive (1h a attendre) pour prendre la carosserie et mettre le moteur. La premiere refabriquera une carosserie, et la troisieme prendra la premiere carosserie (qui a aussi mis une heure a lui parvenir) pour mettre l'interieur.
 
Et la quatrieme, pareil, mettra la peinture et finlisera la bagnole.
 
Au final, pour faire une bagnole, tu aura mis 20h + 4h de transport soit 24h.
 
Oui, mais apres, la seconde bagnole arrivera 6h plus tard. Donc 2 bagnoles en 30h. 3 en 36h... etc.
 
Le rendement est deja bien meilleur que la premiere usine :)
 
Apres, il y a des problemes a resoudre : Si une instruction depend d'une autre ( par exemple tu as x = 2 + 3 suivi de x * 3 ... comment executer la seconde alors que la premiere a meme pas termine ?), si un if arrive dans le pipeline ( par exemple si x == 2 alors a sinon b. Comment tu va faire pour enchainer si tu n'as pas le resultat de x==2 ?), et d'autres problemes ( style j'ecris mon x dans les registres et en meme temps je lis le x dans les registres... ca va pas marcher) , mais globalement, t'as saisi le principe la je pense :)
 
Mais la premiere est libre, l


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Tetedeiench

w_o_moving a écrit a écrit :

quel rapport avec les ecrans??
 
Un pipeline c'est d'abord un gros tuyau pour transporter du petrole ou du gaz (oleoduc, gazoduc)
 
L'image a ete reprise en architecture des processeurs :
Ce n'est pas si le proc a une grosse tache, c'est pour chaque instruction que cela fonctionne.
 
Il faut expliquer en 2 mots le fonctionnement d'un processeur.
 
Un processeur comme son nom l'indique execute des instructions. Or une instruction prend en general 3 à 5 cycles (ou plus).  
Un cycle pour decoder l'instruction, un pour faire l'operation, un pour rendre le resultat, etc.
Donc la puissance du processeur (sa capacité à executer N instructions / seconde => IPS) ne va pas etre identique à sa frequence d'horloge. On a beau augmenter la frequence du proc, on gagne pas beaucoup en puissance de calcul.
 
On a donc chercher à ameliorer l'execution d'une instruction, en essayant d'obtenir 1 instruction / cycle. L'architecture pipeline est née.
En gros le processeur ne pouvait pas executer une 2e instruction tant qu'il n'avait pas fini la 1ere.
L'idée est donc de decouper l'execution d'une instruction en etages (typiquement 5). On commence la 1er instruction par le 1er etage, puis quand celle ci passe dans le 2e etage, on peut en commencer une autre par le 1er etage, et ainsi de suite.
Certes on met tjs le meme temps pour executer une instruction, mais pdt ce laps de temps on en a commencé 4 autres.
 
Vala je sais pas si c'est bien clair... :)
 
En tout cas... je vois pas bien le rapport avec les ecrans
 
w_o_moving




 
Dans le cas d'un processeur a Pipeline, on ne met pas le meme temps que si la tache se faisait en une fois.
 
On met du temps a inserer les "buffers" intermediaires, et mettre des valeurs dans un buffer prends du temps.
 
La meilleure image du pipeline que j'aie est celle ci.
 
Imagine deux usine de construction de bagnole.  
 
-Dans la premiere, tu mets tout ce qu'il faut pour bosser dans une seule machine. La machine bosse 20 heures, et te rends une bagnole toute prete.  
 
Maintenant que la machine est libre, elle peux commencer une nouvelle bagnole.
 
Rendement : 1 Bagnole/20h.
 
-Dans la seconde, tu as 4 machines independantes, chacune faisant une etape de l'operation.
 
Tu mets tout ce qu'il faut a la machine #1 pour qu'elle demarre. Elle bosse 5h, et te rends une carosserie. Un employe va ensuite diriger la carrosserie vers la seconde machine (il lui faut une heure).
 
La seconde machine prendra la carosserie, et y mettra le moteur. Mais pendant ce temps la... ben la premiere machine est libre. Donc tu peux lui faire faire une seconde carosserie.
 
Elle la fera pendant que la seconde place le moteur sur la premiere carosserie, y a pas de souci.
 
Ensuite, la seconde machine aura termine, au bout disons de 5h... et attendra que la seconde carosserie arrive (1h a attendre) pour prendre la carosserie et mettre le moteur. La premiere refabriquera une carosserie, et la troisieme prendra la premiere carosserie (qui a aussi mis une heure a lui parvenir) pour mettre l'interieur.
 
Et la quatrieme, pareil, mettra la peinture et finlisera la bagnole.
 
Au final, pour faire une bagnole, tu aura mis 20h + 4h de transport soit 24h.
 
Oui, mais apres, la seconde bagnole arrivera 6h plus tard. Donc 2 bagnoles en 30h. 3 en 36h... etc.
 
Le rendement est deja bien meilleur que la premiere usine :)
 
Apres, il y a des problemes a resoudre : Si une instruction depend d'une autre ( par exemple tu as x = 2 + 3 suivi de x * 3 ... comment executer la seconde alors que la premiere a meme pas termine ?), si un if arrive dans le pipeline ( par exemple si x == 2 alors a sinon b. Comment tu va faire pour enchainer si tu n'as pas le resultat de x==2 ?), et d'autres problemes ( style j'ecris mon x dans les registres et en meme temps je lis le x dans les registres... ca va pas marcher) , mais globalement, t'as saisi le principe la je pense :)
 
Mais la premiere est libre, l

w_o_moving quel rapport avec les ecrans??
 
Un pipeline c'est d'abord un gros tuyau pour transporter du petrole ou du gaz (oleoduc, gazoduc)
 
L'image a ete reprise en architecture des processeurs :
Ce n'est pas si le proc a une grosse tache, c'est pour chaque instruction que cela fonctionne.
 
Il faut expliquer en 2 mots le fonctionnement d'un processeur.
 
Un processeur comme son nom l'indique execute des instructions. Or une instruction prend en general 3 à 5 cycles (ou plus).  
Un cycle pour decoder l'instruction, un pour faire l'operation, un pour rendre le resultat, etc.
Donc la puissance du processeur (sa capacité à executer N instructions / seconde => IPS) ne va pas etre identique à sa frequence d'horloge. On a beau augmenter la frequence du proc, on gagne pas beaucoup en puissance de calcul.
 
On a donc chercher à ameliorer l'execution d'une instruction, en essayant d'obtenir 1 instruction / cycle. L'architecture pipeline est née.
En gros le processeur ne pouvait pas executer une 2e instruction tant qu'il n'avait pas fini la 1ere.
L'idée est donc de decouper l'execution d'une instruction en etages (typiquement 5). On commence la 1er instruction par le 1er etage, puis quand celle ci passe dans le 2e etage, on peut en commencer une autre par le 1er etage, et ainsi de suite.
Certes on met tjs le meme temps pour executer une instruction, mais pdt ce laps de temps on en a commencé 4 autres.
 
Vala je sais pas si c'est bien clair... :)
 
En tout cas... je vois pas bien le rapport avec les ecrans
 
w_o_moving
apolon34 ou un tube fifo
 
t'as un process qui ecrit d'un cote et un autre qui lit de l'autre.
 
dans ces cas la, le pipeline sert de tampon
pm

marllt2 a écrit a écrit :

Pour simplifier:
Un proco,quand il a une grosse tache a traiter,la divise en plusieures plus simples.Plus il y en a,plus le proco monte facilement en fréquence,mais en cas d'erreur sur une seule opération,il doit tout recommencer.
Ca doit être à peu près ça en gros.




 
grillaid  :D

pm ou bien système de pipeline ds les procos? Le PIV en est bien gavé.
marllt2 Pour simplifier:
Un proco,quand il a une grosse tache a traiter,la divise en plusieures plus simples.Le P3 en a 10,le PIV en a 20.Plus il y en a,plus le proco monte facilement en fréquence,mais en cas d'erreur sur une seule opération,il doit tout recommencer.
Ca doit être à peu près ça en gros.
pm il m'est avis que ça peut transporter du pétrole entre autre...tu confondrais pas avec heat-pipe des fois?
istmax j'ai recherché ma&is j'ai rien trouvé !  
Kelkun peut me dire ce que c'est que des pipelines ?  
ou me donner un lien ou il expliquerait c koi ! :wahoo:

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)