Includere due processori aumenta la memoria RAM massima?


16

Se E3-1285 v6 supporta un massimo di 64 GB di RAM, l'utilizzo di una scheda madre a doppio socket aumenta la memoria massima? Immagino di no, ma vorrei sapere il motivo. La mia logica dice che se la RAM è condivisa, entrambi i processori dovrebbero essere in grado di indirizzare tutta la RAM disponibile e, quindi, saranno limitati a 64 GB. Qualche spiegazione tecnica per questo?

Risposte:


32

Nelle moderne CPU il controller di memoria è integrato direttamente nella CPU, mentre in passato la CPU accedeva alla memoria tramite un sistema bus. Il sistema di bus presentava il vantaggio che l'accesso alla memoria era uniforme, come accade ancora nelle CPU a socket singolo.
Ora, entrando nei sistemi a doppio socket, ogni CPU ha una memoria locale dedicata e alla memoria dell'altra CPU è possibile accedere indirettamente tramite QPI, che è in parole semplici un collegamento tra le due CPU. Questo si chiama NUMA (accesso alla memoria non uniforme).

Bene, unendo le cose. Se hai una seconda CPU puoi aumentare la quantità totale di memoria del tuo sistema, ma hai anche bisogno di una CPU in grado di funzionare in modalità a doppio processore. IIRC la serie E3 non è compatibile con doppia presa, E5 è compatibile con doppia presa e quadrupla E7.


Grazie mille per la tua chiara spiegazione. I miei studi di informatica sono in ritardo rispetto ai progressi del mercato nell'architettura informatica. Un collega mi ha detto di provare a costruire un sistema Xeon con GPU integrata (per mezzi openCL) e 128 GB ... ed è semplicemente impossibile :-(.
kankamuso

4
Puoi farlo, hai solo bisogno di una CPU con controller di memoria per indirizzare più memoria. Le macchine Xeon E5 hanno 4 canali di memoria e puoi installare fino a 8 moduli da 32 GB ciascuno per CPU.
Andreas Rogge,

Questo a volte è scritto in modo criptico solo come 1S .
Chrylis

1
@kankamuso Tuttavia, una GPU discreta può essere molto utile.
JAB

2
@kankamuso Una GPU Intel integrata non sarà utile per OpenCL. Otterrai prestazioni migliori anche da una GPU discreta entry-level.
duskwuff,

10

Prima di tutto, E3-1285v6 non supporta il multi-socket, quindi per aumentare il numero di CPU nel sistema avrai bisogno di una CPU diversa.

Mentre le CPU AMD e Intel in modalità lunga utilizzano puntatori a 64 bit, le CPU disponibili oggi sono limitate a 48 bit. Pertanto è possibile indirizzare fino a 256 TB di memoria e ogni CPU compatibile x86_64 può indirizzare tale quantità di memoria.

Tuttavia, esiste un'altra limitazione: il controller di memoria integrato nella CPU. Quel controller di memoria ha un numero limitato di canali (nel caso della tua CPU: 2), il che significa che può parlare contemporaneamente con due moduli di memoria. I canali possono alternare tra più moduli (di solito 2), quindi di solito è possibile collegare due moduli per canale, per un totale di 4 moduli nel proprio caso.

Se hai una scheda multi-socket con più CPU installate avrai un controller di memoria per CPU, quindi alla fine raddoppi la memoria fisica installabile (che non è realmente correlata alla memoria indirizzabile) installando una seconda CPU.


Grazie mille !. Una spiegazione molto interessante per me.
kankamuso,

8
48 bit è il limite di spazio dell'indirizzo virtuale, non fisico. È scomodo per il kernel, ma è possibile supportare più memoria fisica di quella che può essere mappata in uno spazio di indirizzi virtuale piatto (lo abbiamo avuto con PAE a 32 bit + per un po '). Il formato della tabella delle pagine x86-64 supporta già indirizzi fisici fino a 52 bit , sebbene le CPU reali ne supportino meno. I dettagli del controller di memoria sono di solito importanti qui, non solo la larghezza interna dell'indirizzo fisico.
Peter Cordes,

@PeterCordes: molti processori non hanno implementato tutte le linee di indirizzo, come l'E5-1620v3 su cui sto correndo, con supporto di indirizzo fisico a 46 bit.
PlasmaHH,

1

Se E3-1285 v6 supporta un massimo di 64 GB di RAM, l'utilizzo di una scheda madre a doppio socket aumenta la memoria massima?

Sì, l'utilizzo di più CPU aumenta la memoria massima, tuttavia la CPU non supporta più schede madri socket.

Un collega mi ha detto di provare a costruire un sistema Xeon con GPU integrata (per mezzi openCL) e 128 GB ... ed è semplicemente impossibile :-(

In effetti, le parti di fascia bassa (socket 115x) hanno l'opzione di GPU integrate (presumibilmente perché derivano dagli stessi design di base delle parti desktop tradizionali) ma non hanno supporto multi-socket e hanno un controller di memoria che supporta solo quattro moduli (due canali con due moduli ciascuno) di memoria non registrata. Con la tecnologia attuale che ti limita a 64 GB.

Le parti terminali più alte hanno controller di memoria migliori con più canali e supporto per tipi di memoria che consentono moduli sempre più grandi per canale (è possibile 512 GB per socket) e in alcuni casi supporto per configurazioni multi-socket ma mancano le GPU integrate.

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.