Una precisazione sul possibile aumento degli stadi della pipeline: non è detto che sia necessariamente un dato negativo. Con un adeguato supporto software per l'Hyper Threading, se l'architettura interna del processore consente una gestione ottimizzata della pipeline per i diversi thread in esecuzione, con una gestione separata della branch prediction e un conseguente svuotamento parziale della pipeline in caso di errore i risultati potrebbero essere comunque apprezzabili se non di rilievo. Magari in un processo si verifica un errore, ma va ripetuto un numero tuttosommato limitato di stadi, mentre un altro procede "tranquillamente". Sarebbe quasi come avere due processori in uno che condividono non solo la cache, ma anche i contenuti dei registri. Probabilmente però saremmo comunque lontani dalle prestazioni di un dual core. Magari sono completamente fuori strada...
Ciao!
|