저전력 설계 기법, 클록 게이팅과 파워 게이팅, DVFS

저전력 설계 기법, 클록 게이팅과 파워 게이팅, DVFS

전기 요금을 줄이는 방법은 생각보다 단순합니다. 아무도 없는 방의 불을 끄고, 오래 비울 집은 두꺼비집에서 아예 전원을 내리고, 에어컨은 더울 때만 세게 틀고 선선하면 약하게 돌리죠. 쓰지 않는 곳은 멈추고, 필요한 만큼만 쓰는 것이 핵심입니다.

칩도 똑같은 방법으로 전력을 아낍니다. 일하지 않는 회로의 클록을 멈추는 클록 게이팅, 오래 쉬는 블록의 전원을 차단하는 파워 게이팅, 일의 양에 맞춰 전압과 주파수를 조절하는 DVFS가 그것이죠. 이 글에서는 대표적인 저전력 설계 기법 세 가지의 원리와 대가를 차례로 정리합니다.

칩의 전력은 어디서 새는가

칩이 쓰는 전력은 크게 두 가지입니다. 트랜지스터가 0과 1을 오가며 충전과 방전을 반복할 때 드는 동적 전력(Dynamic Power), 그리고 스위칭하지 않을 때도 조금씩 새어 나가는 정적 전력(Static Power), 곧 누설 전력이죠.

동적 전력의 관계식동적 전력 ≈ α × C × V² × f

α: 스위칭 활동률, C: 충방전되는 정전 용량, V: 공급 전압, f: 클록 주파수

이 식에서 가장 눈여겨볼 것은 전압이 제곱으로 들어간다는 점입니다. 전압을 조금만 낮춰도 동적 전력이 크게 줄죠. 반면 누설 전력은 회로가 켜져 있는 한 계속 나가므로, 이를 줄이려면 전원 자체를 끊어야 합니다. 저전력 설계 기법은 결국 이 식의 각 항을 하나씩 줄이는 방법이라고 볼 수 있습니다.

저전력 설계가 필수가 된 이유

스마트폰과 웨어러블은 배터리로 움직이니 전력이 곧 사용 시간입니다. 서버와 데이터센터에서는 전력이 곧 전기 요금이자 냉각 비용이죠. 칩 하나에 들어가는 트랜지스터가 늘어날수록, 전력을 관리하지 않으면 열 때문에 성능을 제대로 낼 수 없습니다.

예전에는 공정을 미세화하면 전압이 함께 내려가 전력 문제가 자연스럽게 완화되었습니다. 하지만 전압을 더 낮추기 어려워진 뒤로는 설계 단계에서 적극적으로 전력을 줄여야 하는 시대가 되었죠. 지금은 성능, 면적과 함께 전력이 설계 목표의 한 축으로 자리 잡았습니다.

세 가지 저전력 설계 기법의 원리

클록 게이팅: 쉬는 회로의 시계를 멈춘다

클록은 칩 전체에 쉬지 않고 신호를 보내기 때문에, 클록 네트워크와 플립플롭이 동적 전력의 상당 부분을 차지합니다. 클록 게이팅(Clock Gating)은 일하지 않는 블록에 들어가는 클록을 막아, 그 블록의 플립플롭이 불필요하게 스위칭하지 않도록 하는 기법이죠. 식의 α를 줄이는 방법입니다.

클록을 단순한 AND 게이트로 막으면 신호가 바뀌는 순간 짧은 잡음 펄스(글리치)가 생겨 오동작할 수 있습니다. 그래서 래치와 게이트를 묶은 전용 셀인 ICG(Integrated Clock Gating) 셀을 쓰죠. 합성 도구가 RTL의 조건문을 보고 ICG 셀을 자동으로 넣어 주는 경우가 많습니다. 빈방의 불을 끄는 것처럼, 부담이 작고 효과가 확실한 기본 기법입니다.

파워 게이팅: 오래 쉬는 블록의 전원을 끊는다

클록을 멈춰도 전원이 연결되어 있으면 누설 전력은 계속 나갑니다. 파워 게이팅(Power Gating)은 블록과 전원 사이에 큰 스위치 트랜지스터를 두고, 오래 쓰지 않는 블록의 전원을 아예 끊는 기법이죠. 집으로 치면 두꺼비집을 내리는 셈입니다.

파워 게이팅으로 블록을 껐다 켜는 흐름

  1. 꺼질 블록의 출력을 격리 셀(Isolation Cell)로 고정해 이웃 블록을 보호한다.
  2. 다시 켤 때 필요한 상태는 리텐션 레지스터에 저장한다.
  3. 스위치 트랜지스터를 꺼서 블록의 전원을 차단한다.
  4. 깨울 때는 전원을 천천히 다시 연결해 급격한 전류를 막는다.
  5. 저장한 상태를 복원하고 격리를 풀어 동작을 재개한다.

DVFS: 일의 양에 맞춰 전압과 속도를 바꾼다

