View Single Post
Old 29-07-2004, 17:14   #8
jappilas
Senior Member
 
L'Avatar di jappilas
 
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4741
Quote:
Originariamente inviato da Maury
Il NW è un grande procio, ma che stai a dì
diciamo che avrebbe potuto nascere meglio... svariate caratteristiche del design erano frutto di compromessi , come d' altra parte si appurava su svariati documenti per sviluppatori creati dalla stessa intel
come il mai abbastanza esaminato "willamette software development guide" http://developer.intel.com/design/processor/wmtsdg.htm

per me è stato abbastanza illuminante... spiega ad esempio che :
- la pipeline è stata resa più lunga (in realtà sarebbe più profonda) rispetto a quella del precedente p3 , e quello si sa,

- è stata implementata la cache ETC , di per sè un concetto rivoluzionario per una cache , perchè insieme alle istruzioni memorizza anche i branch cercando di riempire una cache line (da 8) con le microops che appartengono a uno stesso flusso esecutivo, anche al di là dei salti

- è stato rifatto lo scheduler delle istruzioni per l' esecuzione fuori ordine , la rete di bypass e la gestione dei registri (che sono almeno 128 fisici)

ora, le modifiche di cui sopra hanno introdotto parecchi transistor (la ETC è 4 volte più complessa di una normale L1C), e quindi anche se il progetto originale del willamette prevedeva ad esempio, 2 unità FPU separate(1 ADD e 1 MUL come sull' athlon) , ne è stata usata una integrata per tutti i tipi di operazioni FP, che giri al doppio del clock nominale come per le alu intere
lo svantaggio è che siccome hanno ben pensato che una operazione SSE2 a 128 bit valesse come 2 istruzioni floating point con doppia precisione, anche le istr MMX e X87 sono penalizzate dal fatto che l' unità a cui sono inviate accetta comunque una sola struzione per volta

inoltre, avere la cache ETC, accelera i loop perchè ho un flusso continuo di microops già decodificate... (anzi imho per questo motivo non sussiete neppure l' argomento secondo cui "pipeline più lunga + errore di branch -> maggiore penalità" , perchè non è detto che si debba sempre svuotare l' intera pipeline, magari solo i 6 stadi che stanno tra le fasi ETC e schedule )
però questo ha indotto a ritenere che il decoder supercalare (che "crea" le istruzioni interne a partire dalle X86) fosse superfluo in quanto esterno al tratto principale della pipeline : decoder che era a 3 vie in p3 e athlon, a 4 (anche se è diverso, si parla di "dispatch level) nei risc moderni

per conto mio sono questi gli elementi che hanno fatto del p4 una cpu che rende bene in certi casi e male in altri , se lo si confronta con architetture più "omogenee" dal punto di vista progettuale... certo , attraversando un paio di "major release" è maturato al punto da diventare più "equilibrato prestazionalmente" oltre che (come tutti i prodotti intel) affidabile
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name
Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish
Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate

Ultima modifica di jappilas : 29-07-2004 alle 17:20.
jappilas è offline   Rispondi citando il messaggio o parte di esso
 
1