As most people know, the CPU or “Processor” is the brain of your PC. It’s responsible for running all of your application processes, one at a time. It does this through the feed of “threads” presented from your applications. The number of threads currently being processed can be viewed by following these steps:
- CTRL+ALT+DEL to open task manager
- Switch to the “Resource” tab
- Within the resource tab look for “System”
- Under the system block look for “Threads”
The number will often be in the hundreds. Currently I’m processing 1009 threads. Now you can view the number of threads each application is presenting by then clicking on “Resource Monitor…” at the bottom of the window. From there you will viewing the “Overview” tab listing all applications followed by their thread count, CPU usage, and average CPU.
At first the high thread count might raise some alarm bells in your head, but after understanding how threads work you’ll be able to reasonably determine what it typical for your system.
Think of these as “requests” from your applications to have an action processed. Some threads require more processing power than others, and some threads will spawn an additional action in response to completion. This results in a process tree that does not descend below a certain threshold. The most important thing to consider is, just because an application is spawning more threads, it does not always indicate that application is consuming a majority of your CPU processing time. We are simply establishing what threads are so you can better understand how they are addressed by your system.
One thing you might already be familiar with is the inclusion of multi-core processors to your system. However you might not understand entirely how they function. In simple terms, you can consider each core to be a separate processor of it’s own. As we stated in the overview, your processor may only handle one thread at a time. the “GHz” is the speed at which it can handle a thread. Now understanding the one at a time rule, and remembering to treat each core as its own processor, you can begin to form the picture of how important multi-core processing is to your system. Simply put, if I am running a 4.0GHz Single core, and you are running a 4.0GHz Quad-core, you are literally handling 4x the number of threads that I am at any given moment. There is an exception to this rule however, and that’s “Hyper-threading.”
Now that we have established that A: a processor can only handle 1 thread at a time. & B: Each core may handle it’s own thread. We are ready to talk about a function that adds another level to your processing power, “Hyper-threading”. This function gives each core the ability to handle 2 thread at any given time. Effectively doubling the amount of work each core can get done. What this means is that the same 4.0GHz Quad-core processor we spoke of earlier, with the addition of hyper-threading, can now handle 8 threads, versus the 4 it was able to before. One important thing to consider about this function is that your core may only use the remaining process timing to take on a second thread. So you will not always get full speed and power to both threads on a single core.
As of now, Hyper-threading is a technology exclusive to Intel CPU’s.
I know if you’re anything like me then you are mostly curious about the effects of your CPU on gaming, or in my case, livestreaming. The number one thing you have to realize about your CPU in gaming is that no matter how many cores you have, the games coding will often prevent you from utilizing more than 1, maybe 2. And within those two cores, at a speed of 3.0GHz+ you will often be absolutely fine! The majority of your gaming workload is going to be eaten up by your Graphic Processing Unit. (Assuming you are running on an installed graphics card vs on board video.) Adding a dedicated sound card to your system will also take a lot of stress off your CPU.
Now if we apply what we know about Hyper-threading, with our knowledge of game coding and it’s single/double core nature, you can probably see the advantage of using a hyper-threading core in gaming. Basically you are able to trick the coding into utilizing your CPU more than it natural would on an 8-Core single thread CPU. Now considering the added soundcard, and dedicated Graphics, you are on your way to having a multi-tasking machine capable of some pretty nice power.
You will then be able to fix the other CPU cores on your system on tasks outside of the games processing. Such as encoding video from your OBS / Xsplit software.
A FINAL WORD
Now that you entirely understand how your CPU is handling threads, there is one more matter that should be mentioned. This is the function of your “RAM” or Random Access Memory in communicating with your CPU. If you feel like your processing power is lower than it should be given your CPU model, it might be time to start thinking about your “RAM” timings and the speed at which your CPU is receiving orders.
THE DEPARTMENT STORE ANALOGY
I designed the final figure to show you the connection your CPU has with threads. Here is an analogy:
“Imagine your Computer system is a department store. You and hundreds of other people (Or threads) are pacing around the store searching for the items you’d like to purchase (This is the latency time of your RAM). Now imagine that you all decide to approach the registers to cash out at the same time. However there are only x4 cashiers (These are your cores). Some customers have less items, thus require less time from the cashiers, but you still have to wait in line. Now the store manager adds an extra person to each register who’s job is to bag the items for you (This extra person can be considered “Hyperthreading”). Can you see how the line would be moving much more quickly?
Thank you for taking the time to read the article. I hope you learned something and continue to do research on your own!