Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

Check the RAM bus size on G5 Macs System
I just got my iMac G5, and when I bought it I assumed I could just add any old compatible memory and it wouldn't affect performance. However, it appears that you need two DIMMs of the same composition to get a 128-bit memory bus instead of a 64-bit memory bus. According to macbidouille.com, this can yield up to a 38% increase in the performance of Xbench memory tests. Many people have bought RAM of the same size but different composition, and they are getting a 64-bit bus. To dispaly the RAM bus size, run the following command:
ioreg -p IODeviceTree -n memory -S | grep ram-
If the ram-layout-architecture value is 1, then you have a 128-bit bus; if it is 2, you have a 64-bit bus.
    •    
  • Currently 2.67 / 5
  You rated: 4 / 5 (6 votes cast)
 
[22,303 views]  

Check the RAM bus size on G5 Macs | 10 comments | Create New Account
Click here to return to the 'Check the RAM bus size on G5 Macs' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
Check the RAM bus size on G5 Macs
Authored by: gaboosh on Oct 11, '04 12:44:38PM

I have two questions:

- I haven't installed any extra RAM on my iMac G5 but the ram-architecture-value is 2. Is that right? The hint implies all G5s come with a 128 bit bus

- also - how will i know what the composition is to buy RAM that matches that of the DIMM in my machine already?



[ Reply to This | # ]
Check the RAM bus size on G5 Macs
Authored by: Shawn Parr on Oct 11, '04 10:29:29PM

You must have both RAM slots filled in order to get a 128 bit bus. It is basically 64 bits per ram slot, and if the chips are close enough in spec the machine 'syncs' them so that it can use them as a single 128 bit wide channel rather then two 64 bit wide channels.



[ Reply to This | # ]
Check the RAM bus size on G5 Macs
Authored by: stilesja on Oct 11, '04 01:30:54PM

So, I am curious. I ordered the single 512MB stick from Apple planning on adding another 512MB sick on my own. How do I know what configuration to order so that I can have a 128MB memory bus?



[ Reply to This | # ]
Check the RAM bus size on G5 Macs
Authored by: floh on Oct 11, '04 02:39:56PM

Here's what Apple has to say about this:
[http://developer.apple.com/documentation/Hardware/Developer_Notes/Macintosh_CPUs-G5/iMacG5/04_Expansion/chapter_5_section_1.html#//apple_ref/doc/uid/TP40001433-CH208-BBCJADAF]

Basically, you need two technically identical DIMMs to get a 128 bit memory bus. this means, that the two dimms need not only have to have the same physical size (i think also number of chips since there's different possibilities of composing, say 256 megs from different chips) but latency values must be the same, too. safest is to get two identical DIMMs from the same manufacturer.

But ... I have seen different oppinions about this ... german computer magazine c't says, that increase of performance in real world environment is about 0-4%, so far from being noticeable. Now c't is the only computer magazine I would trust at least as far as I can throw the magazine around here, but they fail to mention what they think "real world" means and the article lacks details about test environment, etc. Still I'd be careful to overestimate the effect of identical DIMMs in single cpu systems.



[ Reply to This | # ]
Check the RAM bus size on G5 Macs
Authored by: stilesja on Oct 14, '04 01:12:33PM

Well, I ended up ordering my memory from crucial.com as they had a specific catagory for iMac G5 20inch memory, and I thought if there was a chance of getting the right memory to make it 128bit that would be it. I had talked to several discount sellers and none could guarantee what memory I would get so I went ahead and paid about $30 extra and got it from crucial. Turns out that after installing it my bus is 128 bit so I am happy! Not that I really would have noticed a difference... :-)



[ Reply to This | # ]
Check the RAM bus size on G5 Macs
Authored by: Cameroon on Oct 11, '04 02:40:49PM

Regarding the two posts above: As long as you have paired sticks of RAM (i.e. even numbers of the same sized sticks of RAM), the architecture will be able to use a 128-bit datapath on the bus.

For instance, if you only have one stick of 512 RAM in your machine, you will end up with a 64 bit datapath. If you put a second 512 stick in, you will get a 128 bit datapath.

This isn't something that some people receive in their machines and others do not, it's a consequence of using standard RAM (which I guess only has a 64-bit wide path). But if you interleave 2 sticks of 64-bit wide RAM on a system that supports 128-bit wide reads, then you can use those 2 sticks to get a 128-bit path rather than 64.

Fortunately they designed the system such that it can accept non-paired configurations, just at a performance penalty.



[ Reply to This | # ]
Check the RAM bus size on G5 Macs
Authored by: Cameroon on Oct 11, '04 02:43:31PM

(I just love responding to my own post :-p)

I think I misinterpreted what the first two posters were saying, so my apologies.



[ Reply to This | # ]
Check the RAM bus size on G5 Macs
Authored by: Sherman Gregory on Oct 11, '04 05:35:12PM

In my brand new dual 2.5GHz G5, the above mentioned command returns nothing. In other words, "ram-layout-architecture" does not exist in the IO registry. Also, any unpaired sticks that are installed are simply ignored. Apparently that machine can not deal with 64 bit memory widths.



[ Reply to This | # ]
macbidouille script link
Authored by: tobyvoss on Oct 13, '04 07:23:28AM
macbidouille.com also offers a link to a script that will do the check (for those afraid of the terminal): http://www.macbidouille.com/downloads/testbusG5us.sit

[ Reply to This | # ]
macbidouille script link
Authored by: gorans on May 06, '06 03:01:07AM

Hi, little late on this thread but...

I'm little confused. Running the command in the terminal gives:

gimac:~ goran$ ioreg -p IODeviceTree -n memory -S | grep ram-
| "ram-layout-architecture" = <00000002>
| "ram-bus-width" = <00000080>

It seems that my bus width is 128 bit (80hex) but 02 indicates 64 bits. Which one is true?



[ Reply to This | # ]