RAM question

  • Thread starter Thread starter Guest
  • Start date Start date
RalfG said:
Except that there is no DOS or any OS loaded at that point, the information
displayed is output from the PC BIOS, and possibly the video card,
diagnostic self check.

Yes, that could be the video BIOS string displaying. I have a couple FX5200 cards
here, and one of them does display a BIOS string on the screen, before anything
else appears. The video card BIOS (a chip on the video card holds that 64KB of
code) is what created and printed the info on the screen. That could be what
is confusing matters. My ATI card doesn't display anything before the BIOS POST
screen appears.

The motherboard in question, should have no problem with RAM sticks up to a size
of 1GB each. So it won't have a problem reading or using a 512MB stick of memory.

If buying 1GB sticks, don't buy them from Ebay, because Ebay is awash in some
cheap and cheerless 1GB DDR memory. If you wanted to buy 1GB DIMMs, they should
be branded memory bought somewhere other than Ebay. The DIMMs you buy should
use 64Mx8 memory chips (and that information will be hard to get from the vendor).
This is an example of a Kingston stick that uses 64Mx8 chips. Generally, branded
memory makers don't fool around with DIMMs made from 128Mx4 chips, so AFAIK,
1GB branded RAM will use 16 of the 64Mx8 chips.

"Sixteen 64Mx8 DDR400" - equals a 1GB module
http://www.valueram.com/datasheets/KVR400X64C3A_1G.pdf

Note - I didn't really want to write the following section, but I was unable
to find a good web page that explained it...

With regard to what an AGP Aperture is:

http://www.techarp.com/showFreeBOG.aspx?lang=0&bogno=32

"Please note that the AGP aperture is merely address space, not actual physical
memory in use. Although it is very common to hear people recommending that the
AGP aperture size should be half the size of system memory, that is wrong!"

The aperture is a maximum mapping for the system memory, for graphics use. If no
game is running, system memory is available as it normally would be, so the
aperture doesn't prevent the memory from being used in the normal way.
The operating system has to allocate it, for it to be used (the OS would not
want a collision of usages for the memory).

When you play a 3D game, the game will prefer to keep textures in the video card
onboard memory (for performance). If the textures are too large, then system RAM
can be used to hold them.

Memory can be fragmented, with no large chunks immediately available. The GART is
a translation device. It allows discontinuous pieces of memory, to occupy what
appears to the video card, to be contiguous memory. The OS allocates the memory
first, maps it in the GART, and the program requesting the memory also needs
normal access to the memory as well (virtual to physical translation).
The game program then puts textures in the discontinuous pieces of memory - when
the video card deals with the memory, it all appears to be one continuous piece
of memory, starting at a base address and extending up to the max size set in
the BIOS. The game has to tell the video card that there are some valid entries
in the memory, for it to be used.

The accesses of the video card, to the memory, are based on physical addresses
on the AGP bus. The video card doesn't have access to the virtual address space
that the OS and programs are using. That is why the GART is present - it is like
address translation for the usage of the video card. Physical to physical mapping.

So when an aperture is set in the BIOS, it is not an immediate allocation of
memory. It sets the maximum size of the "window" in the address space that
can be used for mapping system memory for graphics card usage. It is up to the
3D game, to decide how much system memory to use and when. There is a
limit as to how much physical memory is available, and a game designer has to
balance the requirements of stack and heap for the program, versus burning up
all the memory to hold textures. If necessary, texture caching can also be managed by
the game, via holding it on disk until it is required (like an MS flight sim might do).
But most games don't really want to do that, because of the glitch in game performance
if you had to go to the disk a lot while the game is in motion.

Section 5.3 on page 116 in this doc, has a picture of the aperture and mapping
feature that would be in the Northbridge.

http://web.archive.org/web/20030314...m/technology/agp/downloads/agp30_final_10.pdf

So if you are gaming on a machine with 512MB total memory, there really isn't a
lot of memory to go around. If a game is heavy in 3D textures, you'd hope they'd
fit in video card memory, so none of the 512MB system memory is needed for that.
What trimming down the aperture setting does, is prevents the game from mapping
more than that amount through the GART. But if a game is managing its resource usage,
it might not need to be whipped into shape or policed that way.

You can play with the aperture, but there is no guarantee it is going to do
anything useful. There are a number of web pages, where they chart the effects
of the setting. And maybe you can reach some conclusion based on looking at
a number of those articles. I just leave mine set at 64MB, which happened to
be the BIOS default (i.e. I'm too lazy to do the research :-) )

HTH,
Paul
 
Paul
Many thanks for that and thanks also for the information about the AGP
Aperture Size - it is interesting reading and I may now change the Aperture
back to 64MB. As for the memory I can only afford 512 MB at this time and
will buy a recognised brand from a recognised shop.
Questions:
1) Do I need 64Mx8 memory for the 512MB stick or does this only apply to 1GB
sticks?
2) If I install the 512MB stick will I see any improvement in performance?
Many thanks
 
