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.
> 
> Regards,
> --
> 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 
14). 

Is it critical that tsc_freq variable have wrong value? How is it affect to the system?

Regards,
Mihail. 


More information about the freebsd-amd64 mailing list