14

This page describes the RAM specifications for many of the MacBook laptops. In the section for my laptop (13" Pro Late 2011), it says:

Additional Notes: For best performance, fill both memory slots, installing an equal memory module in each slot.

This isn't the first time I've heard of this phenomenon, and it's definitely not specific to Apple.

Why is this the case? Other than the obvious decrease in available memory, why would it be worse to run with 6GB (1x4GB + 1x2GB) than with 8GB (2x4GB)?

LanceLafontaine
  • 558
  • 2
  • 6
  • 17
  • First...Its not a phenomenon it has to do with the memory channels. Second there would be no performance increase/decrease between your examples. – Ramhound Oct 07 '14 at 17:24
  • @Ramhound if there is no performance decrease, why is there that warning on the Apple website? – LanceLafontaine Oct 07 '14 at 17:26
  • I said **in your example** if you were not running in dual-channel mode there would be. There is a difference between theoretical performance loss and actual performance loss. – Ramhound Oct 07 '14 at 17:33
  • 1
    Related: [How much of a performance hit using asymmetrical dual channel RAM?](http://superuser.com/questions/266504/how-much-of-a-performance-hit-using-asymmetrical-dual-channel-ram), [If the brand, size, MHz speed and latency settings of two sets of RAM are the same, will they still work correctly in dual channel mode?](http://superuser.com/questions/350906/if-the-brand-size-mhz-speed-and-latency-settings-of-two-sets-of-ram-are-the-sa?rq=1) – Ƭᴇcʜιᴇ007 Oct 07 '14 at 18:15

2 Answers2

17

With equal amounts of memory in both slots, memory can be "interleaved" so that successive chunks of memory alternate slots. That way, memory accesses get distributed to both slots almost perfectly evenly, allowing their bandwidth to combine. With uneven amounts, memory cannot be interleaved and has to be mapped first to one stick and then to the other. A program that is accessing a large contiguous chunk of memory will find almost all of its accesses going to one stick, and there will be no bandwidth combination.

David Schwartz
  • 61,528
  • 7
  • 100
  • 149
  • Your (unqualified) use of "interleaved" is confusing to an old-timer like me. The interleaving in this case is only for the memory address assignment. Presumably the memory modules would also operate in either single-channel or multi-channel modes (i.e. N channels would perform their memory cycles simultaneously). Traditional interleaved memory only overlapped their cycles (a memory bank could began its read cycle before the previous bank completed its cycle), for a cheap performance gain without adding another memory channel. – sawdust Oct 07 '14 at 19:16
  • @sawdust "so that successive chunks of memory alternate slots ... allowing their bandwidth to combine" – David Schwartz Oct 07 '14 at 19:22
  • 1
    That's part of the ambiguity. "Alternate" in a static and/or dynamic sense? Traditional interleaved memory would "alternate" between banks in both static (addressing) and dynamic (memory cycle) sense. Multichannel would (dynamically) access the modules simultaneously, rather than alternate. – sawdust Oct 07 '14 at 19:30
  • Is this answer still accurate in 2020? – RockPaperLz- Mask it or Casket Sep 07 '20 at 12:15
  • 1
    @RockPaperLz-MaskitorCasket For some chipsets it is. Others can interleave some of memory so if you have 4GB on one channel and 6GB on the other, you wind up with 8GB of interleaved memory and 2GB of memory that is effectively single-channel. – David Schwartz Sep 07 '20 at 22:38
4

Additional Notes: For best performance, fill both memory slots, installing an equal memory module in each slot.

The likely technical explanation here is that your MacBook(motherboard) supports dual- channel architecture, and thus requires 2 identical memory modules. Benchmarks suggests that it gives 5%-10% performance boost.

Why is this the case? Other than the obvious decrease in available memory, why would it be worse to run with 6GB (1x4GB + 1x2GB) than with 8GB (2x4GB)?

When two non-identical memory modules are used, the motherboard will run the memory modules at the speed of slowest module.

mVincent
  • 179
  • 5