A Survey of the RISC-V Architecture Software Support

3.7K Views

June 13, 22

スライド概要

ゼミ用資料。
https://ieeexplore.ieee.org/document/9771410

profile-image

https://blog.kotet.jp

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

A Survey of the RISC-V Architecture Software Support IEEE Access vol. 10 Date of Publication: 10 May 2022 1

2.

RISC-V はベースISAとoptionalなapplication-specificの拡張を提供している。 つまり、コンパイラとOS設計者に対してstableなISAを提供し、なおかつアプリケーシ ョン固有の需要に応えるリソースを提供するハードウェア設計者との協調を可能にし ている。 今まで出ているサーベイはセキュリティかopen-sourcingに焦点をあてたものが多く、 RISC-Vのソフトウェアスタックについて統合された観点から分析したものはなかっ た。 この論文はRISC-Vのソフトウェアエコシステムとその産学における利用について、直 近5年を調査した。 2

3.

main contribution RISC-Vソフトウェアエコシステムの現状についての総合的概要をコミュニティに 提供する 近年の主要なcontributionを特定し、ハイライトする 3

4.

Ⅱ. RISC-V RISC-Vの概要。 4

5.

G. ADOPTION AND MOTIVATION RISC-V InternationalはNPOであり、40以上のスポンサー企業がいる。 10年前、NVIDIAはFalconというプロプライエタリなマイクロコントローラをGPU に搭載していた。しかし2016年から、NVIDIAはGPUでRISC-V命令を実行するよう になった。 Western DigitalはSweRVという産業用プロセッサをオープンソース化した。これ は32bitインオーダープロセッサで、2-wayスーパースカラ、9段のパイプラインを 持つ設計になっていた。 2019年にAlibabaはRV64GCVという、カスタム拡張を追加した組み込み64bitハイ パフォーマンスプロセッサを発表した。 5

6.

(米国のブラックリスト入りしたことによる)ARMの設計に対する制約のため、 Huawei HiSiliconはRISC-Vベースのボードとそのうえで動くHarmony OSを2021年5 月にリリースした。 LEON SPARCv8はヨーロッパのアビオニクス(航空機の飛行のために使用される電 子機器)の有力なアーキテクチャであり、商用ドメインのソフトウェアの活用に困 難を生じていた。safety-criticalなコンピュータのための信頼性の高いリアルタイ ムインフラストラクチャのプロジェクト (De-RISC) は航空宇宙環境におけるフォ ールトトレラント技術とcompute-intensiveなアプリケーションのためにRISC-Vア ーキテクチャを導入した。 AppleはARMベースのSoCに乗り換えたが、それとは別にRISC-Vにも興味を持って いる。 6

7.

研究利用も進んでいる。 スイス連邦工科大学のPULPinoプロセッサは産業利用が可能。低消費電力に最適化され ており、IoTソリューションの提供に集中している。 7

8.

このような背景を踏まえ、the institution of technology Semico Research Corpは、 RISC-Vコアは2025年には市場に634億個存在するようになると予測している。 8

9.

Ⅲ. MATERIALS AND METHODS "RISC-V" AND ("Softoware" OR "Operating System" OR "OS")でIEEE, ACM, Springer, Usenixを検索した。 パブリケーションチャンネルのイン パクトで引用数を正規化した。 さらに、RISC-Vソフトウェアエコシ ステムを図のように分類した。 9

10.

Ⅳ. APPRICATION FIELDS 宇宙産業は商用ドメインからのソフトウェアの利用について困難を抱えており、より 大きな商用マーケットのアーキテクチャが検討されている。さらにSoCとマルチコア プロセッサの導入により、この産業はコンポーネントのより高レベルな統合への移植 を行っており、新たな問題が生まれている。 RISC-Vのようなモジュラーアーキテクチャでは設計者がプロセッサを拡張し、アプリ ケーションの要求に応える機能を実装できる。これによってRISC-Vha様々な環境に適 応できる。 10

11.

