9 istruzioni per ciclo di clock è un po' troppo, polverizzerebbe il P4 che ne fa 3

Poi devi considerare le operazioni per load/store (che richiedono una elaborazione nella ALU) assieme all'esecuzione vera e propria. Nella architettura P3/Yonah/Core sono separate e quindi, diciamo, aggratisse.
Nell'A64 ci sono 6 unità intere 3 AGU e 3 ALU, mutualmente esclusive, ovvero se usi la AGU0 non puoi usare la ALU0 e idem per gli altri 2 gruppi AGU/ALU1-2. Inoltre la Imul è solo nella ALU0.
Vedi qua:
http://www.tt-hardware.com/img/processeurs03/a64_02.gif
http://www.aceshardware.com/Spades/r...alternate=true
Nel massimo throughput possibile puoi fare:
- 3 Operazioni intere
- 1 Fmul
- 1 Fadd
- 1 Fmisc (viene usato per scambiare registri e per fare Fstore/Fload)
Le Fmul e Fadd sono a 64bit, e di conseguenza una sse2 a 4 operandi a 32bit, viene eseguita ogni 2 cicli di clock.
dal P3 allo Yonah quello che possono fare è qua:
http://origin.arstechnica.com/articl...ia/p3-core.gif
Valgono più o meno le medesime considerazioni di prima, solo che le ALU per il load/store sono indipendenti (penso per questioni di semplicità), quindi meno flessibili che nell'A64
l'intel core ha:
http://origin.arstechnica.com/articl.../ngma-core.gif
- una "porta" in più, che permette di eseguire oltre alle load/store altre 3 istruzioni.
- l'unità FP e Intera a 128bit, quindi una SSE2 con 4 operandi viene elaborata in un ciclo di clock.
- avendo 3 unità FP a 128bit, nel caso migliore in un ciclo di clock ha un throughput non indifferente
Avevo postato un link qualche giorno fa che parlava delle migliorie, ma come sempre non se l'è cagato nessuno :/