Copyright: Copyright ® 1995 CMP Publications, Inc.


WinTune '95 - CPU
Wintune 95 - CPU

The CPU analyzer determines the specific type of CPU in the system and performs a series of benchmarks to test the integer and floating-point performance. The performance of the CPU's internal cache is tested in the Memory analyzer.

For questions on a particular item reported by this analyzer, click on the item in Wintune's Details tab and press F1, or right-click on the item and select "Tell Me More". You can also browse the help topics using the >> and << buttons above, or select a specific item from the list below.

FAQs

Why isn't the CPU type right?

Why isn't the clock rate right?

Why does Dhrystone MIPS vary so much?

If the CPU load is really 100%, wouldn't the system be locked up?

How can a program cause a high CPU load when its just sitting on the task bar?

Results

CPU type

Clock rate

CPU load

Dhrystone

Whetstone

Number of CPUs

CPU class

CPUID1

Tested on

Tips

CPU101: Close other running programs

CPU102: Check APM settings

CPU103: Check Turbo switch

CPU104: Flawed Pentium detected


FAQ: Why isn't the CPU type right?
Why isn't the CPU type right?

It isn't always possible to determine the CPU brand or model with absolute certainty.

In Pentium and late-model 486 CPUs, Intel implemented an instruction called CPUID that specifically identifies the type of CPU and the features it supports. When this instruction is present, Wintune uses it to fill out the "CPU type" field. You will know if the CPUID instruction is supported in this CPU if you see a field called "CPUID1" in the Details tab.

Most AMD 486 processors don't support the CPUID instruction and don't have any discernible differences from an Intel 486. In these cases, Wintune will report an Intel 486DX. Newer AMD CPUs such as the 120MHz 486 do support CPUID, and these processors will be reported as AMD CPUs.

Cyrix has licensed variations of their CPU designs to Texas Instruments, SGS Thomson, and IBM. However, there are no accessible software features that would let Wintune know which vendor has actually manufactured the chip. All Cyrix-designed CPUs are reported as Cyrix, regardless of which vendor did the manufacturing. Cyrix CPUs such as the Cx486DrX (a 386 upgrade chip) are reported as "Cyrix 486DX" if a 387 is installed, otherwise they show as "Cyrix 486 (no FPU)".

The Cyrix 5x86, just released as Wintune shipped, is incorrectly recognized as a Cyrix 486. Consequently, the clock speed is also misstated; the 100MHz chip is reported as 83MHz. Cyrix does not provide a method (such as the CPUID instruction) for a protected-mode application to identify this chip.

486DX versus DX2/DX4

If the CPU does not support the CPUID instruction, Wintune cannot determine whether the CPU is using clock-doubled (DX2) or clock-tripled (DX4) technology. In these cases it reports the chip simply as a 486DX chip. In general, speeds above 50MHz are DX2 or DX4 chips. However, there are a few true 50MHz DX chips out there.


FAQ: "Why isn't the clock rate right?"
Why isn't the clock rate right?

First, make sure that Wintune has identified the CPU typecorrectly. If you have a new or unknown model of CPU, Wintune may not be using the correct number of cycles for its timing loop.  On a desktop system, make sure you don't have the Turbo switch turned off.  Some systems control the Turbo function by slowing down the system clock. (Unverified factoid: the number one cause of slow performance on a home computer is three-year-old kids who like to play with Turbo switches. Let's not even talk about what happens when they play with the Reset switch.)

On notebook systems, try turning off the power-saving options, and run off of AC power instead of batteries. Power-conservation options on notebook PCs and Energy Star desktop PCs can automatically turn down the CPU clock after a certain amount of inactivity, and this may be kicking in while Wintune is doing its tests. These and other clock-related options are usually controlled through the BIOS setup.

Finally, make sure there aren't any programs running that might interrupt Wintune. If this is the case, the value of "CPU load" will indicate a high (near 100%) load.


FAQ: If the CPU load is really 100%, wouldn't the system be locked up?
If the CPU load is really 100%, wouldn't the system be locked up?

Windows is very good at sharing. If Program A has a lot to do, it may very well take up 100% of the CPU's time if no other program wants to run. However, if you start running Program B, it will compete with Program A for the CPU's time. You'll get at least half, and probably more, of the CPU time. But the fact that you've got competition for the CPU is bound to slow you down.


FAQ: Why does Dhrystone MIPS vary so much?
Why does Dhrystone MIPS vary so much?

