← Documents Documentation/hwmon/coretemp.rst GitHub 원문 ↗

Linux 6.18.37 · Hardware Monitoring

Kernel driver coretemp

Intel DTS의 core·package temperature, sticky Out-Of-Spec alarm과 공정별 TjMax 목록입니다.

Source pathDocumentation/hwmon/coretemp.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

coretemp.rst:1-195

DTS가 보고하는 TjMax delta를 실제 온도로 변환하고 CPU model별 junction limit를 적용합니다.

문서 개요
항목
SourceDocumentation/hwmon/coretemp.rst
분량195 source lines
Resolution1 degree C
Range0~TjMax

원문 분량과 핵심 지원 범위입니다.

핵심 흐름
CPU model 식별TjMax 결정DTS delta 읽기Temperature·alarm 게시

측정과 제어의 기본 순서입니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 Kernel driver coretemp
2 ======================
3
4 Supported chips:
5 * All Intel Core family
6
7 Prefix: 'coretemp'
8
9 CPUID: family 0x6, models
10
11 - 0xe (Pentium M DC), 0xf (Core 2 DC 65nm),
12 - 0x16 (Core 2 SC 65nm), 0x17 (Penryn 45nm),
13 - 0x1a (Nehalem), 0x1c (Atom), 0x1e (Lynnfield),
14 - 0x26 (Tunnel Creek Atom), 0x27 (Medfield Atom),
15 - 0x36 (Cedar Trail Atom)
16
17 Datasheet:
18
19 Intel 64 and IA-32 Architectures Software Developer's Manual
20 Volume 3A: System Programming Guide
21
22 http://softwarecommunity.intel.com/Wiki/Mobility/720.htm
23
24 Author: Rudolf Marek
25
26 Description
27 -----------
28
29 This driver permits reading the DTS (Digital Temperature Sensor) embedded
30 inside Intel CPUs. This driver can read both the per-core and per-package
31 temperature using the appropriate sensors. The per-package sensor is new;
32 as of now, it is present only in the SandyBridge platform. The driver will
33 show the temperature of all cores inside a package under a single device
34 directory inside hwmon.
35
36 Temperature is measured in degrees Celsius and measurement resolution is
37 1 degree C. Valid temperatures are from 0 to TjMax degrees C, because
38 the actual value of temperature register is in fact a delta from TjMax.
39
40 Temperature known as TjMax is the maximum junction temperature of processor,
41 which depends on the CPU model. See table below. At this temperature, protection
42 mechanism will perform actions to forcibly cool down the processor. Alarm
43 may be raised, if the temperature grows enough (more than TjMax) to trigger
44 the Out-Of-Spec bit. Following table summarizes the exported sysfs files:
45
46 All Sysfs entries are named with their core_id (represented here by 'X').
47
48 ================= ========================================================
49 tempX_input Core temperature (in millidegrees Celsius).
50 tempX_max All cooling devices should be turned on (on Core2).
51 tempX_crit Maximum junction temperature (in millidegrees Celsius).
52 tempX_crit_alarm Set when Out-of-spec bit is set, never clears.
53 Correct CPU operation is no longer guaranteed.
54 tempX_label Contains string "Core X", where X is processor
55 number. For Package temp, this will be "Physical id Y",
56 where Y is the package number.
57 ================= ========================================================
58
59 On CPU models which support it, TjMax is read from a model-specific register.
60 On other models, it is set to an arbitrary value based on weak heuristics.
61 If these heuristics don't work for you, you can pass the correct TjMax value
62 as a module parameter (tjmax).
63
64 Appendix A. Known TjMax lists (TBD):
65 Some information comes from ark.intel.com
66
67 =============== =============================================== ================
68 Process Processor TjMax(C)
69
70 22nm Core i5/i7 Processors
71 i7 3920XM, 3820QM, 3720QM, 3667U, 3520M 105
72 i5 3427U, 3360M/3320M 105
73 i7 3770/3770K 105
74 i5 3570/3570K, 3550, 3470/3450 105
75 i7 3770S 103
76 i5 3570S/3550S, 3475S/3470S/3450S 103
77 i7 3770T 94
78 i5 3570T 94
79 i5 3470T 91
80
81 32nm Core i3/i5/i7 Processors
82 i7 2600 98
83 i7 660UM/640/620, 640LM/620, 620M, 610E 105
84 i5 540UM/520/430, 540M/520/450/430 105
85 i3 330E, 370M/350/330 90 rPGA, 105 BGA
86 i3 330UM 105
87
88 32nm Core i7 Extreme Processors
89 980X 100
90
91 32nm Celeron Processors
92 U3400 105
93 P4505/P4500 90
94
95 32nm Atom Processors
96 S1260/1220 95
97 S1240 102
98 Z2460 90
99 Z2760 90
100 D2700/2550/2500 100
101 N2850/2800/2650/2600 100
102
103 45nm Xeon Processors 5400 Quad-Core
104 X5492, X5482, X5472, X5470, X5460, X5450 85
105 E5472, E5462, E5450/40/30/20/10/05 85
106 L5408 95
107 L5430, L5420, L5410 70
108
109 45nm Xeon Processors 5200 Dual-Core
110 X5282, X5272, X5270, X5260 90
111 E5240 90
112 E5205, E5220 70, 90
113 L5240 70
114 L5238, L5215 95
115
116 45nm Atom Processors
117 D525/510/425/410 100
118 K525/510/425/410 100
119 Z670/650 90
120 Z560/550/540/530P/530/520PT/520/515/510PT/510P 90
121 Z510/500 90
122 N570/550 100
123 N475/470/455/450 100
124 N280/270 90
125 330/230 125
126 E680/660/640/620 90
127 E680T/660T/640T/620T 110
128 E665C/645C 90
129 E665CT/645CT 110
130 CE4170/4150/4110 110
131 CE4200 series unknown
132 CE5300 series unknown
133
134 45nm Core2 Processors
135 Solo ULV SU3500/3300 100
136 T9900/9800/9600/9550/9500/9400/9300/8300/8100 105
137 T6670/6500/6400 105
138 T6600 90
139 SU9600/9400/9300 105
140 SP9600/9400 105
141 SL9600/9400/9380/9300 105
142 P9700/9600/9500/8800/8700/8600/8400/7570 105
143 P7550/7450 90
144
145 45nm Core2 Quad Processors
146 Q9100/9000 100
147
148 45nm Core2 Extreme Processors
149 X9100/9000 105
150 QX9300 100
151
152 45nm Core i3/i5/i7 Processors
153 i7 940XM/920 100
154 i7 840QM/820/740/720 100
155
156 45nm Celeron Processors
157 SU2300 100
158 900 105
159
160 65nm Core2 Duo Processors
161 Solo U2200, U2100 100
162 U7700/7600/7500 100
163 T7800/7700/7600/7500/7400/7300/7250/7200/7100 100
164 T5870/5670/5600/5550/5500/5470/5450/5300/5270 100
165 T5250 100
166 T5800/5750/5200 85
167 L7700/7500/7400/7300/7200 100
168
169 65nm Core2 Extreme Processors
170 X7900/7800 100
171
172 65nm Core Duo Processors
173 U2500/2400 100
174 T2700/2600/2450/2400/2350/2300E/2300/2250/2050 100
175 L2500/2400/2300 100
176
177 65nm Core Solo Processors
178 U1500/1400/1300 100
179 T1400/1350/1300/1250 100
180
181 65nm Xeon Processors 5000 Quad-Core
182 X5000 90-95
183 E5000 80
184 L5000 70
185 L5318 95
186
187 65nm Xeon Processors 5000 Dual-Core
188 5080, 5063, 5060, 5050, 5030 80-90
189 5160, 5150, 5148, 5140, 5130, 5120, 5110 80
190 L5138 100
191
192 65nm Celeron Processors
193 T1700/1600 100
194 560/550/540/530 100
195 =============== =============================================== ================
196

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

