Differenza tra core e processore?

Qual è la differenza tra un core e un processore?

L’ho già cercato su Google, ma ho solo definizione multi-core e multi-processore, ma non corrisponde a quello che sto cercando.

Un core è di solito l’unità di calcolo di base della CPU – può eseguire un singolo contesto di programma (o multipli se supporta thread hardware come hyperthreading su CPU Intel), mantenendo lo stato corretto del programma, registri e ordine di esecuzione corretto, e eseguire le operazioni tramite ALU . Per scopi di ottimizzazione, un core può anche contenere cache on-core con copie di blocchi di memoria usati frequentemente.

Una CPU può avere uno o più core per eseguire attività in un dato momento. Queste attività sono in genere processi e thread software programmati dal sistema operativo. Si noti che il sistema operativo può avere molti thread da eseguire, ma la CPU può eseguire solo X tali attività in un dato momento, dove X = numero di core * numero di thread hardware per core. Il resto dovrebbe aspettare che il sistema operativo lo pianifichi, anticipando le attività attualmente in esecuzione o qualsiasi altro mezzo.

Oltre a uno o più core, la CPU includerà alcune interconnessioni che collegano i core al mondo esterno e in genere anche una grande cache condivisa di “ultimo livello”. Ci sono molti altri elementi chiave necessari per far funzionare una CPU, ma le loro posizioni esatte possono differire in base al design. Avrai bisogno di un controller di memoria per parlare con la memoria, i controller I / O (display, PCIe, USB, ecc.). In passato questi elementi erano al di fuori della CPU, nel “chipset” complementare, ma il design più moderno li ha integrati nella CPU.

Inoltre, la CPU potrebbe avere una GPU integrata, e praticamente tutto il resto del progettista voleva rimanere vicino per quanto riguarda le prestazioni, la potenza e le considerazioni di produzione. Il design della CPU è per lo più di tendenza in quello che viene chiamato system on chip (SoC).

Si tratta di un design “classico”, utilizzato dalla maggior parte dei moderni dispositivi di uso generale (PC client, server e anche tablet e smartphone). Puoi trovare disegni più elaborati, di solito nell’accademia, dove i calcoli non sono fatti in unità “core” di base.

Prima chiariamo cosa è una CPU e cos’è un core, una CPU di unità di elaborazione centrale, può avere più unità di core, quei core sono un processore da solo, in grado di eseguire un programma ma è autonomo sullo stesso chip.

Nel passato una CPU è stata distribuita in un bel po ‘di chip, ma con il progredire della Legge di Moore hanno fatto avere una CPU completa all’interno di un chip (die), dal momento che il produttore ha iniziato a montare più core nello stesso die, quindi questo è il concetto di Multi-core.

In questi giorni è ansible avere centinaia di core sulla stessa CPU (chip o die) GPU, Intel Xeon. Un’altra tecnica sviluppata negli anni ’90 era il multi-threading simultaneo, in pratica si è scoperto che era ansible avere un altro thread nella stessa CPU single core, poiché la maggior parte delle risorse era già stata duplicata come ALU, più registri.

Quindi, in sostanza, una CPU può avere più core ciascuno di essi in grado di eseguire un thread o più allo stesso tempo, potremmo aspettarci di avere più core in futuro, ma con più difficoltà a essere in grado di programmare in modo efficiente.

La CPU è un’unità di elaborazione centrale. Dal 2002 abbiamo solo un processore single core, ovvero eseguiremo una sola attività o un programma alla volta.

Per far funzionare più programmi contemporaneamente è necessario utilizzare il processore multiplo per l’esecuzione di più processi alla volta, quindi abbiamo richiesto un’altra scheda madre e ciò è molto costoso.

Quindi, Intel ha introdotto il concetto di hyper-threading cioè converte la singola CPU in due CPU virtuali, ovvero abbiamo due core per il nostro compito. Ora la CPU è single, ma è solo una finzione (mascherata) che ha una doppia CPU e svolge più attività. Ma avere veri e propri core multipli sarà migliore di così le persone si svilupperanno facendo un processore multi-core cioè più processori su una singola scatola, cioè afferrando una CPU multipla su una singola grande CPU. Ad esempio più core.

Nei primi giorni … come prima degli anni ’90 … i processori non erano in grado di fare più compiti in modo efficiente … perché un singolo processore poteva gestire solo un singolo compito … quindi quando dicevamo che il mio antivirus, microsoft word, vlc, ecc. i software funzionano tutti allo stesso tempo … non è vero in realtà. Quando ho detto che un processore poteva gestire un singolo processo alla volta … lo intendevo. Effettivamente avrebbe elaborato una singola attività … poi è stata usata per mettere in pausa quell’attività … svolgere un’altra attività … completarla se è breve, o metterla di nuovo in pausa e aggiungerla alla coda … poi alla successiva. Ma questa “pausa” che ho menzionato è stata così piccola (1ns) che non hai capito che l’attività è stata messa in pausa. Per esempio. Su vlc mentre ascolti musica ci sono altre app in esecuzione contemporaneamente ma come ti ho detto … un programma alla volta … quindi la vlc sta effettivamente facendo una pausa tra i ns quindi non la sottovaluti ma la musica si ferma effettivamente fra.

Ma questo riguardava i vecchi processori …

Processori odierni, ovvero i PC di terza generazione hanno processori multi-core. Ora i “core” possono essere paragonati a processori di 1a o 2a generazione … incorporati su un singolo chip, un singolo processore. Così ora abbiamo capito quali sono i core cioè sono mini processori che si combinano per diventare un processore. E ogni core può gestire un singolo processo alla volta o più thread come progettato per il sistema operativo. E seguono gli stessi passi di cui ho parlato sopra il singolo processore.

Per esempio. Un processore i7 6gen ha 8 core … cioè 8 mini processori in 1 i7 … cioè la sua velocità è 8 volte il vecchio processore. Ed è così che si può fare il multitasking.

Potrebbero esserci centinaia di core in un singolo processore, ad es. Intel i128.

Spero di averlo spiegato bene.

La foto di Intel è utile, come dimostra la migliore risposta di Tortuga. Ecco una didascalia per questo.

Processore : un chip a semiconduttore, la CPU (unità centrale di elaborazione) in una presa, intorno agli anni ’50 -‘200. Nel corso del tempo, più funzioni sono state impacchettate sul chip della CPU. Prima delle versioni degli anni ’50 dei processori single-chip, un processore poteva diffondersi su più chip. A metà 2010 i chip system-on-a-chip rendevano leggermente più schematico equiparare un processore a un chip, sebbene generalmente ciò che le persone intendono per processore, come in “questo computer ha un processore i7” o “questo sistema informatico” ha quattro processori. ”

Core : un blocco di una CPU, eseguendo un’istruzione alla volta. (Vedrete persone dire una istruzione per ciclo di clock, ma alcune CPU usano più cicli di clock per alcune istruzioni.)