VLSI Wiki
Contents:
  1. Clock Gating
    1. 1. Definition: What is Clock Gating?
    2. 2. Components and Operating Principles
      1. 2.1 (Optional) Subsections
    3. 3. Related Technologies and Comparison
    4. 4. References
    5. 5. One-line Summary

Clock Gating

1. Definition: What is Clock Gating?

Clock GatingλŠ” 디지털 회둜 μ„€κ³„μ—μ„œ μ „λ ₯ μ†ŒλΉ„λ₯Ό 쀄이기 μœ„ν•΄ μ‚¬μš©λ˜λŠ” 기술둜, 클럭 μ‹ ν˜Έμ˜ 전달을 μ œμ–΄ν•˜μ—¬ ν•„μš”ν•˜μ§€ μ•Šμ€ 회둜 λΈ”λ‘μ˜ λ™μž‘μ„ λΉ„ν™œμ„±ν™”ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€. 이 κΈ°μˆ μ€ VLSI μ‹œμŠ€ν…œμ—μ„œ 특히 μ€‘μš”ν•˜λ©°, 회둜의 νŠΉμ • 뢀뢄이 μ‚¬μš©λ˜μ§€ μ•Šμ„ λ•Œ 클럭 μ‹ ν˜Έλ₯Ό μ°¨λ‹¨ν•¨μœΌλ‘œμ¨ μ „λ ₯ μ†Œλͺ¨λ₯Ό μ΅œμ†Œν™”ν•©λ‹ˆλ‹€. Clock Gating의 μ£Όμš” λͺ©μ μ€ μ „λ ₯ νš¨μœ¨μ„±μ„ λ†’μ΄λŠ” 것이며, μ΄λŠ” λͺ¨λ°”일 κΈ°κΈ° 및 기타 배터리 ꡬ동 μž₯μΉ˜μ—μ„œ μ„±λŠ₯κ³Ό 배터리 수λͺ…을 μ΅œμ ν™”ν•˜λŠ” 데 ν•„μˆ˜μ μž…λ‹ˆλ‹€.

Clock Gating의 μž‘λ™ μ›λ¦¬λŠ” νŠΉμ • 회둜 블둝이 ν™œμ„±ν™”λ˜μ—ˆλŠ”μ§€ 여뢀에 따라 클럭 μ‹ ν˜Έλ₯Ό μ°¨λ‹¨ν•˜κ±°λ‚˜ ν—ˆμš©ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 이λ₯Ό 톡해 λΆˆν•„μš”ν•œ μŠ€μœ„μΉ­ ν™œλ™μ„ 쀄이고, 결과적으둜 닀이내믹 μ „λ ₯ μ†Œλͺ¨λ₯Ό κ°μ†Œμ‹œν‚΅λ‹ˆλ‹€. 이 κΈ°μˆ μ€ 특히 고속 디지털 νšŒλ‘œμ—μ„œ 클럭 μ£ΌνŒŒμˆ˜κ°€ 높을 λ•Œ λ”μš± νš¨κ³Όμ μž…λ‹ˆλ‹€. 회둜의 λ™μž‘ μƒνƒœλ₯Ό λͺ¨λ‹ˆν„°λ§ν•˜κ³ , ν΄λŸ­μ„ μ œμ–΄ν•˜λŠ” λ‘œμ§μ„ ν¬ν•¨ν•˜μ—¬, Clock Gating은 섀계 κ³Όμ •μ—μ„œ ν•„μˆ˜μ μΈ 고렀사항이 λ©λ‹ˆλ‹€.

Clock Gating은 μ „λ ₯ κ΄€λ¦¬μ˜ μ€‘μš”ν•œ μš”μ†Œλ‘œ 자리 작고 있으며, ν˜„λŒ€μ˜ λ§Žμ€ λ°˜λ„μ²΄ μ„€κ³„μ—μ„œ ν•„μˆ˜μ μœΌλ‘œ μ‚¬μš©λ˜κ³  μžˆμŠ΅λ‹ˆλ‹€. 이 κΈ°μˆ μ„ μ‚¬μš©ν•˜λ©΄ 회둜의 μ„±λŠ₯을 μœ μ§€ν•˜λ©΄μ„œλ„ μ „λ ₯ μ†Œλͺ¨λ₯Ό μƒλ‹Ήνžˆ 쀄일 수 있으며, μ΄λŠ” 전체 μ‹œμŠ€ν…œμ˜ νš¨μœ¨μ„±μ„ λ†’μ΄λŠ” 데 κΈ°μ—¬ν•©λ‹ˆλ‹€. λ”°λΌμ„œ Clock Gating은 디지털 회둜 μ„€κ³„μ—μ„œ ν•„μˆ˜μ μΈ 기술둜 κ°„μ£Όλ©λ‹ˆλ‹€.

