SubRISC+ メモ

SubRISC+という4命令のみのマイクロプロセッサに関する記事と命令セットについて。

エッジ端末に適した小型省電力プロセッサを実証(東京工業大学)

東工大、エッジ端末に適した小型省電力プロセッサを実証――従来比3.8倍のエネルギー効率(fabcross)
東工大、IoT向けCPUアーキテクチャ「SubRISC+」。エネルギー効率3.8倍(PC Watch)

エッジ端末に適した小型省電力プロセッサを実証[PDF]
低電力埋め込みプロセッサにおける軽量eHealthアプリケーションの実装【JST・京大機械翻訳】(J-GLOBAL)
Implementation of Lightweight eHealth Applications on a Low-Power Embedded Processor(IEEE explore)


以上の記事からSubRISC+命令セットがどんなものか、いかがでしたかブログ程度には読んでみます。

・RISCアーキテクチャ
・16/32bit命令長
・レジスタ 16本

SubRISC+はOISC(One Instruction Set Computer)がベースとなっている。(もしくはMISC,Minimal Instruction Set Computer)
命令長 16bit幅は省サイズのため、32bit幅は即値や分岐先指定のため
命令は4種類 減算、ビット幅AND、シフト、メモリアクセス
メモリは命令(I-mem)とデータ(D-mem)に別れ、さらにI-memはHI-Imem、Lo-Imemに分けられる
開発環境ではRISC-V RV32Eからのコンバータを使用しているのでレジスタ長さはおそらく32bit


減算命令は2の補数を前提とするなら加算も兼ねることができる
論理反転も減算を使う。例では sub -1,a1,a0でa0にnot a1を格納

sub命令は減算結果が負のときに分岐先指定(32bit命令)があればPA-RISCのcompare & branch命令のように動作。

RV32E:
bne a0,t1,.L2 → a0とt1の値が異なれば.L2に分岐

SubRISC+: 32bit長の2命令で実現
sub a0,t1,t3,.L2 → a0-t1の結果が負なら.L2に分岐
sub t1,a0,t3,.L2→ t1-a0の結果が負なら.L2に分岐

思うこと……
t3は不明だがsub命令のバリエーション指定か?ゼロレジスタはなさそう。
なぜ負の数で分岐すると思ったか?→そのほうが自然よね
分岐先や即値指定は絶対か相対かわからんけど16bit長だろう
命令2bit+命令長指定1bit+オペランド4bit×3=15bit 残り1bitは各命令のバリエーションか?オペランド4bitを即値扱いする等

命令セット一覧を読んでみたいところですね。

追記:RISC-Vの開発環境を使ってアセンブラをコンバートしているのでSubRISC+はRISC-VのμOPみたいな印象。かつRISC-V経由で間接的に他のARMなどとの比較ができるので独自アーキのプロセッサでも性能自慢ができる。これはよいやり方。

【PS4】Ghost of Tsushima (ゴースト オブ ツシマ)
【PS4】Ghost of Tsushima (ゴースト オブ ツシマ)

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント