The MASM Forum Archive 2004 to 2012

General Forums => The Laboratory => Topic started by: TomRiddle on January 25, 2007, 11:59:30 AM

Title: MS-DOS CpuID Program
Post by: TomRiddle on January 25, 2007, 11:59:30 AM
Can I get a few of you to run this CPUID program I wrote.  The source is included but I wrote it in a...I dunno what to call it, a crapload of Macro's/Procedures/Ect.  I did include the source for it.

Here is my output:

-=- Starting Probe Log -=-
-=- CPU Detection Start -=-
CpuID Supported (586+)
Cpu Vendor: AuthenticAMD
Max Arguments: 1           
Cpu Flags: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC DTES ACPI MMX FXSR SIMD SSe2 SELFSNOOP HTT ACC IA-64 PBE
Cpu Stepping ID: 1
Cpu Model: 2
Cpu Family: 6
Cpu Type: 0
Extended Cpu Model: 0
Extended Cpu Family: 0 
Extended CpuID Max Arguments: 6           
Extended Flags: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV FCMOV PSE36 MP NX MMX+ MMX FFXSR TSCP LM 3DNow!+ 3DNow!
Extended Flags:
Extended CPU Name: AMD Athlon(tm) Processor

-=- CPU Detection End -=-
-=- Finished Probe Log -=-


