• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

AMD Dragged to Court over Core Count on "Bulldozer"

Simply, if it can execute all the instructions in the x86, or in this case x86_64 instruction set, then it is an x86_64 core. You don't need an FPU to execute any of the instruction in the basic x86_64 instruction set, it just helps performance greatly for some of them.
Indeed, FPU instructions are generally under x87 which stems from the 8087 co-processor for the 8086. Thing is, x87 has been a standard feature for about two decades now. AMD tried to depreciate it to force developers to use the GPU for FPU tasks. It failed.

Yeah, the Pentium D wasn't two processor on one die...oh and the Core 2 Quad wasn't 4 processors on 1 die either.
Die meaning CPU socket. Yes, they were MCM'd but that's a technical detail that doesn't matter in terms of core count. Pentium D was sold as a dual core and it had two cores in two modules. Core 2 Duo was sold as a dual core and it had two cores in one module. Core 2 Quad was sold as a quad core and it has four cores in two modules. The cores (L1 instruction to L1 data) did not share any components in any of those processors.

I think the when push comes to push, the core count isn't really what people are pissed off about. This is all about the lackluster performance of these CPUs and I think that this is just a facade for that. No one ever said 8 cores had to be fast. :laugh:
It does matter. When you go to Best Buy and a guy comes up to you and says this AMD has 8 cores for $200 and this Intel has 4 cores for $300 bucks. Most consumers will go with AMD not realizing that AMD only has 4 complete cores. AMD deliberately mislead the public to get more sales. The people that filed this lawsuit, in hindsight, know they should have gone with Intel's quad-core for $100 more.
 
Last edited:
It does matter. When you go to Best Buy and a guy comes up to you and says this AMD has 8 cores for $200 and this Intel has 4 cores for $300 bucks. Most consumers will go with AMD not realizing that AMD only has 4 complete cores. AMD deliberately mislead the public to get more sales. The people that filed this lawsuit, in hindsight, know they should have gone with Intel's quad-core for $100 more.
That's a hollow argument and you know it. If someone is going into Best Buy to buy a PC, they're probably not going to need needing the most powerful CPU on the market. Most people want a cheap computer that works. We've also had this discussion before and we're not going to agree and that's that Bulldozer is more than an 8c CPU than it was like a 4c because it can execute that many instructions in parallel (if you merely exclude the FPU for a minute,) and notice that parallel integer workloads scale almost linearly which screams real cores. Only with FPU workloads does it scale more like hyper-threading would.

As I said before, no one ever said 8 CPU cores needed to be fast but, they're are more than enough components to call it a 8c CPU. Does it have shared resources that can hinder performance, sure but, even in those cases, workloads still scale linearly unlike with just about every form of SMT.
 
FX-8350 = 4c/8t
I will not exclude FPU (or any other instructions) because cores must be complete.

Silvermont is not fast even compared to an FX-8350 but it has 8 cores (yes, 8 simultaneous AVX instructions) unlike FX-8350.
 
FX-8350 = 4c/8t
I will not exclude FPU (or any other instructions) because cores must be complete.

Silvermont is not fast even compared to an FX-8350 but it has 8 cores (yes, 8 simultaneous AVX instructions) unlike FX-8350.
The funny thing is though that a computer can run just fine without even having an FPU paired with X86 integer cores. Show me a single CPU that has x87 and can run independently from an x86 core and I would be willing to entertain your position but, the reality is that whether the FPU is on the same die or not isn't the point because, it's still essentially still a co-processor. Floating point math was an afterthought, not the driving force for x86 as most things computers do are integer operations.
 
How did I miss this thread? lol

Im guessing they lost the court battle?
 
The funny thing is though that a computer can run just fine without even having an FPU paired with X86 integer cores. Show me a single CPU that has x87 and can run independently from an x86 core and I would be willing to entertain your position but, the reality is that whether the FPU is on the same die or not isn't the point because, it's still essentially still a co-processor. Floating point math was an afterthought, not the driving force for x86 as most things computers do are integer operations.
It's been an integral part of processors for the last two decades so no, it isn't a co-processor. It was an afterthought two decades ago (or rather, too complicated to implement in hardware until process tech matured making it affordable to integrate) but it has been inseparable since. Hell, even the internet browser you're looking at now would slow to a crawl if it had to do the CSS work on ALU. Simply visualizing the text characters you're looking at uses floating point math.

