Profile cover photo
Profile photo
平山直紀
31 followers -
暗号プロセッサのオープンソースハードウェアを公開してます
暗号プロセッサのオープンソースハードウェアを公開してます

31 followers
About
直紀's posts

Post has attachment
OpenICF3のVHDLについて(G+ バージョン)

日立のCPU、SHを覚えているだろうか。セガのゲーム機、サターンやドリームキャストなどに搭載されたCPUです。

僕は1994年に日立製作所 中央研究所 超高速プロセッサ部に配属されたわけですがメインフレーム方面の仕事だったので、SHは全く知らない。新入社員は研究所の隣の寮に全員入るのですが、夜になるとセガサターンのバーチャファイターをやりながらSHの話をすることがあったかもしれない。

そのSHのOpen Source Processorなるものが2014年に登場していたことを、今、知りました。「J-Core」というそうです。
μClinuxの初期開発者Jeff Dionneらが、SH-2関連の特許が期限切れとなるのに合わせてゼロから開発したらしい。
回路はVHDLで記述され、BSDライセンスで公開されています。

昨年(2016年)、僕が公開したOpenICF3は1999年の暗号LSI ICF3のOpen Source Processorですが、開発者本人である僕がやるのでJ-Coreのようにゼロから開発する必要なく同一のものとなっています。僕はRSA演算器(暗号プロセッサ)をアルゴリズム(モンゴメリ乗算)の英文の解釈からLSIの2次元平面上にゲートを並べるところまでの『すべて』をやっています。RSA暗号は、演算器を並べれば高速化されるというものではなく、当時、いろいろな実装方法が提案、実装されていました。数学のアルゴリズムをLSIの2次元平面上に効率的に実装するのが難しく、どうすればいいのか、非常に面白いところで、僕も面白かったです。
そしてさらに幸運なことに、このICF3のアーキテクチャは、現在のIoTデバイスの暗号プロセッサとして、非常に役に立つものだということを発見しています。

CPUのように命令をデコードして制御信号に変換するような処理がなく、制御信号が、そのまま命令コードになっていて、制御信号の数が少ないにもかかわらず、組合せで、多様な処理ができる良くできたアーキテクチャなのです。

また、現在だとRSA 4096bitの演算ができる必要があるわけですが、RSA 4096bitを演算できるような暗号プロセッサを設計したら1024bitのレジスタのプロセッサなんて開発しようとは、思わなかったでしょう。ICF3は1024bitのレジスタを16本もったプロセッサですが、これで無理無理、RSA 4096bitの演算ができる方法を見つけています。1024bitのレジスタが16本あるといってもRSA 4096bitでは1変数に1024bitのレジスタ4本を使うことになるわけで、かなり難しく、できると思わないのです。

OpenICF3のVHDLは、これから考えていこうと思っていますが既に公開されているC言語のシミュレータは完全なので、楕円暗号などのプログラムを開発することは可能です。VHDLができるまではC言語のシミュレータで先行開発できると思います。

●SH互換プロセッサ J-Core
http://j-core.org/
●暗号プロセッサ OpenICF3
http://openicf3.idletime.tokyo/

Post has attachment
起業についての、お話もあるようです。
僕が起業したのはICカードが個人では購入できなかったからだが、起業についての話をいろいろ聞いておけばよかったのかなと。

Post has attachment
興味深いブログを発見「PowerVRの未来はまだあるのか?歴史を辿る」

PowerVRはイギリスのファブレス企業であるビデオロジックが開発したグラフィックチップ。このブログを読むとPowerVR固有のAPIでなくても、他のAPIで良くなってしまったので、PowerVRの未来はないと書かれている。

このブログになぞってOpenICF3の未来はあるのか?ということを考えてみる。ICF3はIBMのAPIを実装したものです。現在のIoTでの需要を考えるなら過剰な仕様で、除算器や、偶数ケースでの演算が必要な仕様です。『もっとスリム化した仕様にすればOpenICF3よりもパフォーマンスのいいものができるから、OpenICF3の未来はない。』そう考える人がいるかもしれない。
結論を先に言えばOpenICF3は未来においても、いいと思っている。理由の一つは除算や偶数ケースの演算が必要になったからといってゲートが増えているということはないから。
少ないハードでありながらスイッチの組合せでいろいろなことができるからです。またLSIの2次元平面上への配置が容易であり、多種あるIoTデバイスへの移植がしやすいなどが特徴なのです。

Post has attachment
Chromium OS Canalビルド
サイトを移転して新装開店しました。

Chromium OSの独自ビルドは、他にもいろいろありますが、Canalビルドは動作検証がメインのビルドです。

