RISC-Vは実装によっていろいろなものが拡張されるので、調べる範囲が広範になりがちです。まずは、気になったところを調べる事にして、以下の図で黄色に塗ったところを調べてみます。

 

1) mvendorid と2) marchid

これでベンダとアーキテクチャが分かるようです。

すると今回のGD32VF103の値はどうなっているか?を調べてみます。

EWRISC-Vで接続して、レジスタの値を観測してみます。EWRISC-Vでレジスタ画面を開くと見えました。

実機を動かしながら確認できると、勉強が進みます。

mvendorid と marchidの値を抜き出してみると以下になります。

 

mvendoridは、JEDEC manufacturer IDが入っていると言う事で、Googleで調べてみました。

BANK=6, offset=30と言う事でなんかオカシイなと思ったのですが、たぶん、仕様書では1からバンクが開始するが、こちらのレジスタのBANKはゼロから開始しているのでは?と予想しています。

この先頭はこうなっているので、まあこう考えています。でも、違っているかもしれないので、答え知っている方は教えてくださいね。


 

 

あと、marchidの値が0x80000022(0b1000 0000 0000 0000 0000 0000 0010 0010)でした。

これは先頭ビット(MSB)が1なので商用コアのようです。このMSBがゼロ(0)の場合は、オープンソースプロジェクトとなるようです。オープンソフトウェアプロジェクトの場合は、こちらにリストがありますが、網羅性は不明です。

 

 

 

 

3)mimpidは、プロセッサ実装のIDを示すようです。0x00000100ですが、これ以上の情報が分かりませんでした。

 

今日はここまでにしてまた残りは継続して調べていきます。