Risposte:
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.
Dovresti iniziare con articoli multi-core e multithread su Wikipedia.
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.
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).