FPU can only be reasonably separated in specialized processors (like database or network routers). In general processors (which x86 epitomizes), it should not be separated. The fact they're putting it back in Zen proves how stupid that idea was.


Im guessing they lost the court battle?
Last action was a time extension on August 23:
"ORDER GRANTING JOINT STIPULATION TO FURTHER EXTEND TIME FOR PARTIES TO ENGAGE IN ADR PROCESS"

TL;DR: they're trying to settle. It will only go to court if they fail to settle.
 
Last edited:
FX-8350 = 4c/8t
I will not exclude FPU (or any other instructions) because cores must be complete.

Silvermont is not fast even compared to an FX-8350 but it has 8 cores (yes, 8 simultaneous AVX instructions) unlike FX-8350.

TOTALLY wrong. Silvermont don't have AVX or any other 128-bits instructions. Even the latest, the Goldmont, don't have any AVX, FMA or advanced instructions else than SSE, SSE2, SSE3, SSSE3, SSE4, SSE4.1, SSE4.2.

Goldmont FPU is a LOT weaker than Piledriver based architecture. By a HUGE margin. Unless they decide to assemble two of their FPUs together and share, they will NEVER achieve the AVX and FMA instructions with a OoO and the TDP. The AMD A10 5750M is totally blasting out any Intel Atom in every possible benchmark.

FX-8350 = 8c/8t, until it needs to achieve an AVX or FMA, that's where the processor need to take two threads to achieve it. You simply don't understand the architecture, at all.

As you are probably under Windows, name me one software compiled to use AVX instructions. Even now, so little games are compiled to take advantage of AVX.
 
Last edited:
TOTALLY wrong. Silvermont don't have AVX or any other 128-bits instructions. Even the latest, the Goldmont, don't have any AVX, FMA or advanced instructions else than SSE, SSE2, SSE3, SSSE3, SSE4, SSE4.1, SSE4.2.
Right you are but it still has native support to handle floats in each core where Bulldozer does not.

Goldmont FPU is a LOT weaker than Piledriver based architecture.
Such is the nature of 20 watt and less design. It is weaker across the board. Jaguar would be a better comparison and AMD's low power designs never had a Bulldozer-like design...likely because it could only power down a core (as in a module) at a time.

As you are probably under Windows, name me one software compiled to use AVX instructions. Even now, so little games are compiled to take advantage of AVX.
Prime95
 
Last edited:

I am curious now what program that a standard user, would use, uses AVX? Quite honestly prime could use whatever it wants and it wont affect anyone.
 
That's the case with all CPU instructions. It's only a problem if it tries to use it and it isn't supported (e.g. some software compiled prior to 2000 can't run on new CPUs because of obsolete instructions). It's not something developers tend to brandish about.
 
That's the case with all CPU instructions. It's only a problem if it tries to use it and it isn't supported. It's not something developers tend to brandish about.

It is supported, it functions fully as well. If we are going to complain about the performance being lower well AMD x87 performance has trailed Intel for decades. Remember there are also instruction sets AMD performs better in as well as certain applications they do better in than intel. Heavily multithreaded applications using non-biased software works reasonably well on AMD to the point where their servers shares were popping up pretty quickly.
 
Indeed, FPU instructions are generally under x87 which stems from the 8087 co-processor for the 8086. Thing is, x87 has been a standard feature for about two decades now. AMD tried to depreciate it to force developers to use the GPU for FPU tasks. It failed.

That can all be true. But the absolute minimum for a x86_64 core is that it can execute all the instructions in the x86_64 instruction set, and each module in an FX series processor has two cores capable of doing that.

A non-shared L2 was standard for a very long time too. But that changed. AMD tried to change to a shared FPU. It hurt performance, but in the strictest technical term, it did not make each module 1c/2t. Each module can in fact work on two instructions at the exact same time. That is not possible with 1c/2t.

Die meaning CPU socket. Yes, they were MCM'd but that's a technical detail that doesn't matter in terms of core count. Pentium D was sold as a dual core and it had two cores in two modules. Core 2 Duo was sold as a dual core and it had two cores in one module. Core 2 Quad was sold as a quad core and it has four cores in two modules. The cores (L1 instruction to L1 data) did not share any components in any of those processors.

Um, no. Die != package or socket.
 
