Skip to main content
QUICK REVIEW

[論文レビュー] PERI: A Posit Enabled RISC-V Core

Sugandha Tiwari, Neel Gala|arXiv (Cornell University)|Aug 5, 2019
Low-power high-performance VLSI design参考文献 14被引用数 9
ひとこと要約

本論文は、32ビットのポジットサイズで2種類の指数サイズ(es=2 および es=3)をランタイムで切り替え可能な、パrameterizedかつ機能的に完全なポジット対応FPUを備えた、初めてのRISC-VコアであるPERIを提示する。FPUは、SHAKTI CクラスRISC-Vコアに、RoCCインタフェースを介したコプロセッサとして、または密結合された実行ユニットとして統合されており、Xilinx Artix-7 FPGA上で100 MHzで動作し、3,507 LUTおよび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ビットポジットサイズをサポートするパラメータ化されたポジットFPUを設計し、BSVを用いてハードウェア生成を行う。
  • 現在のes値を格納する制御およびステータスレジスタを実装し、実行中にモード切り替えを動的に可能にする。
  • FPUをSHAKTI Cクラスコアのパイプライン内に密結合された実行ユニットとして統合するか、RoCCに類似したインタフェースを介したコプロセッサとして統合する。
  • ソフトウェア移植のための代替策を開発し、既存のRISC-Vツールチェーンを活用してポジット対応アプリケーションを最小限のコード変更で実現可能にする。
  • Xilinx Artix-7-100Tを用いたFPGAプロトタイピングにより、性能、面積、周波数を検証し、100 MHzでの動作を測定した。

実験結果

リサーチクエスチョン

  • RQ1既存の拡張子との互換性を保ちつつ、RISC-V ISAをどのように拡張または変更すれば、ネイティブにポジット算術をサポートできるか?
  • RQ232ビットポジットサイズのFPUユニット内で、2種類の指数サイズ(es=2 および es=3)をサポートする場合のハードウェア的および性能的オーバーヘッドはどの程度か?
  • RQ3ネイティブなコンパイラツールチェーンが存在しないにもかかわらず、実世界の応用においてポジット算術がIEEE 754を上回る性能を発揮できるか?
  • RQ4FPUを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が作成し、人間の編集者が確認しました。