Cores, cores, cores. Whether you're an Intel fan or an AMD diehard,
both of the big PC chip makers are trying to sell you
on the idea that you need as many cores as possible.
But wait a second, why can't we just have CPUs
that have one lone super powerful core?
Wouldn't that be a lot more straightforward? I mean, think about it.
Those old school parallel ports that we used to use for printers carried lots of data streams at once,
but they were actually very slow. Meanwhile, USB ports only handle one data stream
at a time, but they're very fast. Couldn't we just apply that same idea to CPUs?
To answer, we spoke with Eric Jihon, Intel's CPU SOC architecture lead,
and we'd like to thank him along with Thomas Hannaford and Ben Benson for helping us out with this episode.
As it turns out, a single core is certainly capable
of juggling multiple programs at one time. This is done by scheduling,
where each clock cycle of the CPU, and there are billions of those per second,
is assigned to execute instructions from a certain program or multiple programs.
Scheduling can be done by the operating system, or more optimally, it can be handled by the CPU's hardware.
For example, simultaneous multi-threading or SMT
has been with us since the early 2000s and actually makes your operating system see
one physical core as two logical cores.
With SMT then, the operating system will always make sure
that each physical core has two instruction threads
to work on so that if a single thread stalls, because the CPU has to wait for additional data,
the CPU core can still work on the other thread.
But even with SMT, scheduling still has inefficiencies.
Each core can still handle only so many instructions per clock cycle,
and if you're trying to run a ton of programs or processes,
the whole scheduling paradigm can become overwhelmed, meaning that adding a second or third or fourth core
can help remove the reliance on the scheduler and allow the CPU to actually do more work.
But the fact that scheduling is an imperfect solution
isn't the only reason that we can't just have one big core.
You also have to think about how much CPUs cost.
Higher end chips are already expensive enough,
but if you tried to consolidate a modern, say, eight core chip
into one big core, the price tag would be even higher.
You see, in modern CPU fabrication, if you have one core that's bad due to a manufacturing defect,
you can just disable it at the factory and then sell that chip as a model with fewer cores.
But if you had one massive core and it was defective,
you'd have to throw the whole thing away, meaning more waste and higher costs for the consumer.
There's also the consideration of how you link up a CPU
to the rest of your PC. A multi-core CPU is set up
so that each core has its own connection or fabric.
That gives it access to memory. As you make these fabrics wider and faster,
it becomes more and more difficult to make a fabric that has the same signal integrity
as the smaller ones that were designed for multi-core chips.
But beyond all of these concerns regarding the CPU itself,
the way we use computers these days really tilts the equation in favor
of having multi-core processors. Although back in the days of Windows 95 and even XP,
you could get away with a single core CPU. Modern versions of Windows are often running
hundreds of processes and thousands of threads at once.
And because PCs are such general-purpose machines
that need to be able to adapt to a wide variety of workloads, it's better to have multiple cores
rather than just hoping that your applications will be optimized enough to take advantage
of one big single core, especially as it's becoming more and more common
for programs and even games to actually be able to take advantage of more than one core.
But there's one alternative that we didn't really talk about.
If you want one huge core, you could just forget about CPUs
and go cut open an avocado. That would solve your problem.
And you wouldn't be hungry anymore. Thanks for watching. Leave a like or a dislike depending how you felt.
Check out our other videos and leave a comment if you have a suggestion for a future fast as possible.