Central Processing Unit
cpu0 at mainbus?
cpu* at mainbus?
Several processor models have additional features that extend their base functionality, such as power and frequency control or thermal monitoring.
The sysctl(2) hw.cpuspeed returns the current operating frequency of the processor, though on some processors this value may be only 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:
- Found on Transmeta Crusoe processors, offering frequency scaling with numerous positions. The processor dynamically adjusts frequency in response to load; the setperf value is interpreted as the maximum.
- Enhanced SpeedStep found on Intel Pentium M processors, offering frequency scaling with numerous positions.
- Found on some Intel Pentium 3 and newer mobile chips, it is capable of adjusting frequency between a low and high value. It is only enabled on some chipsets.
- Thermal Control Circuit found on Intel Pentium 4 and newer processors, it can adjust processor duty cycle in 12.5 percent increments.
- Found on various AMD processors. It 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 the sysctl machdep.
- Supports the fxsave instruction.
- Supports the SSE instruction set.
- Supports the SSE2 instruction set.
- Supports the VIA AES encryption instruction set. If this is supported, the libcrypto EVP AES functions automatically use this support.
The sysctl(2) hw.sensors.cpu*.temp0 returns the current temperature reported by the processor.
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 report identical temperatures since the temperature is taken from the processor running the sensors update.