[attachment deleted by admin]
Title: Re: CpuID Program (Please don't hate me)
Post by: j_groothu on January 25, 2007, 12:50:17 PM
PIV Northwood [ Later Note:  um hangon no Hyperthreading or IA-64 on my CPU I Am Sure! ]
-=- Starting Probe Log -=-
-=- CPU Detection Start -=-
CpuID Supported (586+)
Cpu Vendor: GenuineIntel
Max Arguments: 2           
Cpu Flags: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC DTES ACPI MMX FXSR SIMD SSe2 SELFSNOOP HTT ACC IA-64 PBE
Cpu Stepping ID: 4
Cpu Model: 2
Cpu Family: 15
Cpu Type: 0
Extended Cpu Model: 0
Extended Cpu Family: 0 
Extended CpuID Max Arguments: 4           
Extended Flags:
Extended Flags:
Extended CPU Name:               Intel(R) Pentium(R) 4 CPU 2.00GHz

-=- CPU Detection End -=-
-=- Finished Probe Log -=-
Title: Re: CpuID Program (Please don't hate me)
Post by: anon on January 25, 2007, 03:30:20 PM
Centrino Duo

-=- Starting Probe Log -=-
-=- CPU Detection Start -=-
CpuID Supported (586+)
Cpu Vendor: GenuineIntel
Max Arguments: 10           
Cpu Flags: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC DTES ACPI MMX FXSR SIMD SSe2 SELFSNOOP HTT ACC IA-64 PBE
Cpu Stepping ID: 8
Cpu Model: 14
Cpu Family: 6
Cpu Type: 0
Extended Cpu Model: 0
Extended Cpu Family: 0 
Extended CpuID Max Arguments: 8           
Extended Flags:
Extended Flags:
Extended CPU Name: Genuine Intel(R) CPU           T2250  @ 1.73GHz

-=- CPU Detection End -=-
-=- Finished Probe Log -=-
Title: Re: CpuID Program (Please don't hate me)
Post by: u on January 25, 2007, 04:46:49 PM
 -=- Starting Probe Log -=-
-=- CPU Detection Start -=-
CpuID Supported (586+)
Cpu Vendor: AuthenticAMD
Max Arguments: 1           
Cpu Flags: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC DTES ACPI MMX FXSR SIMD SSe2 SELFSNOOP HTT ACC IA-64 PBE
Cpu Stepping ID: 2
Cpu Model: 12
Cpu Family: 15
Cpu Type: 0
Extended Cpu Model: 2
Extended Cpu Family: 32
Extended CpuID Max Arguments: 24           
Extended Flags: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV FCMOV PSE36 MP NX MMX+ MMX FFXSR TSCP LM 3DNow!+ 3DNow!
Extended Flags: AHF64CMP SVM EAS CR8D
Extended CPU Name: AMD Sempron(tm) Processor 3000+

-=- CPU Detection End -=-
-=- Finished Probe Log -=-


It's maybe the newest version of Sempron, supports SSE3, though I don't see it listed here.
Title: Re: CpuID Program (Please don't hate me)
Post by: dsouza123 on January 25, 2007, 11:12:57 PM
 -=- Starting Probe Log -=-
-=- CPU Detection Start -=-
CpuID Supported (586+)
Cpu Vendor: AuthenticAMD
Max Arguments: 1           
Cpu Flags: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC DTES ACPI MMX FXSR
SIMD SSe2 SELFSNOOP HTT ACC IA-64 PBE
Cpu Stepping ID: 2
Cpu Model: 4
Cpu Family: 6
Cpu Type: 0
Extended Cpu Model: 0
Extended Cpu Family: 0 
Extended CpuID Max Arguments: 6           
Extended Flags: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA
CMOV FCMOV PSE36 MP NX MMX+ MMX FFXSR TSCP LM 3DNow!+ 3DNow!
Extended Flags:
Extended CPU Name: AMD Athlon(tm) Processor

-=- CPU Detection End -=-
-=- Finished Probe Log -=-


Athlon Thunderbird, it doesn't have SSe2, IA-64, or HTT if that means hyperthreading.
Title: Thanks guys
Post by: TomRiddle on January 26, 2007, 02:00:22 PM
I just needed a few examples of other processors, the HyperThreading and other problems are probably either the code :dazzled: or documents I used.

I'll check back after I get it fixed up.  :U

On an off note, if anyone has a Cyrix, Risc, or other exotic processor I would love to see that log.  :bdg

Change:
Yeah, it was the code, accidentally wrote over a register.  Probably should have noticed it earlier :red
Title: Re: CpuID Program (Please don't hate me)
Post by: P1 on January 26, 2007, 04:49:53 PM
You did not distribute all the files for assembly, i.e. "Include BSM\Core.mac"

Nothing personal, but until I get to know you, I will not run ANY of your .exe files.  I have been burned to many times by "Testers".

Regards,  P1   :8)
Title: Re: CpuID Program (Please don't hate me)
Post by: TomRiddle on January 27, 2007, 01:25:58 PM
No worries P1 :U

I did fix the errors and added some more stuff, the SSE3 is up next Ultrano.

After the fix here is what it dumped:
-=- Starting Probe Log -=-
-=- CPU Detection Start -=-
CpuID Supported (586+)
Cpu Vendor: AuthenticAMD
Max Arguments: 1           
Cpu Flags: FPU VME DE PSE TSC MSR PAE MCE CX8 SEP MTRR PGE MCA CMOV PAT PSE36 MMX FXSR
Cpu Stepping ID: 1
Cpu Model: 2
Cpu Family: 6
Cpu Type: 0
Extended Cpu Model 1: 0
Extended Cpu Family 1: 0 
Extended CpuID Max Arguments: 6           
Extended Cpu Stepping ID: 1
Extended Cpu Model 2: 2
Extended Cpu Family 2: 7
Extended Cpu Model 3: 0
Extended Cpu Family 3: 0 
Extended Flags: FPU VME DE PSE TSC MSR PAE MCE CX8 SEP MTRR PGE MCA CMOV FCMOV PSE36 MMX+ MMX 3DNow!+ 3DNow!
Extended Flags:
Extended CPU Name: AMD Athlon(tm) Processor
-=- CPU Detection End -=-
-=- Finished Probe Log -=-

I checked it all against my Processor (AMD Athlon(tm) Model 2) and all info checks out, just need to condense the Model/Family/Stepping/Type information and make modifications for the Max Arguments.

Thanks everyone for your help!
Title: Re: CpuID Program (Please don't hate me)
Post by: TomRiddle on January 28, 2007, 02:23:01 PM
Well, here is where I am at now, if anyone else would run this for me it would be great!


-=- Starting Probe Log -=-
- CPU Detection Start -
CpuID Supported (586+)
Cpu Vendor: AuthenticAMD
Max Arguments: 1           
Cpu Family-Model-Stepping: 6-2-1
Cpu Type: Primary Processor
Extended Family-Model: 0 -0
Brand ID: 0 
CFlush 8-Byte Chunk Count: 0 
Cpu Count: 0 
APIC ID: 0
-=- Features -=-
FPU - Floating Point Unit
VME - V86/Virtual Mode Extensions
DE - Debugging Extensions
PSE - Page Size Extensions
TSC - Time Stamp Counter
MSR - Model Specific Registers
PAE - Physical Address Extensions
MCE - Machine Check Exception
CX8 - Compare and Exchange 8-Byte
SEP - Fast System Call
MTRR - Memory Type Range Registers
PGE - Page Global Enable
MCA - Machine Check Architecture
CMOV - Conditional Move Instructions
PAT - Page Attribute Table
PSE36 - 36-Bit Page Size Extenions
MMX - MultiMedia Extensions
FXSR - Fast Floating Point Save/Restore

Extended CpuID Max Arguments: 6           
Extended Family-Model-Stepping: 7 -2 -1
Extended Family-Model: 0  -0
-=- Extended Features -=-
FPU - Co-Processor Built In
VME - Virtual Mode Extensions
DE - Debugging Extensions
PSE - Page Size Extension
TSC - Time Stamp Counter
MSR - Model Specific Registers
PAE - Physical Address Extension
MCE - Machine Check Exception
CX8 - Compare and Exchange 8-Byte
SEP - Fast System Call
MTRR - Memory Type Range Reg
PGE - Page Global Enable
MCA - Machine Check Architecture
CMOV - Conditionnal Move Instructions
FCMOV - FCMOVcc/F(U)COMI(P)
PSE36 - 36-Bit Page Size Extension
MMX+ - MMX-SSE and SSE-MEM
MMX - MMX
3DNow!+ - Extended 3DNow!
3DNow! - 3DNow!

Extended CPU Name: AMD Athlon(tm) Processor
- CPU Detection Start -
-=- Finished Probe Log -=-

[attachment deleted by admin]
Title: Re: MS-DOS CpuID Program
Post by: u on January 28, 2007, 02:38:03 PM

-=- Starting Probe Log -=-
- CPU Detection Start -
CpuID Supported (586+)
Cpu Vendor: AuthenticAMD
Max Arguments: 1           
Cpu Family-Model-Stepping: 15122
Cpu Type: Primary Processor
Extended Family-Model: 32-2
Brand ID: 0 
CFlush 8-Byte Chunk Count: 8 
Cpu Count: 0 
APIC ID: 0
-=- Features -=-
SSE3 - Streaming SIMD Extension 3
FPU - Floating Point Unit
VME - V86/Virtual Mode Extensions
DE - Debugging Extensions
PSE - Page Size Extensions
TSC - Time Stamp Counter
MSR - Model Specific Registers
PAE - Physical Address Extensions
MCE - Machine Check Exception
CX8 - Compare and Exchange 8-Byte
APIC - Local APIC On Chip
SEP - Fast System Call
MTRR - Memory Type Range Registers
PGE - Page Global Enable
MCA - Machine Check Architecture
CMOV - Conditional Move Instructions
PAT - Page Attribute Table
PSE36 - 36-Bit Page Size Extenions
CFLSH - Cache Flush
MMX - MultiMedia Extensions
FXSR - Fast Floating Point Save/Restore
SIMD - Streaming SIMD Extensions
SSE2 - Streaming SIMD Extensions 2

Extended CpuID Max Arguments: 24           
Extended Family-Model-Stepping: 15-12-2
Extended Family-Model: 32 -2
-=- Extended Features -=-
FPU - Co-Processor Built In
VME - Virtual Mode Extensions
DE - Debugging Extensions
PSE - Page Size Extension
TSC - Time Stamp Counter
MSR - Model Specific Registers
PAE - Physical Address Extension
MCE - Machine Check Exception
CX8 - Compare and Exchange 8-Byte
APIC - Local APIC Built-in
SEP - Fast System Call
MTRR - Memory Type Range Reg
PGE - Page Global Enable
MCA - Machine Check Architecture
CMOV - Conditionnal Move Instructions
FCMOV - FCMOVcc/F(U)COMI(P)
PSE36 - 36-Bit Page Size Extension
NX - No-Execute Page
MMX+ - MMX-SSE and SSE-MEM
MMX - MMX
FFXSR - EFER.FFXSR
LM - AA-64 Long Mode
3DNow!+ - Extended 3DNow!
3DNow! - 3DNow!
AHF64 - LAHF And SAHF In PM64

Extended CPU Name: AMD Sempron(tm) Processor 3000+
- CPU Detection Start -
-=- Finished Probe Log -=-
Title: Re: MS-DOS CpuID Program
Post by: j_groothu on January 28, 2007, 02:48:00 PM
PIV Northwood,  Still incorrectly showing HTT, and for your info -  Under CPU-Z: Family/Model?Stepping is "F"-"2"-"4",  extended Family / Model / revision is "F" "2" "B0".
Also in case it helps, Complete Features under everest ( these mostly match, hope I haven't missed any ) are : IA-MMX, IA-SSE, IA-SSE2, CLFLUSH, CMPXCHG8B Instr,
     Conditional Move Instr, SYSENTER/SYSEXIT Instr, Proc Duty Cycle Control,  Thermal monitor 1 (not 2), Auto Clock Control,
36bit page size ext, debug trace store, debugging extension, fast save & restore, local APIC on chip, MCA, MCE, MTRR, MSR,
PAT, Page Global extension, PSE, PAE, Self-Snoop, TSC, Virtual Mode extension.

-=- Starting Probe Log -=-
- CPU Detection Start -
CpuID Supported (586+)
Cpu Vendor: GenuineIntel
Max Arguments: 2           
Cpu Family-Model-Stepping: 152-4
Cpu Type: Primary Processor
Extended Family-Model: 0 -0
Brand ID: 9 
CFlush 8-Byte Chunk Count: 8 
Cpu Count: 1 
APIC ID: 0
-=- Features -=-
FPU - Floating Point Unit
VME - V86/Virtual Mode Extensions
DE - Debugging Extensions
PSE - Page Size Extensions
TSC - Time Stamp Counter
MSR - Model Specific Registers
PAE - Physical Address Extensions
MCE - Machine Check Exception
CX8 - Compare and Exchange 8-Byte
APIC - Local APIC On Chip
SEP - Fast System Call
MTRR - Memory Type Range Registers
PGE - Page Global Enable
MCA - Machine Check Architecture
CMOV - Conditional Move Instructions
PAT - Page Attribute Table
PSE36 - 36-Bit Page Size Extenions
CFLSH - Cache Flush
DTES - Debug Trace and EMON Store MSRs
ACPI - Software Clock Control
MMX - MultiMedia Extensions
FXSR - Fast Floating Point Save/Restore
SIMD - Streaming SIMD Extensions
SSE2 - Streaming SIMD Extensions 2
SELFSNOOP - Self-Snoop
HTT - Hyper-Threading Technology
TM - Thermal Monitor

Extended CpuID Max Arguments: 4           
Extended Family-Model-Stepping: 0 -0 -0
Extended Family-Model: 0  -0
-=- Extended Features -=-

Extended CPU Name:               Intel(R) Pentium(R) 4 CPU 2.00GHz
- CPU Detection Start -
-=- Finished Probe Log -=-
Title: Thanks
Post by: TomRiddle on January 28, 2007, 03:15:05 PM
The Family/Model/Stepping thing was that mine uses Decimal and the one you posted Hexadecimal, I will change it.

Here is what I got on your processor btw:

The 3.06 GHz processor supported Hyper-Threading (first appeared in Xeon)
enabling multiple threads to be run together by duplicating some parts of the processor
in order to let the operating system believe that there are two logical processors.
HyperThreading was present in all Northwood CPUs, but was disabled in the core
in all but the 3.06 GHz model.


The program currently just gets the data and prints it, checks for variants are on there way!

Strange that some of the Extended features didn't work, have to check into that.

If anyone noticed there are 2 lists for features and many duplicates, a fix is coming for that as well.

Thanks again guys!  :bg
Title: Re: MS-DOS CpuID Program
Post by: hutch-- on January 28, 2007, 03:20:12 PM
That info sounds strange as my 2.8 gig Northwood PIV has hyperthreading enabled in the BIOS, I have to turn it off on win2000 as it makes timings unreliable. If it is enabled on win2000 it shows up as two processors. the board is a high end Intel desktop board.
Title: Re: MS-DOS CpuID Program
Post by: j_groothu on January 28, 2007, 03:48:46 PM
Yep, My revision(B0) Northwood (2GHz) is the last revision before the introduction of Hyperthreading (I beleive...) which in the Intel P4 tech specs update, december 2006, shows at least one of the timing related problems you mention -- introduced with the intro of Hyperthreading ( revisions C1,D1 & M0 ) one thing that sticks out is :
QuoteIncorrect Duty Cycle is Chosen when On-Demand
Clock Modulation is Enabled in a Processor
Supporting Hyper-Threading Technology --- "Plan Fix"
but there could be more. like introduced with rev D1
QuoteA Timing Marginality in the Instruction Decoder
Unit May Cause an Unpredictable Application
Behavior and/or System Hang
actually there seem to be more... It might be worth a closer look.. The document is intel reference "Document Number: 249199-067" Intel Pentium 4 Processor specification Update December 2006.
Title: Re: MS-DOS CpuID Program
Post by: TomRiddle on January 28, 2007, 04:12:15 PM
Hutch you might want to move this thread, I didn't post 100% compatible assembly code, plus as I changed the title the program is for MS-DOS.

Thanks
Title: Re: MS-DOS CpuID Program
Post by: anon on January 28, 2007, 06:41:35 PM
 -=- Starting Probe Log -=-
- CPU Detection Start -
CpuID Supported (586+)
Cpu Vendor: GenuineIntel
Max Arguments: 10           
Cpu Family-Model-Stepping: 6-148
Cpu Type: Primary Processor
Extended Family-Model: 0 -0
Brand ID: 0 
CFlush 8-Byte Chunk Count: 8 
Cpu Count: 2 
APIC ID: 1
-=- Features -=-
SSE3 - Streaming SIMD Extension 3
MON - Monitor/MWait
EST - Enhanced SpeedStep Technology
TM2 - Thermal Monitor 2
ETPRD - ETPRD
FPU - Floating Point Unit
VME - V86/Virtual Mode Extensions
DE - Debugging Extensions
PSE - Page Size Extensions
TSC - Time Stamp Counter
MSR - Model Specific Registers
PAE - Physical Address Extensions
MCE - Machine Check Exception
CX8 - Compare and Exchange 8-Byte
APIC - Local APIC On Chip
SEP - Fast System Call
MTRR - Memory Type Range Registers
PGE - Page Global Enable
MCA - Machine Check Architecture
CMOV - Conditional Move Instructions
PAT - Page Attribute Table
CFLSH - Cache Flush
DTES - Debug Trace and EMON Store MSRs
ACPI - Software Clock Control
MMX - MultiMedia Extensions
FXSR - Fast Floating Point Save/Restore
SIMD - Streaming SIMD Extensions
SSE2 - Streaming SIMD Extensions 2
SELFSNOOP - Self-Snoop
HTT - Hyper-Threading Technology
TM - Thermal Monitor
PBE - Pending Break Event

Extended CpuID Max Arguments: 8           
Extended Family-Model-Stepping: 0 -0 -0
Extended Family-Model: 0  -0
-=- Extended Features -=-

Extended CPU Name: Genuine Intel(R) CPU           T2250  @ 1.73GHz
- CPU Detection Start -
-=- Finished Probe Log -=-
Title: Re: MS-DOS CpuID Program
Post by: TomRiddle on February 01, 2007, 08:31:31 AM
Took me a few days, but I did update alot of the code, here is the modified version with ALL source code included :)

Ohh, and the code deserves a look, its 100% MASM-Compatible  :red

Still needs sharpened up, more features listed, and branch's for processor-specific flags.


-=- Starting Probe Log -=-
- CPU Detection Start -
CpuID Supported (586+)
Cpu Vendor: AuthenticAMD
Max Arguments: 00000001     
Cpu Family-Model-Stepping: 06-02-01
Cpu Type: Primary Processor
Extended Family-Model: 00-00
Brand ID: 00
CFlush 8-Byte Chunk Count: 00
Cpu Count: 00
APIC ID: 00
-=- Features -=-
FPU - Floating Point Unit
VME - V86/Virtual Mode Extensions
DE - Debugging Extensions
PSE - Page Size Extensions
TSC - Time Stamp Counter
MSR - Model Specific Registers
PAE - Physical Address Extensions
MCE - Machine Check Exception
CX8 - Compare and Exchange 8-Byte
SEP - Fast System Call
MTRR - Memory Type Range Registers
PGE - Page Global Enable
MCA - Machine Check Architecture
CMOV - Conditional Move Instructions
PAT - Page Attribute Table
PSE36 - 36-Bit Page Size Extenions
MMX - MultiMedia Extensions
FXSR - Fast Floating Point Save/Restore

Extended CpuID Max Arguments: 00000006     
Extended Family-Model-Stepping: 07-02-01
Extended Family-Model: 00 -00
-=- Extended Features -=-
FPU - Co-Processor Built In
VME - Virtual Mode Extensions
DE - Debugging Extensions
PSE - Page Size Extension
TSC - Time Stamp Counter
MSR - Model Specific Registers
PAE - Physical Address Extension
MCE - Machine Check Exception
CX8 - Compare and Exchange 8-Byte
SEP - Fast System Call
MTRR - Memory Type Range Reg
PGE - Page Global Enable
MCA - Machine Check Architecture
CMOV - Conditionnal Move Instructions
FCMOV - FCMOVcc/F(U)COMI(P)
PSE36 - 36-Bit Page Size Extension
MMX+ - MMX-SSE and SSE-MEM
MMX - MMX
3DNow!+ - Extended 3DNow!
3DNow! - 3DNow!

Extended CPU Name: AMD Athlon(tm) Processor
- CPU Detection Start -
-=- Finished Probe Log -=-


Edit: Ignore line 99 of BSM\Core.mac  :dazzled:

[attachment deleted by admin]