열·전력 공급·스로틀링
새 휴대폰의 벤치마크를 돌리면 첫 판은 놀라운 점수가 나온다. 그런데 같은 테스트를 스무 번 연달아 돌리면 점수가 30~40% 떨어진다. 칩이 고장 난 것도, 배터리가 닳은 것도 아니다. 손에 쥔 유리판이 너무 뜨거워지지 않도록 칩이 스스로 클럭을 내린 것이다. 이 장에서는 열이 칩에서 손바닥까지 흘러가는 길을 전기 회로처럼 풀어 보고, 그 반대 방향으로 배터리의 전기가 수십억 개 트랜지스터까지 흘러드는 길도 따라간다. 둘 다 SoC의 "진짜 성능"을 정하는 숨은 한계다.
- 열 저항과 열 용량을 전기 회로의 저항·커패시터로 보고 온도 상승과 시간 상수를 계산한다.
- 휴대폰의 지속 전력이 칩의 접합 온도보다 손에 닿는 표면 온도로 묶이는 이유를 설명한다.
- 스로틀링 제어기를 돌려 순간 성능과 지속 성능의 차이를 확인하고, 온도-누설 되먹임과 열 폭주를 이해한다.
- PMIC·인덕터·패키지·온칩 전원망을 지나는 동안 생기는 IR 강하와 di/dt 전압 강하를 계산한다.
- 배터리의 내부 저항이 큰 전류를 낼 때 전압을 끌어내려, 추운 날 휴대폰이 갑자기 꺼지는 현상을 설명한다.
열은 전기처럼 흐른다
12장에서 칩이 쓴 전기 에너지는 결국 모두 열이 된다는 것을 보았다. 4 W를 쓰는 칩은 4 W의 난로다. 이 열이 어떻게 빠져나가는지 계산하는 데는 놀랍도록 간단한 비유가 통한다. 열의 흐름(W)을 전류로, 온도(°C)를 전압으로 보면, 열이 통과하기 어려운 정도는 저항이 되고, 열을 담아 두는 능력은 커패시터가 된다.
아래 그림에서 전원을 켜고 끄며 온도가 어떻게 따라오는지 보자. 열 저항은 최종 온도를, 열 용량은 그 온도에 도달하는 속도를 정한다. 열 용량이 큰 물체는 같은 열을 받아도 천천히 데워지고 천천히 식는다.
휴대폰 전체의 열 용량은 생각보다 크다. 무게 약 200 g의 휴대폰은 유리·알루미늄·배터리를 합쳐 열 용량이 150 J/K 안팎이고, 표면에서 공기로 열을 내보내는 열 저항은 대략 5~8 K/W다. 시간 상수는 십수 분이다. 그래서 휴대폰은 처음 몇 분 동안은 10 W 가까이 써도 버티지만, 시간이 지나면 결국 열 저항이 정하는 한계로 내려와야 한다. 이 열 용량이라는 완충기가 순간 성능과 지속 성능을 가르는 핵심이다.
칩에서 손바닥까지
실제 열은 한 개의 저항이 아니라 여러 저항을 줄지어 지난다. 트랜지스터가 있는 실리콘 표면(접합(Junction))에서 시작해, 패키지와 그 위에 얹힌 DRAM(PoP), 열 계면 물질(TIM), 그래파이트 시트나 베이퍼 챔버(Vapor chamber) 같은 열 확산판, 기기 뒷면 유리, 마지막으로 공기와 손으로 간다. 직렬 저항이므로 같은 열이 모든 저항을 지나고, 각 저항에서 \(P \cdot R\)만큼씩 온도가 떨어진다.
여기에는 두 개의 한계가 있다. 하나는 실리콘이 견디는 최대 접합 온도 \(T_{j,\max}\)(보통 105~125 °C)이고, 다른 하나는 사람이 오래 쥐어도 불편하지 않은 표면(스킨) 온도(약 43~45 °C)다. 아래 그림에서 어느 한계가 먼저 걸리는지 보자.
결론은 분명하다. 휴대폰의 지속 전력은 대부분 표면 온도가 정한다. 표면 열 저항이 6 K/W라면 25 °C 실내에서 표면을 43 °C 아래로 두는 전력은 3 W 남짓이다. 베이퍼 챔버는 칩 바로 위의 뜨거운 점을 넓게 펴서 접합 온도를 크게 낮추지만, 표면 → 공기 저항은 그대로라 지속 전력을 늘리는 효과는 제한적이다. 반대로 노트북은 팬으로 공기를 강제로 흘려 표면 열 저항을 크게 낮추고, 데스크톱은 큰 방열판으로 수백 W를 버린다. 같은 칩 설계라도 들어갈 기기에 따라 쓸 수 있는 전력이 10배 이상 다르다.
표면 온도는 직접 잴 수 없어서, 칩과 기판 곳곳의 온도 센서 값으로 추정한 "가상 스킨 온도"를 쓴다. 칩 안에는 큰 코어·GPU·NPU·모뎀 근처마다 다이오드나 링 오실레이터 기반 센서가 있어 핫스팟을 ms 단위로 감시한다.
5분 뒤 점수가 떨어지는 이유
이제 그림 13-1과 13-2를 합쳐 휴대폰 전체의 열 모델을 만들어 보자. 다이·패키지(열 용량 작음), 기판·확산판(중간), 몸체·표면(열 용량 큼)의 세 마디를 저항으로 이었다. 게임을 시작하면 SoC는 최고 성능으로 약 9 W를 쓴다. 열 스로틀링(Thermal throttling) 제어기는 온도 센서를 보고 접합 온도나 표면 온도가 한계를 넘으면 DVFS의 최고 P-state를 한 단계씩 내리고(12장), 한계보다 히스테리시스만큼 식으면 다시 올린다.
게임 20분: 순간 성능과 지속 성능
그래프의 모양을 눈여겨보자. 처음 1~2분은 열 용량이 열을 빨아들이는 동안이라 최고 성능이 유지된다. 이어서 다이 온도가 한계에 닿아 성능이 조금 내려가고, 몇 분 뒤 몸체 온도가 올라오면 표면 한계에 걸려 다시 크게 내려간다. 최종 프레임률은 표면 열 저항이 허락하는 약 3 W에서 나오는 값이다. 처음의 높은 점수는 열 용량을 빌려 쓴 성능이었던 셈이다. 끝부분에서 성능이 몇 분 주기로 오르내리는 것도 보인다. 몸체의 시간 상수가 길어서, 제어기가 성능을 올린 결과가 표면 온도에 나타나기까지 몇 분이 걸리기 때문이다. 느린 대상을 단순한 켜고-끄기식 제어기로 다룰 때 흔히 생기는 출렁임이다.
표면 한계 43 °C와 표면 → 공기 열 저항 6 K/W로 먼저 계산해 보자.
답 보기
표면과 공기의 온도 차가 18 K에서 8 K로 줄어드니, 표면으로 내보낼 수 있는 전력도 약 3 W에서 1.3 W로 절반 아래가 된다. 시뮬레이터에서는 성능이 최저 단계 근처까지 떨어진다. 여름에 야외에서 게임을 하면 휴대폰이 유난히 버벅이는 이유다. 반대로 팬을 붙이면 같은 칩이 훨씬 높은 지속 성능을 낸다. 게이밍 휴대폰의 냉각 액세서리가 실제로 효과가 있는 이유다.
스로틀링 제어기 설계에도 균형이 필요하다. 히스테리시스가 너무 작으면 한계 근처에서 클럭이 올라갔다 내려갔다를 반복해 프레임률이 출렁이고, 너무 크면 필요 이상으로 오래 낮은 성능에 머문다. 실제 시스템은 PID 제어기나 전력 예산을 직접 나눠 주는 방식(IPA, Intelligent power allocation)으로 CPU와 GPU에 전력을 배분해 출렁임을 줄인다. 게임 쪽에서도 처음부터 지속 가능한 프레임률(예: 60 fps)로 고정해 두는 것이 사용자 경험에 더 좋은 경우가 많다.
다이 위의 핫스팟
지금까지는 칩을 온도가 하나인 점으로 보았다. 실제로는 다이 안에서도 온도 차가 크다. 큰 CPU 코어는 면적이 2~3 mm²밖에 안 되는데 4 W 이상을 쓰므로 전력 밀도가 1 W/mm²를 넘는다. 전기 레인지의 화구(약 0.1 W/mm²)보다 열 배 높다. 실리콘은 열을 잘 전하지만(약 150 W/m·K) 다이가 얇아서 옆으로 퍼지는 거리에 한계가 있고, 열은 대부분 아래(또는 위) 패키지로 빠진다. 그래서 작은 고밀도 블록 위에 핫스팟(Hotspot)이 생긴다.
아래는 SB-1 다이 위의 2차원 열 확산 시뮬레이션이다. 블록을 누를 때마다 그 블록의 활동률이 0 → 50% → 100% → 0으로 바뀐다. 상황을 고르고, 큰 코어 하나에 일을 몰아 보자. 코어 돌려쓰기를 켜면 운영체제가 무거운 작업을 0.4초마다 다른 큰 코어로 옮긴다.
SB-1 열지도: 열 확산 방정식
평균 전력은 똑같다. "한 코어에 몰기"에서 최고 온도를 읽은 뒤, 예측하고 나서 코어 돌려쓰기를 켜 보자.
답 보기
최고 온도가 수 °C~10 °C 가까이 내려간다. 코어 하나의 열 시간 상수가 0.4초보다 짧지 않아서, 다른 코어로 옮겨 간 동안 식을 시간을 얻기 때문이다. 단, 코어를 옮길 때마다 캐시를 새로 채워야 하므로(5장) 너무 자주 옮기면 성능을 잃는다. 실제 운영체제는 온도가 한계에 가까울 때만 이런 이동을 쓴다.
한 코어에 일을 몰면 그 코어만 주변보다 20~30 °C 뜨거워진다. 다이 평균 온도는 낮아도 그 한 점 때문에 스로틀링이 걸린다. 같은 전력을 세 코어에 돌려 가며 쓰면 핫스팟 최고 온도가 눈에 띄게 낮아진다. 이 때문에 SoC 평면 배치(17장)에서는 뜨거운 블록들을 서로 떨어뜨려 놓고, 큰 코어 사이에 캐시처럼 전력 밀도가 낮은 블록을 끼워 넣는다. 공정이 미세해질수록 트랜지스터는 작아지지만 전력은 그만큼 줄지 않아 전력 밀도는 오히려 올라간다. 핫스팟은 점점 더 중요한 문제가 되고 있다.
온도와 누설의 되먹임
12장에서 누설 전류가 온도에 지수로 늘어난다는 것을 보았다. 그러면 이런 고리가 생긴다. 칩이 뜨거워진다 → 누설이 는다 → 전력이 는다 → 더 뜨거워진다. 이 고리가 언제 멈추고, 언제 멈추지 않을까? 답은 두 곡선의 교점에 있다. 칩이 만드는 열 \(P_{\text{gen}}(T) = P_{\text{dyn}} + P_{\text{leak},0}\,e^{(T-25)/\theta}\)와 열 경로가 내보내는 열 \(P_{\text{out}}(T) = (T - T_a)/R_{th}\)이다.
이 현상을 열 폭주(Thermal runaway)라 부른다. 정상적인 휴대폰에서는 스로틀링과 과열 보호가 먼저 개입하므로 실제 폭주까지 가는 일은 드물다. 하지만 이 되먹임은 늘 작동하고 있다. 냉각이 나쁜 기기에서 같은 일을 하면 누설이 늘어 전력이 더 들고, 그만큼 배터리도 빨리 준다. 누설 비중이 큰 칩일수록 냉각에 민감하다. 데이터센터의 서버 칩 설계자들이 "온도를 10 °C 낮추면 전력이 몇 % 준다"를 따로 계산하는 이유다.
전력 공급망: 배터리에서 트랜지스터까지
이번에는 열과 반대 방향의 흐름을 보자. 배터리는 3.4~4.4 V를 내지만, 3 nm급 트랜지스터는 0.5~1.05 V로 동작한다. 그 사이를 잇는 것이 PMIC(Power management IC)다. 휴대폰의 PMIC는 수십 개의 전압 조정기를 품고 CPU 클러스터·GPU·메모리·I/O마다 따로 전압을 만든다. 큰 전류가 필요한 레일에는 효율이 90% 안팎인 벅 변환기(Buck converter)를 쓴다. 스위치를 빠르게 켜고 끄며 인덕터에 에너지를 담았다 풀어 평균 전압을 낮추는 회로다.
PMIC를 나온 전류는 기판 배선, 패키지의 볼과 비아, 다이 아래의 범프를 지나 다이 위의 전원망(PDN, Power delivery network)으로 들어간다. 전원망은 가장 두꺼운 상위 금속층에 깐 격자이고, 아래 층으로 비아를 타고 내려가 각 셀에 닿는다. 금속도 저항이 있으므로 전류가 흐르면 \(V = IR\)만큼 전압이 떨어진다. 이것이 IR 강하(IR drop)다. 0.75 V로 동작하는 칩에서 30 mV만 떨어져도 전압의 4%이고, 게이트 지연은 그보다 더 크게 는다.
실제 칩에는 범프가 수천~수만 개 있고, 설계 도구가 수억 개 마디의 전원망을 풀어 IR 강하가 전압의 5% 안팎을 넘지 않는지 확인한다. 전원망은 금속 배선 자원의 20~40%를 차지하며, 신호 배선과 자리를 다툰다. 최근에는 웨이퍼 뒷면에 전원망을 따로 까는 후면 전력 공급(Backside power delivery) 기술로 이 다툼을 피하려는 공정도 나오고 있다(2025년 무렵 양산 시작).
순간 전압 강하: di/dt 문제
IR 강하는 일정한 전류에서의 이야기다. 더 까다로운 것은 전류가 갑자기 바뀔 때다. 큰 코어가 유휴에서 깨어나 몇 ns 만에 전류가 수 A 늘면, 패키지와 기판의 인덕턴스 \(L\)이 \(V = L\,di/dt\)만큼 전압을 막아선다. 그동안 필요한 전하는 다이 안의 디커플링 커패시터(Decap)가 빌려 준다. 인덕턴스와 커패시턴스가 만나면 공진 회로가 되므로, 전압은 한 번 크게 꺼졌다가 출렁이며 회복된다. 이를 전압 드룹(Voltage droop)이라 한다.
설계자들은 이 문제를 여러 겹으로 막는다. 칩 쪽에서는 빈 공간마다 디캡 셀을 채우고, 패키지에는 실리콘 커패시터를 다이 바로 아래에 붙인다. 동작 쪽에서는 코어가 한 번에 깨어나지 않고 몇 단계에 걸쳐 전류를 늘리게 하고(di/dt 제한), 드룹 감지기가 전압이 떨어지는 순간 클럭을 잠깐 늦추는 적응형 클럭(Adaptive clocking)을 쓴다. 적응형 클럭이 있으면 최악의 드룹에 대비해 전압을 미리 높여 둘 필요가 줄어, 평소 전압을 수십 mV 낮출 수 있다. 12장에서 본 대로 전압 몇 %는 전력 몇 %의 두 배다.
특정 주기로 전류를 껐다 켰다 하는 코드(예: 공진 주파수와 맞는 주기로 연산 묶음을 반복)는 드룹을 공진으로 키울 수 있다. 실제로 이런 "전력 바이러스" 프로그램은 칩 검증에서 최악 조건을 찾는 데 쓰인다. 반대로 공격자가 의도적으로 드룹을 일으키는 결함 주입 공격도 있다(16장).
배터리: 용량, C-레이트, 전압 처짐
공급망의 출발점인 리튬 이온 배터리도 이상적인 전압원이 아니다. 배터리의 개방 전압(OCV, Open-circuit voltage)은 충전 상태(SOC)에 따라 4.2 V(완충)에서 3.0 V(방전)까지 변하고, 안에는 수십~수백 mΩ의 내부 저항이 있다. 전류를 많이 뽑으면 단자 전압이 \(I R_{\text{int}}\)만큼 처진다. 전류의 크기는 흔히 용량 대비 배율인 C-레이트(C-rate)로 말한다. 5,000 mAh 배터리에서 5 A는 1C, 10 A는 2C다.
문제는 SoC가 일정한 전력을 원한다는 데 있다. 전압이 처지면 같은 전력을 내기 위해 전류가 더 늘고, 그러면 더 처진다. 추위에는 내부 저항이 몇 배로 커진다. 아래 그림에서 온도를 내리고 순간 전력을 올려 보자. 단자 전압이 시스템의 최저 동작 전압(약 3.3 V) 아래로 내려가면 휴대폰은 배터리가 남아 있어도 꺼진다.
그래서 PMIC와 운영체제는 배터리 상태를 보며 순간 최대 전력도 제한한다. 배터리가 낡아 내부 저항이 커지거나 날이 추우면, 순간 전력 요구가 큰 최고 P-state를 막아 갑작스러운 꺼짐을 피한다. 몇 년 쓴 휴대폰이 느려지는 이유 중 하나다. 열(뒤로 흐르는 에너지)과 전력 공급(앞으로 흐르는 에너지)은 이렇게 함께 SoC의 실제 성능 상한을 정한다.
| 한계 | 대략값 | 비고 |
|---|---|---|
| 최대 접합 온도 Tj,max | 약 105~125 °C | 휴대폰 SoC는 보통 95~105 °C 부근에서 스로틀링 시작 |
| 표면(스킨) 온도 | 약 43~45 °C | 장시간 접촉 기준(IEC 62368-1 등 안전 규격의 접촉 온도 한계 참고) |
| 휴대폰 지속 전력 | 약 3~5 W | 표면 → 공기 열 저항 약 5~8 K/W |
| 노트북 / 데스크톱 CPU | 약 15~45 W / 65~250 W | 팬·방열판으로 열 저항을 크게 낮춤 (2024년) |
| 큰 코어 전력 밀도 | 약 1~2 W/mm² | 핫스팟. 다이 평균은 0.05~0.1 W/mm² |
| 허용 IR 강하 + 드룹 | 약 VDD의 5~10% | 설계 서명(sign-off) 기준, 회사·블록마다 다름 |
| PMIC 벅 변환기 효율 | 약 85~93% | 경부하에서는 낮아짐, 스위칭 1~6 MHz |
| 배터리 내부 저항 | 약 50~150 mΩ (25 °C) | 0 °C 이하에서 2~5배, 노화로 증가 |
핵심 정리
- 열은 전기처럼 흐른다. 온도 상승 = 전력 × 열 저항, 반응 속도는 열 용량이 정하는 시간 상수 \(\tau = RC\).
- 휴대폰의 지속 전력(약 3~5 W)은 접합 온도보다 손에 닿는 표면 온도 한계가 정한다. 첫 몇 분의 높은 성능은 열 용량을 빌려 쓴 것이다.
- 스로틀링은 온도 센서를 보고 최고 P-state를 낮추는 제어기다. 다이 위 핫스팟이 먼저 한계에 걸리므로 배치와 작업 분산이 중요하다.
- 온도가 오르면 누설이 늘어 다시 온도가 오른다. 발열 곡선과 방열 직선이 만나지 않으면 열 폭주가 일어난다.
- 전원 공급망에서는 IR 강하(정적)와 \(L\,di/dt\) 드룹(동적)이 전압을 깎는다. 디캡, 범프 배치, 적응형 클럭이 그 대책이고, 배터리 내부 저항은 추위와 노화에 따라 순간 전력을 제한한다.
확인 퀴즈
Q1. 열 저항이 8 K/W인 경로로 3 W를 흘리면, 주변 온도 25 °C에서 정상 상태 온도는?
Q2. 휴대폰에서 게임 벤치마크를 반복하면 점수가 처음보다 크게 떨어지는 가장 근본적인 이유는?
Q3. 그림 13-3에서 열 폭주가 일어나는 조건은?
Q4. 0.8 V 코어 레일에서 부하 전류가 1 ns 만에 4 A 늘었다. 패키지 인덕턴스 100 pH, 온다이 디캡 100 nF일 때 최대 드룹의 대략값은?
Q5. 벅 변환기로 3.8 V를 0.76 V로 낮출 때 듀티비와, 출력 4 A를 낼 때 배터리 전류(효율 100% 가정)는?
Q6. 추운 날 배터리가 30% 남아 있는데 카메라를 켜자 휴대폰이 꺼졌다. 가장 그럴듯한 설명은?