일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Pyverilog 실행
- pygraphviz 설치 오류
- Pyverilog 설치
- 딥러닝 가속기
- pytest-pythonpath 설치 오류
- pyverilog 설치 오류
- 남산업힐
- CUDA
- linux c 컴파일
- Design DNN Accelerator
- 대구 반도체 설계기업 특화
- CDC
- DNN Accelerator
- linux c++ 컴파일
- gcc 컴파일
- systolic array
- 데이터 해저드
- DNN 가속기
- 이진수 곱셈 알고리즘
- AMBA
- Data HAzard
- Pyvrilog tutorial
- gpgpu-sim
- CLOCK GATING
- 클럭 게이팅
- makefile
- linux makefile 작성
- 컨벌루션 연산
- Pyverilog 튜토리얼
- Makefile compile
- Today
- Total
오늘은 맑음
Low Power Design : IC의 저전력 디자인 기법 본문
IT기기의 고성능화와 모바일기기(노트북, 스마트폰, 워치)의 발전으로 인해 저전력 디자인(Low power design)의 중요성이 높아지고 있습니다. 고성능 기기를 동작하기 위해서는 높은 전원을 필요로 합니다.
높은 전원을 사용하게 되면 사용되는 전력이 증가하게 되어 비용에 부담이 될 수 있으며, 발열이 증가해 냉각 시스템에 사용되는 비용이 증가합니다. 최근 MS, Google, Amazon과 같은 기업에서 데이터 센터의 냉각 시스템에 많은 투자를 하고 있죠.
https://www.techm.kr/news/articleView.html?idxno=90224
또한 스마트폰, 워치와 같이 배터리로 인해 전력 공급이 제한적인 모바일 기기에서도 배터리의 효율을 높이고 발열을 줄이기 위한 저전력 디자인의 중요도가 높아지고 있습니다.
저전력 디자인 기법을 통해 소모되는 Dynamic power(switching power)와 Static power(leakage power)를 낮출 수 있습니다.
https://wh00300.tistory.com/258
- Dynamic power
- 불필요한 신호의 switching을 막아 Dynamic power를 낮출 수 있습니다.
- Static power
- 불필요한 block의 leakage power를 낮추거나 전원을 꺼 leakage power 자체를 없앨 수 있습니다.
주로 사용되는 저전력 디자인 기법 세 가지를 알아보겠습니다.
1. Clock gating
Clock gating을 통해 Dynamic Power의 소모를 낮출 수 있습니다. Clock gating은 RTL 설계 과정에서 적용됩니다.
특정 어플리케이션 A를 실행하는데 사용되지 않는 모듈 B가 있습니다. B는 A를 실행하는 동안 사용되지 않으며 어떠한 동작을 하지 않더라도 Dynamic Power가 발생합니다. 바로 switching되는 clock에 의해 발생합니다.
PLL에서 B까지 clock을 일정하게 전송하기 위해서 중간중간에 있는 Cell들에서 많은 전력이 소모됩니다. 이렇게 불필요한 모듈에 clock이 전달되는 것을 막기 위한 방법이 Clock gating입니다.
Clock gating은 그림 1과 같이 구현될 수 있습니다. "Clock을 전달하겠다"는 enable 신호와 AND gate로 구현되며 enable 신호가 비활성화 상태에서는 main clock인 clk이 gclk에 전달되지 못하며, 활성화 상태에서는 clk이 gclk에 전달되어 gclk이 switching 되는 것을 볼 수 있습니다.
따라서 A가 실행되는 동안에는 B에 해당되는 enable 신호가 비활성화 되어 clock이 전달되지 않으며, B가 실행되어야 하는 어플리케이션이 실행될 때에는 enable신호가 활성화 되어 B가 동작할 수 있습니다.
칩의 설계가 완료된 후에 Clock gating을 적용하는 것은 어렵습니다. 특정 모듈에 clock을 전달하지 않았을 때 칩의 동작이 멈추거나, 오동작 할 수 있기 때문입니다. 따라서 아키텍쳐를 구상하는 과정에서 부터 고려해야 할 필요가 있습니다.
2. Multi-Voltage
칩 안에는 다양한 모듈들이 있습니다. 어떤 모듈 A는 고성능으로 동작해야 하며, 어떤 모듈 B는 낮은 성능으로 동작할 필요가 있습니다. 여기서 A의 성능을 위해 A와 B에 모두 높은 전원을 사용하게 되면 B에는 불필요한 높은 전원이 공급되어 Dynamic power가 증가할 것입니다. 따라서 그림 2와 같이 power domain을 분리해 A에는 높은 전원을, B에는 낮은 전원을 사용하면 사용되는 Dynamic power를 줄일 수 있습니다.
3. Power gating
Power gating을 통해 Static power와 Dynamic power를 모두 낮출 수 있습니다. Multi-Voltage와 비슷하지만 각기 다른 Power domain에 다른 전압을 공급하는 것이 아니라, 전압의 공급을 끊는 기법입니다. 따라서 소모되는 전력을 가장 많이 낮출 수 있습니다.
하지만 사용하지 않는 power domain에 전달되는 전원을 끊었다가 다시 전원을 공급했을 때 기능적으로 문제가 없다고 보장되어야 합니다.
*사용되는 전력을 줄이는 양은 Power gating > Multi-Voltage > Clock gating 순서입니다.
Multi-Voltage와 Power gating은 제가 쉽게 접할 수 없기 때문에 설명이 조금 부족할 수 있습니다.
차근차근 알아보고 추가해보도록 하겠습니다.
https://www.synopsys.com/glossary/what-is-low-power-design.html
https://www.elec4.co.kr/article/articleView.asp?idx=28521
'Processor' 카테고리의 다른 글
HAPS DTD(Deep Trace Debug)란? (0) | 2023.05.13 |
---|---|
Dynamic power/Static Power (0) | 2022.01.29 |
AXI BUS 신호 (0) | 2021.04.03 |
프로세서 설계 시 고려해야 할 점 (0) | 2020.11.05 |
LOA(Lower-part Or Approximation adders) (0) | 2020.09.04 |