Pentium works on Windows and Intel Pentium class and AMD CPUs to determine the CPUID information such as the vendor, brand/model, step, model, instruction set family, cpu serial number, and the RDTSC Time stamp register for high resolution timing measured in CPU cycles since the last boot. It is designed to be incorporated in your own Java progams. Pentium class CPUs have a 64 bit serial number that than be enabled on disabled. Xeon class CPUs have a 96 bit serial number. AMD CPUs do not have a serial number. You can also use it as a standalone utility with: java.exe -jar pentium.jar CONFIGURING THE DLL The pentium.32.dll must be on the path, or more precisely on the java.library.path, e.g. in the current directory. Put the raw dll, not the jar, in one of the path directories. To discover the path directories, type PATH at the command line. C++ RUNTIME This program requires modules from the Microsoft C++ Express 12 run time library. Normally they should be automatically statically included. However, if someone recompiled the JNI C++ code without the /MT option, this code will not work unless the vcredist_x86.exe Microsoft C++ Express 11 run time library is preinstalled. You can download it from Microsoft or CMP. http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=en or http://mindprod.com/zips/vcredist_x86.exe The symptom of this problem is an UnsatisfiedLinkError or a side-by-side configuration error. ENABLING SERIAL NUMBER The serial number can be enabled or disabled with an Intel utility. If it is disabled, the Pentium utility will report the serial number as 0. There are a number of different utilities for enabling/disabling the serial number available from Intel: http://www.intel.com/support/processors/pentiumiii/sb/CS-007582.htm : Serial Number Enable/Disable http://www.intel.com/support/processors/sb/CS-001661.htm : Intel's CPUID, Intel chips only. You may also be able to enable/disable the serial number in the BIOS setup. for technical info see: http://www.intel.com/assets/pdf/appnote/241618.pdf The 64-bit C compiler does not support inline assembler. This code could be rewritten with the int registers[4]; __cpuid(registers, 0); intrinsic or written in 64-bit assembler. I don't have an Intel CPU, so I cannot test the code. For now, it does not support 64-bit mode. The 64-bit dll pentium.64.dll is not provided.