i have a msi motherboard 970a- g46 and a amd fx 8300 eight core processor and i only see 4 core show up. how do i get all 8 core to show up, or do i have to unlock them please help.
It depends on the Operating System and Chipset Drivers.
In Windows 10, they should show as
Logical Processors: 8
But you'll find in Windows 8.1 or below, it will instead show as
Physical Cores: 8
Logical Cores: 8
There was a bit of a court case surrounding AMD's claim that it was an 8-Core Processor (which they lost) because actually while sure there is the argument that it has 2 Logic Units + 1 Floating Point Units; the reality here is that there were only 4 "Cores" actually present on the Processor (in an "8-Core" Design)., instead it had 2 Logical Processors for every Physical Core; which in turn each Physical Core had a single Maths & SIMD Co-Processor.
So, say you had the FX-6x00 ("6-Cores") that was actually 3 Cores 6 Threads., and the FX-4x000 was actually 2 Cores 4 Threads.
It's just the way the Drivers were exposing them to the OS / Software... well you'd access them each as if they were discreet (physical) Cores; and the argument was they were because each was a "Core" they were just in Dual Core Modules.
And again there is a valid argument (from AMD) there to that.. as SMT (Logical Threads) are typically 50% the Performance of a Physical Core; while HTT (Logical Threads) are typically 33% the Performance of a Physical Core.
While each "Logical Core" on K15 / K16 were and still are 100% Performance., and could be used to a degree asynchronously.
Ultimately it comes down to a matter of semantics, and people being angry that the Floating-Point performance sucked as AMD cut-costs by their Floating-Point Unit approach.
But then also consider that Bulldozer (K15) was NEVER intended to primarily use it's Floating-Point Unit., instead what AMD planned to do was phase out the FPU in favour of Compute Units; which you compare the performance of 4 Compute Units and well even if you're using Intel's FPU (which does remain the fastest FPU Design, for the moment)... you'd need about 48 of them to match Floating-Point and/or SIMD Performance.
Essentially what AMD had intended was to phase out the FPU, in favour of CU... keeping the FPU as a legacy fall back (albeit cutdown to reduce wasted space) for applications that still required it.
If you actually look back at benchmarks, the ONLY reason Bulldozer (FX CPUs) were as slow as they were... was entirely due to the limited FPU Support; in terms of Logic / Integer, it generally kept pace and in some cases beat Intel.
Heck it's why Ryzen is as good as it is; as at it's heart, there's still more than a little K10 / K15 Legacy in there for the Logic; but they heavily revamped the FPU.
Part of the irony being is I don't think they even give up on their Compute Unit idea, they just adapted it; so that it could run like a legacy FPU. Of course I can't be sure of this, but it was odd how they disabled OpenCL Support for Ryzen shortly after launch via an OpenCL Driver update.
I still like the idea, and if you ever get an A-Series Processor... I'd HIGHLY recommend testing out some OpenCL FPU Libraries; as you might be quite impressed with the results. It speaks somewhat more to the nature of modern developers, who seem to shy away from embracing new technologies unless being Sponsored to specifically do so; and even then they tend not to fully embrace them (NVIDIA's recently found this out with RTX, hence why the best examples of Minecraft RTX and Quake RTX come from THEIR own Software Engineers).
You go back 20 years though, as heck most programmers at the time leapt on new technologies often before they were even ready for prime time. A very different time we live in now.
That's just Windows incorrectly reporting the core count, due to the idiocy around the Bulldozer core count lawsuit (which AMD settled without admitting fault).