Newsgroup: it.scienza.informatica
Titolo: MHz oppure MFLOPS

E' più corretto quantificare le prestazioni di un calcolatore in MHz oppure
in MFLOPS?
(798 MegaFLOPS la dice più lunga di 1533GHz oppure mi sbaglio?)
Alla fin fine non è detto che un processore a 2GHz esegua effettivamente
2Mld di istruzioni al secondo no?
Ciao

 Ciao
Ciao, Davide :)


In ogni caso usa i mflop (miglioni di istruzioni in floating point oer
secondo)
i mhz dicono solo quante volte in un secondo una cpu riceve il clock
per altro per ogni clock si arriva ad eseguire anche 6-7 istruzioni.
In altri termini due cpu differenti con lo stesso clock potrebbero anzi
hanno prestazioni fdifferenti.

Davide Hops wrote:
 > Esatto, le cpu moderne arrivano ad eseguire anche piu' di una istruzione per
 > ciclo di clock.
Ahh. No! ne eseguono BEN meno. Una istruzione per ciclo di clock e` il limite
superiore per ogni processore. Se non ci sono salti non calcolati, se non ci
sono dipendenze logiche sui registri e un'altro paio di cosette.
E soprattutto se il codice e` ottimizzato espressamente per quel tipo di
processore. Dove "processore" e` una descrizione molto restrittiva che va
oltre il nome commerciale. E tiene conto dell'architettura e del rapporto di
velocita` processore/bus memoria.
Ovviamente per problemi di compatibilita` di solito viene usato codice NON
ottimizzato, in modo che giri benino su tutti i processori.
Giorgio

 superiore per ogni processore.
Mai sentito parlare di pipeline, architettura scalare, esecuzione fuori
ordine......
Il limite teorico delle cpu attuali (diciamo Athlon Xp e Pentium 4) e' ben
superiore ad una istruzione per clock; ovviamente tale limite si ottiene in
corrispondenza di istruzioni semplici e in assenza di stalli.
Ciao, Davide :)

> Suppongo che per calcolatore tu intenda processore :)
A forza di leggere calcolatore, finirņ col chimare il mio cane in questo
modo.. :) (Tutta colpa di Tanenbaum.. :))))


Ne l' uno ne l' altro , sono parametri indicativi  ma non riescono a
quantificare esattamente la potenza di un elaboratore e nemmeno di un
microprocessore.
Esiste 
www.spec.org
  proprio per questo

 limite superiore per ogni processore.
E' sbagliato. I processori multi-pipeline sono capaci di eseguire anche 
piu' di una istruzione alla volta. In pratica contengono piu' di una 
pipeline per eseguire i comandi + della logica per non far eseguire 
istruzioni che dipendono da altre che non hanno ancora finito.
In piu' per i salti esistono le BPU (Branch Prediction Unit) che sono in 
grado di azzeccare i salti condizionali in una buona percentuale.
-- 
Nicola Scolari
"Smile, tomorrow will be worse."


Okei. So che se ci sono n pipeline potrei eseguire n istruzioni. Ma i 
processori in commercio hanno anche n IR? Non mi pare. Se ce ne una il limite 
e` quello.
(certo a meno di non considerare le "long istruction" come separate)

in MFLOPS?<snip>
Dipende.
Prestazioni riguardo a cosa? Calcolo di reti neurali, usare il
correttore ortografico di un elaboratore di testi o fare il caffe'?
Per comparare due cose diverse, occorre farlo su una base comune, come
il tempo per elaborare un algoritmo (si spera finito... e con le
stesse condizioni iniziali).
Anche il termine stesso, 'prestazione', e` ambiguo... cosa si intende
per 'prestazione'? Il tempo effettivo o il numero di cicli di clock
usati per finire un lavoro?
Anche a 'prestazione' calcolata, occorre definire la relazione
d'ordine 'meglio' tra due prestazioni. Esistono contesti dove  il
calcolatore piu' lento potrebbe essere 'meglio' di quello piu`
veloce... 
Andrea

