Colli di bottiglia
Mentre core multipli su un die singolo comunicano tra loro direttamente, l'approccio di produrre processori multi core combinando die distinti crea la necessità di comunicare tramite l'interfaccia del processore che, nel caso dei desktop e server, è il Front Side Bus. Questo approccio è stato criticato come un pesante collo di bottiglia per le configurazioni multi core, fin dalla presentazione del primo dual core Pentium D 800, alias Smithflied. Quando un core deve accedere a un dato presente nella cache dell'altro core, deve passare tramite il Front Side Bus, occupando la banda disponibile sul bus.
Per questa ragione, la generazione Core 2 implementa una cache di secondo livello abbondante e condivisa tra i due core. Tuttavia, quando fondete due die dual core in un singolo processore fisico per creare un quad core, il collo di bottiglia dell'FSB compare nuovamente - e sarà addirittura peggio, dato che ci saranno più core che dovranno accedere alla cache del vicino. La contromisura di Intel consiste in un aggiornamento della velocità del bus. La piattaforma server funziona già a 333 MHz (FSB1333 quad-pumped); la piattaforma desktop sarà probabilmente soggetta allo stesso aggiornamento quando compariranno i primi prodotti quad-core.
Il secondo collo di bottiglia consiste nel controller di memoria principale. Non è parte del processore, ma risiede nel northbridge, posizionato come componente discreto sulla motherboard. Ancora una volta è il Front Side Bus che si occupa dell'interconnessione tra processore e northbridge, con due o più core che combattono per aggiudicarsi l'accesso alla memoria. AMD ha integrato il controller dentro il processore già nel 2003, soluzione che minimizza il problema e aumenta le prestazioni, grazie alla possibilità di operare alla stessa velocità del core della CPU. Il vantaggio del controller posizionato nel die diventa ovvio in ambiente multi-processore, dove ogni CPU può accedere alla propria memoria sfruttando il massimo bandwidth disponibile.
Crediamo ci siano due ragioni per cui Intel non ha ancora integrato il controller di memoria nei processori. Prima di tutto, nessuno abbraccia dei cambiamenti che non sono reputati necessari per il business. Secondo, Intel ha un mercato chipset da difendere. Spostare il controller di memoria nel processore significa eliminare le potenzialità di vendita delle piattaforme: compatibilità, continuità e funzionalità presenti esclusivamente sulle piattaforme Intel.
Dove andrà il controller della memoria?
Per alcune ragioni, il controller della memoria dovrebbe essere riposizionato all'interno del processore, per le ragioni appena descritte. Aggiungere più cache chiaramente aiuta, ma quando ci saranno quattro o più core che lavoreranno sulla stessa applicazione, bisognerà sincerarsi che abbiano sempre a disposizione dei dati da processare.
Inoltre, il processo produttivo a 45 e 32 nm permetterà di implementare il tutto a un costo ridotto. Quindi, ci aspettiamo che il controller di memoria si sposterà all'interno dei processori Intel nel futuro.