DVFS(Dynamic Voltage and Frequency Scaling)는 작업량에 따라 전압과 주파수를 실시간으로 조절하는 기법입니다. 게임을 할 때는 높은 전압과 주파수로 빠르게, 화면만 켜 둔 상태에서는 낮은 전압과 주파수로 천천히 동작하죠. 주파수를 낮추면 낮은 전압으로도 타이밍을 맞출 수 있어, 전압의 제곱 효과까지 함께 얻습니다.

칩은 미리 검증한 전압과 주파수의 조합 목록을 갖고 있고, 운영체제와 전력 관리 회로가 상황에 맞는 조합을 고릅니다. 에어컨을 더울 때만 세게 트는 것과 같은 원리죠.

기법마다 치르는 대가

저전력 기법은 공짜가 아닙니다. 클록 게이팅은 게이팅 셀이 클록 경로에 추가되어 클록 트리 설계와 타이밍 분석이 복잡해집니다. 파워 게이팅은 스위치 트랜지스터와 격리 셀, 리텐션 레지스터가 면적을 차지하고, 다시 켜는 데 시간이 걸려 자주 껐다 켜면 오히려 손해일 수 있죠.

DVFS는 전압을 바꾸는 전원 회로와 소프트웨어 제어가 필요하고, 전압이 바뀌는 동안 안정화 시간이 듭니다. 또 주파수만 낮추면 전력이 크게 준다고 생각하기 쉽지만, 같은 일을 더 오래 하게 되므로 에너지 기준으로는 전압까지 함께 낮춰야 의미 있는 절감이 생깁니다. 그래서 세 기법은 블록의 쓰임새와 쉬는 시간의 길이에 맞춰 골라 써야 합니다.

함께 쓰는 보조 기법과 산업의 의미

이 밖에도 경로마다 문턱 전압이 다른 셀을 섞어 쓰는 다중 문턱 전압(Multi-Vt) 기법, 블록마다 다른 전압을 주는 다중 전압 영역 설계가 함께 쓰입니다. 전압이 다른 영역 사이에는 신호 크기를 맞추는 레벨 시프터가 필요하죠. 이런 전원 구조는 IEEE 1801로 표준화된 UPF 같은 형식으로 기술해 설계 도구 전체가 같은 의도를 공유하게 합니다.

저전력 설계는 이제 모바일 칩만의 이야기가 아닙니다. 인공지능 서버, 자동차, 사물인터넷 기기까지 모두 전력 한계 안에서 성능을 짜내야 하죠. 같은 전력으로 더 많은 일을 하는 능력, 곧 와트당 성능이 칩 경쟁력의 핵심 지표가 된 이유입니다.

세 기법 비교 표

구분클록 게이팅파워 게이팅DVFS
줄이는 전력동적 전력누설 전력 (꺼진 동안 동적 전력도)동적 전력 (전압을 낮추면 누설도 일부)
조절 대상스위칭 활동률(α)블록의 전원전압(V)과 주파수(f)
적합한 상황짧게 자주 쉬는 블록오래 쉬는 블록작업량이 변하는 프로세서
복귀 시간거의 없음김 (상태 복원 필요)전압 안정화 시간 필요
추가 부담ICG 셀, 클록 타이밍 복잡도스위치, 격리 셀, 리텐션 레지스터전원 회로, 소프트웨어 제어
집에 비유하면빈방 불 끄기두꺼비집 내리기에어컨 강약 조절

핵심 정리

칩의 전력은 스위칭할 때 드는 동적 전력과 늘 새어 나가는 누설 전력으로 나뉩니다. 저전력 설계 기법 가운데 클록 게이팅은 쉬는 회로의 스위칭을 막고, 파워 게이팅은 오래 쉬는 블록의 전원을 끊어 누설까지 없애며, DVFS는 작업량에 맞춰 전압과 주파수를 낮춰 전압의 제곱 효과를 얻죠. 각 기법에는 면적, 복귀 시간, 설계 복잡도라는 대가가 따릅니다.

빈방의 불을 끄고, 오래 비울 땐 두꺼비집을 내리고, 에어컨은 필요한 만큼만 트는 집이 전기를 가장 적게 씁니다. 칩도 마찬가지라, 블록마다 ‘언제, 얼마나 오래 쉬는가’를 먼저 파악하면 어떤 기법을 쓸지 자연스럽게 정해집니다.

면접 대비 질문

면접 대비 질문클록 게이팅과 파워 게이팅의 차이를 설명하고, 어떤 상황에서 각각을 쓰는지 말해 보세요.

[답변 포인트] 클록 게이팅은 클록을 막아 스위칭 활동을 줄이는 동적 전력 절감 기법이고, 파워 게이팅은 전원을 끊어 누설 전력까지 없애는 기법이라는 차이를 먼저 말합니다. 클록 게이팅은 복귀가 즉시 가능해 짧게 자주 쉬는 블록에, 파워 게이팅은 격리 셀과 리텐션, 재가동 시간이 필요해 오래 쉬는 블록에 적합하다고 구분합니다. ICG 셀로 글리치를 막는 이유와 파워 게이팅 재가동 시의 돌입 전류 문제까지 덧붙이면 좋습니다.