14848295
Inviato: 13 Feb 2014 9:31
Tutto il processore lavora alla frequenza specificata. Se ha più core lavorano tutti alla stessa frequenza. Tecnologie recenti (vedi Intel Turbo Boost) consentono di aumentare la frequenza di un singolo core quando il carico medio (=produzione di calore) dell'intero processore è scarso.
Un processore multicore però non è esattamente uguale a N processori single core. Questo perché all'interno del processore c'è della memoria tipo ram (la cosiddetta cache) che in realtà costituisce la maggior parte grande dell'intero processore. Avere più core nello stesso processore permette di condividere parte della cache dunque i core possono parlare tra loro molto più velocemente di quanto farebbero se fossero in processori diversi (in questo caso i dati devono viaggiare attraverso la scheda madre, la lunghezza fisica del collegamento è di per sé un fattore determinante!).
Un ultimo dettaglio: Hyper Threading. Questa tecnologia ti consente di fare si che ciascun core processi due istruzioni diverse in modo concorrenziale, cioè un po' una e un po' l'altra. Il motivo è che l'elaborazione di un'istruzione è fatta in vari step e non tutti gli step hanno la stessa durata, dunque per fare in modo che gli step più rapidi non rimangano inattivi aspettando i più lenti, si inserisce una seconda istruzione. Di fatto il sistema operativo vede due core distinti anche se chiaramente le prestazioni sono inferiori rispetto a questo caso. Si ottiene comunque una maggiore efficienza energetica, vale a dire più capacità di calcolo a parità di corrente consumata.
NOTA: molti programmi non sono scritti per essere eseguiti in parallelo! In questo caso avere decine di core non velocizza per niente l'esecuzione! Aprendo però molte applicazioni contemporaneamente, il sistema operativo è in grado di distribuire le richieste di ciascuna di esse su core diversi.
Ultima modifica di urano88 il 13 Feb 2014 10:12, modificato 1 volta in totale