08-06-2005, 08:51 PM
AMD64 Overclocking Guide Contents
1. Introduction:
2. Tools Required:
3. Bios Voltage Settings:
4. Bios Other Settings:
5. Cooling Basics:
6. Memory Timings & Memtest86+ v1.60 Testing :
7. Overclocking Syncronously 1:1 :
8. Overclocking Asyncronously With Dividers:
9. Windows Stability Testing:
1. Introduction:
2. Tools Required:
3. Bios Voltage Settings:
4. Bios Other Settings:
5. Cooling Basics:
6. Memory Timings & Memtest86+ v1.60 Testing :
7. Overclocking Syncronously 1:1 :
8. Overclocking Asyncronously With Dividers:
9. Windows Stability Testing:
Introduction:
This AMD Athon64 overclocking guide is a compilation of all the knowledge and information I have experienced, read and learnt through my AMD64 overclocking adventures. While it's meant to be non-motherboard specific, I have only used the following motherboards, so this guide will be based around the bios settings and experiences I have had with the following boards:
- Shuttle AN50R rev1.3
- DFI Lanparty UT NF3 250Gb
- MSI K8N Neo2
- Asus A8N-SLI Deluxe
- DFI Lanparty UT NF4 SLI-D x2 (R.A01 and R.A02)
Tools Required:
A few apps and tools required in this guide are:1. CPUZ v1.29 & ClockGen for NF3 or NF4
2. CBI
3. A64Tweaker v0.31 or v0.51Xt Beta
4. A64 Mem Divider Helper
5. Memtest86+ v1.60 floppy or CD ISO image
6. Hexus Pifast
7. Sandra 2005 Lite SR1
8. StressCPU
9. StressPrime 2004 (Prime95 based GUI) or Prime95 v24.11 for some Venice/San Diego cpus http://i4memory.com/showthread.php?t=511
10. SuperPi and ProcessTimer. Or updated rev2 SuperPi Mod (to 3 decimal places). Also SuperPi SSE2 for AMD64 and SuperPi SSE3 patched from prescott patch.
11. Everest Home 2.01
12. 3dmark2001, 3dmark2003, 3dmark05, pcmark04 from Futuremark.com
13. Irfanview for screen captures/cropping - advice try and line up apps you are capturing to conserve space and crop to the exact border of what you want to show - this saves on size of image making it easier to download and view. Usage guide for Irfanview basics can be read here http://i4memory.com/announcement.ph...nnouncementid=2. Examples can be see below in sandra unbuffered screen shot.
Bios Voltage Settings:
There's numerous bios settings of which only a few are of concern to us overclockers.1. VCORE
Vcore supplies the juice to cpu. By default socket 754 desktop cpus are spec'd to 1.5v vcore while socket 939 desktop cpus are 1.4v for 90nm winchesters and 1.5v for 130nm newcastle cpus. Increasing vcore allows cpu to overclock higher in terms of overall cpu raw speed. Increasing vcore also increases cpu temperatures and the amount of heat being generated by the cpu.
Some motherboard bioses also list as vcore VID, CPU VID control/VID special control etc. Some bios give straight vcore options, while boards like MSI and DFI give you straight vcore (VID Control values up to say 1.55v), then allow you to use CPU Special VID to add a percentage onto that base VID value.
For example, in DFI NF4 boards you can set vcore up to 1.55v via CPU VID control. If you set CPU Special VID control to "Above VID * 104%" you theorectically will get 1.55 + 4% = 1.612v vcore. Boards my undervolt, i.e. on DFI NF4 1.55 + 4% gives me 1.55-1.57v in windows.
There's a CPU VID Startup value on DFI NF4 boards too, I tend to just leave that as AUTO.
2. LDT Voltage
Potentially, increasing LDT voltage can allow you to overclock HTT higher at a given LDT multiplier. Also if you get a cpuz error message saying 'previous cpuz was running' or something try this solution of increasing LDT voltage or lowering LDT multiplier outlined here. Not all motherboards allow this option to be adjusted.
3. Chipset Voltage
Potentially, increasing chipset voltage (VDD) allows you to clock the system higher or provide more stability at max overclocked settings. The normal default in bios is around 1.5v give a take a bit. On DFI NF3 250Gb setting it at 1.6-1.8v allowed more stability when overclocking my BH-5 memory at 270-273mhz 2-2-2-6.
4. AGP Voltage
Doesn't seem to help much in overclocking in raising this voltage for most AMD64 boards. So leave at default.
5. DDRAM Voltage
All important DDRAM voltage (vdimm).
- Most memory out there are spec'd to run between 2.5-2.85v vdimm. That is the normal range for memory.
- Actively cooling memory modules doesn't hurt and helps keep ram cool
![[Image: wink.gif]](http://i4memory.com/images/smilies/wink.gif)
- Different memory modules (of same or different brands) will respond or not respond to more more vdimm voltage.
- Samsung TCCD based memory chips handle low vdimm better i.e. 2.5-3.0v
- Winbond BH-5 or BH-6 based memory loves and handles high vdimm and are pretty consistent i.e. 240-250mhz at 3.1-3.4v for 512MB density modules. For 256MB density modules, 250-260mhz at 3.3-3.6v, 255-265mhz at 3.3-3.75v, and 260-270+ at 3.4-3.9v.
- Winbond CH-5/6 based memory differs some like high vdimm and some don't but it's alot more easy to kill CH-5/6 with high vdimm so be careful.
- Increasing vdimm voltage adds more heat to memory modules.
- Some memory modules will get hotter than others and can depend on the motherboard and it's dimm slots too.
- Memory heatspreaders can help or hinder cooling depending on how well the contact with the memory chips.
- Removing heatspreaders on modules WILL VOID your memory's warranty.
Bios Other Settings:
1. HTT Frequency Settings
Some folks still refer to it as FSB although FSB doesn't exist with AMD64 as the memory controller is on the cpu itself and bypasses the Northbridge. The basic value you need to adjust in order to overclock which by default is set at 200FSB/HTT.
For example, AMD64 3200+ s939 cpu default is 200HTT multiplied by 10x multiplier to get 2000mhz cpu speed.
How high you can increase HTT depends on the VCORE voltage you supply the cpu and the cpu, cpu ondie memory controlelr and your memory/ram itself. Some cpus can clock very high HTT on default vcore voltage, while others may need to increase vcore voltage to move higher. CPU cooling also plays an important part in how high you can overclock.
2. LDT/HTT Frequency Ratio
Lowering LDT multiplier will allow you to overclock HTT higher depending on the motherboard. Some motherboards when set to AUTO, this value will automatically change or be lowered when HTT is overclocked higher.
The LDT multiplier plays important part in overclocking on AMD64. Setting LDT multiplier to high during high HTT overclocking can foobar and corrupt your entire OS windows installation, so please read carefully. I also use Norton Ghost to back up my OS windows partition and burn to DVD for safe keeping
![[Image: wink.gif]](http://i4memory.com/images/smilies/wink.gif)
Most of the time the max supported LDT multiplier of the cpu is only good for a small amount of room in terms of HTT overclocking. To move to higher HTT usually means to lower the LDT multiplier to gain more stability. The trick is to overclock where HTT x LDT Multiplier x2 resulting value is under the max supported/rated cpu HTT bus speed:
AMD64 s754 cpus have LDT ranging from 1x to 4x while s939 cpus have LDT ranging from 1x to 5x. For example:
AMD64 3700+ s754 cpu default is:
HTT = 200mhz
Multiplier = 12x
Raw cpu speed = 12x 200mhz = 2400mhz
LDT = 4x
HTT Bus speed = 200mhz x 4 x2 = 1600mhz
AMD64 3200+ s939 cpu default is:
HTT = 200mhz
Multiplier = 10x
Raw cpu speed = 10x 200mhz = 2000mhz
LDT = 5x
HTT Bus speed = 200mhz x 5 x 2 = 2000mhz
So, if you overclock 3200+ s939 cpu and want to hit 250HTT, you would need to set LDT multiplier to 3x or 4x. So 250HTT x3 x2 = 750 x2 = 1500 or 250HTT x4 x2 = 1000 x2 = 2000 which is under or equal to max supported HTT Bus speed for the cpu.
Most of the time for high HTT of 260-280+, I'd leave LDT multiplier at 3x. However, you could increase LDT Voltage mentioned above, to see if you can maintain a higher LDT multiplier while moving to higher than 260+ HTT.
The performance difference between 3x, 4x and 5x LDT multipliers isn't much anyway so it's really up to you to figure out and test them without foobarring your OS install
![[Image: smile.gif]](http://i4memory.com/images/smilies/smile.gif)
Also if you get a cpuz error message saying 'previous cpuz was running' or something try this solution of increasing LDT voltage or lowering LDT multiplier outlined here
3. CPU/HTT Frequency Ratio
Basically the cpu mulitplier. AMD64 has issues with *.5 multipliers not reporting true speed of memory so use only whole integer multipliers in overclocking.
AMD64 cpus are upward clock locked except AMD64 FX-53/55 cpus. Meaning you can lower multiplier in bios between 4x to whatever is the max multiplier (default multiplier of your cpu). Examples:
AMD64 3000+ s939 cpu default = 9x multiplier x 200HTT = 1800mhz
AMD64 3200+ s939 cpu default = 10x multiplier x 200HTT = 2000mhz
AMD64 3500+ s939 cpu default = 11x multiplier x 200HTT = 2200mhz
4. AGP/PCI Frequency Ratio
For Nforce3 or AGP based motherboards, set AGP/PCI to 66.66/33.33 fixed. Note overclocking with IDE/PATA drives can nearly always go further than with SATA drives.
5. PCI Express Frequency
For Nforce4 or PCI-E video card based boards, set PCI-E frequency to 100mhz fixed. Some recommend PCI-E be set for 100-105mhz for ATI PCI-E cards or 100-101 for nVidia PCI-E cards. I just use 100mhz.
6. PCI Express Maximum Payload Size
This value is under PnP/PCI Menu. By default it's set at 4096, but advice from DFI suggest to set it at size of video card memory. So 256MB 6800GT PCI-E, set it at 256 instead of 4096. Been corrected by a few folks, that its the packet size for data streams sent through the PCI-E bus. So try leaving it at 4096
![[Image: smile.gif]](http://i4memory.com/images/smilies/smile.gif)
7. DDRAM Drive and Data Drive Strength (DFI NF4)
These are very important set wrongly you can BSOD at stock speeds even!
To find optimal values you can clock your ram just a bit higher than a known stable overclock so memtest produces a couple hundred errors, now play with drive and data drive strength and jot down how many errors each setting gives. The one with least errors will be closest to ideal values.. then down clock and fine tune
![[Image: smile.gif]](http://i4memory.com/images/smilies/smile.gif)
In windows, a variation of the PCmark04 custom test i devised at http://i4memory.com/showthread.php?t=474 can be used. Just set Pcmark04 to custom loop memory test 4-8x times and play with different strength values. Normally, incorrect values will BSOD on around Write 8MB test.
Cooling Basics:
There's alot of ways to cool a cpu:- Stock AMD64 heatsink/fan
- 3rd party heatsink fans i.e. X-90/120, Coolermaster Hyper6, Thermaltake Venus12, MCW-6400 series
- water cooling with waterblocks such as Swiftech MCW6002-AMD64 and Cathar's G4 Storm
- extreme cooling with peltiers, chillers and phase change cooling for sub zero temps.
I only used 3rd party heatsink, Thermaltake Venus12 and water cooling with Swiftech MCW6002 and G4 Storm water blocks. Currently i use MCW6002 water block with Swiftech MCP650 + MCP600 Pumps in series and Thermochill 120.3 radiator with 3x 120x38mm Panaflo 103cfm fans tubes connected with Colder HFC35 quick connects with auto shutoff values. Apparently restricts flow a bit hence why i put 2 pumps in series.
Winchester 90nm s939 cpus run alot cooler at 67W than Newcastle's which run 89W and air and water cooling differences for Winchesters in terms of temperature don't change much as Newcastles would if on water. Water cooling will potentially result in 5-15C cooler temps than on air cooling.
Memory Timings & Memtest86+ v1.60 Testing :
AMD64 memory timings have alot more settings than Intel P4 systems. Some motherboard bios give you the full set of timings to play with some provide only some of them. Fear not, you can access and play with them all within windows by using Codered's A64Tweaker app (listed above in required tools list).![[Image: a64tweaker_AUTO.jpg]](http://www.fileshosts.com/AMD/DFI/6002_650/3400_2/a64tweaker_AUTO.jpg)
The basic 4 values which most memory manufacturers will specify their memory as rated for would be:
CAS Latency(CL) =2
RAS to CAS(Trcd) = 2
Min RAS# Active time(Tras) = 5
Row Precharge Time(Trp) = 2
Followed by the advance memory timing values (based on DFI NF4 bios):
CPC = AUTO or Enabled (referred to as 1T command rate when enabled. When Enabled = best bandwidth and performance, when Disabled = 2T which allows most memory to clock higher but at lower performance/bandwidth)
CAS Latency(CL) = 2.5
RAS to CAS(Trcd) = 3
Min RAS# Active time(Tras) = 7
Row Precharge Time(Trp) = 3
Row Cycle Time(Trc) = AUTO
Row Refresh Cycle Time(Trfc) = AUTO
Row to Row Delay(Trrd) = AUTO (recommended set to 2 or 3)
Write Recovery Time(Twr) = AUTO (recommended set to 2)
Write to Read Delay(Twtr) = AUTO (recommended set to 2 or 1)
Read to Write Delay(Trwt) = AUTO (recommended set to 3, 2 or 1)
Refresh Period (Tref) = AUTO
Write CAS Latency(Twcl) = Auto
DRAM Bank Interleave = AUTO (with 2x 512MB density modules enabled give bandwidth increase, but maybe less stable with some memory modules/timings, for 2x 256MB just leave it AUTO or disabled)
DQS Skew Value = 0
DRAM Drive Strength = Auto
DRAM Data Drive Strength = Level 4
Max Async Latency = AUTO (most ram is set to 7ns upto 270-280FSB/HTT, past that you may need to loosen this setting to 8ns or 9ns but it will lower bandwidth at same speeds i.e. 270mhz mem at 7ns greater bandwidth than 8ns setting). Depends on memory and cpu so need to play with it but I'd leave it at AUTO first.
Read Preamble Time = AUTO
Idle Cycle Limit = AUTO
Dynamic Counter = AUTO (disabled may help with OCZ EB based memory)
R/W Queue Bypass = AUTO
Bypass Max = AUTO
32 byte Granularity = Disable(8burst)
for ram such as BH-5/6 values such as this might be seen/used:
CPC = Enabled
Row Cycle Time(Trc) = 9
Row Refresh Cycle Time(Trfc) = 14
Row to Row Delay(Trrd) = 2
Write Recovery Time(Twr) = 2
Write to Read Delay(Twtr) = 2
Read to Write Delay(Trwt) = 2
Refresh Period (Tref) = 3120
Write CAS Latency(Twcl) = Auto
DRAM Bank Interleave = Auto
DQS Skew Value = 0
DRAM Drive Strength = Auto
DRAM Data Drive Strength = Level 4
Max Async Latency = 7
Read Preamble Time = 5
Idle Cycle Limit = 16clks
Dynamic Counter = Enable
R/W Queue Bypass = 16x
Bypass Max = 7x
32 byte Granularity = Disable(8burst)
DFI NF4 bios example:
![[Image: dfi_nf4_ddram1.jpg]](http://i4memory.com/AMD64_tools/GuideImages/dfi_nf4_ddram1.jpg)
![[Image: dfi_nf4_ddram2.jpg]](http://i4memory.com/AMD64_tools/GuideImages/dfi_nf4_ddram2.jpg)
N.B.: For DFI NF4 board users bios 217 and 218 seem to by default set some of the advance timings very aggressively at 7-AUTO-2-2-1-2 with 3120 refresh which is fine probably if you have good single sided 2x256MB memory based on Winbond BH-5/6 or OCZ GoldVX, but probably too aggressive for other types of memory especially double sided 2x512MB even for BH-5/6. So set those values for Trc, Trfc, Trrd, Twr, Twtr, and Trtw all to AUTO after change to 217 or 218 bios and for Samsung TCCD ram keep refresh at 3120. Right now best overall bios to use still is 310 official bios
For those wanting to play with those additional memory timings in bios for Trc, Trfc, Trrd, Twr, Twtr, and Trtw here's some advice. You'd need to download A64Tweaker first (listed above in required tools).
1. set your memory to whatever normal timings and speed you want to test. normal timings as in cas-Trcd-Trp-Tras and leave all other values for Trc, Trfc, Trrd, Twr, Twtr, and Trtw at AUTO
2. test ram and those speed/timings using memtest86+ v1.60 as usual as per memtest86+ v1.60 usage guide at http://i4memory.com/showthread.php?t=6 - jot down memtest's reported bandwidth
3. once you sure it's fairly stable at those cas-Trcd-Trp-Tras-A-A-A-A-A-A settings you can now start tweaking them
![[Image: smile.gif]](http://i4memory.com/images/smilies/smile.gif)
4. load into windows and and start A64Tweaker and take a screen shot of the settings and/or jot down all the settings on paper that Trc, Trfc, Trrd, Twr, Twtr, and Trtw at AUTO are set to
5. now reboot into bios and armed with what you know the default AUTO values are for Trc, Trfc, Trrd, Twr, Twtr, and Trtw you can begin to manually lower the values one at a time and then use memtest86+ v1.60 usage guide or a shorter version below to guage how stable it is and to take note of the resulting memtest reported bandwidth.
I'd start with Trfc, then Trc and then Trrd, Twr, Twtr, and Trtw values. I wouldn't go lower than 2 for Trrd and Twr if you ram can handle it.
Quote:
<table border="0" cellpadding="6" cellspacing="0" width="100%"> <tbody><tr> <td class="alt2" style="border: 1px inset ;"> shorter memtest86+ usage guide for DFI tweaking
i use memtest86+ v1.60 loop 2 times std test #1-8 and then loop test #5, #6, #7 and #8 for 50-100-200 passes to guage how fairly stable these settings (not 100% stable!) are before loading windows for windows stability tests
You can take note of the time memtest takes to complete 50-100 passes of test #5 loop as an indicator of how fast the settings are too (if memtest bandwidth doesn't change) i.e.
1x 256MB XMS3500C2v1.1 BH-5
270mhz 2-2-2-6 1T 8-13-A-A-A-A
memtest bandwidth = 1937 MB/s
60 passes test #5 = 7min 34s
vs
270mhz 2-2-2-6 1T 8-13-2-2-2-2
memtest bandwidth = 1978 MB/s
60 passes test #5 = 7min 02s
</td> </tr> </tbody></table>
Overclocking Syncronously 1:1 :
Most important in overclocking syncronously 1:1 is to know the limits of your existing ram/memory modules. You can use clockgen to change your HTT and cpu multiplier within windows as well after you done with memtest testing.You may have overclocked or run existing memory on a previous platform which you now bring over to AMD64 platform and have some idea of what your memory can do. Remember, what your memory could do on previous platform is only a guide, you may be able to better or worse with AMD64 depending on how well AMD64 ondie memory controller and motherboard bios like your memory. Here's where my Memtest86+ v1.51 usage guide at http://i4memory.com/showthread.php?t=6 comes in as you will need to throw our what you knew about your existing ram and it's max overclocks and retest them for AMD64 system
![[Image: smile.gif]](http://i4memory.com/images/smilies/smile.gif)
Great thing about AMD64 cpus is you can lower the cpu multiplier to test your memory's max 1:1 capable overclocked settings. For example, AMD64 3200+ s939 default 10x200HTT = 2000mhz, to continue to test memory's max 1:1 you could lower cpu multipler to 8x and test memory still at 1:1 - 8x250mhz on memory 1:1 = 2000mhz.
To ensure you are running memory in syncronous ratio of 1:1, ensure DDRAM Frequency is set at 200 (on DFI NF4 SLI-D) or 400 (on DFI NF3 250Gb or Shuttle AN50R). Some motherboards use the following to denote DDRAM/CPU ratio:
400 = 1:1
333 = 5:6
266 = 2:3
200 = 1:2
or
200 = 1:1
166 = 5:6
133 = 2:3
100 = 1:4
on DFI boards there's a few other dividers
200 = 1:1
180 = 9:10
166 = 5:6
150 = 3:4
143 = 5:7
133 = 2:3
125 =
100 = 1:2
Now how far or how tight you can overclock your memory modules depends on the memory modules and what chips/ICs they use. If you don't know what ram you have ask on various forums, do searches on various pc hardware/overclocking forums for your exact brand, and model of memory you have. Find out from others with same ram as to what they could do with their memory. Yes research and more research first. Then it's time to start testing as per the Memtest86+ v1.60 usage guide at http://i4memory.com/showthread.php?t=6 before loading or even installing windows.
Overclocking Asyncronously With Dividers:
Basically same as above but using different DDRAM/CPU dividers listed above. Use Memtest86+ v1.60 usage guide at http://i4memory.com/showthread.php?t=6 to do initial testing before loading windows. Sometimes, with dividers don't expect memory to run the same max as in syncronous mode 1:1 it maybe a bit less or may require a bit more vdimm or loosening of timings to get same in 1:1 mode. Some motherboards may have dividers which won't work properly, i.e. on Asus A8N-SLI Deluxe 133 divider had issues booting for me until i updated to 1004.01 bios.
Note, for DFI NF4 if you have divider issues update to 310 bios at least. Also on DFI NF4 async mode you might need to try these settings (for venice at least) to get some stability:
Quote:
<table border="0" cellpadding="6" cellspacing="0" width="100%"> <tbody><tr> <td class="alt2" style="border: 1px inset ;"> max async latency = 8ns or 9ns
read preamble = 5.5ns, 6.0ns or 6.5ns
TREF = 0648
drive strength = 3 (play with this value)
drive data strength = 1
</td> </tr> </tbody></table>
Example of this with my 3000+ 0516 GPAW Venice on DFI NF4 SLI-D using 510-2 bios with 2x 256MB KHX3200K2/512 BH-5 ram.
Quote:
<table border="0" cellpadding="6" cellspacing="0" width="100%"> <tbody><tr> <td class="alt2" style="border: 1px inset ;"> 9x318HTT 166 divider 2-2-2-5 7-17-2222 at 1.632v
Super Pi
with max async and read preamble
Tref 3120
7ns and 5ns = reboots before getting into windows
8ns and 5.5ns = pass 1M fails 8M immediately
9ns and 5.5ns = pass 1M, fails 8M half way
9ns and 6ns = pass 1M, pass 8M fails 16M loop #3
9ns and 6.5ns = pass 1M, pass 8M pass, fails 16M loop #13
Tref 0648
9ns and 6.5ns = pass 1M, pass 8M, pass 16M (12min 12s) and fails 32M loop #10
so it seems nothing to do with vcore as to why 3000+ is not passing superpi at 1.632v
</td> </tr> </tbody></table>
[SIGPIC]http://yfrog.com/mhskidudecopyg[/SIGPIC]