“RISC-V 활용한 시스템 설계, 핵심은 코드 사이즈 줄이기”

최태우 / 기사승인 : 2019-07-17 08:50:22
  • -
  • +
  • 인쇄
시스템반도체 경쟁력 확보, RISC-V에 주목하라 ③…성숙해진 개발자 생태계
[source=pixabay]

- 오픈 설계자산(IP)으로 개발자들 주목, 스스로 해결해야 하는 과제도
- 시스템 성능 최적화·안정성 위한 코드수·코어 최적화가 관건


[IT비즈뉴스 최태우 기자] CPU 코어 개발을 위한 오픈소스 아키텍처를 제공하는 리스크파이브(RISC-V)가 반도체 설계자산(IP) 시장에서 과반을 차지하는 ARM의 대항마로 떠오르며 주목받고 있다.


명령어세트(ISA)가 공개돼 있어 개발자가 필요한 코어만 선택해 실리콘(Chip)을 설계할 수 있고 다양한 IoT 애플리케이션에서 요구하는 특화 기능을 구현하는 데 유리해 개발자들의 관심도 뜨겁다.


다수의 칩사, 엔터프라이즈/인터넷서비스기업이 참여하고 있는 리스크-V 파운데이션도 활발하게 움직이고 있다. 출범 4년차인 올해를 기점으로 그간 멤버기업들이 초기에 오픈했던 코어 IP를 활용한 다수의 레퍼런스디자인이 공개될 예정으로 내년부터 시장에 리스크-V IP가 탑재된 다수의 칩이 양산에 들어갈 것으로 예상된다.


IT비즈뉴스(ITBizNews)는 개방형 명령어집합을 오픈소스로 배포하고 있는 리스크-V 파운데이션에 대한 전세계적 관심이 높아진 현재, 세 번째로 리스크-V 코어를 활용하는 개발자를 지원하는 툴·개발환경(생태계)을 알아보고 개발자가 시스템 설계 부문에서 해결해야 하는 도전과제에 대해 알아본다.


◆상용서비스와 달리 개발자가 ‘스스로 해결’ 해야만 하는 이슈
리스크-V가 주목받는 이유는 무료로 사용할 수 있는 점, 원하는 IP만 선택해 설계복잡성을 줄이고 맞춤화된 애플리케이션 디자인 설계에 쉽게 적용할 수 있는 점을 든다. 다양한 운영체제(OS)도 지원하고 있다. 개발자의 입장에서는 ‘무겁지 않고, 가볍게 빨리 처리할 수 있는 시스템 디자인 구현’이 가능하다는 설명이다.


오픈소스를 사용하는 만큼 개발자가 ‘스스로’ 해결해야 하는 과제도 있다. 칩이나 시스템을 설계할 때 문제점이 발생될 때다.


사실 ARM의 코어텍스(Coretex)와 같은 상용IP로 칩 설계, 임베디드 시스템을 개발할 때 문제점이 발생되면 다양한 기술지원을 받을 수 있다. 범용 칩·애플리케이션을 위한 제품군 각각에 탑재된 자산을 개발자가 모두 열어서 볼 수는 없으나, 비용을 지불하는 만큼 개발 단계에서 발생 가능한 문제점에 대한 기술지원을 받을 수 있어 시스템 최적화가 쉽다.


오픈소스를 활용하는 리스크-V의 경우, IP를 개발자가 무료로 선택·활용할 수 있으나 기술지원을 받을 수는 없다. 다수의 개발자가 참여하면서 형성된 집단지성 기반의 정보를 찾아볼 수는 있으나 이는 오롯이 개발자가 스스로 해결해야한다.


물론, 파운데이션에 참여하고 있는 다수의 기업들(사이파이브, 램버스, 울트라SoC 등)이 비즈니스 형태로 이들을 지원하고 있다. 오픈소스를 활용한 엔터프라이즈 SW 기업인 레드햇이 오픈소스 파운데이션에 참여하면서 추진하고 있는 비즈니스 모델과 비슷한 개념이다.


개발자가 코어를 선택했으면 구상하고 있는 애플리케이션을 구현하기 위한 코딩을 진행한다. 이를 위해서는 MCU/MPU/SoC와 같은 핵심 프로세서 기반으로 구현되는 애플리케이션 설계에서 기반 환경을 제공하는 통합개발환경(IDE)을 선택하는 것도 중요한 관심거리다.


대다수 반도체기업에서 개발자가 선택한 칩을 지원하는 개발키트를 배포하고 있으며, 다수의 개발자가 이클립스, GCC 컴파일러를 사용하고 있다. IAR시스템즈(IAR Systems)는 GCC 컴파일러가 아닌 상용 툴로는 리스크-V 코어를 지원하는 임베디드워크벤치(Embedded Workbench)를 지난 5월 최초로 공개했다.


IAR시스템즈코리아 이현도 과장

◆리스크-V 코어 활용의 핵심은 코드 사이즈 줄이기
IAR시스템즈코리아 이현도 과장은 기자와 만난 자리에서 “리스크-V 코어를 사용하는 개발자가 해결해야 하는 과제는 실행 코드수를 줄이는 것”이라고 말했다. 칩에 내장돼 있는, 한정된 메모리를 효율적으로 사용하기 위해 실행 코드수를 줄이면 성능 부문에서의 가용성을 확보하고 비용도 줄일 수 있다는 설명이다.


개발자가 툴을 선정하는 기준으로는 기술지원의 여부와 성능이다. 성능이 중요한 이유는 컴파일러 링크가 코드를 어떻게 해석하느냐에 따라 코드의 크기(사이즈)를 효과적으로 줄일 수 있기 때문이다. 코드가 작아지면 내장된 메모리를 적게 사용하기 때문에 칩을 설계할 때 사이즈와 비용을 줄일 수 있다.


컴파일러의 안정성도 중요한 이슈다. 정적/동적분석을 지원하면서 그간 짜여진 코드를 검증하고, 추후 업데이트되는 시스템 환경에 발맞춰 추가된 기능을 지원하는 기술지원 여부도 개발자의 입장에서 중요하다.


이현도 과장은 “IAR 임베디드워크벤치는 GCC 컴파일러가 아닌 상용 툴로는 최초로 리스크-V 코어를 지원하는 툴”이라며 “자체 테스팅 결과 GCC 컴파일러 대비 코드의 크기를 약 22% 줄일 수 있는 최적화 기능을 지원하는 점이 강점”이라고 강조했다.


임베디드워크벤치 내에서 개발자가 다양한 기능을 사용할 수 있는 점도 IAR시스템즈가 내세우는 강점이다. 이클립스, GCC 컴파일러와 같은 독자적인 프로그램과 달리 정적분석, 컴파일러, 품질관리 등이 IDE 내에 플러그인으로 탑재, 단일 환경에서 구현할 수 있다는 설명이다.


이현도 과장은 “IAR시스템즈가 파운데이션 멤버사로서, 본사 차원에서 개발자를 위한 기술지원과 기능 확장도 강화해 나갈 계획”이라며 “GCC 대비 컴파일 속도 개선, 코드수를 줄이고 코어 속도를 높이는 아토믹확장명령어세트도 올해 안으로 업데이트될 예정이다. 내년부터는 RV 64비트 코어를 지원하고 툴에 대한 기능안정성 인증도 완료할 계획”이라고 말했다.


[저작권자ⓒ IT비즈뉴스. 무단전재-재배포 금지]

  • 글자크기
  • +
  • -
  • 인쇄
뉴스댓글 >

주요기사

+

많이 본 기사

마켓인사이트

+

컴퓨팅인사이트

+

스마트카

+

PHOTO NEWS