Why aren't our CPUs at 100% usage all of the time? For example, 100% usage caused by checking for interrupts...

Why aren't our CPUs at 100% usage all of the time? For example, 100% usage caused by checking for interrupts. Is it because there simply isn't enough work to do? Or is there some limiting going on in software/hardware?

Other urls found in this thread:

en.wikipedia.org/wiki/Busy_waiting
twitter.com/NSFWRedditVideo

Because electricity costs money lardass.

kek

What?

Same here.
Don't functions like sleeping require the CPU to constantly check the time?

What is idle time?

Checking the time is assigned to a tiny number of transistors, while every major part of the cpu is effectively sleeping in some power state. A signal somewhere will then cause the CPU to awaken and resume work. You can't say you're using your CPU's processing facilities at 100% all the time.

You are asking some very simple questions with some very complicated answers. Short answer is that yes, there is a sort of limiting going on in the hardware and no, generally speaking there isn't enough to do to occupy a CPU one hundred percent of the time. Even if there was, it still wouldn't be working one hundred percent because of branch mispredictions and other fun things. There's also Intel Speedstep and AMD Cool'n'Quiet, which reduces the clock speed to save power and ensure that the CPU doesn't run hotter than it needs to.
A thoroughly unhelpful answer that just makes me suspect you don't know anything beyond the superficial.

You may have a few liters of milk, a few liters of juice, a few kilos of various catering like cheese, salami etc, a few kilos of meat and fish in your fridge, and 10-20 liters of mineral water. Why you don't eat and drink it all in one go by yourself?

Thx

You mean like this:
en.wikipedia.org/wiki/Busy_waiting
?

You didn't get the question.

OP here

This was what I was looking for.

This was pretty informative too.

That is one shitty comparison. Stay in school kids or this user will be you.

You didn't get the answer

I always wondered why there isn't a hit in performance when adding cores to a cpu die?

Aren't there less transistors per core? Meaning less performance per core?

this is Sup Forums everybody

Less shitposting please.

because u add CORES not cores

It is, idle process does exactly that. It's just there are power saving states that lower frequency and disable parts of the chip.

Depends on the process node and architecture in question.

In general though, if you're duplicating cores on the die, its always an increase in the respective transistor counts for each core. So if i have a core design that takes 220M transistors, and I have 2 currently on my die, depending on the process node and the characteristics of the node, I could spend another 440M transistors and get another 2 cores.

It is only a performance hit when the LLC or the memory becomes bottlenecked trying to feed and maintain coherency between all of the cores. its why Intel's super high end Xeons are essentially split into 2 on-die clusters of cores, cache, and memory controllers. A singular monolithic quad channel controller cannot service all of the memory requests 22 cores and 44 threads ask for, and accesses to the last level cache would clock the shit out of the on-die communication bus.

Thanks

I somewhat follow what you are saying