Intel DTS, TjMax와 sysfs

1-63

이 driver는 Intel Core family 전체를 prefix `coretemp`로 지원합니다. CPUID family는 `0x6`이고 알려진 model은 `0xe` Pentium M DC, `0xf` Core 2 DC 65nm, `0x16` Core 2 SC 65nm, `0x17` Penryn 45nm, `0x1a` Nehalem, `0x1c` Atom, `0x1e` Lynnfield, `0x26` Tunnel Creek Atom, `0x27` Medfield Atom, `0x36` Cedar Trail Atom입니다. 자료는 Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3A이며 저자는 Rudolf Marek입니다.

Driver는 Intel CPU 내부의 DTS, 즉 Digital Temperature Sensor를 읽습니다. 적절한 sensor를 사용해 core별 temperature와 package별 temperature를 모두 읽습니다. Package sensor는 당시 새 기능으로 SandyBridge platform에만 있었으며, 한 package의 모든 core temperature를 hwmon의 단일 device directory 아래에 표시합니다.

Temperature는 Celsius로 측정하며 resolution은 1 degree C입니다. Register 값은 실제로 TjMax에서의 delta이므로 유효 temperature 범위는 0부터 TjMax까지입니다.

TjMax는 CPU model별 maximum junction temperature입니다. 이 온도에서 protection mechanism이 processor를 강제로 cooling합니다. Temperature가 TjMax를 넘어 Out-Of-Spec bit를 trigger할 만큼 상승하면 alarm이 발생할 수 있습니다.