AW said:
Paul
Many thanks for that and thanks also for the information about the AGP
Aperture Size - it is interesting reading and I may now change the Aperture
back to 64MB. As for the memory I can only afford 512 MB at this time and
will buy a recognised brand from a recognised shop.
Questions:
1) Do I need 64Mx8 memory for the 512MB stick or does this only apply to 1GB
sticks?
2) If I install the 512MB stick will I see any improvement in performance?
Many thanks

The 64Mx8 are only a consideration for 1GB DDR sticks.

There are two ways to make a 1GB sticks.

(16) 64Mx8 are good.
(16) 128Mx4 is the Ebay way (compatible with a restricted set of chipsets)

For 512MB sticks, there is less risk. There are two ways to make them

(16) 32Mx8 chips are good. The majority come that way, even from Ebay. Double sided.
(8) 64Mx8 chips are good, but less common (i.e. a single sided 512MB DIMM)

It would be better if you could match the construction of your existing 512MB
DIMM. That would allow you to operate in dual channel mode, for a alight
improvement in memory bandwidth. You wouldn't want a double sided 512MB mixed
with a single sided 512MB, because that might put the chipset in virtual
single channel mode.

Now, chances are good, if you never read any of the above, just went to
the store, and bought a 512MB DDR stick, you'd get the right type. Which
is why I don't really have any strong warnings about your purchasing the
512MB stick. After purchase, check and see if both of them are double sided,
as that should give the best performance. Even if the timings did not match
(i.e. mixed a 2-2-2-6 stick with a 3-3-3-8 stick), dual channel should still
work, and the BIOS will run both sticks with the slower 3-3-3-8 timing.
The default for DDR400 would be 3-3-3-8 timing, while sticks operating
at 2-2-2-6 are usually a bit more expensive. The first digit is CAS, and
when the memory doesn't state the number, chances are it is CAS3.

To discover more about the current operating conditions of the memory,
and the contents of the SPD on the DIMM (the timing info), try CPUZ from
www.cpuid.com . It can list the timing numbers, clock speeds and so on.

There is some background on this dual channel stuff, here. Figure 4
is what you are aiming for.

http://download.intel.com/design/chipsets/applnots/25303601.pdf

HTH,
Paul
 
Paul
Many thanks for that information - it is most useful. I have established
that the RAM I am currently using is Single Channel (from BIOS screen).
Timings are set at 2-2-2-6. The 512MB stick that that I have been looking at
is from Corsair (VS512MB400) however it doesn't mention if it is single or
double sided but I will google later today for further information. It does
say however that CAS is 2.5. Would this stick work OK?
Many thanks again
 
AW said:
Paul
Many thanks for that information - it is most useful. I have established
that the RAM I am currently using is Single Channel (from BIOS screen).
Timings are set at 2-2-2-6. The 512MB stick that that I have been looking at
is from Corsair (VS512MB400) however it doesn't mention if it is single or
double sided but I will google later today for further information. It does
say however that CAS is 2.5. Would this stick work OK?
Many thanks again

There is no info on the Corsairmicro site and the picture here is not clear
enough to make out the part number on the memory chip. They did have the
chip branded with their own branding, and even if you could read the part
number, it still might not be possible to look it up.

http://images10.newegg.com/NeweggImage/productimage/20-145-026-03.JPG

The only company I know of, that shipped a single sided 512MB DIMM,
was Crucial. But that is just based on people having trouble matching
DIMMs, and there could be others out there that are single sided that
I haven't heard about.

I think it is still safe to give it a shot. Odds are good that it
is double sided like your existing DIMM. CAS3 at DDR400, by scaling,
should run CAS2 at DDR266. So a CAS2.5 at DDR400 will be more than
good enough to do CAS2 at DDR266.

Paul
 
Paul (and others who have contributed)
Many, many thanks for assisting me with information and articles that are
really useful and I understand the subject much better now.
I will buy this RAM stick but hopefully you won't mind if I ask you two last
questions as you obviously know your stuff.
I have run the CPU-Z utility and get:
In the MEMORY tab
Timing
Frequency 133.3Mhz
FSB:DRAM 3:4
CAS# Latency 2.0 Clocks
RAS# to CAS# Delay 2.0 Clocks
RAS# Precharge 2.0 Clocks
Cycle Time (Tras) 6.0 Clocks
(The above Clock numbers are set in my BIOS but why only 133.3Mhz when I
have DDR of 400Mhz - is this correct?)

