CPU Relative Speed Test

This all came about as the result of the purchase of a retail Athlon (K7/650) based computer system by the brother-in-law of a friend of mine. My friend was asked to help set up the new system and install some applications. His comment later was that the system seemed to be very slow. He has a K7/700 system that I had built for him and he expected the new retail system to be just slightly slower. My theory was that the system was running at half speed, which was later verified.

There are several system speed test programs offered for download via the InterNet, but none of them would run on this particular system model. I offered that I could create a program that would run on any system. And thus the CPU Relative Speed Test program was created. Several systems I have were used during the development and debugging of the program. The testing outputs were written down as hours, minutes and seconds for comparison purposes and resulted in a table of results. I then thought that it might be interesting to test an IBM PC or IBM PC/AT to get a relative speed comparison with a known quantity. Since I do not have any systems with a 5¼" diskette drive installed, I decided to use an IBM PC/AT system for the baseline comparison. Testing this system resulted in the decision to run the test on several old mainboards with various CPUs.

The program is designed to operate within a MS-DOS environment. It was written in assembler source code, assembled with the Digital Research ASM86 assembler and linked using GENCMD. Both ASM86 and GENCMD run under EMB86, a CPM/86 emulator for MS-DOS.

The theory of operation of the program is simply to read the current DOS time, execute a two level 64K nested loop with twelve NOP instructions in the center, read the time again and display the time difference. Interrupts are left enabled during the test to allow the DOS clock to be updated. The purpose of the program is to test only the speed of the CPU and ignore the variables created by various chipsets, caches, bus speeds and peripherals installed. The processors having internal cache RAM are run with the cache enabled. Leaving the cache enabled allows the CPU to run at the highest speed possible without introducing delays due to RAM wait states.

Several interesting anomalies have emerged from the limited testing accomplished thus far. It appears that the AMD CPUs have always been faster than the corresponding offering from Intel. Over time the gap appears to be widening: The speed of the Intel Pentium III/500 which was introduced on 2/26/99 is very nearly identical to the speed of the AMD K6/300 CPU introduced on 4/2/97. It appears that the AMD K6, K6-2, K6-III and K7 all have the same core design: the operating speed curve through these families is very nearly a straight line.

Notes: In the table, the original Slot A AMD Athlon is listed as K7. The Socket A Athlon CPUs are listed as K7d for the Duron and K7tb for the ThunderBird. The Celeron-2 means the version with 128 Kb cache RAM installed. Most of the names under the Manufacturer heading are the mainboard manufacturer and model number, some are a number printed on the board along with the chipset label, a few are only the badge on the front of the system case.


Data Tables

Last Updated on 10/29/2000
By John G. Ruff
COPYRIGHT ©2000 Ruffian, Ltd. All rights reserved worldwide.