|
1月16日 除算性能 ICF3-Z vs RISC-V実際に比較しないと、わからない人が多いと思いましたので、小型のRISC-VコアであるlowRISCのibexと比較してみました。
ICF3-ZのZeviosは8bit CPUですが、lowRISCのibexは除算器を持った32bit CPUです。
ZeviosはXilinxのFPGA XC7A35TICSG324-1Lです。 ibexは2500LUTの面積ですが、Zeviosは400LUTの面積です。 外部I/OなどZeviosに不足しているものがあるかもしれませんが5分の一の面積で5倍以上の性能が出ることは、考えるべき点ではないでしょうか 1月15日 ICF3-Z、Apache Licenseで公開開始8bit CPU ICF3-Zが正式に、Apache Licenseとして運用が開始されました。
32bit÷16bitの除算のサンプルコードがgithubに追加され、
ダウンロードしてverilogでシミュレーション可能です。
1月8日 8bit CPU AVRとICF3-Zとの違いブログ書きました。 「8bit CPU AVRとICF3-Zとの違い」 1月6日 ICF3-Zの別実装の計画計画ですが、いつごろになるのか、未定です。Zeviosに低速のメモリを接続しながら、
高速メモリ上では高速に動作するような改良。
クロック・イネーブルで作るのか、クロックを2種類使うのか、まだ決めていません。
圧縮命令や割り込みで高速動作に移行、全てのリターン命令で低速モードに移行というルールなら
タイミングを除いて完全互換なコアになるかもと。
明示的に高速動作、低速動作させる命令を追加すれば、もっと性能を上げることはできるのかな。
1月2日 ICF3-Z特許侵害調査ICF3-Zの公式コア ZeviosをApache License 2.0で公開するべく、他人の特許を侵害していなか調査しています。
ICF3-Zの圧縮命令が、インテルの特許第5984865号 「命令エミュレーションプロセッサ、方法、およびシステム」を
侵害していると疑う人がありそうなので解説します。
2019年1月2日 0:30PM HL bitは圧縮命令のような16bit長の命令を制御するための記憶装置。 16bit命令を処理した後、次の命令を読み出すのに使われる。 2つの圧縮命令が続く場合、1つめの圧縮命令を処理中、HLビットは1になるが、2つめの圧縮命令を処理中にはHLビットは0になる。 つまりHLbitはエミュレーションのロジックではない。 12月31日 ICF3-Zの互換性の問題と32bit仮想マシンRISC-Vは命令セットアーキテクチャから、いろいろな実装が作れます。
しかし ICF3-Zは命令セットアーキテクチャが、
ほぼ実装であるため、オリジナルのZevios以外の実装は、あまり存在しないだろうと考えています。
ZeviosはApache License 2.0の予定なのでZeviosを派生させることを想定しています。
互換の問題が生じる可能性がありますが、ZeviosがICF3-Zの仕様と考えています。
12月20日 8bit CPU ICF3-Z、github公開8bit CPU ICF3-Zを XilinxのFPGAに実装したverilogファイルをgithub にアップロードしました。これまで限定公開したバージョンとほどんど違いはありませんが、 不要なファイルを削除したので、これまでより読みやすくなっていると思います。 Xilinx依存な記述はないのでverilogが使えるシステムなら、使えると思います。 ICF3-Zのオリジナル実装をZeviosと命名しました。 名前の由来は、アーケード版ゲーム XEVIOUS(1983年)のデッドコピーXEVIOSの頭文字XをZにしたもの。 XEVIOUSはBASICマガジンに連載されるなど当時、大人気でした。 CPUは8bitのZ80が3個、使われているそうです。 12月15日 ICF3-Zのライセンスについて8bit CPU ICF3-Z、お願いつきApache 2.0ライセンスというのを考えています。
ライセンスとしては完全なApache 2.0です。
そこに「できれば日本の税金を使ったプロジェクトでは利用しないでください」という、お願いをつけます。
12月09日 ICF3-Zは32bit÷16bitできるのか?8bit CPU ICF3-Z、
本当は、実際にプログラムして確かめるべきなのですが時間の都合で予想の話になります。
結論を先に言うと、除算器のないCPUの普通のプログラムよりは、
ICF3-Zのアーキテクチャによって高速に演算できるのではないだろうか。
写真をマウスでクリックすると拡大されます 12月05日 命令の組み合わせを変更して24bit÷8bitを演算可能に8bit CPU ICF3-Zは任意の値の16bit÷8bitを17サイクルで演算できますが、 命令の組み合わせを変更することで24bitの上位8bitが除数8bitよりも小さい場合は、 24bit÷8bitを17サイクルで演算できます。 従来の命令セットでは、 抽象化によってメリットを得ている半面、 ハードウェアの能力を十分に引き出すことができません。 ICF3-Zの命令セットは、抽象化のメリットを捨てることで、 ハードウェアの能力を、最大限引き出せています。 12月01日 ICF3-Zの利権を複数人で管理するとどうなる?8bit CPU ICF3-Zですが、
正式なオープンソースとしてスタートした場合、運営をどうしていくのか、考えました。
現在、僕1人で管理していますが、リソースの提供と引き換えに管理者を迎え入れるとします。
そして競合他社の潜入2名が管理者として加わり3名で運営すると、
潜入2名がICF3-Zの実用化に対して反対して、ICF3-Zは失敗プロジェクトになる。
|