On most systems, the value of the Dhrystone (MIPS) rating shouldn't change by more than about 5 percent from run to run. On systems with limited memory (MB of RAM or less) it may vary by 10 percent due to memory swapping. If you're seeing variations higher than this, some hardware or software is probably to blame.

Software Causes

Other programs are running while Wintune is taking its measurements. Close all programs on the taskbar except for Wintune. If this doesn't solve the problem, check for programs that are loaded in the Startup group or in the AUTOEXEC.BAT file.

Power-saving options are turned on. These options may cause the CPU to automatically slow down after even a few seconds of inactivity. Often, "inactivity" is defined as nobody typing on the keyboard or moving the mouse, even if a program is working away.

Hardware Causes

Defective cache or RAM on the system board.  We have seen reports that some older Gateway 486 systems (with Phoenix BIOS 1.01) will not cache any memory above 8MB. Programs that load below 8MB run at a normal speed, but programs that run above 8MB run slower because they are not cached. In some cases you can solve this problem by upgrading the size of the L2 cache. Gateway tech support is aware of the problem and should be able to help you if you have an affected system.


FAQ: How can a program cause a high CPU load when its just sitting on the task bar?
How can a program cause a high CPU load when its just sitting on the task bar?

Probably because it's not behaving itself like a good Windows 95 application. Some Windows 3.1 programs, especially ones that handled communications, used a CPU-hogging technique called a PeekMessage loop so that they could frequently check for work that had to be done. Windows 95 provides a much better way to do this job, but of course there are lots of Windows 3.x applications out there that you might run on Windows 95 that will exhibit this behavior.


CPU type

If the CPU supports the CPUID instruction, Wintune will generate the name based on the information from this instruction. In other cases, Wintune uses subtle differences in the results of specific instruction sequences to determine the CPU type.

See also:

Why isn't the CPU type right?

CPUID1


Clock rate

There isn't an easy way for a program to tell the clock rate of a system. Wintune calculates the clock rate by timing a known series of instructions. Knowing the number of clock cycles that the instructions require, Wintune can then divide the elapsed time into that number of cycles to get the clock rate, expressed in millions of cycles per second, or MHz.

As a general rule, the faster the clock rate the higher the performance. Different CPU families can get different amounts of work done in a clock cycle, which explains why a 486/100 is slower than a Pentium/100. The clock rate may be a multiple of the bus or memory speed; for example a 486DX2/66 has an external speed of 33MHz. Only the CPU and its internal RAM cache run at the faster 66MHz speed. Similarly, any Pentium running faster than 66MHz is using some clock-multiple to achieve higher speeds on the chip.  The Pentium can even use non-integer multipliers, so that a 75MHz model actually has a 50MHz external bus (thus a multiplier of 1.5).

See also:

Why isn't the clock rate right?


CPU load

Multitasking can be a great thing when you want to use it. However, it can really mess up a performance measurement. At the start of the CPU tests, Wintune sleeps for about two seconds and measures the background activity of the system. If nothing else is going on, the CPU load should be 0%, indicating that no other programs did any significant work during that two-second period. If, however, you're downloading some files in the background or running an ill-behaved program, the CPU load may be at 100%.

A high CPU load isn't necessarily a bad thing. Being able to run multiple programs is a benefit that you can exploit to get more done while you're at your PC. But to get the best and most consistent results out of Wintune's tests, you shouldn't be running other programs. Unless, of course, you're trying to measure the effect that running that program has on overall performance.

If your CPU load is higher than about 10%, take a look at the programs listed as "Problem programs" and "Other programs" under the System analyzer heading.  "Problem programs" are ones that we have found will definitely cause a high CPU load, at least under certain conditions. "Other programs" are ones that we have either found to be benign or just don't know anything about. Close the programs one at a time and run Wintune again after you close each one. At some point your CPU load should be close to zero.

If you've closed all the programs on your taskbar, then the problem may lie with a program that loads in your Startup group but runs in a hidden window. Or, it may be a program in CONFIG.SYS or AUTOEXEC.BAT.  Finally, it may be due to network access from another workstation if you are sharing files or printers across the network.

Some power management schemes also cause a CPU load reading by stopping the CPU to save power. If you can't find any running programs, make sure that all power management is turned off.


Dhrystone

The Dhrystone benchmark is widely used in the computer industry as a measure of performance. We use a modified version of the Dhrystone that keeps its data on the program stack. This lets the benchmarks work properly in multiple threads in Windows NT. The standard Dhrystone, which was originally designed for a single-threaded environment, keeps some of its data in static global variables.  Dhrystone is a synthetic benchmark, designed to contain a representative sample of operations normally performed by applications. They don't calculate a result of any kind, but they do perform the sort of complicated sequences of instructions that real applications use. The Dhrystone result is determined by measuring the time it takes to perform these sequences of instructions.

