Wednesday, January 23rd 2019
Bulldozer Core-Count Debate Comes Back to Haunt AMD
AMD in 2012 launched the FX-8150, the "world's first 8-core desktop processor," or so it says on the literal tin. AMD achieved its core-count of 8 with an unconventional CPU core design. Its 8 cores are arranged in four sets of two cores each, called "modules." Each core has its own independent integer unit and L1 data cache, while the two cores share a majority of their components - the core's front-end, a branch-predictor, a 64 KB L1 code cache, a 2 MB L2 cache, but most importantly, an FPU. There was much debate across tech forums on what constitutes a CPU core.
Multiprocessor-aware operating systems had to be tweaked on how to properly address a "Bulldozer" processor. Their schedulers would initially treat "Bulldozer" cores as fully independent (as conventional logic would dictate), until AMD noticed multi-threaded application performance bottlenecks. Eventually, Windows and various *nix kernels received updates to their schedulers to treat each module as a core, and each core as an SMT unit (a logical processor). The FX-8350 is a 4-core/8-thread processor in the eyes of Windows 10, for example. These updates improved the processors' performance but not before consumers started noticing that their operating systems weren't reporting the correct core-count. In 2015, a class-action lawsuit was filed against AMD for false marketing of FX-series processors. The wheels of that lawsuit are finally moving, after a 12-member Jury is set up to examine what constitutes a CPU core, and whether an AMD FX-8000 or FX-9000 series processor can qualify as an 8-core chip.US District Judge Haywood Gilliam of the District Court for the Northern District of California rejected AMD's claim that "a significant majority of" consumers understood what constitutes a CPU core, and that they had a fair idea of what they were buying when they bought AMD FX processors. AMD has two main options before it. The company can reach an agreement with the plaintiffs that could cost the company millions of Dollars in compensation; or fight it out in the Jury trial, by trying to prove to 12 members of the public (not necessarily from an IT background) what constitutes a CPU core and why "Bulldozer" qualifies as an 8-core silicon.
The plaintiffs and defendants each have a key technical argument. The plaintiffs could point out operating systems treating 8-core "Bulldozer" parts as 4-core/8-thread (i.e. each module as a core and each "core" as a logical processor); while the AMD could run multi-threaded floating-point benchmark tests to prove that a module cannot be simplified to the definition of a core. AMD's 2017 release of the "Zen" architecture sees a return to the conventional definition of a core, with each "Zen" core being as independent as an Intel "Skylake" core. We will keep an eye on this case.
Source:
The Register
Multiprocessor-aware operating systems had to be tweaked on how to properly address a "Bulldozer" processor. Their schedulers would initially treat "Bulldozer" cores as fully independent (as conventional logic would dictate), until AMD noticed multi-threaded application performance bottlenecks. Eventually, Windows and various *nix kernels received updates to their schedulers to treat each module as a core, and each core as an SMT unit (a logical processor). The FX-8350 is a 4-core/8-thread processor in the eyes of Windows 10, for example. These updates improved the processors' performance but not before consumers started noticing that their operating systems weren't reporting the correct core-count. In 2015, a class-action lawsuit was filed against AMD for false marketing of FX-series processors. The wheels of that lawsuit are finally moving, after a 12-member Jury is set up to examine what constitutes a CPU core, and whether an AMD FX-8000 or FX-9000 series processor can qualify as an 8-core chip.US District Judge Haywood Gilliam of the District Court for the Northern District of California rejected AMD's claim that "a significant majority of" consumers understood what constitutes a CPU core, and that they had a fair idea of what they were buying when they bought AMD FX processors. AMD has two main options before it. The company can reach an agreement with the plaintiffs that could cost the company millions of Dollars in compensation; or fight it out in the Jury trial, by trying to prove to 12 members of the public (not necessarily from an IT background) what constitutes a CPU core and why "Bulldozer" qualifies as an 8-core silicon.
The plaintiffs and defendants each have a key technical argument. The plaintiffs could point out operating systems treating 8-core "Bulldozer" parts as 4-core/8-thread (i.e. each module as a core and each "core" as a logical processor); while the AMD could run multi-threaded floating-point benchmark tests to prove that a module cannot be simplified to the definition of a core. AMD's 2017 release of the "Zen" architecture sees a return to the conventional definition of a core, with each "Zen" core being as independent as an Intel "Skylake" core. We will keep an eye on this case.
369 Comments on Bulldozer Core-Count Debate Comes Back to Haunt AMD
2x 2K L2 BTB
2x 256K L1 BTB
2x Branch Predictor
2x 32 KB L1i
2x 16B Fetcher/Prefetcher
2x IBB/Pick
2x 2-wide decode
2x 2 ALU/2AGU
2x 1 FMAC+1 FMMX(FMISC/FSTORE)
2x LSU
2x 16 KB L1d
2x 1 MB L2
You can easily split an Bulldozer module and get two functional cores. However, those two cores would utilize more space than the two-core module. Which in turn would provide less performance than the Bulldozer module. Bulldozer underlined threading technique is a response to Netburst&Nehalem/Hyperthreading. Architecturally the Bulldozer module is a successor to the K7/K8 core or a response to Pentium II Xeon/Core/Core 2.
then it can do 4..
if it has 4 floating points alocated to 2 modules and 8 other tasts alocated to the other 2 modules.
then it can do 6..
if it just had 8 instructions and no fp calcs to do..
then it could do 8.
if 1 fp calcs and 8 instructions
it could do 7
The definition of core for usage in a PC came from the idea that it was the central most important part of the computer. Don't take my word for it though lets look up that definition, So by that widely used definition of a core what exactly does AMD not have 8 of?
Just pay the money right now and don't waste any more time.
any way im walking away.. feel free to use the way back machine to find all my answers to the questions you may have. then we can agree to disagree :)
Said differently...
2 8086 processors can function with or without any 8087 coprocessors and, they can function physically separated.
2 UltraSPARC T1 cores can function with or without its FPU and, they can function physically separated.
2 Bulldozer integer cores can function with or without its FPU but both cannot function physically separated.
As it stands right now there is not a textbook answer that says a core must have the parts as follows to be sold/marketed as a core. AMD internal technical documentation written by people with multiple PHD's has labeled each integer core inside of the AMD Bulldozer design as a single core to make a total of 8. They have immensely more schooling than myself and likely the people making the claims as to what is or is not a core. Who are we to second guess what their design deems is a core when the definition is more vague as the patent apple holds for the iphone. Under the same notion that AMD added more independence of a core by integrating the memory controller they could remove pieces. A core could not function without multiple other not attached items in multiple designs. The common ideal would be a core can fetch, decode instruction, ALU operation, access memory, update registrar, update program counter. Each integer core can do that each clock cycle with the Bulldozer design. Every single Nvidia GPU you buy has the number of CUDA Cores printed on the side of the box in the same way AMD printed the number of cores it has in it's CPU. AMD also openly publishes the number of compute cores it's GPU's contain. The functionality of all three widely vary. That was more to point out that the single FPU unit was mute as far as being a reason why it is only a "whatever" core CPU. Hard to share with anything when you are the only CPU on a board.
we can dabble back and forth forever as to what you or i think a core is..
but when you hinge your argument on amd are better than us so they should define what a core is, and they had previously done that.. but the buldoser "cores" dont qualify..
I really dont see how you have an argument.
Nvidia quite literally has the number of CUDA cores as the highest defining item when comparing a GPU within a series. I would say the first thing listed on their companies website would be the major selling point of the product.
Take a step back and look at the bigger picture. AMD was perfectly happy using the word "modules" to define the dual integer core package. Why did they deviate from sticking "4 module" on their FX processors? Because "module" isn't something most people understand but core is. AMD didn't want to stick "4 core" on their boxes because they want to advertise that it has more than Intel's "4 core" processors. So they went with "8 core," not because of the truthfulness of the declaration, but to make people looking at processors consider AMD's product over Intel's because "more is better." That's what false advertising is though: declaring your product having more than it really does.
Its abundantly clear amd can and has repetedly changed their definition of "core" to suit marketing, and bamboozle customers.. which is the actuall issue here. and you even nye on admit it in the above quoted post..
and this is why i say we have to agree to disagree..
you just 100% argued your case away in 2 posts and yet im to continue debating??
you cant just sell iron as gold because you are an industry leader, then decide iron was junk so go back to using gold and expect the people who bought the iron not to complain you advertized it in a deliberately manipulative manner.
actually..
i will simply dissect the 1st part.
if i say
"buldoser has 8 cores in your oppinion."
Guess what that still means i dont agree, and still does not mean it has 8 real cores.
Also your agreement isn't a requirement for something to be true. Facts are true, opinions are opinions. Factually there is not a true definition of a core. There are tons of opinions, but may as well make assumptions at that point.
I'll say it again, the traditional CPU core design has been dead for decades. No matter how much will the plaintiffs struggle to find footing in this argument there is simply no modern analogue that they can adhere to.
* integer cores
I'm sorry to say it, but when consumers, generally speaking, don't know what's even inside a CPU or how it works, they're not really giving two shits weather or not the FPU is shared, what it's width is, or if it's two FPUs slapped together with FMA. If you try to explain floating point versus fixed point math to someone and the situations in which they're used and how it impacts performance, most people's eyes will glaze over because they don't know what the hell you're talking about. AMD needs to dumb it down to language that a typical consumer can understand. This isn't false advertising. This is someone who is still butt hurt over AMD producing a garbage CPU and using it as an opportunity to make some money.
We already know the FX CPUs where garbage. We don't need to dwell over that, but when push comes to shove, you can have a CPU without floating point units, you can't have a CPU without ALUs and AGUs.
...by the way, 2012 called. It wants its CPU back.
AMD defined what a "core" was less than a decade before AMD debuted the "module." If they could do it once, they could do it again. If you want to get technical, CPUs should be advertised by thread count rather than core/module count. The different ways to multithread though (there's 4 way, 2 way, and 1 way if not more), makes that a sketchy proposition.
core = independent CPU
Always was, always will be*.
* Except Bulldozer, Steamroller, and Piledriver but AMD is about to get bitch slapped for that mistake.
AMD made Microsoft count sockets instead of processors because each socket could house more than one processor (described as a core). It is accurate to describe 2700X as an 8 processor product. It is inaccurate to describe FX-8350 as an 8 processor product because there's only 4 independent processors in it.