The SPD tab reads:
Frequency 133Mhz 166Mhz 200Mhz
CAS# Latency 2 Clocks 2.5 Clocks 3.0 Clocks
RAS# to CAS# 3 Clocks 3 Clocks 4 Clocks
RAS# Precharge 3 Clocks 3 Clocks 4 Clocks
Tras 6 Clocks 7 Clocks 8 Clocks
(Why do the Clock numbers change at different Frequencys and is it correct
that my current DDR 400Mhz chip ceases at 200Mhz in the above).
Thanks again
 
AW said:
Paul (and others who have contributed)
Many, many thanks for assisting me with information and articles that are
really useful and I understand the subject much better now.
I will buy this RAM stick but hopefully you won't mind if I ask you two last
questions as you obviously know your stuff.
I have run the CPU-Z utility and get:
In the MEMORY tab
Timing
Frequency 133.3Mhz
FSB:DRAM 3:4
CAS# Latency 2.0 Clocks
RAS# to CAS# Delay 2.0 Clocks
RAS# Precharge 2.0 Clocks
Cycle Time (Tras) 6.0 Clocks
(The above Clock numbers are set in my BIOS but why only 133.3Mhz when I
have DDR of 400Mhz - is this correct?)

The SPD tab reads:
Frequency 133Mhz 166Mhz 200Mhz
CAS# Latency 2 Clocks 2.5 Clocks 3.0 Clocks
RAS# to CAS# 3 Clocks 3 Clocks 4 Clocks
RAS# Precharge 3 Clocks 3 Clocks 4 Clocks
Tras 6 Clocks 7 Clocks 8 Clocks
(Why do the Clock numbers change at different Frequencys and is it correct
that my current DDR 400Mhz chip ceases at 200Mhz in the above).
Thanks again

DDR means "double data rate". It means two items of data are transferred
for each clock cycle. If the clock runs at 200MHz, then 400 million items
can be transferred per second. The shorthand for that is DDR400. So DDR400
equals a 200MHz clock signal.

The 133MHz clock means a DDR266 transfer rate, which sounds normal for an older
system.

The CAS parameter, is an analog one. A 200MHz clock signal has a period of 5
nanoseconds. "3.0 Clocks" equals 3 * 5 nanoseconds or a total of 15 nanoseconds
delay for the first data to be available. Now, we take the 15 nanoseconds, and
divide it by the clock period of the slower clock. At 133MHz, the clock period
is 1000/133 = 7.5 nanoseconds. 15 (the fixed delay constant) divided by
7.5 nanoseconds gives CAS2 at 133Mhz or DDR266. So as the clock rate drops,
the CAS number does too, because the CAS is a fixed quantity, and has to be
converted to clock cycles, so the timing can be programmed in the motherboard.

When doing the division in the example above, we have to round to the next
highest half clock cycle, because CAS uses half clock periods. (Data either
becomes available on the rising or the falling edge of the clock.) Valid values
of CAS for DDR are CAS2, CAS2.5, CAS3 and so on. Say the number for CAS was
16 divided by 7.5 nanoseconds or a value of 2.13 clock cycles. We'd
have to round that up to CAS2.5.

The other parameters take only whole integer numbers, so the rounding for
them is to the next integer. For tRAS, 16 divided by 7.5 = 2.13 would
get rounded up to a tRAS of 3.

For the most part, you should be able to let the BIOS take a crack at
setting up the numbers. You can review the results later by using CPUZ,
and see what the BIOS has done.

In the above examples, I don't know what the real analog parameter is.
When I multiply 3 * 5 to get 15, my assumption is the parameter is somewhere
between 12.5ns and 15ns. Because, when they set up the timing, they'd have
to round to the next highest half integer. The real value could be anywhere
between 12.5ns and 15ns. To be conservative, I take and use the 15ns number,
before converting it for usage with a lower clock rate. So I don't really
know what the true number is for the chip, based on the SPD information,
and the 3 * 5 = 15 is a conservative guess.

Paul
 
Paul
Many thanks for your time and advice. <Insert four letter word here>. I was
going to buy this stick of VS512MB400 today but at the last minute I decided
to ring the store (CCL Computers). They said that it was only single sided
and the only double sided RAM they do starts at 1GB. I guess this VS512MB400
stick won't be any good then? Is it possible to run the current 512MB stick
in one channel and have a 1GB stick in the other channel or do capacitys have
to match exactly.
Many thanks
 
AW