Chromium OSに、いじめられなければ、今後も、続いていくと思われます。

64bit 安定USB版の公開が早いこと、仮想PC QEMUを使って、複数のバージョンのChromiumの動作検証が簡単であることがメリットかと。

Chromium系のブラウザは、多数ありますが、すべてが最新のバージョンになっているとは限らないので、複数バージョンの動作検証をされたい方には、便利かも?

http://canal.idletime.be/

Post has attachment
GoogleのTPUも、僕のICF3も、プログラマブルなプロセッサです。
もしろん目的が違う専用プロセッサなので、全然違います。

僕がTPUをどう見ているのか、という話ですが、TPUで高速化したい演算は、LSIの2次元平面上に実装しやすく整数演算とういうことらしいので、わりと簡単に作れそうなのです。どういった点が苦労するのかが興味です。

ICF3ではRSA暗号を高速化する数学的なアルゴリズムの選択から始まるのですが、それだけでも、いろいろありすぎるのです。ICF3の1999年、RSA暗号LSIは、他にもありました。FastMap、IBMのLSI。どれも違うアルゴリズムでした。モンゴメリ乗算やバレッタ(乗算?)の机上での理論値は似たようなものなのですが、実際に1024bitレジスタで演算できるように論理設計すると、データの移動に使う配線数にかなり違いが生じたりします。モンゴメリ乗算に絞っても、基数の取り方で、全然違うものに変化してしまって、どれがいいのか、考えるのに苦労しました。

TPUもICF3も小さい演算プロセッサの集合体と言えると思うのですが、TPUは最初から隣接する演算プロセッサ間の通信で済む感じだと思いますが、ICF3では隣接する演算プロセッサ間の通信でなるべく済むように考えることから始めなければならず、やりすぎると、性能低下して、かなり苦労する。いまでも、そのトレードオフの研究をしているのではないだろうか。

http://openicf3.idletime.tokyo/

Post has shared content
機会学習については、わかっていない人なのですがTPUの設計思想がCISCという話を聞いて一瞬、「へーっ」って思ったが、機会学習用のハードの進歩の未来が見えたような気がしました。
この記事はTPUについてわかりやすいと思いました。
RISCとRAIDの生みの親のパターソン先生、俺氏とTPU解説ブログを書いてくれた。なんだかゼミで卒論書いてる気分だった。

Post has shared content
ポッドキャスト、GoogleのTPUの話をされているけど、あれ、僕の名前がでてきたぞい。「2017-05-13のさんぽっど(TPU)」


Post has attachment
日本初のコンピュータFUJICの命令コード

FUJIC、実は僕も知りませんでした。遠藤 諭さんのマストドン 計算機屋BOTで今日知ったのです。ASCII.jpにFUJICの開発者、岡崎さんについてやFUJICの命令コードが掲載されていました。

FUJICは真空管の本数を少なくなるよう工夫されENIACよりも1桁少ない --- うーん、きっとこのあたりがすごい!ってことなんだと。

FUJICは真空管の時代のコンピュータなのですが、驚いたのは命令コード、現在のCPUの発想と変わっていないということ。
僕の暗号プロセッサICF3が別次元の命令コードなのだということを知った。ICF3は全桁を1回で計算する方式にした、このためLSIの2次元平面上に大きく広がることになり実装が面倒になることが予想されたが、真空管の時代のコンピュータよりも、効率的な命令コードとなっているのではないだろうか。

(訂正に近い) 暗号プロセッサでは全桁を1回で演算する方式を採用するかどうかは選択になるが、汎用プロセッサでは普通にある。つまり命令コードが別次元になることには、強い関連性はない。

Post has attachment
Chromium OS Canalビルド R57(再リリース)
9年前くらいのIntel Core2 Duo (チップセットG41)のマシンで動作することを確認。
CanalビルドはUSB起動で動作させることも考えて容量を4GBから8GBに拡張していました。一部の8GBのUSBメモリで書き込めない不具合があったため対策。USB 3.0の8GBのUSBメモリで、そこそこ動作することがメリットかも。


Post has shared content
「会社のモラルを疑う」かぁ、、、某会社も。
『経営再建中の東芝が、東京証券取引所による「監理銘柄」の指定で上場廃止の恐れが指摘される中、社員向けに自社株購入を呼び掛けていたことが21日、分かった。自社株を保有する社員の多くは、系列の米原発会社の経営破綻などを背景に株価低下で含み損が出ており「会社のモラルを疑う」と反発している。』


掠め取れるなら身内からでも。


https://this.kiji.is/228040374018065911
Wait while more posts are being loaded