모든 sysfs entry 이름에는 `core_id`가 들어가며 여기서는 X로 나타냅니다. `tempX_input`은 core temperature를 millidegrees Celsius로, `tempX_max`는 Core2에서 모든 cooling device를 켜야 하는 온도로, `tempX_crit`은 maximum junction temperature를 같은 단위로 제공합니다.

`tempX_crit_alarm`은 Out-of-spec bit가 set되면 1이 되고 절대 clear되지 않습니다. 이때 올바른 CPU 동작은 더 이상 보장되지 않습니다. `tempX_label`은 core sensor에서 `Core X`, package sensor에서 package number Y를 사용한 `Physical id Y`입니다.

지원 CPU에서는 model-specific register에서 TjMax를 읽습니다. 다른 model에서는 약한 heuristic으로 임의 값을 정합니다. 맞지 않으면 module parameter `tjmax`로 올바른 값을 전달할 수 있습니다.

coretemp ABI
Attribute의미
tempX_inputCore/package temperature, millidegrees Celsius
tempX_maxCore2에서 모든 cooling device를 켤 온도
tempX_critTjMax, maximum junction temperature
tempX_crit_alarmSticky Out-Of-Spec bit, CPU 동작 보장 상실
tempX_labelCore X 또는 Physical id Y
tjmaxHeuristic이 틀릴 때 module override

DTS delta를 TjMax 기준 실제 온도로 변환해 노출합니다.

DTS temperature 계산
CPU model과 core/package sensor 식별MSR 또는 heuristic으로 TjMax 결정DTS delta 읽기TjMax에서 delta를 빼 temperature 계산Out-Of-Spec 상태와 함께 sysfs 게시

TjMax와 register delta에서 실제 온도를 구합니다.

Kernel driver coretemp
======================

Supported chips:
  * All Intel Core family

    Prefix: 'coretemp'

    CPUID: family 0x6, models

                            - 0xe (Pentium M DC), 0xf (Core 2 DC 65nm),
                            - 0x16 (Core 2 SC 65nm), 0x17 (Penryn 45nm),
                            - 0x1a (Nehalem), 0x1c (Atom), 0x1e (Lynnfield),
                            - 0x26 (Tunnel Creek Atom), 0x27 (Medfield Atom),
                            - 0x36 (Cedar Trail Atom)

    Datasheet:

               Intel 64 and IA-32 Architectures Software Developer's Manual
               Volume 3A: System Programming Guide

               http://softwarecommunity.intel.com/Wiki/Mobility/720.htm

Author: Rudolf Marek

Description
-----------

