View Full Version : What Do All Those Numbers Really Mean?
pop pop
04-01-2005, 07:37 AM
Sometimes ya just gotta say you don't know ... I don't know. Maybe I knew a little, and maybe after digging I know a little more. What I really know is I need to know more.
With regard to RAM these days ... you see these kinds of numbers bandied about:
auto/533/667/711
CAS latency 4-4-4-10 and a bunch more like
PCXXXX (4200, 4400, or 5300, or whatever) and finally
Bandwidth i.e., 5.3
The only ones I think I might understand are the PCXXX and bandwidth. I THINK PC5300 and bandwidth = 5.3 means 5300kb/sec and 5.3MB/sec, respectively.
I guess the 533/667 etc is somehow related to the bus? But why would a mobo say it's capable of running the RAM at 711 when no such RAM/bus exists? Maybe via overclocking? (another thing I know little about)?
The latency numbers--I can guess based on the definition that they indicate something related to responsiveness/delay but what? And why so many numbers? Why is the last always the largest? Which is the most important? I presume that lower numbers are better/faster/more responsive/less delay?
ANd really finally--a book I was reading recently very briefly mentioned matching the bandwidth of the RAM to the bandwidth of the CPU (no waiting either way and most bang for the buck--minimized $$ for resources that might just sit there). I thought maybe they meant FSB but then their example was DDR2 PC3200 RAM with an effective bandwidth of 6.4 matching the bandwidth of an Intel P4 3.X. That didn't make sense, and they didn't explain.
Dorkspawn
04-01-2005, 10:35 AM
I don't know if this is what you're looking for, but try this: http://www.anandtech.com/memory/showdoc.aspx?i=2223&p00000000=5
Page 5.
pentachris
04-01-2005, 10:59 AM
In addition to Dorkspawn's link, you might want to check out the clinic our resident "Lord of Latency" put on in this thread (http://www.pcguide.com/vb/showthread.php?t=34794). Check posts 13, 18 & 21-22.
This info (http://www.pcguide.com/ref/ram/timing-c.html) may be a little dated, but it's very thorough. :)
pop pop
04-02-2005, 02:23 AM
OK, I read all that and found it very interesting -- from an engineering viewpoint -- and a bit confusing too, from a user/consumer viewpoint.
Thanks, I have gained a rudimentary understanding of the interrealtionships of the various specs and how if you gain in one area you tend to give up some ground in another.
I guess the sanest and safest thing for 95% of the consumers to do is to just match RAM to your mobo or system based on recommendations from the configurators available from the likes of Crucial and others. My problem is that I would want to know more in order "to form a more perfect union" between the mobo, RAM, CPU, and graphics subsystem.
It's the CPU and RAM "bandwidth matching" concept that was introduced in the article I mentioned that intrigues me the most. The example used there was DDR2 PC3200 RAM and a P4 3.2 w/800 FSB. They said that was perfectly matched because the RAM bandwidth was effectively 6.4 and the CPU bandwidth was 6.4 (they didn't explain, but I assume the doubling there is due to using rising AND falling edges of the CPU clocks??). The bandwidth concept, relative to RAM having the greater, was also addressed in one of your links like this:
Running RAM that provides a higher bandwidth than what the FSB can use does not really help, other than to reduce latencies in certain situations. If the memory can provide 8.53 GB/s of bandwidth (HERE I ASSUME THIS MIGHT BE PC4200 RAM?) and the FSB can only transmit 6.4 GB/s, the added bandwidth generally goes to waste. For those wondering why benchmarks using DDR2-533 with an 800 FSB P4 do not show much of an advantage for the faster memory, this is the main reason. (Of course, on solutions with integrated graphics, the additional memory bandwidth could be used for graphics work, and in servers, the additional bandwidth can be helpful for I/O.)
So, even though more bandwidth will never hurt performance, if one wanted to go with the greatest bandwidth, I guess it becomes a question of money ... do you want to pay a premium for additional RAM bandwidth that the CPU is unlikely to ever use, or at best use very rarely? It would seem that, if all other considerations were equal, the ideal and optimum configuration would be matched RAM and CPU bandwidth.
Am I on track here? Or did I take a wrong turn at Biloxi?
saphalline
04-03-2005, 03:09 AM
There's not really a simple answer for your questions. There's a bit of grey area in the mix...
Generally speaking, it's preferred to have the RAM bandwidth match the CPU's FSB bandwidth. But the exact performance gains (or lack thereof) with increasing the RAM bandwidth beyond the CPU's FSB bandwidth depends entirely on the memory controller used by the system. Today's standard dual-channel memory controllers, for instance, typically give a 1-3% performance gain when increasing the RAM bandwidth to the next level or higher (ie PC3200 to PC3500 or faster). NVidia's NForce2 memory controller was unique in that it gave a 3-10% performance gain in dual-channel mode on the Socket A platform. I doubt we'll see anything like that again for awhile. In terms of the cost effectiveness, getting faster RAM just isn't worth it. Non-JEDEC standard RAM is beyond spec and not always guaranteed to work. But for those who OC it can be of great help to keep overall system efficiency at peak level. Ie, if you OC the FSB of a P4 from 800MHz to 900MHz, you'd better have RAM that can keep up! Otherwise your OC'ing efforts won't be as effective.
There are also other implications when it comes to the server aspect. Servers are typically disc-and-network intensive, so DMA usage between drives and network connections is extremely high. In this type of environment, having extra RAM bandwidth can help, but again, only a little bit (although in a server environment performance comes before cost). Another reason you'll probably find more RAM bandwidth than CPU FSB bandwidth in a server is the simple fact that server CPU's lag behind desktop CPU's in technology. For instance, Intel's 800MHz FSB was available in desktop P4's long before it hit the P4-based Xeon's, so there were a lot of Xeon-based servers made with the older 533MHz FSB versions but were paired with modern chipsets to have dual-channel DDR400, thereby giving more RAM bandwidth than CPU FSB bandwidth. The final consideration in a server is the common use of registered/ECC RAM vs the unbuffered high-speed stuff that desktops use. Registered RAM takes an extra clock cycle to spit out data, so with higher latencies, the efficiency goes down. Having registered RAM that runs faster than the CPU's FSB helps to keep the overall speed balanced (especially when it comes to random access operations in RAM).
To understand the matching game, you have to understand how overall bandwidth works with the latest CPU's and RAM types. Here's a quick primer:
P4 = 800MHz FSB (533MHz, 400MHz, older ones) = 200MHz base speed * quad-pumped bus architecture (4 bus transfers per clock cycle, 2 on the rising edge & 2 on the falling edge), 64-bits wide, 6400MB/s = 6.4GB/s.
A64 (754 versions) = built-in FSB/memory controller, 64-bits wide (for RAM), 3200MB/s = 3.2GB/s.
A64 (939/940 versions) = built-in FSB/memory controller, 128-bits wide (for RAM), 6400MB/s = 6.4GB/s.
PC2700 (DDR333) = 166MHz base speed * DDR bus architecture = 333MHz effective, 64-bits wide, 2667MB/s = 2.7GB/s. Dual-channel mode = 5.3GB/s.
PC3200 (DDR400) = 200MHz base speed * DDR bus architecture = 400MHz effective, 64-bits wide, 3200MB/s = 3.2GB/s. Dual-channel mode = 6.4GB/s.
PC2-3200 (DDR2-400) = 100MHz base speed * DDR I/O * DDR bus architecture = 400MHz effective, 64-bits wide, 3200MB/s = 3.2GB/s. Dual-channel mode = 6.4GB/s.
PC2-4300 (DDR2-533) = 133MHz base speed * DDR I/O * DDR bus architecture = 533MHz effective, 64-bits wide, 4267MB/s = 4.3GB/s. Dual-channel mode = 8.5GB/s.
PC2-5300 (DDR2-667) = 166MHz base speed * DDR I/O * DDR bus architecture = 667MHz effective, 64-bits wide, 5333MB/s = 5.3GB/s. Dual-channel mode = 10.7GB/s.
That covers most of the major ones today, and gives you some numbers to fiddle with to your heart's content. DDR varieties are simple enough, because the PCXXXX number tells you how much raw bandwidth it can pump out which is useful for a quick at-a-glance reference. At least for me. ;) :p
pop pop
04-03-2005, 11:37 AM
Thanks, Saphalline. You certainly provided a wealth of information and cleared up the CPU bandwidth fog that I had. I'll have to keep this post for future reference.
It would seem that memory design is a true marvel of engineering to a level that I was previously unaware...and I go back a long way...ever heard of bubble memory?
Probably like many of us here, I'm continually amazed at your level of knowledge with this stuff. Clearly, it goes way beyond the practical and deep into the design and theoretical. Your public profile then, seems to be a bit fuzzy..."long time student and gamer". I have to ask, where did you get this level of understanding...really?
Thanks again.
saphalline
04-04-2005, 01:29 AM
I have to ask, where did you get this level of understanding...really?Haha! I have to laugh at this. I really don't know. It seems perfectly natural to me, but then again I've studied many many areas, and not just in computers. And I think I remember certain things better than others. I can memorize computer specs without a problem, but ask me to remember your birthday and it's gone 2 seconds later! :p
I think my understanding stems from a curiosity that borders on obsession. I'm not content to learn just one thing about computers, I must know it all!! To this end, I've delved heavily into mathematics (Algebra, Geometry, Trig, Stats, Calculus, Discrete math, and Number Theory), science (Biology, Chemistry, Physics, and a slight understanding of others), and computer areas of interest (programming, hardware theory & design, system design, a bit of networking & OS kernels/shells, a slight bit of security, and of course gaming). I don't consider myself an expert in any one area, but having a wide foundation of knowledge lets me pick on new topics very quickly. If I don't know specifics about a certain topic, I look it up and learn it. The info is out there on the web for free, so half of what I know I didn't pay a dime for! And so far I haven't gotten tired of learning, so I plan to learn as much as I can right now!
The other side of things, as you well know from being an engineer, is that the more you know the easier it is to learn new areas on the same topic. You just did that. Having a background in engineering let you pick up on more than just the basics of RAM in the course of about an hour of reading. Now that you know this much, learning the details of new RAM specs in the future will be your mind's equivalent of an "update". I spend a long time learning a new subject, but it gets easier every time as I continually have a larger pool of knowledge to draw from. And keeping updated on the new stuff like new CPU's and chipsets that get released is quite simple.
I really don't consider anything I do to be extraordinary. I think that everyone interested in computers and studying them should have a basic understanding of every aspect of them. I know a lot of programmers and other software experts that don't know jack about hardware! This seems odd to me. How can you write programs for a machine if you don't know how it works? And how can you create a large network if you don't have a basic understanding of how to keep them running individually? There's a lot of IT people out there who can get things to work, but without a better idea of how things work, they'll never get them to run better.
Ok, done rambling for now...
pop pop
04-04-2005, 01:56 AM
the more you know the easier it is to learn new areas on the same topic.
This part is true. I just posted on a question about how to extend the range of a wireless LAN. What I drew on was free space signal loss concepts I learned when I was working on radars. I threw some math formulas in for clarification but it may have been overkill. Of course I know very little about wireless networking but the physics are the same regardless of whether it's a radar RF signal or a signal coming off a router.
As for the H/W vs. S/W stuff, I was and I guess I still am a hardware kind o' guy. When I got into engineering a while back I was kind of thrown into the briar patch (software). I was, and to a great extent still am, somewhat out of my element. Fortunately, I'm surrounded by some brilliant programmers who also understand the hardware architecture side and who are very patient with me.
saphalline
04-05-2005, 04:14 AM
I did some quick research on bubble memory and it was quite interesting! I wonder what it would have been like if development had continued...
My problem is that I'm neither a H/W guy nor a S/W guy - I just can't make up my mind! That's why I decided to go into networking, because it requires some knowledge of all areas of computers. That way I won't be limited! :D
The way I see it, there's no such thing as overkill around here. ;) Giving too much info never seems to be a problem. Indeed, it seems to foster even more learning, as most of our members have a higher-than-average curiosity for things. If you think it's overkill, the other person might think "hey, I never thought of that..." For those members who joined after me, I can say that's how a lot of them learned more, just by being here. If you want proof of how too much info doesn't exist, check this thread (http://www.pcguide.com/vb/showthread.php?t=34050) out!! I was blown away by their sheer curiosity!!
vBulletin v3.6.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.