With this latest FX line AMD changed what is called a "core". When you do math there are two different types. INT math which uses whole Integer numbers (1 + 2 = 3) and FLT math which has a floating decimal point. (1.4 + 2.23 = 3.63) Prior to the FX, CPUs had a 1:1 ratio of Int and Flt engines per core. With the FX chips this changes as AMD doubled up the number of INT "cores" They also doubled the amount of decimal places the FLT cores could handle (I think going from 128 to 256) and the software needed to handle two 128 numbers at the same time. It's my personal belief that this is a problem for AMD and it's not working the way they want it and to much time is spent handling FLT the way it was before. But that's my own personal belief. If you count INT cores then yes. It's a 6 core chip. If you count FLT cores then no. It's a 3 core chip. You also can't add the GHz up together and get 21GHz. It doesn't work that way. (Think of a dully truck. Both sets of back tires are spinning at 60MPH on the highway. Are you going 60MPH, or 120MPH?)
If something loads your CPU only to 50% then it means whatever you are doing can't load as many cores as possible. Most games are coded to only use up to 3 or 4 cores max. If you are playing a game that can load 2 cores, and windows and other processes are using another, then you can load up to 3 cores. This is 50% of a 6 core chip. Try using something that can load all core.