Core (informatica)
# Core (informatica)

Core è un termine usato in informatica per indicare il "nucleo elaborativo" di un microprocessore. Questo infatti è costituito in realtà da 2 componenti principali: il core appunto, e il package che lo contiene. In alcuni tipi è visibile la posizione del core, costituito da un piccolo rettangolo nero leggermente sporgente al centro del package: contiene i transistor (centinaia di milioni) che ne determinano funzionamento e capacità di elaborazione.

## Descrizione

Ciò che sta "intorno" è il package, lo "zoccolo" di materiale plastico, ceramico o vetronite, su cui è montato il core, collegato elettricamente ai pin di contatto che s'innestano nel socket. Solitamente le dimensioni del core rispetto a quelle dell'intero processore sono molto ridotte, circa 2 o 3 cm² rispetto ad un package (l'intero microprocessore) di circa 20 cm²; tali dimensioni sono necessarie per l'elevato numero dei pin, qualche centinaio.

Alcune versioni di microprocessori Intel sono state prodotte con cache separata dal core: un die costituente il core e un die costituente la cache, entrambi montati nel package e collegati elettricamente tra loro; questa soluzione permette di scegliere la capienza della memoria cache secondo le proprie esigenze, con package unicamente ceramico.

## Le architetture multi core

Nel mercato consumer, nel corso del 2005 sia AMD che Intel giunsero ad un punto in cui non era più possibile innalzare le frequenze operative dei propri processori, e puntarono sulle architetture multi core, inizialmente del tipo dual core ovvero due core montati sullo stesso package. In questo modo, sfruttando il parallelismo, ci si trova in una situazione simile a quella che si avrebbe con un sistema biprocessore. Nel 2007 hanno poi debuttato nuove architetture multicore, in genere 4, che nel 2010 sono passate ad 8 (oggi esistono processori mainstream anche con 16 core fisici più 16 virtuali). Il 14 novembre 2011 AMD presentò il primo processore a 16 core, che ai sistemi forniva l'84% delle performance in più. Oggi, sebbene le architetture multi-core siano potenti, resta il problema della comunicazione con le periferiche, molto più lente della CPU e utilizzabili solo da un processo alla volta; ciò crea il famoso "collo di bottiglia" che incide molto sulla velocità effettiva di un computer.

## Nell'ALU

### Nelle architetture single core

Nell'architettura single core il core è l'Unità aritmetica e logica (ALU) stessa in quanto esegue tutte le operazioni singolarmente. Fino ai primi anni del 2000 tutti i processori erano single core e di conseguenza il core era occupato in tutte le operazioni richieste.

### Nelle architetture multi core

In queste architetture (bicore, esacore, multicore) i core sono solitamente specializzati nello svolgere l'operazione per cui sono progettati e di conseguenza più veloci rispetto all'architettura single core. Tutti i processori moderni presentano più di un core (minimo 2 arrivando anche a 20.000 nei supercomputer).

