인텔과 AMD 간 차이를 보이는 또 다른 분야는 온도입니다. 비슷한 출시 시기 제품 비교에서 인텔과 AMD CPU 중 어느 것이 더 뜨겁냐는 논쟁이 심심치 않게 보이기도 하죠. 사실 두 제품은 설계(공정, 아키텍처 등)도 다르고, 전력 관리 특성도 다르기 때문에 동등한 비교는 어렵지만, CPU 온도는 쿨러 소음과 직결된 문제여서 많이 거론되는 주제 중 하나입니다.
CPU 온도는 정말 많은 요소가 관련되어 있습니다. 크게 CPU 부하에 따른 전력 소비량, 쿨링 설루션 역량 등이 있고 CPU 다이와 IHS*간 접합 정도, CPU 전압 편차, IHS와 쿨러 사이 밀착 정도, 쿨러 편차, 메인보드 전원부, 제조사 온도 제어 세팅 등 정말 많은 소요가 CPU 온도 및 전력 소비와 연관 있습니다. 그럼 CPU 제조사들은 어떤 방식으로 CPU 온도를 측정하고 있을까요?
*IHS: Integrated Heat Spreader. CPU 다이를 보호함과 동시에 CPU 쿨러 접촉 면적을 더 넓게 해주는 히트 스프레더
인텔 CPU 온도
인텔은 DTS(Digital Thermal Sensor)를 활용해 온도를 계산합니다. 인텔 DTS는 CPU 다이(die)에 있는 센서로, 이를 통해 온도를 계산합니다. 인텔은 이 DTS 센서 오차가 ±5 ℃에 불과하다고 설명하고 있습니다.
DTS를 통한 측정 값이 곧 CPU 온도인 것은 아닙니다. 대신 DTS는 CPU 한계 온도(Tjmax*)에서 얼마나 온도 여유(offset)가 있는지를 측정합니다. 즉, DTS를 통해 측정되는 값은 Distance to Tjmax입니다. 대부분 소프트웨어는 이 Distance to Tjmax 값을 기반으로 온도를 환산해 보여주는 것이죠. 간단한 예로, Tjmax가 100 ℃ 프로세서에서 DTS가 읽은 값(Distance to Tjmax)이 40이라면 CPU 온도는 60 ℃로 보고되는 방식입니다.
*Tjunction은 접합 온도로, 여기서 접합은 P형 반도체 - N형 반도체의 접합을 의미합니다. 통상적으로는 반도체 최심부 온도, 또는 반도체에서 가장 높은 온도를 뜻합니다. 정션 온도 혹은 Tj라고 줄여 쓰기도 하죠. 이 Tjunction 온도의 최댓값은 Tjmax라고 표현하며 주로 반도체의 온도 한계를 의미할 때 사용됩니다.
이 DTS를 통한 온도 산정 방식은 제품의 한계 온도(Tjmax)까지 얼마나 여유가 남았나를 계산하게 됩니다. 이 Distance to Tjmax 값은 써멀 쓰로틀링을 비롯한 OTP(Over Temperature Protection), PROCHOT(Processor Hot) 기능과도 연관 있습니다. 이 Tjmax를 BIOS를 통해 수정할 수 있지만, 스펙과 다르게 설정할 경우 적절한 타이밍에 보호 회로가 작동하지 않아 제품 손상의 여지가 있습니다.
Tjmax가 100 ℃인 기본 설정. 한계 온도를 넘지 않도록 보호 회로 작동
Tjmax가 115 ℃로 설정된 상황. CPU 온도가 최고 107 ℃에도 Tjmax까지 여유가 8 ℃ 남아 쓰로틀링 이 걸리지 않음
Tjmax가 115 ℃로 설정된 상황. CPU 온도가 최고 113 ℃를 찍어야 쓰로틀링이 작동
DTS가 시스템에 값을 전달할 때 MSR(Model Specific Register)과 PECI(Platform Environmental Control Interface)라는 두 가지 방법을 통해 전달됩니다. MSR로 전달될 경우 정보 요청이 왔을 때 그 순간의 DTS 값을 알려줍니다. 반면 PECI는 256 ms 동안 DTS를 통해 측정된 가장 높은 온도의 평균 값을 전달합니다. 인텔은 팬 컨트롤 등의 목적을 위해 PECI를 통한 CPU 온도 측정을 권장하고 있습니다.
한편, CPU에는 Tcase라는 온도 값도 있습니다. 이 Tcase 값은 인텔 CPU에선 IHS 정중앙 표면 온도 값으로, 주로 CPU 및 쿨러 개발 단계에서 TTV(Thermal Test Vehicle)를 통해 발열 특성을 살펴보기 위해 이용되는 지표입니다. 인텔 Core 시리즈의 Tcase 스펙은 통상 TDP/PBP를 타겟으로 측정하고 있습니다.
AMD CPU 온도
이 부분에서 AMD의 확실한 정보를 찾기는 쉽지 않았습니다. 인텔과 달리 AMD는 최신 제품에 대한 기술 문서나 백서 등, 데이터를 공개하지 않고 있기 때문인데요. 그렇기 때문에 서드파티 혹은 예전 자료를 참고할 수밖에 없는 한계가 있습니다.
AMD 라이젠 시리즈도 인텔과 비슷하게 다이에 온도 센서를 탑재해 측정하고 있습니다. CPU 코어뿐 아니라 주변 인터페이스, 메모리 컨트롤러 등 다이 전반에 걸쳐 많은 센서가 있습니다. 이 CPU 다이에 있는 온도 센서를 통해 읽어내는 온도는 SB-TSI(Side-Band Temperature Sensor Interface)라는 인터페이스를 통해 전달되고 AMD TCC(Temperature Calculation Circuit)를 통해 계산됩니다. 이를 통해 얻는 온도 값은 Tdie와 Tctl가 있습니다.
Tdie는 CPU 다이 센서로, 실제 CPU 온도를 의미합니다. 물론 최종적으로 소프트웨어에 기록되는 과정에서 여러 보정, 작업 및 평균 계산 등이 이루어집니다. AMD 공식 소프트웨어인 Ryzen Master는 이 Tdie 평균 값을 읽어드리는 것으로 알려져 있습니다.
Tctl은 Tcontrol의 약자입니다. 이 Tctl은 CPU 팬 컨트롤을 위한 지표로, CPU 온도(Tdie)에 특정 값을 더한 오프셋 값입니다. 일부 Ryzen 프로세서는 특정 값이 Tdie에 추가되어 팬 컨트롤을 위한 Tctl이 설정되지만, 대부분 별도 추가 값 없이 Tdie와 Tctl이 동일한 값으로 설정되어 있습니다.
공통적으로 양사 모두 CPU 다이에 무수히 많은 온도 센서를 탑재하고 이를 1/1000 초, ms 단위로 세밀하게 측정하고 모니터링하고 있습니다. 또한 CPU 온도는 팬 컨트롤에 직접 영향을 주는 요소인 만큼, 팬 RPM이 급격하게 변하지 않도록 여러 자체 알고리즘 및 평균화 등을 통해 값을 보정하여 출력하고 있습니다.
이 온도 센서 처리 메커니즘이나 CPU 온도 센서가 정확히 CPU 다이에서 어느 위치에 탑재되어 있는지 등 세부 사항은 공개되어 있지 않은 경우가 많아 알 수 없는 부분도 분명 있습니다.
CPU 온도에 영향을 주는 또 다른 요인은 바로 CPU 다이 크기입니다. 효과적인 열 해소를 위해선 넓은 면적이 좋은 수단입니다. 하지만 CPU 다이 크기가 작으면 작을 수록 동일한 발열량(소비 전력)이라도 열 저항, 열 밀도가 증가해 열을 빠르게 식히기가 어렵습니다. 아래는 CPU 소비 전력이 100 W 일 때 열 밀도를 계산한 수치입니다. 동일 발열량일 때, 더 큰 다이 면적은 발열을 해소하기에 좀 더 용이합니다. |