De-RISCプロジェクトは宇宙環境で必要な機能を備えるRISC-Vハードウェア/ソフ トウェアプラットフォームである。 マルチプロセッサSoC (MSoC) によるフォールトトレランス技術によって、誤りの 訂正を行うような設計により信頼性が高い。 SELENEプロジェクトはsafety-criticalコンピューティングにための高信頼性のプラ ットフォームを提供する。 オープンソース技術で構築されており、設計者がシステムをドメインに適応させ られるようになっている。要求に応じて冗長性とパフォーマンスの調整ができ る。 RISC-Vのオープン性により、コンポーネントの再利用性が改善し、プロジェクトをゼ ロから作る必要がなくなるため、生産性とコストを上げられる。 11

12.

SELENE projectのアーキテクチャ 12

13.

組み込みデバイスの成長により、産業IoT (IIoT) 市場は2028年に1.11兆USDまで成長す ると期待されている。IoTデバイスは世界数十億人の生活にとって欠かせないものとな る。 パフォーマンスの低下や消費電力の増大を抑えつつこれらのデバイスをセキュアにす るのは、コネクテッドデバイスの成長を加速させるために議論しなければならない問 題である。 そのため、制約の多いデバイスのためのさまざまなセキュリティイシューがRISC-Vコ ミュニティにより調査されている。 13

14.

NIST IR 8228: IoTのサイバーセキュリティとプライバシーリスクを管理する際の考 慮事項 以下がRISC-Vアーキテクチャで利用できるようになっている。 実行時にアップデートを検証する認証済みセキュアブートイメージ ハードウェアによる強制とメモリ隔離機構 ポスト量子ソリューション 14

15.

AIベースアプリケーションに関する研究もある。 domein-specificアーキテクチャとCNNによる推論のアクセラレータを持ち、低消 費電力なCNNベースアプリケーションのためのヘテロジニアスプロセッサ SiFive Intelligence X280はAI/MLによる推論に特化したプロセッサ。ベクタ拡張と SiFive Intelligence拡張を使い、高スループットシングルスレッド低消費電力アプ リケーションを実現 Robot Operating System (ROS) ベースのアプリケーションのためのプラットフォ ームを提供するRISC-Vベースアーキテクチャ 15

16.

Approximate computing (誤差をある程度許すことで効率を上げる技術) にも適用され ている。 アプリケーションに応じて閾値(許容する誤差?)に合う最適なFPUを選択する助け をする 異なるApproximate computing技術を組み合わせてアプリケーションのerrortolerantセクションを探すquality-drivenメソドロジー RISC-Vのオープン標準、モジュラリティ、コミュニティがさまざまなコンテキストへ の適応を可能にしている。 16

17.

Ⅴ. RISC-V IMPLEMENTATIONS さまざまなカスタム実装 17

18.

A. PROCESSOR CORES PULPino projectは3つのRISC-Vコアを提供する Ibex: 32bit 2段パイプラインコア CV32E40P: 4段パイプラインコア CVA6: 64bit 6段パイプラインコア 18

19.

IbexはlowRISCによってメンテされている。 組み込み制御に適しており、IまたはE拡張、M、C、B拡張をサポートしている。 SystemVerilogで書かれている。 19

20.

CV32E40PはRV32IMFCに加えて、コード密度、パフォーマンス、エネルギー効率を高 めるXplup拡張を実装している。 20

21.

CVA6はRV64IMACを実装しており、クリティカルパスの削減に注力している。 TLBの構成を変えられる。 21

22.

SonicBOOMはChisel3で書かれたRV64GCスーパース カラOoOコアのRTL実装。 BOOMv2の設計を改善したもので、ハイパフォーマ ンス研究のためのSOTAプラットフォームの提供を 目指している。 execution pathを最適化し、instruction fetch unitを ハードウェアTagged Geometric (TAGE) 分岐予測器 で再設計している。 load-store unit は1クロックに複数のloadを行える。 6.2CoreMark/MHzを記録している。 22

23.

