Grus Arch
ノードベースの計算モデルを土台に、新しいコンピュータアーキテクチャを考える研究開発プロジェクトです。
現在の段階
試作中(ソフトウェア一式が動作し、ハードウェアはシミュレーションで動作。実機での確認はこれから)
Grus Archは、長期的に取り組んでいる研究開発プロジェクトです。ソフトウェア上で動く実装を使って考え方を確かめながら、ハードウェアの試作も進めています。設計の具体や試作結果は、検証できたものから順次公開します。
開発の進み具合(2026年10月時点)
| 要素 | 段階と、いまの状態 |
|---|---|
| 計算モデルと命令の形式 | 試作中 中間表現とバイナリ形式の仕様を定め、ソフトウェア実装で使っています |
| ソフトウェアの実行環境 | 試作中 プログラムを読み込んで動かせます。ハードウェアの試作が正しく動いているかを確かめる基準にも使っています |
| 専用の言語とコンパイラ | 試作中 専用の言語で書いたプログラムを変換して動かせます。動作時間の見積もりなど、目指す性質を確かめるための道具も試作しています |
| ハードウェアの設計 | 試作中 ハードウェア記述言語で設計し、シミュレーション上で、ソフトウェア実装と同じ結果になることを確かめています |
| FPGAでの動作 | 試作中 FPGA向けの回路への変換(論理合成・配置配線)まで済んでいます。実機ボードでの動作確認はこれからです |
| 半導体チップ | 構想中 オープンな製造プロセス向けの設計ツールで、面積や消費電力を見積もっている段階です。製造の予定は決まっていません |
性能や消費電力の数値は、実機で測り、比較の条件をそろえてから公開します。仕組みの詳細は、特許出願の準備のため、いまは公開を控えています。
ビジョンとロードマップ
Grus Archのビジョン
なぜ新しいアーキテクチャを考えるのか、静的データフローをどのように捉えているのかをまとめています。
Grus Archのロードマップ
組み込み・エッジ領域から始め、より広い計算へ展開していく段階をまとめています。
解決したい課題
センサーを読み、判断し、モーターや通信を動かす。組み込み・エッジ機器の仕事の多くは、この形をしています。この領域には、昔から次のような困りごとがあります。
- 電池が持たない — 仕事そのものは短時間なのに、次の仕事を待つ間も電力を使い続けてしまう
- 「間に合う」ことを示しにくい — 実行時の状況で速度が変わるため、最悪の場合の所要時間を見積もるのが難しい。車載や医療のような分野では、その確認に手間がかかる
- 性能と予測しやすさが両立しにくい — 速い処理器ほど動きが読みにくく、読みやすい処理器は遅くなりがち
Grus Archは、これらを後から補うのではなく、計算の仕組みそのものから見直すことで解きたいと考えています。
考え方: 手順書ではなく、依存関係の図で考える
一般的なプロセッサは、命令を上から順に一つずつ実行します。何が何を待っているのかは、動かしながら見極めることになります。
Grus Archでは、処理をノードとして表し、ノード間の依存関係(どのデータがどこへ流れるか)を図として扱います。この図は実行前に確定するため、静的データフローと呼んでいます。
- どの処理がどのデータを待つのかが、実行前から分かる
- 互いに依存しない処理は、同時に進められる
- 実行時に「次に何をするか」を推測する仕組みを、減らせる可能性がある
「処理の順序」ではなく「データの流れ」を土台にすることで、ソフトウェアからハードウェアまでを一貫した考え方でつなぐことを目指しています。詳しい背景はGrus Archのビジョンをご覧ください。
目指す性質
- 予測しやすさ — 動作時間、メモリの使用量、消費電力を、実行前に見積もりやすい設計
- 省電力 — 必要なときに必要な分だけ働き、それ以外は休める設計
- 一貫性 — ソフトウェア上の実装と、ハードウェアが、同じ考え方でつながっていること
これらは目標であり、現時点で達成したと主張するものではありません。検証できたものから、根拠とあわせて公開します。
得意なこと、不得意なこと
得意と見込んでいるもの
- センサー処理や制御のように、規則的で、繰り返し行う処理
- 決まった時間内に終わることが求められる処理
- 電池で長く動かしたい機器
不得意なもの
- 分岐も並列性もない、単純な逐次処理。成熟したマイコンのほうが有利な場面があります
- 既存のプログラムやバイナリをそのまま動かすこと。新しいモデルのため、互換性は前提にしていません
そのため、最初の形は、既存のマイコンやSoCの隣に置いて規則的な処理だけを受け持つ部品(IPコア・コプロセッサ)を想定しています。評価では、Arm Cortex-Mのような実際に広く使われているマイコンを比較対象にし、自分に不利な条件も含めて確かめます。
想定している用途
自動車
モーター、電池、ブレーキ、ステアリングなど、自動車の中には決まった周期で必ず終わらなければならない制御が数多くあります。電動化で制御の数は増え、「間に合うこと」を示す手間も増えています。日本が強みを持つこの産業で、実時間性と省電力を両立する部品として使えることを目指します。
ロボットとフィジカルAI
フィジカルAI(現実の世界で、体を持って動くAI)が広がると、AIが判断した結果を、関節やモーターの動きとして正確な周期で実行する部分の重要さが増します。Grus Archが受け持ちたいのは、AIモデルの計算そのものではなく、センサーを読み、モーターを動かす実時間の制御です。産業用ロボットや工場の自動化も、日本が長く強みを持ってきた分野です。
センサー機器
電池で長く動かしたい計測・監視の機器も、最初から想定している用途です。
進め方
最初から何でもできる汎用機を目指すのではなく、小さく制約のある環境から検証します。
- MCU / SoCと組み合わせるIPコア・コプロセッサ
- 単体で動作する組み込みコントローラ
- より広い計算への展開
各段階の考え方はGrus Archのロードマップにまとめています。
よくある質問
昔のデータフローマシンは、うまくいかなかったのではありませんか?
はい。特に、実行時にデータの行き先を調べながら進める方式は、その仕組み自体が重くなりました。Grus Archは行き先が実行前に決まる「静的」な方式で、用途も汎用計算ではなく組み込み・エッジに絞っています。昔とは前提が違うと考えています。
FPGAやCGRAとは何が違いますか?
FPGAは回路そのものを作り替える道具です。Grus Archは、プログラムを読み込んで動かす処理器として設計しています。CGRAと近い領域にいますが、時間の扱いと予測しやすさを最初から設計の中心に置いている点が異なります。
いま動くものはありますか?
はい。ソフトウェアの実行環境とコンパイラが動いています。ハードウェアはシミュレーション上で動作し、FPGA向けの変換まで済んでいます。くわしくは開発の進み具合をご覧ください。数値は実機で確かめてから公開します。
研究段階の表示
今後は、公開する内容に次の段階を表示します。
- 構想中
- 設計中
- 試作中
- 検証中
- 公開済み
研究内容についての意見交換や協業のご相談は、お問い合わせください。