|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#21 |
|
Member
Iscritto dal: Feb 2005
Città: torino
Messaggi: 177
|
ma quindi poi se io questo amd lo oc. lo farei diventare un mostro,decisamente superiore all'intel!!!oppure correrei dei rischi per nulla?!
__________________
frederik2 |
|
|
|
|
|
#22 |
|
Senior Member
Iscritto dal: May 2004
Città: Erchie
Messaggi: 6927
|
credo ke la cosa migliore da dirti sia di iniziare a comprarti alcune riviste di informatica...naturalmente dal "taglio" + professionale...in modo da apprendere l'architettura e il funzionamento di un processore e in generale di tutto cio ke appartiene al "mondo informatico"...ciauz
|
|
|
|
|
|
#23 | |
|
Senior Member
Iscritto dal: Apr 2004
Città: Livorno
Messaggi: 6659
|
E dai, riviste d'informatica...
Quote:
Un'istruzione per essere eseguita ha bisogno di effettuare più operazioni elementari: codifica, caricamento, etc... (non so come si chiamino in italiano, in inglese sono fetch, decode e così via). Una volta che un'istruzione passa un primo stadio, per quel primo stadio può passarci una seconda istruzione mentre la prima è andata avanti. Proprio come una catena di montaggio. Ecco che compaiono le pipeline multistadio. Ora, in soldoni, una pipeline con più stadi consente di raggiungere frequenze operative maggiori, ma ha i suoi problemi, soprattutto quelli di "branch missing". Il problema si presenta con le istruzioni "condizionali": con queste istruzioni il processore deve decidere quali istruzioni deve eseguire in seguito, e insomma prevede di fare dei "salti" nella lista di istruzioni del programma. Normalmente, quindi, un processore dovrebbe aspettare di finire di eseguire l'istruzione condizionale prima di caricare altre istruzioni nella pipeline: in sostanza, la catena di montaggio si ferma! E' un grosso spreco di tempo, ma per fortuna ci sono dei modi per ridurre drasticamente queste perdite: è il cosiddetto "branch prediction". In sostanza, il processore "predice" quale "ramo" (branch) di istruzioni dovrà essere eseguito in seguito, caricandole preventivamente. Come riesce a predire una cosa del genere? Niente palle di cristallo, semplicemente tenendo una memoria di ciò che ha già eseguito: molto spesso (e dico MOLTO spesso) i processori devono eseguire più volte una serie di istruzioni (dei cicli, cioè), pertanto il processore si aspetta di eseguire nuovamente il ciclo e ne ricarica le istruzioni. Puoi immaginare che non sempre questo va bene: i cicli vanno eseguiti solo un numero limitato di volte, per cui si arriverà ad un punto in cui la previsione del processore è sbagliata. Questo è il cosiddetto "branch missing", ed il processore deve quindi svuotare tutta la pipeline e riempirla con le istruzioni corrette. Puoi immaginare che più la pipeline è lunga, più è ingente la perdita di tempo dovuta allo svuotamento ed al ricaricamento delle istruzioni. E' questo quel che si chiama "stallo" del processore. Le nuove istruzioni vengono recuperate dalla memoria: dapprima si procede alla loro ricerca nella memoria cache di primo livello (L1); se non vengono trovate, si va alla cache L2 e (se presente) alla cache L3. Più il livello della cache è alto, più è lenta. Se ancora non vengono trovate capita il cosiddetto "cache miss": la memoria cache viene interamente svuotata e riempita con nuovi dati dalla RAM, e se anche la RAM non ce li ha vengono caricati dall'HD, e se l'HD non li ha... il programma si pianta! Il cache miss è un problema che fa perdere molto tempo al processore, che rimane inattivo per tutto il tempo di trasferimento dalla RAM. Più la cache è grande meno si verifica, ma più la cache è grande più è lunga la ricerca nella stessa e più è lenta in generale. Quindi bisogna cercare il guisto bilanciamento tra dimensione della cache e velocità della stessa. Dopo tutta questa pappardella, veniamo ai dati. I Pentium 4 core Prescott hanno una pipeline da 31 stadi, gli Athlon 64 appena da 12 stadi. Questo cosa vuol dire? Che con un codice (=sequenza di istruzioni) "lineare" vale meglio una pipeline lunga, mentre con un codice pieno di salti condizionali va meglio una pipeline corta, che impiega meno tempo a svuotarsi e a riprendere il funzionamento. Ecco che i videogiochi sono applicazioni da "pipeline corta", mentre la videocompressione è da "pipeline lunga". In media, comunque, gli Athlon tengono bene testa ai Pentium 4 pur avendo frequenze nettamente inferiori. E come avrai intuito, gli Athlon64 sono anche i processori che meno necessitano di memoria cache (che di solito è condivisa tra dati ed istruzioni): 128 KB di cache L1 (64 KB per istruzioni) e 512 KB di cache L2 (solitamente). I Prescott hanno (per costruzione intrinseca) una cache L1 molto piccola, 16 Kb se non erro (più un certo numero di istruzioni precodificate), e ben 1 MB di cache L2. I Pentium 4 della famiglia 6xx invece avranno ben 2 MB di cache L2. Poi c'è anche il discorso dell'HyperThreading dei P4 che non va bene negli Athlon e bla bla bla Se hai altre domande, non hai che da chiedere!
__________________
HWU Rugby Group :'( - FAQ Processori - Aurea Sectio - CogitoWeb: idee varie sviluppando nel web
Ultima modifica di MaxArt : 07-02-2005 alle 14:49. |
|
|
|
|
|
|
#24 | |
|
Senior Member
Iscritto dal: Apr 2004
Città: Livorno
Messaggi: 6659
|
Quote:
C'è da dire per par condicio che anche i Pentium 4 si possono overcloccare, eh!
__________________
HWU Rugby Group :'( - FAQ Processori - Aurea Sectio - CogitoWeb: idee varie sviluppando nel web
|
|
|
|
|
|
|
#25 | |
|
Senior Member
Iscritto dal: Feb 2002
Città: Padova
Messaggi: 24608
|
Quote:
un 3000 benzina può essere decisamente meno potente di un 2200 Turbo BYEZZZZZZZZZZZZZzz
__________________
|
|
|
|
|
|
|
#26 |
|
Member
Iscritto dal: Apr 2002
Messaggi: 263
|
io prenderei il p4
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:29.











HWU Rugby Group