2. Components and Operating Principles

Clock Gating의 ꡬ성 μš”μ†Œμ™€ μž‘λ™ μ›λ¦¬λŠ” λ‹€μŒκ³Ό 같이 λ‚˜λˆŒ 수 μžˆμŠ΅λ‹ˆλ‹€. 이 κΈ°μˆ μ€ 주둜 클럭 μ œμ–΄ 둜직, 게이트 둜직, 그리고 클럭 μ‹ ν˜Έλ₯Ό μ°¨λ‹¨ν•˜λŠ” μŠ€μœ„μΉ˜λ‘œ κ΅¬μ„±λ©λ‹ˆλ‹€. 각 ꡬ성 μš”μ†ŒλŠ” μ„œλ‘œ μƒν˜Έμž‘μš©ν•˜μ—¬ 클럭 μ‹ ν˜Έμ˜ 전달을 μ œμ–΄ν•©λ‹ˆλ‹€.

첫 번째둜, Clock Gating의 핡심 ꡬ성 μš”μ†ŒμΈ 클럭 μ œμ–΄ λ‘œμ§μ€ 회둜의 μƒνƒœλ₯Ό λͺ¨λ‹ˆν„°λ§ν•˜κ³ , νŠΉμ • 쑰건이 좩쑱될 λ•Œ 클럭 μ‹ ν˜Έλ₯Ό μ°¨λ‹¨ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€. 이 λ‘œμ§μ€ 일반적으둜 μƒνƒœ λ¨Έμ‹ μ΄λ‚˜ 쑰건뢀 둜직으둜 κ΅¬ν˜„λ˜λ©°, νšŒλ‘œκ°€ ν™œμ„±ν™”λ˜μ–΄μ•Ό ν•  λ•Œμ™€ λΉ„ν™œμ„±ν™”λ˜μ–΄μ•Ό ν•  λ•Œλ₯Ό κ²°μ •ν•©λ‹ˆλ‹€.

두 번째둜, 게이트 λ‘œμ§μ€ 클럭 μ‹ ν˜Έλ₯Ό μ°¨λ‹¨ν•˜κ±°λ‚˜ ν—ˆμš©ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€. 이 λ‘œμ§μ€ AND, OR, NOT κ²Œμ΄νŠΈμ™€ 같은 κΈ°λ³Έ 논리 게이트λ₯Ό μ‚¬μš©ν•˜μ—¬ κ΅¬μ„±λ˜λ©°, 클럭 μ‹ ν˜Έμ™€ 클럭 μ œμ–΄ μ‹ ν˜Έλ₯Ό κ²°ν•©ν•˜μ—¬ μ΅œμ’… 클럭 μ‹ ν˜Έλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€. 이 κ³Όμ •μ—μ„œ 클럭 μ‹ ν˜Έκ°€ μ°¨λ‹¨λ˜λ©΄ ν•΄λ‹Ή 회둜 블둝은 λ™μž‘ν•˜μ§€ μ•Šκ²Œ 되며, 이둜 인해 μ „λ ₯ μ†Œλͺ¨κ°€ μ€„μ–΄λ“­λ‹ˆλ‹€.

μ„Έ 번째둜, 클럭 μ‹ ν˜Έλ₯Ό μ°¨λ‹¨ν•˜λŠ” μŠ€μœ„μΉ˜λŠ” 일반적으둜 λ©€ν‹°ν”Œλ ‰μ„œ(MUX) λ˜λŠ” νŠΈλžœμ§€μŠ€ν„°λ₯Ό μ‚¬μš©ν•˜μ—¬ κ΅¬ν˜„λ©λ‹ˆλ‹€. 이 μŠ€μœ„μΉ˜λŠ” 클럭 μ‹ ν˜Έκ°€ ν•„μš”ν•œ 회둜 λΈ”λ‘μ—λ§Œ μ „λ‹¬λ˜λ„λ‘ ν•˜μ—¬, λΆˆν•„μš”ν•œ μŠ€μœ„μΉ­ ν™œλ™μ„ λ°©μ§€ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ λ°©μ‹μœΌλ‘œ, Clock Gating은 회둜의 νŠΉμ • 뢀뢄이 μ‚¬μš©λ˜μ§€ μ•Šμ„ λ•Œ μ „λ ₯을 μ ˆμ•½ν•  수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€.

