Is there a point to run memory faster than your cpu?

Cheezeit

Diamond Member
Apr 21, 2005
3,298
0
76
Hey guys,

I have some pretty good overclocking ram, a 2 gig kit of Buffalo Firestix Micron GMH. I've got my E6400 running at 3.2ghz on 400FSB x 8 multiplier. These firestix are currently running 1:1, so they are running at DDR800 at 4-4-4-12 timings.

My firestix can hit DDR1000, but my CPU can't hit 500FSB. Is there a point to running the memory faster than the CPU, so that the memory is running at 500mhz (DDR1000) on 5-5-5-15 timings, but the cpu at 400mhz? Is there any practical performance benefit to running memory at more mhz but slower timings than the cpu, or is it just for bragging?

Thanks,
Darren
 

dguy6789

Diamond Member
Dec 9, 2002
8,558
3
76
I have not read much into it, but supposedly running memory beyond your FSB speeds reduces latency. However, it does nothing for bandwidth. For the old Athlon XP systems, you would get best performance running FSB and memory at a 1:1 ratio. I have not seen anyone recommend 1:1 FSB to memory if your memory could go higher or vice versa.
 

nyker96

Diamond Member
Apr 19, 2005
5,630
2
81
keep memory at 1:1 i.e. divider at 2. Anything above will run your RAM faster but that extra bandwidth cannot get to CPU due to bus bandwidth bottleneck. Here's a mathematical calc I did back a months ago on this subject if you need a better explanation.

==== copied:

So every Intel processor has to go "outside" to access memory unlike AMD's built-in memory controller. And to access memory they have to go through the lanes connecting the processor to memory (connection pipe). Although you can crank up your memory to incredible bandwidth but if this bandwidth exceeds the the bandwidth of the connection pipe then your CPU will not be able to access this extra bandwidth, in this case you are wasting the bandwidth and it is better to turn this extra bandwidth to lower latency. So let's do some math:

Bp = bandwidth of connection pipe between CPU and your memory (called the bus)
(1) Bp = FSB speed/1000 (in Ghz) * 64bits (bus width) * 4 (quad pumped) = FSB /1000 * 8bytes * 4 = FSB/1000 *32bytes
e.g: you running FSB = 300Mhz
Bp = 300/1000 * 32 = 9.6 Gbyte/sec bandwidth

Bm = the bandwidth of your memory
(2) Bm = RAM speed/1000 * 64bit (DDR2 bus width) * 2 (dual channel) = RAM spd/1000 * 8bytes * 2 = RAM spd/1000 *16bytes
e.g. you running at DDR800
Bm = 800/1000 * 16bytes = 12.8 Gbyte/sec bandwidth

thus we want (3) Bp >= Bm at all times this means the conecting pipe is wide enough to allow 100% of memory bandwidth to pass though to your CPU.

however say in the example above if we are running 300 FSB and somehow using dividers (2.66) we get our memory to 800Mhz, then roughly 25% of your memory's bandwidth is unused at all. 12.8 total memory bandwidth output, but only 9,6 accesable to your CPU. You just wasted 25% of the bandwidth. Thus in order to get 100% of this 12.8 GB/sec bandwidth from the memory you need to run FSB at 400+ thus widening the connection pipe to 12.8 GB/sec enough to allow FULL memory bandwidth through.

These two little equations has an interesting implication:
so we want (3) Bp >= Bm substitute for each from equations (1)+(2) we get:
FSB/1000 *32bytes >= RAM speed/1000 * 16bytes

simplify we have:
2*FSB >= RAM speed

divide we get:
2 >= RAM-speed/FSB-speed

since we know RAM-speed/FSB-speed = the memory divider we use, this effectively means:
2>=memory divider

Put it simply we must use a memory divider smaller than 2 to not waste your memory bandwidth due to CPU-RAM pipeline limitation. Since on 965P all dividers are 2 or higher, we can confidently say the optimal divider=2 on 965P. Any higher divier will allow higher RAM speed with no conceivable benefit to the CPU whatsoever. This also means after keeping divider at 2, you want to use as high a FSB as possible for your RAM. So for say E4300 using a lower divider like 8 instead of 9 can push up the FSB a bit and achieve higher memory bandwidth for your CPU (provided you use memory divider of exactly 2 for 965P). If your bandwidth gets ahead of connecting pipe bandwidth then it's time to trade that wasted bandwidth for lower latency.

 

MarcVenice

Moderator Emeritus <br>
Apr 2, 2007
5,664
0
0
I don't know :p

But since your ram is running underclocked, at 1:1, can't you lower the timings, lower then 4-4-4-12 ?
 

Canai

Diamond Member
Oct 4, 2006
8,016
1
0
Wow, nyker, very nice!

Is the memory divider the same on 975 chipsets?
 

Cheezeit

Diamond Member
Apr 21, 2005
3,298
0
76
The firestix are rated for DDR 667, so 800 is not underclocked at 1:1.

