JCL Help:TCpuInfo
From Project JEDI Wiki
Jump to navigationJump to searchJCL Help: TCpuInfo Record
[+] JclSysInfo.pas Records
[+] TCpuInfo Fields
Search in JCL Help
Search in all projects
Summary
The TCpuInfo record is used by GetCpuInfo and returns the requested processor information.
Pascal
public TCpuInfo = record
HasInstruction: Boolean;
AES: Boolean;
MMX: Boolean;
ExMMX: Boolean;
_3DNow: Boolean;
Ex3DNow: Boolean;
SSE: TSSESupports;
IsFDIVOK: Boolean;
Is64Bits: Boolean;
DEPCapable: Boolean;
HasCacheInfo: Boolean;
HasExtendedInfo: Boolean;
PType: Byte;
Family: Byte;
ExtendedFamily: Byte;
Model: Byte;
ExtendedModel: Byte;
Stepping: Byte;
Features: Cardinal;
FrequencyInfo: TFreqInfo;
VendorIDString: array [0..11] of AnsiChar;
Manufacturer: array [0..9] of AnsiChar;
CpuName: array [0..47] of AnsiChar;
L1DataCacheSize: Cardinal;
L1DataCacheLineSize: Byte;
L1DataCacheAssociativity: Byte;
L1InstructionCacheSize: Cardinal;
L1InstructionCacheLineSize: Byte;
L1InstructionCacheAssociativity: Byte;
L2CacheSize: Cardinal;
L2CacheLineSize: Byte;
L2CacheAssociativity: Byte;
L3CacheSize: Cardinal;
L3CacheLineSize: Byte;
L3CacheAssociativity: Byte;
L3LinesPerSector: Byte;
LogicalCore: Byte;
PhysicalCore: Byte;
HyperThreadingTechnology: Boolean;
HardwareHyperThreadingTechnology: Boolean;
CpuType: Byte;
case Byte of
CPU_TYPE_AMD: (AMDSpecific: TAMDSpecific;);
CPU_TYPE_CYRIX: (CyrixSpecific: TCyrixSpecific;);
CPU_TYPE_INTEL: (IntelSpecific: TIntelSpecific;);
CPU_TYPE_TRANSMETA: (TransmetaSpecific: TTransmetaSpecific;);
CPU_TYPE_VIA: (ViaSpecific: TViaSpecific;);
end;
Members
Members | Description |
HasInstruction: Boolean; | True if the processor supports CPU identification instructions. If False the MMX, Features and FrequencyInfo fields do not contain valid data. |
MMX: Boolean; | True if the processor supports the MMX extension instructions. |
IsFDIVOK: Boolean; | True if the FDIV instruction is OK, False if it's flawed. |
HasCacheInfo: Boolean; | True if the processor specific subrecords contain valid cache information data. If False the IntelSpecific, CyrixSpecific and AMDSpecific subrecords do not contain valid data. |
HasExtendedInfo: Boolean; | Denotes whether or not the AMD or Cyrix processors have the extended CPUID instruction. This affects the possible flags in the Features field. If False the Features member does not contain any of the extended Cyrix and AMD flags (the ones starting with an 'E'). |
PType: Byte; | Denotes the CPU: Type 0 = Normal, 1 = Overdrive |
Family: Byte; | Processor family. For example, for Intel processors a value of 4 denotes a 486, 5 a Pentium and 6 a Pentium Pro. The family and model members are used together to form a descriptive string in the CpuName member. |
Model: Byte; | The specific model within a processor family. For example, for an Intel processor with family 6 (Pentium Pro) a value of 1 denotes a Pentium Pro while a 3 denotes a Pentium II. The family and model members are used together to form a descriptive string in the CpuName member. |
Stepping: Byte; | TODO |
Features: Cardinal; | Contains a set of flags detailing the features of the processor. The possible flags are processor specific. See Flags for more information. |
FrequencyInfo: TFreqInfo; | Contains processor freqeuncy information. |
VendorIDString: array [0..11] of AnsiChar; | Contains a string describing the processor's vendor. |
Manufacturer: array [0..9] of AnsiChar; | Contains a string describing the processor's manufacturer. |
CpuName: array [0..47] of AnsiChar; | Contains a descriptive string for the processor (for example "Pentium II Xeon"). |
CpuType: Byte; | Denotes the CPU vendor, can be one of the following values: CPU_TYPE_INTEL, CPU_TYPE_CYRIX, CPU_TYPE_AMD. |
IntelSpecific: TIntelSpecific; | Contains Intel processor specific information. Only valid if HasCacheInfo is True. |
CyrixSpecific: TCyrixSpecific; | Contains Cyrix processor specific information. Only valid if HasCacheInfo is True. |
AMDSpecific: TAMDSpecific; | Contains AMD processor specific information. Only valid if HasCacheInfo is True. |
Description
The TCpuInfo record is used by GetCpuInfo and returns the requested processor information.
About
Unit
Donator
Bryan Coutch
Contribute to this help topic
This documentation wiki is based on the collaborative effort of Project JEDI users. Your edits are welcome in order to improve documentation quality: edit this page