Newsgroup: it.comp.hardware.cpu
Titolo: Per esperti!!!

Nelle varie e interminabili diatribe tra AMD e Intel si è sempre detto (e
dato per scontato) che ciò che permette al P4 di sclare bene in frequenza è
la profonda pipeline, ma mentre è stato numerose volte spiegato perche'
questo porta ad inefficienza della CPU non sono riuscito a trovare
spiegazioni dei *motivi fisici* per i quali una pipeline profonda permette
di lavorare a frequenze maggiori (ES. La tecnologia SOI (in brevissimo)
permette di scalare meglio in frequenza PERCHE' i transistor commutano più
velocemente). Chiaro ciò che intendo?
Attendo lumi ;-)
grazie ciao gigi
--
printf("Welcome on Windows 98");
if (system_still_up()) {
    crash(system);
    force_reboot(); }

 velocemente). Chiaro ciò che intendo?
Boh la butto li...secondo me il fatto che la pipeline sia lunga, rende più
semplici i calcoli e le operazioni che il processore debba fare a ogni
stadio, e di conseguenza se il carico x ogni stadio è più leggero si può
aumentare di + la frequenza. Guarda ke è uan mia supposizione (supposta :-)
xke non me ne intendo, x un parere professionale aspetto qualcun'altro ^__^

 --
In breve perchè utilizzando uan pipeline a più stadi  si ha il vantaggio
di caricare più istruzioni per unità di tempo rispetto ad una pipeline
più corta e questo comporta un minor lavoro ad ogni passo; in
questo modo la lunghezza dei cicli di clock può essere ridotta
consentendo così di aumentare la frequenza di clock e quindi la
velocità di esecuzione (però con tutti gli svantaggi che i rischi di stalli
alla pipeline possono comportare).
Ciao.

 di lavorare a frequenze maggiori
Diciamo che che il tempo massimo richiesto da un processore per eseguire
un'istruzione sia t - questo è un tempo determinato da fattori fisici.
Questo significa che ogni ciclo di clock non può durare meno di t,
altrimenti potrebbero verificarsi errori di calcolo. 1/t (il reciproco di t)
sarà allora la massima frequenza di funzionamento del processore (se t è in
microsecondi, 1/t sarà in MHz). Se mi limito a questo, l'unico modo per
aumentare la frequenza è passare a processi produttivi migliori, o entro
certi limiti ridisegnare il core, il che mi garantisce un t minore.
Si è però visto che le operazioni svolte da un processore sono composte a
loro volta da stadi intermedi che utilizzano una sola parte del processore
per volta. Diciamo allora che riesco a suddividere ogni istruzione del
processore in n sotto-operazioni, tali che ognuna di esse, per essere
completata, non richieda un tempo superiore a t/n. Posso utilizzare allora i
cicli di clock per indicare il completamento di ogni stadio dell'esecuzione;
quando il primo stadio della prima istruzione viene completato, questa passa
al secondo stadio, e una seconda istruzione può essere caricata nel primo
stadio, senza aspettare che la prima istruzione venga completata - è un
meccanismo fortemente analogo a ciò che capita in una catena di montaggio.
Fare questo significa implementare un pipelining: in linea teorica potremo
raggiungere una frequenza di n/t (il reciproco di t/n), cioè n-volte quella
del processore senza pipeline. Immagino che un tale incremento di frequenza
rimanga teorico perché l'efficienza non è mai assoluta... tuttavia prova a
immaginare un P4 a 100 MHz :-)).
Spero di essermi spiegato bene (anzi, se qualcuno ha da fare correzioni le
faccia, perché questa mi sembra una risposta adatta alle FAQ).
Saluti.
--
 +------> Xe||oss <-------+       in real life: Wilmer Ricciotti
 | 
wirix...@libero.it
  |    * elimina il DEMONE per rispondermi *
 |     ICQ: 3233084       |  -----------------------------------------
 |IRC: Xe||oss@AzzurraNet |   No one was born to be servant or slave
 +------------------------+   Can you tell me the color of the rain?

 di lavorare a frequenze maggiori
Diciamo che il tempo massimo richiesto da un processore per eseguire
un'istruzione sia t - questo è un tempo determinato da fattori fisici.
Questo significa che ogni ciclo di clock non può durare meno di t,
altrimenti potrebbero verificarsi errori di calcolo. 1/t (il reciproco di t)
sarà allora la massima frequenza di funzionamento del processore (se t è in
microsecondi, 1/t sarà in MHz). Se mi limito a questo, l'unico modo per
aumentare la frequenza è passare a processi produttivi migliori, o entro
certi limiti ridisegnare il core, il che mi garantisce un t minore.
Si è però visto che le operazioni svolte da un processore sono composte a
loro volta da stadi intermedi che utilizzano una sola parte del processore
per volta. Diciamo allora che riesco a suddividere ogni istruzione del
processore in n sotto-operazioni, tali che ognuna di esse, per essere
completata, non richieda un tempo superiore a t/n. Posso utilizzare allora i
cicli di clock per indicare il completamento di ogni stadio dell'esecuzione;
quando il primo stadio della prima istruzione viene completato, questa passa
al secondo stadio, e una seconda istruzione può essere caricata nel primo
stadio, senza aspettare che la prima istruzione venga completata - è un
meccanismo fortemente analogo a ciò che capita in una catena di montaggio.
Fare questo significa implementare un pipelining: in linea teorica potremo
raggiungere una frequenza di n/t (il reciproco di t/n), cioè n-volte quella
del processore senza pipeline. Immagino che un tale incremento di frequenza
rimanga teorico perché l'efficienza non è mai assoluta... tuttavia prova a
immaginare un P4 a 100 MHz :-)).
In soldoni il pipelining non serve ad diminuire il tempo necessario a
processare un'istruzione (che rimane t) ma ad aumentare il throughput di
istruzioni.


 xke non me ne intendo, x un parere professionale aspetto qualcun'altro ^__^
Giusto. Ovviamente poi c'è chi è in grado di spiegarti queste cose con
terminologia più precisa e con altre ragioni però il succo è questo
-- 
e-mail: dialtone#/N0SPAM/#@
aruba.it
     |Non vorrei piacere a tutti
togliere #N0SPAM# per inviare           |Avrei meno stima di me stesso
Powered by Debian Woody                 |Se piacessi a certa gente
On Linux 2.4.17 - WM 0.80.0             |

 --
Nessuna obbiezione prof. Xellos  ;-).
Ciao.

faccia, perché questa mi sembra una risposta adatta alle FAQ).
Senz'altro è stata chiara e mi sembra un buon bilancio tra semplicità e
"tecnicismo" (si dice?)
grazie ancora (anche agli altri che hanno risposto)


 faccia, perché questa mi sembra una risposta adatta alle FAQ).
Infatti... direi aggiudicata


 faccia, perché questa mi sembra una risposta adatta alle FAQ).
Ma dove si trovano le faq?

 Ma dove si trovano le faq?
Saddà fa ancora... PaRRoT doveva metterle sul suo sito ma ancora non si
sa chi le sta tenendo da parte e chi si occupa di tenerle aggiornate.


faccia, perché questa mi sembra una risposta adatta alle FAQ).
ti sei dimenticato di spiegare tutta la parte sulle ooe che rende il
pipelining un vantaggio invece di uno spreco di transistor - vai che
ti infiliamo direttamente in faq :-)
--
    (iao!!oai)                                    (ICQ: 10860566)
    //.aurizio
[WARNING!: togliete _nessuno_ per rispondere]
    Time may change me
    But I can't trace time