PDA

View Full Version : Fond. informatica: pipeline e CPU


andreaxol
09-02-2004, 21:38
Ciao a tutti :)

Mi spieghereste che cos' è una pipeline?

Il P4 Nortwood (es. 3 Ghz) ha una pipe a 30 stadi quindi per fare un calcolo impiega 30 cicli di clocK...giusto?

Significa che per fare 1+1 in un secondo vengono occupati 30 cicli su 3.000.000.000?

Chiaro che più la pipe è corta più calcoli si possono fare in un quanto (secondo)...

Perchè la pipe deve essere allungata per salire di frequenza (Intel)?

Questo vuol dire che prima o poi anche AMD dovrà aumentare la lunghezza delle pipeline se vorrà schiodarsi dal 2.x GHz?

Quali sono i motivi per cui AMD ha scelto una pipe corta e Intel una pipe lunga? (e conseguentemente - mhz per la prima + per la seconda)

Scusate le troppe domande...se tra una domanda e l' altra ho detto qualche castroneria correggetemi :p

Grazie per i chiarimenti!

Francvs
09-02-2004, 21:54
uppo la questione interessa anke a me...:)

lucas86mj23
09-02-2004, 22:08
ri-uppo

riaw
09-02-2004, 22:09
Originariamente inviato da andreaxol

1) Mi spieghereste che cos' è una pipeline?

2) Il P4 Nortwood (es. 3 Ghz) ha una pipe a 30 stadi quindi per fare un calcolo impiega 30 cicli di clocK...giusto?

3) Significa che per fare 1+1 in un secondo vengono occupati 30 cicli su 3.000.000.000?

4) Chiaro che più la pipe è corta più calcoli si possono fare in un quanto (secondo)...

5) Perchè la pipe deve essere allungata per salire di frequenza (Intel)?

6) Questo vuol dire che prima o poi anche AMD dovrà aumentare la lunghezza delle pipeline se vorrà schiodarsi dal 2.x GHz?

7) Quali sono i motivi per cui AMD ha scelto una pipe corta e Intel una pipe lunga? (e conseguentemente - mhz per la prima + per la seconda)

8) Scusate le troppe domande...se tra una domanda e l' altra ho detto qualche castroneria correggetemi :p




1) l'unità di calcolo del processore. la pipeline è composta da unità in sequenza che eseguono le istruzioni "semplici"

2) il nw ha 20 stati, il prescott 30 stati, quindi impiegano rispettivamente 20 e 30 cicli.

3) non mi ricordo se il numero di stadi della pipeline è riferito all'alu o all'fpu o a tutte e due, quindi rimando la questione a qualcun altro.
cmq dovrebbero metterci 20 e 30 cicli rispettivamente.

4) si ma il processore sale meno in frequenza.

5) non ti saprei dire esattamente, quello che presumo è che, se la pipeline è più lunga:
a) ogni unità esegue conti più semplici, e risulta quindi più snella.
b) essendo il lavoro suddiviso fra più unità, ogni unità scalda meno, e quindi sale meglio.

6) non è detto.....
intel non per arrivare a 1600mhz ha dovuto usare una pl a 20 stati, amd è arrivata a 2.qualcosa con 10 (o 12?) stadi.

7) scelte progettuali.....
perchè la ferrari fa automobili sportive e la scania fa camion?

8) no mi sa che qualche castroneria l'ho detta io :)

lucas86mj23
09-02-2004, 22:21
ah!trovato!!
http://www.tombraiders.it/public/paip.JPG

techman
09-02-2004, 22:25
eh...sempre con sta pipeline...ma e' un vostro chiodo fisso? :D ...scherzo...allora la pipeline cos'e'..il principio che c'e' sotto e' quello di dividere ogni istruzione in piu' unita' di elaborazione,nel caso del p4 in 30 stadi. per dividere l'istruzione intendo: immagina di avere 5 unita' di elaborazione da p1 a p5 chiamate:
p1)unita' di prelevamento istruzioni
p2)analizzatore di istruzioni
p3)unita' di calcolo degli indirizzi
p4)unita' di prelevamento dati
p5)unita' di esecuzione istruzioni
e mettile tutte di fila come se fossero un trenino.Durante il primo intervallo di tempo l'istruzione viene presa da p1,nel secondo intervallo di tempo p1 passal'istruzione a p2 che la analizza e contemporaneamente p1 prende un'altra istruzione. Negli istanti successivi (cioe' ad ogni colpo di clock)una nuova istruzione viene prelevata da p1,mentre le altre istruzione vengono passate da un'unita' all'altra fino a p5 che e' quello che esegue meramente l'istruzione.Quindi in soldoni e' vero che ogni istruzione viene eseguita in cinque colpi di clock(nel nostro esempio) ma e' anche vero che cio' succede solo quando la pipeline e' vuota cioe' quando avvii il pc. Una volta che la pipeline e' a pieno regime una istruzione viene eseguita in un colpo di clock. Da notare che i micro oltre ad avere pipe sono anche scalari cioe' hanno piu' alu e quindi piu' pipe in parallelo. Sinceramente non so perche' la pipe di amd sia piu' corta di intel ma le prestazioni sembrano dare ragione a amd.Spero di essere stato chiaro e convincente.....ciao ;)

