Dlaczego nierówne ilości pamięci RAM w każdym gnieździe zmniejszają wydajność?

12

Ta strona opisuje specyfikacje pamięci RAM dla wielu laptopów MacBook. W sekcji dotyczącej mojego laptopa (13 „Pro pod koniec 2011 r.) Napisano:

Dodatkowe uwagi: Aby uzyskać najlepszą wydajność, zapełnij oba gniazda pamięci, instalując jednakowy moduł pamięci w każdym gnieździe.

To nie pierwszy raz słyszę o tym zjawisku i zdecydowanie nie jest ono specyficzne dla Apple.

Dlaczego tak jest? Poza oczywistym spadkiem dostępnej pamięci, dlaczego byłoby gorzej pracować z 6 GB (1x4 GB + 1x2 GB) niż z 8 GB (2x4 GB)?

LanceLafontaine
źródło
Po pierwsze ... Nie jest to zjawisko związane z kanałami pamięci. Po drugie, między twoimi przykładami nie będzie wzrostu / spadku wydajności.
Ramhound,
@Ramhound, jeśli nie ma spadku wydajności, dlaczego jest to ostrzeżenie w witrynie Apple?
LanceLafontaine
Powiedziałem w twoim przykładzie, że gdybyś nie pracował w trybie dwukanałowym, byłoby. Istnieje różnica między teoretyczną utratą wydajności a faktyczną utratą wydajności.
Ramhound,

Odpowiedzi:

17

Przy równej ilości pamięci w obu gniazdach, pamięć może być „przeplatana”, tak że kolejne fragmenty pamięci zmieniają się naprzemiennie. W ten sposób dostęp do pamięci jest rozdzielany do obu gniazd niemal idealnie równomiernie, umożliwiając łączenie przepustowości. Przy nierównych ilościach pamięć nie może być przeplatana i musi być najpierw zmapowana do jednego kija, a następnie do drugiego. Program, który uzyskuje dostęp do dużego ciągłego fragmentu pamięci, znajdzie prawie wszystkie swoje dostępy na jednym drążku i nie będzie żadnej kombinacji przepustowości.

David Schwartz
źródło
Twoje (niewykwalifikowane) użycie „przeplatanego” jest mylące dla starego weterana, takiego jak ja. Przeplatanie w tym przypadku dotyczy tylko przypisania adresu pamięci. Przypuszczalnie moduły pamięci działałyby również w trybie jednokanałowym lub wielokanałowym (tj. N kanałów wykonywałoby swoje cykle pamięci jednocześnie). Tradycyjna pamięć z przeplotem nakładała się tylko na swoje cykle (bank pamięci mógł rozpocząć cykl odczytu przed zakończeniem cyklu przez poprzedni bank), aby uzyskać tani przyrost wydajności bez dodawania kolejnego kanału pamięci.
trociny
@sawdust „tak, że kolejne fragmenty pamięci zastępują gniazda ... pozwalając na połączenie przepustowości”
David Schwartz
1
To część niejasności. „Alternate” w sensie statycznym i / lub dynamicznym? Tradycyjna pamięć z przeplotem „zmieniałaby się” między bankami zarówno w sensie statycznym (adresowanie), jak i dynamicznym (cykl pamięci). Wielokanałowy będzie (dynamicznie) uzyskiwał dostęp do modułów jednocześnie zamiast na przemian.
trociny
4

Dodatkowe uwagi: Aby uzyskać najlepszą wydajność, zapełnij oba gniazda pamięci, instalując jednakowy moduł pamięci w każdym gnieździe.

Prawdopodobne wyjaśnienie techniczne polega na tym, że MacBook (płyta główna) obsługuje architekturę dwukanałową, a zatem wymaga 2 identycznych modułów pamięci. Testy sugerują, że daje to wzrost wydajności o 5–10%.

Dlaczego tak jest? Poza oczywistym spadkiem dostępnej pamięci, dlaczego byłoby gorzej pracować z 6 GB (1x4 GB + 1x2 GB) niż z 8 GB (2x4 GB)?

Gdy zostaną użyte dwa nieidentyczne moduły pamięci, płyta główna uruchomi moduły pamięci z prędkością najwolniejszego modułu.

mVincent
źródło