1.\" $OpenBSD: cpu.4,v 1.18 2018/01/12 04:36:44 deraadt Exp $ 2.\" 3.\" Copyright (c) 2004 Ted Unangst 4.\" All rights reserved. 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: 9.\" 1. Redistributions of source code must retain the above copyright 10.\" notice, this list of conditions and the following disclaimer. 11.\" 2. Redistributions in binary form must reproduce the above copyright 12.\" notice, this list of conditions and the following disclaimer in the 13.\" documentation and/or other materials provided with the distribution. 14.\" 15.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 16.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25.\" 26.Dd $Mdocdate: January 12 2018 $ 27.Dt CPU 4 i386 28.Os 29.Sh NAME 30.Nm cpu 31.Nd Central Processing Unit 32.Sh SYNOPSIS 33.Cd "cpu0 at mainbus?" 34.Cd "cpu* at mainbus?" 35.Sh DESCRIPTION 36Several processor models have additional features that extend their base 37functionality, such as power and frequency control or thermal monitoring. 38.Sh FREQUENCY CONTROL 39The 40.Xr sysctl 2 41hw.cpuspeed returns the current operating frequency of the processor, 42though on some processors this value may be only an approximation. 43If possible, speed may be adjusted by altering hw.setperf from 0 to 100, 44representing percentage of maximum speed. 45There are several possible implementations for setperf, all transparent 46to the user. 47In systems with more than one control capability, they are preferred in the 48order given: 49.Bl -tag -width tenletters 50.It LongRun 51Found on Transmeta Crusoe processors, offering frequency scaling with numerous 52positions. 53The processor dynamically adjusts frequency in response to load; the setperf 54value is interpreted as the maximum. 55.It EST 56Enhanced SpeedStep found on Intel Pentium M processors, 57offering frequency scaling with numerous positions. 58.It SpeedStep 59Found on some Intel Pentium 3 and newer mobile chips, 60it is capable of adjusting frequency between a low and high value. 61It is only enabled on some chipsets. 62.It TCC 63Thermal Control Circuit found on Intel Pentium 4 and newer processors, 64it can adjust processor duty cycle in 12.5 percent increments. 65.It PowerNow 66Found on various AMD processors. 67It currently only supports a limited set of models 68in the K6, K7, and K8 families. 69.El 70.Sh INSTRUCTION SET EXTENSIONS 71The presence of extended instruction sets can be determined by the 72sysctl machdep. 73.Bl -tag -width "tenletters" 74.It osfxsr 75Supports the fxsave instruction. 76.It sse 77Supports the SSE instruction set. 78.It sse2 79Supports the SSE2 instruction set. 80.It xcrypt 81Supports the VIA AES encryption instruction set. 82If this is supported, 83the libcrypto EVP AES functions automatically use this support. 84.El 85.Sh THERMAL MONITORING 86The 87.Xr sysctl 2 88hw.sensors.cpu*.temp0 returns the current temperature reported by the 89processor. 90.Sh SEE ALSO 91.Xr sysctl 8 92.Sh BUGS 93Due to the way in which thermal information is reported on Intel processors, 94the temperature may be off by exactly +/-15 degrees C. 95.Pp 96For multiprocessor kernels with more than one CPU sensor, 97processors report identical temperatures 98since the temperature is taken from the processor running the sensors update. 99