The SDL Component Suite is an industry leading collection of components supporting scientific and engineering computing. Please visit the SDL Web site for more information....



Interface of SDL_CPUID


type
   ESDLCpuIdError = class(ESDLError);
   
                     { CPU standard features (bits 0..31) of feature set flags }
   TCPUFeatures = (cpuft_fpu, cpuft_vme, cpuft_de, cpuft_pse, cpuft_tsc,
                  cpuft_msr, cpuft_pae, cpuft_mce, cpuft_cx8, cpuft_apic,
                  cpuft_sepamd, cpuft_sep, cpuft_mtrr, cpuft_pge, cpuft_mca,
                  cpuft_cmov, cpuft_pat, cpuft_pse36, cpuft_serial, cpuft_clflush,
                  cpuft_reserved1, cpuft_dts, cpuft_acpi, cpuft_mmx, cpuft_xsr,
                  cpuft_simd, cpuft_simd2, cpuft_ss, cpuft_reserved2, cpuft_tm,
                  cpuft_ia64, cpuft_3dnow);

const
{$IFDEF PAIDVERS}
  SDLVersionInfo = 'cpuid_r1200_full';
  IsLightEd = false;
{$ELSE}
  SDLVersionInfo = 'cpuid_r1200_lighted';
  IsLightEd = true;
{$ENDIF}
  Release = 1200;
   CPUFeatureNames: array[TCPUFeatures] of string =
      ('Floating Point Unit',                                         // 0
       'V86 Mode Extensions',                                         // 1
       'Debug Extensions - I/O breakpoints supported',                // 2
       'Page Size Extensions (4 MB pages supported)',                 // 3
       'Time Stamp Counter and RDTSC instruction are available',      // 4
       'Model Specific Registers',                                    // 5
       'Physical Address Extensions (36-bit address, 2MB pages)',     // 6
       'Machine Check Exception supported',                           // 7
       'Compare Exchange Eight Byte instruction available',           // 8
       'Local APIC present (multiprocessor operation support)',       // 9
       'Fast system calls (AMD only)',                                // 10
       'Fast system calls',                                           // 11
       'Memory Type Range Registers',                                 // 12
       'Page Global Enable',                                          // 13
       'Machine Check Architecture',                                  // 14
       'Conditional MOVe instructions',                               // 15
       'Page Attribute Table',                                        // 16
       '36 bit Page Size Extensions',                                 // 17
       'Processor Serial Number',                                     // 18
       'Cache Flush',                                                 // 19
       'reserved',                                                    // 20
       'Debug Trace Store',                                           // 21
       'ACPI support',                                                // 22
       'MultiMedia Extensions',                                       // 23
       'FXSAVE and FXRSTOR instructions',                             // 24
       'SSE instructions',                                            // 25
       'SSE2 (WNI) instructions',                                     // 26
       'self snoop',                                                  // 27
       'reserved',                                                    // 28
       'Automatic clock control',                                     // 29
       'IA64 instructions',                                           // 30
       '3DNow! instructions available');                              // 31


function CheckGeneratedCPUID (CPUId: string): boolean;
function CPU_BrandID: LongInt;
function CPU_Count: LongInt;
function CPU_ExFamily: LongInt;
function CPU_ExModel: LongInt;
function CPU_ExtendedFeatureSet: LongInt;
function CPU_Family: LongInt;
function CPU_FDIVBugPresent: Boolean;
function CPU_FeatureSet: LongInt;
function CPU_IDSupport: Boolean; register;
function CPU_MarketName: string;
function CPU_Model: LongInt;
function CPU_OverDrive: Boolean;
function CPU_SerialNumber: string;
function CPU_Signature: LongInt;
function CPU_Stepping: LongInt;
function CPU_Type: LongInt;
function CPU_VendorString: string;
function GenerateCPUID: string;
{$IFDEF GE_LEV25}   // only available from 10.2 Tokyo upwards
function GenerateCPUIDEx: string;
{$ENDIF}
{$IFNDEF WIN64}
function CPU_Speed(ADelay: DWORD): Single;
{$ENDIF}





Last Update: 2023-Feb-06