Introduction
CarbonSoft cxCPU is a non-visual component for Borland Delphi 3 which identifies the processor in the host system.
This component was originally available for Delphi 1.0 since 16-bit Windows didn't provide any simple means to detect
processors above 486 class. With the advent of Windows® 95 and NT came API functions which determine the host CPU
class.
Unfortunately (or fortunately, depending on your point of view) Intel is no longer the only vendor in the race.
There's a whole range of Intel Pentium® processors out there, MMXs, OverDrives, P2s, and the odd Pro thrown in for good
measure, and that's before we consider other vendors such as AMD, Cyrix, NexGen, and the like.
cxCPU 2.0 picks up where it's predecessor left off, by not only providing the processor class, but also the vendor (Intel,
AMD, etc), the model (P54C, K6, MediaGX, etc), whether it's an overdrive processor, whether it supports MMX, and the processor speed.
About this beta
Due to the very nature of the component, it's virtually impossible for me to test it all by myself since I would need
access to all the (hopefully) supported CPUs. Therefore I've released it as freeware for anyone to use with the hope that somewhere
out there are the processors I hope to support.
In short, please use this component freely and let me know the results. The final release will be freeware so I'm not
in a position to bribe you with a registered version but I'm sure you'd like a fully tested version as much as me!
This beta currently supports Delphi 3.02, the release version will support Delphi 2, 3.x, and C++ Builder. If you have any
of these and a processor other than an Intel Pentium (P54C) let me know and, depending on demand, I'll make the relevant versions
for you to try.
If anyone would be interested in a DLL or OCX version (can't imagine why) let me know.
Contacting the Author
For more information about cxCPU, to report bugs, or to request a version for another development platform please send mail to
cxcxpu_beta@carbonsoft.demon.co.uk
For anything else (not related to this component) send mail to:
kev@carbonsoft.demon.co.uk
The latest version of this component can always be found at:
www.carbonsoft.demon.co.uk/delphi/
Supported Processors
cxCPU 2.0 should detect the following processors:
Intel CorporationInstalling cxCPU
General: (no model detection)
- 80386, early 80486 Class processors
Specific:
- 80486SL, 80486DX2, 80486DX4, 80486DX4 OverDrive
- Pentium P5
- Pentium P54C
- Pentium OverDrive
- Pentium 486 OverDrive
- Pentium MMX
- Pentium MMX OverDrive
- Pentium Pro
- Pentium II
Advanced Micro Devices
General: (no model detection)
- 486DX2, 486DX4, 5x86 processors
Specific:
- K5 (Models 0-3)
- K6 MMX
Cyrix Corporation
Specific:
- Cx5x86
- MediaGX
- Cx6x86
- GXm
- 6x86MX
NexGen Inc
Specific:
- Nx586
United Microelectronics Corporation
Specific:
- U5D (486DX)
- U5S (486SX)
IDT/CentaurHauls
Specific:
- IDT C6 WinChip
Note: If you're currently using a processor that's not listed above please contact me so I can add support for it.
lblVendor.Caption := cxCPU1.Vendor;
Note: you must run the cxiBenchCPU procedure before reading the Speed property, e.g.:
cxCPU1.cxiBenchCPU;
lblSpeed.Caption := IntToStr(cxCPU1.Speed) + 'MHz';
PropertiesTComponent
and as well as the default properties Name
and Tag
supports
the following properties:About...
Displays the component about box and contact information.
Count (Integer)
Displays the number of processors in the host system.
CPU (String)
Displays the processor model (e.g.Pentium (P54C)
,K5 (Model 2)
, etc).
FullName (String)
Displays a formatted combination of the processor vendor and model, (e.g.Intel Pentium MMX
).
MMX (Boolean)
Displays TRUE if the host processor supports the MultiMedia eXtensions, FALSE is it does not.
OverDrive (Boolean)
Displays TRUE if the host processor is an Intel OverDrive processor, FALSE if is not.
Speed (Integer)
Displays the frequency of the host processor. Note: defaults to0
- runcxiBenchCPU
for the actual speed.
Vendor (String)
Displays the processor vendor (e.g.Intel Corporation
,Advanced Micro Devices
, etc).
Intel Processor Identification and the CPUID Instruction (#241618-007) AMD Processor Recognition (#20734) Cyrix CPU Software Identification (no part number) Identification of x86 CPUs with CPUID support