Simple integer arithmetic, logic decisions, and memory accesses are the dominant CPU activities in most Windows programs. The Dhrystone benchmark makes intensive use of these areas. However, the Dhrystone doesn't have enough program code or access enough memory locations to simulate the activity of most real programs. Its working set of code and data can generally be kept in the CPU cache, which results in very high performance. Since the Dhrystone doesn't offer a good indication of memory performance, Wintune has a separate set of memory tests.

Windows NT supports multiple CPUs in a single system. If Wintune detects multiple CPUs, it will run a multithreaded Dhrystone test to exercise all the CPUs at once. In that case, this test represents the combined total Dhrystone performance of all CPUs.

See also:

FAQ: Why does Dhrystone MIPS vary so much?


Whetstone

The Whetstone benchmark is widely used in the computer industry as a measure of performance. We use a modified version of the Whetstone that keeps its data on the program stack. This lets the benchmarks work properly in multiple threads in Windows NT. The standard Whetstone, which was originally designed for a single-threaded environment, keeps some of its data in static global variables.

Floating-point arithmetic is most significant in programs that require an FPU. These are mostly scientific, engineering, statistical and computer-aided design programs. It is also a small component in spreadsheet, paint and drawing programs. (Although a spreadsheet "crunches numbers" it spends most of its time doing things other than math, such as drawing the pretty screen.) Word processing programs typically do no floating-point computations at all. The Whetstone does a lot of floating-point arithmetic, some memory access, and a little integer arithmetic.

Windows NT supports multiple CPUs in a single system. If Wintune detects multiple CPUs, it will run a multithreaded Whetstone test to exercise all the CPUs at once. In that case, this test represents the combined total Whetstone performance of all CPUs.


Number of CPUs

Windows NT supports multiple CPUs in a single system. If Wintune detects multiple CPUs, it will run a multithreaded Dhrystone and Whetstone test to exercise all the CPUs at once.


CPU class

Although it's nice to know the exact type of CPU in a system, it's also handy to group CPUs into general classes based on their features and performance. The CPU class value is basically the generic type of the CPU (386, 486, 586, or 686 as of this writing).  The 586 class includes the Intel Pentium and the NexGen 586, although other CPUs may arrive from AMD or Cyrix in 1996. The 686 class includes only Intel's Pentium Pro (or P6) CPU at this time.


CPUID1

With newer versions of the 486 and all versions of the Pentium, Intel added an instruction called CPUID that will report details about the CPU type. The new 120MHz 486 from AMD also has the CPUID instruction.

Results of the CPUID instruction are displayed as two hexadecimal numbers. The first is the Family-Model-Stepping value. The second is the Features value. The exact interpretation of these values depends on the specific CPU, so if you want to know more about what the numbers mean you should check the CPU's reference manual.

See also:

CPU type


Tested on

Once the analyzer has completed all its tests, it sets this entry to the current date and time. If this entry shows as "Not tested" then testing has not been performed, or testing was started but stopped by the user or an error condition before it could complete.


Tip CPU101: Close other running programs

The CPU load is higher than 10 percent, indicating that some other software is using up CPU time. These programs interfere with Wintune's ability to get a baseline performance reading, and will also slow any program that you run. Check the "Other programs" and "Problem programs" entries in the System analyzer to see what else is running.

It is also possible that the system has power-saving options enabled that cause the CPU to sleep at regular intervals. This may cause a false CPU load reading, although the negative effect on performance is real. Check the system's BIOS settings to ensure that there are no power-saving options enabled.

See also:

CPU102: Check APM settings

CPU103: Check Turbo switch


Tip CPU102: Check APM settings

This system is performing at a lower level than is typical for this type of CPU. The problem may be due to having Advanced Power Management settings turned on. You should turn these settings off to get the best possible performance results.

See also:

CPU101: Close other running programs

CPU103: Check Turbo switch


Tip CPU103: Check Turbo switch

This system is performing at a lower level than is typical for this type of CPU. This may be due to having the Turbo switch, if any, in its low-performance position. If you don't have a Turbo switch, there may be a similar setting in the BIOS setup that is set incorrectly.

See also:

CPU101: Close other running programs

CPU102: Check APM settings


Tip CPU104: Flawed Pentium detected

This system has a Pentium that may generate erroneous results in certain floating-point operations. This problem was widely discussed when it was discovered in December 1994. You may want to obtain a replacement part from Intel, since they are offering a free replacement.