본문 바로가기
C++ 200제/코딩 IT 정보

[임베디드 개발자] 소비전력을 낮추기 위한 프로그래밍 (코딩)

by vicddory 2018. 6. 23.

[임베디드 개발자] 소비전력을 낮추기 위한 프로그래밍 (코딩)


소프트웨어의 구조도 소비전력에 영향을 준다

소프트웨어를 통해 효과적으로 저 소비전력 모드를 활용하는 것이 중요하나, 그 외에도 주의가 필요하다. 액티브 모드에서는 그 기간을 짧게 하든지, 또는 동작 주파수를 떨어뜨리고 싶으므로 알고리즘 고안을 통해 필요한 CPU 처리에 대한 실행 사이클 수를 조금이라도 줄일 수 없을지 잘 생각하면 좋다.


어떠한 이벤트를 기다려야 하는 경우라면 폴링(polling)에 의한 웨이트는 금물이다.


프로그램이 루프하는 것만으로 플래시 메모리와 CPU 논리가 전력을 소비하기 때문이다. 기다리는 것뿐이라면 슬립 등 저 소비 전력 상태로 하여 인터럽트로 복귀하도록 하자.


저전력 저소비 임베디드 프로그래밍[임베디드 프로그래머]


코드 사이즈가 가능한 한 작아지도록 알고리즘 고안과 컴파일러의 최적화 옵션을 지정하자. 처리 당 명령 수가 적으면 플래시 메모리의 액세스 횟수도 줄일 수 있다.


곱셈 명령과 곱의 합 명령의 빈도가 극히 높으면, 하드웨어 양이 많은 곱셈기를 움직이기 위해 소비 전력을 증대시킬 가능성이 있다. 경우에 따라서는 성능과 코드 사이즈 면에서 목표를 달성하기 위해 프로그램을 C언어가 아니라 어셈블러로 쓰는 케이스도 있다.


저 소비 전력화를 위해서는 프로그래머도 상당한 각오가 필요하다.


출처 - 전자기술 2015년 10월호 63p (총 6가지가 언급됐지만 하나만 인용.)


될대로 되란 식으로 코딩하면 안 된다는 뜻이죠.


시대가 흐를수록 고수준의 코딩 기법을 가진 사람들이 우대받을 수 밖에 없는 상황이 도래했습니다. 앞으로 이 흐름은 더 심화되고, 백엔드-프론트엔드 개발자들의 처우나 업무는 차이가 날 수밖에요.


[임베디드 개발자] 소비전력을 낮추기 위한 프로그래밍 (코딩)

댓글