Paul said:
"Skybuck said:
Hello,
I bought four of these memory chips:
Corsair TWINX2048-3200C2 DDR SDRAM, 1 GB, PC3200, 400 MHz (Double Side,
Double Data Rate, Supported by motherboard).
I also received a green card with instructions on it which shows how to
install the memory chips into the motherboard's memory slots.
Today I ran my own (32 bit) memory benchmark (on windows xp 64 bit) which
reads as many integers from the memory as possible. The results were
quite
shocking... only 2.4 million bytes per second. Even my 6 year old pentium
III 450 mhz overclocked to 600 mhz is able to achieve 3.1 million bytes
per
second.
My first suspect for the poor memory performance/access time is the
memory
chips themselfes and there settings.
The support on the website of Corsair is quite bad. There are no settings
to
be found anywhere. Their specification is mostly a marketing ad. That's
not
a specification !
I would like to know all the settings about these memory chips !
Is there a real/full specification of these memory chips and if so were
can
I download/view it ?
Failing that... does anybody know the correct settings for these memory
chips in the bios of the motherboard asus a8n32-sli ?
Which of these settings have to be changed and what would be there values
?:
Memclock mode: [Auto]
MCT Timing mode: [Auto]
Cas latency (cl): [Auto]
TRAS: [Auto]
TRP: [Auto]
TRCD: [Auto]
TRRD: [Auto]
TRC: [Auto]
TRFC: [Auto]
TRWT: [Auto]
User Config Mode: [Auto]
Read Preamble: 9.5 ns (?)
Asyc Latency: 11.0 ns (?)
Bank interleaving: [Auto]
Burst Length: [4 Beats]
Hardware Memory Hole: [Enabled] <- I changed that for 4 GB support.
MCT Extra Timing Mode:
TREF: 7.8 us
TWCL: 1
R/W Queue Bypass Count: 8
ByPass Max: 4
Idle Cycle Limit: 16
Dynamic Idle Cycle Center: Enabled
DDR Driving Strength: Normal
Enable 32-byte granularity: Disabled (what is this ?)
Twr: 3 clk
DDR Input Strobe Skew: Disabled
DDR Data Driving Strength: Disabled
ECC Configuration
Dram ECC Enable: Disabled
L2 Cache BG Scrub: Disabled
Data Cache BG Scrub: Disabled
DDR Vcore: Auto
DDR Clock Skew: Auto
(Message also posted on Corsair support forum)
Bye,
Skybuck.
The datasheets are on the XMS memory web page. They aren't hard to find.
http://www.corsairmicro.com/corsair/products/specs/twinx2048-3200c2.pdf
"Tested at aggressive latency settings of 2-3-3-6 for all platforms.
2-3-3-6 on Intel and AMD based systems
Test voltage: 2.75V"
Slide 24 here, tells you the order of parameters:
http://corsairmicro.com/corsair/products/tech/memory_basics/153707/index.html
"CAS Latency, tRCD, tRP, tRAS"
When using four sticks of memory, the expected settings would be
DDR400 Command Rate 2T, which is better than the alternative
setting of DDR333 Command Rate 1T. You cannot expect to run
DDR400 Command Rate 1T with four memory sticks.
There really isn't much point in adjusting other parameters
on that memory page.
As for your little test program, try the following. Download
memtest86+ from
www.memtest.org . The program will format a
testing floppy for you. Boot your new computer with the boot
floppy disk. When memtest86+ starts, there are three bandwidth
indicators in the upper left hand corner. The third one down,
monitors memory bandwidth (unbuffered). Specifically, what the
code does, is it flushes the cache before sequentially reading
a large chunk of memory.
Pop that test floppy into your old system, then into your
new system, and you should see an appropriate increase in
performance. The AMD memory controller does a pretty good
job with DDR.
The memtest86+ source code is available for download. I've
downloaded the source, and made a minor modification to the
program, so I could test memory bandwidth at different addresses
within system memory. I've had a look at the code and
their approach seems reasonable. Basically flush the cache,
and then read a block of memory larger than any cache, a
number of times, and average the results.
Are you certain that the time base measurement code in
your test program, is able to deal with the faster operation
of your new computer ? There are many ways to explain failures
of your test program.
The top post here, lists numbers like 368MB/sec for some PC133
SDRAM.
http://groups.google.ca/group/alt.comp.periphs.mainboard.asus/browse_frm/thread/249aeea20d9a440d
There is a picture of a memtest86+ screen here, for a 3500+
with 2x1GB memory. It lists 3908MB/sec, or roughly 10x
the memory bandwidth of the other system. This 3500+ is running
at 2700MHz and is overclocked. The memory is also overclocked
big time. I expect your system will be a bit lower
than that.
http://www.abxzone.com/forums/showthread.php?p=1238439
Hello,
Your story is consistent with what I tried.
I wasn't sure if command rate t1 would work so I tried it =D then I got a
little worried. The computer completely stopped responding, no screen, no
boot screen, no beep, no nothing, I couldn't even turn it off or reboot.
Finally I had to turn off/on the computer via the power switch.
Fortunately for me the asus motherboard and american trends bios is able to
detect this overclock failure and reports it as such.
Then I tried command rate T2 and this time it worked.
I also tested memtest 1.65. Since the rawrite.exe utility does not work in
windows xp 64 bit, I installed it as follows. Fortunately for me I still had
a very cool ms-dos bootdisk... First I thought about using the windows 98
startup disk since it was the first disk in the box and had to make a quick
decision... but I already knew that worked... fortunately for me the boot
time is 10 seconds so I could still switch the boot disk... I wondered if
ms-dos 6.22 boot disk/os would still work on my new dream pc... so I put it
in... and haven't used that for a few years or so. Fortunately for me
everything worked perfectly... It worked even better than I ever imagined...
when I made the bootdisk I was even smart enough to install a microsoft ram
drive =D So it has default 4 MB of ram drive space =D and even qedit

