flat assembler
Message board for the users of flat assembler.
Index
> Windows > PiD(Processor Identifier) |
Author |
|
Asm++ 30 Apr 2013, 23:05
Hi everybody,
This is a simple and small Windows application that I have written completely in assembly using FASM, and I'd like to share it with you in a hope to be useful, its job is to retrieve processor information. Now it's able to identify about 66 features. I hope you find it useful. Best regards.
_________________ Binary is nice, but Assembly is better! |
|||||||||||
30 Apr 2013, 23:05 |
|
typedef 01 May 2013, 00:54
Anything else we need to know before we double-click on this exe.
Source code? |
|||
01 May 2013, 00:54 |
|
tthsqe 31 May 2013, 06:23
This is a nice little program, but it reeks of hubris.
My processor is intel i7 - 2600K CPU, which I know to have 4 core, 8 threads. This program reports correctly from cpuid that the "Core Count" is 8 and the "Thread Count" is 16, and I believe it. Are these extra cores (and threads from hyper-threading) simply disabled to increase yield? |
|||
31 May 2013, 06:23 |
|
revolution 31 May 2013, 07:06
tthsqe wrote: Are these extra cores (and threads from hyper-threading) simply disabled to increase yield? |
|||
31 May 2013, 07:06 |
|
tthsqe 31 May 2013, 08:08
I simply can't believe that I have a 16 core processor. It was marketed as a quad core, behaves like a quad core with HT, and show 8 threads to OS.
A search of the intel docs turned up the information Code: CPUID.1.EBX[23:16]: Maximum number of logical processors per package (or can also be considered the number of APIC IDs reserved for this package) This value does not change when processor cores are disabled by software. CPUID.4.EAX[31:26]+1: Maximum number of processor cores in this physical package. This value does not change when cores are disabled by software So it seems that cpuid is returning the maximum capacity of the die, indicating that my CPU was cut from the same kind of wafers that house the really big 8 core 16 thread server processors. Asm++, i would suggest that you use some OS functions to determine a less misleading core and thread count. Otherwise your users (or customers?) will likely be just as confused as I am. |
|||
31 May 2013, 08:08 |
|
revolution 31 May 2013, 08:58
Sorry I erred above, I meant to say 4+4 cores. Somehow I added 4 and 4 together too many times.
|
|||
31 May 2013, 08:58 |
|
bitRAKE 01 Jun 2013, 01:15
What's this "Multi-NOP"?
If I can do more NOPs then I want to figure out how. |
|||
01 Jun 2013, 01:15 |
|
alessandro95 01 Jun 2013, 07:30
I'm not sure if this is what the author of the program meant but some CPUs (I think sandy bridge or newer all support this) can deal with NOPs (also multi-byte ones) without having to use any execution unit so that they can do 4 NOPs per clock cycle
|
|||
01 Jun 2013, 07:30 |
|
revolution 01 Jun 2013, 08:18
alessandro95 wrote: ... some CPUs (I think sandy bridge or newer all support this) can deal with NOPs (also multi-byte ones) without having to use any execution unit so that they can do 4 NOPs per clock cycle |
|||
01 Jun 2013, 08:18 |
|
alessandro95 01 Jun 2013, 09:03
you have a point there
anyway on the sandy bridge CPUs (I guess also on newer ones, would make sense) also XOR, SUB, PXOR, XORPS, XORPD, VXORPS and VXORPD are treated the same way as NOPs when the 2 parameters are the same register, which looks more useful |
|||
01 Jun 2013, 09:03 |
|
bitRAKE 01 Jun 2013, 10:54
Well, my Harpertowns have it, so I went looking because I never heard of it before. And I still remain in the dark about it. I am very intrigued to hear the author's response. SIV doesn't seem to display a similar named flag. Yet, there is an unknown bit listed and active.
_________________ ¯\(°_o)/¯ “languages are not safe - uses can be” Bjarne Stroustrup |
|||
01 Jun 2013, 10:54 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.