It is supported, it functions fully as well. If we are going to complain about the performance being lower well AMD x87 performance has trailed Intel for decades. Remember there are also instruction sets AMD performs better in as well as certain applications they do better in than intel. Heavily multithreaded applications using non-biased software works reasonably well on AMD to the point where their servers shares were popping up pretty quickly.
It's not about performance, it is about labeling their processors "8-core" when it only has 4 cores accepting two threads each. This is exemplified by the transistor count (falls in line with a quad core, not an octo core), the limitations of power gating (can only bring FX-8350 down to 2 integer cores, it cannot go to one like a real core can), and by the fact that AMD has never sold a single-core Bulldozer (Core 2 Duos, with one core disabled, was sold as a Celeron, for example). Each 2 "integer core" + 1 FPU represents a complete core by all modern definitions of the word "core." The "integer cores" do not.


A non-shared L2 was standard for a very long time too. But that changed. AMD tried to change to a shared FPU. It hurt performance, but in the strictest technical term, it did not make each module 1c/2t. Each module can in fact work on two instructions at the exact same time. That is not possible with 1c/2t.
As I said before, L2 cache sharing doesn't make or break a core. Case in point, all cores on every socket share a memory controller for the system RAM. Because of that, do we call everything under that a core? Nope. It could happen that two cores share an L2 as a module, then two modules share an L3. That doesn't change what a core is. Separating the FPU does because that's what? 50-60% of a CPU core in terms of transistors? When you look at it from that perspective, AMD has cheated consumers out of tens of millions of transistors.


Even if AMD made it possible to power gate an integer core, I'd still argue it isn't a core because there still isn't a discreet FPU for each. If it had two, or more FPUs and the cores could use 1 to all of them (like Core 2 Duo L2), then yeah, I could take your argument. That is not the case though: they're Siamese twins where disabling one would kill the other. The whole, therefore, is a core, not the parts. This feature is unique with Bulldozer and sons. Even SPARC can do fine without the FPU core.
 
Last edited:
Right you are but it still has native support to handle floats in each core where Bulldozer does not.
For SSE, SSE2, SSE3, SSSE3, SSE4/4.1/4.2/4a, F16C, it does. For FMA3/4 if you use the m32, m64 and m128 operands, it won't lock up the FPU. Same for AVX/XOP, if you use 32-bit or 64-bit mode, you'll be just fine. Though, as soon as they use the VEX coding scheme to put more operands than the reserved half of the FPU for one core, it will amputate the other side reserved for the other core and use both for the set amount of cycles. Meanwhile, the other core can do some instructions not needing any FPU, at the rare occasion there's no such instructions in the buffer, the second core cycles will go to waste. There's a major difference between saying it can't support floats in each core independently and simultaneously and not being able to do some part of some instructions alone. They simply could have rejected the implementation of such instructions, like Intel did for the Atom, and wouldn't have any argument left to imply your bias. Instead, they tried to innovate, combine two FPUs in one, and include the possibility to be used together and achieve the AVX instructions. It doesn't change the fact it will behave like two core for every tasks you'll ask, but just not Prime95. If it's enough to say a module is not two cores? Of course not.


Such is the nature of 20 watt and less design. It is weaker across the board. AMD Jaguar would be a better comparison.
Well, AMD A6 and A4 could have been also a good comparison.
 
It's not about performance, it is about labeling their processors "8-core" when it only has 4 cores accepting two threads each.

Good argument until you get into the fact, mind you fact, that each "core" can independently process an x86/x86-64 instruction, two per module, unlike a single core dual thread arrangement.

You can also disable the cores individually, unlike an additional thread. Each of those cores is also a physical presence with a clockgen controlling it and can be clocked independently of the core in the same module next to it.

Mind finding me a "thread" that can do that?
 