NOEL-VはVHDLで書かれたプロセッサ。32bit/64bit、RV{IM,IMAC,GCH}に対応。 シングル/デュアルイシュー。システムペリフェラルを含むサブシステムの一部と して利用可能で、RISC-V拡張を利用するために構成可能。 デュアルイシュー版は1クロックで2命令を実行可能で、分岐予測を実装してい る。 Hummingbird E200はRV32IMACを実装している2段パイプライン低消費電力CPU。 HARV はRV32Iを実装したプロセッサで、信頼性に重きをおいている。内部でフォ ールトトレランス技術を採用している。すべてのレジスタは誤り訂正符号化され ており、コントローラとALUは3重化されている。 2021年1月に、SiFiveはP270とP550を発表した。P270はRV64GCVを実装する8段デ ュアルイシューインオーダーパイプラインコア。P550はRV64GCを実装する13段 トリプルイシューOoOパイプラインコア。P550はSPECInt 2006で8.65/GHzを記録 し、これは現在までのRISC-Vコアの中では最高のパフォーマンスである。 23

24.

B. SOC PLATFORMS PULPinoプロジェクトは完全なプラットフォームを提供している。 PULPinoとPULPissimoの2プラットフォームはシングルコアマイクロコントローラをも とにしている。 24

25.

PULPino 25

26.

PULPissimo 26

27.

OpenPULPはマルチコアIoTプロセッサをベースにしている。 27

28.

Heroはマルチクラスタヘテロジニアスアクセラレータをベースにしている。 FPGA上のメニーコアアクセラレータをARM Cortex-Aマルチコアホストプロセッサと組 み合わせている。 28

29.

SiFiveのFE310-G000はシングルイシューインオーダパイプラインでRV32IMACを実装し ているE31コアを搭載する。 29

30.

FE-3100-G000は2つのUARTデバイス、3つのQSPIs、3つのPWMポートを持ち、低 電力駆動をサポートする。 HiFive1は初期の商用可能なRISC-Vボードで、FE-3100-G000の機能を持つ。 HiFive1を使ってVirtual Prototype設計を改善する研究 HiFive1をサポートするquality-drivenメソドロジー自動化の研究 Microchip社のPolarFire SoC FPGAはインテリジェント/コネクテッドシステムのた めの低消費電力、熱効率のよい国防レベルセキュリティデバイス。5段シングルイ シューインオーダーパイプラインのRISC-Vコアを搭載し、MeltdownやSpectreの 影響を受けない。PolarFiveコアは決定的でメモリサブシステムに対して一貫性を 持つ。Linuxやリアルタイムアプリケーションを実行できる。RV64GCとRV64IMAC を実装している。 RISC-Vプロセッサとペリフェラルを三次元システムインパッケージ (3D-SiP) で統 合したUniversal Sensor Platform (USeP) SoCをIoTで利用する研究 Sipped MAix-GO開発ボードはKendryte K210 SoCの機能を持つ。単精度/倍精度 FPUを含むデュアルコアRV64GCプロセッサを搭載する。 30

31.

C. EMULATORS AND SIMULATORS QEMUは32/64bit RISC-Vをサポートし、Microchip PolarFive SoC, SiFive HiFive Unleashed, Shakti C platform等のマシンを実装している。 Gem5はRISC-V privileged ISAの実装を進めている。 Spikeは1つ以上のRISC-Vハードウェアスレッドの機能モデルのシミュレータ。た くさんのRISC-V拡張をサポートし、新しい命令をユーザが追加することもでき る。 RISC-V Assembler and Runtime Simulator (RARS) はMIPS Assembler and Runtime Simulator (MARS)上に構築され、RISC-V拡張の命令ホットロードのような機能の ために拡張を施している。 31

32.

WebRISC-Vは5段パイプラインRISC-V実装のウェブベースサーバーサイドシミュレ ーション。単純なアセンブリプログラムを書いて、レジスタ、メモリ、パイプラ インの内部状態をビジュアライズできる。 RipesはRISC-Vのオープンソースビジュアルコンピュータアーキテクチャシミュレ ータ。複数のマイクロアーキテクチャモデルを提供し、典型的なパイプラインプ ロセッサを見ることができる。 JupiterにはRV32IMAFをサポートしたRipesに似たシミュレータがある。 VulcanはRV32IMAFをサポートしている。 emulsiVシミュレータは基本的なコンピュータアーキテクチャの教育用に作られて いる。 32

33.

D. DISCUSSION RISC-Vがオープンアーキテクチャであることによって、様々な分野で特定の問題に対 処するための様々な実装が作られ、RISC-Vの適応性を高めている。 ここで触れた以外にも様々な製品があり、様々なパフォーマンス要件をサポートして いる。 33