"Davide Hops" <david...@REMOVEyahoo.it> ha scritto nel messaggio
news:Rucm9.194792$pX1.7...@news2.tin.it...

e sopratutto nelle attuali cpu ci sono più ALU in grado di lavorare in
parallelo e dunque svolgendo più operazioni in parallelo, a volerla dire
tutta attualmente i problemi di prestazioni non stanno dentro le cpu ma
fuori, (a cominciare dal bus in poi), nel reperire i dati per "foraggiare"
le cpu nel loro lavoro.

 ha scritto nel messaggio
news:ancgnr$c5laq$1...@ID-153670.news.dfncis.de...

Instruction Register?
ne hanno molti
molti di piů
non visibili ma li hanno
tieni conto che quello visibile e di fatto il contatore della commit unit e
tipicamente tutti gli altri sono piů avanti rispetto a quello


No scusa intendevo IM, Istruction Memory. Per funzionare a pieno regime i 
multi pipeline devono avere differenti istruction memory altrimenti non vanno. 
Dalle specifiche che lessi a suo tempo ne il p4 ne l'athlon avevano differenti 
IM per i vari pipeline. Se l'istruction memory spara al massimo una istruzione 
(o parola di 32 bit) a botta sempre quello e` il collo di bottiglia teorico.

 ha scritto nel messaggio
  > news:anahqo$cjnjc$1...@ID-153670.news.dfncis.de...
  >>
  >>Ahh. No! ne eseguono BEN meno. Una istruzione per ciclo di clock e` il
  >>limite
  >>superiore per ogni processore.
  >
  >
  > Mai sentito parlare di pipeline, architettura scalare, esecuzione fuori
  > ordine......
  > Il limite teorico delle cpu attuali (diciamo Athlon Xp e Pentium 4) e' ben
  > superiore ad una istruzione per clock; ovviamente tale limite si ottiene in
  > corrispondenza di istruzioni semplici e in assenza di stalli.
  >
  > Ciao, Davide :)
pipeline, architetture scalari, esecuzione fuori ordine, permettono di
eseguire piu` istruzioni contemporaneamente, ma una singola istruzione dura
parecchi cicli di clock nel senso di inizio e di fine. In media (cioe` a
regime) in N cicli di clock riesci ad eseguire (iniziare e terminare) meno di
N istruzioni.
D'altronde vedila cosi`: come fai a prelevare IN MENO DI UN CICLO DI CLOCK
un'istruzione dalla istruction memory? (che e` UNA anche nei processori di
ultima generazione).
Ora pero` in effetti (ma non e` il caso del P4 e dell'athlon) potrei prendere
piu` parole di memoria piu` lunghe con "piu` istruzioni dentro", decodificarle
in parallelo ed eseguirle. Questa e` la filosofia di base delle "very long
istruction". Solo che la stretta correlazione delle istruzioni che possono
essere accorpate, di solito fa parlare di un'unica istruzione lunga piuttosto
che di una sequenza di semplici istruzioni.
Giorgio

 Esiste 
www.spec.org
  proprio per questo
Lo sò, ma come parametro indicativo è ottimo non credi? Altrimenti ogni
discorso tra amici (e conoscenti) si trasformerebbe in una conferenza sulle
architetture e le organizzazioni delle CPU.. :)))

 in parallelo ed eseguirle.
Effettivamente io pensavo che si verificasse proprio questo, sono andato a
controllare ed ho visto di aver toppato, chiedo venia :)
E' vero che, essendo le istruzioni di lunghezza variabile, in un ciclo di
clock se ne possono prendere anche piu' di una pero' esse non vengono
inviate alle unita' di esecuzione in parallelo bensi' messe in un
instruction pool dal quale vengono estratte una alla volta.
Ciao, Davide :)