이중 코어 64비트 머신 비전/히어링 개발 기판으로 AI와 ML의 구현을 모두 지원하는 RISC-V
RISC-V는 32비트 코어의 재혁신과 더불어 개발된 최신 제품입니다. 그러나 이번에는 좀 다른 엔지니어링 환경입니다. 최근 코어의 혁신 및 경쟁은 이미 형성된 범용 마이크로 컨트롤러 시장을 중심으로 하며, 범용 주변 소자는 견고한 자동차 응용 제품에 촛점이 맞춰져 있었습니다. 그러나 오늘날의 내장형 혁신은 사물 인터넷(IoT) 종단점을 중심으로 정교한 개별 에지 컴퓨팅 시스템을 그 목표로 합니다. 최신 RISC-V 마이크로 컨트롤러는 일반 타이머와 직렬 인터페이스가 아닌 인공 지능(AI) 추론 엔진 및 머신러닝(ML) 기능을 비롯한 정교한 주변 소자도 지원합니다.
그러나 RISC-V에는 진화하는 시장과 기술 요구 사항을 충족시키고도 남는 추가적인 이점이 있습니다. 그에 대해 설명하기 전에 이전의 역사에 대해 잠시 살펴보도록 하겠습니다.
마이크로 컨트롤러 혁신의 역사에 관한 매우 간단한 정리
내장형 마이크로 컨트롤러 시장은 수년마다 큰 변화를 경험했습니다. 이러한 변화는 불규칙한 시간 간격을 두고 일어났으며, 성능 및 기능에 대한 시장의 요구뿐만 아니라 해당 산업의 비지니스적인 측면에 의해서 발생하기도 했습니다. 초창기 제품인 8051로 시작한 8비트 시장이 자동차, 게임, 가전 제품을 포함한 거의 모든 분야에서 내장형 시스템을 지배했습니다. 오늘날까지 8비트 초저전력 마이크로 컨트롤러는 여전히 많은 곳에서 사용되며 8051도 계속 발전을 거듭하고 있습니다(자세한 내용 추후 설명).
16비트 마이크로 컨트롤러는 저전력과 성능 간에 최상의 균형을 오래도록 제공해 왔는데, 지금까지도 이 16비트 시장은 이 분야 기성 업체 이외의 제조업체에게는 오해를 받고 있습니다. 그 후 32비트 프로세서가 등장하게 되었습니다. 이 프로세서는 다양한 독점 아키텍처를 갖추어, 1990년대와 2000년대 초반 코어가 급속도로 성장하던 시절에 개인용 컴퓨터 이외 분야에서 그 중요성이 부각되기 시작했습니다.
Arm이 32비트 코어 경쟁에서 승리했습니다. 다양한 공급업체가 모두 공통 아키텍처 아래 느슨하게 통합되어 있었기 때문에, 고객은 코드를 이식하는 데 큰 노력을 기울이지 않고도(독점 아키텍처와 비교하여 이점임) 공급업체를 쉽게 변경할 수 있어 고객 우위의 시장이 형성되었습니다.
축소된 명령어 집합의 RISC-V
오랜 동안 RISC-V의 마켓 점유는 미미한 수준에 머물렀는데, 그 주된 원인은 새로운 32비트 명령어 집합 아키텍처(ISA)에 대해 이렇다 할 시장의 수요가 없었기 때문입니다. 그러나 RISC-V의 코어 아키텍처를 접한 엔지니어는 누구라도 금새 그 매력에 푹 빠지게 되었습니다.
RISC는 원래 축소형 명령어 집합 코어/컴퓨터를 의미했으며, 이는 말 그대로 최소한의 명령어를 사용해 유용한 작업을 수행한다는 의미입니다. 그때부터 RISC로 명명된 대부분의 아키텍처는 그 정의와는 달리 많은 복잡한 명령어들로 구성되게 되어, 이제 그 의미가 무색해졌습니다. 그러나 RISC-V ISA는 그러한 정의에 꼭 알맞는 제품으로, 이 제품을 살펴본다면 "인상적이군. 대단히 인상적이야."라는 James Earl Jones 목소리가 들리는 듯 느껴질 수도 있습니다.
기본 32비트 RISC-V는 32개의 32비트 코어 레지스터인 x0 ~ x31를 갖추고 있습니다. 이 중 31개는 범용인 반면, 레지스터 x0은 0에 하드와이어되어 있습니다. RISC-V 명령어 집합에 대해 더 깊이 살펴볼수록, x0 = 0의 지혜 및 x0이 축소형 명령어 집합을 유지하는 많은 명령어에 필수 피연산자인 이유를 알게 됩니다. 그러나 이에 대한 설명은 여기서는 다루지 않겠습니다.
반도체 산업은 여러 건강한 상호 의존성을 지니고 있는 전 세계적인 산업이지만, 최근 반도체 제조업체는 분명하거나 미묘한 이유 둘 다로 인해 자사의 제품에 대해 더 많은 통제권을 유지하고자 합니다. 따라서 값비싼 라이선스 계약 및 판매 또는 재판매가 이루어지는 지적 재산(IP) 소스를 고려하게 됩니다. 이를 통해 RISC-V는 맞춤 가능, 오픈 소스, 로열티 없는 ISA가 될 수 있으며, 역사적으로 알맞은 시기에 알맞은 아키텍처의 역할을 할 수 있습니다. 그런 만큼 DigiKey에서는 EDU 사이트에서 RISC-V에 대해 중점적으로 다루고 있습니다. 여기에서 제공되는 전자책 'Academic Components Reference Guide: RISC-V(연구자를 위한 부품 참조 안내서: RISC-V)'에는 초보자 및 경력자를 위한 RISC-V 도구 및 평가 키트가 포함되어 있습니다. 이러한 도구를 사용하면 이전에 해당 아키텍처 관련 경험이 없는 개발자도 RISC-V 프로그래밍 모델 및 ISA에 대해 잘 알고 친숙해질 수 있습니다.
RISC-V: AI/ML을 위한 강력한 코어
새로운 ISA는 일반적으로 범용 마이크로 컨트롤러와 깜박이는 LED가 있는 평가 기판과 함께 출시되지만, RISC-V는 AI 및 ML에 바로 투입됩니다. 예를 들어 Seeed Technology는RISC-V RV64I, 64비트 어드레스 및 64비트 코어 레지스터 x0 ~ x31이 포함된 데이터 ISA를 기반으로 하는 Seeed 110991190 Sipeed Maix-BiT 개발 기판으로 ML을 활성화하고 있습니다(그림1).
그림 1: Seeed Technology Sipeed Maix-BiT 개발 기판은 이중 코어 RISC-V RV64GC를 기반으로 하며, 머신 비전 및 머신러닝 응용 제품에서의 사용을 주 목적으로 합니다. (이미지 출처: Seeed Technology)
DigiKey의 RISC-V 전자책(5페이지부터)에서 볼 수 있듯이, 이 기판의 작은 크기 및 고성능으로 인해 에지 프로세싱 IoT 응용 제품에서의 사용에 적합합니다.
Sipeed Maix-BiT 기판용 코어 프로세서는 이중 코어 RV64GC 마이크로 컨트롤러 시스템 온칩(SoC)입니다. 여기서 접미사 G는 하드웨어 곱셈 및 나눗셈의 범용 확장 지원, 매우 자세한 읽기-수정-쓰기 메모리 명령어, 단정밀도 및 배정밀도 부동 소수점 모두에 대한 지원을 의미합니다. 접미사 C는 해당 마이크로 컨트롤러가 컴팩트 코드를 작성하는 데 유용한 16비트 압축 명령어를 지원함을 의미합니다. 이 마이크로 컨트롤러는 128Mbits의 외부 프로그램 플래시 메모리뿐만 아니라 6MiB의 범용 온칩 SRAM에 액세스할 수 있습니다. 이는 비교적 새로운 ISA에서 획기적인 처리 성능이며, 복잡한 에지 컴퓨팅 응용 제품을 위해 충분한 메모리입니다.
이중 코어 RV64GC 마이크로 컨트롤러에서 가장 인상적인 점은 안면과 물체를 실시간으로 감지하도록 설계된 온칩 범용 AI 신경망 프로세서입니다. AI 프로세서에는 AI 작동을 수행하기 위한 2MiB의 전용 SRAM이 있습니다. 따라서 어느 정도의 마이크로 컨트롤러 프래그래밍 기술만 있으면 누구든지 접근 가능한 획기적인 처리 성능을 제공합니다.
Sipeed Maix-BiT 기판에는 플래시 메모리 확장을 위한 마이크로 SD 카드 슬롯이 있습니다. 머신 히어링 응용 제품용 AI 장치에서 온보드 초소형 전자 기계 시스템(MEMS) 마이크를 사용할 수 있으며, 이러한 응용 제품에는 복잡한 음성 및 잡음 인식 시스템이 포함됩니다. 이 키트에는 보드 밑면의 디지털 비디오 포트(DVP) 카메라 커넥터에 연결되는 외부 카메라도 포함되어 있습니다. 이는 IoT 에지 프로세싱 시스템의 이점인 복잡한 머신 비전 응용 제품을 지원합니다.
또한 이 기판에는 프로그래밍 및 디버깅을 위한 USB-C 인터페이스가 포함되어, USB-UART 칩으로 이중 코어 RV64GC와 통신합니다. 여기에 포함되는 외부 LCD 디스플레이를 위한 추가적인 커넥터가 있는데, 이를 통해 프로그램 개발 중에 시각적인 피드백이 가능하며 응용 제품에서 사용자 피드백을 목적으로 사용할 수도 있습니다.
결론
8비트 마이크로 컨트롤러 시대부터 오늘날까지 오랜 시간 동안 많은 변화가 있었습니다. RISC-V ISA 역시 Arm과 같이 시장에서 우수한 품질을 지닌 경쟁자로 자리매김할 수 있을까요? RISC-V를 향한 무수한 관심과 이 기사에서 다루었던 것과 같은 발전된 개발 기판을 고려할 때 RISC-V는 시장에 진출할 충분한 가능성이 있지만, 이에 대해서는 더 고려할 점이 많이 있습니다. 현재 제공되는 Seeed의 110991190 Sipeed Maix-BiT와 같은 제품을 고려한다면, 에지에서의 IoT 및 AI/ML 응용 제품에서 그 영역을 넓혀갈 것으로 보입니다.
그리고 한 가지 추가적인 사실은, 8비트 제품의 편재성을 강조하기 위해, 개발 기판의 LCD 인터페이스 IC와 CH552 USB-UART IC 모두 사전 프로그래밍된 8비트 마이크로 컨트롤러입니다. 또한 CH552는 실제로 초창기 제품인 8051입니다.
Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.
Visit TechForum