Do you need more RAM? Will your system benefit from adding RAM? Have you
checked pagefile usage to verify the need?

--



Hope this helps.

Gerry
~~~~
FCA
Stourport, England
Enquire, plan and execute
~~~~~~~~~~~~~~~~~~~
 
Gerry
Thanks for your reply.
I read an article that said the minimum RAM for an XP Pro system with a 2.X
processoris 512MB and as I have 4GB RAM capacity I thought i would try and
upgrade.
I don't know what the pagefile usage signifies but when I go into Task
Manager with a few background running programs and this forum running it
tells me 350MB.
Thanks
 
AW

You need to determine how reliant the system is on using the pagefile.
You can monitor this with pagefilemon.

Use page file monitor to observe what is the peak usage. Start it to run
immediately after start-up and look at the log. Pagefilemon takes
snapshots. You need to run it at the beginning of the session at then
run it again at intervals throughout the sessions. The log is Pagefile
log.txt. If you right click on the file in Windows Explorer and select
Send to, Desktop (Create Shortcut). The same applies to
XP_PageFileMon.exe.

A small utility to monitor pagefile usage:
http://www.dougknox.com/xp/utils/xp_pagefilemon.htm

Note programs using undo features, particularly those associated with
graphics and photo editing, require large amounts of memory so if you
use this type of programme check these first observing how the page
usage increases when they start and whether the usage decreases when you
close the programme.


--



Hope this helps.

Gerry
~~~~
FCA
Stourport, England
Enquire, plan and execute
~~~~~~~~~~~~~~~~~~~
 
AW said:
Paul
Many thanks for your time and advice. <Insert four letter word here>. I was
going to buy this stick of VS512MB400 today but at the last minute I decided
to ring the store (CCL Computers). They said that it was only single sided
and the only double sided RAM they do starts at 1GB. I guess this VS512MB400
stick won't be any good then? Is it possible to run the current 512MB stick
in one channel and have a 1GB stick in the other channel or do capacitys have
to match exactly.
Many thanks

This product appears to be a two stick kit of VS512MB400. One of the lower
pictures shows both sides of the module (you can tell by the position of
the keying slot on the connector, that you are seeing alternate sides). It
looks double sided to me. (It is always possible for a "Value" product
to have a variable composition, so I'm not doubting the opinion of the
CCL Computer people - as long as they've pulled one from the package
of a recent lot of units and can verify visually they are single sided...
If it is just a guess on their part, odds are against them being
correct. Most RAM of this type [512MB DDR] will be double sided, because
the chips could be cheaper by a few pennies.)

http://3dfusion.de/artikel/speicher/corsair_vs512mb400/1_Einleitung_Technische_Daten/

You could also try the Corsair forum and ask them what kind of product mix
they have for that product.

http://www.asktheramguy.com/v3/index.php

OK, found this post, and it appears they do ship both types with the same
part number. So <Insert four letter word here> would be an accurate
assessment of the situation. Looks like CCL is correct. Pick another
product.

http://www.asktheramguy.com/v3/showthread.php?t=61457&highlight=VS512MB400

Kingston.com has a search engine. There is a list here.

http://www.ec.kingston.com/ecom/configurator_new/modelsinfo.asp?SysID=17595

This would be a CAS3 DDR400 512MB stick.

http://www.ec.kingston.com/ecom/con...sp?root=&LinkBack=&ktcpartno=KVR400X64C3A/512

This is a datasheet for the product.

http://www.valueram.com/datasheets/KVR400X64C3A_512.pdf

It is $27 at Newegg. And is probably available from other big internet vendors.

http://www.newegg.com/Product/ProductReview.aspx?Item=N82E16820141424

http://www.memorybits.co.uk/product_info.php?products_id=5047

The reason I'm going to all this trouble, is to try to get you double the
peak memory bandwidth. If you mix a single sided and a double sided
together, it'll still work, it'll still give 1GB total memory. But the
sticks will be accessed one at a time, if they are mixed. When both
sticks are the same type, and are put in the correct two slots, they
both get accessed at the same time. And under the right conditions,
that gives double the bandwidth. It would help, say, if the AGP video
card is bursting data to/from system memory.

I had an 865G (built-in graphics) motherboard, which is very similar to
yours, and you can tell the difference in the desktop redraw speed, between
single channel and dual channel operation. When you use an AGP video
card, the difference is less obvious. You might see the difference when
running a benchmark like SuperPI to 1 million digits. You can try your
various memory configs with this program, and pick the one with the
best results (lowest time in seconds to compute PI).

http://www.xtremesystems.com/pi/super_pi_mod-1.5.zip

Paul
 
Back
Top