This driver permits reading the DTS (Digital Temperature Sensor) embedded
inside Intel CPUs. This driver can read both the per-core and per-package
temperature using the appropriate sensors. The per-package sensor is new;
as of now, it is present only in the SandyBridge platform. The driver will
show the temperature of all cores inside a package under a single device
directory inside hwmon.

Temperature is measured in degrees Celsius and measurement resolution is
1 degree C. Valid temperatures are from 0 to TjMax degrees C, because
the actual value of temperature register is in fact a delta from TjMax.

Temperature known as TjMax is the maximum junction temperature of processor,
which depends on the CPU model. See table below. At this temperature, protection
mechanism will perform actions to forcibly cool down the processor. Alarm
may be raised, if the temperature grows enough (more than TjMax) to trigger
the Out-Of-Spec bit. Following table summarizes the exported sysfs files:

All Sysfs entries are named with their core_id (represented here by 'X').

================= ========================================================
tempX_input          Core temperature (in millidegrees Celsius).
tempX_max          All cooling devices should be turned on (on Core2).
tempX_crit          Maximum junction temperature (in millidegrees Celsius).
tempX_crit_alarm  Set when Out-of-spec bit is set, never clears.
                  Correct CPU operation is no longer guaranteed.
tempX_label          Contains string "Core X", where X is processor
                  number. For Package temp, this will be "Physical id Y",
                  where Y is the package number.
================= ========================================================

On CPU models which support it, TjMax is read from a model-specific register.
On other models, it is set to an arbitrary value based on weak heuristics.
If these heuristics don't work for you, you can pass the correct TjMax value
as a module parameter (tjmax).

22nm·32nm 알려진 TjMax

64-102

Appendix A의 TjMax 목록은 미완성(TBD)이며 일부 정보는 `ark.intel.com`에서 왔습니다. 아래 값의 단위는 Celsius입니다.

22nm Core i5/i7에서는 mobile·일반 desktop의 다수가 105C, S suffix가 103C, T suffix 일부가 91~94C입니다. 32nm 제품은 package와 form factor에 따라 90~105C이고 980X는 100C입니다.

22nm·32nm TjMax
공정/제품군ProcessorTjMax(C)
22nm Core i5/i7i7 3920XM, 3820QM, 3720QM, 3667U, 3520M105
22nm Core i5/i7i5 3427U, 3360M/3320M105
22nm Core i5/i7i7 3770/3770K105
22nm Core i5/i7i5 3570/3570K, 3550, 3470/3450105
22nm Core i5/i7i7 3770S103
22nm Core i5/i7i5 3570S/3550S, 3475S/3470S/3450S103
22nm Core i5/i7i7 3770T / i5 3570T / i5 3470T94 / 94 / 91
32nm Core i3/i5/i7i7 260098
32nm Core i3/i5/i7i7 660UM/640/620, 640LM/620, 620M, 610E105
32nm Core i3/i5/i7i5 540UM/520/430, 540M/520/450/430105
32nm Core i3/i5/i7i3 330E, 370M/350/33090 rPGA, 105 BGA
32nm Core i3/i5/i7i3 330UM105
32nm Core i7 Extreme980X100
32nm CeleronU3400 / P4505/P4500105 / 90
32nm AtomS1260/1220, S1240, Z2460, Z276095, 102, 90, 90
32nm AtomD2700/2550/2500, N2850/2800/2650/2600100, 100

원문의 processor별 TjMax를 그대로 정리합니다.

Known TjMax 적용
Process와 processor model 확인Known TjMax table 검색Package variant 확인일치하면 표의 Celsius 값 사용없으면 MSR 또는 heuristic 사용

CPU identity에 정확한 표 항목이 있으면 heuristic보다 우선합니다.

Appendix A. Known TjMax lists (TBD):
Some information comes from ark.intel.com

=============== =============================================== ================
Process                Processor                                        TjMax(C)

