클록 게이팅과 파워 게이팅의 차이점 정리

둘 다 사용하지 않는 회로의 전력을 줄이는 저전력 설계 기법이지만, 멈추는 대상이 다릅니다. 클록 게이팅은 레지스터로 가는 클록을 멈춰 신호 전환을 없애고 동적 전력을 줄입니다. 전원은 켜진 채이므로 상태가 유지되고, 1~수 사이클 만에 바로 재개할 수 있습니다. 파워 게이팅은 블록의 전원을 스위치로 끊어 동적 전력에 더해 누설 전류에 의한 정적 전력도 거의 없앨 수 있습니다. 대신 상태가 사라지므로 저장하는 구조가 필요하고, 복귀에도 시간이 걸립니다.

비교 항목클록 게이팅파워 게이팅
줄이는 전력동적 전력(클록 배선, 플립플롭, 그 뒤 논리의 전환)정적 전력(누설)과 동적 전력 모두
멈추는 대상레지스터로 가는 클록블록으로 가는 전원
전원켜진 채. 누설 전류는 계속 흐름전원 스위치로 블록의 전원선을 분리
상태 유지유지됨사라짐. 필요한 상태는 리텐션 FF(리텐션 레지스터)나 메모리에 저장
복귀 시간1~수 사이클긺. 돌입 전류를 억제하면서 전원을 켜고 상태를 되돌리므로 대부분 µs 단위
필요한 회로ICG(래치와 AND로 이루어진 클록 게이트 셀)와 인에이블을 만드는 논리전원 스위치(헤더나 푸터), 아이솔레이션 셀, 리텐션 FF, 전원 순서를 제어하는 회로
세분화 단위세밀함. 레지스터 몇 개 단위부터 사용 가능거침. CPU 코어나 IP 등 블록(전원 도메인) 단위
설계·검증논리 합성 도구가 인에이블 조건으로부터 자동으로 삽입 가능. STA로 클록 게이팅 체크를 수행전원 의도를 UPF 등으로 기술하고, 전원을 껐을 때의 동작과 순서까지 검증
오버헤드작음. ICG의 면적과 지연전원 스위치의 면적과 전압 강하, 저장과 복귀의 에너지. 짧은 휴지에서는 이득이 없음
주요 사용처거의 모든 디지털 회로에서 동작하지 않는 기능의 레지스터를 멈춤오래 사용하지 않는 블록을 멈춤. CPU의 깊은 유휴 상태, 스마트폰 SoC의 사용하지 않는 블록

수치는 대략적인 자릿수 기준이며, 공정 세대와 제품에 따라 달라져요.

상황별 선택 기준

클록 게이팅
몇 사이클부터 긴 시간까지, 회로가 동작하지 않는 기간이 있으면 언제든지. 바로 복귀할 수 있고 상태도 유지되므로 거의 모든 디지털 회로에서 사용합니다.
파워 게이팅
블록을 오랫동안 사용하지 않을 때, 누설 전력의 비중이 클 때(미세 공정이나 고온). 저장과 복귀의 에너지를 회수할 수 있을 만큼 오래 쉴 수 있는 경우에 사용합니다.
조합
먼저 클록을 멈추고, 휴지가 길어질 것 같으면 상태를 저장하고 전원도 끄는 단계적인 사용법이 일반적입니다. DVFS와도 조합해 사용합니다.

자주 묻는 질문

클록을 멈추는 데 AND 게이트만으로는 안 되는 이유는 무엇인가요?

클록이 1인 동안 인에이블 신호가 바뀌면 클록에 짧은 펄스(글리치)가 생겨 플립플롭이 잘못 동작하기 때문입니다. ICG는 클록이 0인 동안만 인에이블을 통과시키는 래치로 인에이블을 유지한 뒤 AND를 취하므로 글리치가 생기지 않습니다.

파워 게이팅에서 복귀에 시간이 걸리는 이유는 무엇인가요?

전원을 끈 블록의 큰 용량을 다시 충전해야 하기 때문입니다. 스위치를 한꺼번에 켜면 큰 돌입 전류가 흘러 동작 중인 다른 회로의 전원 전압이 떨어지므로, 스위치를 조금씩 순서대로 켭니다. 그 후 리셋이나 상태 복원도 필요합니다.

아이솔레이션 셀은 왜 필요한가요?

전원을 끈 블록의 출력은 0인지 1인지 정해지지 않은 전압이 됩니다. 그것을 동작 중인 블록이 그대로 받으면 오동작하거나 입력 게이트에 관통 전류가 흐릅니다. 아이솔레이션 셀은 경계에서 신호를 정해진 값(0이나 1)으로 고정합니다.

짧은 휴지에도 전원을 끄는 편이 좋은가요?