Dumah Brazorf
09-02-2004, 23:00
E' stato creato un thread del genere appena 2 giorni fa... sforzatevi un po' col tasto cerca prima, su... :muro:
Ciao.

andreaxol
10-02-2004, 11:46
Un grazie a Riaw, lucas86mj23, techman

andreaxol
10-02-2004, 11:48
Originariamente inviato da Dumah Brazorf
E' stato creato un thread del genere appena 2 giorni fa... sforzatevi un po' col tasto cerca prima, su... :muro:
Ciao.


Come si intitolava il tread?

Devo scrivere a un mod così se riterrà necessario chiuderà questa discussione?

;)

andreaxol
10-02-2004, 14:10
fpu e alu cosa significano?

In definitiva 1+2+3 richiede 60 cilci in un Prescott?

Tnx

lucas86mj23
10-02-2004, 14:25
http://www.tombraiders.it/public/alu.JPG

ciccio88
10-02-2004, 14:58
Originariamente inviato da riaw
5) non ti saprei dire esattamente, quello che presumo è che, se la pipeline è più lunga:
a) ogni unità esegue conti più semplici, e risulta quindi più snella.
b) essendo il lavoro suddiviso fra più unità, ogni unità scalda meno, e quindi sale meglio.

se la pipelina è + lunga riesce a fare + cicli di clock in un secondo rispetto a una pipeline + corta, xò contemporaneamente x concludere un ciclo di clock ci vorrà + tempo, xkè un calcolo dovrà passare da + stadi
è un po quello ke kambia fra intel e amd :cool:

andreaxol
10-02-2004, 15:24
x lucas86mj23

Spara il link :D

checo
10-02-2004, 16:03
Originariamente inviato da andreaxol
fpu e alu cosa significano?

In definitiva 1+2+3 richiede 60 cilci in un Prescott?

Tnx
no semplificando al massimo al limite delle eresie

prescotto ha una pipe di 31 stadi facciamo 30 senza distinzione tra alu e fpu

partiamo nell ipotesi che la cpu non abbia eseguito nulla prima
la pipeline viene riempita e per avere il risultato di 1+2 servono 30 cicli
per avere il risultato seguente 31.

questo in supersoldoni

lucas86mj23
10-02-2004, 17:26
Originariamente inviato da andreaxol
x lucas86mj23

Spara il link :D

http://www.guidapc.com/glossario/

Dumah Brazorf
10-02-2004, 17:51
Non tutte le istruzioni utilizzano tutti gli stadi per essere eseguite, almeno così accade nei processori RISC. La somma semplice dovrebbe essere una di queste.
Ciao.

andreaxol
10-02-2004, 18:44
Tutto molto più chiaro...

Il bus di sistema che funzione ha? Come funziona il bus DDR e il QDR dei P4?

Sempre in soldoni, nè :D

^TiGeRShArK^
10-02-2004, 23:08
in teoria, senza svuotamenti di pipeline, la pipe a 30 stadi sarebbe il 50 % + veloce di quella a 20 stadi, perkè l'allungamento del 50% dovrebbe corrispondere a una semplificazione del 50%, e di conseguenza a un aumento della velocità di clock del 50%.
Questo sembrerebbe un controsenso x quanto era stato detto sopra del fatto ke x fare 1+1 servono 20 cicli per la prima pipe e 30 x la seconda. Detto così sembrerebbe ke le velocità di calcolo delle due pipe devono essere identike, perkè la prima è a 20 stadi e mettiamo a 2 ghz, mentre la seconda è a 30 stadi e a 3 ghz, quindi il numero di stadi/ghz sarebbe uguale.
Ma in realtà, una pipe (sempre non considerando gli svuotamenti) permette di eseguire i calcoli sequenzialmente, quindi, subito dopo l'arrivo del primo risultato, al ciclo di clock successivo arriverà il secondo, a quello dopo il seguente e così via. Quindi abbiamo ke a regime le due pipe ci forniranno esattamente un risultato x ciclo di clock, ma essendo la seconda pipe operante a frequenza il 50% più elevata, riuscirà a eseguire un numero di istruzioni per unità di tempo più elevato del 50%.
Questo ovviamente in teoria. Nella realtà ci sono delle operazioni ke non possono essere compiute prima di altre a causa di dipendenze, e per questo la pipe dovrebbe aspettare ke venga svolto un calcolo prima di poter eseguire il successivo.
Ciò comporta uno stallo della pipeline, e quindi necessita di nuovo di essere riempita, comportando uno spreco notevole in termini temporali (ricordiamo ke la pipe + lunga ci metterà pure + tempo x riempirsi...)

Spero di essere stato abbastanza kiaro, nonostante la mia manifesta incapacità a spiegare le kose...

:sofico:

checo
11-02-2004, 10:09
Originariamente inviato da andreaxol
Tutto molto più chiaro...

Il bus di sistema che funzione ha? Come funziona il bus DDR e il QDR dei P4?

Sempre in soldoni, nè :D
ti rimando a
questo (http://www.lithium.it/articolo.asp?code=52&pag=3&user=299) articlo che speiga proprio quello che vuoi sapere

andreaxol
11-02-2004, 12:39
Grazie

Che mattone :D