Date: Wed, 1 Nov 1995 01:08:04 -0800 (PST) From: "Rodney W. Grimes" <rgrimes@GndRsh.aac.dev.com> To: bde@zeta.org.au (Bruce Evans) Cc: gibbs@freefall.freebsd.org, wollman@lcs.mit.edu, current@FreeBSD.org, wollman@FreeBSD.org Subject: Re: Time problems Message-ID: <199511010908.BAA09757@GndRsh.aac.dev.com> In-Reply-To: <199511010723.SAA20983@godzilla.zeta.org.au> from "Bruce Evans" at Nov 1, 95 06:23:37 pm
next in thread | previous in thread | raw e-mail | index | archive | help
... > I confused precision and accuracy a bit in my previous mail. It isn't > true that the Pentium clock gives more precision in the current > implementation. If both clocks have _no_ drift but large inaccuracy, > then the precision is proportional by the the inverse of the factor > used to convert from a cycle count to a time. For the 8254 clock, > the factor is 11932 and for the Pentium clock it is 90. Thus the > Pentium clock is about 132 times less precise than the 8254 clock > unless someone made a point of making the Pentium clock frequency > an integral number of MHz. And there in lies a part of the problem, the clock frequency of the Pentium CPU is controlled by either a crystal or a clock synth chip wich is running at some frequency X. Instead of using X the code is using X / 1E6 loosing 6 digits of precision in the process :-(. I have hooked clock synth chips to high precission (12 to 15) digit frequency counters and believe me there are significant digits in that 1E6 area that is being truncated. It is also the cause of bogus dmesg crap like: CPU: 99-MHz Pentium 735\\90 or 815\\100 (Pentium-class CPU) That is wrong, this is a 9985304553 Hz clocked Pentium 815\100 (At 25 degrees C, 1 Atmosphere, it drifts with temperature a bit, and I am sure if I swapped power supplies it would shift some :-)) I would suggest that the intgral MHz be changed to Integral HZ, it will allow very fine resolution corrections, and the chip type selection code to be updated so that it correctly rounds per the following table when selecting the Icomp index value (and my table adds the seriously missing other Pentium chips): Integral MHZ iComp 59-61 510 65-67 567 74-76 610 * 89-91 735 99-101 815 119-121 1000 * 132-134 1110 * * I know at my last look these are missing from the iComp detection code. IMHO the whole idea of trying to print the iComp and/or model should be trashed, as there is nothing preventing me from running an A80502-133 SK106 (official Intel Part number) at anything from 10 to 1110 iComps, it's still an A80502-133!!!! The 1110\133 designation is marketing crap, meaningless to just about every one: CPU: Intel Pentium Processor clocked at 99.85 Mhz (Pentium class CPU) makes a lot more since to me! Also note the current messeage is not properly marking Pentium as a trademark, and wrongly using Pentium as a noun :-(. -- Rod Grimes rgrimes@gndrsh.aac.dev.com Accurate Automation Company Reliable computers for FreeBSD
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199511010908.BAA09757>