News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

MS-DOS CpuID Program

Started by TomRiddle, January 25, 2007, 11:59:30 AM

Previous topic - Next topic

TomRiddle

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]

j_groothu

#1
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 -=-

anon

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 -=-

u

 -=- 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.
Please use a smaller graphic in your signature.

dsouza123

 -=- 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.

TomRiddle

#5
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

P1

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)

TomRiddle

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!

TomRiddle

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]

u


-=- 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 -=-
Please use a smaller graphic in your signature.

j_groothu

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 -=-

TomRiddle

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

hutch--

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.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

j_groothu

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.

TomRiddle

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