μ΄λŸ¬ν•œ ꡬ성 μš”μ†Œλ“€μ€ ν•¨κ»˜ μž‘λ™ν•˜μ—¬ Clock Gating의 νš¨μœ¨μ„±μ„ κ·ΉλŒ€ν™”ν•©λ‹ˆλ‹€. 회둜 μ„€κ³„μžλŠ” μ΄λŸ¬ν•œ κΈ°μˆ μ„ κ³ λ €ν•˜μ—¬ μ „λ ₯ μ†Œλͺ¨λ₯Ό μ€„μ΄λŠ” λ™μ‹œμ— μ„±λŠ₯을 μœ μ§€ν•  수 μžˆλŠ” 졜적의 섀계λ₯Ό κ΅¬ν˜„ν•΄μ•Ό ν•©λ‹ˆλ‹€.

2.1 (Optional) Subsections

2.1.1 Clock Control Logic

Clock Control Logic은 회둜의 μƒνƒœλ₯Ό κ°μ§€ν•˜κ³  클럭 μ‹ ν˜Έμ˜ ν•„μš”μ„±μ„ νŒλ‹¨ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€. 이 λ‘œμ§μ€ λ‹€μ–‘ν•œ μ„Όμ„œμ™€ ν”Όλ“œλ°± λ©”μ»€λ‹ˆμ¦˜μ„ 톡해 회둜의 ν˜„μž¬ μƒνƒœλ₯Ό λͺ¨λ‹ˆν„°λ§ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, νŠΉμ • 쑰건이 좩쑱되면 ν΄λŸ­μ„ ν™œμ„±ν™”ν•˜κ³ , 그렇지 μ•ŠμœΌλ©΄ λΉ„ν™œμ„±ν™”ν•˜μ—¬ μ „λ ₯ μ†ŒλΉ„λ₯Ό μ€„μž…λ‹ˆλ‹€.

2.1.2 Gate Logic

Gate Logic은 클럭 μ‹ ν˜Έμ™€ μ œμ–΄ μ‹ ν˜Έλ₯Ό κ²°ν•©ν•˜μ—¬ μ΅œμ’…μ μœΌλ‘œ νšŒλ‘œμ— μ „λ‹¬λ˜λŠ” 클럭 μ‹ ν˜Έλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€. 이 κ³Όμ •μ—μ„œ μ‚¬μš©λ˜λŠ” 논리 κ²Œμ΄νŠΈλŠ” 회둜의 섀계에 따라 λ‹¬λΌμ§ˆ 수 있으며, 졜적의 μ„±λŠ₯을 μœ„ν•΄ μ‹ μ€‘ν•˜κ²Œ μ„ νƒλ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

2.1.3 Switch Implementation

μŠ€μœ„μΉ˜ κ΅¬ν˜„μ€ 클럭 μ‹ ν˜Έλ₯Ό μ°¨λ‹¨ν•˜λŠ” 데 ν•„μˆ˜μ μž…λ‹ˆλ‹€. λ©€ν‹°ν”Œλ ‰μ„œλ‚˜ νŠΈλžœμ§€μŠ€ν„°μ™€ 같은 λ‹€μ–‘ν•œ 방법이 μ‚¬μš©λ  수 있으며, 각 방법은 μ„€κ³„μ˜ μš”κ΅¬ 사항에 따라 λ‹€λ₯΄κ²Œ 적용될 수 μžˆμŠ΅λ‹ˆλ‹€. 이 μŠ€μœ„μΉ˜λŠ” 클럭 μ‹ ν˜Έμ˜ 경둜λ₯Ό μ œμ–΄ν•˜μ—¬ μ „λ ₯ μ†Œλͺ¨λ₯Ό μ΅œμ†Œν™”ν•©λ‹ˆλ‹€.

Clock Gating은 λ‹€μ–‘ν•œ μ „λ ₯ 관리 기술과 비ꡐ될 수 있으며, κ·Έ μ€‘μ—μ„œλ„ Power Gating, Dynamic Voltage and Frequency Scaling (DVFS), 그리고 Adaptive Body Biasingκ³Ό 같은 κΈ°μˆ λ“€μ΄ μžˆμŠ΅λ‹ˆλ‹€. 각 κΈ°μˆ μ€ μ „λ ₯ μ†Œλͺ¨λ₯Ό μ€„μ΄λŠ” 방법이 λ‹€λ₯΄λ©°, νŠΉμ • 상황에 따라 μž₯단점이 μžˆμŠ΅λ‹ˆλ‹€.