34.

Ⅵ. SOFTWARE SUPPORT ISAインターフェースはハードウェアとソフトウェアの境界としてふるまう。 ABIはOSを通してハードウェアリソースにアクセスする方法を定義してバイナリ移植 性のための標準を定義する。 34

35.

A. SOFTOWARE ARCHITECTURE ソフトウェアアーキテクチャはコンポーネントがどう分離され、どう関係するかにつ いてのものである。 35

36.

1) BARE-METAL APPLICATIONS ベアメタルシステムで動くシステムはプロセッサとペリフェラルへのダイレクトアク セスを行う。 36

37.

商用オフザシェルフ (COTS, 既製品のこと) システムを使うためにコンパイル結果 を自動で改変 (冗長化等) するCOASTを拡張し、RISC-VやXilinx SoCベース製品をサ ポートする研究。コンパイル時に自動で多重化コードを挿入し、実行時に誤り訂 正を行う。Single Event Effect (SEE, 放射線によるエラーのこと) への耐性を付与 し、高放射線環境に適応させる。 37

38.

レジスタレイアウトを固定することなくハードウェア/ソフトウェアインターフェ ースを定義することで、マイクロコントローラユニット (MCU) のドライバ開発に おける労力とメモリ使用量を削減する研究。 DSLでビットフィールドアレイとヒエラルキーのような機能の振る舞いを記述す る。 レジスタレイアウトを最適化し、パフォーマンスとメモリフットプリントを改善 する。 PULPino GPIOとSPIドライバについて、予測実行時間を52%、メモリアクセスを 32%、ドライバのコードサイズを22%削減した。 38

39.

2) OPERATING SYSTEMS カーネルコードの自動合成、検証技術フレームワークの研究。自動証明によって 検証可能なOSカーネルを構築する。ソフトウェアデベロッパはカーネルの仕様と それに対応するCコードを書く。これを使って数学的に証明されたiv6というカー ネルを作った。このカーネルはRISC-VのMモードで初期化され、アドレス空間は ユーザ空間から分離されている。 64bit リトルエンディアンRISC-VオープンソースOSの開発サイクルに関する調査 のために作られた、Linux From Scratch (LFS) から構築されるカスタムLinuxディス トリビューション。オープンソースハードウェアのためのLinux ベースディストリ ビューションであり、RISC-Vをターゲットにした最初のOSである。 有限状態機械 (FSM) でアプリケーションとカーネルのインタラクションを捕捉 し、RTOSセマンティクスを直接プロセッサパイプラインに統合する研究。レイテ ンシ、割り込みロック時間、メモリフットプリントを程よいFPGAリソースで改善 できた。 39

40.

SmartOSというマイクロカーネルベースOS。privilege-modeにおける基本機能を 提供する。 Xilinx FPGA上に実装されたlowRISCを使った、LinuxベースOSとベアメタル実装に おける5つのアルゴリズムの比較。 RV32Iのための基本的なマイクロカーネル。トラップハンドリングと複数のRISC-V privilege modeをサポート。コンピュータアーキテクチャとOS開発の教育用。 40

41.

3) DEVELOPMENT TOOLS フレームワークとソフトウェアツールの自動化ステップによるdomain-specificメ ニーコアアーキテクチャ生成の設計手法の提案。命令拡張やカスタムアクセラレ ータのようなコア拡張を含むさまざまな構成を作成できる。 Sipped MAix-GO開発ボードやTiny YOLO v2をサポートする開発環境ツールチェー ンとデバッグプロセスの評価。低電力IoTエッジアプリケーションを動かし、優れ たコストとパフォーマンス特性を記録した。 RISC-V ISAでのSystemCベースバーチャルプロトタイプのための自動形式的検証。 検証のクオリティを大きく改善し、検証の労力を削減した。 軽量でエネルギー効率のいいニューラルネットワークのフレームワークライブラ リ。FPUがあるMCUやないMCUへのデプロイを自動化する。 ISAの仕様を繰り返し改善、評価するための研究。 41

42.

OPERATING SYSTEM ARCHITECTURE RISC-VはOSサポートのサブセットを定義している。 42

