국산 CPU 코어 로드쇼에서는 다이나릿시스템의 Core-A, 에이디칩스의 emCore, 한국전자통신연구원의 알데바란(Aldebaran), 전자부품연구원(KETI)의 MENSA 코어가 소개되었으며 이들 코어를 활용한 SoC 개발 사례로 빌리브마이크론의 디지털 무전기용 위치기반 무선통신 SoC(Core-A 적용), 엠씨에스로직의 USB DAC 내장 무선 스피커용 SoC(emCore 적용), 언맨드솔루션의 소형 이동로봇 플랫폼 제어 SoC(알데바란 적용) 등이 참가하여 제품을 시연했다.
Core-A, 엠코어 등 국산 CPU 코어 개발 사업 1년 성과
안정성 및 신뢰성 높이고 시장인지도 확산에 한 목소리
“국산 CPU 코어의 성공 가능성을 확인하였다”
상용화되는 제품이 늘어나면서 정부가 추진하는 국산 CPU 코어 개발 사업이 가시적인 성과를 얻고 있는 것으로 나타났다.
지난 3일 반도체연구조합에서 개최된 국산 CPU 코어 로드쇼에서는 정부 과제 1년을 되돌아보는 자리가 마련됐다. 송용호 지능형반도체추진단장은 “지난해부터 내년까지 총 3년에 걸쳐 팹리스 기업 6~7개 기업에 10억 원씩 투자되는 사업”이라며, “어려운 과정 속에서도 일부 제품이 사업화되는 성과를 거두었다”고 말했다.
반도체산업협회의 안기현 상무도 “시작할 때 우려가 많은 사업이었는데 SoC의 리스크에도 불구하고 상용화가 잘 되었다. 국내 팹리스 기업들이 상황이 좋지 않은데 이러한 성공적인 케이스가 다른 사업에도 영향을 미쳤으면 좋겠다”고 밝혔다.
▲에이디칩스의 empress 프로세서를 적용하여 시연한 로봇.
이날 국산 CPU 코어 로드쇼에서는 다이나릿시스템의 Core-A, 에이디칩스의 emCore, 한국전자통신연구원의 알데바란(Aldebaran), 전자부품연구원(KETI)의 MENSA 코어가 소개되었으며 이들 코어를 활용한 SoC 개발 사례로 빌리브마이크론의 디지털 무전기용 위치기반 무선통신 SoC(Core-A 적용), 엠씨에스로직의 USB DAC 내장 무선 스피커용 SoC(emCore 적용), 언맨드솔루션의 소형 이동로봇 플랫폼 제어 SoC(알데바란 적용) 등이 참가하여 제품을 시연했다. 이에 E4ds뉴스는 2회에 걸쳐 이들 국산 CPU코어와 개발 사례를 소개하고자 한다.
다품종소량 제품에 최적화, 다이나릿시스템의 Core-A
Core-A는 특허청 지원으로 KAIST에서 개발한 32비트 RISC 프로세서이며 컴파일러와 디버거 등은 전북대학교와 부산대학교에서 개발한 코어이다. 다양한 주변 제어기기와 여러 플랫폼은 ㈜다이나릿시스템(www.dynalith.com)에서 개발했다.
Core-A는 RTL 코드가 제공되어 로직합성기로 합성해 사용하는 하드웨어 설계 블록인 소프트-코어(Soft-Core)이다. 다시 말해, RTL(Register Transfer Level)을 제공하고 업계 표준 합성기로 합성하여 사용할 수 있는 장점이 있다. 비교적 간단한 절차로 기술 협약을 거쳐 도입비와 사용료 등이 없이 제공받을 수 있다. 다이나릿시스템 측은 “사용자의 활용 환경에 맞추어 사용할 수 있다는 이득이 있다”며, “비슷한 수준의 상용 프로세서인 ARM9과 성능이 비슷하다”고 밝혔다.
▲Core-A 프로세서의 구조(위)와 소프트웨어 개발 환경
Core-A 프로세서는 업계 표준 버스인 AMBA AHB와 AMBA AXI에 바로 연결하여 사용할 수 있도록 버스인터페이스가 부가된 RTL을 제공한다. 특히 TCM 버전은 비교적 작은 규모의 SW가 운용되는 경우에 적합하고, 캐시 버전은 상대적으로 SW 규모가 큰 경우가 적합하다고 소개했다. TCM의 용량은 필요에 따라 조정할 수 있고 캐시는 크기와 멀티-웨이(multi-way) 정도를 필요에 따라 조절할 수 있다.
표준 버스인터페이스가 부가된 RTL 제공해
Core-A 프로세서는 GNU GCC에 기반한 C 컴파일러가 제공되며 원천코드 수준의 디버깅을 위해 GNU GDB와 연동되는 ICE-디버거(OpenJTAG)가 지원된다. 2017년 공개를 목표로 LLVM(Low Level Virtual Machine) 기반 C 컴파일러를 개발하고 있다. Core-A 프로세서를 적용하여 시스템반도체를 만들기 위해서는 HW와 SW를 동시에 설계하고 기능을 검증하는 환경이 필요하며 이를 위해서는 CoreIDEA 환경이 지원된다. 회사 측은 다양한 반도체 설계자산 즉 시스템 버스, Legacy IP, Audio, Video, 이더넷, 메모리컨트롤러, 플래시 등이 제공된다고 전했다.
Core-A 프로세서 지원 용용 플랫폼은 오디오, 비디오, 네트워크, RTOS, 파일시스템 등 다양한 으용에 바로 적용할 수 있는 RTL로 된 참조설계를 제공한다. 특히 실시간 운영체제로 uC/OS-Ⅱ와 FreeRTOS가 이식되어 있다. Core-A를 활용한 시스템반도체를 설계하고 기능을 검증할 수 있는 개발보드가 다양한 규모로 준비되어 응용 플랫폼들이 개발보드에 이식되어 있다.
▲빌리브마이크론은 Core-A를 이용하여 무선통신 및 신호처리용 SoC를 개발했다.
2008년 공개된 이후, Core-A 프로세서는 응용 설계와 주변 IP 개발 그리고 시스템 지원 기능을 꾸준히 추가하여 발전시켜 왔다. 현재 AMBA AHB/AXI 지원 기능이 보강된 버전이 주로 활용되고 있으며 캐쉬가 지원되는 버전이 새롭게 추가되어 시스템반도체 설계에 적용되고 있다. 향후 저전력 기능과 시큐리티 기능 그리고 안정성 기능 등이 보강된 버전이 개발되어 추가될 예정이고 이후 경량화와 다중 프로세서 지원기능이 추가, 보강된 버전으로 업그레이드할 계획이다.
다이나릿스시템 측은 “Core-A 프로세서는 ARM7, ARM9, 코어텍스-M, 코어텍스-R 시리즈가 적용되는 응용과 데이터 프로세싱보다 제어 기능이 주가 되는 응용에 적합하다. Core-A는 시스템반도체의 주 프로세서 또는 보조 프로세서로 활용할 수 있고, FPGA 내부 설계에 적용하여 다품종소량 제품에도 잘 맞다”고 밝혔다.
다이나릿시스템의 기안도 부사장은 “Core-A가 SPI-플래시와 함께 사용할 경우, XiP(eXeute In Place)기능에 따라 플래시에 있는 코드를 바로 수행하여 부팅관련 절차가 단순화되고 경우에 따라서는 코드 메모리가 없어도 된다”며, “이처럼 Core-A 프로세서는 향후 계속하여 여러 가지 형태로 쓰는 목적에 따라 스케즐링 가능하도록 기술로드맵을 세웠다”고 말했다.
빌리브마이크론, 소스코드 및 가격 차별화 가능하나 시장 인지도 개선 필요해
빌리브마이크론㈜은 Core-A를 적용하여 디지털 무전기의 위치기반 서비스를 위한 무선통신 및 신호처리용 SoC를 개발하였다. 모바일 Ad-Hoc 네트워크를 접목한 거리 확장 및 통신 유지기술 개발을 통해 무전기용 통신 네트워크를 구축하고 구축된 네트워크 환경에서 국산 CPU 코어를 활용하여 단말간의 측위정보, 음성 신호처리 및 데이터 공유를 지원하는 네트워크 무전기 SoC 개발을 목표로 하고 있다.
빌리브마이크론㈜의 엄재홍 대표는 “국산 코어를 사용하여 제품 가격 경쟁력을 확보하고 측위 기능을 추가한 차별환된 서비스 솔루션을 제시하여 제품을 차별화했다”고 말했다. 특히 이 SoC는 캐시 지원 XIP로 플래시 메모리를 제거하여 메모리가 차지하는 면적을 줄이고 신뢰성을 확보한 것이 특징이다.
Core-A를 적용하여 SoC를 개발한 엄 대표는 “코어의 경쟁력을 분석해 보면, 소스코드 및 가격에 대한 차별화가 가능하고 컴파일러 최적화 통한 성능 향상, 소프트웨어 에뮬레이터 등이 강점”이라며, “이에 반해 SRAM/Flash 메모리 요구 사항을 축소할 필요가 있으며 시장 인지도를 개선하고 성능, 분야에 대한 차별화 기능을 따로 제시할 필요가 있다”고 지적했다.
강력한 해외 CPU 코어에 맞서다, 에이디칩스 emCore
해외에 유명한 마이크로프로세서 아키텍처로 CISC(인텔, 모토로라, AMD 등 개발)와 RISC(ARM, MIPS 등)가 있다면, 한국에는 ‘EISC’가 있다.
에이디칩스사의 EISC(Extendable Instruction Set Computer)는 RISC의 간결성과 CISC의 확장성을 동시에 갖고 있다는 평가를 받았다. CISC(복합명령어구조)는 가변 명령어 구조회로가 복잡하지만 코드 사이즈가 작다는 단점이 있고, RISC(축약명령어구조)는 고정명령어 구조로 코드사이즈가 크지만 하드웨어가 간단하다. 이들 아키텍처보다 비교적 늦은 2000년에 등장한 EISC는 확장명령어구조로 하드웨어가 간단하고 코드사이즈가 작다는 장점이 있다.
EISC는 이처럼 기존 외산 아키텍처와의 차별화로 만들어졌지만, 오히려 브랜드가 혼동되는 측면이 있어 최근 ‘엠코어는(emCore)’라는 이름으로 통칭하기로 했다. 엠코어는(emCore)는 EISC 아키텍처를 기반으로 한 국산 CPU코어이다.
▲에이디칩스의 empress 프로세서를 적용하여 시연한 드론.
EISC는 에이디칩스에서 개발한 임베디드 프로세서용 ISA(Instruction Set Architecture)로 확장 명령어라는 새로운 개념을 도입하였고 명령어 길이가 16비트, 32비트 듀얼 고정 명령어를 구조로 코드사이즈가 우수하다. 에이디칩스 측은 “엠코어는 또한 고정명령어 구조로 하드웨어가 간단하며 GPR 개수가 많아 플래시 메모리 접근을 줄여 저전력이 가능하다”며, “16비트 명령어 구조로 한번에 두 개의 명령어를 가져와 플래시 메모리 접근을 줄여준다”고 밝혔다. 특히 에이디칩스의 CPU 원천기술을 통해 고객이 원하는 새로운 명령어를 추가하거나 수정하는 것이 쉽다.
엠코어는 경쟁 프로세서와 기술을 차별화하면서도 타깃도 분명히 했다. 기존 ARM, 인텔, 삼성, 퀄컴 등과 의미 없는 경쟁을 피하고 포화된 모바일 프로세서 시장도 애써 들어가지 않겠다는 전략이다. 대신 그 중간 시장인 임베디드, 마이크로컨트롤러 분야 등에 우선 진입하면서 시장을 넓혀간다는 방침이다.
이에 에이디칩스는 로우엔드급으로 SE1608, SE3208, Tiny 제품군을 주력 제품으로 Lucida, Empress 시리즈 등 국산 32비트 엠코어 시리즈 5종을 상용화하여 LG전자, 삼성전기, 삼성테크윈, 아이닉스, 칩스앤미디어 등의 국내 대, 중소기업에 공급했다. 현재까지 엠코어 기반의 칩 선적 실적은 누적으로 약 5천 만개 이상이라고 업체 측은 밝혔다.
엠코어는 고객에게 AMBA Bus 기반의 SoC 플랫폼을 제공한다. AMBA 버스 기반 CPU 코어와 주변장치 블록들이 포홤된 emCORE SoC 플랫폼은 고객의 개발기간을 단축시켜주고 시장에 더 빠르게 진입하는 것을 도와준다.
지원되는 CPU 코어 기술은 통합개발환경 및 컴파일러가 제공되며 JTAG 디버거와 다운로더를 제공한다. 각 하드웨어와 소프트웨어 매뉴얼을 지원하며 스팩 협의 후, 원하는 스팩으로 코어 플랫폼을 재설계하여 전달한다. 또한 SoC 설계에 대한 검증을 위하여 Pre-Simulation과 Post-Simulation에 관련된 가이드를 제공하며 FPGA의 다운로드와 검증을 위한 EDF 파일과 각종 API를 제공한다. SoC 설계나 FPGA 설계에 대한 CPU 코어기술 모두 지원한다.
엠코어 기술은 2세대 CPU 코어 ISA 개발을 계기로 IoT 웨어러블을 겨냥한 초경량 CPU 시장, 모바일 고성능 CPU 코어 시장에 진입할 계획이다. 2세대 엠코어 JUNO 프로세서 시리즈는 기존 프로세서에 비해 더 확장된 명령어 등을 지니고 있고 이전 세대와 비슷한 전력 소비량과 코드 사이즈를 유지하면서 더 강력한 성능을 낸다. 또한 향상된 전력 관리를 통해 전력 효율성을 높인 구조를 지닌 2세대 프로세서는 1Ghz 이상의 Super-Scalar, Virtual OS, 64bit 머신 등에 적합한 ISA 구조로 개발했다.
암호화 관련 명령어를 추가하였으며 GP-GPU 어레이 프로세서의 효율적인 지원을 위한 32개 코프로세서 지원 모니터 모드를 추가했다. 상용화 로드맵 전략에 대해서 에이디칩스는 “중국 CSMC 0.18um 공정에 SE1608, Tiny, Lucida 코어 3종 코어 하드닝을 완료했다”며, “국산 CPU 코어를 삼성 파운드리에 IP 등록을 추진하고 있다”고 밝혔다. 또한 앞으로 산업 특성에 맞추어 사용할 수 있도록 SoC 플랫폼을 구축할 예정이며 IoT, 웨어러블, 스마트가전 및 자동차 어플리케이션 시장을 겨냥한 중저가 엠코어 시리즈를 개발할 계획이다.
㈜에이디칩스의 이희 부사장은 “마이크로프로세서에서 가장 기본이 되는 것은 ISA, 즉 ‘명령어 셋’이다. 그 동안 많은 ISA가 개발되었다가 시장에서 사라졌다. 특허를 침해하지 않으면서 기존의 마이크로프로세서와 비교하여 경쟁력 있는 ISA를 개발한 것이 엠코어 EISC의 탄생 배경”이라고 말했다.
엠코어의 명령어 셋은 모두 개발된 상태이며 이제 2세대 JUNO S 시리즈를 개발하고 있다는 이 부사장은 “현재 엠코어는 전기밥솥과 같은 주방 가전, 생활가전, 의료기기, 골프 GPS, 도어락, 하이패스 터미널, 음성인식, IoT용 무선모뎀, 스마트 파워미티링, 터치센서 컨트롤러 등 다양한 분야에 적용되고 있다”며, “로봇, 드론 등에도 지원하고 있지만 실 매출은 스마트가전, IoT 등에서 발생하고 있다”고 말했다.
엠씨에스로직, 무선 스피커용 원칩 오디오 시스템 반도체 개발
엠씨에스로직은 엠코어를 이용하여 USB DAC 내장 무선 스피커용 SoC를 개발하고 있다. 정확한 개발 과제는 7.1 채널 32비트 384KHz 고음질 오디오를 처리할 수 있는 USB DAC을 내장한 무선 스피커용 원칩 오디오 시스템 반도체 개발이다.
엠씨에스로직의 김찬식 연구소장은 엠코어를 활용한 하드웨어와 소프트웨어 개발 측면에서의 장단점을 중점적으로 소개했다. 먼저 하드웨어 개발 측면에서 김 소장은 “Empress의 아키텍처 변경이 비교적 자유롭고 CPU 및 Bus 클록의 변경 요청이 원활하다”며, “또한 추가적인 설계가 불필요하며 다양한 FPGA 디바이스 지원이 가능하다는 장점이 있다”고 말했다. 하지만 김 소장은 “Empress가 안정화 되면 인풋/아웃풋 포트 확정과 딜리버리 폼 확정이 필요하고 인풋/아웃풋 포트 고정이 쉽지 않으면 수정 포인트에 대한 다큐멘트 등이 있어야 한다”며, “레지스터 모니터링이 되지 않아 프로그램 디버깅이 매우 어렵다는 단점이 있다”고 지적했다.
소프트웨어 측면에서도 그는 “GNU 기반의 툴체인는 리눅스뿐만 아니라 MS 윈도우 환경에서도 Cygwin을 통해 사용이 가능하며 GNU 기반의 컴파일러를 사용하여 프로그램 이식성이 좋다”면서도, “하지만 거꾸로 말하면 OS 환경이 제약적이라는 점과 컴파일러 최적화 성능이 떨어진다는 점은 문제”라고 말했다.
☞다음주에는 알데바란 프로세서와 멘사 프로세서 관련 기사가 업데이트됩니다.