Original Link: https://www.anandtech.com/show/2388
Getting the Most Out Of Your Hardware: Motherboard/CPU Utility Roundup
by Ryan Smith on December 12, 2007 12:00 AM EST- Posted in
- Guides
Lost but not forgotten, we’re back again with the second part to our guide to software utilities for enthusiast hardware, this time taking a look at the motherboard & CPU side of things. If you missed our previous piece on video card utilities, we’d recommend reading it first as we are going to pick up from where it mostly left off.
As was the case with the video card guide, we seek to establish a guide for advanced/enthusiast users for what makes for good software and what software packages are critical towards getting the most out of your system. As an inherently subjective process we will not be awarding software like we do hardware - enthusiast-level software often is a smorgasbord of features that fails to neatly fall in to categories like hardware - but we will be identifying those notable software packages that are of best design and most use, and what strengths and weaknesses they may possess.
With that said, things are vastly different when looking at motherboard & CPU side of things. While for video cards both AMD and NVIDIA design their entire line of consumer products with support for tweaking, including adding a small amount of hardware to assist in that, this is not the universal case for motherboards (and the CPUs that reside in them). What software-accessible features we see for motherboards are almost always a kludge on the parts of clever programmers and motherboard designers, and frankly it all works out very poorly.
As the largest chipset vendor (an extension of being the largest CPU vendor) much of this is due to the actions of Intel. This isn’t to blame Intel, they haven’t been doing anything evil or wrong, but they are the market leader and as a result exercise a great deal of influence just by what they do or don’t do. In this case they have not gone to any great lengths to allow software access to their chipsets; with the multitude of markets they cater to they’re naturally going to focus on stability and other factors that are of greater importance to more normal computer users. They’re also understandably a bit sheepish on overclocking, a unique problem with CPUs not having nearly as great of a spread in performance as video cards (Q6600 anyone?).
For that matter the rest of the chipset manufacturers have largely followed the status quo set by Intel, with the only notable exceptions so far being actions by NVIDIA and very recently AMD. Since the late Athlon XP days, NVIDIA has offered some software control over their chipsets via their nTune utility. But this functionality is heavily dependent on motherboard manufacturers doing their part to enable such functionality, resulting in the whole mess being very hit & miss – it’s there but it can’t be counted on. NVIDIA’s ESA standard aims to change this, but then again even their own platform wasn’t supposed to be so fragmented in the first place. As it stands we think ESA is a strong bet going forward, but right now it’s still more a dream than reality, and even if everything were to go to plan it will be years until such a level of tweaking abilities became consistent for motherboards as it has for video cards.
Meanwhile AMD has only jumped in to the game this month with their very impressive OverDrive utility. But because it’s quite literally brand new and is only supported on a single chipset so far, it’s not something we can fairly pass judgment on. It’s too early to determine if it will be any more effective than NVIDIA’s nTune, considering only a handful of people have motherboards that can use it at the moment.
This brings us to the current situation, where as of today most motherboards don’t even support software controlled tweaking, and what few do is covered by a hodgepodge collection of utilities from motherboard manufacturers and third parties. Most of us are still limited to the trusty-yet-antiquated CMOS for our tweaking needs.
But this isn’t just an article to talk about how the first-parties have struggled to develop meaningful tweaking utilities. There are several great information and diagnostic utilities that work with virtually all motherboards, virtually essential for any computer enthusiast. While by no means a unified offering, they are as a whole a very powerful toolset that make it possible to get away with such significant CMOS tweaking and will be the focus of today’s article.
With that said, we’ll start with a deeper look at what few first-party software tweaking utilities exist and how they currently stack up before moving on to our much larger look at diagnostic & information utilities.
Motherboard Tweaking Utilities
If we had to sum up the state of motherboard tweaking utilities in one word, that word would be dilapidated. Why that word? This is something that is easier to explain if we start with a screenshot.
The above is a screenshot of Gigabyte’s Easy Tune application running on a P35-DS3R motherboard. Because Intel does not provide a standardized method of motherboard tweaking, it falls to the motherboard manufacturers to try to shoehorn Intel’s chipsets in to offering this kind of functionality anyhow, via a high level of careful BIOS manipulation combined with their own software package. Many of the tier-1 motherboard manufacturers offer some kind of utility in this vein, so this isn’t us picking solely on Gigabyte; just about everyone is committing the same sins here.
Generally, the software provided by the motherboard manufacturers suffers from these problems:
- The GUI does not adhere to any sort of standards or guidelines
- The software works on only a fraction of the company’s motherboards, and you’ll never know quite which ones these are
- The software does not consistently function correctly, or does not produce results as good as those done via CMOS tweaking
To be fair, elements #2 and #3 are not completely in their control since much of this goes beyond the scope of what the chipset was intended to do in the first place. But never the less it highlights the fact that these programs are clever hacks and not well designed tweaking systems as we’re accustomed to seeing with video cards.
On the other hand, element #1 is completely in their control. A common theme in the utilities we’re going through today is that they’re all very Spartan in looks; functional yet simple. But for these motherboard tweaking applications clearly functionality was not the first consideration in their GUI design, and we’re left to believe that the visual appeal was the first consideration. Unfortunately it makes for utilities that are very hard to use even when they are working correctly.
For the past couple of years NVIDIA has been the notable standout here, since as the chipset designer they can integrate the features necessary to properly such tweaking. However due in part to how they go about this – they still need the motherboard manufacturer to do certain things to support their software and feature set – their own situation often mirrors that of the motherboard manufacturers using any other chipset, resulting in the inconsistency we mentioned earlier. On the small number motherboards that offer the full feature set, NVIDIA offers a very impressive and compelling product, but for many more motherboards nTune is a tease of what can be (and with any luck, what will be with ESA). They at least have the right idea with the GUI however if you can ignore the dreadful NVIDIA Monitor.
It’s because of dilapidated and half-complete nature of the current crop of motherboard tweaking utilities that causes us to more or less ignore them. With the current state of such software our motto is this: if something can be done, it’s better to do it in the CMOS than via a software utility. Doing it in the CMOS is less prone to problems and/or odd behavior, if only because rebooting to make a change instead of doing it on-the-fly is itself less prone to complications. Today’s motherboard tweaking utilities simply aren’t worth the potential trouble they can bring, there are still many growing pains left. Things may be looking up as AMD’s latest foray in to the matter represents an additional push to flesh such utilities out, but it’s far too early to compare it to the established crowd.
Identification & Basic Information: CPU-Z & CrystalCPUID
Because motherboard tweaking should be handled in the otherwise feature-limited CMOS, we need tools beyond the CMOS to validate the operating state of a computer. There are many tools out there to do this, far more than we could cover in a single article, so we must whittle down the list. Over the years there are specific tools we have turned to often and have become essential in our work and personal needs; and these are our favorite tools.
We’ll start with the well known CPU-Z and CrystalCPUID, two utilities that cover the most basic of needs. Both tools are profilers, which are routinely used in basic identification of system components and discovering at what frequencies and what timings various motherboard components and the CPU are running at. They’re more akin to a surgical knife than a Swiss army knife, but they’re also the most essential of all the tools we work with, which is why we list them first.
The fundamental aspect of both programs is that they’re based around one of the x86 instructions, CPUID, which was originally intended to allow programmers to easily query the processor to see what features are supported, and has since then been expanded to other features. Although intended for programmer use, the information can be equally useful for users in the certain cases that these programs cover.
The most immediate value of both of these programs however is for their use in overclocking to determine what frequencies and timings the CPU and memory are running at. It’s a deceptively simple task but between thermal throttling, power optimization, and motherboards that will reset their settings if they think the computer is unstable, both make for highly effective tools in ensuring that an overclocked computer is running at what it should be. CPU-Z in particular also is one of the most accurate programs we have ever seen for reporting the core voltage of a CPU, which is important for determining what voltage a CPU is really running at since the voltage levels requested by the motherboard are seldom perfect, and doubly-important for Intel’s MCM 65nm Q-series processors, which suffer from very high levels of Vdroop.
The other major use for both of these programs, and what we believe is actually their most common use, is simple system and part identification. Both programs can read the CPUID information to determine the model of the processor in use, but they can also read information from the motherboard itself and the RAM. The functionality and accuracy is a little more limited here since most of this information is pulled verbatim from strings in the BIOS and RAM SPD chip, but this information is generally correct unless it’s coming from an OEM board.
Compared to CPU-Z, CrystalCPUID features a handful of additional features such as multiplier control (though we have a better suggestion for this feature later on), but in the same vein CPU-Z is a bit simpler, a bit more refined, and a bit easier to use and interpret as a result. Both however are shining examples of the kind of Spartan design and small file size we like to see out of motherboard utilities. Out of all of the utilities we’re looking at today, these are the simplest, but they’re also the best at their tasks.
Expanded Information: SpeedFan & CoreTemp
On modern computers, between the CPU, northbridge, southbridge, and customized hardware monitoring chips there’s a litany of information available, far more than what CPU-Z and CrystalCPUID provide. This includes voltages, fan speeds, temperatures, and SMART hard drive data. For years the traditional and most popular monitoring tool for this was Motherboard Monitor, but as it has been out of development for some number of years now, new tools have risen to replace it. SpeedFan is the most popular and one of the best developed of these.
It goes without saying that when it comes to overclocking the value of SpeedFan is immense. With the incredible TDP and heat density of today’s CPUs, the temperature readings alone are invaluable since there are a wide range of temperatures that are “safe” by the standards of thermal protection systems, they would actually result in a very short lifespan for a CPU. And while temperature readings can be found in the CMOS of most motherboards, because booting in to an operating system is required to put a load on a processor, a tool like SpeedFan is essential to that end. SpeedFan is also still one of the few utilities to properly support core readings from Intel’s MCM quad core CPUs.
But what we particularly like about SpeedFan are its advanced features that go beyond parroting the data from the southbridge. It is hands down the best Windows tool we’ve seen for reading hard drive SMART data, thanks to its integration with the HDDStatus website, which keeps a record of submitted hard drive SMART data to compare like-model hard drives and explain in detail the SMART data. Also a favorite of ours with SpeedFan is its ability to fire off warnings via e-mail if it detects any problems that surpass pre-determined thresholds. This isn’t very useful for anyone in possession of a single computer, but in the case of anyone owning multiple computers (a home server in particular) this can be a particular lifesaver when it fires off a warning that your file server is on fire or starting to accumulate a lot of SMART errors.
With that said SpeedFan may be the best, but it’s not without its flaws. On the more mundane and not of its fault, voltage readings are in our experience quite crazy. The fault with this lies with the motherboard being very bad at reporting some voltages, but this isn’t something you can immediately tell from SpeedFan. For that matter we don’t trust most motherboards in their voltage readings, if you absolutely need proper voltage readings a multimeter is a better choice.
SpeedFan’s other notable flaw is its core temperature readings for Intel’s latest CPUs, which is why we include CoreTemp in this section for now. Since moving away from the simple thermal diode and towards on-core digital thermal sensors, Intel reports core temperatures not as the actual temperature but as the delta from the processor’s tJunctionMax, the maximum temperature a CPU core can take before thermal protection kicks in. This requires knowing what the tJunctionMax of a processor is, which isn’t something that can be queried from the processor directly but is available from external sources. The latest supported version of SpeedFan can’t recognize some of Intel’s newest processors and associates the wrong tJunctionMax with them, resulting in it reporting the wrong temperature (usually by 15c). Notably, this is fixed in the latest beta, but beta access is on a limited basis.
CoreTemp on the other hand knows the proper tJunctionMax of the processors that SpeedFan doesn’t know about, but while it’s a very competent temperature program in its own right, in this case we want to use it for calibrating SpeedFan. SpeedFan can apply offsets to its temperature readings, so with CoreTemp to provide the correct temperature readings, it’s possible to calculate any needed offsets and to apply them to SpeedFan. As we stated earlier this eventually will not be a problem, but until SpeedFan is updated calibration will be required.
A few of SpeedFan’s lesser-used features also bear mentioning. When initially conceived (and what SpeedFan derives its name from) it was a utility to control fan speeds on motherboards with the hardware to support that feature, to quiet otherwise unnecessarily loud fans. It does a fine job of this on hardware that can support this feature, but these days many motherboards also support such a feature directly in their hardware, offering a level of OS-independence and usurping some control from SpeedFan anyhow. On a small number of older motherboards SpeedFan can also control the FSB speed of the motherboard, but even the program’s author likes to brush this off as a bonus feature. As both of these are motherboard tweaking features, we will stick to our recommendation of leaving control of such features to the CMOS when possible.
Stability & Load Testing: MemTest86+ and Prime95
With the ability to check the status of the motherboard and associated hardware out of the way, the next set among our overclocking-centric tools are those for testing and confirming the stability of our overclocking. Modern boards such as Intel’s 3-series boards can achieve monstrously high FSBs (or HT speed, as the case may be) so our main concern is with the stability of the RAM and processor, which are far more limited. For that we like to turn to MemTest86+ and Prime95.
MemTest86+, as the name implies, is a memory testing utility. In this case it’s a self-booting application designed to run without an operating system, utilizing low-level access to the system to work directly with the RAM. Using pre-set patterns, MemTest86+ continuously writes, reads, and rewrites to the RAM checking to see if any of the values it reads from the RAM are incorrect. Incorrect values of course indicate that there was an error somewhere in the process with MemTest86+ designed in such a way that it tries to create errors solely in the RAM.
Image courtesy of MemTest86.org
The usefulness of this utility and the reason why we include it are two-fold. First, it’s a very useful memory overclocking utility due to the strenuous nature of the tests. If RAM can pass MemTest86+ then it is very likely operating correctly even in its overclocked state (and if it fails, you can be sure that it’ll fail somewhere down the line too). Second is that in conjunction with swapping out DIMMs individually, it can be used to identify bad DIMMs should any of them have gone bad. Between these two aspects, if you’ve ever built a computer, at some point or another you’ve likely either used or needed MemTest86+.
With that said it should be noted that there are several versions of the utility, due to the fact that the utility is released under the GPL open source license, which allows project forking. The original MemTest86 began development several years ago, but in 2004 development ceased, and it was later forked creating MemTest86+. Since this year MemTest86 development has resumed but as a matter of preference we still like MemTest86+ even though the differences are minor. There are a few more versions out there, including a fork made by OCZ, however only the original MemTest86 and MemTest86+ are still up to date.
It should be noted however that MemTest86+ is an IA-32 application, meaning it is affected by the 4GB address space limit of 32-bit mode processing. At this point it’s not possible to test more than 4GB of RAM at once, and there are no other utilities on the same level as MemTest86+ that aren’t limited in the same way.
Because MemTest86+ is focused on only RAM stability, we still need a way to test the motherboard and CPU, and this is where Prime95 comes in. Prime95 is the Windows GUI client for the Great Internet Mersenne Prime Search project, a distributed computing effort to find new Mersenne Primes. The relevance of Prime95 is that it uses a series of Fast Fourier Transforms to search for these primes, and these calculations can be extremely taxing on a CPU, far more than normal day-to-day use is, which makes Prime95 very sensitive to any overclocking problems that would be causing CPU errors.
Due to this the Prime95 client includes a torture test mode that like MemTest86+, runs a series of known calculations looking for any errors in the results. This makes Prime95 an excellent overclocking stability testing utility because it not only brings a CPU to what would be the worst possible conditions in terms of load & heat, but it can catch small errors that otherwise wouldn’t immediately manifest themselves in other applications that aren’t looking for them, but could ultimately result in a crash. Prime95 can vary the sizes of the FFTs it uses and test RAM too as a result by using very large FFTs, but in practice this isn’t as useful for testing RAM since it isn’t possible to isolate the source of the problem when stress testing multiple aspects of a computer at once.
Like MemTest86+, Prime95 also has a sibling that bears mentioning, the also well-known Orthos. Orthos is a fork of Prime95 taking only torture testing abilities, with a more streamlined GUI and the addition of another test based on the Folding@Home distributed computing project’s Gromacs core. Orthos is slightly older than the latest version of Prime95 and as a result lacks quad-core processor support (requiring 2 instances to be loaded instead) which is why we are recommending Prime95 instead. Otherwise the FFT tests between the two are exactly the same, and neither one will produce better results.
Breaking the Rules - CPU Tweaking Through Power Management: RMClock
Last but not least, there are times where our opinion on matters and our advice can have the consistency of tapioca pudding, and this would be one of them. We recommend against motherboard tweaking utilities due to their poor design and spotty record, but this doesn’t mean that all hardware tweaking through software is a bad idea, only that we don’t like doing it though software controlling the motherboard. In a handful of cases we can manipulate the CPU directly, where the rules of the game change and there exists software we like.
Modern CPUs can exercise some control over their frequency, FSB/HT speed, and voltage through their power management features, exercising a small but reliable level of influence over the motherboard driving them. In turn, if we manipulate the CPU via software we can control the motherboard in this way, as a much safer and saner alternative to directly applying tweaks to the motherboard.
There are several utilities that offer this kind of tweaking (including CrystalCPUID of all things) but the RightMark CPU Clock Utility (RMClock) is by far the most through and up to date of these utilities, which is why we’re talking about it in particular. While non-enthusiast (read: expensive) processors are multiplier locked as far as going up, the same is not true for going down – they need to be able to use lower multipliers in order to slow the CPU down as part of their power management features. It’s this quirk that RMClock can exploit.
RMClock can override the default power management settings on a CPU, and both request new settings and forcefully engage these power saving modes. RMClock is still limited by the multiplier cap, but this in turn makes it possible to slow a processor down for whatever reason. The most popular uses for such a feature include forcefully keeping a CPU in a lower power state more often to maximize battery life on a laptop or minimize heat in a HTPC and forcing down the CPU clockspeed for some forms of stability testing without needing to reboot. It’s not a feature that everyone needs (if you need it, you’ll know) but it’s extremely handy when you do need it.
Due to its power management hooks, RMClock can also be used as a CPU monitoring application. Much of the information is redundant thanks to the combination of SpeedFan and CPU-Z, but there’s one thing RMClock can do that neither of those can that is handy for overclocking: throttling detection. Intel’s MCM quad-core processors are once again the biggest benefactor here because difference dice can have differing thermal characteristics, and while the current Q6xxx series is easy to overclock, it’s also easy to inadvertently push the limits on.
For initial overclocking trials having RMClock monitoring the CPU for any signs of throttling can expose a chip that is quietly throttling to keep a lesser die cool but not suffering any instability due to it. Generally speaking the safe temperatures for any CPU are well below the level that thermal throttling kicks in, but there are enough known cases of it kicking in even at only moderately high temperatures that checking for throttling at least once can be a good idea.
Closing Thoughts
It’s hard to call the modern motherboard utility situation anything other than weird. For the enthusiast and especially the overclocking enthusiast, it’s practically impossible to build and use a system without a good suite of utilities of diagnose a system and adjust it as necessary. That level of customization requires testing, information, and tweaking that can only be done outside of the CMOS, in a full operating system. However instead of the first-parties properly fulfilling those needs, we have the third-parties doing the job, and a much better one at that.
All of the utilities we list, we do so because we consider them essential in one way or another. Each one of these utilities does a specific and important job, and does it well. Frankly, we’re amazed at what some of the authors of these programs have pulled off, often not having the appropriate schematics and engineering resources to do what they’ve done. It’s a testament to the overclocking community that it has done so much with so little.
What it boils down to is that while the first-parties hardware developers can engineer some very fine hardware, their efforts at software fall in between respectable attempts to embarrassing. Call us spoiled, but as we saw with our roundup of video card utilities, there are several great utilities that cover the entire spectrum from simple reporting to very deep tweaking. That same level of abilities however isn’t available with the vast majority of motherboards today, even on expensive enthusiast-level boards.
We won’t deny that it’s a tad unfair to compare video cards and motherboards in such a nature, but we’re also idealists on such matters. The CMOS is cold and clunky, hard to navigate and unhelpful; but right now we still trust it far more than most tweaking applications because it’s logical and reliable. NVIDIA and now AMD are taking a stab at the issue, but it has yet to be enough. Both are quite capable of the task and we hope to one day see the motherboard situation rival that of the video card situation.
In the mean time we won’t call the current situation ideal, but it’s good enough for now. The important thing is that in spite of the lack of quality first-party software, the right tools for the job exist if you know where to look.