Home
2020年
2019年
2018年

6月30日 Verilog版のSnakeCube開発(17)

作業報告です。それ以上ではありません。 Verilog版のSnakeCubeシミュレータに標準入力を使ってRSA暗号の演算データを入れて、 Verilogのシミュレータを実行、演算終了後、期待値と比較。 結果が違っていれば、シミュレータを異常終了させる。 これを適切な乱数データで大量シミュレーションできる仕組みでテストできるようになりました。 正しくは、動き始めた。
シミュレータを異常終了させる方法はicarusのvvpで-Nオプションを付けると $stopで異常終了するようです。


6月30日 TTLでICF3-Zを作るならという話(2)

TTLに実装するために機能を削減したICF3-Zを作り、 仮想マシンで互換性を維持するというアイディア。
ICF3-ZはTTLで実装することを考えて設計しているわけではないのですが、 トランジスタ数を減らすことに特化していたりSRAMチップが安価だったりするので TTLに実装するのにも向いていると思っています。 そしてTTLのCPUとしてはかなり高速になるかなと。 ただ、やっぱりTTLでは規模が大きいかなという気はしています。
少しでも作りやすくするには8bitの汎用レジスタ16本を無くして、 スクラッチパッド256バイトだけにするという方法もあるかなと。 安価な量産品のSRAMに効率的に実装できるようになります。
汎用レジスタを使ったプログラムは動かなくなりますが、ICF3-Zでは、 普通のCPUとは違った命令セットなので、スクラッチパッドだけでも、 問題がなく、多少、性能が落ちるくらいです。 また通常のICF3-Zと、TTL版ICF3-Zの仮想マシンを作れば、 その仮想マシンのコードの互換性は保つことができる。
つまり、スクリプト系の言語を仮想マシンで実装したものはTTL版ICF3-Zでも、 多少、性能が落ちる程度で動くかもしれないということです。
うまく仮想マシンを使った言語がICF3-Zに乗ってくれば、 TTL版のICF3-Zでも、動くアプリが多くなるみたいな。
あまり効果がないかもしれないですがAND演算とNOT演算があれば、 プログラムでOR演算やXOR演算が可能なので、仮想マシンにOR命令、XOR命令が作れたりします。


6月29日 TTLでICF3-Zを作るならという(1)

オープンソースのソフトウェアと同じでCPUもTTLで作りたいという人はあるかもしれない。 ICF3-Zは、プログラムメモリを多く消費するアーキテクチャで、 圧縮命令によってプログラムを圧縮しないと、メモリ効率の悪いアーキテクチャですが、 その分、CPUコアが小さくなっているのでTTLでも作れる規模かもしれない。 僕はTTLでCPUを作った経験がないので、適当なことを言って恐縮ですが。 ICF3-Zは8bitの演算レジスタA,B,C,Dを持っているので 8bitの汎用レジスタ16本は、リードもライトも転送だけで1サイクルのアーキテクチャなのです。 つまり汎用レジスタをSRAMに置けそう。ディユアルポートのSRAMもあるみたいですが高価なので、 1ポートのSRAMで、前半ライト、後半リードみたいに時分割すれば、なんとか、なる。多分。


6月29日 64バイトのメモリコピーの性能

言いたいことはICF3-Zは、既存の8bit CPUより優れている。
maxim integratedが自社のCPUと8bit CPUで有名なAVRとメモリコピーの性能を 比較している資料を見つけました。
MAXQ命令セットアーキテクチャとRISCのベンチマーク比較
maxim integratedは高性能の結果ですがパイプラインがないCPUなので、 あまり高周波数では動作しない予想なので、ベンチマークで示される 性能ほどではないのかも。
上記資料では64バイトのメモリコピーの性能ですがICF3-Zの都合で 16バイトのメモリコピーで比較します。

AVRは5命令、115サイクル。

ICF3-Zは10命令、133サイクル(8命令、85サイクル)
カッコ内の性能は16ビットポインタの上位8bitが16バイトの先頭と最後で同じ条件の場合

AVRのアーキテクチャとICF3-Zのアーキテクチャの違いから、 ICF3-Zが2倍の周波数になるという予想のもと補正をすると、 ICF3-Zが高性能かもしれない。
プログラムコードのメモリが多く必要になりますが、そこは圧縮命令で、 プログラムコードを小さくなるように、すればいいのかと。
ICF3-Zの説明書と少し命令数、サイクル数が違うように見えますが AVRと比較できるように補正しています。


6月29日 銀行向け署名端末を考えてみた(3)

カメラ端末に比べて署名端末はUSBケーブルを使うので、少し利便性が落ちる。 しかしカメラ端末は乾電池を使っているが、署名端末はUSBケーブルから電源を取れるので電池不要。 端末の製造原価や地球環境的にもUSBケーブルから電源を取れるほうがいいと思います。 乾電池ではなく充電式電池であっても、同じことが言えるでしょう。


6月29日 Verilog版のSnakeCube開発(16)

作業報告です。それ以上ではありません。 僕の稼働率を1日、2時間くらいまで抑えることを目標としているらしい。 おかげで寝ている時間が長くなっています。 verilogシミュレーションの入力データにファイルではなく、標準入力を使うように改造しています。 icarusでは動作するようになったのですがXilinxのxsimでは、まだうまくいっていなくて、 少し時間が、かかっています。標準入力をあきらめるか、どうするか。


6月28日 銀行向け署名端末を考えてみた(2)

考えてみた(2)の結論は署名端末、良さそうです。
カメラ付き端末ではブラウザでQRコードを受信、 端末が表示する数桁の数字をブラウザで送信する方法でした。 署名端末ではBASE64で送受信をすればいいと思います。 これには専用のBASE64アプリが必要になります。 銀行への送受信はブラウザでするため、このアプリはネットワークにアクセスすることもなく、 署名端末と送受信するだけです。ソースコードを公開しても問題がないものなので、 アプリのインストールが心配な顧客がいても対応できると思います。
BASE64のデータは、送受信データに署名を付けることで改ざんされることはありません。 そして読み取られても、それほど影響はないようには思いますが、共通鍵で 暗号化しておけば、安心です。
共通鍵暗号で最も利用されているのはAES暗号ですが、AES暗号は8bit CPUでも 高速に演算できます。


6月27日 銀行向け署名端末を考えてみた

無責任ながらパソコンで銀行振込をするための「署名端末」を考えてみた。 「署名端末」は、現実的なところにあるように思っています。
銀行によってはカメラ付きの端末でQRコードを読ませるタイプのものを導入しているみたいです。 この方式だと、恐らく、客と同じ鍵をサーバ上に持つ 必要があるので、サーバの管理は、かなり厳しいと思われます。 これまでの実績があるので、それほど問題を感じない人も多いかもしれないですが、 公開鍵暗号の署名を併用することで、サーバ側の管理コスト、経営リスクを軽減できるように思うのです。
個人で言うには大きなことを言っていますがOpenICF3や、 ICF3-Zの利権を持っているのは僕で、 その運用を僕が考えないといけないと思って「署名端末」なるものを言っているのです。
経営リスクについて、ピンとこない人は、あったかもしれません。 厳重に鍵を管理していると思われますが、なんらか鍵が漏れると大きな損害が出ます。 行員やシステムに詳しい内部の人間が離反すれば、その可能性も考えられるように思います。
公開鍵暗号を併用すれば、サーバ側に秘密鍵はないので漏れる心配がなく、 これまでの鍵が漏れても、公開鍵暗号側のチェックで、防げるというもの。
署名端末の原価が安ければ、署名併用をする署名端末を採用を考える銀行はあるように思います。 そしてOpenICF3とICF3-Zの2つを持つ、僕が、やれば、安価になるのではと考えているのです。
署名端末ではカメラが不要なので、その分のコストを下げることができます。 かわりにUSB接続が必要ですが、USB接続のチップは信用がなくてもいいので激安なものが使えます。
公開鍵暗号の鍵を長くする必要が出てくる場合も、僕がいれば SnakeCubeがあるので対応が容易です。 SnakeCubeの利権を持つ人は僕以外に無く、恐らくSnakeCubeより高性能高効率なものは、他にない。
ハッシュは32bit CPUでないと実装しにくいと思われるかもしれませんが、ICF3-Z上に32bitの 仮想マシンを実装することで、既存の32bitコードを、ICF3-Z上に比較的容易に移植できると 思われます。
署名端末の原価を安くするのに8bit CPU ICF3-Zは、役に立つかもしれません。 言えることはICF3-Zは流行ったほうがいいのかも。


6月27日 急に動画を1万円分買いました

急に動画(R18)を買いたくなったので1万円分買った。 うち6600円は12本のまとめ買い。
これは、まとめ買いではないけど→
自宅警備員 1stミッション イイナリ巨乳長女・さやか~編/PoROre


6月26日 家族の勧めで家電を買うことに

CPUの話をすると、良く家電が壊れたりするのだけど気のせいだろうか。 家族に家電(トースター)を買うように勧められた。既に価格は調査済みで予算は5000円ということだった。 amazonで買うのが楽なのだが、市民が気になり、わざわざ、近所の家電量販店(Joshin)に行った。 5000円弱のトースターを買いました。


6月25日 Verilog版のSnakeCube開発(15)

作業報告です。それ以上ではありません。 サイバー攻撃で身体に負荷がかかり1日に数時間以上、完全に 動けなくなることも多い状況です。以前として作業の進み方は遅い。 作業をしていても負荷が、かかっていることも多い。
Verilogのシミュレーションを乱数データで大量に流す仕組みを開発中。 C言語のシミュレーションで開発したものを流用するので、わずかな時間で開発ができるだろう。


6月24日 逆数演算の知財

知財に興味のある方のみ。 SnakeCubeのサイトで 「逆数演算の知財」のページを追加しました。


6月23日 Verilog版SnakeCubeでRSAできました!

