Czy włączenie dwóch procesorów zwiększa maksymalną pamięć RAM?

16

Jeśli E3-1285 v6 obsługuje maksymalnie 64 GB pamięci RAM, to czy użycie płyty głównej z dwoma gniazdami zwiększa maksymalną pamięć? Chyba nie, ale chciałbym poznać przyczynę. Moja logika mówi, że jeśli pamięć RAM jest współdzielona, ​​oba procesory powinny być w stanie zająć się całą dostępną pamięcią RAM, a zatem będzie ona ograniczona do 64 GB. Jakieś techniczne wytłumaczenie tego?

kankamuso
źródło

Odpowiedzi:

32

We współczesnych procesorach kontroler pamięci jest zintegrowany bezpośrednio z procesorem, podczas gdy w przeszłości procesor uzyskiwał dostęp do pamięci przez system magistrali. System magistrali miał tę zaletę, że dostęp do pamięci był jednolity, co nadal ma miejsce w procesorach z jednym gniazdem.
Teraz, wchodząc do systemów z dwoma gniazdami, każdy procesor ma wydzieloną pamięć lokalną, a pamięć drugiego procesora może być dostępna pośrednio przez QPI, który jest w prostych słowach łącznikiem między dwoma procesorami. Nazywa się to NUMA (nierównomierny dostęp do pamięci).

Cóż, składanie rzeczy w całość. Jeśli masz drugi procesor, możesz zwiększyć całkowitą ilość pamięci systemu, ale potrzebujesz również procesora, który może działać w trybie dwuprocesorowym. IIRC seria E3 nie obsługuje podwójnego gniazda, E5 jest przystosowana do podwójnego gniazda, a quad do gniazda E7.

Tomasz
źródło
Wielkie dzięki za jasne wyjaśnienie. Moje studia informatyczne pozostają w tyle za postępami na rynku architektury komputerowej. Kolega powiedział mi, żebym spróbował zbudować system Xeon ze zintegrowanym GPU (dla środków openCL) i 128 GB ... i jest to po prostu niemożliwe :-(.
kankamuso
4
Możesz to zrobić, potrzebujesz procesora z kontrolerami pamięci, aby zająć więcej pamięci. Maszyny Xeon E5 mają 4 kanały pamięci i można zainstalować do 8 modułów po 32 GB na procesor.
Andreas Rogge
Czasami jest to zapisywane tajemniczo jako tylko 1S .
Chrylis
1
@kankamuso Dyskretny procesor graficzny może być jednak bardzo przydatny.
JAB
2
@kankamuso Zintegrowany procesor graficzny Intel nie będzie przydatny dla OpenCL. Uzyskasz lepszą wydajność nawet z dyskretnego procesora graficznego klasy podstawowej.
duskwuff -inactive-
10

Po pierwsze, E3-1285v6 nie obsługuje wielu gniazd, więc aby zwiększyć liczbę procesorów w systemie, potrzebujesz innego procesora.

Podczas gdy procesory AMD i Intel w trybie długim używają wskaźników 64-bitowych, dostępne obecnie procesory są ograniczone do 48 bitów. W ten sposób możliwe jest zaadresowanie do 256 TB pamięci i każdy procesor kompatybilny z x86_64 może zaadresować tę ilość pamięci.

Istnieje jednak inne ograniczenie: kontroler pamięci zintegrowany z procesorem. Ten kontroler pamięci ma ograniczoną liczbę kanałów (w przypadku procesora: 2), co oznacza, że ​​może komunikować się z dwoma modułami pamięci jednocześnie. Kanały mogą się przełączać między wieloma modułami (zwykle 2), więc zwykle można podłączyć dwa moduły na kanał, co w sumie daje 4 moduły w twoim przypadku.

Jeśli masz płytę z wieloma gniazdami i zainstalowanymi wieloma procesorami, będziesz mieć jeden kontroler pamięci na procesor, więc ostatecznie podwoisz fizyczną pamięć instalowalną (która tak naprawdę nie jest związana z pamięcią adresowalną), instalując drugi procesor.

Andreas Rogge
źródło
To też dużo! Bardzo ciekawe wyjaśnienie dla mnie.
kankamuso
8
48 bitów to limit wirtualnej przestrzeni adresowej, a nie fizyczny. Jest to niewygodne dla jądra, ale można obsługiwać więcej pamięci fizycznej, niż można zmapować do jednej płaskiej wirtualnej przestrzeni adresowej (mieliśmy to już przez 32-bit + PAE). X86-64 Format tabela strona już obsługuje do 52-bitowych adresów fizycznych , choć rzeczywiste procesory obsługują mniej. Szczegóły kontrolera pamięci są tutaj zwykle ważne, nie tylko wewnętrzna szerokość adresu fizycznego.
Peter Cordes,
@PeterCordes: otoh kilka procesorów nie ma zaimplementowanych wszystkich linii adresowych, takich jak E5-1620v3, na którym obecnie pracuję, który ma obsługę fizycznych adresów 46 bitów.
PlasmaHH
1

Jeśli E3-1285 v6 obsługuje maksymalnie 64 GB pamięci RAM, to czy użycie płyty głównej z dwoma gniazdami zwiększa maksymalną pamięć?

Tak, używanie wielu procesorów zwiększa maksymalną pamięć, jednak procesor nie obsługuje płyt głównych z wieloma gniazdami.

Facet powiedział mi, żebym spróbował zbudować system Xeon ze zintegrowanym GPU (dla środków openCL) i 128 GB ... i jest to po prostu niemożliwe :-(

Rzeczywiście, części dolne (gniazdo 115x) mają opcję zintegrowanych układów GPU (przypuszczalnie dlatego, że pochodzą one z tych samych podstawowych konstrukcji co główne części pulpitu), ale nie mają obsługi wielu gniazd i mają kontroler pamięci, który obsługuje tylko cztery moduły (dwa kanały z dwoma modułami każdy) niezarejestrowanej pamięci. Dzięki obecnej technologii, która ogranicza Cię do 64 GB.

Elementy z wyższej półki mają lepsze kontrolery pamięci z większą liczbą kanałów i wsparcie dla typów pamięci, które pozwalają na większą liczbę modułów na kanał (512 GB na gniazdo jest wykonalne), aw niektórych przypadkach wsparcie dla konfiguracji z wieloma gniazdami, ale brakuje im zintegrowanych układów GPU.

Peter Green
źródło