Quote Originally Posted by Apokalipse View Post
One x86 core consists of an integer unit and floating point unit.
One bulldozer module contains two of each.

The FPU's just share a single scheduler, allowing them to ALSO process 1 x 256-bit instruction (decoded into 2 x 128-bit micro-ops) on top of being able to process their own threads separately.
micro-ops belonging to two threads can be issued by the FP scheduler simultaneously.

Or another way of looking at it:
a set of hardware capable of processing its own thread independently, without sharing execution pipelines with another thread (HyperThreading). A module can process two independent threads simultaneously (it has the hardware to do it, with both integer and FP instructions)
That's just your definition however. One could just as easily say that a core is everything from instruction fetch through instruction retire.

Even by your definition it wouldn't be two full cores because it isn't two full floating point units. It is one FP that can do work for either "core". Take away one half of that and the CPU couldn't compute the full instruction set.

IMO, "core" is a bad term.