Core della CPU, multi-core, thread, core vs thread, Hyper-Threading

Che cos'è la concorrenza o Single Core?

In Operating Systems, la concorrenza è definita come la capacità di un sistema di eseguire due o più programmi in fasi temporali sovrapposte.

Concorrenza o Single Core
Esecuzione simultanea con time slicing

Come puoi vedere, in ogni momento c'è un solo processo in esecuzione. Pertanto, la concorrenza è solo un'approssimazione generalizzata dell'esecuzione parallela reale. Questo tipo di situazione può essere riscontrata nei sistemi dotati di processore single-core.

Cos'è l'esecuzione parallela o (multi-core)?

Nell'esecuzione parallela, le attività che devono essere eseguite da un processo vengono suddivise in sottoparti e più CPU (o più core) elaborano ciascuna sottoattività esattamente nello stesso momento.

Esecuzione parallela
Esecuzione parallela

Come puoi vedere, in qualsiasi momento, tutti i processi sono in esecuzione. In realtà, sono le attività secondarie di un processo che vengono eseguite in parallelo, ma per una migliore comprensione è possibile visualizzarle come processi.

Pertanto, il parallelismo è il modo reale in cui è possibile elaborare più attività contemporaneamente. Questo tipo di situazione può essere riscontrata nei sistemi dotati di processori multicore, che comprendono quasi tutti i processori moderni e commerciali.

DIFFERENZA CHIAVE

  • I core aumentano la quantità di lavoro svolto alla volta, mentre i thread migliorano il throughput e l'accelerazione computazionale.
  • I core sono un componente hardware reale mentre il thread è un componente virtuale che gestisce le attività.
  • I core utilizzano il cambio di contenuto mentre i thread utilizzano più CPU per eseguire numerosi processi.
  • I core richiedono solo un'unità di elaborazione del segnale mentre i thread richiedono più unità di elaborazione.

Cos'è il filo?

Un thread è un'unità di esecuzione sulla programmazione simultanea. Il multithreading è una tecnica che consente a una CPU di eseguire più attività di un processo contemporaneamente. Questi thread possono essere eseguiti individualmente condividendo le proprie risorse.

Cos'è il multithreading?

Il multithreading si riferisce all'attività comune che esegue più thread di esecuzione all'interno di un sistema operativo. Può includere più processi di sistema.

Come funziona il multithreading?

Ad esempio, la maggior parte delle CPU moderne supporta il multithreading. Una semplice app sul tuo smartphone può darti una demo live dello stesso.

Quando apri un'app che richiede il recupero di alcuni dati da Internet, l'area del contenuto dell'app viene sostituita da uno spinner. Questo ruoterà finché i dati non verranno recuperati e visualizzati.

Sullo sfondo ci sono due thread:

  • Uno che recupera i dati da una rete e
  • Uno che rende la GUI che visualizza lo spinner

Entrambi questi thread vengono eseguiti uno dopo l'altro per dare l'illusione di un'esecuzione simultanea.

Cos'è il core della CPU?

Un core della CPU è la parte di qualcosa di centrale per la sua esistenza o carattere. Allo stesso modo nel sistema informatico la CPU viene chiamata anche core.

Esistono fondamentalmente due tipi di core processore:

  1. Processore single-core
  2. Processore multicore

Qual è il problema principale con Single Core?

Ci sono principalmente due problemi con Single Core.

  • Per eseguire le attività più velocemente, è necessario aumentare il tempo dell'orologio.
  • L'aumento del tempo di clock aumenta il consumo energetico e la dissipazione del calore a un livello estremamente elevato, rendendo il processore inefficiente.

La soluzione fornita da Multi-Core:

  • Creazione di due o più core sullo stesso die per aumentare la potenza di elaborazione mantenendo allo stesso tempo la velocità di clock a un livello efficiente.
  • Un processore con due core che esegue una velocità efficiente può elaborare istruzioni con velocità simile al processore single-core. La sua velocità di clock è doppia, ma il processo multicore consuma meno energia.

Vantaggi del processore multi-core

Ecco alcuni vantaggi del processore multicore:

  • Più transistor per scelta
  • Connessioni più brevi
  • Capacità inferiore
  • Un piccolo circuito può funzionare ad alta velocità

Differenza tra Core e Thread

parametri Nucleo Discussioni
Definizione I core della CPU indicano il componente hardware effettivo. I thread si riferiscono al componente virtuale che gestisce le attività.
Processo La CPU riceve attività da un thread. Pertanto accede al secondo thread solo quando le informazioni inviate dal primo thread non sono affidabili. Esistono molte varianti diverse di come la CPU può interagire con più thread.
Implementazione/Attuazione Ottenuto tramite l'operazione di interlacciamento Eseguito citando più CPU
Benefici Aumentare la quantità di lavoro svolto alla volta. Migliorare il throughput e accelerare il calcolo.
Utilizzare Core utilizza il cambio di contenuto Utilizza più CPU per eseguire numerosi processi.
Unità di elaborazione richieste Richiede solo l'unità di elaborazione del segnale. Richiede più unità di elaborazione.
Esempio Esecuzione di più applicazioni contemporaneamente. Esecuzione del web crawler su un cluster.

Cos'è l'Hyper-Threading?

L'hyper-threading è stato il primo tentativo di Intel di portare il calcolo parallelo sui PC degli utenti finali. È stato utilizzato per la prima volta sulle CPU desktop con il Pentium 4 nel 2002.

I Pentium 4 a quel tempo avevano un solo core CPU. Pertanto, esegue solo una singola attività e non riesce a eseguire alcun tipo di operazioni multiple.

Una singola CPU con hyper-threading appare come due CPU logiche per un sistema operativo. In questo caso, la CPU è singola, ma il sistema operativo considera due CPU per ciascun core e l'hardware della CPU dispone di un unico set di risorse di esecuzione per ogni core della CPU.

Pertanto, la CPU presuppone di avere più core di quanti ne abbia e il sistema operativo presuppone due CPU per ogni singolo core della CPU.

Sommario

  • Un thread è un'unità di esecuzione sulla programmazione simultanea.
  • Il multithreading si riferisce all'attività comune che esegue più thread di esecuzione all'interno di un sistema operativo
  • Oggi molte CPU moderne supportano il multithreading
  • L'hyper-threading è stato il primo tentativo di Intel di portare il calcolo parallelo sui PC degli utenti finali.
  • Un core della CPU è la parte di qualcosa di centrale per la sua esistenza o carattere
  • Nel, OperaLa concorrenza di sistema è definita come la capacità di un sistema di eseguire due o più programmi in fasi temporali sovrapposte.
  • Nell'esecuzione parallela, le attività che devono essere eseguite da un processo sono suddivise in sottoparti.
  • Il problema principale del processore single-core è che per eseguire le attività più velocemente, è necessario aumentare il tempo di clock.
  • Multicore risolve questo problema creando due o più core sullo stesso die per aumentare la potenza di elaborazione e mantiene anche la velocità di clock a un livello efficiente.
  • Il più grande vantaggio del sistema multicore è che ti aiuta a creare più transistor per scelta
  • I core della CPU indicano il componente hardware effettivo mentre i thread si riferiscono al componente virtuale che gestisce le attività.