AMD K15+ CPU and the definition of a "core".

Post new topic   Reply to topic    CPU-World.com forums Forum Index -> Modern Chips (Collectible Chips only)
View previous topic :: View next topic  
Author Message
xsecret



Joined: 01 Feb 2004
Posts: 1846
Location: France

PostPosted: Sun Jun 08, 2014 9:41 pm    Post subject: AMD K15+ CPU and the definition of a "core". Reply with quote

Let's start a debate about the definition of a "core" and why AMD's definition is wrong.

What is a core ?

- A core is an independent unit, able to process instructions and data.
- A core is the combination of a front-end and a back-end.
- A core is able to fetch/decode/dispatch/exec instructions as well as load/store data.

What is NOT a core ?

- A back-end only is not a core.
- An execution unit alone is not a core.
- SMT (simultaneous multithreading – ie: Intel's Hyperthreading) is not a core. This technology does not "split" a core into 2 core. That's a 1 core / 2 thread design.

What AMD is calling a "core" ?

AMD Marketing decided to promote the K15-based CPUs (and newer) with Bulldozer Architecture as "8 core" CPU (ie: FX-8350). From a technical point of view, that's total bullshit. The design is based on a 4 core CPU with CMT. CMT is cluster multithreading (similar to SMT). It's another way to process 2 threads with one core. To achieve this, clusters are used in execution units. So, technically, a FX-8350 is a 4 core CPU able to process 8 threads at once (4C/8T).

AMD Marketing used the term "Core" to define an "Integer Cluster" and the term "Module" for a "Core".

Why this is only a marketing trick ?

If you look at the die of what's called "8 core" by the marketing team, it's obvious that the design is 4 core.



More important, AMD Engineers know exactly what a core is. All technical informations located inside AMD's bulldozer patents are correct. A core is called a core (not a "module") and a cluster is called a cluster (not a "Core").



Link for the original patent : https://docs.google.com/viewer?url=patentimages.storage.googleapis.com/pdfs/US20080263373.pdf

So, What to do ? Very Happy

CPU-World is all about technical stuff and reliable information about CPU, so I think it's time to correct that.

_________________
ES-Only Collector : http://www.engineering-sample.com
Universal Chip Analyzer (UCA) : https://x86.fr/uca / http://www.cpu-world.com/forum/viewtopic.php?t=34349
Back to top
View user's profile Send private message   Visit poster's website
Neon_WA



Joined: 08 Nov 2008
Posts: 7146
Location: Margaret River, West Australia

PostPosted: Sun Jun 08, 2014 10:20 pm    Post subject: Reply with quote

I'm not that up with internal workings of modern CPUs, but it looks like AMD using something similar to "hyper-threading" without calling it that

Had a look a various definitions of a core in a multi-cored processor.. and by all of those definitions it could only technically be called a 4 core processor Confused

Also looked at performance.. seemed pretty well on par with a 4 core / 8 thread Intel (be it a uni-processor Xeon)

_________________
There are 10 types of people in this world:
those who understand binary and those who don't. ~Author Unknown
http://www.x86-guide.net/Neon-WA/en/collection.html
Back to top
View user's profile Send private message [ Hidden ] MSN Messenger
smithy



Joined: 27 Apr 2008
Posts: 2906
Location: Sydney, Australia

PostPosted: Mon Jun 09, 2014 1:46 am    Post subject: Reply with quote

I think the die says it all
_________________
My former Intel collection:
www.smithschips.com.au
Back to top
View user's profile Send private message   Visit poster's website
debs3759



Joined: 18 Jan 2006
Posts: 9477
Location: Northampton, Divided Kingdom

PostPosted: Mon Jun 09, 2014 3:59 am    Post subject: Reply with quote

Even calling that an 8-thread processor is misleading if they don't qualify it as being 8 INTEGER threads, as there are still only 4 FPU threads.
_________________
My graphics card database can be found at http://www.gpuzoo.com.

I can resist anything except temptation.

Debs
Back to top
View user's profile Send private message  
KK_Fin



Joined: 01 Jul 2013
Posts: 835
Location: Finland

PostPosted: Mon Jun 09, 2014 4:02 am    Post subject: Reply with quote

I fully agree with Xsecret. Only 4 cores, not 8. Only marketing can make it to 8. Very Happy
_________________
1242 x86 CPUs in my collection (week 2 2026).
Back to top
View user's profile Send private message  
Neon



Joined: 04 Feb 2008
Posts: 1512
Location: Dallas, Texas, USA

PostPosted: Mon Jun 09, 2014 8:27 am    Post subject: Reply with quote

It seems that the definition of "core" is arbitrary.

AMD marketing now describes HSA-enabled APUs with 8 graphics processing units and 4 x86 processors as, "12 compute cores".

If we accept that there must be int and fp units present, then should we refer to 80486 as a zero-core processor?
Back to top
View user's profile Send private message [ Hidden ]
gshv



Joined: 01 Feb 2003
Posts: 7898
Location: Fairfax, VA USA

PostPosted: Fri Jun 13, 2014 12:47 am    Post subject: Reply with quote

Here is my take on it... The function of each core is to execute instructions independently from other cores. It means that N-core processor executes N separate threads at any given time. Hyper-Threaded cores work differently. Each HT core switches between two or more threads, something like thread 1 -> thread 2 -> ... -> thread T -> thread 1 -> ... (T is the number of threads supported by each core), but it can execute only one thread at a time. So, in that sense AMD processors do have 8 CPU cores, as they can run 8 threads at once. Intel Core i7 processors with Hyper-threading can also run 8 threads, but only 4 of them are running simultaneously (at any given point of time). In my opinion, sharing of some units, like FPU, cache or instruction fetch/decode unit, is not important. Unit/logic sharing may be the cause of poor performance if not properly implemented, but that's a not a reason to claim that the CPU has fewer cores than it actually has.

Gennadiy
Back to top
View user's profile Send private message [ Hidden ] Visit poster's website
xsecret



Joined: 01 Feb 2004
Posts: 1846
Location: France

PostPosted: Fri Jun 13, 2014 1:54 am    Post subject: Reply with quote

I think there is a misunderstanding about what a core is. What's your talking about is not a core, it's an execution unit (Integer ALU in that case). If I follow your definition of a core, each Haswell core has "4 core" because every one have 4 complete Int ALU (http://images.anandtech.com/reviews/cpu/intel/Haswell/Architecture/haswellexec.png). And if we use this, the lastest AMD APU are really "12 core" chips. The GPU "Compute Core" could be seen (from a marketing POV) as extra SIMD Execution Units. But the number of ALUs per core or per thread is really not related to the "core" itself. The important is of course to have at least one ALU per thread to avoid bottleneck. Another important think is to have an instruction decoding rate high enough to feed those units ... and that was not the case with earlier Bulldozer-based design (up to Piledriver), but that's another debate.

An actual Intel quad-core with Hyper-Threading IS able to run 8 threads simultaneously via context switching. But context switching is done before (and after) the executions unit. It's a register renaming trick. The exec units are not aware about which threads they're working on. They just execute instructions and they can actually execute instructions for up to 8 threads in the same flow.

Both AMD Bulldozer and Intel Haswell have 2 ALU per thread. Each AMD Cluster is build with 2 ALU and each Haswell core have 4 ALU (with SMT enabled, that's 2 ALU / thread). So, both FX-8350 and Core i7 4770K can work on 8 threads simultaneously with their 16 ALU. But both are 4 cores design.

_________________
ES-Only Collector : http://www.engineering-sample.com
Universal Chip Analyzer (UCA) : https://x86.fr/uca / http://www.cpu-world.com/forum/viewtopic.php?t=34349
Back to top
View user's profile Send private message   Visit poster's website
gshv



Joined: 01 Feb 2003
Posts: 7898
Location: Fairfax, VA USA

PostPosted: Sat Jun 14, 2014 9:48 pm    Post subject: Reply with quote

Core i7s can run 8 threads, but they cannot run 8 threads all the time. Modern processors translate x86 instructions into microops, and have an ability to execute different types of microops in parallel, one microinstruction per execution unit. This allows Intel i7 processors to run 8 threads at certain times, but this is not guaranteed. Say, you feed the processor a series of same x86 instructions, which are translated into one microop per instruction, and that microop can be executed only by one execution unit. On that code, Core i7 CPUs can only run 4 microops at a time, when Bulldozer CPUs will run 8 of them. This is because Bulldozer processors have two sets of schedule+execution units+load/store units+retire blocks.

Obviously, my example has nothing to do with real world applications. However, if you look at Hyper-Threading performance in real CPU intensive applications you will see that one thread may perform much better than the second thread. That should tell you that Core i7 processors do not usually run all 8 threads all the time. From the outside, it looks like a Core i7 processor runs 4 threads at a time, and can run up to 4 extra threads when the cores are not loaded, or when primary threads wait for data or if there is some other kind of thread blocking condition. So, in my opinion, FX-8xxx Bulldozer processors do have 8 cores. It is just each Bulldozer core performs much worse than Intel's Hyper-threaded core...

Gennadiy
Back to top
View user's profile Send private message [ Hidden ] Visit poster's website
xsecret



Joined: 01 Feb 2004
Posts: 1846
Location: France

PostPosted: Sat Nov 07, 2015 9:23 am    Post subject: Reply with quote

Let's bump this thread Smile

AMD sued over allegedly misleading Bulldozer core count

http://arstechnica.co.uk/tech-policy/2015/11/amd-sued-over-allegedly-misleading-bulldozer-core-count/

_________________
ES-Only Collector : http://www.engineering-sample.com
Universal Chip Analyzer (UCA) : https://x86.fr/uca / http://www.cpu-world.com/forum/viewtopic.php?t=34349
Back to top
View user's profile Send private message   Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    CPU-World.com forums Forum Index -> Modern Chips (Collectible Chips only) All times are GMT - 5 Hours
Page 1 of 1
Jump to:  
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum

Powered by phpBB © 2001 phpBB Group