The tech jargon is, well, jargon so let me simplify things for you.
First up, I want you to erase every preconceived notion you've had about AMD FX Cores.
When you see the FX 6300 advertised as a Hexa(6)-Core Processor
or the FX 8350 advertised as an Octa(8)-Core Processor.
You're looking at facts. By acceptable definitions, these processors have the correct number of cores specified.
But they are not designed and do not function in the same way that equivalent Intel cores do.
And that's what this video will seek to clarify.
The two architectures that we'll be comparing are:
The Bulldozer Architecture from AMD, most notably found in the FX 8000 Series.
And the Sandy Bridge Architecture from Intel, which you'll find in their core 2000 series and a few others.
Although you could stretch this to any modern Intel CPU, they haven't really changed much in this sense
So let's consider the FX 8350 and the i7 2700k
It's not a 2700k, but you get my point
In these 2 cases, things on paper look fairly similar
Well, apart from price
Transistor Architecture is identical, 32 nanometers for both
They both have 8 threads
They both have 8 Megabytes of L3 Cache
They also both have unlocked multipliers
But the FX 8350 is advertised as an 8-Core processor
Whereas the i7 2700k is only advertised as a Quad-Core with Hyper-Threading
A technology implemented by Intel to increase Instruction Processing.
Essentially, here's a crash course in Hyper-Threading:
A single Intel core is split up into two quote-unquote Logical cores
which share a total workload and increase processing efficiency
This is explained clearly in Intel's 2012 Architecture Manual
quote, if both logical cores are active, the queue is partitioned so that
both logical processors can make independent forward progress, end quote
Independent, that's the key word here. An adept scheduler efficiently allocates data
between two logical cores, one of which could be busy processing,
and the other which could be demanding more information
So how is this hyper-threaded i7 any different from an eight-core FX processor?
And why can't Intel just say that their i7 27k is an eight-core processor?
Let's dive a little deeper. So in short the reason AMD can get away with
calling their 8350 an octa-core CPU and Intel cannot is because, shocker,
the FX processor is actually featuring 8 processing cores
Each core has its own unique scheduler which decides what from system memory will be processed next
as well as its own Level 1 cache.
This contrasts Intel's logical core setup in which 2 logical cores
rely on a single Intelligence Scheduler to disperse data. These logical cores by the way, are not physical cores.
In fact, there are two logical cores per physical core which means that
hyper-threading is really just a manipulation of one core or however many cores are in the processor
So yes, FX processors are special but in both good and bad ways.
Let's take a look at the Bulldozer Block Diagram.
The FX-8350 features four modules and two integer cores per module.
These integer cores are legitimate CPU cores, no doubt.
But are packed into condensed modules for the sake of space, cost and efficiency but only in some cases.
Each module shares 2 Megabytes of L3 cache for a total eight megabytes as described.
And each also shares a single FPU or floating point unit.
This FPU handles mathematical functions addition, subtraction, multiplication, you get the point.
And the fact that Bulldozer forces pairs of cores to rely on a single FPU is what raises a bit of concern here.
You see, on Intel's side the i7 2700k features four unique cores with four independent FPUs.
So one FPU per core.
This is a case for any modern Intel CPU, and while this alone may not seem like such a big deal
It's what ultimately gives Intel CPUs the clock-for-clock edge in single core performance.
FPUs handle most mathematical functions via the binary system.
And allocating a single FPU per pair of cores can result in delays or quote-unquote lag times.
Reducing overall performance in especially intense programs, even gaming.
AMD claims the opposite that a single a FPU per module
allows for overclocking headroom and higher mathematical complexity
and they're correct, in theory, this should be the case; most modern GPUs actually follow this setup as well.
FX FPUs themselves, technically have "Two Unique Cores"
But the technology over the years hasn't given the Central Processing Units the edge AMD expected them to have
Thanks to Windows and other programs assigning tasks in non-sequential arrays.
This means that, instead of software seeing an FX CPU as a true quote-unquote 8-core
It forces data through a pipeline similar to hyper-threading
Which, if you remember, is nowhere near as efficient as two independent cores.
This explains why CineBench for example sees the FX-8350 has a 4 core processor with 8 threads
And not an 8-core processor with 8 threads
Basically AMD banked on software following suit with their new CPU design, and that didn't happen at all.
In fact, from what we know about Zen it seems like AMD's falling back on what Intel has been sporting for several years now.
Coming at this entire debate from a different angle.
Processor Savvy individuals on the blue team might also make the argument that
Because each module only features a single Fetcher and Decoder, the two units that receive and prepare data to be processed.
The pair of cores within each module is essentially bottlenecked.
You see, much like hyper-threading which we discussed earlier;
FX processors feature a single point of entry, per se, for every two cores
Meaning that information can be bottlenecked up top, reducing the overall efficiency of each physical core.
Intel cores instead do not share these Fetchers and Decoders,
With a simple frequency calibration, Fetchers and Decoders can relay information to the Scheduler
At the same rate that the scheduler disperses information to the physical core or logical cores, in the case of hyper threading.
There are a few less relevant things I decided to leave out
For the sake of both: time and well, comprehension.
A lot was mentioned in this video but the gist of this should be rather clear.
While FX processors do, by definition possess the correct number of cores specified on their boxes,
The cores themselves are very dependent on other gates within the die.
Namely, the FPUs, Decoders and L2 caches, all of which individual Intel cores do not share.
FX Cores are also limited by software and operating system optimization, as described a moment ago.
Something it's safe to say is, neither the fault of AMD nor developers
Since Intel chips handle things much differently and it's kind of hard to play both sides of the aisle.
Several other factors play into the differences and processing power between, say, an FX 8350 and an i7 2700k.
Overall Block diagram, Design, Clock speeds and core efficiency are among them.
Just something to keep in mind, it would take several semesters to fully explain the architectural differences between the platforms.
And while I'm about to graduate with a degree in Engineering,
I am eons away from being able to explain these without thorough and extensive research beforehand.
If there's anything you'd like to add in the comments section below, by all means have at it.
If you liked what you saw in this video and maybe learned a thing or two, be sure to give this thing a thumbs up.
Give it a thumbs down if you feel the complete opposite or if you hate everything about life.
Be sure to subscribe if you haven't already.
And stay tuned for a Future PC Build as well as some interesting reviews and head-to-head clash ups that I've got planned.
Be sure to stay tuned for the next one, folks.
This is Science Studio, thanks for learning with us.