43.

1) MEMORY MODEL キャッシュコヒーレンスの問題をスクラッチパッドメモリで回避する研究。すべ てのコアとコンポーネントは同じアドレス空間を共有している。メモリモジュー ルはクロスバーネットワークによってメモリアクセスをデータキャッシュか他の コンポーネントにルーティングする。 SmartOSはリンカスクリプトでTask Control Blocks (TCB), Resource Control Blocks (RCB), Event Control Blocks (ECB)、タスクスタック領域、データ領域、エントリ関 数領域を構築してメモリを管理する。 NOEL-VのキャッシュコントローラはFIFOのストアバッファをサポートしており、 1クロックに1ストアを実行する。Advanced High-performance Bus (AHB) データ 幅をサポートしており、ストアとキャッシュリフィルを高速に行える。 ハードウェアのバグをチェックするメモリ検証モデルと、高レベル言語 (HLL)、コ ンパイラ、ISAを検証するツールを提供するソフトウェアメモリモデル。RISC-V ISAの潜在的非効率性を示し、回避策を発見した。 43

44.

2) SCHEDULER SUPPORT Earliest Deadline First (EDF) を基に改善した決定的コプロセッサタスクスケジュー ラ。CPU上で2または4のリアルタイムタスクを並列に実行することもできるよう にした。リアルタイムシステムのパフォーマンスを改善し、リソースコストをヒ ープキューソーティングアーキテクチャによるReady Queueの実装で削減した。 コプロセッサとスケジューラはSystemVerilogで記述され、単純化したUniversal Verification Methodology (UVM)で検証した。 FPGAクラスタのための分散ソフトプロセッサオーバーレイの検討。Tinselという FPGAに最適化されたハイパースレッドRISC-Vソフトコアを使った。barrelscheduledで、RV32IMFのサブセットを動かすマルチスレッドコアを実装してい る。 SmartOSでのタスクはコンパイル時に定義された静的優先度とリソースマネージ ャによる動的優先度によるププリエンプションを行う。 44

45.

3) INTER-PROCESS COMMUNICATION RV64IMAFDをサポートするSiFive U500 SoCを使って、セキュアで効率的なプロセス間 呼び出しアーキテクチャのサポートを追加。XPCという、ハードウェア支援されるOS プリミティブを提案した。異なるアドレス空間の間で非同期IPCを使い、カーネルへの トラップを使わずに直接IPCの呼び元と呼び先の切り替えを行う。XPCは新しいアドレ ス空間マッピング機構を使ってスループットを改善し、スレッドモデルを移植したAPI を提供する。4KBのデータに対して0.3msのレイテンシを実現し、主にセキュアなゼロ コピーメッセージ送信について1.6倍改善した。既存のOSカーネルに統合可能。 45

46.

動的メモリ保護ドメインを基にしたインプロセスアイソレーションの提案。ソフ トウェアコンポーネントは使用権限とエントリポイントをサポートするプロテク ションキーとメモリの組によってセキュリティを強制される。 46

47.

4) ADDITIONAL FEATURES Sipped MAix-Ⅰ開発ボードはEspressif ESP8285 Socと統合され、完全なWi-Fiネット ワーキング機能を持つ。 lwIPはTCP/IPプロトコルスイートの小さな実装。マイクロカーネルのためのネット ワークスタックサーバと、ネットワークデバイスサーバに送信するためのループ バックデバイスドライバとして実装されている。 47

48.

SeRotはセキュアなランタ イムシステム。変更不可な アプリケーションをサポー トするためのプリミティ ブ。Linux Kernel Library (LKL) ネットワークスタック を使ってネットワーク機能 を提供する。LKLによって ファイルシステムへのアク セスとファイルシステムコ ールの管理を行い、ファイ ルシステムへのアクセスも 提供する。 48

49.

C. DISCUSSION 市場にあまり出回っていないにもかかわらず、RISC-Vのソフトウェアエコシステムに は最先端のOSやシステム生成ツールがある。 RISC-V ISAのシンプルさによって、OSエンジニアの貢献が可能になっている。一方で x86のようなISAは複雑性の成長により追従が難しくなる。 RISC-Vのオープン性によって幅広い分野のアプリケーションが生まれた。 49