22nm                Core i5/i7 Processors
                i7 3920XM, 3820QM, 3720QM, 3667U, 3520M                105
                i5 3427U, 3360M/3320M                                105
                i7 3770/3770K                                        105
                i5 3570/3570K, 3550, 3470/3450                        105
                i7 3770S                                        103
                i5 3570S/3550S, 3475S/3470S/3450S                103
                i7 3770T                                        94
                i5 3570T                                        94
                i5 3470T                                        91

32nm                Core i3/i5/i7 Processors
                i7 2600                                                98
                i7 660UM/640/620, 640LM/620, 620M, 610E                105
                i5 540UM/520/430, 540M/520/450/430                105
                i3 330E, 370M/350/330                                90 rPGA, 105 BGA
                i3 330UM                                        105

32nm                Core i7 Extreme Processors
                980X                                                100

32nm                Celeron Processors
                U3400                                                105
                P4505/P4500                                         90

32nm                Atom Processors
                S1260/1220                                        95
                S1240                                                102
                Z2460                                                90
                Z2760                                                90
                D2700/2550/2500                                        100
                N2850/2800/2650/2600                                100

45nm 알려진 TjMax

103-159

45nm Xeon, Atom, Core2, Core i 계열의 TjMax는 제품군과 저전력 variant에 따라 70C부터 125C까지 넓게 분포합니다. `unknown`으로 표시된 CE series도 있습니다.

45nm TjMax
제품군ProcessorTjMax(C)
Xeon 5400 Quad-CoreX5492, X5482, X5472, X5470, X5460, X545085
Xeon 5400 Quad-CoreE5472, E5462, E5450/40/30/20/10/0585
Xeon 5400 Quad-CoreL5408 / L5430, L5420, L541095 / 70
Xeon 5200 Dual-CoreX5282, X5272, X5270, X5260 / E524090 / 90
Xeon 5200 Dual-CoreE5205, E5220 / L5240 / L5238, L521570,90 / 70 / 95
AtomD525/510/425/410, K525/510/425/410100
AtomZ670/650, Z560/550/540/530P/530/520PT/520/515/510PT/510P, Z510/50090
AtomN570/550 / N475/470/455/450 / N280/270100 / 100 / 90
Atom330/230125
AtomE680/660/640/620 / E680T/660T/640T/620T90 / 110
AtomE665C/645C / E665CT/645CT90 / 110
AtomCE4170/4150/4110 / CE4200 series / CE5300 series110 / unknown / unknown
Core2Solo ULV SU3500/3300100
Core2T9900/9800/9600/9550/9500/9400/9300/8300/8100105
Core2T6670/6500/6400 / T6600105 / 90
Core2SU9600/9400/9300, SP9600/9400, SL9600/9400/9380/9300105
Core2P9700/9600/9500/8800/8700/8600/8400/7570 / P7550/7450105 / 90
Core2 QuadQ9100/9000100
Core2 ExtremeX9100/9000 / QX9300105 / 100
Core i3/i5/i7i7 940XM/920, i7 840QM/820/740/720100
CeleronSU2300 / 900100 / 105

원문의 45nm processor 항목을 보존합니다.

45nm model 조회
Xeon·Atom·Core2·Core i 계열 분류Processor model과 suffix 대조복수 값이면 package variant 확인Unknown이면 table 값을 강제하지 않음결정한 TjMax로 DTS delta 변환

세부 suffix까지 일치시켜 올바른 junction limit를 고릅니다.

45nm                Xeon Processors 5400 Quad-Core
                X5492, X5482, X5472, X5470, X5460, X5450        85
                E5472, E5462, E5450/40/30/20/10/05                85
                L5408                                                95
                L5430, L5420, L5410                                70

45nm                Xeon Processors 5200 Dual-Core
                X5282, X5272, X5270, X5260                        90
                E5240                                                90
                E5205, E5220                                        70, 90
                L5240                                                70
                L5238, L5215                                        95

45nm                Atom Processors
                D525/510/425/410                                100
                K525/510/425/410                                100
                Z670/650                                        90
                Z560/550/540/530P/530/520PT/520/515/510PT/510P        90
                Z510/500                                        90
                N570/550                                        100
                N475/470/455/450                                100
                N280/270                                        90
                330/230                                                125
                E680/660/640/620                                90
                E680T/660T/640T/620T                                110
                E665C/645C                                        90
                E665CT/645CT                                        110
                CE4170/4150/4110                                110
                CE4200 series                                        unknown
                CE5300 series                                        unknown

