기계에 ‘잘’ 명령하는 방법 찾기

▲ © 신문수 기자

 

 

이시윤씨의 논문 「A flexible tradeoff between code size and WCET using a dual instruction set processor」가 지난 9월 3일(금) 암스테르담에서 열린 제8회 SCOPES(Software and Compilers for Embedded Systems) 워크숍에서 최우수 논문상을 수상했다. 이 논문은 SCI급 저널인 『ACM Transactions on Embedded Computing Systems』 에 게재될 예정이다.

 

 

▲논문에서 어떤 내용을 다뤘나

 

실시간 임베디드 시스템(Embedded

System)을 더 효율적으로 조종할 수 있는 기계 명령어 집합의 조합 방법을 개발했다. 임베디드 시스템은 일반 PC를 제외한 냉장고, 자동차, 휴대폰 등  모든 기계 속에 내장되는 하드웨어와 그 안에서 실행되는 소프트웨어를 합쳐 일컫는 말이다. 임베디드 시스템 중에는 자동차 브레이크에 사용되는 것과 같이 실시간으로 작동해야하는 것이 있는데, 많은 경우 명령어 집합이 1개인 일반적인 시스템과는 달리 이들 실시간 임베디드 시스템은 실행 시간의 조정을 위해 명령어의 집합을 2개 가지고 있다. 하나는 ‘실행 시간이 짧지만 코드 크기가 큰 명령어 집합’이고, 다른 하나는 ‘실행 시간은 길지만 코드 크기가 작은 명령어 집합’이다. 비유를 하자면, 전자는 ‘먹어 그리고 씻어 그리고 자’로 한 줄에 처리되는 것을 후자는 ‘먹어’/ ‘씻어’/ ‘자’로 세 줄에 처리하게 된다. 각 줄을 처리하는데 걸리는 시간은 비슷하기 때문에, 전자는 실행시간이 짧은 대신에 코드 크기가 커지고, 후자는 실행시간은 긴 대신 코드 크기가 작아지는 것이다.

 

기계를 조종하는 기계어는 사람이 직접 사용하기가 까다롭기 때문에 프로그래밍 언어로 작성된 프로그램을 기계어로 ‘번역’하는 컴파일(Compile)이라는 과정을 거친다. 이 과정에서 2가지 명령어 집합을 어떻게 조합하느냐에 따라 실행 시간과 코드 크기가 정해진다. 임베디드 시스템의 프로그램에 코드 크기, 실행 시간, 전력 소모 등 서로 다른 제약 조건이 주어졌을 때, 조건에 맞는 최적의 조합을 찾아가는 선택적 코드 변환 기법(selective code transformation)의 개발이 논문의 주된 내용이다.

 

▲이 연구의 의의는 무엇인가.

 

실시간 임베디드 시스템 관련 분야는 새로 개척되는 분야로, 이런 연구가 많지 않았다. 이 기법의 개발로 임베디드 시스템 설계에 큰 진전이 있을 것으로 보이며, 장기적으로 임베디드 시스템의 생산 단가를 낮추는데 기여할 것으로 예상된다.                 

저작권자 © 대학신문 무단전재 및 재배포 금지