dual-core vs. HyperThreading

Dave Johnson dave-gnhlug at davej.org
Sat Apr 28 22:28:57 EDT 2007


Thomas Charron writes:
> On 4/25/07, Michael ODonnell <michael.odonnell at comcast.net> wrote:
> > > I can definitely confirm that my core 2 quad system has no HT
> > > available to turn on in the bios (but does show ht in the cpuflags,
> > > which aligns with other comments in the thread).
> > 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?
> 
>   I don't know the specifics, but the BIOS has to 'turn the bits on'.
> There are thousands of Toshiba laptop owners who wished Toshiba would
> enable the VT bit in their damned BIOS screens for their Intel Core 2
> Duo chips.

Unfortunately this is a feature.  CPUs, Chipsets, etc.. usually have
things like this in Write-Once or Write-Lock registers.  After reset,
the register can we written exactly once or can be set to lock in the
values until the next reset.

BIOS code makes sure to write all of these registers once to
enable/disable features as it sees fit.  This is usually good as
typically they are uses for board-specific enable/disables.  It makes
no sense to enable a PCI device or bridge if there is nothing
connected to it on the board as an example.  Another use is for
features that can only be enabled or modified early in the boot
process before memory is configured or IO devices setup, making
changes afterwards would give unpredictable results.  Locking these
down makes sense as any changes could lock up the system.

Turning HT on/off on the fly seems unlikely to work at the OS level as
I'm sure there is some initializations needed that aren't trivial or
likely known to the OS.  Same goes for VT.

-- 
Dave



More information about the gnhlug-discuss mailing list