but
ok.
So I was able to simply copy rawrite.exe and other files to the ramdisk...
since I wasn't sure if starting from a floppy would work... maybe that would
work as well... anyway... so finally I made the new disk. First I wanted to
make it on my old pc... but it doesn't have a floppy drive anymore lol... so
the point of the story is... where there is a will there is a way

Ofcourse I first tried the iso image.. but that didn't work... rar and
winimage showed an empty iso image.
Now back to the memory/benchmarking test etc.
First I ran the memory testing before changing any memory settings.
Everything worked ok.
The speed reported was:
16 GB/sec (I think it was called L1 cache)
3.5 GB/sec(I think it was called L2 cache)
2 GB/sec (I think this was main memory or controller or something)
Then I changed the default memory settings to command rate t2 and 2-3-3-6
and ran the test again.
Now it reported this:
16 GB/sec
4 GB/sec
2 GB/sec
Finally I also run my own 32 bit benchmark and it reported still a somewhat
disappointing: 2.5 million bytes / sec
It's still 100.000 bytes faster than with the old memory settings so the new
memory settings does seem to help a bit... but only slighty...
So all in all the new memory settings aren't really worth bothering with..
or taking any corruption risks... but for now I will simply keep these
settings for the coming weeks/month/years to see what happens etc... It will
probably run just fine... so no need to run with any slower settings... but
all in all it wouldn't matter much.
Also the difference in the L2 cache is kinda weird... where is the L2 cache
located ? Is it in the memory chips or is it on the cpu or somewhere in
between ? It could just be a random measurement glitch/curiosity
Finally I also noticed a little bit more of freezing when running both
benchmarks and other programs... when trying to move the windows around...
And finally when I ran two benchmarks, one benchmark instance didn't run at
all.. .which is really weird... my benchmark is mostly about testing how
many integers can be read randomly from memory and there is maybe also some
writing involved... not sure how the code gets compiled... so it's more
about access time than bandwidth. I have seen some very strange readings...
once I saw a reading of 500 MB/sec... now I tested another application
actually running two instances and now it only achieved 5 MB/sec through
loopback adapter though/winsock etc.. it's kinda strange.. since the same
application reported 500 MB/sec when testing with two computers... maybe I
am being delirius

but I don't think so
I have seen some weird bugs on windows xp 64 bit with 32 bit applications,
also dos programs won't work etc. I do look forward to writing better
applications for windows xp 64 bit though.
The bottom line is that for now my PIII 600 mhz is able to read more 32 bit
integers per second than the AMD X2 3800+ which is kinda weird.
Actually I also tested before changing memory settings and running two
benchmarks... and then every instance achieves 1.5 million so that's about
the same as the PIII which also achieves 3 million.
Then I tried running two instances on the PIII and one instances achieved
2.4 million and the other one 0.6 million. The one that has focus runs
faster.
I thought I set foreground boost option disabled... but I probably enabled
it again to play games faster... so the foreground boost option is probably
enabled and at worked explaining this difference.
I dont know if windows xp 64 bit has a foreground boost option and if it's
enabled... that's something I might check out in the future
Also I just ran the test.. and in the beginning one test behaved like it
didn't want to run probably because the memory first needs to be locked
etc.. all in all quite a fuzzy test. Another explanation might be that the
high performance timer has problems but I don't think so because I tested
that with two other applications.. so why one benchmark doesn't want to run
is strange... I place my bet on the locking of the memory failing or
something. I could look into that later or maybe not all because in general
I don't use that feature in my other applications... I only used that
feature for the benchmark.
My next test will probably be testing the speed of the harddisks now that
will be very interesting.
All in all I can only recommend software developers to start developing for
windows xp 64 bit or windows vista as soon as possible...
If you still developing software on windows xp 32 bit... you might be faced
with your software not running on 64 bit software... which does seem to be
the feature...
Also be sure to have to bootable operating systems... windows xp 32 bit is
still necessary to use software which won't run on windows xp 64 bit... like
dos software... unless you wanna boot into ms-dos... etc...
Fortunatelly for me I have two development computers.. one xp 32 bit and one
xp 64 bit

I could even boot into ms-dos or windows 98 from a harddrive...
yeah my old pc has multi boot... my new pc doesn't though... I never used
multi boot on my old pc that's why... yeah I wanna keep this new pc 64 bit
completely I guess... just to be ready for the future

or maybe I will get
to me and then I decided to still install xp 32 bit... but then I need to
screw around with sata drivers.. I dont wanna do that... and I dont want to
download zillion-1 xp 32 bit patches if you know what I mean... so screw
that

yeaaaah =D
Besides I am not sure if system commander 7 or 8 will work with windows xp
64 bit... it probably should work since the file systems are still more or
less the same <- ntfs 64 bit.
All in all microsoft and the hardware world have made quite a mess of things
and breaking quite a lot of things... really funny =D
Though as other people have written.. using windows xp 64 bit has a nice
feel to it... it's just like xp 32 bit... with some minor improvements...
like a little bit better internet explorer...
Bye,
Skybuck