注目のオープン命令セットアーキテクチャ注目のオープン命令セットアーキテクチャ...
TRANSCRIPT
注目のオープン命令セットアーキテクチャRISC-V向け商用開発ツールの紹介
IARシステムズ 技術チーム 殿下信二
RISC-Vとは
RISC-Vとは
• RISC-V Foundationによって管理されているオープンな(ISA)命令セットアーキテクチャで、自由に利用することができます。(https://riscv.org)
• RISC-V Foundationは会員によって管理されている非営利法人です。
• RISC-V Foundationのメンバーは、RISC-V ISA仕様および関連するHW/SWエコシステムの開発にアクセスし参加することができます。
IARシステムズはRISC-V Foundationメンバーです
RISC-Vの概要(1)
• 命令セットアーキテクチャは、基本命令セットと拡張命令セットで構成されます。
• RISC-Vで推奨される命令セットアーキテクチャの構成はRV32IMAFD(RV32G)またはRV64MAFD(RV64G)です。
• 基本命令セット
RV32I 32ビット基本整数命令セット(32ビット長レジスタ×32)
RV32E 32ビット基本整数命令セット(32ビット長レジスタ×16)
RV64I 64ビット基本整数命令セット(64ビット長レジスタ×32)
RV128I 128ビット基本整数命令セット(128ビット長レジスタ×32)
RISC-Vの概要(2)
• 32ビット・16ビット命令混在セット• 拡張命令セットは選択
M 整数除算・乗算 B ビット操作A アトミック命令 J 動的命令対応F 単精度浮動小数点(32bit) T トランザクショナルメモリ
対応命令D 倍精度浮動小数点(64bit)Q 4倍精度浮動小数点数(128bit) P パックド形式SIMD命令C 圧縮命令 V ベクタ演算命令L 10進数浮動小数点 N ユーザレベル割込み
RISC-V整数レジスタセット• 基本命令セットサイズに応じて、レジスタサイズが設定• レジスタは32個(RV32Eは16個)
x0...
x15x16...
x31
031
RVI32E
RV32I/RV32E RV64I RV128I
x0...
x15x16...
x31
063
x0...
x15x16...
x31
0127
IAR Embedded Workbench for RISC-V
EWRISC-Vで何が変わりましたか?
• IARシステムズのコンパイラは、高速で効率的かつ非常にコンパクトなコードを生成
• IAR Embedded Workbench機能安全版は高い品質規格に準拠したソフトウェア開発のための製品
IAR Embedded Workbench for RISC-Vとは
IAR Embedded Workbench for RISC-Vは、コーディングからデバッグまで、組み込み開発に必要な全ての機能を搭載した統合開発環境
エディタ
プロジェクトマネージャ
ライブラリビルダ
ライブラリアン
IDE ツール
IAR C-SPY デバッガ
シミュレータ
ハードウェアドライバ
Power デバッグ
RTOS プラグイン
IAR C/C++ コンパイラ
アセンブラ
リンカ
デバッガ
静的解析ツールをオプションで選択可
(C-STAT)
Build ツール ICEなど
IJET(JTAG ICE)
I-Scope(消費電流計測プローブ)
絶縁アダプタ
コンパイラ最適化動作
オブジェクトコード
Cソースコード
構文解析器
中間コード 高レベル最適化
コード生成
ターゲットコード 低レベル最適化
アセンブラ
コンパイラ
LW A0,-0x0(GP) C.ADDI A0,-0xFSW A0,-0x4(GP)
=–
15yx
x = y - 15;関数
インラインデッド
コード除去
ループアンローリング
のぞき穴的最適化
クロスコール
スケジューリング
01001000111001101001 Linker
リンク時最適化
EWRISC-V C/C++コンパイラ概要
• 最新のC/C++言語に対応ISO/IEC 14882:2015 (C++14, C++17)
ISO/IEC 9899:2012 (C11)
ANSI X3.159-1989 (C89)
IEEE 754 standard for floating-point arithmetic
• 最適化無し含む、4段階の最適化設定最適化の個別選択が可能
機能安全認証済みツールへの市場要求の高まり
• 組込みシステムにおける機能安全要求 の増加
• 開発ツールも認証プロセスの一部 として必要になってきた
• 開発ツール自体の認証作業量はとても大きな負担 となる
IEC 61508:機能安全の核となる国際規格。高信頼性と安全性が要求される市場向け
ISO 26262:車載アプリケーションにおけるセーフティ関連システム向け
EN 50128 / EN 50657:鉄道アプリケーション向け
IEC 62304:医療アプリケーション向け
IAR Embedded Workbench for Arm V8.22.3IAR Embedded Workbench for RX V3.10.5IAR Embedded Workbench for RL78 V3.10.2IAR Embedded Workbench for RH850 V1.40.3
Available for:
まとめ
• RISC-VはオープンISAで急速に市場を拡大
• IAR Embedded Workbench for RISC-Vは従来のIAR Embedded Workbenchと同じユーザインタフェースで直ぐに使える
• 国内初出展 IAR Embedded Workbench for RISC-Vの実機によるデモ