If it's enough to say a module is not two cores? Of course not.
Up until Bulldozer, every "core" was effectively a complete "processor." It could be powered individually and it operates independently (barring memory but that's always been an issue with multi-processor logic). FX-8350 only has four objects that meet that definition, not eight. Athlon 64 X6? Six. Core 2 Duo? Two. Core i7-920? Four. Core 2 Quad? Four.

You can also disable the cores individually, unlike an additional thread.
Source? The operating system can stop sending it work but I mean power off as in cold...no current.
 
You are taking things that do not define what a x86_64 is and trying to argue that they do. Sorry, I have to move on. I will say this one more time and that is it. The definition of an x86_64 core does not require an FPU, it doesn't require that each core can be disabled independently of the others. The power gating system does not define a core. The ONLY thing that defines an x86_64 core is the ability to process x86_64 instructions. Period.
 
The box doesn't say "x86_64 core" it says "core"
CPU%20Rear.jpg


You're making a technical distinction that simply doesn't exist to the public nor does AMD make that distinction clear on their packaging.
 
Last edited:
In an x86_64 processor, that is exactly what core means. The FX series of processors are x86_64 processors. So the word core means x86_64 core.

I mean, are you expecting them to make it clear these aren't ARM cores? They don't say that on the box, so why shouldn't we expect them be IA-64 cores? Is that the logic you really are going with?
 
Last edited:
In an x86_64 processor, that is exactly what core means. The FX series of processors are x86_64 processors. So the word core means x86_64 core.
It is not. Even in AMD's technical slides, they called it "integer core" not just "core." Here's the best definition for "core" I could scrounge up:
http://www.webopedia.com/TERM/M/multi_core_technology.html
In consumer technologies, multi-core is usually the term used to describe two or more CPUs working together on the same chip. Also called multicore technology, it is a type of architecture where a single physical processor contains the core logic of two or more processors. These processors are packaged into a single integrated circuit (IC). These single integrated circuits are called a die. Multi-core can also refer to multiple dies packaged together. Multi-core enables the system to perform more tasks with a greater overall system performance. Multi-core technology can be used in desktops, mobile PCs, servers and workstations. Contrast with dual-core, a single chip containing two separate processors (execution cores) in the same IC.
Bulldozer does not represent the norm (complete processors), it represents an exception (Siamesed processors). AMD can't take a well understood word and redefine it to mean something else. If they had put "8-Integer Core" on the box, this lawsuit wouldn't have happened.
 
Sooo does this effect the 63xx series because i want my $30.
 
If the class action suit moves forward, probably but FX 6xxx will likely get less than FX 8xxx. How much depends on how much it settles for and how many products were sold that are eligible.
 
Up until Bulldozer, every "core" was effectively a complete "processor." It could be powered individually and it operates independently (barring memory but that's always been an issue with multi-processor logic). FX-8350 only has four objects that meet that definition, not eight. Athlon 64 X6? Six. Core 2 Duo? Two. Core i7-920? Four. Core 2 Quad? Four.

Where you got that? Go check your sources, because we can disable one core per module. It's done since the Bulldozer exist. Some do it because you can gain 5% performance boost on single core, which can be explained by the dispatching overhead. Just look it up, Gigabyte and Asrock motherboards can disable one core per module. And it's very real, the processor TDP and current are halves. For most people it's irrelevant as the second cores per module make you gain 50% more power compared to the 5% more power per core when you disable cores 2/4/6/8.

You also have frequency scaling. I can scale each core clock speed independently.

Capture-root@MLab-S1:~-5.png


Capture-root@MLab-S1:~-6.png


I will even leave the linfo so you see the machine running in real time. If those were only one core per module without being independent, i wouldn't be able to change their clock frequency individually for all 6 cores.

http://malakilab.org/linfo/
 
It is not. Even in AMD's technical slides, they called it "integer core" not just "core." Here's the best definition for "core" I could scrounge up:
http://www.webopedia.com/TERM/M/multi_core_technology.html

Bulldozer does not represent the norm (complete processors), it represents an exception (Siamesed processors). AMD can't take a well understood word and redefine it to mean something else. If they had put "8-Integer Core" on the box, this lawsuit wouldn't have happened.

There is no definition of a CPU core. That is were you will fail to make any argument. AMD could sell shit in a box and call it a core and if it is by their own definition a core they are not incorrect.
 
It is not. Even in AMD's technical slides, they called it "integer core" not just "core." Here's the best definition for "core" I could scrounge up:
http://www.webopedia.com/TERM/M/multi_core_technology.html

Bulldozer does not represent the norm (complete processors), it represents an exception (Siamesed processors). AMD can't take a well understood word and redefine it to mean something else. If they had put "8-Integer Core" on the box, this lawsuit wouldn't have happened.

You don't understand what is defined here. multicore is a processor with multiple cores. A module is not a processor. You're mixing the terms and twisting them to suit your rhetoric. Hell you don't even understand what is a die. If you take for example the Opteron 6272. It's one processor, it have 2 dies, each die have 4 modules, each module have 2 cores. A multicore processor is a processor having more than 2 cores. Even if what you claim were right, and one module would be one core, it would still be 4 cores in a FX-8xxx, and 2 cores, in a FX-4xxx, and would match the definition you given of a multicore processor.
 
Back
Top