無事、Verilog 48bit版SnakeCubeでRSAの署名演算が計算できました! まだ完全ではありませんが、暗号プロセッサとモンゴメリ乗算器の接続がうまくいったので、 完成に近いです。これから1032bit版に拡張していきますが拡張することを考慮して 開発環境を作ってきたので、それほど時間はかからない予定。 そこから、XilinxのFPGAへ貼り付ける作業をして、性能測定へ。


6月20日 Verilog版のSnakeCube開発(14)

作業報告です。それ以上ではありません。 まだバグっているのかと不安になった人がいるかもと思ったので。ご心配無用です。 久しぶりにDSPを制御するマイクロコードを書いたのですが、 レジスタ系と演算制御系でタイミングが違うの忘れていて、修正しているところです。
2年前の試作のときC++言語で作ったマイクロコード用アセンブラを、最近C言語で作り直しました。 デジタルなタイミングを合わせるだけなので、心配いりません。
雑談を、さらにするなら、日記にも書いていますが、2年前C++で作ったのは、 マイクロコードを保存する分散RAM(LUT-RAM)の数を動的に少なくするためでした。 マイクロコードのプログラムに依存してverilogが生成されるというもの。 2年前の試作でBRAMが余ることがわかったのでマイクロコードの保存先をBRAMにしました。 C++を使うほど難しいアセンブラを作る必要がなくなってCになったのです。
頭痛で足止めされていなければ、こんなことを書くこともなく、あっという間に完成していたと思います。


6月19日 Verilog版のSnakeCube開発(13)

作業報告です。それ以上ではありません。 Verilog版のSnakeCubeのシミュレーションを動かしているが、 まだバグがあって動いていません。しかし頭の調子が悪い状態でのデバッグは厳しい。 僕の稼働率20%といったところか。おかげでインターネットのニュースが、いっぱい読める。


6月19日 MRAM搭載ICF3-Zを、さらにわかりやすく

昨日の日記でICF3-ZにMRAMを搭載するとどうなるのか、 考えてみました。ここでもう一度、日記に書くのは案外使えるのかもと思ったからです。
解説を、もう一度しますが、わかりやすさを重視したため数字にズレが 生じている可能性はあります。ただ多少ズレていても、だいたいのところは 合っているというような感じだと思います。
SRAMのように使える高価なMRAMより、SRAMの5分の一のアクセス時間でいいから安価な MRAMを考えます。そして1度に512bit(16命令分)の読み出しに5サイクルかかるとする。 読みだされた後は、CPUはウェイトなく毎サイクル実行できる。 すると分岐命令がない場合はCPUの稼働率は
16/(16+5)*100 = 76%
SRAMの5分の1の性能のMRAMでSRAMの76%の性能というのは、なかなか良さそう。
分岐を入れて50%くらいまで稼働率が下がっても、SRAMの半分の性能が出る。 そして不揮発だから、電源オンしてすぐに使えるマイコンになる。
もし電源オンですぐに使えると便利な家電とかあって、 急激に立ち上がる可能性とかあれば、ICF3-Zも、その波に乗ることができれば、ということでした。


6月18日 MRAMを使うICF3-Zマイコンの設計を考えてみた

今日、東北大でMRAMが動作したというニュースがあった。
東北大、読み書きが同時に可能なデュアルポート型SOT-MRAMセルアレイの動作実証に成功
MRAMについてメディアで報道される以上のことは知らないのですが、 ICF3-ZでMRAMを使うとどうなるのか、風呂に入りながら考えてみた。
MRAMはフラッシュ以上、SRAM未満なメモリということでフラッシュの代替とか、SRAMの代替とか、 ではなくMRAMの性能特性を活かしたCPUの設計みたいな、ものがあるのかもしれない。
MRAMの性能について調べていると、次の記事が見つかった。
組み込みフラッシュ代替が見えたか、TSMCが22nm世代MRAMで見せた本気

今のところ、バイト単位の高速書き換えや、書き換え速度に興味はなく、 フラッシュより読出し速度が高速でランダムアクセスができてマスク数が少ないから安価 というところに関心を寄せている。つまりTSMCの、このMRAMが最もいいということではないのかもしれない。
記事には22nmで10nsアクセスと書かれている。XilinxのArtix-7は28nmでSRAM読出しが数nsなので、 ICF3-Zで言うと、おおよそ、4~6サイクル程度読出しにかかる。 フラッシュと違って、分岐予測が外れたときくらいの速度で読み出せるのかと、思うのだが、どうだろう。 そうすると、MRAMの性能特性を活かしたCPUの設計ができないだろうか?
ICF3-ZのZeviosはメモリがキャッシュ上になければ割込みを発生させて キャッシュへの読み込み完了を待つということが簡単なのです。 例えば512bit(16命令分)のデータ幅を持つMRAMを用意して、アドレスを設定してから、4~6サイクル待って、 マルチプレクサで32bitの命令コードを読み出す。SRAMを一切使わない。
言いたいことは、あまり性能を低下させずに大容量のMRAMを活かしたマイコンが作れるのかと。 もう少し、わかりやすく言うなら、少し性能の悪い不揮発SRAMとして、便利かも。(商用できる?)


6月18日 高速な除算器を搭載した激安ARM

ツイッターのタイムライン上に激安ARMが1個、0.69ドルというのを見かけた。 見てみるとCortex-M3のARMでした。 Cortex-M3のスペックを調べるとハードウェア除算器を持ち、かつ、 演算サイクルが2~12サイクルなので、僕のICF3-Zよりは、 高度な除算アルゴリズムを使っているみたいです。
ICF3-ZはXilinxのFPGAに実装した結果があるのですが、ちょうど同じFPGAに Cortex-M3を実装した結果がインターネットで検索して見つかりました。
http://fpga.cool.coocan.jp/cortex-m3.html
これが正しいと仮定すると、
ICF3-ZはCortex-M3のARMに対して 16÷8bitの性能が0.35~2.1倍(ICF3-Z 175MHz時)なので、 高速な除算器を持ったARMに対しても、いい勝負ができていると思います。 (面積性能ではなく性能です!)
Cortex-M3の上記実装の補足をするとプログラム128KB、データ64KBで50MHzは 厳しいと書かれていたので、50MHzとして計算しました。
同程度の性能でありながら、さらに、ICF3-Zは値に依存せずに除算サイクル数が一定なのでPWM制御で使いやすい!


6月17日 高性能高効率の暗号プロセッサの開発

たまに、この日記を読む人向け。 ICF3-Z の広報をやっていたので遅れ気味ですが、SnakeCube(暗号プロセッサ)の開発を進めていきます。 大雑把に説明をすると、僕の発明 により、あまりうまくパイプライン化できていなかったものが、限界までパイプライン化され、 高効率化されました。このブログの 「SnakeCubeが高周波数で動作する秘密」が参考になるかもしれません。
さらにSnakeCubeは作りやすく、巨大な鍵を演算するのにも向いているため、人類は公開鍵暗号の鍵を長くするという 選択肢を得ることができるように思っています。この効果は大きく、重要な発明になったと思っています。
2年前に発明されたにもかかわらず、思うように開発が進まないのは、なぜなのか。 今もなお、頭痛に悩まされ、足止めされ続けている状況で、大事に至る前に、考えてみる必要があると、思います。 このまま足止めが続くことの予想をしてみてください。


6月17日 髭剃りが壊れた

新しい髭剃りを買ったけど、壊れ止めに5年保証 930円も買った。


6月16日 数学の世界における大きな数の四則計算

情報オリンピックの日本代表選手がQiitに投稿した記事を読みました。 この記事を僕が読んで、僕の顔色がどう変化するのか、気になる文系のため日記に書くことにしました。
超高速!多倍長整数の計算手法【前編:大きな数の四則計算を圧倒的な速度で!】
僕の言っている大きな数の四則演算は、暗号演算向け四則演算です。 (それでも汎用の整数演算で使えるかもしれない) 半導体チップ上では、必ずしも数学の理論通りには、ならない。 要するに、僕のSnakeCubeに影響しない。
しかしながら、掛け算の計算量を減らすカラツバ法の話が面白かったです。 こんな方法が1960年まで発明されていなかったのかと思うくらい簡単なのです。
結果が簡単だからと言って、それを発明することが簡単かというと、 そうではないと思いました。
8bit CPU ICF3-Zは、乗算コストが加算コストよりも大きいCPUなので、 2バイト×2バイトの乗算をソフトウェアでするのにカラツバ法は使えるかも。 ほんの少し高速化できるような気がします。いや実際のコードでは高速化してないかも。
ICF3-Zの数値演算ライブラリとか誰か作って、昔のZ80みたいに本になって売れると、 いいのですが。これです。
Z80の数値演算ライブラリの本


6月15日 Vivado2020.1でICF3-Zの面積性能が上がった

Vivadoのバージョンを2019.2から2020.1にして合成しました。 周波数175MHzでのLUT数が減り、性能を保ちながら約11%面積が小さくなったようです。
githubのほうは更新していませんが、公式サイトの downloadのページに結果を書きました。


6月13日 Verilog版のSnakeCube開発(12)

作業報告です。それ以上ではありません。Vivado 2020.1のインストールを開始。


6月12日 ICF3-Z公式サイトのアクセス状況

プレスリリースによる高負荷に耐えられるように公式サイトを新しいサーバに移動しています。 サーバ1年分の費用とSSL証明書、高負荷オプション合わせて8000円くらいお金をかけています。 Google アナリティクスで、アクセス状況を確認していますが、まだあまりアクセスがない状況です。 数百のメディアに配信されただけなので、これからアクセスが増えるのかもしれないですが。


6月12日 ICF3-Z初のプレスリリースがメディアに配信されました