45nm                Core2 Processors
                Solo ULV SU3500/3300                                100
                T9900/9800/9600/9550/9500/9400/9300/8300/8100        105
                T6670/6500/6400                                        105
                T6600                                                90
                SU9600/9400/9300                                105
                SP9600/9400                                        105
                SL9600/9400/9380/9300                                105
                P9700/9600/9500/8800/8700/8600/8400/7570        105
                P7550/7450                                        90

45nm                Core2 Quad Processors
                Q9100/9000                                        100

45nm                Core2 Extreme Processors
                X9100/9000                                        105
                QX9300                                                100

45nm                Core i3/i5/i7 Processors
                i7 940XM/920                                        100
                i7 840QM/820/740/720                                100

45nm                Celeron Processors
                SU2300                                                100
                900                                                 105

65nm 알려진 TjMax

160-195

65nm Core2 Duo·Extreme, Core Duo·Solo, Xeon 5000, Celeron의 알려진 TjMax 목록입니다. 대부분 100C이지만 일부 Core2와 Xeon은 70~95C 범위입니다.

65nm TjMax
제품군ProcessorTjMax(C)
Core2 DuoSolo U2200, U2100100
Core2 DuoU7700/7600/7500100
Core2 DuoT7800/7700/7600/7500/7400/7300/7250/7200/7100100
Core2 DuoT5870/5670/5600/5550/5500/5470/5450/5300/5270100
Core2 DuoT5250 / T5800/5750/5200100 / 85
Core2 DuoL7700/7500/7400/7300/7200100
Core2 ExtremeX7900/7800100
Core DuoU2500/2400100
Core DuoT2700/2600/2450/2400/2350/2300E/2300/2250/2050100
Core DuoL2500/2400/2300100
Core SoloU1500/1400/1300, T1400/1350/1300/1250100
Xeon 5000 Quad-CoreX5000 / E5000 / L5000 / L531890-95 / 80 / 70 / 95
Xeon 5000 Dual-Core5080, 5063, 5060, 5050, 503080-90
Xeon 5000 Dual-Core5160, 5150, 5148, 5140, 5130, 5120, 511080
Xeon 5000 Dual-CoreL5138100
CeleronT1700/1600, 560/550/540/530100

원문의 65nm processor별 값을 보존합니다.

Legacy CPU TjMax 선택
65nm family 확인Duo·Solo·Xeon·Celeron 분류Model row에서 TjMax 선택범위 표기면 platform 정보와 함께 판단tempX_crit에 적용

공정과 정확한 model 정보를 함께 사용합니다.

65nm                Core2 Duo Processors
                Solo U2200, U2100                                100
                U7700/7600/7500                                        100
                T7800/7700/7600/7500/7400/7300/7250/7200/7100        100
                T5870/5670/5600/5550/5500/5470/5450/5300/5270        100
                T5250                                                100
                T5800/5750/5200                                        85
                L7700/7500/7400/7300/7200                        100

65nm                Core2 Extreme Processors
                X7900/7800                                        100

65nm                Core Duo Processors
                U2500/2400                                        100
                T2700/2600/2450/2400/2350/2300E/2300/2250/2050        100
                L2500/2400/2300                                        100

65nm                Core Solo Processors
                U1500/1400/1300                                        100
                T1400/1350/1300/1250                                100

65nm                Xeon Processors 5000 Quad-Core
                X5000                                                90-95
                E5000                                                80
                L5000                                                70
                L5318                                                95

65nm                Xeon Processors 5000 Dual-Core
                5080, 5063, 5060, 5050, 5030                        80-90
                5160, 5150, 5148, 5140, 5130, 5120, 5110        80
                L5138                                                100

65nm                Celeron Processors
                T1700/1600                                        100
                560/550/540/530                                        100
=============== =============================================== ================