꼭 그렇지는 않습니다. 전원을 끄면 상태 저장과 복원, 용량 충전에 에너지를 쓰므로, 그것을 줄어든 누설 전력으로 회수할 수 있는 시간(손익 분기 시간)보다 오래 쉬지 못하면 오히려 손해입니다. 짧은 휴지에는 클록 게이팅을 사용합니다.

이해도 확인

사용하지 않는 회로 블록에 대한 클록 공급을 멈춰 불필요한 소비 전력을 줄이는 저전력 설계 기법은?

  1. A오버클록
  2. B클록 게이팅
  3. C스캔 설계
정답과 해설 보기

정답: B. 클록 게이팅

클록 게이팅은 동작이 필요 없는 블록에 대한 클록을 멈춰, 플립플롭과 클록 배선의 불필요한 스위칭을 없애 동적 소비 전력을 줄이는 기법입니다. 논리 합성 툴이 값이 변하지 않는 조건의 레지스터를 찾아 자동으로 삽입할 수도 있습니다. 다만 누설 전류는 줄지 않으므로, 전원 자체를 끄는 파워 게이팅과 조합합니다. 오버클록은 주파수를 높이는 것, 스캔 설계는 테스트 기법입니다.

파워 게이팅에 대한 설명으로 올바른 것은?

  1. A회로 블록에 대한 클록 공급만 멈춘다
  2. B사용하지 않는 회로 블록에 대한 전원 공급을 스위치로 끊어 리크 전력도 거의 없앤다
  3. C전원 전압을 2배로 하여 처리를 빠르게 한다
정답과 해설 보기

정답: B. 사용하지 않는 회로 블록에 대한 전원 공급을 스위치로 끊어 리크 전력도 거의 없앤다

클록 게이팅에서는 전환이 멈추므로 동적 전력은 줄지만, 전원이 연결되어 있는 한 누설 전류는 계속 흐릅니다. 파워 게이팅에서는 블록과 전원 사이에 둔 큰 트랜지스터 스위치를 꺼서 전원 자체를 끊으므로 리크 전력도 거의 없어집니다. 스마트폰 SoC에서는 사용하지 않는 CPU 코어, GPU, 각종 가속기의 전원을 수시로 끊고 있습니다.

파워 게이팅으로 전원을 끈 블록에 대해 주의해야 할 점과 그 대책의 조합으로 올바른 것은?

  1. A전원을 꺼도 내용은 반드시 남아 있으므로 아무것도 하지 않아도 된다
  2. B플립플롭의 내용이 사라지므로 필요한 상태는 리텐션 레지스터나 외부 메모리에 저장한 후 끈다
  3. C전원을 끄면 다른 블록의 전압이 2배가 된다
정답과 해설 보기

정답: B. 플립플롭의 내용이 사라지므로 필요한 상태는 리텐션 레지스터나 외부 메모리에 저장한 후 끈다

전원을 끈 블록의 플립플롭이나 SRAM은 내용을 잃으므로, 복귀했을 때 이어서 동작하려면 끄기 전에 상태를 저장해 두어야 합니다. 작은 상시 전원 기억 소자를 함께 가진 리텐션 레지스터를 사용하는 방법이나, 소프트웨어로 상태를 메모리에 기록하는 방법이 있습니다. 저장과 복원, 전원 기동에는 시간과 에너지가 들기 때문에 짧은 휴지에서는 끄지 않는 편이 나은 경우도 있습니다.

  1. 클록 게이팅과 파워 게이팅을 비교한 설명으로 올바른 것은?
  2. 파워 게이팅으로 전원을 끈 블록과 동작 중인 블록의 경계에 두는 아이솔레이션 셀의 역할로 올바른 것은?
  3. 클럭과 인에이블 신호의 2입력 AND 게이트로 클럭을 멈추는 회로에서, STA의 클럭 게이팅 체크가 확인하는 내용으로 올바른 것은?

전력 관리 문제 풀기

주요 용어 설명

클록 게이팅(Clock Gating)
사용하지 않는 회로 블록에 대한 클록 공급을 멈추어 불필요한 스위칭에 의한 소비 전력을 줄이는 저전력 설계 기법.
파워 게이팅(Power Gating)
사용하지 않는 회로 블록으로의 전원 공급을 스위치로 끊어 누설 전력도 거의 없애는 저전력 기법. 상태의 저장과 복귀 시간에 주의가 필요하다.
리텐션 레지스터(retention register)
파워 게이팅으로 전원을 끈 동안에도 작은 상시 전원 공급 기억 소자로 상태를 유지하는 플립플롭. 복귀했을 때 이어서 동작할 수 있다.
아이솔레이션 셀(Isolation Cell)
전원을 끈 블록의 출력이 불확정이 되어도 동작 중인 쪽에 정해진 값을 전달하기 위해 경계에 두는 셀.
전원 도메인(Power Domain)
칩 안에서 같은 전원 전압과 같은 전원 온·오프 제어를 공유하는 회로의 범위. 블록별로 전압과 전원을 관리할 수 있다.

관련 비교