Ok I always assumed this question didn't need asking!I believe I and a huge part of part maker assumed like me!I think I was wrong !so here I am asking all the overclocker out there!if I understand ms view correctly ?a physical core is a CPU!so my i5 2500k would have 4 CPU.why this question?
I was reading ms suggestion for optimal result on message signal interrupt and its extended variant.and ms clearly say they suggest one interrupt per CPU!so I checked my system !mine wasn't set at all but it is activated!so I assume since it isn't set the default value would be one?but ?I got 4 CPU on each socket!so I checked everything using MSI !none had the value set!why would hardware maker not tweak this for optimal performance when they go to insane extreme to gain 2 or 3% gain?is it a dynosaure setting forgotten since it came into existence when vista was lunched!(ya we can forgive all who didn't know what was born in vista.bottom line can any look into this and adust MSI and/or msix to proper value and revisit PCPER test about fps and frame pacing or the need of it
Comments
Microsoft recently (well, 2000ish) had to change their definition of this because of multicore CPUs and Hyperthreading.
Before, when a CPU was only single threaded - each CPU was discrete. It was pretty easy - each CPU processed one thread at a time and life was good.
Microsoft does have several licenses that specify number of CPUs, but multicore processors essentially work as SMP systems (those that physically had 2+ CPUs). Early on, if the software was limited to one CPU, you could only use one thread on a dual core CPU. At the software level, it doesn't care if the threads go through 2 cores on a single die, or 2 discrete CPUs in their own package on a SMP motherboard.
It kinda sucked. Fortunately they fixed it years ago. Now they distinguish between a physical CPU (each individual die installed in a socket) and a logical CPU (a single core in a die, a hyperthreaded virtual core, etc).
Their current definition is that your software can run on an essentially unlimited number of threads (so multicore CPUs and technology like Hyperthreading can be used to the maximum extent of the CPU). But each discrete CPU is counted as an individual CPU.
This mainly applies to server-based products, like SQL Server, where they could very well be running on a quad-CPU system, each CPU being 8-core, for a total of 32 cores available for processing. If you license SQL Server for 1 CPU, you get 8 threads on one CPU. If you license it for SMP, you get all 32 threads from all 4 CPUs.
Consumer software has pretty strict restrictions. Windows XP/Vista/7/8 all have CPU restrictions: The Basic/Home editions will only run on 1 physical CPU (but as many threads as you have). Pro/Ultimate will run on 2 (except Vista - Pro only supports 1, Ultimate/Enterprise support 2). If you want to run more than 2 physical CPUs, you need to jump to Server.
Yes, interrupts are per socket, not per core.
Well, the Socket only has one set of pins to communicate with the PCI bus. Especially now that the PCI controller is on the CPU die. You can add more PCI controllers and get more lanes, but you are still ultimately limited to the number of pins in the socket for communication to the outside world.
You could make a socket that has multiple sets of pins - but current sockets don't have that. It would be a huge socket, and pretty expensive, and most of the time the cores are sitting around waiting on whatever is on the other end of the PCI bus, but the PCI bus itself, so adding more channels wouldn't necessarily speed things up that much.
So it isn't MS'es fault.
Boobs are LIFE, Boobs are LOVE, Boobs are JUSTICE, Boobs are mankind's HOPES and DREAMS. People who complain about boobs have lost their humanity.
http://msdn.microsoft.com/en-us/library/windows/hardware/ff544246(v=vs.85).aspx
Now I know why only one MSI/msi-x is enabled.but they suggest one per CPU so if you add some don't pass 1 per core per device.at least this subject is considered fixed for me!cheer!
CPUs changed. It used to be that a CPU was one CPU. One core, one thread, etc. Now, with multicores, it's a bit different. Each core of MOST of the components of a CPU. But they also share some parts, and have some extra parts that allow that sharing to work without crashing code all over the place.
Technology advanced and the definitions are struggling to keep up. After all, your car has no horses, despite it having horsepower. (Look up the definition of horsepower sometime, it's not exactly what I expected.)
Also remember, everything in the field of computers, other than the humans, is moving and changing much faster than the rest of the world.
Lost my mind, now trying to lose yours...
This was basically me after reading the last post there.
World domination, obviously.
http://www.windowstimestamp.com
http://msdn.microsoft.com/en-us/library/windows/hardware/ff544246(v=vs.85).aspx
So, correct me if I'm wrong.
You're looking to do things to your computer that are not supposed to be done in order to obtain some imaginary performance gains that have never been properly documented by anyone? You can't do this because you think when you force these changes some sort of throttling will apply to you even though you have no evidence to suggest that is the case?
So really then by your own admission, assuming you are correct in your assumptions, it was a complete waste of time to look into this and you still have no idea even that if you did manage to do all of this if it would actually be of any perceivable benefit?
I think you pretty much nailed it.
Sometimes a little knowledge can be a dangerous thing