CPU has two calculation units. Integer and Floating point. CPU w/o hyperthreading can only do one type calculation at one time, but CPU with hyperthreading can do 1 integer calculation and 1 floating point at the same time. Hyperthreading would kick off if the application is optimized for hyperthreading.