[an error occurred while processing this directive]

MSI Dynamic Overclocking Technology

Introduction

Initially we intended to briefly introduce the candidate to become another utility of the RightMark project, RM Spy or RM Infiltrator (not settled yet). This program helps CPU and mainboard testers determine CPU clock at any moment. As you know, some board makers make the default FSB clocks a bit higher in order to make their products show better performance in tests. But as we tested the program on the real test system we found out some facts that turned our simple presentation into something completely different... 

The idea is certainly not original. There are a lot of programs that allow dynamic CPU clock monitoring. Here are the general advantages of ours:

  1. RM Spy (RM Infiltrator) has only this particular purpose and is not a part of some monster suite. It's just an 120KB executable that needs no installation. 
  2. The results can be logged.
  3. The "Start delay" feature enables users to conduct operations required to be done before the clock check.
  4. The Check period feature minimizes CPU load created by the utility. 

So, launching RM Spy we see: 




The following options can be changed in the main (and the only) program window:

  1. Start delay: the delay between the moment you press Start and CPU clock monitoring launch (minutes). 
  2. Check period: interval to monitor CPU clock in (seconds). 
  3. Save on Stop: check to create a log file with the results after the program is stopped.

The "Start" button launches CPU clock monitoring with the parameters set, while the "Exit" naturally stops the program (the same as the window close button). 




On clicking "Start" the utility automatically minimizes to tray. It can be restored by a double click on the respective icon. 




During CPU clock monitoring you will see something like on the picture above.




Given "Save on Stop" option was enabled, you would get a similar log clicking "Stop". As you can see, RM Spy (RM Infiltrator) has only one function, so options and modes are minimal. On the other hand, it's sufficient for the main task, namely dynamic CPU clock monitoring.

Note that the screenshots above were obtained on the PC we wrote this article on, not on the testbed. Besides, since the program is still in development, the version you might download in the future might have greater functionality than it has now.

Utility usage examples

We decided to try the RM Spy on a board that has dynamic CPU clock adjust implemented by the manufacturer. We mean the unique (as far as we know, nobody else has done essentially the same yet) MSI D.O.T. (Dynamic Overclocking Technology) that automatically overclocks CPU by increasing FSB clock when necessary. 

Have a look at the original description of D.O.T. taken from MSI's website:

What is the Dynamic Overclocking Technology? Many mobo users must feel curious about this question. Dynamic Overclocking Technology, in simple words, is the automatic overclocking function, included in the MSI's newly developed CoreCell Technology. It is designed to detect the load balance of CPU while running programs, and to adjust the best CPU frequency automatically. When the motherboard detects CPU is running programs, it will speed up CPU automatically to make the program run smoothly and faster. When the CPU is temporarily suspending or staying in the low load balance, it will restore the default settings instead. Apparently, the Dynamic Overclocking Technology will be powered only when users' PCs need to run huge amount of data like 3D games or the video process, and the CPU frequency needs to be boosted up to enhance the overall performance. On the contrary, when your PC stays in the normal status such as surfing on the Internet or doing hard drive defragment, CPU will remain the original speed without overclocking.
Nice, isn't it?. But the aim that is to detect the load balance of CPU while running programs, and to adjust the best CPU frequency automatically sets the obvious question: how is it possible to determine CPU load only with a mainboard without any additional software running. This is not trivial.

The most correct way is to analyze the instructions transferred via CPU bus. But such a solution will cost a fortune and will require an extra processor, at least equal to the primary CPU. Therefore, MSI must be using some other method. But what? We thought of an idea, but it was so primitive that we decided to check it just to make sure we were wrong...

Testbed

Test results

So, below you can see the CPU clock diagram of RM Spy measurements that started right after the system boot. The CPU load was 0%, the measurement interval - 3 seconds. You can easily see the clock speed hardly changes. This means that either D.O.T. ran correctly, or didn't work at all.

This diagram demonstrates D.O.T. in Return to Castle Wolfenstein (we ran, played, exited it and let the CPU stand idle for a while). Well, the dynamic overclocking works - we alternated furious shooting with calm wandering or even doing nothing, and the diagram shows that the CPU clock is adjusted. But the questions is if it's really adjusted, according to the CPU load...

Now, instead of increasing the CPU load we simply stopped CPU cooler fan at zero CPU load. 

Well... the CPU clock increased!!! Then we turned the fan on again...

That's it. The experiment reveals the clear dependence between the onboard CPU temperature with the Dynamic Overclocking Technology enabled and the dynamic overclocking: the higher the CPU temperature is, the higher its clock is. Certainly, there's an upper bound, but it's limited by the D.O.T. settings in BIOS Setup. And vice versa, if the CPU cools down, its clock gradually decreases to the default value.

So, taking into account that in the second part of the experiment CPU load remained constant (zero), we can state that the CPU Usage is not monitored and has no effect on the D.O.T. technology. And the CPU load is determined basing on the temperature...

Conclusion

Now let's see what makes us so perplexed. The fact that the CPU load is measured basing on the temperature? Well, no. This is a standard way of determining parameters indirectly. However, there's a more correct method: CPU power consumption analysis. It's much more correct because increased power consumption only indicates CPU load increase and isn't related to many other factors among which is the load (as it is with the temperature). However, it's much more difficult to monitor current at such low voltage than to use on-chip temperature sensor...

Ok, the manufacturer chose the temperature, and it's clear why - this is the simplest and the cheapest way. But why didn't MSI integrate some simple logic into their high-technology CoreCell chip to monitor the most widespread emergency situations, which might also cause CPU temperature growth? There are actually only two of them: 1) when temperature inside PC case grows up faster than CPU temperature, 2) CPU fan failure. If either occurs, the dynamic overclocking becomes unsuitable because CPU temperature can grow not because of the increased load, but because of some other potentially dangerous factors.

So, MSI's idea is sensible and elegant. Though it's elegant just because it's simple and inexpensive. However, its implementation doesn't make sense because it doesn't consider several obvious factors making D.O.T. toughen CPU temperature mode in emergency situations rather than prevent the unnecessary risk.

Such a crippled implementation of D.O.T. makes us think it's more a product of marketing than engineering made just to have another sound announcement...

I'd like to end this article with a standard appeal to all hardware manufacturers: "Please provide more details in your product descriptions!" It's clear that an average user doesn't need all the nuances, but experienced users should know how either feature works. Otherwise, it makes an unpleasant impression when you find out that CPU load monitoring actually tracks some other parameter that is not always directly related to the required.

Stanislav Garmatyuk (nawhi@ixbt.com


[an error occurred while processing this directive]