QNA > C > Cosa Significa 'Frequenza Di Clock Della Cpu'? Come Contribuisce Alle Prestazioni Di Un Pc?

Cosa significa 'frequenza di clock della CPU'? Come contribuisce alle prestazioni di un PC?

La CPU legge un'istruzione dalla RAM, la decodifica per vedere cosa significa, la esegue e poi scrive i risultati. E fa questo ancora e ancora e ancora... Infatti una CPU ha un solo lavoro, come ho descritto, recuperare ed eseguire le istruzioni.

OK. Possiamo facilmente vedere che questo è un lavoro che si ripete periodicamente. Abbiamo bisogno di qualcosa che dica periodicamente alla nostra CPU di fare il suo lavoro. Perché proprio come alcuni di noi, è pigro e ha bisogno di qualcuno che gli dica costantemente di fare il suo lavoro! Ecco perché la CPU ha un ingresso di clock. L'ingresso dell'orologio riceve un segnale ad onda quadra e lo usa per programmare i compiti della CPU.

Per esempio un orologio da 1GHz, ticchetta un miliardo di volte al secondo. Quindi, con la descrizione di cui sopra, ci aspettiamo che la nostra CPU esegua un miliardo di istruzioni al secondo. Ma purtroppo, non è vero!

Ogni ciclo di clock in realtà dice alla CPU di fare un passo avanti. Forse il nuovo passo è l'istruzione successiva, ma forse il nuovo passo è solo il passo successivo dell'istruzione complicata corrente. Vedete, alcune istruzioni come le divisioni in virgola mobile, a volte consistono di molti molti passi e a volte hanno bisogno di più di mille tick di clock (cicli) per completare. Alcuni di questi passi sono addirittura dei loop.

Alcune altre istruzioni più semplici, come l'addizione di interi, hanno bisogno di un solo ciclo per essere completate nella maggior parte dei processori.

Siccome ogni architettura di processore ha istruzioni diverse e le loro istruzioni hanno bisogno di cicli diversi, non possiamo davvero usare le frequenze di clock di due diverse CPU per vedere quale sia più veloce. Per esempio, non possiamo dire che un processore x86 a 2,8GHz è più veloce di un processore ARM a 1,8GHz solo perché ha un clock più veloce. Ma con gli stessi processori con esattamente la stessa architettura e design interno, il processore a 2.8GHz è sempre più veloce di uno a 2.4GHz.

Alcuni processori come ARM (nei vostri telefoni e tablet), AVR (nella vostra lavatrice) e ... sono architettura RISC. Hanno istruzioni più semplici, ma eseguono la maggior parte delle loro istruzioni in un ciclo di clock. Questo significa che si ottiene circa 1MIPS (Mega Istruzioni al secondo) per ogni MHz di clock. Altri processori come Intel x86 (nel tuo PC e nel tuo portatile) hanno un'architettura CISC. Significa che hanno istruzioni complicate, alcune delle quali richiedono centinaia o migliaia di cicli di clock per essere completate.

Ma in realtà non sono molto diverse. Le istruzioni complicate del CISC fanno sì che il processore sia più grande, più difficile da progettare, più costoso e più complicato. Ma dal momento che possiamo usare una singola istruzione complessa al posto di cento istruzioni semplici, i nostri programmi diventano più semplici e più piccoli. I processori RISC sono più facili da progettare, più economici e più piccoli, perché non hanno alcuna istruzione complessa. Ma questo fa sì che i nostri programmi diventino più grandi e più difficili.

Alcune persone potrebbero pensare che, poiché i processori RISC eseguono la maggior parte delle loro istruzioni in un ciclo di clock, sono più veloci dei processori CISC. Questo è sbagliato! Poiché un processore RISC non ha istruzioni complesse, abbiamo bisogno di simularle nel nostro programma (o nel microcodice della CPU) usando istruzioni più piccole e più semplici. Così, per esempio, simuliamo un'operazione di divisione in virgola mobile di 1000 cicli usando cinquanta operazioni più semplici di 20 cicli (50×20=1000). Quindi, in realtà, non ci sarà quasi nessuna differenza nella loro velocità.

main-qimg-e9ed8e6d703398a430306002f6ca4c7d.webp

Il segnale di clock ha anche un altro importante compito. Sincronizzare la CPU con altri dispositivi come la RAM, ecc. Così, ogni dispositivo nel vostro PC lavorerà in sincronia. Per esempio, la RAM sa quando aspettarsi che la CPU gli chieda un'operazione di lettura/scrittura. Potete immaginare le parate dell'esercito, quando un soldato fischia ripetutamente, e altri soldati camminano sincronicamente con il suo fischio. In questo caso, il fischio è l'orologio, il suo suono è cicli di clock, il soldato che fischia è il generatore di clock, e i soldati sono i dispositivi che si muovono in sincronia con il suono del fischio, e quindi in sincronia tra loro.

Ovviamente, la mia risposta è troppo semplificata. Abbiamo argomenti più complicati come pipeline, superscalare, super pipeline, Hyper-Threading, cache, SMP, ecc. Anche loro si basano principalmente sul clock della CPU. Ma ho cercato di dire le parti più importanti in termini semplici per essere facilmente comprensibili.

Per riassumere, la frequenza di clock significa quante volte il clock della CPU fa tic tac in un secondo. Ogni ticchettio dell'orologio dice alla CPU di passare al passo successivo. Questo passo è a volte una nuova istruzione, e a volte il passo successivo nell'esecuzione dell'istruzione corrente.

Di Emlynne

Dove va l'energia da una batteria a un orologio (dopo la sua rotazione)? :: Perché un orologio fa 'Tick Tock Tick Tock' e non 'Tick Tick Tick Tick'?
Link utili