Skip to main content
QUICK REVIEW

[논문 리뷰] PERI: A Posit Enabled RISC-V Core

Sugandha Tiwari, Neel Gala|arXiv (Cornell University)|2019. 08. 05.
Low-power high-performance VLSI design참고 문헌 14인용 수 9
한 줄 요약

이 논문은 32비트 포지트 크기에서 런타임으로 두 개의 지수 크기(es=2 및 es=3)를 전환할 수 있도록 확장된 파rametric하고 기능 완비된 포지트 기반 FPU를 갖춘 RISC-V 커널인 PERI를 제안한다. FPU는 SHAKTI C-클래스 RISC-V 커널에 RoCC 인터페이스를 통해 타이트하게 결합된 실행 단위 또는 별도의 코프로세서로 통합되었으며, Artix-7 FPGA에서 100 MHz로 동작하고, LUT 3,507개와 레지스터 1,294개를 사용한다. 이로써 애플리케이션은 필요에 따라 포지트의 더 높은 정밀도나 동적 범위를 활용할 수 있다.

ABSTRACT

Owing to the failure of Dennard's scaling the last decade has seen a steep growth of prominent new paradigms leveraging opportunities in computer architecture. Two technologies of interest are Posit and RISC-V. Posit was introduced in mid-2017 as a viable alternative to IEEE 754-2008. Posit promises more accuracy, higher dynamic range, and fewer unused states along with simpler hardware designs as compared to IEEE 754-2008. RISC-V, on the other hand, provides a commercial-grade open-source ISA. It is not only elegant and simple but also highly extensible and customizable, thereby facilitating novel micro-architectural research and exploration. In this paper, we bring these two technologies together and propose the first Posit Enabled RISC-V core. The paper provides insights on how the current 'F' extension and the custom op-code space of RISC-V can be leveraged/modified to support Posit arithmetic. We also present implementation details of a parameterized and feature-complete Posit FPU which is integrated with the RISC-V compliant SHAKTI C-class core either as an execution unit or as an accelerator. To fully leverage the potential of Posit, we further enhance our Posit FPU, with minimal overheads, to support two different exponent sizes (with posit-size being 32-bits). This allows applications to switch from high-accuracy computation mode to a mode with higher dynamic-range at run-time. In the absence of viable software tool-chain to enable porting of applications in the Posit domain, we present a workaround on how certain applications can be modified minimally to exploit the existing RISC-V tool-chain. We also provide examples of applications which can perform better with Posit as compared to IEEE 754-2008. The proposed Posit FPU consumes 3507 slice LUTs and 1294 slice registers on an Artix-7-100T Xilinx FPGA while capable of operating at 100 MHz.

연구 동기 및 목표

  • IEEE 754 부동소수점 산술의 한계, 즉 복잡한 예외 처리, 서브노멀 수의 오버헤드, 일관되지 않은 NaN 표현 방식을 해결하기 위해.
  • 더 높은 정밀도, 넓은 동적 범위, 더 단순한 하드웨어를 제공하는 포지트 산술을 상용 수준의 오픈소스 RISC-V ISA에 통합하기 위해.
  • 동일한 FPU 하드웨어 유닛 내에서 고정밀도 모드(es=2)와 고역동 범위 모드(es=3) 간에 런타임으로 전환할 수 있도록 하기 위해.
  • 기본적인 포지트 컴파일러 지원이 없는 상황에서도 기존 RISC-V 툴체인에 포지트 지원을 통합할 수 있는 실용적인 길을 제공하기 위해.
  • FPGA 프로토타이핑을 통해 포지트 기반 계산이 실제 수치 응용 프로그램에서 IEEE 754를 능가함을 입증하기 위해.

제안 방법

  • RISC-V 'F' 확장을 확장하고, 포지트 전용 명령어를 인코딩하기 위해 커스텀 옵코드 영역을 활용하여 FMADD, FADD, FMUL, FDIV, FSQRT, FCVT 등의 명령어를 포함한다.
  • 32비트 포지트 크기에서 두 개의 지수 크기(es=2 및 es=3)를 지원하는 파rametric한 포지트 FPU를 설계하며, 하드웨어 생성을 위해 BSV를 사용한다.
  • 현재 es 값을 저장하기 위한 제어 및 상태 레지스터를 설계하여 실행 중에 모드를 동적으로 전환할 수 있도록 한다.
  • FPU를 SHAKTI C-클래스 커널 파이프라인 내 타이트하게 결합된 실행 단위로 또는 RoCC 유사 인터페이스를 통해 코프로세서로 통합한다.
  • 기존 RISC-V 툴체인을 활용해 포지트 인식 애플리케이션을 구동하기 위해 최소한의 코드 수정으로 소프트웨어 이식을 위한 대안을 개발한다.
  • Xilinx Artix-7-100T를 사용한 FPGA 프로토타이핑을 통해 성능, 면적, 주파수를 검증하였으며, 측정된 동작 주파수는 100 MHz이다.

실험 결과

연구 질문

  • RQ1기존 확장어와의 호환성을 유지하면서 RISC-V ISA를 어떻게 확장하거나 수정하여 포지트 산술을 네이티브로 지원할 수 있는가?
  • RQ232비트 포지트 크기에서 동일한 FPU 유닛 내에 두 개의 지수 크기(es=2 및 es=3)를 지원할 경우 하드웨어 및 성능 오버헤드는 얼마나 되는가?
  • RQ3기본 컴파일러 툴체인 지원이 없는 상황에서도 포지트 산술이 실제 응용 프로그램에서 IEEE 754를 능가할 수 있는가?
  • RQ4포지트 FPU를 RISC-V 커널에 실행 단위 또는 코프로세서로 효율적으로 통합할 수 있는 방법은 무엇인가?
  • RQ5RISC-V 환경에서 포지트와 IEEE 754 FPU의 구현 간 지시어 수준의 동작 방식과 사이클 수에 대한 주요 차이는 무엇인가?

주요 결과

  • 제안된 포지트 FPU는 Artix-7-100T FPGA에서 3,507개의 슬라이스 LUT와 1,294개의 슬라이스 레지스터를 소비하며, 100 MHz에서 동작한다.
  • es=2(더 높은 정밀도)와 es=3(더 넓은 동적 범위) 모드 간에 런타임 전환 기능을 제공하며, 모드 전환에 4 사이클의 오버헤드만 소요된다.
  • FMUL, FADD, FMA 등의 핵심 연산은 각각 6, 6, 8 사이클이 소요되며, FDIV와 FSQRT는 각각 20 및 32 사이클이 소요된다.
  • FPU는 FCVT, FMIN/FMAX, FCLASS와 같은 RISC-V 'F' 확장 지침을 모두 지원하며, 사이클 수가 표준 RISC-V FPU 기대치와 일치한다.
  • IEEE 754와 포지트 FPU가 동일한 칩 내에서 공존할 수 있도록 하여, 정밀도 또는 범위 요구에 따라 응용 프로그램 수준에서 선택이 가능하다.
  • 행렬 곱셈 및 신호 처리와 같은 응용 프로그램은 정밀도 손실 감소와 수치적 안정성 향상 측면에서 IEEE 754 대비 포지트 기반 계산에서 명확한 이점을 보였다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.