Boost su un singolo core della CPU: come funziona?

I progettisti di processori escogitano nuovi trucchi per ottenere il massimo dalle loro nuove architetture, uno dei quali è aumentare la velocità di clock di un singolo core al di sopra del limite comune dell'intero CPU. Questo si chiama boost single-core e in questo post spiegheremo in cosa consiste e quali vantaggi porta ai tuoi PC.

I più veterani ricorderanno gli anni in cui i processori erano single-core e non potevano eseguire più di un thread, era il momento in cui la corsa era per la maggior quantità di MHz prima GHz dopo, fino a quando non potevano salire di più per il fisico limitazioni e ha dovuto passare al multi-core.

Potenzia su un singolo core della CPU

Una caratteristica che vedremo nelle nuove CPU è il boost single-core, che consiste nel fatto che un singolo core di un processore multicore raggiunge una velocità di clock superiore a quella del boost per più core, tutto grazie alla possibilità di scollegare il resto dei core della CPU, abbassare la loro velocità di clock o impedire loro di raggiungere la velocità di boost.

Single core boost, ridistribuzione della potenza della CPU

Potenzia il nucleo solista

La velocità di clock che un processore può raggiungere dipende dalla quantità di energia disponibile per esso, ma le CPU hanno delle trappole per ottimizzare meglio il consumo di energia sebbene la maggior parte si basi sulla possibilità di scollegare le parti inutilizzate del processore sempre in modo che non consumino energia mentre facendo nulla.

A livello di kernel, molti progetti che possono funzionare con più thread tendono ad eseguire determinate istruzioni sfruttando la duplicazione dell'unità di alcune parti dell'unità di controllo per evitare contese e aumentare le prestazioni, ma in altri progetti questo non è il caso e disabilita SMT o Hyperthreading per aumentare la velocità di clock.

Con gli stessi principi è possibile disattivare completamente tutti i core tranne uno e persino rimuovere l'SMT o l'Hypethreading da esso in modo che la velocità di clock di un singolo core sia la più alta possibile.

Cosa aggiunge alle prestazioni totali del processore?

Comunicazione CPU

Esistono molti benchmark che misurano le prestazioni di un singolo core della CPU, questi benchmark non vengono utilizzati per valutare le prestazioni assolute della CPU e non si basano nemmeno su scenari realistici. Ci servono semplicemente in modo comparativo per sapere come si è evoluta un'architettura rispetto a un'altra, confrontando core per core.

Nei programmi che esistono nel mercato, poiché da anni i consumatori hanno a disposizione diversi core, la maggior parte dei programmi sono progettati per funzionare in parallelo la maggior parte del tempo, ma si deve tener conto che i programmi hanno una parte che può essere parallelizzato e un altro che non può.

Ley Amdahl

Se prestiamo attenzione alla legge di Amdahl, il tempo di esecuzione di ciascuna delle parti parallelizzabili del codice diminuirà aggiungendo più core, ma c'è una parte del codice che è seriale e quindi non può essere eseguita in parallelo, quella parte del programmi dipende dalla velocità di un singolo core.

Se spegniamo tutti i core tranne uno, il codice che funziona in parallelo verrà influenzato negativamente, ma se manteniamo la velocità di base in tutti i core e applichiamo un boost o un leggero vantaggio in uno di essi, la parte del il codice che viene eseguito in serie all'interno del programma verrà accelerato, aumentando così le prestazioni del sistema.

Il boost single-core è uguale a big.LITTLE?

diagramma big.LITTLE

Sebbene possa ricordarci il concetto big.LITTLE di alcuni core a basso consumo, non è lo stesso, poiché in questo concetto l'idea è di utilizzare un core a bassa potenza per eseguire determinate istruzioni, che sono abbastanza semplici da essere impossibile ottimizzarlo. più in termini di consumo all'interno di un core, quindi si consiglia l'utilizzo di un core più semplice per ridurre il consumo di energia.

In "big.LITTLE" la velocità di clock dei core non viene aumentata o diminuita ma piuttosto viene cambiato il core che esegue detto programma o parte del programma, quindi in un processore con questo tipo di design abbiamo una formazione eterogenea di core, mentre l'aumento di velocità centrato su un singolo core può verificarsi in insiemi di nuclei sia omogenei che eterogenei.

Tuttavia, poiché la velocità di clock è direttamente legata alla tensione nel consumo energetico, possiamo concludere con sicurezza che aumentare la velocità di clock di un core rispetto a "bit.LITTLE" non è un modo per risparmiare il consumo di energia del processore.