CPU(4)

NAME
cpu - Central Processing Unit

SYNOPSIS
cpu0 at mainbus?
cpu* at mainbus?

DESCRIPTION
Several processor models have additional features that extend their base functionality, such as power and frequency control or thermal monitoring.

FREQUENCY CONTROL
The sysctl(3) hw.cpuspeed will return the current operating frequency of the processor (on some processors this value may be an approximation). If possible, speed may be adjusted by altering hw.setperf from 0 to 100, representing percentage of maximum speed. There are several possible implementations for setperf, all transparent to the user. In systems with more than one control capability, they are preferred in the order given.

LongRun
    Found on Transmeta Crusoe processors, offers frequency scaling with numerous positions. The processor dynamically adjusts frequency in response to load, the setperf value is interpreted as the maximum.

EST Enhanced SpeedStep found on Intel Pentium M processors, offers frequency scaling with numerous positions.

SpeedStep
    Found on some Intel Pentium 3 and newer mobile chips, it is capable of adjusting frequency between a low and high value. Only enabled on some chipsets.

TCC Thermal Control Circuit found on Intel Pentium 4 and newer processors, adjusts processor duty cycle in 12.5 percent increments.

PowerNow
    Found on various AMD processors. Currently only supports a limited set of models in the K6, K7, and K8 families.

INSTRUCTION SET EXTENSIONS
The presence of extended instruction sets can be determined by sysctl machdep.

osfxsr
    Supports the fxsave instruction.

sse Supports the SSE instruction set.

sse2
    Supports the SSE2 instruction set.

xcrypt
    Support the VIA AES encryption instruction set. If this is supported, the libcrypto EVP AES functions will automatically use this support.

THERMAL MONITORING
The sysctl(3) hw.sensors.cpu*.temp0 will return the current temperature reported by the processor.

SEE ALSO
sysctl(8)

BUGS
Due to the way in which thermal information is reported on Intel processors, the temperature may be off by exactly +/-15 degrees C.

For multiprocessor kernels with more than one CPU sensor, processors will report identical temperatures since the temperature is taken from the processor running the sensors update.