---
title: "천천히 돌리면 배터리가 오래갈까: DVFS와 빨리 끝내고 쉬기의 조건"
author: "브레이브브라우저쓰자"
published_at: "2026-10-14T03:00:04.083Z"
updated_at: "2026-09-30T06:21:01.128Z"
tags: ["반도체","반도체 이론","공학","기술 해설","칩 공장"]
canonical_url: "https://ariser.io/@writer_a9817d5a8de0/%EC%B2%9C%EC%B2%9C%ED%9E%88-%EB%8F%8C%EB%A6%AC%EB%A9%B4-%EB%B0%B0%ED%84%B0%EB%A6%AC%EA%B0%80-%EC%98%A4%EB%9E%98%EA%B0%88%EA%B9%8C-dvfs%EC%99%80-%EB%B9%A8%EB%A6%AC-%EB%81%9D%EB%82%B4%EA%B3%A0-%EC%89%AC%EA%B8%B0%EC%9D%98-%EC%A1%B0%EA%B1%B4"
ai_assisted: false
---

# 천천히 돌리면 배터리가 오래갈까: DVFS와 빨리 끝내고 쉬기의 조건

[원문](https://ariser.io/@writer_a9817d5a8de0/%EC%B2%9C%EC%B2%9C%ED%9E%88-%EB%8F%8C%EB%A6%AC%EB%A9%B4-%EB%B0%B0%ED%84%B0%EB%A6%AC%EA%B0%80-%EC%98%A4%EB%9E%98%EA%B0%88%EA%B9%8C-dvfs%EC%99%80-%EB%B9%A8%EB%A6%AC-%EB%81%9D%EB%82%B4%EA%B3%A0-%EC%89%AC%EA%B8%B0%EC%9D%98-%EC%A1%B0%EA%B1%B4)

## 전력계가 낮아져도 사용량은 늘 수 있다

전기히터를 약하게 켜면 순간 소비 전력은 낮다. 하지만 목표 온도까지 훨씬 오래 걸리면 총사용량까지 줄었다고 바로 말할 수는 없다. CPU의 속도를 낮출 때도 전력과 에너지를 구분해야 한다. 전력은 지금 얼마나 빠르게 에너지를 쓰는지, 에너지는 일을 마칠 때까지 얼마를 썼는지다.

`E = P_avg × t`

E는 줄 단위의 에너지, P_avg는 측정 구간의 평균 전력, t는 그 구간의 시간이다. 전력이 30% 줄어도 실행시간이 두 배가 되면 에너지는 오히려 늘 수 있다. 그래서 저전력 설정의 효과는 같은 일을 같은 품질로 끝낸 조건에서 판단해야 한다.

DVFS는 부하에 맞춰 동작 전압과 클록 주파수를 조절하는 기법이다. 낮은 주파수에서는 회로가 다음 박자까지 계산을 마칠 시간이 늘어, 지원되는 범위 안에서 전압도 낮출 수 있다. 임의의 전압과 주파수를 자유롭게 조합하는 것은 아니다. 칩이 검증한 동작점과 열·전원 제약 안에서 선택한다. [Linux 커널, CPU 성능 조절](https://www.kernel.org/doc/html/latest/admin-guide/pm/cpufreq.html)

## 주파수를 낮추는 일과 전압을 낮추는 일

차이를 보기 위해 메모리 대기를 무시할 수 있는 계산을 생각하자. 필요한 클록 주기 수 N과 주기당 평균 활동, 회로 용량이 같다면 주파수를 절반으로 낮출 때 실행시간은 두 배가 된다. 전압이 그대로라면 스위칭 전력은 대략 절반이지만, 일을 끝낼 때까지의 스위칭 에너지는 거의 같을 수 있다.

`E_sw ≈ α × C × V² × N`

E_sw는 스위칭에 쓴 에너지, α는 주기당 충전 활동 계수, C는 유효 부하 용량, V는 전압이다. 전력에 들어 있던 주파수 항이 실행시간과 상쇄된 결과다. 누설이나 메모리·주변 장치 전력까지 포함한 식은 아니다.

반면 허용되는 동작점에서 전압을 기존의 80%로 낮출 수 있다면, 다른 조건이 같을 때 이 스위칭 에너지 항은 64%가 된다. DVFS의 중요한 이익이 전압 감소에 있는 이유다. 다만 전압을 계속 내릴 수는 없고, 실행이 길어지는 동안 누설과 다른 부품이 쓰는 에너지도 더 쌓인다. [Arm, 전압·주파수와 동작점](https://documentation-service.arm.com/static/5efdc1b8dbdee951c1cd2baa)

## 계산이 막히는가, 데이터가 늦는가

앞의 N 고정 가정은 모든 프로그램에 맞지 않는다. CPU가 데이터를 기다리는 시간이 길고 메모리 서비스 속도는 그대로라면, 코어 주파수를 조금 낮춰도 전체 실행시간은 그만큼 늘지 않을 수 있다. 이런 구간에서는 전압·주파수 조절이 유리할 여지가 생긴다.

그러나 메모리 중심 작업이라는 이름만으로 결론을 내리면 안 된다. 코어 속도가 주소 생성과 요청 발행 속도를 제한할 수 있고, 메모리나 공유 회로의 주파수까지 함께 바뀌는 시스템도 있다. 캐시 미스가 많다는 한 지표만으로 에너지 절감량을 예측하기 어려운 이유다.

Le Sueur와 Heiser의 DVFS 연구도 실행시간, 메모리 특성, 유휴 전력을 함께 고려하면 판단이 달라짐을 분석했다. 여기서는 그 원리를 참고하며, 오래된 서버 플랫폼의 측정 결과를 오늘의 모든 CPU나 모바일 칩에 적용하지는 않는다. [USENIX, DVFS의 이익과 한계](https://www.usenix.org/legacy/events/hotpower/tech/full_papers/LeSueur.pdf)

## 빨리 끝내고 쉬는 전략도 조건부다

높은 속도로 작업을 끝내고 남은 시간에 낮은 전력 상태로 들어가는 전략을 race-to-idle이라고 한다. 공정하게 비교하려면 빠른 실행이 끝난 시점에서 측정을 멈추지 말고, 두 설정을 같은 관찰 구간에서 비교해야 한다.

가상 예로 관찰 구간을 2초로 두자. 빠른 설정이 20W로 1초 일하고 1W로 1초 쉬면 21J다. 느린 설정이 같은 일을 12W로 2초 수행하면 24J다. 순간 전력은 높아도 빠른 쪽이 유리하다. 이 계산은 전환 비용을 무시했으며, 수치도 제품 측정값이 아니다.

반대로 높은 주파수에 필요한 전압이 크게 올라가거나, 일찍 끝내도 주변 장치가 계속 전력을 쓰면 이점은 줄 수 있다. 다음 일이 바로 와서 쉴 틈이 없는 경우도 따로 봐야 한다. 깊은 휴지 상태에 들어가고 나오는 비용과 응답 기한도 중요하다. [Linux 커널, 절전 체류시간과 복귀 지연](https://www.kernel.org/doc/html/latest/admin-guide/pm/cpuidle.html)

좋은 정책은 무조건 느리게 돌리거나 항상 최대 속도를 고집하지 않는다. 같은 작업의 완료 시간과 전체 시스템 에너지를 측정하고, 계산·메모리 대기·휴식 중 어느 구간인지에 맞춰 동작점을 선택한다.

