'Speed' value interpretation

Hi,

On the Pentium IV 2.0 GHz I got:
CPU Machine Speed
1586/1587 PCI 62733

while on P IV 3.0 GHz:
CPU Machine Speed
1586/1587 PCI 19256

What is a properly interpretation of the SPEED value returned by ‘sin info’
command?

Regards,
Jacek

Jacek Rudnicki <jacek.rudnicki@quantum.com.pl> wrote:

Hi,

On the Pentium IV 2.0 GHz I got:
CPU Machine Speed
1586/1587 PCI 62733

while on P IV 3.0 GHz:
CPU Machine Speed
1586/1587 PCI 19256

What is a properly interpretation of the SPEED value returned by ‘sin info’
command?

It probably wrapped.

What version of QNX 4 are you running? Are you running the same on both?

What happens, basically, for the speed value is that a little benchmark
test loop is run during start up, and the (16-bit unsigned) result is
then recorded and displayed. It wraps at 65535, so if we look at “actual”
values, you have:

2GHz - 62733
3Ghz - 84791
84791/62733 = 1.35

So, the values are semi-reasonable.

But, the values are only feel-good for display purposes, the speed value
isn’t actually used internally for anything but the print-out in sin,
or anything else that chooses to get it from qnx_osinf(). (Unlike QNX2,
where the speed value was used for hardware timing loops.)

I ask about version of QNX 4, since the reported speed value was
rescaled at least a couple of times over the life of QNX 4 as CPUs
got faster and faster. So, comparisons of values accross different
versions of QNX4, even on identical machines, could be different. But,
this case looks like a simple wrap of the value.

-David

David Gibbs
QNX Training Services
dagibbs@qnx.com

Thank you David for clarification.

Jacek

It probably wrapped.

What version of QNX 4 are you running? Are you running the same on both?

What happens, basically, for the speed value is that a little benchmark
test loop is run during start up, and the (16-bit unsigned) result is
then recorded and displayed. It wraps at 65535, so if we look at “actual”
values, you have:

2GHz - 62733
3Ghz - 84791
84791/62733 = 1.35

So, the values are semi-reasonable.

But, the values are only feel-good for display purposes, the speed value
isn’t actually used internally for anything but the print-out in sin,
or anything else that chooses to get it from qnx_osinf(). (Unlike QNX2,
where the speed value was used for hardware timing loops.)

I ask about version of QNX 4, since the reported speed value was
rescaled at least a couple of times over the life of QNX 4 as CPUs
got faster and faster. So, comparisons of values accross different
versions of QNX4, even on identical machines, could be different. But,
this case looks like a simple wrap of the value.

-David

David Gibbs
QNX Training Services
dagibbs@qnx.com