Qual è la differenza tra proc multicore e sistema multiproc?


18

Mi chiedo qual è la differenza tra un computer dual core e un computer con 2 processori sulla scheda madre .. Penso che sia qualcosa in relazione con i thread, ma non lo capisco molto bene ..

Risposte:


19

Processori multipli consentono al tuo computer di fare letteralmente due cose alla volta (invece di fare solo due cose alla volta, ma in realtà scambiare tra le attività in modo estremamente rapido).

I core multipli sono uguali. Il vantaggio di più core rispetto a più processori è che condividono alcuni bit della CPU, ad esempio la cache di secondo livello, che consente loro di lavorare in modo ancora più efficiente se dispongono di alcuni dati condivisi. Questo li rende molto più economici da produrre. Una singola CPU dual-core occupa anche meno spazio di due CPU single-core, il che è un fattore importante in questi giorni con tutti coloro che si spostano sui laptop.

Potrebbero esserci alcune differenze di prestazioni, ma nulla che potresti notare.


2
Non solo occupare meno spazio, ma anche generare meno calore (utilizzando meno energia) e richiedere solo una ventola di raffreddamento.
CarlF,

13

Vedi questa immagine che mostra la differenza tra Multi Processor, Hyper Threaded e Multi Core:

inserisci qui la descrizione dell'immagine



2

Bene, si tratta di ridimensionare in orizzontale anziché in verticale. Ai vecchi tempi rendevano la CPU sempre più veloce. Nel tempo la velocità della CPU è aumentata da una manciata di megahertz a super velocità che vanno fino a 3 gigahertz. Tuttavia, quando è stata raggiunta la velocità di 3 gigahertz, i produttori di CPU avevano trovato un limite a quanto potevano spingere la velocità su un singolo core della CPU.

Mentre si stava verificando questa gara di velocità, per quelle applicazioni che avevano bisogno di più potenza (come server e render farm CGI), sono state introdotte le schede madri CPU multi-socket. Ciò ha permesso di posizionare più di una CPU (di solito due) sulla scheda madre. I sistemi operativi che erano in grado di utilizzare più CPU contemporaneamente potevano eseguire software che sfruttavano questa funzionalità distribuendo il carico su quelle due CPU, aumentando quindi la velocità di esecuzione.

Avanti veloce ai giorni nostri. Il limite di velocità della CPU è in qualche modo raggiunto e invece di ridimensionare verticalmente (rendendolo più veloce), i produttori di CPU stanno iniziando a ridimensionare orizzontalmente posizionando più core su un singolo chip. Attualmente i chip dual core sono molto comuni e presto i quad core saranno lo standard. Ora immagina di aver posizionato due quad core su una singola scheda madre. Ciò significherebbe che il sistema operativo avrebbe accesso a 8 CPU, tutte in esecuzione a circa 3 gigahertz.

Oltre alle CPU multi-core esiste anche una CPU dual core "falsa" che utilizza una tecnologia nota come "hyper-threading". Con l'hyper-threading la CPU emula la presenza di due CPU quando in realtà è presente solo un core effettivo. La CPU sa come sfruttare i normali tempi di inattività programmando le istruzioni in modo specifico, ottenendo maggiore efficienza.


3
-1: questa risposta ha molte inesattezze. (1) 3 GHz non è un "limite di velocità", ci sono processori che funzionano a frequenze più alte di 3 GHz. Il limite che il produttore di CPU ha incontrato è stato quello di adattare i processori ad alte prestazioni in un involucro di alimentazione sostenibile. (2) Il tuo secondo paragrafo implica che sono state introdotte schede madri multi-CPU perché è stato raggiunto il "limite di velocità". In effetti, le schede madri multi-socket erano circa 5-10 anni prima (forse anche di più, non riesco a trovare una data esatta in cui i server PC sono diventati multi-core).
Hanleyp,

So che non è corretto al 100% e ho cercato di mantenere la mia risposta in parole povere. È solo una versione stupida, quindi le persone capiscono qual è la differenza. Sono sicuro che quando le persone vogliono davvero conoscere i dettagli, indagheranno di più per se stessi. Il paragrafo 2 inizia con "Nel frattempo", nel senso che mentre le CPU venivano rese più veloci, le schede madri CPU multi-socket sono state create (circa 10 anni fa).
Luca,

Questo è figo. Volevo solo sottolineare ciò che ritengo necessario chiarire. Annullerò il mio voto verso il basso, ma non posso a meno che non modifichi la risposta in qualche modo.
Hanleyp,

Sono felice di apportare modifiche, ma cosa vuoi che cambi esattamente? Che ci sono CPU che salgono a 3.2 gigahertz o forse un po 'più in alto? Potete per favore chiarire?
Luca,

2
-1: Spieghi perché stiamo vedendo sistemi multicore, ma non è quello che ha chiesto l'interrogatore. Non hai spiegato la differenza tra più core e più processori.
John Fouhy,

1

Dal punto di vista dello sviluppo del software c'è una differenza relativamente piccola.

Alcune applicazioni multi-thread scritte in modo errato potrebbero funzionare accidentalmente su un processore multi-core, ma non su una scheda madre multi-processore, ma non perderei troppo sonno, dal momento che ... beh ... stiamo parlando in modo errato software scritto.

La differenza principale tra i due scenari per lo stesso numero totale di core disponibili (ad esempio, 1 processore a 4 core e 2 processori a 2 core) è che nel caso dello scenario a più processori esiste in genere una memoria aggregata più grande -bandwidth. Ciò significa che per qualsiasi carico di lavoro che richiede molta memoria, potrebbe essere meglio con quest'ultimo. Si noti, tuttavia, che le primitive di blocco potrebbero in realtà essere un po 'più lente (a seconda dell'implementazione dell'hardware), pertanto gli algoritmi che utilizzano molta sincronizzazione potrebbero effettivamente peggiorare su quest'ultimo.

Anche così, non mi preoccuperei troppo della differenza anche allora, perché se lavori in un'area in cui questa differenza è importante, molto probabilmente lo sapresti già (conoscenza specifica del dominio).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.