클록 게이팅 (Clock Gating)

전기전자공학
한 줄 정의: 동작이 필요 없는 회로 블록으로 가는 클록 신호를 일시적으로 차단하여 불필요한 스위칭 전력 소모를 막는 기법입니다.

쉽게 풀면

디지털 회로 안의 많은 부품들은 클록이라는 일정한 박자 신호에 맞춰 계속 켜졌다 꺼지며 동작합니다. 그런데 어떤 부품이 이번 박자에서 딱히 할 일이 없다면, 굳이 박자 신호를 계속 흘려보내 불필요하게 움직이게 할 필요가 없습니다. 클록 게이팅은 이럴 때 해당 부품으로 가는 클록 신호를 잠깐 막아서, 필요 없는 순간에는 회로가 조용히 쉬도록 하는 기법입니다. 마치 지금 연주하지 않는 악기 파트에는 지휘봉 신호를 보내지 않는 것과 비슷합니다.

왜 중요한가

디지털 회로에서 소비되는 동적 전력의 상당 부분은 클록 신호 자체를 회로 전체에 계속 전달하는 데서 발생하기 때문에, 불필요한 클록 전달을 막는 클록 게이팅은 가장 널리 쓰이는 저전력 설계 기법 중 하나로 다루어집니다.

논문에서는 이렇게 쓰입니다

"유휴 상태의 레지스터 뱅크에 클록 게이팅을 적용하여 동적 전력 소비를 크게 줄였다."

당장 값이 바뀌지 않는 레지스터에는 클록을 보내지 않아 전력을 아꼈다는 뜻입니다.

"자동 클록 게이팅 삽입 도구를 사용하여 합성 단계에서 게이팅 셀을 자동으로 삽입하였다."

설계 도구가 회로 합성 과정에서 클록 게이팅 회로를 자동으로 추가해 주었다는 의미입니다.

조금 더 깊게 보면

클록 게이팅은 일반적으로 래치와 논리 게이트로 구성된 클록 게이팅 셀을 통해 구현되며, 클록이 하이 상태일 때 값이 바뀌지 않도록 설계하여 글리치가 발생하지 않게 합니다. 최신 설계 도구는 여러 개의 레지스터가 같은 조건에서 동시에 멈춰야 할 때 이를 자동으로 인식해 하나의 게이팅 셀로 묶어주는 최적화를 지원하기도 합니다.

주의할 점

클록 게이팅은 회로가 완전히 켜져 있는 상태를 전제로 하므로 전력 게이팅과 달리 누설 전력은 줄이지 못하며, 두 기법은 서로 대체재가 아니라 함께 쓰이는 보완적인 기법으로 이해해야 합니다.

관련 용어