SWEST26 Poster & Demo

Posted on August 29, 2024

省電力コプロセッサ上で Ruby プログラムを動かす mruby 処理系の実装に向けて

鈴木豪, 渡部卓雄, 森口草介,
第26回 組込みシステム技術に関するサマーワークショップ(SWEST26), Aug. 29-30, 2024.

概要

マイクロコントローラの性能向上に伴って,MicroPythonやmrubyといったより高水準なプログラミング言語を実行できる組込み向けインタプリタが実用されている. その開発効率から,IoTセンサのような,ミッションクリティカルではないものの複雑な組込みシステムを記述するのに有用である. しかしながら,そのようなプログラミング言語で省電力コプロセッサを用いる研究や取り組みは活発になされていない. 省電力コプロセッサは簡単な計算やペリフェラルとの通信ができ,IoTセンサのようなアプリケーションにおいて省電力化に貢献する. そこで,本研究では,mruby/c処理系を拡張してRubyプログラムを省電力コプロセッサ上で動作させる方法を提案する. 提案手法は,メインプロセッサがコプロセッサのコードを実行時(JIT)コンパイルする. インタプリタの再利用とコンパイラの軽量化,生成コードの型特殊化を目的に,Tracing JITとLazy Basic Block Versioningを混合したような手法となっている. ESP32-S3とESP32-C6向けに実装したプロトタイプをデモとして展示する.

関連動画