베이스 프로세서 구성이나 하드웨어-소프트웨어 설계 트레이드오프 해결을 위한 커스텀 확장 추가는 오랫동안 RISC-V 커뮤니티 가치 제안의 초석이었습니다. 최근 기사들(예: 적절한 RISC-V 커스텀 명령어로 애플리케이션 가속화 가이드)은 오픈소스 ISA 확장의 실질적 이점을 강조합니다.
오늘날의 AI 및 머신러닝 SoC는 전력, 성능, 다이 면적에 의해 제약되어 ISA 확장이 이러한 요구를 충족하는 강력하지만 종종 간과되는 레버가 됩니다.
최근 Quantum Leap Solutions 웨비나 RISC-V 유연성 – 커스텀 확장의 힘은 현대 SoC 설계를 위해 RISC-V ISA를 어떻게 맞춤화할 수 있는지 신비를 풀기 위해 마련되었습니다. 100명 이상의 참석자가 모인 세션에는 업계 전문가 패널이 참여했습니다.
토론은 수정된 ISA가 신흥 애플리케이션을 가속화하는 방법과 설계자가 RISC-V 아키텍처의 확장을 평가하는 방법에 초점을 맞췄습니다.
Mike Ingster(Quantum Leap Solutions 창업자 겸 사장)의 진행으로 패널리스트는 다음과 같습니다:
John Min, Andes Technology FAE 디렉터
Larry Lapides, Imperas Software 영업 부사장
Taek Nam, Mentor 선임 애플리케이션 엔지니어
Mike Ingster: 왜 RISC-V가 다른 CPU 아키텍처보다 AI와 ML 학습 애플리케이션에 더 나은 옵션인가요?
John Min: RISC-V는 AI가 주류가 되던 시기에 구상되었고, 그 벡터 명령어 세트는 AI와 VR 워크로드를 염두에 두고 설계되었습니다.
Larry Lapides: 이기종 프로세서의 다중 어레이가 있는 AI 시스템(여러 차례 구현된 아키텍처)에서 설계자는 스칼라와 벡터 코어를 결합할 수 있습니다. RISC-V는 불필요한 기능을 제거하면서 벡터 명령어를 유지하여 우수한 가격-성능-면적(PPA)을 제공합니다.
Ingster: 벡터 확장이 있는 RISC-V 코어도 커스텀 명령어로 확장할 수 있나요?
Min: 네. 일반적인 예는 고객 확장을 통합하여 데이터 기아로 인한 스톨을 방지하는 추가 버퍼를 추가하는 벡터 코어입니다.
Lapides: Imperas와 Andes 모두 이러한 커스텀 기능을 구현하여 성능을 향상시킨 고객이 있습니다.
Ingster: 멀티프로세서 어레이에서 모든 CPU가 동일한 구성이 필요한가요, 아니면 다른 커스텀 명령어를 가질 수 있나요?
Lapides: 이기종 프로세서가 일반적입니다. 커스텀 명령어는 코어마다 다를 수 있고, 베이스 명령어 세트도 다를 수 있습니다. 한 코어는 벡터 명령어를 지원하고 다른 코어는 스칼라로 남아 인터리빙 실행을 가능하게 합니다.
Min: 다중화 어레이에서 CPU와 시뮬레이터 모두 이기종이 될 수 있어 효율적인 멀티코어 시뮬레이션을 가능하게 합니다.
Ingster: 서버급 RISC-V 프로세서가 시장에 나올 것으로 보이나요?
Min: 궤적은 명확합니다: 더 높은 주파수, 더 넓은 파이프라인, 아웃오브오더 실행, 대규모 병렬 멀티코어. 이 요소들은 이미 AI 엔터프라이즈 워크로드를 위한 차세대 RISC-V 코어에 나타나고 있습니다.
Lapides: 역사적으로 RISC-V는 32비트와 64비트 개념 증명 SoC로 시작했습니다. 약 2년 전 보안 중심과 IoT SoC의 급증을 보았습니다. 오늘날 우리는 애플리케이션급 프로세서를 목격하고 있습니다. 실제 RTOS를 실행하는 64비트 RISC-V 코어와 초기 아웃오브오더 파이프라인. 첫 서버급 칩은 향후 2~3년 내에 예상됩니다.
Ingster: 커스텀 확장이 기기 보안과 수명주기 관리를 제공할 수 있나요?
Min: 물론입니다. 커스텀 명령어는 소프트웨어 호환성을 강제하기 위한 런타임 검사를 수행하거나, 전용 메모리 포트로 중요한 데이터를 격리하여 보안과 수명주기 제어를 강화할 수 있습니다.
Taek Nam: 설계자는 Tessent 임베디드 분석 IP를 활용하여 커스텀 확장으로 SoC에 보안과 수명주기 관리를 직접 내장할 수 있습니다.
Ingster: RISC-V의 커스텀 명령어 접근 방식이 ARC나 Tensilica 같은 다른 벤더와 어떻게 다른가요?
Min: RISC-V의 공식 확장 메커니즘은 커스텀 명령어를 표준에 공식적으로 통합할 수 있게 하여 더 넓은 채택을 위한 명확한 경로를 제공합니다.
Ingster: 개발자가 커스텀 명령어를 고객이나 파트너와 어떻게 공유할 수 있나요?
Min: 세 가지 옵션이 있습니다: 독점 유지, RISC-V International에 제출하여 포함(예: Andes의 DSP 확장이 P-확장이 됨), 또는 구현을 NDA로 보호하면서 인트린직과 헤더 파일 공유.
Lapides: 커스텀 확장 모델을 오픈소스나 바이너리로 제공하거나, 명령어 정확한 프로세서 모델로 제공하여 초기 프리실리콘 소프트웨어 개발을 촉진할 수 있습니다.
Ingster: 커스텀 확장이 RISC-V 커뮤니티 내 호환성 문제를 일으킬까요?
Min: 독점 확장은 격리된 상태로 유지됩니다. 확장이 널리 사용되면 베이스 ISA 포함을 제안할 수 있어 파편화를 방지합니다.
Ingster: 벡터 프로세서가 현재 버전에서 컴파일러 지원을 받나요?
Min: RISC-V 벡터 확장 0.8은 안정적이며 GCC와 LLVM에서 지원됩니다. 최종 컴파일러 지원은 공식 사양 확정 후 따를 것입니다.
Ingster: 소프트웨어 툴체인에서 커스텀 확장은 어떻게 지원되나요?
Lapides: 설계자는 확장 기능을 RISC-V 모델에 내장하여 소프트웨어 개발을 위한 명령어 세트 시뮬레이터를 생성합니다. GCC와 LLVM은 새 명령어를 지원하도록 확장될 수 있으며, 설계자는 매크로 구현을 제공할 수 있습니다.
Ingster: 컴파일러가 새로 생성된 커스텀 명령어를 어떻게 인식하게 하나요?
Lapides: 소프트웨어 팀이 컴파일러 백엔드에 명령어를 구현해야 합니다.
Min: 또는 라이브러리처럼 취급하세요: 헤더 파일과 선택적 독점 구현을 제공하여 개발 노력을 최소화하면서 여전히 성능 이득을 얻습니다.
Ingster: RISC-V에서 지원되는 OS는 무엇이며 Android 지원은 있나요?
Lapides: Linux, Zephyr RTOS, 기타 실시간 운영체제가 주요 대상입니다. Android는 RISC-V에서 공식적으로 검증되지 않았지만 포팅 노력이 진행 중입니다. RISC-V International 웹사이트에 지원되는 모든 OS가 나열되어 있습니다.
Ingster: 커스텀 확장은 어떻게 검증되나요?
Lapides: 검증은 확장 기능을 RTL과 프로세서 모델에 추가하는 것을 포함합니다. 명령어 세트 시뮬레이터로 초기 소프트웨어 검증이 가능합니다.
Taek: 최근 고객이 우리 임베디드 분석 IP를 사용하여 커스텀 명령어의 성능 이득을 추적하고 정량화하여 데이터 기반 검증으로 이점을 확인했습니다.
Ingster: 임베디드 분석 IP 추가에 얼마나 많은 면적이 필요합니까?
Taek: 구성에 따라 일반적으로 다이의 약 1%입니다. 각 설계는 면적을 최적화하면서 최대 가치를 제공하도록 평가됩니다.
이 하이라이트는 Quantum Leap Solutions가 주최한 전체 패널 토론에서 발췌했습니다.