@PressのプレスリリースのURL
https://www.atpress.ne.jp/news/214871
良くできた読み物になっているので是非読んで拡散してください。
このICF3-Zは実用性が高く仮想マシンの機能によりコンパイラが作りやすい。 いろいろなコンパイラがICF3-Zで動くようになれば、いろいろな言語の プログラマが引き込まれ、コンパイラが作りやすいCPUとして広まり、 さらにコンパイラが作られ、プログラマが引き込まれる。
そうなるように、なれば、なるのかもしれない。(^^;
8bit CPUに税金を投入できる理由も、あまりなく、 たとえ、やっても風当たりが強くて潰されてしまうでしょう。
(僕の中学生の経験では)趣味でアセンブラ、コンパイラを作れる人達が、 楽しめる世界が、できると思っています。 公式実装のZeviosを派生させてI/Oを追加して 自分のマイコンを作ってみるのも良し。
そうやって本格的に立ち上がってくれば、産業に貢献するような、 すごいCPUになってくれることを期待しています。


6月12日 ICF3(1999年)のオープンソースのライセンスを変更

OpenICF3の公式サイトの文章も 更新して綺麗になっています。


6月11日 USBテスターを購入

USBテスターが複数ないと心配なので、もう一個買いました。 抵抗器の抵抗はテスターで測ると5.5Ω。別のテスターで抵抗を測定しても5.5Ωでした。 普通の人は、ここまで気を使う必要は、ないと思うのですが。


6月11日 BASICマガジンの創刊記念放送を見た。

創刊記念放送のYouTube。 中学生のころ、たまたま本屋で創刊2号目のBASICマガジンを購入し、 300円という安さも手伝って、大学に入った前後くらいまで毎月購入していたと思う。
あるとき、松下のJR-100というパソコンのゲームが掲載されていて、 それをSHARP MZ-2000に移植した。上から落ちてくるICBMを迎撃するゲームで、 中学生でも作れるお粗末なものだった。 親にBASICマガジンに投稿してもいいかと聞くと「やってみたら」 と返答が返ってきたので、作文をして10分のカセットテープにゲームを録音して、 BASICマガジンに投稿をした。
次のBASICマガジンの発売日になって、本屋に急いで行って掲載さているか確認すると、 僕と同じ名前の人が、他の本で掲載されていたMZ-2000(MZ-80B)のテニスゲームを丸パクリしていた。 その後、盗作であることが判明したのだが、とても印象に残っている。
今の僕が、こんなことを書くと、冗談を言っているのだと思うかもしれないが、 本当の話。


6月10日 マストドンmstdn.jpの譲渡先が海外企業に

mstdn.jpの自分のアカウント のプロフィールに英語で「輸出規制などの法律に注意してください。」 と書きました。法律に気を使ってます。ということです。


6月9日 50GB BD-DL 2枚が壊れた

XilinxのVivado 2020.1が公開されていたので35GBのファイルをダウンロード。 BD-DLに書き込みをしたが2回、謎の失敗を繰り返した。1枚300円のBD-DL2枚、合計600円を失った。


6月8日 Verilog版のSnakeCube開発(11)

作業報告です。それ以上ではありません。 相変わらず、ゆっくりとしたペースでしか動けませんが、峠を越え時間の問題になっています。


6月6日 pコード、8bit CPU全盛期のJava

インターネットで調べてみました。 Wikiに書いてあるのですが、Javaと同様な利点と欠点のようです。 利点は、移植性が高く、コンパイラが作りやすい、など 欠点は、実行速度が遅いこと。 Wikiには実行時コンパイラによって改善されることがあると書かれているが、 8bit CPUでは、メモリ容量など厳しいかもしれない。 そ・こ・で 僕の8bit CPU ICF3-Zの仮想マシンハードウエア支援機構(仮)が役に立ちます。 僕が主張しているのは、仮想マシンという考え方ではなく、 非力なCPUで仮想マシンを高速に実行するためのハードウエアを コンパクトに実装して、実用化できそうなところまで、できたこと。 非力なCPU向けです。


6月6日 同音異義語「Pコード」

ICF3(1999年)は当時、Pコードと発音されていたことがあった。社内ではCOBOLと言う人もありましたが。 PコードはICF3の加算器を改造した四則演算器と、それを制御する命令コードのことを指しています。 名前の由来は、僕の作ったC言語によるシミュレータのマイクロコードを入れる配列の変数名がPCODEだったからです。
最近、Pコードという呼び方をする人が出てきたのでギョーカイではPコードと呼ばれているのかと思ったら、 Wikiにpコードマシン とか言うのがあって、なるほどと思った。
言いたいのはICF3のPコードと、pコードマシンのpコードは、全く別物。
ICF3のPコードは、ハードウェアの制御信号を命令コードにしたハードに強く依存したコード。
pコードマシンは、ハードウェア非依存の中間的なコード。
全然、違います。
ICF3のプロセッサが1978年、カリフォルニア大学サンディエゴ校(UCSD)で開発された UCSD p-Systemの影響を強く受けたもののように見せて、 ICF3の足を引っ張ろうとしたのだろうと、思われます。


非常に紛らわしいのですが、ここから、別件の話になります。
悪いことにICF3から派生した8bit CPU ICF3-Zが新機能を追加したことでpコードマシンに、そっくり。
カリフォルニア大のPコードは、恐らくハードウェアに依存しない中間的なコード、Javaのバイトコードのような 仮想マシンが有用であることを主張するもの。
ICF3-Zは、有用である仮想マシンを、ハードウエア支援で、 とてもコンパクトに実装して実用化したことがICF3-Zの成果なのです。
カリフォルニア大のUCSD p-Systemについて、今日、Wikiで初めて知ったので、 実在性の確認はしていません。


6月6日 ICF3-Zの公式サイトのサーバを変更

8bit CPU ICF3-Zのサイトを突発的な高負荷にも耐えるようにするためサーバを変更しました。 オプションで従量制になるので高負荷で接続できなくなることは、なさそうです。 URLに変更はないので、これまで通りアクセスしていただいて大丈夫です。 SSLサーバ証明書がアルファSSL(グローバルサイン)のDV証明書からJPRSのDV証明書に変わっています。


6月4日 僕が運営する動画変換のサイトを移転

サーバの負荷分散のためneo.idletime.tokyoをneo.icf3.netに移転させました。 neo.idletime.tokyoにアクセスするとneo.icf3.netに転送されます。


6月3日 8bit CPU ICF3-Zの面積性能25倍は本当か?

今年の2月1日のブログで8bit CPU ICF3-Zと32bitのRISC-Vを比較してICF3-Zが面積性能25倍という報告をしました。
「オープンソースのCPUの除算性能 RISC-V vs ICF3-Z」
RISC-V SoftCPUコンテスト2018で1位になったVexRiscv との比較では、どうなのかを推測してみました。厳密なデータが得られていないので不確実な推測ではありますが、 算出根拠を明確に示しているので参考になる数字は出せたと思います。
ICF3-Zの公式サイトのトップページの下のほうに記載しました。
SoftCPUコンテスト1位と比較してもICF3-Zは面積性能12倍!!!
この性能を活かしたビジネスを考えてもいいような。


6月2日 8bit CPU ICF3-Zの電子書籍で儲けよう!?

ごめんなさい。そうなって欲しいの間違いです。 ICF3-Zを税金の投下無しに経済に貢献するようなCPUにするべく考えています。 ICF3-Zは小さい面積の割りに除算が高性能であることから低消費電力で コストパフォーマンスに優れるCPUになれる能力を持っているように思っています。
昨日、「BOOTHが情報商材の販売禁止に」というニュースがあって、 プログラミングなどの技術書はOKということらしく、ICF3-Zも電子書籍で 儲けられるように考えたほうがいいかもと思ったのです。
要点は、僕に関係するものか、そうでなく勝手にやっているものか、 明確にして、勝手にやって全力で儲ける人が増えればいいかなと。 公式サイトに明文化しました。
ICF3-Zの運営資金


5月31日 Verilog版のSnakeCube開発(10)

作業報告です。それ以上ではありません。 暗号プロセッサのプログラムからモンゴメリ乗算器に投げるファンクションを起動して、 モンゴメリ乗算器のナノコードが動作するようになっています。 28日の日記に追加したファンクションを、もう一度、ハードウェアで 直接する方法に修正。よりよいコントローラになるようにバージョンアップをしています。


5月29日 ICF3(1999年)開発記の資料(マイクロコードの配線)

これ正確に本当の話です。 1024bit演算器を持った巨大なプロセッサのクロックを速くするための技術。 5月26日の日記では資料は公開しないと言ったのですが、 技術的なことは書いてしまっているので公開することに。
暗号プロセッサは、僕1人で設計、実装をしていたので、他人に実装資料を 見せる必要もなく、今回のような資料になっています。 なのでICF3を開発していた時は、この資料を会社に提出していませんでした。
2002年に日立の金融部門に転勤になって、しばらくして、慶應卒の上長に、 隠し扉の前に連れていかれ、金融のノウハウを伝授すると言われた。 本当は、ただの移動式本棚だったのだが、隠し扉を開けるような雰囲気で上長が話した。
その直後、大型コンピュータ事業部から電話が入って、 ICF3開発に関する資料を全て大型コンピュータ事業部に提出するようにと業務命令が来た。 このため久々に大型コンピュータ事業部に出頭して、手渡しをしました。
今回の資料も、そのときに手渡した中に入っています。
結論から言うと、会社がICF3開発に関する資料を僕から手に入れるため、 金融のノウハウを伝授することにしたのだと思うのですが、隠し扉を開けただけで、 具体的に何かあったということはありませんでした。
結局、退職時にICF3を持って行くことに成功したので、あまり問題はないのですが。


図をマウスでクリックすると拡大されます


5月28日 Verilog版のSnakeCube開発(9)

作業報告です。それ以上ではありません。 モンゴメリ乗算器に投げるファンクションを追加。ハードウェアで直接、 値を設定していた部分をナノコードに変更。


5月26日 e-mailの設定が改竄されメールが届かない状態でした

本日、発覚しましたが、いつごろ書き換えられていたのか、わからないため、 心当たりのある方は再送をお願いします。 (今回、消されたメールアドレス以外であっても再送していただいたほうがいいかもしれません) 設定が書き換えられたのは8bit CPUのオープンソースのサイトの この連絡先です。
このメールアカウントだけ消されていました。 最近はMAILER-DAEMONという仕組みのないメールシステムがあるようで、 上記、メールアドレスにメールをしても、MAILER-DAEMONが返ってくることはなく、 メールの送信者からしてみると、あたかもメールが到着しているように見えるのです。
MAILER-DAEMONの代替手段としてCATCH ALL機能があるので、それを有効にしました。 ただCATCH ALL機能の設定を改竄されてしまうと、厳しいという問題は残ります。
このためレンタルサーバー会社、3社に分散させ、できるかぎり安全を確保するように努めてきました。 レンタルサーバー会社ごとにFTPをするためだけのパソコンを用意しています。 つまり、サイバー攻撃をした悪人は、内部の人間による可能性もあり得るのかもしれません。
Webサイトを多数、作っていますが、重要性の低いサイトは、FTPクライアント以外の ソフトもインストールされたパソコンを使っています。しかし、FTPアカウントを、 しっかり分けているので、そこそこ安全は確保できているように思います。
またFTPクライアントもマスターパスワードを、しっかり設定しています。

26日 5:30PM追記 
レンタルサーバーのサーバのパスワードを変更しました。 しかしコンパネからパスワード変更をするとメールで変更後のパスワードが送信されてきたのには、 ちょっと困りました。サポートのFAQを調べても、解決できず、ライブチャットで聞いてみようかと思ったのですが、 抜け道は、必ず用意されていると思ったので、あれこれ考え、古いバージョンのコンパネから、 パスワード変更をすると、変更後のパスワードを漏洩することなく、パスワードの変更が出来ました。
僕には少しサーバ管理能力があって、僕のサイトにサイバー攻撃をすることは難しいと思ってもらえればと。


5月26日 Verilog版のSnakeCube開発(8)

プロセッサとモンゴメリ乗算器を、それぞれバラバラに作って、個々に動作検証をしました。 そして先日、プロセッサとモンゴメリ乗算器を接続してシミュレーションをしていることを日記に書きました。 プロセッサは巨大な面積を持ち、ゆっくりとした周波数で動作します。 一方、モンゴメリ乗算器のほうはパイプラインにより、かなり高い周波数で動作します。 プロセッサのプログラムの信号が広大な面積に散らばっている モンゴメリ乗算器に1サイクルで届かないといった問題が発生します。
プロセッサのコントローラを複製して分散配置しても、問題は解決しますが、 SnakeCubeの命令セットアーキテクチャは、制御信号そのものが命令セットになっているので、 プロセッサのコントローラを経由せず、直接、全体に広がるモンゴメリ乗算器に送信できます。
そういった対策を、現在しています。
この方法、1999年のICF3でも使っています。プロセッサは全部、自分の手の中で作っていたため、 他人に見せるための資料を作っていないのですが、自分用の資料が、残っています。 今回は、公開は控えますが。


5月25日 買い物をすれば浮かばれるのか?

まだ僕が大手メーカに努めていたときの話です。念のために言いますが本当にあった話です。 1999年のICF3が成功し、 僕は幹部候補生が集う東京の研修所に2週間に1度、通うことになったのです。 そろそろ結婚を考えての活動を開始していました。 休日、お見合いを1日、2人とか、やろうとしましたが、 1日2人は無理とか、お見合いシステムに言われたこともありました。 そうそう某大手デパートで60万円以上するROLEXの腕時計を買いました。 研修所に行った時、授業の休み時間だと思いますが、背の高い幹部候補生の一人がROLEXの 腕時計をしている腕をつかんで「3分の一、もらった」と小声で言ったのです。 そして、候補生たちと映画館に行くことになりました。 皆、映画館の最前列の真ん中で映画を見ました。最前列は、画面が大きすぎて見づらい席でした。 映画のタイトルは忘れましたが、森林の1件屋の中でオカルトをする内容で、 とんでもないくらい激安な映画の製作費だったことが、想像できるものでした。
ROLEXを買ったことを会社に聞こえるように漏らしましたが、 「実用品は不可」みたいな感じだったので、思い切って寮のごみ捨て場にROLEXを捨てました。 これで実用品とは言わせない。
しかし僕は凶悪な方法でリストラされました。 やるだけのことは、やったはずで、それでもこのあり様なのです。
インターネット上にも、悪い人はいっぱいいるように思っていて、 上記のような経験があるため、思うように買い物が行われないのだと思っています。 それは困るということなら、悪いことしてきた人達を、 どうにかしたほうがいいのかもしれません。

5月26日 3:20AM 追記  日記に書いてあることを信用してもらえるよう、この日記のすべてについて、 正確に情報を伝えるように心がけています。 「幹部候補生が集う東京の研修所」という表現ですが、 この日記にも卒業証書の写真を掲載したことがあるのですが、 幹部候補生研修という名目ではなく、有名大学の先生方による普通の勉強会です。 ただ幹部候補生たちが集まる研修みたいな話は、ちゃんとあったと思っています。
僕は中央研究所からの転入組ですが、大型コンピュータ事業部の同期は30人くらいで、 この研修に行くことになったのは、僕だけだったと思います。


5月25日 マストドン風のgabのアカウントを持っています

日本最大級のマストドン インスタンスが終了するかもしれないらしく、対策を考えています。 gabというマストドンに似たインスタンスがあって、そこにもアカウントを作っています。
zevios
gabにアカウントを作らなくてもマストドンのアカウントからもフォローできるようです。 もしフォローしてくださる方がいるのなら、良くgabを調べてからのほうが良さそうです。 gabに少しだけ寄付するためのビットコインを買ってあるのですが、最近gabを使っていないので。 活気が出てくるといいのですが。


5月25日 マストドン mstdn.jpが運営の引継ぎを募集

日本最大級マストドンのインスタンス mstdn.jpが2020年6月30日でサービスを終了するそうです。 運営をしている合同会社分散型ソーシャルネットワーク機構 が引継ぎを希望する会社があればEメールで連絡を受け付けています。
僕もアカウントを持っています。
spinlock
合同会社分散型ソーシャルネットワーク機構の方々、今までお疲れ様でした。


5月24日 Verilog版のSnakeCube開発(7)

昨日、プロセッサに接続したモンゴメリ乗算器をシミュレーションで動作させてみる。 モンゴメリ乗算器を制御するためのマイクロコード(ナノコードと呼んでる)が動き出すところまで。 今日は、遠隔脳操作で満腹中枢を異常に刺激され、多少、苦痛な眠気で苦しんでいました。


5月23日 Verilog版のSnakeCube開発(6)

やっとプロセッサとモンゴメリ乗算器を接続できました。 まだ接続しただけで、これからが長いかもしれない。
頭痛による痛みはなくなりましたが、頭や体が思うように動かず稼働率20%程度。 布団で寝ているか、動画を見ているという時間が長いという状況。 頭痛の問題を日記で訴えた結果、頭痛以外の遠隔脳操作によって、バレないように時間を奪い取る戦略に、 一時的に変更しているように思われます。ちなみに今も左目をつぶらないと日記を書けていない。


5月23日 VLSIシンポジウムでIntelが暗号プロセッサを(2)

昨日の日記の続き。SnakeCubeでは乗算器の利用率を基準として 効率が高いこと特長としていることを言いました。 Intelの暗号プロセッサ、恐らく基数2^52の公開鍵暗号用の専用命令を持つCPUなんだと予測しますが、 乗算器とプロセッサの面積比がIntelのようなCPU型の暗号プロセッサだと プロセッサが大きくなるはずで、つまり乗算器の利用率は高くても全体としては、 あまり効率は高くない可能性があることに注意すべきだと思います。
Intelの暗号プロセッサの詳細がないので、CPUに専用命令を追加したものかどうかは、 確定していませんが、EE Times Japanの記事を見る限りは、合っているような気がしています。


5月22日 VLSIシンポジウムでIntelが暗号プロセッサを

EE Times Japan記事 「VLSIシンポジウム2020は初のオンライン開催に」に注目論文として IntelのRSA暗号プロセッサが挙げられているようです。 サイドチャネルアタックに強いということが特長です。 僕のRSA暗号プロセッサでは単純な制御で演算できる回路ということで、 サイドチャネルアタックにも強いと言っているので、Intelと逆みたいな印象。
記事の文章からの適当なコメントをするのですが、
以前、どこかの論文でTLBの動きを観測することで鍵を盗めるみたいなものがあったような気がしますが、 僕のRSA暗号プロセッサ(SnakeCube)には、そもそもCPUのような構造ではなく、 データ依存する制御がない専用に作られたプロセッサだからなのかもと。


5月22日 Verilog版のSnakeCube開発(5)

まだ人工的な疲労感によって、あまり作業が進んでいませんが SnakeCubeのプロセッサの軽量化(トランジスタ数削減)を思いついてしまったので、これからやります。 SnakeCubeのプロセッサはICF3(1999年)のアーキテクチャとほぼ同じなのでZF(ゼロフラグ)を持っていますが、 一般のCPUのZF(ゼロフラフ)とは、かなり違うものでした。 ゼロフラグなので値が0なら分岐させることができる機能であることには違いはないのですが、 少し実装と機能に変更を入れます。 この改良により約200 LUT削減。20800 LUTのFPGAにSnakeCubeを入れようとしていますから、 これだけで1%の削減は大きいかも。


5月21日 SnakeCubeの動作周波数の予測値の正しさ

FPGA技術系の人向け。Verilogで書いた論理の動作周波数は論理合成しなければ、わからない。 これは一般論としては正しい。その一般論を使って敵対勢力は問題を起こしていく。 しかし論理設計で動作周波数のことを考えて設計している場合は、その予測の精度は高い。 厳密な言い方をすれば、予測の精度がどのくらいか、事前にわかる。
SnakeCubeはFPGAの部品をつないだだけで、論理合成をほぼ使っていないVerilogです。 SnakeCubeについて言えば、高い精度で予測できる。 その理由はFPGAが用意するDSPのパイプラインを、そのまま使うので、 既に適切なパイプライン化ができていて、その数字がデータシートに書かれているからです。 後はDSPの入出力の遅延を考えれば良い。 多くは論理段数が少なくて、考えるまでもない。 つまり高い精度で予測できると言えます。


5月21日 Arty S7で基数2^24

わかる人だけ。頑張ってArty S7で基数2^24にしてしまおうという話。 USBの通信性能の予測が十分でないので、いまのところはCmodかもしれない。


5月20日 Ultrascale+で効率を落とさずに性能1.5倍

Ultrascale+はXilinxのFPGAで、現在、僕がSSLアクセラレータとして 開発をしているXilinxのArtix-7よりも高性能なFPGAです。 Artix-7では3入力加算器でしたが、これが4入力加算になるため、 モンゴメリ乗算の基数を2^17から2^26にできるのではないか?
RSA暗号はトランジスタ数を増加させた分だけ演算性能が必ず上がるということはありません。 今回は、乗算器を1.5倍にして1.5倍の性能にできるかもしれない、 ということを見つけました、という話になります。
遠隔脳制御で僕の脳の劣化が進めば、この発見はなかったかもしれない。 僕の脳劣化が経済的損失となるので、遠隔脳制御を停止させられないだろうか。

RSA暗号の鍵長を大きくするとレイテンシ性能が、大きく不足してくるので、 この発見は、できるなら、将来、効果があるだろうと思います。


5月20日 XilinxのFPGA Ultrascale+

SSLアクセラレータを期待するFPGA関係の人向け?
遠隔脳制御が止まらない。 SSLアクセラレータの性能を決めるモンゴメリ乗算器のVerilog実装を開始しています。 もう一度、設計図を書きなおしてDSPの数を45個から44個に減らしました。 現在はArtix-7(正しくは7シリーズ)向けに開発しています。
SSLアクセラレータの製品化が終わる頃にFPGAの価格が高騰することを心配しています。 このためUltraScaleのボードに予定を変更可能なような方法を考えていました。 しかし、ここで時間を無駄にしたため経済全体がなかなか立ち上がらない問題に直面するのかもしれません。 価格の高騰に対する手段はSnakeCubeを僕以外のところから 販売されることがないような方針を取ることと考えています。
SnakeCubeはXilinxのFPGAに、かなり最適化されています。 海賊版を作られない限り、RSAのSSLアクセラレータはSnakeCubeが 圧勝するだろうと僕は考えています。 乗算器の利用率が高くSnakeCubeを超える効率を 別の方法でするのは困難だろうと思っているからです。
広島大の方法はSnakeCubeの利用率を超えますがDSP1個か2個なので、 これからはレイテンシ性能不足になるため、ここでは考えないことにします。

UltraScaleのDSPは7シリーズのDSPとは異なります。 7シリーズより機能が増えたのですが、増えた機能を有効に使えなければ、 面積的な効率は落ちるのかなと。増えた機能を使って、 モンゴメリ乗算器の基数を2^17から2^26にすることができるかもしれない、 というのを見つけて、少し、気分を良くしています。 実際に、やってみるとダメということは、あるかもしれないですが。
SnakeCubeはXilinxが得意な大型のFPGAを活かせる用途もあるように思います。 がしかし、価格の高騰に負けることは、あるのかもしれない。


5月19日 SSLアクセラレータで儲けよう

正しくは開発作業させて^^;  遠隔脳制御で眠らされていました。日記しか書けなかった。 SnakeCubeのSSLアクセラレータを開発していますが、これを開発できる企業は、 あまりありません。いろいろな理由がありますが、開発コストをかけて作っても、 なかなか利益が出ないということなんだと思います。 僕が、SnakeCubeの利権を持って、開発もできて、 (株)iCanalの代表取締役社長だから、 可能なことなのです。
SSLアクセラレータは、常時httpsの公開鍵暗号のなどの処理をCPUに代わって行う 暗号演算装置です。計算機サーバーを置く建物の容積は、決まっていますから、 容積を増やすことなく、事業を拡大する用途にも使えるので、場合によっては、 大きな価値を発生させます。つまり、海外の計算機センターに知り合いがいれば、 そういうところに売れるかもしれないということです。
また量子コンピュータの解読脅威から、 RSA暗号の鍵長を大きくする必要が出てくることに備えて、 SSLアクセラレータの取り付け準備を、早めにしておく用途にも使えるように 思っています。

遠隔脳制御で妨害されると、これが遅れてしまいます。 日本の将来を考えSSLアクセラレータで儲けを出せるなら、考えたほうが、 いいように思っています。


5月18日 僕の学生時代

知りたい人だけ。前回の日記で早稲田大学の話がでて、最近、 ほとんど僕の学生時代の話をしたことがなかったので少しだけ、してみる。 大阪の高校から理工学部の電気工学科に現役で合格。 両親には浪人しても良いと言われていたので勢い余って電磁気学を真剣に勉強した。 大学の講義では教室の一番前の真ん中に座ることが多かった。 隣は成績優秀者が多く、良く話していたように思います。 1年の夏休みの電磁気学の実力テストでは、学科で1番でした。 テストを返してくれたTAの人が、そのとき教えてくれました。TAの人感謝です。 1年の夏が終わるころにはサークル活動が忙しくなって勉強時間が減りましたが、 それでも1年の成績は成績優秀者に与えられる大隈奨学金をもらった人よりも成績が良かった。 学部事務所に、何故、僕のほうが成績いいのに大隈奨学金貰えないの?と問合せに行ったことも。 成績優秀だったんですよ。 サークル活動を激しくしていたので、ここから成績は下がりますが、それでも研究室に入るときの 研究室内の順位は1番でした。

話をサークルに移します。鳥人間コンテストのサークルに入りました。 サークル活動に明け暮れる日々を学生時代は送りました。 飲み会の多いサークルで、酒に飲まれることも多く、2次会、3次会に参加していたような。 週3回飲むとか、そういう先輩多かった。 飲み会で1つ上の先輩に捕まり、発足したばかりの人力飛行機のプロペラ班に入りました。
ちなみに、その1つ上の先輩は、早稲田の教授をされているようです。 本当に何もないところからのプロペラ制作でした。 全鳥人間コンテスト出場チーム中にアルミパイプを使ってプロペラを作ったチームは、 早稲田の鳥人間コンテストのチームだけではないでしょうか。 実際に使える強度ではなく、笑う人もあるかもしれないですが、 これは、ゼロからモノを作るための、いい経験になったと僕は思っています。
僕はプロペラの空力設計とプロペラの翼形を紙に印刷する仕事、実際の組み立てなど、 多くの仕事をしました。 完成したプロペラは、鳥人間コンテストの当日、悪天候で飛行することをあきらめ、 発進する台から、琵琶湖に沈めることになりました。 僕も台に乗って、沈める役をしています。
次の年、僕がプロペラ班の班長として、僕1人で、ほとんどプロペラを 作ってしまいました。これが鳥人間コンテストで早稲田大学の人力飛行機として、 初めて飛んだプロペラになりました。 記録こそ数百メートルでしたが、後輩がこの記録を抜くまで 5年か6年かかっているので、ちょっと鼻が高いのです。
大学4年のとき大学から徒歩5分くらいのところにある 東大卒の人が作ったソフトハウスで、ほんの少しだけ、バイトしていたという話は、 何度かしたような気がするので、今回は、ここまで。
ご清聴ありがとうございました。(笑)


5月18日 「C言語みたいな低レベルなことはしない」

早稲田大学の理系学生と関係者向け。 20年近く前に早稲田大学の研究室のOB会で、先輩に言われた言葉です。 言いたい結論は早稲田に入ると半導体ハードや論理設計の仕事を職業にすることは難しく、 大学が総力をあげて取り組まなければ、改善されないと思っています。 大学が総力を上げて早稲田の理系に半導体ハードの仕事をさせたいと思う理由は、 ほとんどないので理系はSEより上の仕事を考えたほうがいいと思う。 例えば、準同型暗号を活かしたシステムとか。 量子コンピュータの解読脅威のため先行き不透明なのですが、そこで一番を取れることに活路があるのかも。 準同型暗号を進めているわけではなく一番を取ることです。

上記、僕の経験に基づいて、僕は真実を伝えていると思っています。 しかしながら、僕の言葉に惑わされずチャレンジすることを否定はしません。

僕の最初の計画はSnakeCube (やOpenICF3)に関する全ての利権を 僕が掌握したまま、僕は修士卒なので大学時代の指導教官のところに行って、 自分の名前で論文を書いて、早稲田大学の名前を追加して、 早稲田SnakeCubeとして世界に普及させ儲けることを考えていました。 利権こそ早稲田に移動することはありませんが、 それでも早稲田にメリットがある話だと考えていました。 なんと、僕を指導していただいた教官は、現在、IEEEのCSの会長を経て 早稲田大学の副学長なのです。やれば、できるかもしれない。そういう状況です。
しかしながら、僕の人生のこれまでのことを考えてくれる人はいなくて、 SnakeCubeをクレクレとしか言っていただけない。 それを取られると僕の人生がどうなるのか、 考えている人は、これまでありませんでした。
SnakeCubeは極端に言えば、小さい論理の繰り返しパターンで作れるので、 新しい結晶構造みたいな感じで、半導体の製造方法のようにも見える。 仮に青色LED(ノーベル賞受賞)のような発明だとします。
そんな発明をしたにもかかわらず、袋叩きにされて、結婚もできず、 親のスネかじる日々というのは、明確に間違っていると思うのです。
ついでの話になりますが、一般的な半導体の製造方法の発明には、 研究に必要な機器にお金がかかりますが、SnakeCubeはXilinxのFPGA開発環境が 無料で入手可能なため、数万円の投資で発明できました。
取り急ぎ、何の話も決まっていないので、僕に味方してくれる人を中心に、 不特定多数への、情報提供を行っていきます。 このまま何の話も決まらないかもしれません。 決まっていない話を使わないようにお願いします。
現在、SnakeCubeの性能を検証しているところですが、予定通りの性能が出るなら、 ガソリンエンジンで例えると、燃焼効率40%だったのが50%以上になるような、 発明ではないかと僕は思っています。おおげさですが、わかりやすい説明のために50%以上。 その高性能、高効率が次世代ICカードに最適であり、ICカード以外でも、 多くの製品に採用される、そんな発明です。 要求仕様によっては、SnakeCube方式でなくても、他の方式で十分であることも多く、 ICカード以外では、売れば、売れるという感じなのかもしれないですが。
SnakeCube性能検証後、もう一度、考えてみるのかもと思っています。


5月18日 Verilog版のSnakeCube開発(4)

新型のモンゴメリ乗算器の改良をはじめました。 楕円暗号の性能を向上させるための修正。
長い時間、眠らされていたり、起きていてもなかなか作業できる状態ではなかったため 1、2時間くらいしか作業が進んでいません。 遠隔脳制御の妨害の問題が大きい。


5月17日 Verilog版のSnakeCube開発(3)

2年前、暗号プロセッサとモンゴメリ乗算器を別々に作って、 それぞれ正しく動作することを検証していました。 両者を接続できるように少し作り直して、シミュレーションをはじめました。 まだモンゴメリ乗算器を使った演算はできていませんが、べき乗剰余演算が 計算できるようになりました。 作り直しをしたモンゴメリ乗算器のマイクロコードの開発に着手。 それから、遠隔脳制御による頭痛で作業が進まなくなりました。 恐らく、僕の開発速度が上がったため妨害の量を増加させたのだと思います。
SnakeCube、僕の言っていることが本当なら、半導体の最先端技術の 開発をしている最中に、妨害が入っているという状況なのだと思います。


5月16日 Verilog版のSnakeCube開発(2)

普通の乗算をするマイクロコードがVerilog版SnakeCubeのシミュレーションで計算できました。 妨害されているため昨日1日で1時間くらいしか作業できていません。


5月15日 Verilog版のSnakeCube開発

まだ全部の配線が終わっていませんが演算器が48bit幅のSnakeCubeのシミュレーションが動き出しました。 遠隔脳制御による脳劣化で、日常生活では起きない苦痛が、開発作業では伴って苦しい。 遠隔脳制御による妨害は作業速度が低下するだけでSnakeCubeの利権が、他に移動できるようになるわけではないのです。 遠隔脳制御を止めることが一番と思います。


5月14日 打って出てみる

SnakeCube(昨日の日記を参考)の発明を人が見て、僕以外の人に発明を移動することを、 強力に考えている人は、多いと予想しています。 僕以外に発明を移動された場合の僕の損害が想定より莫大であるという計算が 入っていない人はあると思います。 経済封鎖など通常の戦略で僕が陥落することは、当面、あまりないように思っています。 陥落するような問題は、すべて塞げていると思います。
つまり、僕を中心に、この国が反映できるような方向に考えてもらえればと思っています。 傲慢な振る舞いですが、僕もやりたくてやるわけではないのです。 普通にはもっと自分の安全を考えるのだと思います。 僕は世界の銀行に納品された暗号装置を開発していますから、金融関係の方で、 僕をご存知の方はいらしゃると思います。僕の生涯賃金5億円をケチったために、この国が揺れています。 銀行のキャッシュカードとか、SnakeCube採用で僕に10億円発生すれば、これ一つで、 問題を解決することができるかもしれない。そして僕はSnakeCubeで200億円くらい稼いで(大)富豪になって、 僕の人生が映画化でもされて、さらに儲けるネタが発生するかもしれないですよ。 (金額は適当です)
僕がSnakeCubeの顔であり続ける。そういうことを想定してください。(論文を書くとかも含め)
このまま遠隔脳制御の問題を起こしていくと、損害が大きいと思われます。 現状も遠隔脳制御による妨害で作業があまり進んでいません。 遠隔脳制御されたままでは、ことあるごとに問題が起きるので、完全に止めることです。

蛇足 僕の映画化の話とか足しになるかも。 初めて話すことなんですが、毎年、大学時代の友人から年賀状が届くのですよ。 皆、自分の子供の写真だったりするのですが、皆、親によく似ていることに気づいたのです。 数年前、「あっ」っと思ったのは、僕が親に似ていないこと。驚きましたね。 僕は、親と子供は、どのくらい似るのか、この距離を自分の親との距離で定義していました。 だから50歳近くの年齢になっても、気づけなかった。

僕が生れたときからある左手首の傷が何故あるのか、真実は僕も知りません。 ここ1年くらい考えてみて、案外、僕が大富豪の跡取りだったとか思ったり。 それ以外のケースで、生れて間もなく左手首に傷がつく理由が思いつかない。

図をマウスでクリックすると拡大されます


5月13日 SnakeCubeの今後の展開

SnakeCubeは巨大整数の四則演算プロセッサです。 1999年の暗号LSI ICF3の歴史を継承しつつ、2年前に発明された 新型モンゴメリ乗算器を搭載しています。 FPGAではメーカによってDSPのアーキテクチャが異なります。 ASICにおいても要求性能によって差異が生じるのですが、SnakeCubeはメーカやデバイスの違いを 吸収しつつ、デバイスの持つ性能を最大限に引き出すことを可能にします。 当たり前のように思えるかもしれませんが、巨大なプロセッサでは論理合成では高性能は期待できないので、 人手でデバイスごとに最適化した演算器を作り、デバイス非依存なプログラムを動作させることができるSnakeCubeは メリットがあります。
SnakeCubeは「暗号プロセッサIP」として完成しつつあります。
これで、低迷する日本の半導体産業において、活気ある企業 (iCanal Inc.)を作っていけたらと考えています。
まずは激安に開発できるという話の拡散を、 お願いしてきたSSLアクセラレータを開発します。 ここで鍵長を自由に変更できる開発環境を構築しているので、すぐに楕円(ECDSA)や 巨大な鍵を使ったRSA暗号のICカード(SmartCard)などのASICに転用できます。 僕がやるので劇的に安価な開発コストのはずで、その結果、日本はビジネスで有利な勝負が できるようになると考えています。
これを急がなければいけません。
連日の頭痛で作業が、あまり進んでいないという状況ですが、 遠隔脳制御を永遠に封印すれば、そういう未来が考えられるように思っています。

8bit CPU Zeviosは、 もしかすると自動車のマイコンとして活躍する可能性があるため、今後も、続けていこうかと思います。 自動車に搭載されるマイコンの数が増えていて、ハイパーバイザー上のVMを使って一つの マイコンに集約する方式が検討されているようですが、FPGAにアプリの数だけ ソフトプロセッサを作るという方式も考えられると思ったからです。 この方式はリアルタイム処理において、ハイパーバイザーと比較して超シンプル、 かつ、遅延無しなので、自動車のような信頼性が重視される製品では、 大事な問題を解決できるかもしれない。 この用途においてZeviosは他のCPUよりも強いだろうと考えています。


5月13日 LatticeのFPGAでシミュレーションが動いた

頭の痺れで作業の進みが遅いですがLatticeのFPGAの開発環境を立ち上げ シミュレーションが動作しました。I/Oピンの電圧レベルを設定したりクロックを ウィザードで作って回路に接続できるようになったとか、そう書いたほうがいいと思ったのですが、 回路が動いている様子がわかるほうがいいかなと思ったので、 シミュレーションが動いている画像を使ってみました。
あっさり、できたのは2年前のLattice講習会の通りやっただけだからです。

図をマウスでクリックすると拡大されます


5月12日 本日の作業報告

今、起きました。12時間近く寝ていました。 数日ぶりに頭の痺れを感じない程度に回復したようです。 でも、すぐに痺れか、他の問題を起こすのだろうと考えられます。
作業がなかなか進まないことで僕自身も、 イラダチをピークにしたのですが、今は落ち着きを取り戻して、 作業を進めていくことを考えています。


5月12日 コロナのために医療に寄付してみた

朝日デジタルにコロナの寄付サイトの 記事があったので寄付してみた。 それだけです。3,000円寄付すると領収書がもらえるとあったので、領収書をもらえるように寄付したのですが、 電子領収書ではなくて、紙の領収書だったようです。 10万ビットのRSA暗号で電子署名された領収書だったらよかったのに。(笑)
Tポイントでも寄付できるみたいで、全額(556ポイント)寄付しました。 こちらはTポイントの明細に、すぐに反映されてコロナの寄付だということが残ります。数年で消える記録だと思いますけど。


5月11日 XilinxのFPGA搭載のボードが期間限定特価みたい

Digilen Inc.のCmod A7-35Tが秋月電子通商で7,350円のようです。 これまで約1万円でしたから、かなり安いかもと。
2年前、このFPGAボードにSnakeCubeを搭載してSSLアクセラレータにすることを考えていました。 頭痛や確率異常なトラブルの連発で作業が進まなかったため、まだCmod A7(XC7A35T-1CPG236C) に実装できるのか、決まっていない状況です。 ワンランク下のCmod S7(XC7S25-1CSGA225C)にすることも考えているところ。 Cmod A7とCmod S7は、SSLアクセラレータとしては性能的には低すぎという感じですが、 何がいいかと言えば、これ評価ボードじゃないんですよ。 つまり、これこのままSSLアクセラレータとして製品出荷ができる。
Cmod A7はSRAM 512KB(8bit)がついているので8bit単位でプログラムにアクセスする 8bit CPUを自作するのには便利かも。くれぐれも袋叩きにあわないように赤字の出ない計画を先に。 Zeviosは8bit CPUですが命令コードは32bitなので、 4回アクセスして32bitにする必要がある。OSとか、大きなプログラムを入れる必要がなければ、SRAMがなくても、 BRAMで十分に足りるとは思います。 最近、忘れ去られているかもしれないですが、 同じく自作した8bit CPU WZetaは32bitの 命令コードでありながら8bit単位のアクセスが可能という特長を持った 「命令セットアーキテクチャ」なのでCmod A7が便利かもと。 WZetaが、すごいCPUということではないのですが。AES暗号256bitが動きます。 (WZetaが社会貢献になるならZeviosのようにApacheライセンスで公開ということもあるかも)


5月11日 もう一つ別の開発環境を立ち上げ

ゴール地点までの道が1つしかなければ、そこを塞がれると、立往生してしまう。 そんな考えからLatticeのFPGAの開発環境の構築を始めた。 2年前、講習会で一通りのことができるような説明を受けたので、なんとか、なると思う。 Latticeの5G向けFPGAでSnakeCubeが実装できないか考えてみる。 間違っているかもしれないですが、LatticeのDSPはIntelに似ています。 SnakeCubeを実装するにはIntelより都合がいいアーキテクチャになっていて、十分な性能が出るかもしれないと思えています。

塞ぐ人がいるおかげで、僕はネット上でいろいろ調べることになり、 安い店を見つけることになってしまったようだ。(だから塞ぐのやめましょう) Latticeは小型のFPGAが得意なのですが、日本で6000円のFPGAボード(2年前は3500円くらい)なのが、 世界のお店では9.14 USドル。僕のオープンソースの8bit CPU ZeviosをソフトCPUにしてFPGAつき マイコンとして使えるレベルになるのかと、考えたりもする。

蛇足(暇な人向け)
Zeviosは制限の緩いオープンソースなのでI/Oを定義して自分のマイコンを作れば 楽しいですよぉ。実際のアプリを考えて赤字を出さないことを前提にしないと 袋叩きにされると思うけど。
最近、ネットで見かけたのですがUnikernelというのが、あるらしい。 一般人向けに一言で説明するなら、1つのアプリを実行するためだけのライブラリみたいなOS。 単一のアドレス空間で動作して軽量というのが特長。 軽量だからハイパーバイザー上のVMに、いっぱいアプリを実行させて 自動車で使われるマイコンの数を減らせるみたいな記事が。 実際、どのくらいメリットがあるのか、僕にはよくわからなかったけど、 リアルタイムが必要なアプリだとハイパーバイザー上のVMという仕組みがうまくいくのか、気になったり。 できるのかもしれないけど、FPGAを知っていると、 アプリの数だけソフトCPUを作って、ソフトCPUによるVMでリアルタイムOKみたいな。
こういう話っていうのは、問題を解決するための手段が多数あって、どれがいいのか、わからないし、 自分の得意なスキルで、やれば、それでいいのだと思うので、ソフトCPU VMが いいと言っているわけではないです。 Zeviosは、他のソフトCPUと比較して軽量なのでVMをいっぱい作るには、便利。 XilinxのFPGAではBRAMがディユアルポートなので2つのソフトCPUで共用可能。


5月11日 本日の作業報告

頭痛を止めるには、どうしたらいいか、考えていたら1日過ぎてしまった。


5月10日 RSA暗号専用ハードウェアの性能値

SnakeCubeと競合する製品の性能をインターネットで調べています。 たまに数字を誤魔化しているものがあるようなので注意をしてください。 検証性能を署名性能のように表記することで実際の20倍以上の性能のように見せかけることができます。 RSA暗号の実装経験がなければ、ほぼ騙されるのでRSAの性能は経験のある人に聞いた方がいいと思います。
まだ頭痛で辛いです。


5月10日 本日の作業報告

頭の痺れで文字が読めなくなったり、ほとんど作業が進みませんでした。遠隔脳制御止まりません。
三菱電機のサイバー攻撃がネット上の話題になっている。 これは自分も不正アクセスに注意しないと、と思いました。 今年の2月下旬ごろから自宅内に監視サーバを立ち上げて、 ネットワークに異常がないか、24時間監視をしている。 自分の部屋の冷蔵庫の上に監視サーバのディスプレイがあるので、 ジュースを飲むたびに異常がないか監視することが容易。
今日は監視サーバのログを入念に調べました。


5月9日 SnakeCubeのフォークや上位互換は出現しそうか?

ネット上の反応を見て、これを書いています。 SnakeCubeはモンゴメリ乗算のアルゴリズムを採用した巨大整数の四則演算器です。 僕1人の技術で構成されていると言って良く、僕1人によって管理されています。 2年前の発明、 「 モンゴメリ乗算の累積加算における分割加算の証明」(Segmentation Adder) によって小さいプロセッサを並べたようなアーキテクチャになって、 パイプライン化、スレッド化が進み、乗算器の利用率を基準とした理論限界値に近い数字になった。 と言っても50%~80%の予想ですが。 そうは言っても50%を超える値ですから今後、SnakeCubeの2倍を超える発明は 困難ということは言えます。作りやすいという利点もあるSnakeCubeが最有力という予想。
2年前の発明があるため、24時間、僕の脳内で、しゃべりまくっている人達は、 強奪しか思いつけていません。 フォークや僕以外による上位互換の可能性は難しいでしょう。 遠隔脳制御による妨害の停止を考えるのがいいかと。

広島大学のIEEEの論文で理論限界に近い数字、90%以上の数字を出しているものがありますが、 乗算器の数だけスレッドがないと全く性能が出ません。 RSA暗号のICカードでは最大でも4スレッドなので43個の乗算器があっても、2~4個の乗算器しか使えません。 SnakeCubeでは43個の乗算器を使って50%~80%ですから、数十倍~数百倍高速なのです。 (厳密な表現をすると鍵長に比例した数の乗算器)


5月9日 本日の作業報告

5月に入ってからの作業時間ですが、眠らされている時間が長く、 10%~20%の稼働率という状況です。 今日も1時間くらいの短い睡眠を繰り返しながら、 作業ができる体調にならないか、じっとしています。
ICカードで使われるRSA暗号は鍵長が2倍になると理論的な計算量は8倍になるので、 SnakeCube の性能が必要になるような気がしているのです。 高性能なRSA暗号のICカードのほとんどがSnakeCubeになることがあるかもしれない。 遠隔脳制御による妨害活動が続けば、損失が発生することになるような気がします。
SnakeCubeは、極端にいうと、小さい8bit CPUを並べただけの構造なので、 作り方がわかれば、すぐに巨大暗号プロセッサができるのです。 妨害により数倍から10倍くらい時間がかかっています。

8bitではなくて24bitと思った人もあるかもしれないですがXilinxのArtix-7の DSPは24bit単位で使いますが、実際に設計図やVerilogは8bitで書かれています。


5月8日 ICF3(1999年)の楕円暗号のマイクロコードを作った話

2000年ごろの話です。 モンゴメリ乗算のアルゴリズムは日立の研究所からFAXで僕に届いたのですが、 楕円暗号については個人的にIEEE P1363のメーリングリストに入って ドラフトをダウンロードしました。これは会社の指示ではなく僕の独断でやりました。 その後、仕事で、そのドラフトを読むことになったのです。 このドラフトには楕円暗号の高速な実装方法が記載されていました。 まだアメリカ合衆国からの暗号の輸出規制が厳しかった時代でしたが 高性能暗号実装の仕様のネット上での公開は大丈夫だったようです。

IEEE P1363には楕円の2次元座標を3次元に変換して除算を不要にして高速にする アルゴリズムが書かれていました。

このアルゴリズムにモンゴメリ乗算を適用してICF3(1999年)のモンゴメリ乗算器 (A×D mod B , D×D mod Bの2つを並列に実行)向けに試作実装しました。
OpenICF3の公式サイトで公開しています。
RSA演算器(暗号プロセッサ)で楕円暗号の試作実装
当時は楕円暗号の資料は少なくて楕円暗号を理解しているだけで自慢ができる世の中でした。 ICF3シミュレータでコードは開発しました。シミュレータはOpenICF3のサイトで公開されています。 こちら


5月7日 SnakeCubeシミュレータの配布準備

楕円暗号など巨大整数の四則演算を使ったシステムを考える人向け? 配布準備だけなので、本当に配布するのかは、考えているところです。
Verilogでの実装や、FPGAでの実装で、デバッグを高速に行えることを目的として、 SnakeCubeのC言語シミュレータは 作られています。このためDSPの入出力までシミュレーションしています。 マイクロコードの開発ではDSPのシミュレーションは不要です。 DSPのシミュレーションを省いて高速化をしました。
DSPのシミュレーションを省いた結果、SnakeCubeシミュレータのWindowsバイナリを 配布しても、リバースエンジニアリングでSnakeCubeのモンゴメリ乗算器の構造が、 漏れることはなくなりました。
つまりSnakeCubeシミュレータのWindowsバイナリを配布しやすくなったので、 楕円暗号のアルゴリズムや、新しい暗号アルゴリズムの利権者、 サイドチャネル耐性のあるコードの利権者の方で、興味がある人があれば、 ご連絡いただければ、参考程度には使っていただけるかもしれません。
まともなドキュメントは期待しないでください。 まだFPGAによる性能の検証が済んでいない状態です。


5月7日 本日の作業報告

パソコンのファンが壊れたためファンの交換作業をしていました。 あとは眠らされていました。 頭痛を緩めて、眠気と疲労で動けなくする方針に変更したようです。


5月6日 Verilog版のSnakeCubeの開発(1)

作業報告です。それ以上ではありません。既に一度、作った設計図と 仮組したVerilogのコードがあります。暗号プロセッサとモンゴメリ乗算器の 接続部を追加してマイクロコードが動くものを作っていきます。
長い時間、眠らされていました。長い時間、眠った結果、頭は起きたみたいですが、 ときどき横隔膜が、イビキかくことが。完全に起きていてイビキをするなんて、 普通ではあり得ない。


5月5日 新命令追加で4.5%性能アップ

暗号実装の研究者向けの話。前回の日記の続き。 C言語のシミュレータで動作が確認されました。RSA 2048bitで4.5%の性能アップしました。 何がうれしいのかと言えば、この新命令、XilinxのFPGAでいうと、たったの1 LUT追加するだけ。 しかもディレイの緩いところだったから、どのデバイスに移植をしても楽々。


5月5日 比較減算のないモンゴメリ乗算専用命令

暗号実装の研究者向けの話。 現状のSnakeCube のアーキテクチャのまま比較減算のない改良型モンゴメリ乗算を実装するには、いろいろと厳しい。 このため昨日の日記で比較減算のない改良型モンゴメリ乗算の アルゴリズムをSnakeCubeでは採用しないと書いたのですが、 専用命令をオプションで追加する方法を考えました。
改良型モンゴメリ乗算のアルゴリズムを使うとRSA 2048bitで約4%性能が上がります。 ただ鍵長が大きくなるにしたがって性能改善率が下がっていきます。 実測してみないとわからない数字になりますがRSA 4096bitで2~3%です。 RSA 8192bitでは0.5~2%になってしまうので1%未満の性能改善のために 専用命令の追加は厳しいかもしれません。
ただし専用命令の追加は簡単なので当面のRSA 2048bit、4096bitのために 専用命令を追加することは、ありそうです。
専用命令無しで改良型モンゴメリ乗算のコードをシミュレーションして乱数テストしていますが、 数時間の実行では、正しい計算結果を出力しているようです。


5月4日 ICカード向けSnakeCubeの最適化

用途ごとに最適化をすれば機能、性能が改善されるのは当然です。 しかし最適化にかかるコストより改善によるメリットのほうが大きいのかは別問題。
今日、この日記で説明するICカード向けの最適化はメリットが大きいと考えられる人があるかもしれないと 思ったので話すことにしました。
ICカードでは中国人剰余定理(理論4倍の高速化)を使う場合、 きちんと脆弱性対策されたマイクロコードにする必要があり実質性能が2倍未満という研究がありました。
SnakeCubeで中国人剰余定理を使わないRSA暗号のみでいい場合、 データレジスタ1024bit×16本が不要になります。 つまり巨大な鍵のRSA暗号専用のICカードならSnakeCubeが割安になるだろうということです。 RSA暗号が解読される心配を考え楕円暗号も動作するようにするためにはデータレジスタは必要です。


5月4日 マイクロコード改善でRSAの性能が向上

4月22日の日記 でマイクロコードのサンプルを公開しました。 ICF3(1999年)やSnakeCubeの命令コードにはAとDのレジスタをスワップする機能があります。 ICF3(1999年)の製品出荷版では、このスワップ機能を使って性能を改善していたのですが、 先日公開したコードで使っていなくて性能がでていませんでした。 スワップ機能を使うと数%の性能が上がり、そしてRSA(CRT無し)演算中に、 一度もデータレジスタにアクセスすることがなくなります。 ICカードの実装では面積が小さくなる可能性があるような気がします。


5月4日 モンゴメリ乗算アルゴリズムの比較減算

暗号実装の研究者向けの話。ICF3(1999年)は1サイクルで比較減算ができるハードが売りでした。 モンゴメリ乗算のアルゴリズムの改良型が発明され2008年のDesignWave(CQ出版)で解説がされました。 SnakeCubeでも改良型のコードにすれば0%~数%の性能が向上するという予測を最近、日記に書いています。
ところがSnakeCubeでは全く性能が上がらないということがわかってきました。
SnakeCubeには1サイクルの遅延分岐あって、ディレイスロットにレジスタの切り替えと 比較減算の処理を同時にしています。つまり比較減算がなくなっても実行時間は変わらない。
これがCPUだと遅延分岐をしない方法を考えるのかもしれません。 SnakeCubeのような暗号プロセッサでは命令コードが全体にブロッドキャストされる アーキテクチャなので遅延分岐が実装上都合がいい。
デバイス(FPGA,ASIC)ごとに配線遅延対策をすれば、性能を向上させることは可能かもしれません。 しかし、数%の性能向上のために設計コスト増大、コードの互換性の問題が生じます。
SnakeCubeでは比較減算のない改良型のモンゴメリ乗算のアルゴリズムは、永遠に使われない可能性がある。


5月3日 Verilog版のSnakeCubeの開発開始

C言語版シミュレータで開発した動作検証環境を、そのまま使えるVerilog版のSnakeCubeの開発していきます。 さまざまなテストデータの動作検証が自動的に行われる仕組みを、最初から考えてVerilog版にしていきます。
自作の動作検証環境で、ちょっといいかもと思ったのは、 SSD(フラッシュメモリ)にインストールされたPerlのないWindows環境でも快適に動作することかも。 Verilogの入った自作1CD Linuxでも動作するので、任意のx86マシンで、オフラインのまま動作検証が可能。
新しい人は自作するよりXilinx Vitisとか使ったほうがいいのかもしれない。 僕はVitis一度も使ったことがないので、わかりませんけれども。


5月3日 SnakeCubeの動作検証が、うまくいっている

SnakeCubeのC言語版のシミュレータでRSA暗号を演算するコードが、任意のデータで、 正しい計算結果を出しました。つまり両極端な入力データや1が続いたり、 乱数になったり、0が続いたりなどの乱数のテストが何時間も動作しつづけている。
昨日、頭痛で数時間しか作業ができませんでしたが、頭痛がなければ数倍の速度で作業が進みます。
売り上げの見通しも立てずに開発が進められるのは、僕が作業をするだけで完成するからです。 頭痛のある現状では、例えば1年で完成するところが3年かかるということなのかと。

今日も頭痛で動けなくなっている時間が長い。左目をつぶらないと文字が読みにくい。

16:00 頭痛が良くならない。


5月2日 市内に有名ICカード企業が

本気で考えることもないですが、狙ってはみたい。
僕が社長の会社、(株)iCanalから徒歩20分(1.9km)に大日本印刷の狭山工場がある。 大日本印刷といえばICカードのメーカとして有名な企業。 これまで一度も行ったことがないですけど狭山工場でSnakeCube を搭載したICカードを製造すると地域経済活性化とか。そういう方向も考えられるのだろうか。
参考まで、僕がnoteに投稿したブログ
「クレジットカードのICチップの高速化」
ちなみに数キロ離れたところが東京オリンピック2020のゴルフ場なので 東京オリンピックのついでに僕の会社を見に来るとかできそう。


5月1日 大型コンピュータの回路シミュレーションの話

FPGAを搭載した基板を自作できそうか、考えていることもあり、FPGA業界の人の視線が厳しい? 1996年の話をします。僕は開発本部(事務所とも言う)から日立の技術開発部に派遣された。 技術開発部は大型コンピュータだけでなくスパコンなどの高性能基板も扱う部署だった。 派遣先の机に僕のためのパソコンがなくて、派遣先の東工大卒の先輩に秋葉原にいっしょに 行ってもらってMacを自費で買った。 派遣の目的はディレイ検証のためのデータを回路シミュレーションで得ることだった。
僕がプログラミングが得意だったことから技術開発部の課長(中央研究所出身)が 途中で仕事をノイズ評価に変更した。技術開発部は電気屋なのでプログラミングが あまり得意ではなく、高精度なノイズ評価を、短期間に行うことができたというのが、 僕の成果。
僕の席の近くではGTLや差動回路の実測実験や回路シミュレーションをしていたようです。 事業部長直属の年輩エンジニアの先生もいたのですが技術開発部と系統が違う様子。 両方から回路シミュレーションをいろいろやるように言われました。
回路のインピーダンスが違うものをつなげると波形が反射してノイズが発生するのですが、 それを抑えるためにクランプ・ダイオードを入れた回路シミュレーションをしてみようとか。 事業部長直属の年輩エンジニアに言われたり。系統が違うせいか、結局、やらなかったのですが。
僕も、少しはI/Oのアナログ的な話もわかる。ということなのですが、 僕に必要な基板設計では、計測I/Oは、全くなくてパソコンのUSBがつながればいいだけの 基板なので、自作できるか、探っているという状態。


5月1日 SnakeCube動作検証環境の構築

作業報告です。それ以上ではありません。 SnakeCubeのC言語版シミュレータが完成し、乱数のテストデータによって動作検証をしています。 単なる乱数ではなく、両端の値を重点的にテストできるようなプログラムを作りました。
Linux/FreeBSD/WindowsなどOSに依存せずにSnakeCubeの動作検証ができることが、いいところ。 サイバー攻撃がなければ、こんなに重いことをしなくてもいいのかも。
CentOS7に最新のCコンパイラを構築するのが、かなり大変だということに気づいて、 何か、いい方法がないか探索。FedoraがオフラインインストールのみでCが使えるのを見つけました。 makeコマンドだけソースからコンパイルすれば動作検証環境ができあがります。 WindowsではPerlがないため、Perlを代替するC言語プログラムを作りました。 大量シミュレーションでフラッシュのようなファイルシステムを傷めないような 仕組みをプログラムしています。
単純な除算・余算の乱数テストはパスするので、次はRSA暗号の演算。
SnakeCubeのシミュレータは標準ライブラリのみで作られていて、GNUのライブラリとか、 一切使っていないのでWindowsのバイナリ配布とか、その気になれば、できるという状況。


暗号プロセッサ OpenICF3