CHKCPU comes in two flavors, a DOS version and a Win32 console mode version. I've named the Win32 version CHKCPU32 to distinguish it from the DOS version. Both versions give approximately the same text-based output.
You can download both programs here and in each zip a text-file is included with more information about the program and the changes I've made in this revision.
DOS version: CHKCPU v1.15
Win32 version: CHKCPU32 v2.03
Both programs are dated 07/07/2008, have the same update status regarding the CPU model data, and they are both freeware.
| Feature | CHKCPU | CHKCPU32 | Remarks |
|---|---|---|---|
| Support for DOS | Yes | No | |
| Support for Windows | Yes | Yes, Win95 or later | CHKCPU32 has better speed indication accuracy under WinNT4/2K/XP/2003/Vista/2008. |
| CPU support | 386 and up | 586 and up | Support for NexGen and UMC CPUs has been dropped from CHKCPU32. Use CHKCPU if 386/486 or NexGen support is needed. |
| Multiplier/FSB support | Yes, but only in Real mode DOS | Not yet | Will be added in a later version of CHKCPU32. |
| Dual/Multi CPU support | No | Yes | |
| L1 Cache Mode indication | Yes | No | As this indication lost its meaning on modern Pentium class CPUs, it has been dropped from CHKCPU32. |
CPU Identification utility v1.15 (c) 1997-2008 Jan Steunebrink
覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧
CPU Vendor and Model: AMD K6-III+ 450/475/500/550
Internal CPU speed : 601.2 MHz (using internal Time Stamp Counter)
Clock Multiplier : 6.0
Bus clock speed : 100.2 MHz
CPU-ID Vendor string: AuthenticAMD
CPU-ID Name string : AMD-K6(tm)-III Processor
CPU-ID Signature : 0005D0
|||||+- Stepping or sub-model no.
||||+- Model: Indicates CPU Model and 486 L1 cache mode
|||+- Family: 4=486, Am5x86, Cx5x86
||| 5=Pentium, Nx586, Cx6x86, K5/K6, C6, mP6
||| 6=PentiumPro/II/III, CxMII/III, Athlon, C3
||| F=Pentium4, Athlon64
||+- Type: 0=Standard, 1=Overdrive, 2=2nd Dual Pentium
|+- Ext. Model: Extends the Base Model to an 8-bit value
+- Ext. Family: Extends the Base Family value
Current CPU mode : Real
Internal (L1) cache : Enabled in Write-Back mode
|
On my Celeron M laptop, running Windows Vista, CHKCPU32 /V shows:
CPU Identification utility v2.03 (c) 1997-2008 Jan Steunebrink
覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧
CPU Vendor and Model: Intel Celeron M 410/420/423/430 C0-step
Internal CPU speed : 1729.0 MHz
Number of CPUs : 1
CPU-ID Vendor string: GenuineIntel
CPU-ID Name string : Intel(R) Celeron(R) M CPU 430 @ 1.73GHz
CPU-ID Signature : 0006E8
CPU Features : Floating-Point Unit on chip: Yes
Time Stamp Counter : Yes
MMX instruction set : Yes
3DNow! instruction set : No
Streaming SIMD Extensions : Yes
SSE2 support : Yes
SSE3 support : Yes
Hyper-Threading Technology : No
Execute Disable protection : Yes
64-bit support : No
Virtualization Technology : No
Size of L1 cache : 64 KB
Integrated L2 cache : 1024 KB
Integrated L3 cache : None
|
CPU Identification utility v2.03 (c) 1997-2008 Jan Steunebrink
覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧
CPU Vendor and Model: AMD Athlon XP 2000+-3200+
Internal CPU speed : 1833.1 MHz
Number of CPUs : 1
CPU-ID Vendor string: AuthenticAMD
CPU-ID Name string : AMD Athlon(TM) XP 2500+
CPU-ID Signature : 0006A0
CPU Features : Floating-Point Unit on chip: Yes
Virtual Mode Extensions : Yes
Time Stamp Counter : Yes
MMX instruction set : Yes
3DNow! instruction set : Yes
Streaming SIMD Extensions : Yes
SSE2 support : No
Size of L1 cache : 128 KB
Integrated L2 cache : 512 KB
|
CHKCPU32 is meant to be used on 586/Pentium or higher CPUs only. CPUs which do not know the CPUID instruction are not supported by CHKCPU32. In addition, CHKCPU32 relies solely on the TSC for CPU speed measurement.
CHKCPU32 recognizes CPUs from Intel, AMD, Cyrix/IBM, IDT, VIA, Rise, and Transmeta.
Most CPUs provide data on which Clock multiplier setting they are running.
CHKCPU will display the Clock multiplier when available, and also calculate and displays the Bus clock speed in this case.
Note that the classic Pentiums, like the Intel Pentium I, Pentium MMX, and AMD K6 do not provide any clock multiplier data.
For Intel CPUs the internal speed equals the rating. So a Pentium 200 will run internally at 200 MHz. (66.6 x 3)
For AMD, Cyrix, and Rise CPUs the internal speed can be lower than the PR rating due newer and more efficient design.
For the K6-2 and later AMD CPUs upto 1400MHz, the internal speed equals the rating but modern CPUs use a performance figure as rating.
CHKCPU measures the CPU speed by accurately timing the execution of a bunch of slow 'Divide' instructions.
For Pentium class CPUs however, the internal Time Stamp Counter (TSC) is used whenever possible to further improve the accuracy of the speed measurement.
A message behind the CPU speed display indicates if the TSC is used.
As using the TSC would crash CHKCPU when the CPU is in 'Virtual mode', the CPU speed measurement switches back to the (less accurate) instruction timing method when the CPU is not in 'Real or Protected mode'.
CHKCPU32 measures the CPU speed by accurately timing the increment of the CPU's internal Time Stamp Counter (TSC). As a timebase, the Windows own PerformanceCounter is used which in turn is based on one of the motherboard's hardware timers.
CHKCPU32 only:
The Number of CPUs display indicates the number of 'logical' CPU cores as detected by Windows. Without Hyper-Threading, this number is equal to the number of physical CPU cores. But with Hyper-Threading enabled, the indicated number of logical cores can be double the number of physical cores.
The Pentium and higher CPU families normally operate their L1 cache in Write-Back mode.
Exceptions are: the Nx586, the Intel Pentium 63/83 ODP (P24T) and the Cyrix 6x86/6x86MX/MII.
The Nx586 has only Write-Through mode and is indicated as such.
The P24T can operate in either the Write-Through or Write-Back mode. For this CPU, CHKCPU uses a special routine to detect the difference.
The Cyrix 6x86 series usually operates in Write-Back mode but can be switched to Write-Through mode by enabling CR0 bit 29 (NW - No Write-back). CHKCPU checks this bit and displays the L1 cache mode accordingly.
For all other Pentium class CPUs, CHKCPU assumes Write-Back mode.