Power Gating은 회둜 블둝 전체λ₯Ό μ™„μ „νžˆ λΉ„ν™œμ„±ν™”ν•˜μ—¬ μ „λ ₯을 μ°¨λ‹¨ν•˜λŠ” κΈ°μˆ μž…λ‹ˆλ‹€. 이 κΈ°μˆ μ€ Clock Gatingκ³Ό ν•¨κ»˜ μ‚¬μš©λ  수 있으며, 일반적으둜 더 큰 μ „λ ₯ μ ˆμ•½ 효과λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ Power Gating은 νšŒλ‘œκ°€ λ‹€μ‹œ ν™œμ„±ν™”λ  λ•Œ μ‹œκ°„μ΄ μ†Œμš”λ˜λ―€λ‘œ, 응닡 μ‹œκ°„μ΄ μ€‘μš”ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œλŠ” 단점이 될 수 μžˆμŠ΅λ‹ˆλ‹€.

Dynamic Voltage and Frequency Scaling (DVFS)λŠ” μ „μ••κ³Ό 주파수λ₯Ό λ™μ μœΌλ‘œ μ‘°μ ˆν•˜μ—¬ μ „λ ₯ μ†Œλͺ¨λ₯Ό μ€„μ΄λŠ” κΈ°μˆ μž…λ‹ˆλ‹€. 이 방법은 클럭 μ£ΌνŒŒμˆ˜μ™€ 전압을 μ‘°μ •ν•¨μœΌλ‘œμ¨ μ„±λŠ₯을 μ΅œμ ν™”ν•  수 μžˆμ§€λ§Œ, κ΅¬ν˜„μ΄ λ³΅μž‘ν•˜κ³  좔가적인 νšŒλ‘œκ°€ ν•„μš”ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 반면 Clock Gating은 μƒλŒ€μ μœΌλ‘œ κ°„λ‹¨ν•˜κ²Œ κ΅¬ν˜„ν•  수 있으며, νŠΉμ • 회둜 λΈ”λ‘μ˜ μ „λ ₯ μ†Œλͺ¨λ₯Ό 효과적으둜 쀄일 수 μžˆμŠ΅λ‹ˆλ‹€.

Adaptive Body Biasing은 λ°˜λ„μ²΄ μ†Œμžμ˜ νŠΉμ„±μ„ μ‘°μ •ν•˜μ—¬ μ „λ ₯ μ†Œλͺ¨λ₯Ό μ€„μ΄λŠ” κΈ°μˆ μž…λ‹ˆλ‹€. 이 방법은 μ†Œμžμ˜ λ™μž‘μ„ μ΅œμ ν™”ν•˜λŠ” 데 μœ μš©ν•˜μ§€λ§Œ, 섀계 λ³΅μž‘μ„±μ΄ 증가할 수 μžˆμŠ΅λ‹ˆλ‹€. Clock Gating은 μƒλŒ€μ μœΌλ‘œ κ°„λ‹¨ν•˜κ²Œ μ μš©ν•  수 μžˆλŠ” 기술둜, μ „λ ₯ κ΄€λ¦¬μ˜ 기본적인 λ°©λ²•μœΌλ‘œ 널리 μ‚¬μš©λ©λ‹ˆλ‹€.

μ΄λŸ¬ν•œ 비ꡐλ₯Ό 톡해 Clock Gating은 λ‹€μ–‘ν•œ μ „λ ₯ 관리 기술 μ€‘μ—μ„œ 효과적이고 κ΅¬ν˜„μ΄ μš©μ΄ν•œ λ°©λ²•μœΌλ‘œ 자리 작고 μžˆμŠ΅λ‹ˆλ‹€. 각 기술의 μž₯단점을 μ΄ν•΄ν•˜κ³  μ μ ˆν•˜κ²Œ μ‘°ν•©ν•˜μ—¬ μ‚¬μš©ν•  경우, 졜적의 μ „λ ₯ νš¨μœ¨μ„±μ„ 달성할 수 μžˆμŠ΅λ‹ˆλ‹€.

4. References

  • IEEE Circuits and Systems Society
  • ACM Special Interest Group on Design Automation (SIGDA)
  • International Symposium on Low Power Electronics and Design (ISLPED)
  • Semiconductor Research Corporation (SRC)
  • Various semiconductor companies implementing Clock Gating techniques

5. One-line Summary

Clock Gating은 디지털 νšŒλ‘œμ—μ„œ μ „λ ₯ μ†Œλͺ¨λ₯Ό 쀄이기 μœ„ν•΄ 클럭 μ‹ ν˜Έμ˜ 전달을 μ œμ–΄ν•˜λŠ” 기술둜, VLSI μ‹œμŠ€ν…œ μ„€κ³„μ—μ„œ ν•„μˆ˜μ μΈ μš”μ†Œμž…λ‹ˆλ‹€.