CPU(4)                OpenBSD Programmer's Manual (i386)                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 im-
     plementations 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 scal-
                 ing with numerous positions.  The processor dynamically ad-
                 justs frequency in response to load, the setperf value is in-
                 terpreted as the maximum.

     EST         Enhanced SpeedStep found on Intel Pentium M processors, of-
                 fers 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 in-
                 crements.

     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 proces-
     sors, 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.

OpenBSD 4.7                      July 13, 2009                               2
