View : 604 Download: 0

Code Relocation Method for Low Power Operation of Small-scale Embedded Systems

Title
Code Relocation Method for Low Power Operation of Small-scale Embedded Systems
Authors
최하연
Issue Date
2020
Department/Major
대학원 컴퓨터공학과
Publisher
이화여자대학교 대학원
Degree
Doctor
Advisors
박상수
Abstract
최근의 임베디드 시스템은 빠른 속도로 진행되고 있는 기술의 발전에 힘입어 스마트폰, 태블릿 PC 등의 모바일 디바이스, 스마트 워치와 같은 웨어러블 디바이스, 그리고 IoT 디바이스 등 사용자의 요구사항에 따라 다양한 형태로 등장하고 있다. 이러한 대부분의 시스템은 휴대성을 극대화하기 위해 소형으로 제작되는데, 이는 설계 시 배터리 의존적인 작동이 전제된다는 것을 의미한다. 한정적인 배터리 자원은 시스템의 지속성을 위협할 수 있으므로 저전력 구동은 중요하다. 따라서 본 논문에서는 기본 메모리 구조를 활용한 전력 관리 기법을 제안하고자 한다. 비휘발성 메모리와 휘발성 메모리로 구성된 기본 메모리 구조에서, 비휘발성 메모리는 많은 용량으로 대부분의 프로그램 코드가 적재되고 휘발성 메모리는 적은 용량임에도 불구하고 사용되는 용도에 따라 전력과 속도 대비 높은 효율을 보인다. 이러한 특성에 착안하여 제시된 코드 재배치 기법은 일반적인 프로그램과 다르게 코드를 휘발성 메모리에 적재하여 실행하는 기법을 말한다. 이는 저전력 시스템의 구현을 위해 별도의 하드웨어를 교체하지 않고 소프트웨어 수준에서의 관리가 가능하다는 것에 의의가 있다. 재배치 기법의 적용, 즉 휘발성 메모리의 특성에 기반하여 서로 다른 위치에 접근하는 코드를 비휘발성 메모리가 아닌 휘발성 메모리에 재배치하는 것은 기존의 프로그램이 수행될 때 소비하는 전력보다 적은 전력이 소모된다. 이는 기반 실험으로 확인되었으며, 본 논문에서는 단순히 재배치 기법을 제안하는 것뿐만 아니라 이를 확장하여 코드 재배치 기법의 효율에 직접적인 영향을 미치는 요인에 대한 분석을 진행하였다. 이를 기반으로 각 요인에 따른 단일 함수의 코드 재배치 기법의 정책을 고안하였고, 이때 적용되는 스코어링 모델을 제안하였다. 이 모델들의 주된 목적은 프로그램에서 효율적으로 임베디드 시스템을 저전력으로 구동하기 위해 프로그램을 기본 블록 (Basic Block)인 함수로 분할하고 이를 전력 감소 효율이 높은 순서로 예측하여 나열할 수 있다는 점에 의의가 있다. 이러한 모델은 용량의 제약이 존재하는 임베디드 시스템에서 코드 재배치의 효율을 극대화하기 위한 대상 함수를 선택하는 기준으로 사용될 수 있다. 해당 논문의 실험 환경에서 선택되는 대상 함수 (target function)에 따라 효율의 정도의 차이가 있으나, 최대 약 12%의 전력 감소 효율을 보였으며, 평균 3%의 전력 감소 효율을 보였다. 더 나아가 결론적으로 다중 함수 코드 재배치 기법의 정책으로의 확장을 위해 완전 탐색 알고리즘 (Brute Force Algorithm)을 사용하여 함수 간의 관계성을 분석한다. 그리고 이를 토대로 코드 재배치의 효과를 극대화하기 위한 대상 함수의 최적 조합을 제시한다. 최종적으로 제시된 코드 재배치 기반 전력 관리 기법은 기본 메모리 구조 기반으로 설계되었으므로 메모리, 나아가 임베디드 시스템의 전력을 효율적으로 관리하고 배터리의 성능을 최대로 활용할 수 있을 것이라고 기대된다. 특히나 탑재되는 운영체제와 관계없이 소프트웨어 수준의 수정 즉, 프로그램 코드의 수정을 통해 구현 가능하기 때문에 어떠한 시스템에서도 사용 가능하다는 확장성을 가진다는 점에서 의의가 있다. 또한, 향후 진행될 추가 연구를 통하여 현존하는 마이크로프로세서의 전력 관리 기법과 상호 보완적인 효과를 발휘할 수 있을 것이다. 특히나 소비하는 전력의 양을 줄이기 위해 하드웨어와 소프트웨어를 동시에 고려하여 설계할 수 있다는 점에서 다른 관련 연구의 기반 기술로 사용될 수 있을 것으로 보인다.;Owing to the rapid developments in associated technology, embedded systems are being employed in various applications, according to user requirements. Embedded systems are used in mobile devices such as smartphones and tablets, wearable devices such as smartwatches, and Internet of Things (IoT) devices. A majority of these systems are manufactured in small sizes to maximize their portability. However, such designs are often battery dependent, and as limited battery resources can threaten the system, a low power operation is crucial. To address this issue, this paper proposes a power management method that employs a basic memory structure consisting of non-volatile and volatile memory. Non-volatile memory has significant capacity, and it is loaded with most of the program code. Contrarily, volatile memory offers high efficiency relative to power and speed, despite its small capacity. The code relocation method proposed in this study is based on these characteristics and refers to a technique that loads and executes code in volatile memory, unlike typical programs. This enables management at the software level without replacing the hardware to implement a low power system. Lesser power is consumed when applying the relocation method, i.e., relocating code that assigns different locations to volatile memory rather than non-volatile memory based on the characteristics of volatile memory, as compared to a conventional program. This result was confirmed through experiments. In this study, the relocation method was proposed, and this method was extended to analyze factors that directly impact the efficiency of the code relocation method. This paper devises a policy for the single function code relocation method depending on each factor and proposes and applies scoring models. The main purpose of these models is to separate the program into functions, i.e., basic blocks, and to predict and list functions in descending order of the power reduction efficiency, thereby efficiently driving the embedded system at low power. In this regard, the models are meaningful and can be used as criteria for selecting target functions to maximize the efficiency of code relocation in an embedded system with capacity constraints. Although the degree of efficiency varies depending on the target function selected in the experimental environment, the maximum power reduction efficiency is about 12% and the average power reduction efficiency is 3%. Furthermore, to extend the policy of the multi-function code relocation method, a brute force algorithm is used to analyze the relationships between the functions. Based on this, an optimal combination of target functions is proposed to maximize the effect of code relocation.
Fulltext
Show the fulltext
Appears in Collections:
일반대학원 > 컴퓨터공학과 > Theses_Ph.D
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

BROWSE