dual-core vs. HyperThreading

bmcculley at rcn.com bmcculley at rcn.com
Wed Apr 25 22:01:19 EDT 2007



---- Original message ----

>"Michael ODonnell" <michael.odonnell at comcast.net> wrote:
>
>I've heard it suggested several times now that features
>like HyperThreading can be enabled or disabled "in the BIOS"
>and I don't understand how that can be possible.  AFAIK a CPU
>either does or doesn't have a given feature and there's nothing
>(short of modifying the CPU's microcode) that any BIOS can do
>to "disable" it, at least not in any way that would prevent a
>capable OS from doing as it pleased once it was booted.  So,
>what's the story?
> 

A lot of the CPU hardware features are controlled by bit flags that enable or disable the associated circuitry.  It's one tool for providing backward compatibility, or bug workarounds, especially for new features.  The OS would be capable of changing them, but should normally respect the bios settings (unless it implements *all* of the support required for that hardware feature), because otherwise it's likely to enable circuitry that requires bios code that is not present - think "unhandled exception".  not good.

Conceptual model for backward compatibility is a new feature, requiring low-level support (bios and drivers) to avoid or handle certain catastrophic failure modes.  Existing OS versions and/or mobos will not include such support.  Ergo, disable the feature by default and require explicit enabling in the code that supports it.  Benefits should be intuitively obvious.

If the feature is really significant, the bits to control it may be in a register that didn't exist previously.  If the register doesn't exist the feature can't be present, if the register does exist it may or may not be present and usable.  The HT flag seems to be an example, especially if the register was invented for one thing (hyperthread technology) and then bits in it were used for a subsequent feature (true multicore technology).

-Brucem


More information about the gnhlug-discuss mailing list