50.

Ⅶ. DEPLOYMENT FEATURES セキュリティ、信頼性、パワーマネージメントに取り組んでいる研究をそれぞれ見て いく。 50

51.

A. SECURITY T. Hunt, Z. Jia, V. Miller, C. J. Rossbach, and E. Witchel, ‘‘Isolation and beyond: Challenges for system security,’’ ここでのハードウェア強制隔離機構に関する議論はセキュアシステムにおけ る基礎となった。 カーネルからユーザ空間に共有メモリ領域のブロックでアクセスするチャネルと Kernel Page-Table Isolation (KPTI) の実装。開発フェーズにおけるヒューマンエラ ーを減らす。 Device Driver Isolation Module (DDIM) とSystem Call Tracing Module (SCTM) の2つ のハードウェアコンポーネントによるメモリ隔離技術の検討とハードウェア/ソフ トウェアコデザインアプローチの実装 51

52.

ハードウェアベースモニタリングプラットフォームを備えるカーネルと、RISC-V コアのセマンティックギャップを解決するハードウェアインタフェースアーキテ クチャ。カーネルとProgram Execution Monitor Interface (PEMI) というインタフェ ースアーキテクチャの統合を行うRiskiMというプラットフォームを導入。PEMIは ホストシステムの内部状態をすべてRiskiMに提供し、タスクのモニタリングとカ ーネルの攻撃からの保護を行う。 Arianeは64bit 6段インオーダーシングルシューコア。ハードウェアトロイの木馬 の製造段階での挿入をロジックロックによるネットリスト難読化で妨害。 SoCのファームウェアの、ROMのアクセス制御についてのバグを突く研究。 NISTIR 8228で示された、IoTデバイスのセキュアなアーキテクチャのための3つの 目標に取り組む研究。証明書チェーンによるブートイメージの認証と、実行時の アップデート検証にセキュアブート機構を使う。 52

53.

セキュリティアクセラレータによるRISC-VとTrusted Execution Environment (TEE) との互換性を示すための、ハードウェアプラットフォームとしてRocket チップジ ェネレータを使った64bit RISC-V IMAFDCの実装。SHA-3とEd25519のアクセラレ ータを備え、Linuxブートローダーを認証するソフトウェアのためのプロシージャ を提供する。 セキュアシステムのハードウェア/ソフトウェアベースソリューションの提案のた めの、lowRISCのFPGA実装。自己認証セキュアブートの実装によるプロセッサの セキュア化とInformation Flow Tracking (IFT) によるメモリ侵害攻撃の検知と停 止。 RISC-V SoCを基にした、ソフトウェアから攻撃可能な実世界のRTLバグのテストベ ッド。脆弱性クラスの分類のためのTLB、キャッシュ、メモリへの攻撃の検討。 ArianeとPULPissimoに対するケーススタディ。 SoC設計におけるハードウェア脆弱性の調査のためにAriane SoC RTLを使う。 53

54.

製造工程の信頼性確保のためのアーキテクチャ保護機構。命令に寄生するハード ウェアトロイの木馬を検出して、プロセッサとメモリの通信を保護する。 54

55.

RISC-VとARMのドキュメント化されていない命令の調査と、2つの調査法の提案。 ISAの仕様と比較して正しいかどうかを判定するために制御された環境で1命令を 実行する。 どのような情報漏洩が起きるか検証するための、サイドチャネル攻撃とそれに対 するソースコード難読化の効果の調査。LLVMコンパイラの拡張による緩和策を提 案。 context-specific enforcementを提供するために7つのStorage Region Stack (SRS) 管 理命令をRISC-V ISAに追加する。この命令のためにinstruction decodeステージを 変更する。 executeステージを変更することでタグプロパゲーションとタグチェック機能を追 加。 メモリ安全でないプログラミング言語でData-Oriented Programming (DOP) 攻撃 を効率的に緩和するためのRuntime Scope Enforcement (RSE)アプローチ。少ない オーバーヘッドで、コンパイル時にメモリ安全制約をかける。 55

56.

