Processore multicore: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Storia: fix prosa e dettagli storici
Storia: Unione da Dual core
Riga 11:
Intel cercò già con il Pentium 4 [[Northwood (hardware)|Northwood]], che introduceva la tecnologia [[Hyper-Threading]], di migliorare questo limite dei processori ''single core'', sfruttando in maniera più razionale la lunga [[pipeline (CPU)|pipeline]] tipica dei suoi processori basati su architettura [[NetBurst]]; si trattava in buona sostanza di simulare la presenza di due core, rendendo disponibile al sistema due core "logici". In realtà nell'esecuzione delle applicazioni il contributo di tale tecnologia era marginale ma si otteneva un discreto miglioramento nella reattività del sistema, ottimizzando il [[multitasking]], cioè l'esecuzione di più operazioni contemporaneamente.
 
Con il progredire dei processi produttivi (fino ad arrivare a quello a [[90 nm]]) e il raggiungimento di frequenze di funzionamento sempre più elevate e vicini ai limiti fisici della tecnologia a [[semiconduttore]], i due principali produttori di chip, [[Intel]] e [[Advanced Micro Devices|AMD]] decisero di migrare gradualmente<ref>Tra le ultime CPU prodotte per PC a ''single core'' c'è l'Intel Celeron 807 e il Celeron B730, entrambi hanno debuttato nel mercato ad agosto 2012.</ref> all'architettura ''dual core'' (a due ''core''). In pratica, non potendo aumentare più la frequenza massima si cerca di migliorare il [[calcolo parallelo|parallelismo]], mettendo a disposizione del [[sistema operativo]] una configurazione molto simile a quella dei tradizionali sistemi [[multiprocessore]].
 
Difatti si giunse a un punto tale per cui aumentare ulteriormente le frequenze delle CPU, malgrado le dimensioni minime dei [[transistor]], comportava ormai consumi troppo elevati in relazione al modesto aumento di prestazioni<ref>a quei tempi un processore single core top di gamma superava abbondantemente i 100 W di consumo massimo</ref> e questo ovviamente aveva serie ripercussioni anche sul gravoso problema del raffreddamento dei circuiti.
 
La soluzione che sembrò più ovvia ai progettisti di microprocessori fu quella di puntare tutto sul [[calcolo parallelo|parallelismo]] in modo da poter aumentare il numero di operazioni eseguibili in un unico ciclo di clock. Questo nuovo approccio comunque non era del tutto indolore e comportava anche alcuni svantaggi, in quanto i programmi dovevano essere ottimizzati per un utilizzo [[multi-thread]] ovvero parallelizzati anch'essi per poter sfruttare appieno le caratteristiche di questi processori, in caso contrario essi avrebbero impegnato solo uno dei core, lasciando l'altro pressoché inutilizzato. Paradossalmente, era anche possibile che un programma applicativo non pensato per un'esecuzione di tipo parallelo risultasse di più lenta esecuzione su un processore multi core rispetto a uno single core, e infatti al momento del lancio dei primi esemplari, erano veramente pochi i [[software]] già pronti per queste nuove architetture. Tale incapacità di raggiungere i livelli di prestazione teorici dei sistemi a parallelismo massiccio è nota come "[[sindrome di von Neumann]]".
 
Diversi analisti software, infatti, prevedevano già allora che se il software pensato per un utilizzo parallelo in ambito dual core fosse stato realizzato in maniera oculata, tenendo conto non del funzionamento su un sistema dual core, ma su un sistema a più core, esso non avrebbe richiesto poi grosse modifiche per essere utilizzato su un dual core o su un più generico processore multi core. Secondo altri, invece, gli sforzi necessari per realizzare software multi processore che avrebbe funzionato in maniera ottimale saturando tutti i core e non occupandoli in modo disomogeneo sarebbero stati esagerati in relazione con i reali vantaggi, soprattutto di impatto di costi. Su una materia tanto nuova in ambito desktop, ai tempi non si poteva fare altro che attendere maggiori dettagli, ma il tempo ha poi portato gli sviluppatori ad acquisire sempre maggiore esperienza e dimestichezza con la programmazione parallela e molti dei timori dei primi giorni risultano ormai superati.
 
=== Le prime CPU multicore ===