Intel Q6600 CPU initialization
msnkipa at mail.ru
Mon Aug 4 16:15:26 UTC 2008
> On 3 Aug 2008, at 14:06, Михаил Кипа wrote:
> > I have got Intel Q6600 and use it under FreeBSD 7STABLE (RELENG7).
> > My cpu works with same
> > overclocking (instead of standart 266x9 (FSBxMultiplyer) i use
> > 425x8). When I boot my system I
> > have these messages on the screen (and in dmesg)
> > Timecounter "i8254" frequency 1193182 Hz quality 0
> > CPU: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz (3825.23-MHz K8-
> > class CPU)
> > Origin = "GenuineIntel" Id = 0x6fb Stepping = 11
> > But it really works ONLY on 3400MHz! not 3825.23-MHz!
> > Can somebody explain me where this value calculates?
> This value is calculated with the help of the RDTSC instruction.
> See section 10 of http://www.intel.com/assets/pdf/appnote/241618.pdf
> for a detailed description.
> Rui Paulo
OK I have found the place of that calculation in tsc.c. Calculation of the actual frequency of CPU by
the use of RDTSC instruction on Intel Core 2 microarchitecture is incorrect! Processor increments TSC
at a constant rate. That rate defined by MAXIMUM core-clock to bus-clock rate (CPU myltiplier), so if
myltiplier is not set to it`s maximum value speed will be incorrect. For example on Intel QX9650 that
operates as 400*9 (actual 3.6GHz) system calculate that CPU frequency is 5.6GHz (maximum myltiplier is
Is it critical that tsc_freq variable have wrong value? How is it affect to the system?
More information about the freebsd-amd64