Windows XP and Quad Core Processors

Does windows xp, either 32 or 64 actually take advantage of a quad core processor, or does the operating system only use 1 of the cores and the other 3 are idle? Or does the operating system use one core and run programs in the other cores? What about Vista, does it manage cores better? Trying to decide on a new build with quad core processor and xp or Vista.
30 answers Last reply
More about windows quad core processors
  1. The apps you run on your operating system are what make the difference. Some are multithreaded some aren't.
  2. (1) Windows XP SP2 or higher understands multi core processors. Whether 32 or 64 bit doesn't matter.

    (2) In order to utilize multiple cores, the Application has to be written to do that. Installing a single threaded game on a multi core computer will result in only 1 core being used by the game. There is an advantage in that the OS can assign other tasks to the idle core(s). So the game can have 1 core's undivided attention. This is not a bad thing, and does result in real performance improvements. But because the game itself only "understands" 1, then it will only use 1. This is the same whether you use XP or Vista. Nearly all past and current applications for PC are only single processor/core aware. This will change over time, for sure. But in many/most cases will require developers to write completely new apps.

    (3) Vista is written to be better at utilizing multi-core processors than XP is/was. Having said that: Please re-read #2.
  3. The previous posters are correct in pointing out that "it's the application" that counts. A little history lesson....back in the old days (yes, pre PC, pre MAC) computers had an ALU (arithmetic Logic Unit) and dynamic memory that would need to be reloaded everytime the "system powered up. Static memory was so expensive that a very small amount maybe 1 KB was used to "bootstrap" the loader program. Since of course shortened to "boot". As technology advanced, the CPU (Central Processor Unit) was introduced. CPU's had some built-in instructions that programmers could manipulate a little easier. Instructions like 'branch on condition" and "add", and "subtract" were much more comprehendable than "load register A", "store register A", "load register B", "Exclusive OR register B", store results. yada yada.

    Even with the new architecture of "programming" it was still done at a machine language level. A complete program that read and wrote files, and totalled sales for a million dollar company, would be written in less than 32 KB of memory. Remember memory was extremely expensive. Approximately $2.00 per byte! That's right, 32K of memory would cost $64,000. Why? This was not MOSFET memory (not yet invented) but miniature ferrite toroidal cores, that were hand woven together to make a memory array. You could put hundreds of these "cores" in a tablespoon. Each core had 4 wires woven through it. An X and Y address line, a read line, and an inhibit line. The memory manager would have to inhibit against the destructive read of the cores value in a read operation, and allow a change on a write operation. This memory operated in the millisecond range.

    The one thing that each programmer knew was that he owned all the memory in the computer. When his or her application was running, it was the only one taking up resources. This programming technique followed for years. When Apple and IBM came out with their respective desktop computers, not much thought was given to performing multitasking operations. Memory (now MOSFET semiconductor) had come down in price, but was still expensive to the home hobbyist. So with 64K on the original IBM PC, and DOS as the operating system, it was still prudent to run one application at a time. Again, the person who wrote the program had complete control of the system. Programs as exotic as "Visicalc", and "PeachTree Accounting"
    were single threaded applications.

    As users wanted to do more with the desktop computers programs such as "Top Level" (who else remembers that one?) would manage memory blocks by switching areas of memory between applications. The problem here was that many of the programs were still being written as though the programmer "owned" the machine. A nasty problem of programmer hygiene where they would not "clean up" after themselves (closing open files, releasing allocated memory, deleting stacks,etc.) would produce the so-called "memory leak". These were the zombies left running in the memory that would chew up more resources than existed.

    So when OS/2 and then Windows95 were developed, a method of using flags and semaphores was created to act as a traffic cop to direct memory allocation and services. Problem here was that "old school" programmers didn't pick up on this multithreaded way of thinking/programming for quite awhile. So there was quite a bit of fingerpointing as to which application was at fault. (Not, that it's that much clearer now) Multi-threaded programming requires a lot of thought in the development process. Thread tuning involves a great working knowledge of the system that the application will be running on, a bag of chicken bones, and a whole bunch of black magic. But when it's right, you know it.
  4. why did you replay to a 2 year old thread -.-
  5. You meant "reply" didn't you? I guess I thought you might learn something.
  6. It is an interesting and useful post, necromantic as it is.
  7. LOL @ Dekasav

    necromantic :o
  8. Uncle Jim, your is the most thorough and detailed response I have ever seen on this issue. THANK YOU! The question may have been 2 years old, but how many people have quad core processors. I have built my own PC's for years, but am beginning to feel inadequate with quad core processors and super speed memory busses, PATA and SATA and on and on. I'm running an Athlon 2800 with 1 gb of ram and an ok video card. The only person that complains is my 15 year old son who is getting into some graphic intensive games. All of his friends have or are building monster systems. Seems like a little excess... Could you have imagined just a few years ago that we would have drives for $1.00 per gigabyte or PC's with 8gb of RAM??? Wow! Thanks again for your wonderful commentary, some of us appreciate it when we are looking for answers to questions like these NOW...Fred
  9. Amen fkhdad, some of us really appreciate the why's and not just an answer as well. Thank you again Uncle_Jim for the awesome answer from myself! :hello:
  10. ^5 to Uncle_Jim! Thanks for the explanation!
  11. I know that I am a latecomer to the conversation here, and the technical information about the history of memory development and multitasking was a great read. Thank you for that. I now understand that most programs are written to use only one anyway.

    However, I do not see where the original question was really clarified.

    If possible, can I get clarification whether or not XP Pro 32 bit will see and potentially use all 4 processing paths in a Quad processor (Say, a Core 2 Quad Q8300 for instance)? Or do I need to go buy Vista to see all the potential processor paths?

    I know that XP Pro 32 bit will see and use at least 2 processor paths, the example being my old Intel 3200ghz hyperthread processor shows up as 2 in task manager.

    Maybe I am unclear on how the multi threaded processors work. If I get this straight.....They are both dual core, and the quad is different in that it multi tasks each core making it 2 hyper threaded cores where the straight core 2 has 2 non-multi tasked cores. (?)

    The real question here is, Will using XP Pro 32 bit render the Quad to half a processor, essentially making it only a Dual?

    Or does a Quad show up as 2 processors in task manager, even in Vista?

    I am trying to decide whether to purchace a Q8300 or an E 8600, and if I need to budget in Vista if I decide to fully use the Q8300. I would rather stick with XP if I can get away with it.

    Thanks for all the insight!
  12. TheVanman said:
    I am trying to decide whether to purchace a Q8300 or an E 8600, and if I need to budget in Vista if I decide to fully use the Q8300. I would rather stick with XP if I can get away with it.

    Thanks for all the insight!

    XP32 uses all the cores, as does XP64, Vista 32, and Vista64.

    the 32 bit ones just run into a limit with the RAM.

    but it still depends on the application.
  13. Have a look in task manager . All four cores will be showing .

    XP is a multithreaded OS
  14. /facepalm

    ScottEQ did answer the question. But I see you have some fundamental misunderstandings.

    The Core2Quad doesnt use hyperthreading. The Core2Quad is 2 Core2Duos 'glued' together into one chip, giving you 4 CPU cores.

    As to which to buy, its been debated endlesly, the only non-flamable concensous is if your gaming, get a high speed dual core, if photo/video editing, go for the quad.

    O and avoid the Q8XXX, get yourself a Q6600 or Q9xxx.
  15. Thanks for the comments. BTW, I use a quad on XP and all 4 processors on the stuff I write.

    Here is a tip for you technical folks. (Actually not related to this question/post but can come in handy).

    If you you get an error message with the exception hexidecimal code like 930DFC0A (on an i386 type system, windows, linux, etc.) Look at the rightmost character. In this example the "A". If you know how to do a binary breakdown, this would read 1010. "F" is 1111, and "0" is 0000, "1" of course is 0001. The 2 rightmost bits will tell you where to start looking for the error. In the i386 architecture, there are 3 levels of programming "insulation or security". You are only interested in he righmost bits to determine 0,1,2, or 3. There is a great WIKI at that is a very slick read for those who want to start "getting under the hood" on these systems.

  16. I agree that with the app, thats what counts. But when it comes to just the OS Xp does not manage multicores as well as Vista does. When they are running non multithreaded apps XP tends to load the first core to its max first where as Vista tries to split it up.

  17. TheVanman said:
    ....If possible, can I get clarification whether or not XP Pro 32 bit will see and potentially use all 4 processing paths in a Quad processor (Say, a Core 2 Quad Q8300 for instance)? Or do I need to go buy Vista to see all the potential processor paths?

    I know that XP Pro 32 bit will see and use at least 2 processor paths, the example being my old Intel 3200ghz hyperthread processor shows up as 2 in task manager.

    One small bit for clarity's sake: "Cores" generally refers to a physical processor. So "Multicore" means a single processor with multiple physical cores. "Multi~Processor" refers to more than one physical processor, each of which can have more than one 'Core'.

    "Threads" generally refers to the software side of the house. "Hyperthreading" is a(n Intel) hardware term for a processor that's able to run more than one thread on a single physical core. When we say "Single Threaded" - that generally refers to a piece of software that has a single, linear process: it goes from A, to b, to c, to d... each in it's turn. "Multithreading" refers to code that's written to run pieces of itself, at the same time, in more than one physical or virtual "place", as well as the ability for a multi~core or Hyperthread~supporting processor's ability to support that.

    Apologies to our more technical bretheren for the gross over simplification.

    Now, to answer your question: XP can, and does, understand Multiple Cores and does support software that can run multiple threads. So if your program is written to use multiple threads, then it will do so on an XP machine. The limitation(s) are that the software you are running has to do so as well, or the software will only run in one place at a time. This means that - Even when your hardware and your OS support Multi-threaded apps, that does not magically change the app itself. If your (Game) is single threaded, then it can/will only run in a single threaded mode.

    If you want a single application to use all 4 cores at once: (1) The Hardware has to support it. If yes, step (2) is that your OS has to support that. If (1) and (2) are Yes, then (3) your application also has to be written to support it.

    Vista, as much as it's lambasted, is a little bit more efficient than XP in a Multi~Core/Multi~Thread environment. XP tends to load a single core before reaching out to utilize others. Vista generally tries to spread the load more evenly. (By server side standards, neither is particularly great since the default is what it is and their load balancing behavior can't have it's rules changed. But for the desktop, it's certainly adequate.) Anyways, in both cases a demanding, single treaded app can/will take near exclusive use of a particular core. The advantage is that, even when running only single threaded apps in a multi core environment, your OS can choose to run multiple apps on the multiple cores which are available. (Hint: even when *you* are only running one app at a time, your computer is still running a laundry list of processes.)

    Regardless, the short answer is "Yes, your XP machine can utilize all 4 cores".

    {Edit for the techies to provide data on the assertion that multithreading was improved in Vista} Source:

    The Incremental Improvements Within Vista

    The incremental improvements within the OS relating to multicore performance include enhanced support for nonuniform memory architecture (NUMA) systems (such as the AMD Opteron™ family), pervasive prefetching (at both the low level of dealing with page faults, and the system cache read-ahead and the Prefetch/SuperFetch user-feature, which loads oft-used programs in anticipation of user launch), improvements to internally-used data structures and algorithms, an improved DLL loader that creates processes significantly faster, and a much-improved thread pool.

    The thread-pool changes include generally improved performance and the ability to support multiple pools per process. This seems a good time to mention Vista's system-wide anti-convoy features. A "lock convoy" is a situation where performance tanks because a large number of threads are blocked, waiting for a resource, and when the resource becomes available, every thread is awoken, all but one fails to acquire the resource, and all but one are set back to waiting. When the number of threads is high enough and the work performed per thread is small, the time spent in overhead can overwhelm the amount of time spent working. That lock convoys arise from attempts to make thread scheduling "fair" is just one of those surprising results that turns concurrent programming into such a challenge.

    Vista uses a different lock handoff mechanism that's "unfair," in that there's now a race condition between a lock becoming available and its acquisition by the first thread in the wait list. This makes it possible for a thread to "sneak in" and grab the lock sending the should-have-been-scheduled thread to the back of the wait list (and at least theoretically raising the potential of starvation). Lock convoys were, anecdotally at least, often the root problem of system-wide freezes that lasted for several seconds and then disappeared.
  18. I'm looking to replace a desktop whose hard drive started clicking. Here are the specs I'm interested in:

    TYPE: Desktop PC
    PROCESSOR: 3ghz+
    CPU: quad core
    RAM: 8gb
    HARD DRIVE: minimum 500gb, 7200rpm
    PORTS: minimum 4 USB 2.0 and firewire, audio, video inputs
    VIDEO CARD: I'd like to be able to run 3 LCD monitors from this PC
    USES: Photoshop, website editing, video editing, some gaming

    What desktop machines would you recommend?

    What vendors would you recommend?

    Thanks in advance.
  19. Start a new thread CaptainSpok
  20. Major thanks to B-Unit and Scotteq, and others for bringing this down to my level. I really appreciate it. I was misunderstood about how it all worked and didnt realize that the answer was there. I just didnt get it.

    It is now almost clear what I need to shop for.

    A couple more question's and I will be set....hopefully.

    [[As to which to buy, its been debated endlesly, the only non-flamable concensous is if your gaming, get a high speed dual core, if photo/video editing, go for the quad.
    O and avoid the Q8XXX, get yourself a Q6600 or Q9xxx. ]]

    I will be doing ALL video and sound editing with this machine, mostly video. My primary app's are TMPGEnc 4.0 Xpress and DVD Author 3, Also Cyberlink Power Director 7.

    Is there a particular reason or reasons that you recommend avoiding the Q8XXX processor? Just curious....

    I will also need a Mobo. This is the one below that I have in mind. Any thoughts from anyone? If not, any other recommendations to match the Q6600 or Q9xxx? (Sorry this goes off topic a little...but while I have your attention and your wisdom...)

    ASUS P5Q PREMIUM intel p45 chipset ATX form factor 4xPCI-E(x16)/1xPCI-E(x1)/2xpci/4xddr2 w/sata2 raid,quad lan(gb),1394,usb 2.0 & audio (cpu type:intel - socket 775)

    Thanks again in advance of all the wisdom and help found here.

  21. The answer is "it depends on if you're going to Overclock, or not".

    The reason some people avoid the Q8*** series of Intel Processors is they are a little harder to reach high speeds when you overclock - (low CPU multiplier = more stress on the mobo since 'Processor Speed = Buss speed x Multiplier=') So it's a different set of requirements than just putting together a PC.

    If you're not going to overclock, then I recommend getting the latest series processor (at the speed/cost you can afford) because they can perform more "Instructions Per Clock". So even at the same speed, the newer processor will be able to move more data.

    Something to think about: The new Core I7 processor is the best available on the market today for encoding/decoding. It appears you are in the position of building completely new, since you mention motherboard as part of your shopping list. So you may want to check out an I7 920 (retails for $250~ish)~based system. It's new, so there is a bit of a price premium, but for your intended use I think it would be worth it.
  22. Thanks Scotteq. You have been very helpful.

    I wasnt really planning on doing too much in the way in overclocking. Maybe a small amount. I want reliability more than anything else. Of course it will depend on the temperature that the final rig gets up to while rendering videos.

    The computer will be in an entertainment center, as it is currently. Right now, I am using a 3.2ghz 800mhz HT processor/Asus mobo combo from circa 2004 that borders on the heat threshold as it is. Not sure how the Quad compares in heat production. As it is, I think I will be seeing a 4x increase in rendering speed.

    I dont think I will be affording an I7, but I am now convinced that buying the quad core over the duo is the way to go, now that I know that the XP OS will support it.

    If the only reason that the Q8XXX series isnt popular is that it isnt as overclockable, I can accept that for the price. I saw a Q6600 for about $220.00. That is comparable to a the middle to higher end Q8XXX series and just less than the Q9XXX series.

    Any other input?

    Still looking for the motherboard to accompany.

    If anyone feels that this topic should be changed to a different thread, please say so......

    Thanks again for your help and comments.

    Tha Vanman
  23. The Q66 (I've had one running at 3.2 for close to 2 years) is a wonderful overclocker, which is why it is and has remained popular. But at stock speeds, I would still recommend an 8 or 9 series for the improvements in Instructions Per Clock.
  24. Sry for the delay, but the Q8xxx chips have had most of their cache disabled, hence should have been called 'Pentium Quad-Core'. While I find this just fine for a basic machine (who needs a quad in a basic machine tho) for CPU intensive tasks, you will loose performance to a Q6600 or Q9xxx.
  25. Thanks for the reply b-unit. That makes good sense why I would avoid the 8xxx series, and also why they are the same price or less than the 6600.

    Good heads up.......Vanman
  26. B-Unit said:
    Sry for the delay, but the Q8xxx chips have had most of their cache disabled, hence should have been called 'Pentium Quad-Core'. While I find this just fine for a basic machine (who needs a quad in a basic machine tho) for CPU intensive tasks, you will loose performance to a Q6600 or Q9xxx.

    Check out the actual benchmarks. The Q8200 is in a dead heat with the 6600 for the most part, and doesn't tend to suffer terribly for the lack of cache. Besides, if you are on a crusade against cache disabling, you should also tell people to avoid the Q9x00 chips in favor of the 9x50 chips - IIRC, the 8000 series has 4MB cache, the 9x00 series has 6MB, and the 9x50 has 12MB (6000 series have 8MB).

    Basically, yes, people should go for the 9000 series if they can, but I would actually recommend an 8200 over a 6600 in most cases if they are on a budget. It runs cooler, takes less power, and is just as fast. It'll even overclock farther, if your board can take a high FSB for a quad.
  27. Hi CJL. Where did you find benchmarks on the 8200? I hadnt seen them here, but that isnt saying much for the limited research that I have had time to do.

    I am just looking for a really decent CPU to take over for my old and tired P4 3200 HT.

    All of the processors mentioned here will probably reduce my video render times into 1/4 of what they are now, or better.

    Which do you think will be the best for my intended application? I need reliability mostly. Cooler running and horsepower are always a major PLUS.

    Keep in mind that I am still going to use XP Pro, which is how I got to this thread to begin with.

    For the price I am leaning towards the q8200 $169, or the q8300 $189. With the q9400 $229, the q9550 $279, or the q9650 $329, the price is just escalating.

    I dont know how much more the 9550 or 9650 are going to wow me, and if it will justify spending the extra $100-$150.

    This is where my mindset is. I am used to setting the videos to render and walking away an engine...or something else that takes all day. I guess that I will have to find things to do that take less time!

    Thank you all for your great insight. I am soaking it all up!

  28. I have a system that was shipped with a Core 2 Duo processor running at 3GHz on XP 23 bit SP2. I upgraded to a Core 2 Quad running at 3GHz and the speed of my monte carlo simulations on excel got cut in HALF!!!! I updated the bios, did a fresh install of XP 32 bit, updated the chipset drivers and ran all of the relevant hotfixes and the speed is still half of what it was with the dual core CPU. However, when I use msconfig to tell XP to boot using only 2 of the 4 cores, I get my speed back to where it was with the dual core CPU!!! The cpu temperature seems to remain in range as does the core CPU voltage. Device manager and task manager shows all four of the cores, shows them as being used and properly identifies the CPU when I boot to use all four cores. Anyone want to take a stab at this?
  29. I FINALLY figured it out. The problem was with Excel 2007 all along. There was a bug causing my spreadsheet to run slowly on 4 cores versus 2 cores. It turns out that the issue was with add-ins (like Crystal Ball) performing re-calculations. Installing Office SP2 fixed the problem once and for all. I stumbled on this when I noticed that a different spreadsheet that didn't use volatile functions from within Crystal Ball ran faster when I booted XP to use all 4 cores. I then downloaded Passmark's benchmarking utility and it indicated that all was fine with the CPU. After some searching I found this issue with Excel 2007. For anyone stumling upon this thread, here is my suggested upgrade path for moving from a dual core to a quad core CPU:

    1. Update the BIOS
    2. Install the new CPU
    3. Do a clean install of XP
    4. Update XP to the latest SP
    5. Update the system software, if your OEM has one
    6. Update the chipset drivers
    7. Update Office or your relevant software to the latest version or SP
  30. This topic has been closed by Mousemonkey
Ask a new question

Read More

CPUs Quad Core Processors Windows XP Product