B. RELIABILITY フォールトインジェクション (エラーをわざと引き起こすテスト) はカバレッジとレイ テンシパラメータの計測、エラー伝搬の調査、システムワークロードとフォールトハ ンドリング機構の分析に適用できる。 マイクロアーキテクチャレイヤでのフォールトインジェクションの検証とクロス レイヤーアプローチの提案。lowRISCに1ビットフォールトを注入して失敗時の状 況をシミュレートする。シミュレーション結果は分岐命令におけるフォワーディ ング、投機的実行、汎用レジスタ (GPR) への書き込みの振る舞いを示す。ソフト ウェアフォールトモデルのレビューと、データフローやコントロールフローの統 合による対策のバイパス。 プロセッサパイプライン内に隠れたレジスタの重要性を示すために、64bit 5段パ イプラインのlowRISCにフォールトインジェクションを行う研究。ソフトウェア目 線からは見えず、完全にプロセッサの実装に依存する乗算ユニットとフォワーデ ィングの特性を調査することでhidden registers attack (わざとハードウェア障害を 起こして情報を漏洩させる?) への対策を提供する。 56

57.

RISC-V命令とレジスタのカバレッジのメトリクスを導入する研究。3つのRISC-Vテ ストスイートを解析・比較し、1つのツールにまとめあげる。 バーチャルプロトタイプベースアプローチによるフォールトエフェクト解析とシ ミュレーションの効率的ソリューション。ビット反転をフェッチ/実行された後の 命令、GPRやCSRに発生させ、ソフトウェア実行中の影響を分析する。 Single Event Upsets (SEUs, 放射線によって生じるエラー) がOSの存在下ではサイレ ントなデータ破損にほとんど影響しないことを発見した。 構成とプロセッサメモリに影響するSEUsに反して実行するソフトウェアアプリケ ーションの信頼性の評価。冗長構成のソフトウェアと元のバージョンをさまざま なベンチマークで比較。 57

58.

C. LOW-POWER IoTは組込みシステムで最も早く成長しているアプローチである。IoTにおいてデバイ スはコミュニケーションとエネルギー効率の要求に直面する。 CNNベースIoTアプリケーションのためのdomain-specificアーキテクチャ設計。 CNNによる推論のためのヘテロジニアスプロセッサ設計とアクセラレータ。 アプリケーションの要求に合わせて計算の精度を落としてエネルギー消費を最小 化する。 Fast Artificial Neural Network (FANN) で訓練した多層パーセプトロンからマイクロ コントローラ上で動くエネルギー効率の良いニューラルネットワークのコードを 生成する。 58

59.

FreeRTOSとZephyr OSでアルゴリズムを動かすことによりRISC-VとARMアーキテ クチャにおけるCCSDS 123 Compressor (三次元デジタル画像圧縮アルゴリズム) の パフォーマンスとエネルギー消費を評価する。RISC-Vは電力効率が良く、ARMは パフォーマンスが高かった。RISC-VにおいてFreeRTOSはZephyr OSよりオーバー ヘッドが少なかった。 back-gate bias voltageをajustすることで電力トレードオフを実行時に行えるよう にする。 ファームウェアベースパワーマネジメント実装により電力消費戦略の判断の手助 けをする。 データレートの低いタスクに適した提案。25MHzで動作するマイクロコントロー ラを使う。パワーオーバーシュート検知のための超低消費電力コンパレータ回 路。 CPUの消費電力を350mW未満に維持して顔認識を行う。割り込み待ちの時は 35mW。 59

60.

D. DISCUSSION やっぱオープンなのが効いてくるよね いろんな環境をサポートしてるのでいろんな研究ができる 60

61.

Ⅷ. CONCLUSION 固有のニーズを満たすためにさまざまな実装がある。 安定した仕様と、幅広い環境をサポートする設計により、産学ともに低コストか つ柔軟にソフトウェア要件に取り組める。 本サーベイではRISC-Vが特定の要件に取り組むことを目的とした作業でどのよう に普及しているか、およびコミュニティがオープンアーキテクチャ仕様からどの ように利益を得られるかを示した。 コミュニティはRISC-Vアーキテクチャを小型で制約のあるデバイスから大規模コ ンピュータまで、広い範囲のシステムに適応させてきた。 61