I gotta agree, those were some very nice calculations on the memory bus. Thanks, nyker!

To Canai, intel chips suffer from using a memory divider, unlinke A64's. Also, I don't think any intel chipsets have dividers, only multipliers.
 

nyker96

Diamond Member
Apr 19, 2005
5,630
2
81
Originally posted by: Canai
Wow, nyker, very nice!

Is the memory divider the same on 975 chipsets?

Thanks, as far as I can remember 975 has similar divider selections as 965 but I will try confirm this.
 

MarcVenice

Moderator Emeritus <br>
Apr 2, 2007
5,664
0
0
It's underclocked if you know it can hit 1000 :p Apparently, nykers post was very enlightening, theres no need for your ram to run faster then your cpu, so tighten those timings, and enjoy. I think you can push your e6400 a little further though, or are you keeping it at 3.2 on purpose ?
 

TheDrD

Member
Oct 1, 2004
114
0
0
So what once you get to a 1:1 ratio the only place for overlooking is reducing your latency
 

Cheezeit

Diamond Member
Apr 21, 2005
3,298
0
76
Well Marc, 4-4-4-12 is pretty low latency already for any DDR2 set. I don't think they would go any lower and stay stable. I haven't had the time to mess around with my e6400 too much, basically just tried 3.6, which was a no go, and 3.2, which worked. I'm definately going to push for 3.5, because I've got nice cooling and all. My cpu is 18 hours orthos stable @ 3.2ghz with 1.375v. Just don't want to go too high with vcore.
 

MarcVenice

Moderator Emeritus <br>
Apr 2, 2007
5,664
0
0
hmz allright, so 4-4-4-12 on ddr2 is better then 4-4-4-12 on ddr ram ? Since i've been seeing 2-2-2-4 or so and stuff I figured yours could go lower as well. This stuff must be confusing tho, some ppl use 4-12-4-4 others use 4-4-4-12, we need a standard for this stuff :p
 

GimpyFuzznut

Senior member
Sep 2, 2002
347
0
0
So there really is no point in running memory faster than FSB? There is no benefit to running double or something like that?

Put it simply we must use a memory divider smaller than 2 to not waste your memory bandwidth due to CPU-RAM pipeline limitation. Since on 965P all dividers are 2 or higher, we can confidently say the optimal divider=2 on 965P. Any higher divier will allow higher RAM speed with no conceivable benefit to the CPU whatsoever. This also means after keeping divider at 2, you want to use as high a FSB as possible for your RAM. So for say E4300 using a lower divider like 8 instead of 9 can push up the FSB a bit and achieve higher memory bandwidth for your CPU (provided you use memory divider of exactly 2 for 965P). If your bandwidth gets ahead of connecting pipe bandwidth then it's time to trade that wasted bandwidth for lower latency.

Nevermind.... nice explanation though!
 

Cheezeit

Diamond Member
Apr 21, 2005
3,298
0
76
No the 4-12-4-4 is probably 4-4-4-12 listed weird. Each number is a specific timing. DDR ram will always be better than DDR2 in timings. This is simply because of how they are designed.

Gimpy, DDR memory always runs double FSB, hence Double Data Rate is what DDR stands for. As far as intel architecture goes, nyker basically proved that running you memory faster than FSB will not give better performance.
 

GimpyFuzznut

Senior member
Sep 2, 2002
347
0
0
I meant double the already doubled speed. LOL! Thanks though. Guess I have some adjusting to do so I can bring that memory speed down.
 

Cheezeit

Diamond Member
Apr 21, 2005
3,298
0
76
I didn't realize you meant the already doubled speed :D. I thought it would be strange referencing to double DDR800 to an impossible DDR1600.
I don't think you need to bring the memory speed down if you already have it up there, unless you can have lower latencies at lower clock speed.
 

GimpyFuzznut

Senior member
Sep 2, 2002
347
0
0
Well OK - with a 4300 I have my FSB at 315. So running at regular speed would be 630. Now - ok maybe I can't reach double the double but I can get to 3.33 for instance putting the memory at roughly 1050. But as stated; it seems like to it would be a better idea to lower it back to 630 and just tighten the timings. Thanks for the info! I bet I can get a better OC on the FSB now.
 

Cheezeit

Diamond Member
Apr 21, 2005
3,298
0
76
Originally posted by: GimpyFuzznut
Well OK - with a 4300 I have my FSB at 315. So running at regular speed would be 630. Now - ok maybe I can't reach double the double but I can get to 3.33 for instance putting the memory at roughly 1050. But as stated; it seems like to it would be a better idea to lower it back to 630 and just tighten the timings. Thanks for the info! I bet I can get a better OC on the FSB now.

Actually your best performance would be running the memory faster than 630. Lower the E4300's multiplier to 8 and put your FSB up there, around 400. Your memory will run at 800+.