New Processor info gathering
I am just getting into game writing as a hobby. I have no real formal training. I just pick up books that look good and read them. I have a book published in late 2004 that talks about sse2 and now I find out there is an sse3. I am looking for a good source of info on new processor technology that stays up to date. Also, with brand new processors or processors still being designed, can I get the specifics for what I need to know to start coding for it?
Not only do I need to know the keywords and such for the technology but the book I read had a program to recognize chips and their technology. So, I was wondering how I find out the vendor name on the chip and other such things. For example this is a line of the recognition code that gets the info from the chipset.
if ( (strncmp(info.vendor, "GenuineIntel", 12)==0) && info.bEXT)
where info is of type CPUINFO. So, I guess that brings up the question of where do I find out about CPUINFO? What is this CPUID that has been part of chips since the 386 processor (according to this book)?
Basically my problem is that there seems to be a lot of "insider" info here that you just have to know already. While it is simple and obvious to someone that already knows what it says, I would like more info explaining it to me. ANd by the way, I am very bad at research if you haven't noticed. I prefer the answers to be clearly laid out before me. I know this is a problem but I know so little about this that I though it best to just ask.
Thanks for your help.
you could read from HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0
Theres a key called "ProcessorNameString"
hope that helps :/
I'm not sure if that was the answer to your problem :|
There is also a lot of other stuff in the registry...
The ProcessorNameString for me is
Intel(R) Pentium(R) 4 CPU 1.60GHz
There's also the identifier
x86 Family 15 Model 2 Stepping 4
and ~Mhz
2399
And VendorIdentifier
GenuineIntel
Theres a key called "ProcessorNameString"
hope that helps :/
I'm not sure if that was the answer to your problem :|
There is also a lot of other stuff in the registry...
The ProcessorNameString for me is
Intel(R) Pentium(R) 4 CPU 1.60GHz
There's also the identifier
x86 Family 15 Model 2 Stepping 4
and ~Mhz
2399
And VendorIdentifier
GenuineIntel
Quote:Original post by BiGF00T
you could read from HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0
Theres a key called "ProcessorNameString"
hope that helps :/
I'm not sure if that was the answer to your problem :|
There is also a lot of other stuff in the registry...
The ProcessorNameString for me is
Intel(R) Pentium(R) 4 CPU 1.60GHz
There's also the identifier
x86 Family 15 Model 2 Stepping 4
and ~Mhz
2399
And VendorIdentifier
GenuineIntel
Excelent suggestion! There is an example of doing part of that as well as an alternative way to get speed here. That example shows exactly what you are saying to do, and has the source code for woerking with the regsitry in C++, which is quite hard if you ask me if you don't have a reference.
Anything else would require the use of assembly to detect actual CPU extensions such as SSE/SSE2/etc...
Working wih the registry is as simple as making any other windows API calls, The windows API is incredibly useful, learn it well.
Quote:Original post by Anonymous Posteruntil now I didn't have much use for it but learning about it can definately not hurt ;)
Working wih the registry is as simple as making any other windows API calls, The windows API is incredibly useful, learn it well.
I thank everyone for their help. I will definetly check out the registry, but I was looking for more of a multi-platform answer like using assembly to get the info off the chip itself.
Take a look a this: CPU/FPU Detection Library v.1.14e. [grin] I think it should be what you are looking for. The download is that floppy disk icon to the right of the Periwinkle colored bar. Comes with a lot of stuff.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement